|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Создание диалоговых окон в AutoCAD
Программист
г.Иркутск
Регистрация: 06.03.2008
Сообщений: 52
|
||
Просмотров: 58254
|
|
||||
IT, LISP, ACAD, LDD Регистрация: 04.06.2008
Иркутск
Сообщений: 14
![]() |
ObjectDCL теперь стал бесплатным и называется OpenDCL http://opendcl.com/wordpress/
|
|||
![]() |
|
||||
Установил OpenDCL, посмотрел примеры, протестил в акаде ёёёёууууу это реал тема а главное бесплатно!!!!!!!
Вот ссылочка со скринами (что может эта прога): http://opendcl.com/wordpress/?page_id=9 |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,386
|
Поосторожнее с восторгами.
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 уже нет возврата. Сред разработки уже хватает. Выбор большой, но выбор надо делать правильный. |
|||
![]() |
|
||||
IT, LISP, ACAD, LDD Регистрация: 04.06.2008
Иркутск
Сообщений: 14
![]() |
Цитата:
Присматриваюсь к ObjectARX не только из-за диалоговых окон. Если я правильно понимаю то ObjectARX тоже привязан к ядру AutoCAD. И для каждого ядра требуется свой компилятор и его придется покупать. Подскажите есть ли бесплатные компиляторы для ObjectARX. |
|||
![]() |
|
||||
На дэльфях сам знаю что есть такие компоненты что даже винда курит,
ибо я програмировал и на Delphi и на СИ и на VBA и на VB6, черт возьми да я даже на бейсик УКН программил, я это прекрасно знаю что можно и на дельфях и на турбоХХХ замутить. Если потребуется я даж могу проги под акад прям на дельфях писать, и непариться, но я хочу освоить ЛИСП. Если уж на то пошло, то программить диалоговые окна нужно на ObjectARX он же С++ (Visual Studio). Для профессиональной разработки диалоговых окон круче нет, но даже мне знающему СИ++ тяжело изучать всю эту систему, не все так просто. Я только начал изучать ObjectARX и в дальнейшем собираюсь писать на нем проги под акад. |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,386
|
Цитата:
Кстати, хоть OA и круче всех, но подобного VirtualTreeView в нем не найдете. Хотя, конечно, теоретически на C++ можно сделать всё. Только у одних можно, а у других уже сделано. |
|||
![]() |
|
||||
С этим я полностью согласен, OA незаменимая вещь при разработке сложных интерфейсов и программ, хотя.... впринцепе сложные программы можно написать и на самом лиспе да и интерфейс на DCL можно построить от которого у всех будет башню сносить.
Но все же одно можно сказать точно OA-ом обычно пользуются профессионалы потому что разработка программ на OA требует хороших знаний самого c++, дапустим разработка MFC приложений (это непросто оконные приложения типа Windows Form Application а нечто другое). |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,386
|
Цитата:
Сложный интерфейс можно легко сделать, имея разработанные кем-то наворочанные визуальные компоненты. В 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 функций, использующих возможности а) и б). |
|||
![]() |
|
||||
http://web2.airmail.net/terrycad/Tut.../MyDialogs.htm
http://www.jefferypsanders.com/autolisp_DCL.html http://www.levins.land.ru/index.html
__________________
Как использовать код на Лиспе читаем здесь |
||||
![]() |
|
||||
Прошу прощения, ошибочка с формой вышла :-(
Последний раз редактировалось MCAD, 09.07.2008 в 16:13. Причина: сорри, оффтоп |
||||
![]() |
|
||||
Цитата:
|
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,386
|
А когда-то приложения к AutoCAD можно было делать с любой средой программирования на C++. Мы Borland C++ 2 использовали. А потом они сговорились. Причем очень подло. Одна из обязательных функций в ARX должна возвращать номер версии в виде числа 14, 15, 16 и т.д - по версии Автокада. Это резонно. Но если напишешь свою такую функцию, то выяснится, что работать не будет. Что-то контроль версии делает побочное, разумеется, недокументированное. И не пускает "собак и китайцев".
Вот поэтому я и использую только COM, так как custom-объекты мне не нужны. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание графика в 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 |