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

Вернуться   Форум 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 Кб, 4865 просмотров)
Тип файла: lsp AddLay.LSP (12.6 Кб, 5750 просмотров)


Последний раз редактировалось Andrey_13, 28.02.2018 в 21:17. Причина: Добавление ссылки на альтернативную версию программы.
Просмотров: 241899
 
Автор темы   Непрочитано 28.08.2015, 12:15
#41
Andrey_13

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


Цитата:
Сообщение от freese Посмотреть сообщение
Andrey_13, можно ли чтобы видовые экраны, после создания листов, были заблокированы?
Цитата:
Сообщение от perpetule Посмотреть сообщение
Не надо превращать лисп в монстра, посмотрите на последний Office.
Это одна строка кода. Так да или нет?
Цитата:
Сообщение от perpetule Посмотреть сообщение
Замечательно работает, но исчез запрос масштаба ВЭ, ранее был запрос масштаба создаваемых ВЭ, или я путаю с AVP.lsp ?
В AddLay ввода масштаба изначально не было.
Цитата:
Сообщение от perpetule Посмотреть сообщение
Масштаб создаваемых ВЭ можно сделать и с уменьшением/увеличением, а не только 1:1
Сделано.
Andrey_13 вне форума  
 
Непрочитано 28.08.2015, 12:32 Andrey_13
#42
perpetule


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


Цитата:
Сделано
Спасибо!

По AddLay.LSP и масштабу имелись ввиду те извращенцы которые увеличивают штамп и форматку раз в 50 или 100.

С чужими чертежами рано или поздно приходится всем сталкиваться, когда срочно надоть выдать.
__________________
tc71
perpetule вне форума  
 
Автор темы   Непрочитано 28.08.2015, 12:43
#43
Andrey_13

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
С чужими чертежами рано или поздно приходится всем сталкиваться, когда срочно надоть выдать.
Гадость. Чужие чертежи для меня это как чужой зубной щёткой пользоваться.
Цитата:
Сообщение от perpetule Посмотреть сообщение
По AddLay.LSP и масштабу имелись ввиду те извращенцы которые увеличивают штамп и форматку раз в 50 или 100.
Давайте чуть позже.
Andrey_13 вне форума  
 
Непрочитано 28.08.2015, 15:03
#44
freese

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


Цитата:
Сообщение от Andrey_13 Посмотреть сообщение
Это одна строка кода. Так да или нет?
да
freese вне форума  
 
Автор темы   Непрочитано 28.08.2015, 20:42
#45
Andrey_13

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


Обновление AddLay.lsp. Предусмотрено блокирование ВЭ и ввод масштаба создаваемых ВЭ.
---
Исправлено "вылетание" программы при пустом выборе объекта для определения слоя с форматами.

----- добавлено через ~23 ч. -----
Вопросы/пожелания ещё есть?

Последний раз редактировалось Andrey_13, 28.08.2015 в 21:07.
Andrey_13 вне форума  
 
Непрочитано 29.08.2015, 21:39
#46
perpetule


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


Andrey_13
AddLay.LSP
На насыщенном чертеже (около 30 форматок) отказалась работать - создает 1 вкладку листа без ВЭ и все.
После удаления всего кроме форматок нормально отработала.
У bargool я лишь изредка пользовался автоопределением (bargLFBL от bargool), как правило рамками обкруживал, так надежней.
Дело в том что иногда попадаются странные объекты на тех же съемках (подосновах).
Переделывать видимо не надо, пусть народ еще потестит в понедельник.
А вот вариант (другая команда вызова и другой/тот-же лисп) с ручным указанием каждой рамки (аналог LFM от bargool) не помешал бы.

P.S. AddLay.LSP
Как вариант решения сработал такой вариант - на том же капризном файле выключил и заморозил все слои кроме слоя форматок,
лисп отработал как на вычищенном файле. Насколько я разбираюсь, могу предложить такой алгоритм:
- запуск лиспа;
- запросы лиспа;
- запомнить состояние слоев;
- заморозить-и-выключить все слои кроме слоя форматок;
- выполнить лисп;
- вернуть состояние слоев.

Кроме того такой подход должен положительно сказаться на скорости обработки тяжелых файлов.

P.P.S. За Avp.lsp огромное спасибо, теперь в том числе есть масштабы увеличения (1:0.5), и проверка на неверные действия пользователя.
__________________
tc71

Последний раз редактировалось perpetule, 29.08.2015 в 22:20.
perpetule вне форума  
 
Автор темы   Непрочитано 30.08.2015, 14:31
#47
Andrey_13

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


Это наверняка проблема файла, а не проблема программы, и решать её нужно другими средствами.
См. ЛС.

Последний раз редактировалось Andrey_13, 30.08.2015 в 14:42.
Andrey_13 вне форума  
 
Непрочитано 31.08.2015, 15:00
#48
Vetinj


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


Andrey_13 возможно ли добавить в AVP.lsp функцию при котором будет показываться силуэт видового экрана при вставки на лист( пример Af.lsp) и привязка будет осуществляться за левый верхний угол + добавить блокирование ВЭ.
Vetinj вне форума  
 
Непрочитано 31.08.2015, 15:12 Vetinj
#49
perpetule


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


По AVP.lsp

Условие 1 делает спорным условие 2, в Af.lsp за НЛУ ВЭ привязывается, т.к. по умолчанию настройки печати (лист) пляшут как раз от нижнего левого угла вкладки листа.


1.
Цитата:
при котором будет показываться силуэт видового экрана при вставке на лист
2.
Цитата:
привязка будет осуществляться за левый верхний угол
3.
Цитата:
+ добавить блокирование ВЭ
P.S.
Условие 1 - красивое решение, но по возможности без показа содержимого ВЭ (только границы), т.к. динамическое отображение содержимого ВЭ вызывает сильные тормоза/лаги при вставке ВЭ.
Настройка печати "лист" вкладки листа, также участвует в функции подшивки - печатать без учета параметров листа, и является предпочтительной при оформлении через вкладки листов.

Упс. поправил
Условие 1 - поддерживаю в список пожеланий, с указанной оговоркой.
Условие 2 - не могу поддержать, причины указаны.
Условие 3 - поддерживаю в список пожеланий.
__________________
tc71

Последний раз редактировалось perpetule, 31.08.2015 в 15:55.
perpetule вне форума  
 
Непрочитано 31.08.2015, 15:17
#50
kacugu

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


Прикладываю проблемный файл.
При указании масштаба 1:1 лисп обрабатывает только 1 рамку. Выполнение лиспа прекращается после создания 1го видового экрана с ошибкой "Ошибка Automation. Неверный ввод".
При указании других масштабов - обрабатывает все рамки, но не устанавливает параметры листа для печати.
Вложения
Тип файла: dwg
DWG 2013
Тест.dwg (34.8 Кб, 1379 просмотров)
kacugu вне форума  
 
Непрочитано 31.08.2015, 15:52 Andrey_13
#51
perpetule


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


Попутно по AddLay.lsp

1. При подтверждении удалять листы, исчезает запрос первого номера создаваемых вкладок.
2. При указании в качестве источника слоя блока часто/но-не-всегда- пишет
; ошибка: неверный тип аргумента: lselsetp nil
, при указании полилиниий - все Ок.
__________________
tc71
perpetule вне форума  
 
Непрочитано 31.08.2015, 16:07
#52
Vetinj


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


perpetule У меня в организации чертежи распечатывают специально обученные люди и поэтому вкладка лист не привязана к плоттеру печати. Во вкладку лист я копирую форматку и через ВЭ формирую чертеж. Т.к. лист начинаю формировать с левого верхнего угла, то при вставки ВЭ за нижний угол да еще без границ ВЭ, очень не удобно расставлять ВЭ по чертежу. Если сложно описать в коде, давайте оставим что-то одно либо ЛВУ либо границы.
Vetinj вне форума  
 
Непрочитано 31.08.2015, 16:35 Vetinj -- Andrey_13 -- для всех
#53
perpetule


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


Vetinj
по AVP.lsp
Поддерживаю границы, и блокировку ВЭ.
Привязку ЛВУ - не поддерживаю, лучше оставить как есть НЛУ.
Цитата:
что-то одно либо ЛВУ либо границы
Andrey_13
по AddLay.lsp
Подтверждаю kacugu прикладываю файл с его и своими форматками,
проблема возникает именно при масштабе 1:1 колл-во созданных ВЭ или один или меньше выбранной области (иногда 5-6 вместо 14).

Проблем не вызывают масштабы
1:0.95
1:1.05

Ведут себя также как и 1:1
1:0.99
1:1.01

P.S. Была попытка отследить проблемы в устройстве блоков, имени слоя и т.п.
У программы bargool вызывали проблемы блоки с объектами вне рамки, пусть даже и скрытые через видимость, несмотря на то что платформы программирования разные, на уровне ядра механизм определения ВЭ видимо один и тот же.

Во вложении файл верно отработанный программой bargool , с двумя блоками форматок,
проблемы AddLay.lsp описаны выше.

Еще раз повторюсь, все на автомате это хорошо конечно, но и вариант
с ручным указанием каждой рамки (аналог LFM от bargool) не помешал бы.
Кроме того не все и не всегда листы располагают по полочкам (слева направо, сверху вниз), ручное указание порядка следования форматок было бы не лишним (как вариант).

для всех
Выкладываю архив с набором параметров листа (НПЛ) всех форматов по ГОСТ 2.301-68
1) _QNEW_DWFx ePlot (XPS Compatible)_1_005_.dwt

и файлами виртуального принтера под этот файл (переписать в ось с заменой), все поля выставлены в 0.
2) DWFx ePlot (XPS Compatible).pc3
3) DWFx ePlot (XPS Compatible).pmp

Пояснения к 3) ,см. скриншот. (подключить *.pmp к *.pc3)
- ctrl+P
- DWFx ePlot (XPS Compatible).pc3 - Свойства
- правая вкладка, нестандартные форматы и калибровка, имя pmp, подключить.

Данный архив позволяет через публикацию-dwg или публикацию подшивки-dst печатать вкладки листов в DWF либо DWFx либо PDF, не меняя НПЛ вкладки листа.
Файл DWF либо DWFx далее позволяет печатать на физический принтер.
Тема большая, кому интересно, изучаем самостоятельно.
Миниатюры
Нажмите на изображение для увеличения
Название: 2015-08-31_17h06_33.png
Просмотров: 275
Размер:	23.4 Кб
ID:	156024  
Вложения
Тип файла: dwg
DWG 2010
Тест8 - копия.dwg (147.6 Кб, 1320 просмотров)
Тип файла: zip Комплект-файлов-для-НПЛ-PDF-DWF-DWFx----.zip (117.2 Кб, 138 просмотров)
__________________
tc71

Последний раз редактировалось perpetule, 31.08.2015 в 19:46.
perpetule вне форума  
 
Непрочитано 31.08.2015, 17:40
1 | #54
kacugu

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


Всё оказалось просто. В строке
Код:
[Выделить все]
 ((and (> Square 474012) (< Square 523908)) (vla-put-ConfigName Layout "DWG To PDF.pc3") (vla-put-CanonicalMediaName Layout "ISO_full_bleed_A1_(840.00_x_594.00_MM)"))
нужно исправить 840 на 841
kacugu вне форума  
 
Автор темы   Непрочитано 31.08.2015, 20:23
#55
Andrey_13

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
1. При подтверждении удалять листы, исчезает запрос первого номера создаваемых вкладок.
Его изначально не было. Сделано.
Цитата:
Сообщение от perpetule Посмотреть сообщение
Кроме того не все и не всегда листы располагают по полочкам (слева направо, сверху вниз)
Это наиболее приемлемый и естественный порядок. Приняв ваше предложение, потом начнётся: "Давайте учтём интересы тех пользователей, кто чертит в зеркальном отражении/с похмелья/чтобы программа сама проект сделала и т.п."
Цитата:
Сообщение от Vetinj Посмотреть сообщение
добавить блокирование ВЭ
Блокирование добавлено.
Цитата:
Сообщение от perpetule Посмотреть сообщение
Поддерживаю границы, и блокировку ВЭ.
Привязку ЛВУ - не поддерживаю, лучше оставить как есть НЛУ.
Цитата:
что-то одно либо ЛВУ либо границы
Сделан показ границ.
Цитата:
Сообщение от kacugu Посмотреть сообщение
нужно исправить 840 на 841
Исправлено.
Цитата:
Сообщение от perpetule Посмотреть сообщение
2. При указании в качестве источника слоя блока часто/но-не-всегда- пишет
Исправлено.
Andrey_13 вне форума  
 
Непрочитано 01.09.2015, 09:15 Andrey_13
#56
perpetule


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


Цитата:
Это наиболее приемлемый и естественный порядок. Приняв ваше предложение, потом начнётся: "Давайте учтём интересы тех пользователей, кто чертит в зеркальном отражении/с похмелья/чтобы программа сама проект сделала и т.п."
Имелось ввиду не арабское письмо(используется для письма справа налево) или иные лишние запросы в AddLay.LSP, а другая команда - алгоритм похожий на алгоритм из поста#7.

По шагам.
0. Переход во вкладку модели.
1. Указание масштаба (в идеале как у bargool, длиной штампа, т.е. 1:1 = 185 мм).
2. Указание слоя рамок.
3. Выделение рамок в произвольном порядке (каждой по диагональным точкам, либо для блоков-рамок указанием каждого такого блока).
....
N+1. Создание вкладок листов , в том порядке в каком они были указаны п.3 ... N, (в идеале с назначением любого формата по ГОСТ 2.301-68 имеющегося в НПЛ файла dwg, для упрощения будем считать что есть отдельные НПЛ для горизонтальной и вертикальной ориентации форматки, импорт-из-другог-файла-НПЛ-нежелателен, т.к. ведет к усложнению запросов лиспа).
N+2. Выполнение команды _zoom _All для каждой вкладки листа.
N+3. Переход в модель.

P.S. Я понимаю, что - "а оно мне надо", но программа bargool развивалась пару лет точно, вы же за неделю набросали два рабочих лиспа, до которых штатные программеры автодеска до сих пор не доросли, кол-во запросов для создания вкладки листа штатными методами превышает все разумные пределы.

P.P.S. Для чего все сказанное выше, при компоновке сырого проекта All-in-One во вкладке модели-dwg, важно не терять визуального контакта с собираемыми листами (л.N), страницами (стр.N), надписями в штампах, перекрестными ссылками на листы, и т.п..
В альтернативе же, по завершению компоновки автоматом - лазить по вкладкам листов, отлавливая мелкие нестыковки - ну очень долго и утомительно.

P.P.P.S По п. N+1. Виртуальный принтер может быть и
DWG to PDF.pc3
правда в последних локализованных версиях он зовется
DWG в PDF.pc3
(есть готовый комплект подобный #53 посту, только НПЛ/dwg еще надо набросать).

P.P.P.P.S Никто и не просит начинать программить сказанное выше немедленно, сам базовый AddLay.lsp еще требует доводки (назначение всех верт/гор. форматов из ГОСТ 2.301-68, а не только основных), хотя даже это уже несущественно, требуется всего лишь один дополнительный ручной заход на вкладку листа и ручное назначение из готового НПЛ файла-dwg на любой принтер по вкусу пользователя. Кол-во запросов AddLay.lsp просто поражает здоровым минимализмом.

P.P.P.P.P.S
И наконец по текущей версии AddLay.lsp
во вложении стрелками в модели показан порядок создания вкладок листов при отработке лиспа, используются два блока форматок, мой и kacugu, он немного не соответствует заявленому слева направо, сверху вниз, или я чего-то не понимаю?

В шапке темы
Цитата:
Обновление (от поздних к ранним):
не соответствует истории изменений, последние записываются ниже.
Вложения
Тип файла: dwg
DWG 2010
Тест9 - порядок создания вкладок листов.dwg (200.8 Кб, 1096 просмотров)
__________________
tc71

Последний раз редактировалось perpetule, 01.09.2015 в 19:33.
perpetule вне форума  
 
Непрочитано 01.09.2015, 12:07
#57
Vetinj


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


Andrey_13 Спасибо за оперативное изменение AVP.lsp. Удобнее стало работать с ВЭ
Vetinj вне форума  
 
Автор темы   Непрочитано 01.09.2015, 20:26
#58
Andrey_13

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


Цитата:
Сообщение от perpetule Посмотреть сообщение
Имелось ввиду не арабское письмо(используется для письма справа налево) или иные лишние запросы в AddLay.LSP, а другая команда - алгоритм похожий на алгоритм из поста#7.
Может быть когда-нибудь.
Цитата:
Сообщение от perpetule Посмотреть сообщение
N+2. Выполнение команды _zoom _All для каждой вкладки листа.
Добавлено.
Цитата:
Сообщение от perpetule Посмотреть сообщение
P.P.P.P.S Никто и не просит начинать программить сказанное выше немедленно, сам базовый AddLay.lsp еще требует доводки (назначение всех верт/гор. форматов из ГОСТ 2.301-68, а не только основных), хотя даже это уже несущественно, требуется всего лишь один дополнительный ручной заход на вкладку листа и ручное назначение из готового НПЛ файла-dwg на любой принтер по вкусу пользователя.
Для работы с НПЛ без захода в каждую вкладку я пользовался этим http://forum.dwg.ru/showthread.php?t=16792
Цитата:
Сообщение от perpetule Посмотреть сообщение
во вложении стрелками в модели показан порядок создания вкладок листов при отработке лиспа, используются два блока форматок, мой и kacugu, он немного не соответствует заявленому слева направо, сверху вниз, или я чего-то не понимаю?
Вывод слева направо или сверху вниз будет только тогда, когда листы в модели расположены тоже слева направо или сверху вниз. Программа не настолько умна, чтобы "читать" листы в модели в несколько строк.
Цитата:
Сообщение от perpetule Посмотреть сообщение
не соответствует истории изменений, последние записываются ниже.
Исправлено.
Цитата:
Сообщение от perpetule Посмотреть сообщение
Кол-во запросов AddLay.lsp просто поражает здоровым минимализмом.
Минимализм - моя крайность.
-----
Обратите внимание: изменена команда вызова программы.
Andrey_13 вне форума  
 
Непрочитано 02.09.2015, 08:47 Andrey_13
#59
perpetule


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


AddLay.lsp

Цитата:
Вывод слева направо или сверху вниз будет только тогда, когда листы в модели расположены тоже слева направо или сверху вниз. Программа не настолько умна, чтобы "читать" листы в модели в несколько строк.
Пожелание, в шапку-описание отредактировать/добавить следущее:
"Лисп пока может адекватно распознать форматки и пронумеровать ВЭ по порядку следования в одну строку или в один столбец (либо слева направо, либо сверху вниз").
При расположении форматок матрицей - ВЭ будут созданы, но нумерация вкладок потеряет упорядоченность.
__________________
tc71
perpetule вне форума  
 
Автор темы   Непрочитано 02.09.2015, 08:55
#60
Andrey_13

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


Подправлено.
Andrey_13 вне форума  
Ответ
Вернуться   Форум 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