Подскажите как программно из Delphi скопировать элементы
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Подскажите как программно из Delphi скопировать элементы

Подскажите как программно из Delphi скопировать элементы

Ответ
Поиск в этой теме
Непрочитано 25.06.2012, 10:26 #1
Подскажите как программно из Delphi скопировать элементы
SNIIP
 
Регистрация: 04.05.2010
Сообщений: 338

что то не могу разобраться с функцией копирования
нарисовал пластину

Код:
[Выделить все]
su3d:=acaddocument1.ModelSpace.AddBox(point(-1*bpr-dpr+dpr/2,-1*apr+hpr/2,hsuh/2),dpr,hpr,hsuh);
далее мне ее нужно скопировать вверх с определенным щагом... в справке не могу разобраться как пользоваться функцией .copy

знающие, подскажите пожалуйста.
Просмотров: 7896
 
Непрочитано 25.06.2012, 10:30
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от SNIIP Посмотреть сообщение
что то не могу разобраться с функцией копирования
нарисовал пластину

Код:
[Выделить все]
su3d:=acaddocument1.ModelSpace.AddBox(point(-1*bpr-dpr+dpr/2,-1*apr+hpr/2,hsuh/2),dpr,hpr,hsuh);
далее мне ее нужно скопировать вверх с определенным щагом... в справке не могу разобраться как пользоваться функцией .copy

знающие, подскажите пожалуйста.
тынц (по аналогии).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 25.06.2012, 10:33
#3
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Вам из Delphi и не нужна функция .copy, а нужно применить методы Copy() и Move(...) к созданному 3DSolid объекту.
p.s. К посту hwd аналогия для Delphi будет находиться в свернутом виде в VBA/ActiveX Code Reference
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 25.06.2012, 10:47
#4
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Ну, ну... В очередной раз советую - не теряйте время на "рисование" (тем более на 3D-моделирование) из внешнего приложения! Это делать надо изнутри AutoCAD. На Lisp всё делается элементарно и быстро. Одна строчка заменит страницу (а то и 10 кода в Delphi).

А из внешнего приложения работа с примитивами - наподобие управления марсоходом с Земли. Особенно не зная, как им вообще управлять. Не надейтесь, что немножко зная Delphi и не зная AutoCAD сможете что-то полезное сделать.

В Delphi-приложении надо делать то, что неудобно делать изнутри AutoCAD. Сложные диалоги, работа с БД и т.п.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 25.06.2012, 10:53
#5
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


Шагги Дог, можно тогда вопрос, а можно в автокаде создать что то типа формочки... в автолиспе я работать то умею... но как организовать более менее понятный интрефейс для пользователя ?? похожий на обычную форму windows?
SNIIP вне форума  
 
Непрочитано 25.06.2012, 11:07
#6
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Сложные диалоги, работа с БД и т.п
Про БД не согласен - лисп их "глотает" не хуже (есть там пару мелочей с кодировками и пр.), хотя на вкус и цвет конечно..., но это точно не то? с чем проблемы у AutoLisp'а.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 25.06.2012, 11:16
#7
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от SNIIP Посмотреть сообщение
а можно в автокаде создать что то типа формочки... в автолиспе я работать то умею...
DCL - "формочки" для автолиспа.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 25.06.2012, 11:38
#8
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


Цитата:
DCL - "формочки" для автолиспа.
а можно подробнее?? ссылочку какую нить? или полезную книженцию?
SNIIP вне форума  
 
Непрочитано 25.06.2012, 11:40
#9
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от SNIIP Посмотреть сообщение
а можно подробнее?? ссылочку какую нить? или полезную книженцию?
не ленись юзать поиск.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 25.06.2012, 11:51
#10
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Offtop: причем, для полной картины, ищи сразу по фразе DCL зло
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 25.06.2012, 11:54
#11
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


поиск гугл или поиск двж.ру?
SNIIP вне форума  
 
Непрочитано 25.06.2012, 11:56
#12
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от SNIIP Посмотреть сообщение
поиск гугл или поиск двж.ру?
за это время уже можно было 10 разных поисковиков перепробовать... видать так оно тебе надо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 25.06.2012, 11:58
#13
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


я пробую... но вот ни капли информации еще не нарыл..
SNIIP вне форума  
 
Непрочитано 25.06.2012, 12:03
#14
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от SNIIP Посмотреть сообщение
я пробую... но вот ни капли информации еще не нарыл..
тынц. из книг ищи Полещука.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 25.06.2012, 12:12
#15
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


хорошо, с формами примерно напрвление в котором копать понял... еще вопрос: как мне сделать что то типа кнопки в автокаде? или новой вкладки на ленте?, что бы при нажатии на которые вызывались те пресловутые диалоги и чертилось то, что я хочу?
SNIIP вне форума  
 
Непрочитано 25.06.2012, 12:21
#16
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от SNIIP Посмотреть сообщение
как мне сделать что то типа кнопки в автокаде? или новой вкладки на ленте?
_CUI
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 25.06.2012, 12:26
#17
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


набрал в поиске... вот что выдало: Куй (cuy, coi, cui, coy, ccoui, ccuy, ccoy, quwi) — название морской свинки и блюда из неё, принятое в Андском регионе, а также … Куй (Kuy) — мон-кхмерский язык. Куй — китайская фамилия. Можно чуточку подробнее?
SNIIP вне форума  
 
Непрочитано 25.06.2012, 12:28
#18
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от SNIIP Посмотреть сообщение
набрал в поиске... вот что выдало: Куй (cuy, coi, cui, coy, ccoui, ccuy, ccoy, quwi) — название морской свинки и блюда из неё, принятое в Андском регионе, а также … Куй (Kuy) — мон-кхмерский язык. Куй — китайская фамилия. Можно чуточку подробнее?
пациент безнадёжен... сначала научись работать с AutoCAD и уж потом садись за программирование в нём. То, что я показал в предыдущем посте нужно вбить в командную строку AutoCAD и нажать ENTER.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 25.06.2012, 12:30
#19
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404


SNIIP, это - команда AutoCAD'a. Ищи в справке по AutoCAD'у.
P.S. Вообще-то лично я удивлен - ты не в курсе штатных возможностей AutoCAD'a. Может, тебе пока без программирования, просто разобраться, что AutoCAD может "сам по себе"?
---
Пока у меня инет тормозил, Андрей опередил
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.06.2012, 12:34
#20
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


вот вы все бурчите.. бурчите... ) что все такие вредные то??? за ответ спасибо)) я действительно этого не знал))

последний вопрос.. предвкушая ответ: ищи сам, ленивое чудовище все же спрошу... мнго слышал о книгах полещука... и конкретно:
AutoCAD разработка приложений, настройка и адаптация. вроде бы там много полезной информации.. роюсь уже с часок в инэте но не могу ее нигде найти.. либо вирусы либо платно бумажный вариант... электронную версию не подскажите где скачать?

Последний раз редактировалось SNIIP, 25.06.2012 в 12:49.
SNIIP вне форума  
 
Непрочитано 25.06.2012, 13:58
#21
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Шагги Дог, можно тогда вопрос, а можно в автокаде создать что то типа формочки... в автолиспе я работать то умею... но как организовать более менее понятный интрефейс для пользователя ?? похожий на обычную форму windows?
Про DCL тебе уже сказали. Но как раз в Delphi можно сделать "типа формочки" из таких элементов, которых нет в DCL. Это проще, чем с убогим DCL разбираться, а вызывать такой диалог можно из Lisp. Но для этого надо немного Delphi знать.

Цитата:
Про БД не согласен - лисп их "глотает" не хуже (есть там пару мелочей с кодировками и пр.), хотя на вкус и цвет конечно..., но это точно не то? с чем проблемы у AutoLisp'а.
Так он их "вслепую" глотает. Только через запросы. А попробуй-ка на AutoLisp сделать элементарный DbGrid с навигацией, отбором, редактированием и прочими штучками.

Цитата:
либо платно бумажный вариант
А как же ты хотел? Да на электронной версии и не научишься ничему. Вон, по Delphi сколько электронных книг. Судя по вопросам на пользу они не пошли.
ShaggyDoc вне форума  
 
Непрочитано 25.06.2012, 14:17
#22
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
А попробуй-ка на AutoLisp сделать элементарный DbGrid с ...
стоп стоп, здесь вся проблема не в "плохом" интерфейсе с БД (он там такой-же как и дельфи - ADO'шный, а обработка представления записями с полями, или списками, в соответствующих языку подходах проблем не вызывает), а в отсутствии (в АвтоЛиспе) GUI'я. Это тоже самое - что попробуй из дельфи (не .Net'ного) - привяжи элементарный SqlDependency (естественно не сканируя через каждую секунду БД - а "как положенно") - получиться? - вряд-ли, но этож не значит что дельфи с БД не умеет работать.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 25.06.2012, 15:40
#23
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
а в отсутствии (в АвтоЛиспе) GUI'я
Так я про это и говорю. Ничего в нем путного не сделать, особенно с БД. А то, что с БД можно как-то работать, так это понятно. Можно даже в браузере, без всяких гуёв, умудриться через адресную строку запросы выполнять. Только надо знать, что и как писать.

Но и без БД хорошие диалоги делать лучше не в DCL. См. картинки - всё вызывается из Lisp, данные обрабатываются Автокадом.
Миниатюры
Нажмите на изображение для увеличения
Название: app_win_00.png
Просмотров: 61
Размер:	77.2 Кб
ID:	82792  Нажмите на изображение для увеличения
Название: app_win_full.png
Просмотров: 46
Размер:	37.7 Кб
ID:	82793  Нажмите на изображение для увеличения
Название: dlg_pline_edit.png
Просмотров: 59
Размер:	9.7 Кб
ID:	82794  Нажмите на изображение для увеличения
Название: wiz_format_01.png
Просмотров: 44
Размер:	10.8 Кб
ID:	82795  
ShaggyDoc вне форума  
 
Непрочитано 25.06.2012, 16:18
#24
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Offtop: Смотря на Ваши картинки (не в первый раз уж вобщем ), меня посетила идея (хотя не претендую на эксклюзивность), ведь в БД можно добавить и текстовое поле - тело LISP функции (как вариант анонимной) создающей объект (унитазик тот-же) по заданным параметрам, при случае (когда попадется необходимость в подобном), пожалуй так и реализую - пожалуй так интересней всего получится.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 25.06.2012, 17:28
#25
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


ааа... прочитав все, кипит голова... выходит... выходит.. чертить на Лиспе... формочки на Delphi..
тогда вопросы снова появляются:
1) как в лиспе вызвать delphi формочку и потом, взяв из нее значения закрыть, занеся эти значения в переменные ЛИСПА
2) пока не прочитал начал разбираться с DCL... попробовал создать.. получилось... но туплю со считвынием данных с этой самой формочки
вот код:
Код:
[Выделить все]
(if (< (setq dcl_id (load_dialog "C:\\Users\\111\\Desktop\\äèïëîì\\glform1.DCL")) 0) (exit) )
(if (not (new_dialog "gl_prog" dcl_id)) (exit) )
(setq f (open "C:\\Users\\111\\Desktop\\äèïëîì\\nom_prof.txt" "r"))
(setq count (atoi(read-line f)))
	(start_list "prof")
                (repeat count
		(add_list (read-line f))
		  )
	(end_list)
(close f)

(action_tile "accept"  " (setq count (get_tile \"prof\"))
(setq H (atoi (get_tile \"visota\"))) ()")

(action_tile "cancel"  "(exit)" )

(start_dialog)
  
(unload_dialog dcl_id)

(setq p (* H count))
считываю в этом операторе
Код:
[Выделить все]
(action_tile "accept"  " (setq count (get_tile \"prof\"))
(setq H (atoi (get_tile \"visota\"))) ()")
но ничего впеременные не считывается... полюбому не там считываю... предвкушаю ваши ответы ПРОЧИТАЛ я эту часть Полищуке... там нет конкретного примера... вобщем, знающие, подскажите пожалуйста...
SNIIP вне форума  
 
Непрочитано 25.06.2012, 19:49
#26
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
ведь в БД можно добавить и текстовое поле - тело LISP функции (как вариант анонимной) создающей объект (унитазик тот-же) по заданным параметрам
Ну так это и реализовано. В иллюстрированном меню, которое я неоднократно показывал, хранится именно LISP-выражение. Любое. Выполняется, естественно, через
Код:
[Выделить все]
 (eval (read func))
. Может быть и просто штатная команда. Может быть и анонимная функция, если уж так хочется. Может быть с разными аргументами.
Только физически хранится в XML, но это та же БД. Но может быть и в удаленной БД, хоть в Интернете.

Цитата:
1) как в лиспе вызвать delphi формочку и потом, взяв из нее значения закрыть, занеся эти значения в переменные ЛИСПА
Читай мою книгу "САПР на базе AutoCAD - как это делается". Вот там и написано - как это делается, с примерами на Delphi, с исходниками.

Примерно так

Код:
[Выделить все]
 (defun ru-msg-srv-show (header text style / srv result)
  (if (setq srv (vlax-get-or-create-object "ruAxSvr.WinMsg"))
    (progn
      (setq result
             (vlax-invoke-method srv "Show" header text style)
      ) 
      (vlax-release-object srv)
      (setq srv nil)

    ) 
    (alert "Не удалось запустить ruAxSvr.WinMsg")
  ) 
  result
)
Цитата:
ПРОЧИТАЛ я эту часть Полищуке
Ничего ты не прочитал, потому что книги писал Николай Николаевич Полещук. Полищук тоже есть, но он про другое пишет.
ShaggyDoc вне форума  
 
Непрочитано 25.06.2012, 19:54
#27
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Полищук тоже есть, но он про другое пишет
Offtop: А я всегда считал это очепяткой, от которой у меня глаз дёргаться начинает
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 25.06.2012, 20:01
#28
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Ну так это и реализовано...
опс..
Я только изначально предпологал именно анонимную функцию, которая "только там", с запуском (apply (eval (read fn)) (здесь список параметров))но суть конечно та же.
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 25.06.2012 в 20:18.
Дима_ вне форума  
 
Непрочитано 25.06.2012, 21:41
#29
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


SNIIP, Поле Щук, чтоб запомнить! Почитай про done_dialog и ее параметры и подумай как ее к accept и cancel прилепить, а с текстовым файлом ты совсем круто напридумывал, самому не страшно будет его потом редактировать? и забудь про абсолютные пути, у тебя же есть findfile и мозги, или нет?
gomer вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Подскажите как программно из Delphi скопировать элементы



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация Проектировщику на Torrents DEM Разное 263 03.09.2024 12:25
Подскажите, конструктивные ли это элементы? МарияВеселова Конструкции зданий и сооружений 2 12.10.2011 11:08
Подскажите пожалуйста, что это за конструктивные элементы? maxummm Поиск литературы, чертежей, моделей и прочих материалов 10 16.07.2009 11:39
Уважаемые господа! подскажите пожалуйста как скопировать сво krapivka AutoCAD 2 18.06.2007 14:23
подскажите как программно начертить линии разных типов Александер Программирование 4 30.06.2005 07:17