|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
13.06.2007, 13:05 | #1 | |
Работа с AutoCad из C++
студент, программист
Новосибирск
Регистрация: 13.06.2007
Сообщений: 1
|
||
Просмотров: 8384
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
1. Формат может располагаться в модели и в листе. У тебя что?
2. А как ты определишь "нужные"? И как минимум один все равно должен существовать. 3. Пройтись по всем коллекциям блоков, и, фильтруя по *space*, удалять состав их 4 и 5 - справка по VBA AutoCAD P.S. Я не работаю на С++, так что конкретики дать никакой не могу. P.P.S. Как я понимаю, ты вызываешь AutoCAD из-под C-шной программы. Может, сделать наоборот? Из C++ сделать dll, которую и вызывать лиспом из-под када.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
>Santilka85
Делать надо все наоборот: 1. Программа работает под Автокадом, а не черт-знает где. Делать больше нечего Автокаду, как запускаться "по-кнопочке" из-под каждой Си-шной программы. 2. Если непременно надо на C++, то надо писать на ObjectARX. Тут и C++ со всеми его библиотеками и возможностями, и работа внутри Автокада. 3. Возможен вариант с COM-dll, в которой сидит интерфейсная часть для ввода необходимой информации. Как это сделать именно для рисования формата - целая глава в книге "САПР на базе AutoCAD - как это делается". Только там "формочки" в Delphi делаются. COM (Automation) можно хоть на чем делать. Все 5 "проблем" решаются изучением AutoCAD, а не C++. |
|||
|
||||
Все можно.
1. Создать системные переменные и записать в них значения. Какие?, да те, которые придумаете. Пока Автокад не включен, он мертв, а это значит, что ничего и не услышит. Можно только запустить его с именем файла. 2. Когда кад загрузился, он должен загрузить и запустить макрос. который вы должны написать и на этот кад установить. Можно к файлу прикрепить реактор, который будет запускать данный макрос только с этим файлом при проишествии каких либо событий. 3. далее читаем переменные и отрабатываем их значения. |
||||
|
||||
Есть грандиозная идея, сразу решающая и ваш и мой проблем.
Есть системная переменная, в которой записаны координаты положения курсора и признак нажатия на левую кнопку мыши. Можно две переменных. Нужно написать программу на C++ которая имитирует наведение курсора на нужное место экрана и нажимает (тоже программно) левую кнопку мыши. Программа циклически опрашивает значение системной переменной и как только в ней появляется признак нажатия "1" сразу по появившимся вместе с признаком координатам перемещает курсор и нажимает левый буттон. В другой переменной находится признак выключения программы. Если там появилась "1" - выкл. все. А я вам помогу справится с макросами на AutoLispe. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
В AutoCAD-e очень много комманд работает с диалоговыми окнами. AutoLisp-om я могу все, кроме как нажать кнопку "OK" или какую нибудь другую кнопку этих окон.
Я могу отловить начало выполнения команды, ее конец, ее обрыв, не говоря о том, что я могу любую запустить. Но если в процессе работы команды всплывает окно - бац! я застрял. |
||||
|
||||
Регистрация: 14.03.2006
Сообщений: 863
|
программисты учатся чертить
подавляющее большинство команд acad запускаются в режиме коомандной строки с префиксом "-", например _-array большинство команд acad запускаются из-под (command именно в режиме командной строки а также помогает установка CMDDIA в 0, только потом обратно не забудьте вернуть, чтоб не плодились темы типа "все пропало!!!" |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Цитата:
> Zouss : большинство, но не все battman, например, не запустишь в режиме ком.строки. Другой вопрос, что есть _.attsync Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
|
||||