dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Мгновенное создание листов на основе шаблона

Мгновенное создание листов на основе шаблона

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 04.10.2017, 19:30 #1
Мгновенное создание листов на основе шаблона
BithSachs
 
Регистрация: 26.08.2017
Сообщений: 14

BithSachs вне форума Вставить имя

Нужен лисп, или макрос, или ещё что-нибудь, что позволяло бы мгновенно создавать лист на основе шаблона: набираешь команду и создается лист на основе шаблона минуя все диалоговые окна.
(Ну или хотя бы мгновенное открытие диалогового окна "Вставка листов" определенного шаблона)
Просмотров: 1156
 
Непрочитано 04.10.2017, 20:35
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 1,440


А чем не устраивает штатные средства создания листов по шаблону?
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 04.10.2017, 21:20
#3
BithSachs


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


Относительно долго. Особенно, когда нужно создавать много разных листов.
А так набрал на клаве, допустим, "А2", и получаешь сразу лист А2
BithSachs вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.10.2017, 21:55
#4
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 129


Такое впечатление, что BithSachs не умеет сам создавать Листы и настраивать их. Смутное представление имеет.
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.10.2017, 22:02
#5
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 3,876


Цитата:
Сообщение от BithSachs Посмотреть сообщение
А так набрал на клаве, допустим, "А2", и получаешь сразу лист А2
Код:
[Выделить все]
 (defun c:A2(/)
  (command .... )
)
как то так) Насколько помню - у команды создания слоев листов есть консольная версия, не помню только - как в английской версии будет <Лист по шаблону>. А так даже с диалогом делал в свое время.

Последний раз редактировалось Сергей812, 04.10.2017 в 23:01.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.10.2017, 22:56
1 | #6
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,542
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
А так набрал на клаве, допустим, "А2", и получаешь сразу лист А2
Код:
[Выделить все]
(defun C:A2 ()(from_dwt "A2"))
(defun from_dwt ( format / pat dwt)
(setq pat "МойШаблон.dwt")
(if (setq dwt (findfile pat))
  (if command-s
      (command-s "_.LAYOUT"
	       "_T"
	       dwt
	       format ;_ Имя листа в шаблоне
      ) ;_ end of command
  (command "_.LAYOUT"
	       "_T"
	       dwt
	       format ;_ Имя листа в шаблоне
      ) ;_ end of command
    )
  (alert
    (strcat "Шаблон " pat "\nне найден")
    )
)
(princ)
)
1. Файл "МойШаблон.dwt" должен находится в путях поиска
2. В файле шаблона "МойШаблон.dwt" должен быть лист с именем "А2"
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 05.10.2017 в 08:13. Причина: Добавил команду A2
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 05.10.2017, 00:42
#7
BithSachs


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


VVA, сделал все как Вы написали - не получается. Я так понимаю, лисп вызывается командой "А2"?
BithSachs вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 05.10.2017, 00:59
#8
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 3,876


объедините посты №5 и №6) Где у меня строка 2, там код от VVA. Не лишним будет и локальные переменные (/ pat dwt) объявить в первой строке.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 05.10.2017, 08:12
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,542
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


BithSachs, Обновил #6
Клепай по аналогии с A2 другие команды. Только не забывай добавлять в шаблон листы
Код:
[Выделить все]
(defun C:A2x3 ()(from_dwt "A2x3"))
PS Писал на коленке, вроде нигде не накосячил
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 05.10.2017, 21:23
#10
BithSachs


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


VVA, Спасибо
После сообщения Сергея, понял, что было бы целесообразнее сделать это через диалог, чтобы потом просто при изменении файла шаблона или наименования листа клепать макрокоманды.
Навскидку - это сложно было бы сделать?
BithSachs вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.10.2017, 01:34
#11
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 3,876


Цитата:
Сообщение от BithSachs Посмотреть сообщение
просто при изменении файла шаблона или наименования листа клепать макрокоманды.
Тогда уж делаете один файл шаблона - один лист, и имя файла шаблона совпадает с именем листа в нем. Затем vl-directory-files собирается список этих файлов шаблонов, отсекается расширение и заполняется выпадающий список DCL диалога. При этом лисп вообще не придется трогать при правке шаблонов.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.10.2017, 09:45
#12
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,542
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Есть хорошая программа от Lee Mac'a Steal from Drawing
Можно взять готовые функции и склепать свою команду (в файле - MySteal)
В переменной tmp задай шаблон. Остальное через диалог
Цитата:
(defun c:MySteal ( / pth tmp dbdoc lst)
(setq tmp "Форматы МИП 2006.dwt") ;_Задать шаблон
;_ Шаблон должен находится в путях поддержки
(if (setq pth (findfile tmp))
(progn
(setq lst nil dbdoc (steal:getdocumentobject pth))
(vlax-for item (vla-get-layouts dbdoc)
(setq lst (cons (vla-get-name item) lst))
)
(setq lst (vl-remove "Model" lst))
(if (and (= 'vla-object (type dbdoc)) (not (vlax-object-released-p dbdoc)))
(vlax-release-object dbdoc)
)
(if (setq item (steal:listbox "Выберите лист для импорта" lst))
(Steal pth (list(list "Layouts" item)))
)
(vla-regen (vla-get-activedocument (vlax-get-acad-object)) acallviewports)
)
(alert
(strcat "Шаблон " tmp "\nне найден")
)
)
(princ)
)
Вложения
Тип файла: zip StealV1-8_VVA.zip (11.7 Кб, 3 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 06.10.2017, 13:21
#13
BithSachs


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


Спасибо за помощь! Обязательно попробую.
BithSachs вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 06.10.2017, 13:47
#14
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 426


LISP Steal from Drawing очень хорош и я им давно пользуюсь для вставки новых настроек и шаблонов в текущий файл. Но есть маленькое но.
Если слой с таким именем уже существует, то его уже не вставить. Придется только копировать.
AlexCondor на форуме вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Мгновенное создание листов на основе шаблона

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочивание вкладок (листов) Малюк AutoCAD 15 18.11.2015 17:03
Автоматическое создание Листов (layot) с встроенной рамкой. Ассистент содания Листов. Что я делаю не так? Couleurs du Sud AutoCAD 14 16.06.2015 20:17
Проблема с печатью настроенных листов (одного шаблона) с разных компов на один сетевой плоттер Таньга AutoCAD 40 21.02.2015 21:31
создание чертежа на основе твердотельной модели Avershinin AutoCAD 20 16.11.2010 13:14
Создание 3D поверхности на основе оцифрованного растрового изображения Ubivec81 AutoCAD 7 13.04.2010 08:56

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы