Как использовать команду AEBALLON через AUTOLISP в ACADE 2016

В моей текущей задаче мне нужно добавить Balloon в определенный блок в AutoCAD Electrical 2016 с помощью команды AEBALLOON через Auto lisp. Кто-нибудь знает, как «команда AEBALLOON отправить в AutoCAD Electrical 2016 через auto lisp»

Мой проект застрял здесь заранее спасибо.


person Dinesh Vilas Pawar    schedule 10.01.2018    source источник
comment
Я предполагаю, что вы уже пробовали (command "_.aecballon" ...) предоставлять последующие аргументы в соответствии с подсказками, выдаваемыми командой?   -  person Lee Mac    schedule 12.01.2018
comment
@Lee Mack Здорово, что я здесь от вас, я каждый день посещаю ваш сайт. Я уже пробовал (команда _.aecballon ...), но такой синтаксис не работает в ACADE 2016 для всплывающих подсказок, возможно, причина в том, что AEBALLOON не является стандартной командой AutoCAD Electrical 2016. Некоторые из них я обнаружил, что при использовании C: предыдущая командовать т.е. (C:AEBALLOON) он не может работать,   -  person Dinesh Vilas Pawar    schedule 12.01.2018
comment
(продолжить).... @Lee Mack, но далее он может выбирать объект через lisp, вот полная команда (C: AEBALLOON Obj pt1 pt2 ). Я попытался отправить команду ниже (vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat AEBALLOON LAST\n0,0\n10,10\n)) ;O,O это pt1, а 10,10 - это pt2, но это не очень хорошее решение, можете ли вы предложить какой-либо другой метод. вот еще одна ссылка, где я нашел эту помощь. forums.autodesk.com/t5/visual-lisp-autolisp-and-general/   -  person Dinesh Vilas Pawar    schedule 12.01.2018


Ответы (1)


AutoCAD Electrical — это расширенная версия плана AutoCAD для создания электрических чертежей.

Электрические объекты, такие как Воздушный шар, Foot-Print, BOM-Tables, Титульный блок , имеют ссылки друг на друга, которые хранятся в форме XREF, XDATA или атрибута.

команда написана на AutoLISP, например AEBALLOON AERESEQUENCE.
Все эти команды выполняются в соответствии с написанным для них программистом. поэтому мы не можем передать какой-либо параметр в соответствии с нашим требованием.

Давайте рассмотрим команду AEBALLOON после запуска этой команды есть два варианта
1. выберите объект для добавления Balloon
2. выберите последний объект, нажав s
но мы не можем передать какой-либо случайный объект в соответствии с нашим требованием.

но в команде Plain AutoCAD мы можем передать параметр в соответствии с нашим требованием.

Это означает, что мы не можем отправить параметр какой-либо электрической команде AutoCAD через Auto-lisp или другой язык программирования.

Но вот хитрое решение для добавления Balloon.
1. Вставьте блок воздушного шара в соответствии с местоположением.
2. VIA_WD_BALLPTR VIA_WD_HDL добавить эти внешние ссылки во вставленные позиции.(Не только эти две, есть еще, поэтому изучите взаимосвязь между этой внешней ссылкой позиции и частью позиции)
3. См. влияние добавленных данных в соответствии с правилом. (Это правило вам нужно, чтобы найти собственное значение XREF VIA_WD_BALLPTR, которое не совпадает с другим объектом на всем чертеже.)

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

person Dinesh Vilas Pawar    schedule 25.09.2018