Как создать автоматизацию, которая получает текстовое значение и устанавливает его в Autocad
Нужно создать макросы /lisp/vba/diesel, чтобы пользователь мог делать следующие шаги:
- пользователь нажимает на TEXT на схеме и скрипте, получая это текстовое значение (это будет число) в буфер или в varialbe
- после этого сценария изменив курсор на PO (точка)
- пользователь нажимает на схему и создает точку
- наш номер с первых шагов будет автоматически установлен в свойство точки как координата Z
Как лучше это сделать? С макросами можно? Или нужен VBA или что-то еще?
1 ответ
ИМО, самое простое это AutoLISP
(defun c:foo (/ txt data z pt)
(if (setq txt (car (entsel "\nSelect text: ")))
(if (wcmatch (cdr (assoc 0 (setq data (entget txt)))) "*TEXT")
(if (setq z (distof (cdr (assoc 1 data))))
(if (setq pt (getpoint "\nPick a point: "))
(command "_.point" (list (car pt) (cadr pt) z))
)
(prompt "\nSelected text is not a number.")
)
(prompt "\nSelected object is not a text or mtext.")
)
)
(princ)
)