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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Создание листов и видовых экранов на них

LISP. Создание листов и видовых экранов на них

Ответ
Поиск в этой теме
Непрочитано 21.08.2015, 13:33 9 | 1
LISP. Создание листов и видовых экранов на них
Andrey_13
 
Инженер-проектировщик РЗА, ПА, ВК
 
Екатеринбург
Регистрация: 06.02.2014
Сообщений: 32

Вызов командой "_AL".
Указать слой с рамками чертежей (рамки выполнить в виде прямоугольников либо в виде блоков). Программа создаёт листы с видовыми экранами, совпадающими c рамками листов.
Программа нумерует листы по порядку следования рамок в одну строку или в один столбец (либо слева направо, либо сверху вниз). При расположении рамок матрицей - листы будут созданы, но нумерация вкладок потеряет упорядоченность.
Обновление (от старых к новым):
- предусмотрена установка параметров листов (установка принтера DWG to PDF.pc3, подбор ближайших стандартных форматов (A0,1,2,3,4), таблица стилей печати monochrome);
- убрано слово "Лист" из наименования листов;
- для нестандартных форматов листов устанавливается пустое устройство печати;
- улучшение для размещающих рамки форматов в пространстве модели вертикально;
- вместо ввода имени слоя с рамками определение слоя указанием объекта;
- предусмотрено блокирование создаваемых видовых экранов;
- предусмотрен ввод масштаба;
- исправлено завершение программы при пустом выборе объекта для определения слоя с форматами;
- исправлены мелкие ошибки, предусмотрен ввод номера первого листа при работе с удалением существующих листов;
- предусмотрено зумирование создаваемых листов, команда вызова "_AddLay" в целях ускорения набора сокращена до "_AL".
----------------------------
Выложена дополнительная программа создания группы видовых экранов в пространстве листа AVP.lsp. Выход из программы клавишей Esc.
Обновление:
- расширены пределы указания масштабов видовых экранов;
- показана рамка видового экрана при вставке.
----------------------------
По просьбе участника petro_f привожу ссылку на альтернативную версию программы http://forum.dwg.ru/showpost.php?p=1577494&postcount=92

Вложения
Тип файла: lsp AVP.LSP (2.9 Кб, 4864 просмотров)
Тип файла: lsp AddLay.LSP (12.6 Кб, 5749 просмотров)


Последний раз редактировалось Andrey_13, 28.02.2018 в 21:17. Причина: Добавление ссылки на альтернативную версию программы.
Просмотров: 241841
 
Непрочитано 04.09.2015, 00:06 Andrey_13
#61
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Не знаю стоит ли, но только что столкнулся в чужих чертежах с проблемой, многие разбрасывают аннотативный текст , даже не подозревая что он аннотативный.

Пожелание (вопрос неоднозначный - обсуждается):
устанавливать ANNOALLVISIBLE=1 для вкладок листов,
либо делать запрос (чего не хотелось бы),
либо добавить описание переменной в шапку темы для добавления желающими в макрос запуска.

Чужие чертежи - только что наткнулся, в модели установлен масштаб 1:1 (обозван он 1:1000), шифр разбросан многострочным аннотативным текстом, ВЭ созданы с масштабом (1:1 и обозван он в списке 1:1). ВЭ создавались не вашей программой.

Но при ANNOALLVISIBLE=0, при котором создавались ВЭ, шифр через ВЭ не виден и не печатается, до установки ANNOALLVISIBLE=1 для каждой вкладки листа.


Скрытие или отображение аннотативных объектов, не поддерживающих текущего аннотативного масштаба.
Возможные значения:
0 - Отображаются только аннотативные объекты, поддерживающие текущий аннотативный масштаб
1 - Отображаются все аннотативные объекты

Значение переменной ANNOALLVISIBLE сохраняется отдельно для пространства модели и каждого листа.


http://forum.dwg.ru/showthread.php?t=29436

Вот ведь ... чем же теперь разом всем вкладкам ANNOALLVISIBLE=1 назначить чтоб листы не пересоздавать их таки 56 штучек.

Просто убрал свойство: аннотативность - да, для всех многострочных текстов, т.к. она была назначена не через стиль, то пришлось делать выборку, таких текстов.

Данную фичу (аннотативность) используют единицы, а вот пропажа размеров, текстов, и других объектов поддерживающих аннотативность (через стиль, или как свойство объекта) отследить сложно,
потому ИМХО ANNOALLVISIBLE=1 для вкладок листов нужно устанавливать программно, с предупреждением в шапке темы (можно указать какие строки закоментировать при желании не менять эту переменную).
В этом случае и лишнего запроса нет, и переделать под аннотативность можно.
Миниатюры
Нажмите на изображение для увеличения
Название: 2015-09-04__ TC71-PC__ 12.11.27 AM.png
Просмотров: 194
Размер:	8.4 Кб
ID:	156292  
__________________
tc71

Последний раз редактировалось perpetule, 04.09.2015 в 09:33.
perpetule вне форума  
 
Непрочитано 15.09.2015, 16:30
#62
Vetinj


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


AVP.LSP При вставки ВЭ у предыдущего слетает видимость изображения, при дальнейшей работе вставляется пустой ВЭ. Переменная MAXACTVP-64, ВЭ включен.
В чем может быть причина?
Vetinj вне форума  
 
Непрочитано 16.09.2015, 12:30
#63
betonolom


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


Пользуюсь AVP.LSP, огромное спасибо разработчикам.
Немного исправил для своих нужд:
(if (not Scale) (setq Scale (getvar "USERI2")))
Теперь когда необходимо вставить на лист огромное число узлов конструкций в масштабе 1:20, я присваиваю USERI2 значение 20, масштабы при этом устанавливаются по умолчанию 1:20.

Теперь о проблемке: использую лисп автоматического переноса объектов на слои http://forum.dwg.ru/showpost.php?p=58664&postcount=25
в который добавил следующее: ((wcmatch thecommandstart "*VPORTS*") ;_Если выполняется команда *VPORTS
(setvar "clayer" (Layer? "КР_П_01_ВЭ"))

Видовые экраны, которые созданы в AVP.LSP при этом не переходят в нужный слой.
Подскажите как подправить AVP.LSP или лисп автоматического переноса, чтобы видовые экраны переходили на нужный слой.
Спасибо.
betonolom вне форума  
 
Автор темы   Непрочитано 16.09.2015, 12:40
1 | #64
Andrey_13

Инженер-проектировщик РЗА, ПА, ВК
 
Регистрация: 06.02.2014
Екатеринбург
Сообщений: 32


Цитата:
Сообщение от Vetinj Посмотреть сообщение
В чем может быть причина?
По вашей проблеме у меня, к сожалению, нет информации.
Цитата:
Сообщение от betonolom Посмотреть сообщение
Подскажите как подправить AVP.LSP или лисп автоматического переноса, чтобы видовые экраны переходили на нужный слой.
В конце программы AVP.LSP после строки
Код:
[Выделить все]
 (vla-put-CustomScale Viewport (/ (float 1) (float Scale)))
добавьте строку
Код:
[Выделить все]
 (vla-put-Layer Viewport "КР_П_01_ВЭ")
Andrey_13 вне форума  
 
Непрочитано 05.10.2015, 17:39
#65
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Надеюсь не offtop
Сборник ссылок на виртуальные Pdf принтера / конвертеры с упоминанием их платности / бесплатности и локализации
http://kompazbuka.ru/office/text-converters

P.S. Добавлен PDF reDirect, дальнейшие добавления виртуальных PDF - > пишем в ЛС, дабы не размазывать тему!
Nike - спасибо за ссылку!
Вложения
Тип файла: pdf Конвертеры-документов-2015-10-06--v002.pdf (280.7 Кб, 100 просмотров)
Тип файла: docx Конвертеры-документов-2015-10-06--v002.docx (29.9 Кб, 68 просмотров)
__________________
tc71

Последний раз редактировалось perpetule, 06.10.2015 в 09:14.
perpetule вне форума  
 
Непрочитано 05.10.2015, 17:52
#66
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


perpetule, "PDF reDirect" забыли.
Nike вне форума  
 
Непрочитано 13.10.2015, 16:33
#67
betonolom


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


Цитата:
Сообщение от perpetule Посмотреть сообщение
Не знаю стоит ли, но только что столкнулся в чужих чертежах с проблемой, многие разбрасывают аннотативный текст , даже не подозревая что он аннотативный.
....
А у меня другая проблема: при использовании AVP.LSP видовые экраны создаются с масштабом аннотаций равным 1:1, и поэтому даже если масштаб аннотаций текстов и размеров в модели совпадает с масштабом, устанавливаемом при запросе лиспа, то в видовом экране они не отображаются (масштаб аннотаций в модели не совпадает с масштабом аннотаций видового экрана).
Подскажите пожалуйста, как откорректировать лисп, чтоб масштаб аннотаций видового экрана устанавливался равным масштабу видового экрана?
betonolom вне форума  
 
Непрочитано 23.10.2015, 12:05
1 | #68
Poker face


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


Привет всем. Новичок на форуме и в лиспе. По работе понадобился инструмент для автоматического формирования листов. Скачал addlay, попробовал, некоторые моменты подправил под себя, нашел 2 ошибки. По ошибкам:
1) строка (vla-put-Name (vla-Item Layouts 1) (itoa FirstSheet)) ; Переименование первого листа вызывает ошибку на английской версии, т.к. похоже для английской версии vla-Item Layouts 0 является List1 , а vla-Item Layouts 1 - model. В отличие от русской где все наоборот.
Переделал этот момент, также переделал строку (setq Layout (vla-item Layouts 0)) по той же причине, хотя она отрабатывала корректно после переименования листа.
2) Цикл с проверкой на совпадение листов при выполнении условия совпадения становится бесконечным, поправил это.
По переделке под себя. Надеюсь автор не обидится на подобное надругательство над программой. Ну и т.к. в лиспе я новичок возможны ошибки и огрехи в добавлениях. Тут надеюсь на опытных форумчан, возможно поправят или дадут добрый совет.
Что именно поменял:
1) задал слой для рамок по умолчанию
2) добавил возможность выбора нескольких наборов листов по горизонтали либо вертикали
3) добавил выбор форматов для набора новых листов А4/А3/А2/А1/Масштаб, форматы А4 и А3 вписываются в область печати принтера независимо от размера вьюпорта, для форматов А2 и А1 масштаб установлен 1:1, при выборе Масштаб идет запрос масштаба из оригинального Addlay.
4) добавил выбор файла настроек принтера и выбор стиля ctb для формируемых листов
5) добавил обработку выбора мелких объектов и взорванных рамок с сообщением и выходом
6) добавил проверку регенерации листов и установку переменной LAYOUTREGENCTL в 0
7) убрал выбор формата по площади, т.к. в моем случае формат листа задается вручную
Вложения
Тип файла: lsp AddLayforDwgru.LSP (17.8 Кб, 208 просмотров)
Poker face вне форума  
 
Непрочитано 23.11.2015, 09:23
#69
Kserg_nn


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


Добрый день. Спасибо за полезный лисп.
Если можно то внесите небольшое изменение
Суть. Есть планы линейных объектом, на протяжении трассы расставляются форматки, соответственно не горизонтально, а под разными углами, вдоль самой трассы.
Программа определяет и создает листы и видовые экраны, НО видовой экран на этом участке остается горизонтальным. Пожалуйста сделайте так, чтобы и форматка и видовой экран были вместе одинаково ориентированы по горизонтали на листе.
Еще маленький вопрос. Где и что добавить в лиспе чтобы по умолчанию видовые экраны сохранялись в слое "ВЭ" и этот слой был не печатный.
Спасибо
Вложения
Тип файла: dwg
DWG 2010
Чертеж1.dwg (76.4 Кб, 695 просмотров)
Kserg_nn вне форума  
 
Непрочитано 25.11.2015, 13:47
#70
Poker face


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


Небольшим изменением тут не обойтись. Стороны видового экрана параллельны осям мировых координат. Могу посоветовать ставить форматку на плане горизонтально/вертикально, а уже потом зайдя в модель через видовой экран (не забудьте разблокировать вид в свойствах видового экрана) поворачивать как надо и менять ПСК. Со слоем проще, в лисп добавлять ничего не надо, видовые экраны создаются в текущем слое, соответственно если в чертеже есть слой ВЭ и он непечатаемый, то нужно просто сделать его текущим перед запуском лиспа.
Poker face вне форума  
 
Непрочитано 25.11.2015, 16:13
#71
Kserg_nn


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


Цитата:
Сообщение от Poker face Посмотреть сообщение
Небольшим изменением тут не обойтись. Стороны видового экрана параллельны осям мировых координат. Могу посоветовать ставить форматку на плане горизонтально/вертикально, а уже потом зайдя в модель через видовой экран (не забудьте разблокировать вид в свойствах видового экрана) поворачивать как надо и менять ПСК. Со слоем проще, в лисп добавлять ничего не надо, видовые экраны создаются в текущем слое, соответственно если в чертеже есть слой ВЭ и он непечатаемый, то нужно просто сделать его текущим перед запуском лиспа.
как по вернуть экран я знаю, но это все руками, теряется весь смысл автоматизации, поэтому хотелось бы это видеть программно (есть подобный лисп, но он привязан к шаблонам и работает только до 2012 версии + с ним есть ряд неудобств)
по поводу ВЭ.
хотелось бы это сразу чтобы в лиспе было прописано, чтобы с самого начала слой устанавливался нужного имени или создавался нужного имени. Так как этим лиспом пользуются разные люди, каждый раз контролировать какой слой текущий не каждый будет да и не нужно это.
Kserg_nn вне форума  
 
Непрочитано 27.11.2015, 09:20
#72
freese

ingénieur
 
Регистрация: 21.07.2008
Сообщений: 762


Цитата:
Сообщение от Kserg_nn Посмотреть сообщение
как по вернуть экран я знаю, но это все руками, теряется весь смысл автоматизации, поэтому хотелось бы это видеть программно (есть подобный лисп, но он привязан к шаблонам и работает только до 2012 версии + с ним есть ряд неудобств)
по поводу ВЭ.
хотелось бы это сразу чтобы в лиспе было прописано, чтобы с самого начала слой устанавливался нужного имени или создавался нужного имени. Так как этим лиспом пользуются разные люди, каждый раз контролировать какой слой текущий не каждый будет да и не нужно это.
http://forum.dwg.ru/showthread.php?t=83750 - прототип, с вашей задачей справится
freese вне форума  
 
Непрочитано 10.12.2015, 14:24
#73
Kserg_nn


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


Цитата:
Сообщение от freese Посмотреть сообщение
http://forum.dwg.ru/showthread.php?t=83750 - прототип, с вашей задачей справится
не подходит или что то не так делаю
по повернутым форматкам нельзя ничего сделать, не саму форматку в правильную рамку определить, ни видовой экран по форматке сделать ((
Kserg_nn вне форума  
 
Непрочитано 10.12.2015, 16:21
#74
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 810
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Цитата:
прототип, с вашей задачей справится
Такового на форуме нет, есть стандартный набор действий, не самый быстый, который позволит нарезать трассы.

_Chspace

_-vports _o
Миниатюры
Нажмите на изображение для увеличения
Название: 2015-12-10 - 16.16.04---MyImgur---модель--.png
Просмотров: 141
Размер:	9.9 Кб
ID:	162052  Нажмите на изображение для увеличения
Название: 2015-12-10 - 16.16.43---MyImgur---лист--.png
Просмотров: 124
Размер:	5.1 Кб
ID:	162053  Нажмите на изображение для увеличения
Название: 2015-12-10 - 16.17.54---MyImgur---лист--.png
Просмотров: 159
Размер:	13.1 Кб
ID:	162054  Нажмите на изображение для увеличения
Название: 2015-12-10 - 16.18.42---MyImgur---лист--в-модель-с-чуть сбитым-масштабом--.png
Просмотров: 121
Размер:	9.1 Кб
ID:	162055  
__________________
tc71
perpetule вне форума  
 
Непрочитано 19.02.2016, 07:10
#75
Vladimir_Sergeevich

рисую дороги, в перерывах курю Lisp
 
Регистрация: 20.04.2011
Пермь
Сообщений: 475
<phrase 1= Отправить сообщение для Vladimir_Sergeevich с помощью Skype™


AddLay отличная программа, сделал несколько изменений под себя.
У нас принято печатать рамкой для этого:
1. Перед назначением метода печати рамкой надо эту рамку задать
Код:
[Выделить все]
 ;;; Установка параметров печати
    ;;(vla-put-StyleSheet Layout "monochrome.ctb") ; Установка таблицы стилей печати не надо монохрома!
    (vla-SetWindowToPlot Layout ;;;задаем рамку для печати
		(vlax-safearray-fill 
			(vlax-make-safearray vlax-vbDouble '(0 . 1))
			'(0 0)
		)
		(vlax-safearray-fill 
			(vlax-make-safearray vlax-vbDouble '(0 . 1))
			(list ViewportWidth ViewportHight)
		)
	)
	(vla-put-PlotType Layout 4) ;; Установки области печати "Лист"(5) "рамка"(4)

2.После задания области печати и выбора формата подправить единицы и центровку (перед зумированием)
По крайней мере на том чертеже, где тестил, по умолчанию выставлялись дюймы
Код:
[Выделить все]
 	(vla-put-PaperUnits Layout 1) ;;миллиметры
	(vla-put-CenterPlot Layout :vlax-true) ;;центровка


и поменял листы на "ISO_expand_A4_(297.00_x_210.00_MM)" и тому подобные, думаю можно будет и неформат позже дописать туда же
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы...
Vladimir_Sergeevich вне форума  
 
Непрочитано 19.02.2016, 17:12
#76
kacugu

начинающий инженер-гидротехник
 
Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 893


betonolom, попробуйте после строчки
Код:
[Выделить все]
 (vla-put-mspace ActiveDocument :vlax-true)
вставить строчку
Код:
[Выделить все]
 (setvar "cannoscale" (strcat "1:" (rtos Scale 2 0)))
Должно подходить и для addlay.lsp
kacugu вне форума  
 
Непрочитано 04.04.2016, 11:19
#77
KEHT


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


Цитата:
Сообщение от Vetinj Посмотреть сообщение
AVP.LSP При вставки ВЭ у предыдущего слетает видимость изображения, при дальнейшей работе вставляется пустой ВЭ. Переменная MAXACTVP-64, ВЭ включен.
В чем может быть причина?
Таже проблема) игрался лиспом настраивал под себя, добавлял удалял, добавлял удалял видовые экраны и бац стали выключаться, хотя их на листе 5-6. Думаю удаленные ВЭ не чистяться на листе при удалении...

----- добавлено через ~55 мин. -----
(vla-zoomcenter Application (vlax-3d-point (list (/ (+ Point1x Point2x) 2) (/ (+ Point1y Point2y) 2))) 1.0) Ошибка в этой строчке иногда сбивается центровка...
KEHT вне форума  
 
Непрочитано 20.04.2016, 17:57
#78
Segey.K


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


Цитата:
Сообщение от Andrey_13 Посмотреть сообщение
По вашей проблеме
Андрей подскажи пожалуйста куда и что нужно дописать в коде AddLay.LSP, чтобы при создании листа переменная PSLTSCALE была = 0, по умолчанию PSLTSCALE=1. Очень нужно. Заранее спасибо.
Segey.K вне форума  
 
Автор темы   Непрочитано 21.04.2016, 06:40
#79
Andrey_13

Инженер-проектировщик РЗА, ПА, ВК
 
Регистрация: 06.02.2014
Екатеринбург
Сообщений: 32


Цитата:
Сообщение от Segey.K Посмотреть сообщение
Андрей подскажи пожалуйста куда и что нужно дописать в коде AddLay.LSP, чтобы при создании листа переменная PSLTSCALE была = 0, по умолчанию PSLTSCALE=1. Очень нужно. Заранее спасибо.
Посмотрите во вложении.
Вложения
Тип файла: lsp AddLay Segey.K.LSP (12.7 Кб, 114 просмотров)
Andrey_13 вне форума  
 
Непрочитано 31.05.2016, 23:35
#80
KEHT


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


Цитата:
Сообщение от KEHT Посмотреть сообщение
Таже проблема) игрался лиспом настраивал под себя, добавлял удалял, добавлял удалял видовые экраны и бац стали выключаться, хотя их на листе 5-6. Думаю удаленные ВЭ не чистяться на листе при удалении...

----- добавлено через ~55 мин. -----
(vla-zoomcenter Application (vlax-3d-point (list (/ (+ Point1x Point2x) 2) (/ (+ Point1y Point2y) 2))) 1.0) Ошибка в этой строчке иногда сбивается центровка...
Отвечаю Vetinj и самому себе. Проблема была в двух строчках, Когда рисовался видовой экран, должна была видна быть точка 0,0 (начало координат). Поэтому поправил код так:
Код:
[Выделить все]
;;; Создание группы видовых экранов в одной вкладке листа
(defun C:AVP (/
	      Application
	      ActiveDocument
	      CenterPointViewport
	      FrameHeight
	      FrameWidth
	      LayoutName
	      PaperSpace
	      Point1
	      Point2
	      Point1x
	      Point1y
	      Point2x
	      Point2y
	      Scale
	      Viewport
	      ViewportHeight
	      ViewportWidth	      
		 )
  (vl-load-com) ; Загрузка функций ActiveX
  (setq Application (vlax-get-acad-object) ; Указатель приложения
	ActiveDocument (vla-get-ActiveDocument Application) ; Указатель активного документа
	PaperSpace (vla-get-PaperSpace ActiveDocument) ; Указатель пространства листа
	)
  (if (= (getvar "CTAB") "Model")
    (progn
      (alert "Перейдите в лист назначения.") ; Предупреждение о переходе во вкладку листа
      (quit)
      )
    (setq LayoutName (getvar "CTAB")) ; Сохранение имени листа
    )
  (while T
    (setvar "CTAB" "Model") ; Переход во вкладку модели
    (setq Point1 (getpoint "Первая вершина области")) ; Запрос первой точки области
    (setq Point2 (getcorner Point1 "Вторая вершина области")) ; Запрос второй точки области
    (initget 6) (setq Scale (getreal "Масштаб 1:<1>")) ; Запрос масштаба
    (if (not Scale) (setq Scale 1))
    (setvar "CTAB" LayoutName) ; Переход во вкладку листа
    (setq
      FrameWidth (abs (- (car Point1) (car Point2))) ; Получение ширины рамки
      FrameHight (abs (- (cadr Point1) (cadr Point2))) ; Получение высоты рамки
      ViewportWidth (/ FrameWidth Scale) ; Получение высоты видового экрана
      ViewportHight (/ FrameHight Scale) ; Получение ширины видового экрана
      PaperSpace (vla-get-paperspace ActiveDocument)
      Point1x (car Point1) ; Получение координат из точек
      Point1y (cadr Point1)
      Point2x (car Point2)
      Point2y (cadr Point2)
      )	 
    ;(setq PointViewport (getpoint "Левая нижняя точка видового экрана"))
    (setq CenterPointViewport (list (/ ViewportWidth 2) (/ ViewportHight 2) 0))  ; Преобразование левой нижней точки видового экрана в центральную точку
    (setq Viewport (vla-AddPViewport PaperSpace (vlax-3d-point (getvar "VIEWCTR")) ViewportWidth ViewportHight)) ; Видовой экран
    (vla-display Viewport :vlax-true) ; Включение видового экрана
    (vla-put-mspace ActiveDocument :vlax-true) ; Активизация модели в видовом экране
    (vla-zoomcenter Application (vlax-3d-point (list (/ (+ Point1x Point2x) 2) (/ (+ Point1y Point2y) 2))) 1.0) ; Центровка зума экрана
    (vla-put-mspace ActiveDocument :vlax-false) ; Деактивация пространства модели
    (vla-put-standardscale Viewport acVpCustomScale) ; Установка пользовательского масштаба видового экрана
    (vla-put-DisplayLocked Viewport "-1") ; Блокировка видового экрана
    (vla-put-CustomScale Viewport (/ (float 1) (float Scale))) ; Установка масштаба видового экрана
    (command "._move" (vlax-vla-object->ename Viewport) "" (getvar "VIEWCTR") pause) ; Указание точки вставки видового экрана
    )
  )
Теперь вайпорты не сбиваются
KEHT вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Создание листов и видовых экранов на них

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сбиваются масштабы аннотаций и видовых экранов (из-за размерности юнита ?) Tyhig AutoCAD 9 15.09.2015 15:53
Автоматическое создание Листов (layot) с встроенной рамкой. Ассистент содания Листов. Что я делаю не так? Couleurs du Sud AutoCAD 14 16.06.2015 20:17
Проекции видовых экранов листов в модели (= отображение viewport на layout в model) I.Van AutoCAD 6 02.08.2012 15:31
Содержимое видовых экранов (в ПЛ) плавает при кручении колеса мыши JokerrSergh AutoCAD 29 29.12.2008 13:16