Измените поле Длина и площадь на Ли Маке, чтобы автоматически скопировать выведенную длину в clipboad

#excel #autolisp #autocad-scripts

Вопрос:

Я использую поле длины и площади Ли Мака, чтобы автоматически получить общую длину объекта.

Я полный новичок в AutoLISP, поэтому я не могу найти переменную, ответственную за сохранение общей длины, чтобы я мог поместить ее в свой фрагмент кода, чтобы автоматически скопировать ее в буфер обмена для легкой вставки в Excel.

Вот мой фрагмент кода для автоматического помещения его в буфер обмена

 (vlax-invoke
(vlax-get (vlax-get (vlax-create-object "htmlfile") 'ParentWindow) 'ClipBoardData)
'setData
"TEXT"
(getvar 
)
 

Ответ №1:

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

Учитывая вышесказанное, вам потребуется получить текстовое содержимое объекта, выбранного для вывода, после того, как оно будет заполнено выражением поля, прежде чем копировать такое содержимое в буфер обмена Windows.

Это потребует изменения каждой ветви моей LM:outputtext функции, чтобы назначить результат вычисления выражения поля переменной, которая затем может быть возвращена функцией и использована вызывающей функцией.