|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
ObjectARX с нуля
Регистрация: 19.11.2014
Сообщений: 2,606
|
||
Просмотров: 2267
|
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
Азы в справке по ObjectARX, в описании класса AcEdJig. Расписана теория и дан пример кода ("Using AcEdJig") - я по ней делал. На плюсах, правда. Но на шарпах отличия только в синтаксисе должны быть, а идея останется: отнаследоваться и несколько методов переопределить по правилам из справки.
|
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Я под азами в данном случае имел ввиду этап организации взаимодействия программы со средой Автокад. То есть реализация, для начала, банальной вещи. Например такой, как вывод в командную строку автокада сообщения "Hello, World!". Этот этап описан в справке по ObjectArx. Я думал Jig - это нечто другое, но нет, это часть ObjectArx, значит азы там смотреть и нужно. Там, правда, все довольно лаконично. Русскоязычных ресурсов с более подробным разжевыванием азов не нашел в свое время.
|
|||
![]() |
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
ObjectArx - это очень древние плюсы. Фактически, это "Cи с классами". Одной книжки типа "От чайника до профи за 24часа" хватает, чтобы справиться.
А собственно, больше и не нужно. Расширение путем наследования с переопределением - древняя и широко известная идея. В WinApi так окна создаются, на чистом Си. В вижуальном бейсике так обработка событий работает. Так пишутся плагины - к винампу, тотал коммандеру и т.п. Потому и подробностей в справке нет, только список методов и указание, к каком что сделать надо. Очевидно, считается, что этого хватает, чтобы сказать: "а, все понятно". Цитата:
По моему опыту, пользовательские языки - VBA и LISP - сильно быстрее в плане разработки, чем плюсы, в которых из-за многословности и ручного контроля ошибок/памяти программирование в несколько раз медленнее выходит. У плюсов один плюс - теоретически можно дотянуться куда угодно. Но практически лично я мало куда дотянулся, именно из-за высокой трудоемкости. Еще, чисто технически в ObjectARX можно создавать LISP-совместимые функции, которые будут работать из-под LISPа. В них можно оборачивать что-то слишком хитрое. У меня так измерители углов и расстояний сделаны, чтобы их можно было прозрачно вызывать во время других команд, в которые забыли добавить запрос начальной точки или вершины угла. Но можно ли так обернуть создание объекта - не скажу. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Нубий-IV, вы используете VS для ObjectArx? Если да, то версию VS используете соответствующую версии ObjectArx? Для примера вот цитата из мануала по ObjectArx 2022:
Цитата:
Цитата:
А здесь описано как вообще создать проект для автокад (те самые азы): Цитата:
Причем здесь описание привязано к среде VS. В других средах можно также создавать приложения для автокад или понадобятся танцы с бубном? |
|||
![]() |
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
Студия для ObjectARX обязательна, потому что там не исходники, а скомпилированные библиотеки. Каким компилятором их собрали авторы - таким же придется и линковаться с ними. Всякие GCC (или что там еще альтернативного) не смогут слинковаться, даже если скомпилируют. Она весит, конечно, как слон, но тут ничего не поделать.
Саму студию можно ставить последнюю - 2022, но установить дополнительно несколько версий компилятора, тогда из нее можно будет собираться под разные версии Акада/Нанокада. И ATL/MFC не забыть. В моей установке 143 - родная для vs2022 версия, а 140-142 - от предыдущих студий (19-17-15), они зацепят и более ранние автокады, до 2017 вроде. На более ранние - предыдущие студии искать надо. Последний раз редактировалось Нубий-IV, 01.08.2024 в 11:35. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop:
Цитата:
|
|||
![]() |
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
Касательно установки студии. С сайта качается "сетевой установщик" - маленький файл весом три метра. Все нужное он забирает из сети, в зависимости от установленных галочек. Но можно его заставить скачать все на диск, и потом ставиться с него. Рядом с exe надо положить пару командых файлов - один на закачку, один на установку, и запустить по очереди. Скачанное зальется в папку VS2022 рядом с exe.
Код:
Код:
Код:
Код:
Более полная конфигурация закачает инсталляторов под 7 гигов, установленная займет еще 23 гига, и соберет все акады до 2017. VC.140 - VS 2015 - ac2017,ac2018 VC.141 - VS 2017 - ac2019,ac2020 VC.142 - VS 2019 - ac2021,ac2022,ac2023 VC.143 - VS 2022 - ac2024,ac2025 Код:
Последний раз редактировалось Нубий-IV, 01.08.2024 в 11:33. |
|||
![]() |
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 2,071
|
Азы стандартны для плюсов: выбрать версию компилятора под нужный акад, указать тип сборки (DLL) и расширение (ARX), добавить пути поиска INCLUDE/LIB, да некоторые настройки (Многопоточная DLL) выставить в то же положение, что у разработчиков. В старых версиях дополнительно надо было Unicode активировать, да вручную все подключаемые LIB-файлы перечислить; на сегодня Unocode и так по умолчанию стоит, а LIB автоматом через прагмы в заголовках цепляются.
Вот простейшая лисп-команда на плюсах: Код:
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Расположение нуля МСК Автокада | VladiT | AutoCAD | 82 | 22.06.2020 17:07 |
ObjectARX. Не запускается приложение по AutoCAD 2016 | Сет | Программирование | 4 | 26.03.2016 00:36 |
Как установить ObjectARX for AutoCAD ? | kurstep | Программирование | 7 | 24.12.2015 00:54 |
Использование std в ObjectArx 64 возможно ли ? | alex-63 | Программирование | 2 | 23.01.2014 12:27 |
Есть ли ограничения на LoadLibrary из ObjectArx ? | alex-63 | Программирование | 7 | 05.04.2012 11:30 |