Автоматическая установка текущего слоя
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Автоматическая установка текущего слоя

Автоматическая установка текущего слоя

Ответ
Поиск в этой теме
Непрочитано 16.06.2024, 22:49 #1
Автоматическая установка текущего слоя
boretskiy.a
 
геодезист
 
Регистрация: 26.11.2010
Сообщений: 35

Пробую через Lisp запустить команду "_pline" выбраного типа линии, которая
заносилась бы на определенний слой, а по завершении возвращался текущий
слой. В программированиии профан, пытаюсь но тщетно. Может кто поправит?
Буду очень признателен.

(defun C:gass ( / cl )
(if (not (tblsearch "LTYPE" "ГАЗс")
(command "_-linetype" "_l" "ГАЗс" "truba.lin" "_s" "ГАЗс" "")
(if (/= (getvar "CELTYPE") "ГАЗс")(setvar "CELTYPE" "ГАЗс"))
(setq cl (getvar "CLAYER" "0"))
(command "_-layer" "_m" "ТРУБОПРОВОДЫ" "")
(command "_pline")
(while (= (getvar "cmdactive") 1)(command pause))
(setvar "CLAYER" cl))))
(C:gass)
;;
;;
(defun C:fack ( / cl )
(if (not (tblsearch "LTYPE" "Канализация")
(command "_-linetype" "_l" "Канализация" "truba.lin" "_s" "Канализация" "")
(if (/= (getvar "CELTYPE") "Канализация")(setvar "CELTYPE" "Канализация"))
(setq cl (getvar "CLAYER" "0"))
(command "_-layer" "_m" "ТРУБОПРОВОДЫ" "")
(command "_pline")
(while (= (getvar "cmdactive") 1)(command pause))
(setvar "CLAYER" cl))))
(C:fack)

Вложения
Тип файла: lsp truba.lsp (1.3 Кб, 7 просмотров)

Просмотров: 1318
 
Непрочитано 17.06.2024, 07:24
#2
name02


 
Регистрация: 10.01.2020
Сообщений: 415


Код:
[Выделить все]
 (defun C:gass ( / cl )
(if (not (tblsearch "LTYPE" "ГАЗс")
(command "_-linetype" "_l" "ГАЗс" "truba.lin" "_s" "ГАЗс" "")
(if (/= (getvar "CELTYPE") "ГАЗс")(setvar "CELTYPE" "ГАЗс"))
(setq cl (getvar "CLAYER" "0"))
(command "_-layer" "_m" "ТРУБОПРОВОДЫ" "")
(command "_pline")
(while (= (getvar "cmdactive") 1)(command pause))
(setvar "CLAYER" cl))))
(C:gass)
У тебя в 5 строке ошибка - неправильный синтаксис функции getvar:
(setq cl (getvar "CLAYER" "0"))

Последний раз редактировалось name02, 17.06.2024 в 07:46.
name02 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Автоматическая установка текущего слоя



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическая установка слоя профиля Advance Steel rymko2013 Advance Steel 10 06.09.2018 10:20
Как в autolispe програмно узнать имя текущего слоя. iiscienceii LISP 16 05.06.2014 12:04
системная переменная, содержащая имя текущего слоя gen1939 AutoCAD 1 27.08.2010 06:35
Перескок с текущего слоя на "0" при выполнении команды рисования MissGreen AutoCAD 26 27.07.2010 14:20
Как выбрать текст АвтоЛиспом не только из текущего слоя но из всех доступных слоев (использую entnext)? lexluther LISP 2 25.08.2009 14:40