Тема: LISP. Создания ПСК, видов, видовых экранов листов с поворотом на 45 градусов

Внимание!!! При редактировании строк пакетных файлов помните, что каждый лишний пробел AutoCAD понимает как Enter.
Целиком писать на лиспе не было времени, комментарии для чайников:
Z45.scr - пакетный файл - запускать из командной строки AutoCAD для создания ПСК с поворотом:
Вместо 45 поставить везде свой угол, установить масштаб для вида myscale(см. ниже),
набрать в командной строке AutoCAD слово "пакет" или "_.script" и нажать ввод.

(setq myangle "45" smyangle (strcat "повернуто_" myangle) myscale "2.0")
(setvar "TILEMODE" 1)
;  Следующие строки можно раскомментировать, чтобы автоматически показать все в модели, проверить и очистить чертеж:
;_zoom _e
;_audit _Y
;_purge _all * _no
;1)    Установить и применить МСК, если использовалась ПСК:
_UCS _World
_Plan _Current
;2)    Создать именованный вид в МСК с сохранением системы координат:
(setvar "UCSVIEW" 1)
_-View _S Мир
;3)    Создать, применить и сохранить новую ПСК, повернутую на 45о относительно МСК:
_UCS _New Z !myangle
_Plan _Current
_UCS _Save !smyangle
;4)    Создать именованный вид в ПСК «повернуто_45» (UCSVIEW=1)
_-View _S !smyangle
;5)    Перейти в пространство листа (последний открывавшийся лист),
;       создать и установить слой ТЕХ_Экран, цвет слоя фиолетовый(6), слой непечатный:
(setq olname (getvar "CLAYER"))
(setq lname "ТЕХ_Экран" LAYER "_.-LAYER" _N "_N" _S "_S" _C "_C" _P "_P")
(if (NULL (tblsearch "LAYER" lname))(vl-cmdf LAYER _N lname _S lname _C 6 "" _P _N "" "")(vl-cmdf LAYER _S lname _C 6 "" _P _N "" ""))
;       вставить новый видовой экран с видом «повернуто_45»:
(setvar "TILEMODE" 0)
; пробел после _-VPorts обязателен
_-VPorts
;6)     установить именованный вид «повернуто_45», установить масштаб отображения вида относительно листа myscale и заблокировать:
(setvar "TILEMODE" 1)
_-View _R !smyangle
(setvar "TILEMODE" 0)
_.MSPACE
_.ZOOM (strcat myscale "xl")
_.PSPACE
_-vports _L _on _all
;7)    Перейти на вкладку «Модель». Восстановить вид в МСК и предыдущий слой:
(setvar "TILEMODE" 1)
(setvar "CLAYER" olname)
_-View _R Мир
(setvar "TILEMODE" 0)
;8) Удалить вручную данные о слоях в диалоговом окне всех видов(написать не получается).
;Лишние именованные виды и системы координат также удалите
;_view

Re: LISP. Создания ПСК, видов, видовых экранов листов с поворотом на 45 градусов

И ето чего такое должно быть-то? Чего-то я не понял смысла, если честно...
Сразу, без особого анализа:
1. Простая установка tilemode в 0 может перенести на непредсказуемый лист. А не на тот, в котором были.
2. Мировая система, конечно, гуд, только если ее меняют, то, как правило, не просто так.
3. Сюда же - если направление горизонтальной оси для мировой системы изменено, тогда чего делать?
4. Слой при создании или установке сначала надо размораживать и разблокировать.
5. Все вот это:

(setq olname (getvar "CLAYER"))
(setq lname "ТЕХ_Экран" LAYER "_.-LAYER" _N "_N" _S "_S" _C "_C" _P "_P")
(if (NULL (tblsearch "LAYER" lname))(vl-cmdf LAYER _N lname _S lname _C 6 "" _P _N "" "")(vl-cmdf LAYER _S lname _C 6 "" _P _N "" ""))

Можно заменить сразу на одну строку:

(command "_.-layer" "_make" "ТЕХ_Экран" "_color" 6 "" "_plot" "_no" "" "_lweight" 0.25 "" "_ltype" "Continuous" "" "_thaw" "" "")

Ну и так далее. ИМХО : решается одна частная задача, без вариантов.

Re: LISP. Создания ПСК, видов, видовых экранов листов с поворотом на 45 градусов

Сорри, насчет последнего - не 1, а 2 строки. Сначала надо сохранить значение clayer. Только проблема в том, что сохранять и восстанавливать надо не только ее...

Re: LISP. Создания ПСК, видов, видовых экранов листов с поворотом на 45 градусов

kpblc:
1. Простая установка tilemode в 0 может перенести на непредсказуемый лист. А не на тот, в котором были.
Об этом я предупреждаю в п.5)
Все это для того, что требуется работать с  топосъемкой, повернутой вдоль трассы, а смежные отделы потом понятия не имеют под каким углом на листе были повернуты виды, в какой ПСК работают и т.п.
3. Сюда же - если направление горизонтальной оси для мировой системы изменено, тогда чего делать? - тогда это не МСК, а ПСК, поэтому см.п.1)- воостановить сначала МСК
После выполнения пакетного файла можно просто переключаться между созданными именованными видами "Мир" (т.е. МСК) и "повернуто_45" (ПСК "повернуто_45"- совпадает с именем вида)

Re: LISP. Создания ПСК, видов, видовых экранов листов с поворотом на 45 градусов

Ладно, поскольку я в топографии ни бум-бум, замолкаю.

Re: LISP. Создания ПСК, видов, видовых экранов листов с поворотом на 45 градусов

Заметила, что иногда вид на лист вставляется не с тем масштабом и углом. Вероятно влияют привязки и режим ORTO. Кроме того, на текущем листе несколько видов с разными углами поворота не всегда проходят.