Назначение полевого выражения для кнопки в AutoCAD LT 2020 - PullRequest
0 голосов
/ 03 октября 2019

Я хочу назначить следующее выражение поля кнопке в AutoCAD LT 2020, с предложением выбрать объект, который затем изменит идентификатор объекта на выбранный объект и создаст поле.

%<\AcObjProp.16.2 Object(%<\_ObjId 1277806399264>%).Area \f "%lu2%pr2%ps[, Seconds]%ct8[9.799999999999998E-006]">%

Любая помощь очень ценится.

1 Ответ

2 голосов
/ 03 октября 2019

tl; dr: это невозможно.

Для автоматизации этой задачи потребуется использование API для получения соответствующего идентификатора объекта выбранного объекта (который не 'Он доступен с использованием стандартных команд AutoCAD или DIESEL), и поэтому не может быть достигнут с помощью только макросов панели инструментов в AutoCAD LT.


Если вам нужен существующий пример автоматизации этой задачи, если у вас есть доступк версии AutoCAD, которая поддерживает настройку (в частности, API LISP), вы можете рассмотреть мою утилиту Quick Field , которая позволит вам определить собственную команду AutoLISP, такую ​​как:

(defun c:MyArea ( ) (LM:QuickField "Area" "%lu2%pr2%ps[, Seconds]%ct8[9.799999999999998E-006]" 2))

Это создаст однострочный текстовый (DText) объект, содержащий поле, ссылающееся на область другого выбранного объекта, отформатированное с использованием предоставленного кода форматирования.

...