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

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

Создание диалоговых окон в AutoCAD

Ответ
Поиск в этой теме
Непрочитано 09.07.2008, 05:02 #1
Создание диалоговых окон в AutoCAD
TwoZero
 
Программист
 
г.Иркутск
Регистрация: 06.03.2008
Сообщений: 52

Здравствуйте,

Есть проблема с созданием диалоговых окон под AutoCAD,
стандартный язык для создания диалогов DCL негодится так как он очень скупой и там нет компонента TreeView, создание приложения на VBA тоже негодится так как программу пишу на ЛИСПЕ (ЛИСП РУЛИТ),
создание диалоговых окон в VB6 как ActiveX dll тоже негодится так как в дальнейшем требуется регистрировать библиотеки и если подключать дополнительные компоненты в VB6 то их придется таскать с сабой (я конечно понимаю что есть программы которые могут все запихать в один файл но такое мазуто мне ненадо), можно написать приложение на Delphi но оно будет как бы отдельное (можно конечно прописать макрос в акаде на запуск этого приложения но мне это неочень подходит так как хотелось бы чтоб все было интегрировано в акад).

Собственно проблема заключается в создании самих диалогов для AutoCAD, есть еще ObjectDCL но он платный и он перестает работать после триала.

Мож кто подскажет есть ли еще какиенить проги для создания диалогов под акад (нужен компонент TreeView).
Просмотров: 58719
 
Непрочитано 09.07.2008, 05:23
#2
V.Khomyakov

IT, LISP, ACAD, LDD
 
Регистрация: 04.06.2008
Иркутск
Сообщений: 14
<phrase 1=


ObjectDCL теперь стал бесплатным и называется OpenDCL http://opendcl.com/wordpress/
V.Khomyakov вне форума  
 
Автор темы   Непрочитано 09.07.2008, 05:30
#3
TwoZero

Программист
 
Регистрация: 06.03.2008
г.Иркутск
Сообщений: 52
<phrase 1= Отправить сообщение для TwoZero с помощью Skype™


Уххх.... спасибо щас посмотрю.
TwoZero вне форума  
 
Автор темы   Непрочитано 09.07.2008, 06:09
#4
TwoZero

Программист
 
Регистрация: 06.03.2008
г.Иркутск
Сообщений: 52
<phrase 1= Отправить сообщение для TwoZero с помощью Skype™


Установил OpenDCL, посмотрел примеры, протестил в акаде ёёёёууууу это реал тема а главное бесплатно!!!!!!!

Вот ссылочка со скринами (что может эта прога):
http://opendcl.com/wordpress/?page_id=9
TwoZero вне форума  
 
Непрочитано 09.07.2008, 06:37
#5
ShaggyDoc

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


Поосторожнее с восторгами.

OpenDCL - это дополнительный посредник, причем коварный. Коварство:

1. В основе - ARX, то есть привязка к конкретным версиям AutoCAD и среды разработки. Поменяется в очередной раз сочетание - надо и это менять.

2. Да, стал бесплатный и Open Source. Но это означает, что всё держится на энтузиазме, который быстро иссякает. Конечным потребителям (прикладным разработчикам на ObjectDCL) это может кончиться крахом. Бесплатный сыр.

3. Требуется изучать и саму эту систему.

А какие альтернативы?

1. ObjectARX, в котором можно делать всё. Но, так как интересуют диалоговые окна, есть второй вариант.

2. COM. Это не "VB6 как ActiveX dll", это гораздо шире. VB как раз не лучший вариант, хотя возможно и его использовать, но можно работать вообще в любой среде программирования, поддерживающей COM. Например, Delphi, TurboXXX и что угодно. И если интересует TreeView, то для Delphi есть такие компоненты этого класса, рядом с которыми штатны виндовый нервно курит в сторонке.

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

3. Создание диалога в отдельном приложении (не COM-dll), но так написанном, что пользователь просто этого и не заметит. Для него это просто модальный диалог, вылетающий в нужное время. Писать можно вообще на чем угодно. Не зависит от версий чего бы то ни было.

4. DotNET. Тоже перспектива, так как для AutoCAD уже нет возврата. Сред разработки уже хватает.

Выбор большой, но выбор надо делать правильный.
ShaggyDoc вне форума  
 
Непрочитано 09.07.2008, 07:03
#6
V.Khomyakov

IT, LISP, ACAD, LDD
 
Регистрация: 04.06.2008
Иркутск
Сообщений: 14
<phrase 1=


Цитата:
ShaggyDoc
Поосторожнее с восторгами
Согласен полностью. OpenDCL я использовал только в одном диалоговом окне, для пробы. Кое что не понравилось. Например: окно сделанное в предыдущей версии OpenDCL и перекомпилированное в новой, работало менее стабильно чем до этого. Остальные окна сделаны на DCL, хотя некоторый функционал всетаки хочется в них добавить.
Присматриваюсь к ObjectARX не только из-за диалоговых окон. Если я правильно понимаю то ObjectARX тоже привязан к ядру AutoCAD. И для каждого ядра требуется свой компилятор и его придется покупать.
Подскажите есть ли бесплатные компиляторы для ObjectARX.
V.Khomyakov вне форума  
 
Автор темы   Непрочитано 09.07.2008, 07:03
#7
TwoZero

Программист
 
Регистрация: 06.03.2008
г.Иркутск
Сообщений: 52
<phrase 1= Отправить сообщение для TwoZero с помощью Skype™


На дэльфях сам знаю что есть такие компоненты что даже винда курит,
ибо я програмировал и на Delphi и на СИ и на VBA и на VB6, черт возьми да я даже на бейсик УКН программил, я это прекрасно знаю что можно и на дельфях и на турбоХХХ замутить.

Если потребуется я даж могу проги под акад прям на дельфях писать, и непариться, но я хочу освоить ЛИСП.

Если уж на то пошло, то программить диалоговые окна нужно на ObjectARX он же С++ (Visual Studio). Для профессиональной разработки диалоговых окон круче нет, но даже мне знающему СИ++ тяжело изучать всю эту систему, не все так просто. Я только начал изучать ObjectARX и в дальнейшем собираюсь писать на нем проги под акад.
TwoZero вне форума  
 
Непрочитано 09.07.2008, 08:12
#8
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


И литературку подскажите по DCL, пожалуйста. Книги выходили по DCL?
Рyslan вне форума  
 
Непрочитано 09.07.2008, 08:22
#9
V.Khomyakov

IT, LISP, ACAD, LDD
 
Регистрация: 04.06.2008
Иркутск
Сообщений: 14
<phrase 1=


Цитата:
И литературку подскажите по DCL, пожалуйста. Книги выходили по DCL?
Я пользуюсь книгой Н.Полещук, П.Лоскутов "AutoLISP и VisualLISP в среде AutoCAD", в ней есть глава про DCL.
V.Khomyakov вне форума  
 
Автор темы   Непрочитано 09.07.2008, 08:26
#10
TwoZero

Программист
 
Регистрация: 06.03.2008
г.Иркутск
Сообщений: 52
<phrase 1= Отправить сообщение для TwoZero с помощью Skype™


Цитата:
Сообщение от Рyslan Посмотреть сообщение
И литературку подскажите по DCL, пожалуйста. Книги выходили по DCL?
Книга:
AutoCAD разработка приложений, настройка и адаптация.
Полещук Николай Николаевич
TwoZero вне форума  
 
Непрочитано 09.07.2008, 10:06
#11
ShaggyDoc

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


Цитата:
программить диалоговые окна нужно на ObjectARX
Ошибочка. Не "нужно", а можно. Только для диалоговых окон ObjectARX - пушка по воробьям. У него гораздо большие возможности, не реализуемые в других системах. Только нужны ли они для конкретной работы? Намерение изучить ObjectARX правильное, но если уже есть опыт работы в других средах, то диалоги можно делать и там. Изучая ObjectARX (с годик) тем более незачем разводиться на ObjectDCL. Время на изучение OA будет потрачено с большей пользой.

Кстати, хоть OA и круче всех, но подобного VirtualTreeView в нем не найдете. Хотя, конечно, теоретически на C++ можно сделать всё. Только у одних можно, а у других уже сделано.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 09.07.2008, 10:37
#12
TwoZero

Программист
 
Регистрация: 06.03.2008
г.Иркутск
Сообщений: 52
<phrase 1= Отправить сообщение для TwoZero с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Только для диалоговых окон ObjectARX - пушка по воробьям.
С этим я полностью согласен, OA незаменимая вещь при разработке сложных интерфейсов и программ, хотя.... впринцепе сложные программы можно написать и на самом лиспе да и интерфейс на DCL можно построить от которого у всех будет башню сносить.

Но все же одно можно сказать точно OA-ом обычно пользуются профессионалы потому что разработка программ на OA требует хороших знаний самого c++, дапустим разработка MFC приложений (это непросто оконные приложения типа Windows Form Application а нечто другое).
TwoZero вне форума  
 
Непрочитано 09.07.2008, 10:46
#13
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


Такая книга у меня есть, а других книг по DCL нет?
Рyslan вне форума  
 
Автор темы   Непрочитано 09.07.2008, 11:14
#14
TwoZero

Программист
 
Регистрация: 06.03.2008
г.Иркутск
Сообщений: 52
<phrase 1= Отправить сообщение для TwoZero с помощью Skype™


Цитата:
Сообщение от Рyslan Посмотреть сообщение
Такая книга у меня есть, а других книг по DCL нет?
В яндексе забей запрос, на некоторых сайтах инфа есть по DCL
TwoZero вне форума  
 
Непрочитано 09.07.2008, 14:04
#15
ShaggyDoc

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


Цитата:
OA незаменимая вещь при разработке сложных интерфейсов и программ
Опять ошибочка. ObjectARX - система библиотек, заточенных под AutoCAD. К интерфейсу пользователя и его сложности это имеет слабое отношение. И к сложности программ - понятию очень относительному. Суперсложную, по меркам DOS, программу, например для работы с клиент-серверной базой данных, можно сейчас легко сделать в любой приличной среде программирования.

Сложный интерфейс можно легко сделать, имея разработанные кем-то наворочанные визуальные компоненты. В OA их как раз нет.

И даже приложение ARX можно написать без ObjectARX и вообще без MS C++. Это всего-лишь DLL с расширением ARX и тремя специальными обязательными функциями. Только в AutoCAD 15 и более поздних такой ARX не выполнить, так как MS и Autodesk сговорились "пущать" только приложения, выполненные в средах разработки Microsoft. А вот для R14 делали ARX прямо в Delphi. Конечно такой ARX не мог использовать возможностей библиотек OA, но вот MFC, любые диалоги или использование WinAPI - пожалуйста.

Вот что действительно можно сделать только в ObjectARX:

а) Создание собственных объектов, а не только стандартных примитивов AutoCAD. Например, объект PIPE со своими свойствами (диаметр, стенка, длина и т.д.)

б) Доступ к таким кишочкам Автокада, куда не добраться средствами COM или штатных функций LISP.

в) Создание доступных в LISP функций, использующих возможности а) и б).
ShaggyDoc вне форума  
 
Непрочитано 09.07.2008, 14:09
#16
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Рyslan Посмотреть сообщение
Такая книга у меня есть, а других книг по DCL нет?
http://web2.airmail.net/terrycad/Tut.../MyDialogs.htm
http://www.jefferypsanders.com/autolisp_DCL.html
http://www.levins.land.ru/index.html
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 09.07.2008, 14:23
#17
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


2 сайта на английском. на третьем я все скачал.
Рyslan вне форума  
 
Непрочитано 09.07.2008, 15:07
#18
MCAD


 
Блог
 
Регистрация: 05.01.2005
Сообщений: 1,694


Цитата:
Сообщение от TwoZero Посмотреть сообщение
Мож кто подскажет есть ли еще какиенить проги для создания диалогов под акад (нужен компонент TreeView).
Прошу прощения, ошибочка с формой вышла :-(

Последний раз редактировалось MCAD, 09.07.2008 в 16:13. Причина: сорри, оффтоп
MCAD вне форума  
 
Автор темы   Непрочитано 10.07.2008, 08:25
#19
TwoZero

Программист
 
Регистрация: 06.03.2008
г.Иркутск
Сообщений: 52
<phrase 1= Отправить сообщение для TwoZero с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Опять ошибочка. ObjectARX - система библиотек, заточенных под AutoCAD. К интерфейсу пользователя и его сложности это имеет слабое отношение. И к сложности программ - понятию очень относительному. Суперсложную, по меркам DOS, программу, например для работы с клиент-серверной базой данных, можно сейчас легко сделать в любой приличной среде программирования.

Сложный интерфейс можно легко сделать, имея разработанные кем-то наворочанные визуальные компоненты. В OA их как раз нет.

И даже приложение ARX можно написать без ObjectARX и вообще без MS C++. Это всего-лишь DLL с расширением ARX и тремя специальными обязательными функциями. Только в AutoCAD 15 и более поздних такой ARX не выполнить, так как MS и Autodesk сговорились "пущать" только приложения, выполненные в средах разработки Microsoft. А вот для R14 делали ARX прямо в Delphi. Конечно такой ARX не мог использовать возможностей библиотек OA, но вот MFC, любые диалоги или использование WinAPI - пожалуйста.

Вот что действительно можно сделать только в ObjectARX:

а) Создание собственных объектов, а не только стандартных примитивов AutoCAD. Например, объект PIPE со своими свойствами (диаметр, стенка, длина и т.д.)

б) Доступ к таким кишочкам Автокада, куда не добраться средствами COM или штатных функций LISP.

в) Создание доступных в LISP функций, использующих возможности а) и б).
Ясно. Походу щас ObjectARX заточен чисто под Микрософт и конкретнее под MS VS C++. терь все ясно
TwoZero вне форума  
 
Непрочитано 10.07.2008, 08:58
#20
ShaggyDoc

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


А когда-то приложения к AutoCAD можно было делать с любой средой программирования на C++. Мы Borland C++ 2 использовали. А потом они сговорились. Причем очень подло. Одна из обязательных функций в ARX должна возвращать номер версии в виде числа 14, 15, 16 и т.д - по версии Автокада. Это резонно. Но если напишешь свою такую функцию, то выяснится, что работать не будет. Что-то контроль версии делает побочное, разумеется, недокументированное. И не пускает "собак и китайцев".

Вот поэтому я и использую только COM, так как custom-объекты мне не нужны.
ShaggyDoc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание диалоговых окон в AutoCAD

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание графика в AutoCAD на основе txt или xls файла Red Nova Программирование 116 06.04.2017 09:20
AutoCad MEP. Структура проекта. Создание розеточной сети. serg01 Вертикальные решения на базе AutoCAD 3 04.03.2008 13:22
Создание своего шаблона в AutoCAD 2007 RodiXX1 AutoCAD 2 05.08.2007 23:58
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17