VetCAD

Lisp позволяющий изменять уровень и высоту для группы примитивов AutoCAD (также цвет, слой, вес, тип и линейный масштаб линий),

    1 оценка

mymail@mabila.ua

размещено: 25 Мая 2011
Эта программа со странички http://www.codenet.ru/progr/alisp/05.php
Не знаю кто ее автор, но после небольшого редактирования она мне очень помогла в работе...
Огромное спасибо автору!

Описание работы:
1) подгрузить файл программы (меню Сервис-Приложения..)
2) набрать команду CHGLAYER
3) выбрать изменяемые объекты (рамкой, поштучно и т.д.) нажать Enter
4) выбрать эталонный объект
5) далее предлагается указать точку или Свойства - следует сделать правый клик и выбрать Свойства, после чего задать любое из предлагаемых свойств).

Есть некорректность в работе - указание точки не срабатывает - недеюсь кто нибудь более опытный в AutoLISP ее устранит...

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-1 из 1
ynopum , 30 мая 2011 в 12:28
#1
Есть встроеная команда MATCHPROP, которая делает нужное вам присвоение параметров из одного объекта к другим.

Вот короткая версия вашей программы (с проверки невалидной селекции):

(defun C:CHGLAYER (/ ss e n)
(princ "Select objects to be changed:n")
(if (setq ss (ssget))
(if (setq e (entsel "Pick an object on the desired layer: "))
(if (setq n (assoc 8 (entget (car e))))
(command "_CHANGE" SS "" "PROPERTIES" "LAYER" (cdr n) "")
)
)
)
)
zip

0.1 МБ

СКАЧАТЬ