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

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

Создание вкладки листа в неактивном документе по шаблону

Ответ
Поиск в этой теме
Непрочитано 27.04.2016, 08:39 #1
Создание вкладки листа в неактивном документе по шаблону
protorgovec
 
газо- нефтепереработка
 
Уфа
Регистрация: 22.07.2015
Сообщений: 98

Наконец нашел время для новой попытки автоматизировать свою работу. Суть проблемы осталась прежней. Не могу заставить создать в неактивном документе вкладку по шаблону. Обчитался CopyObject, но так и не могу понять. Может кто пропишет как это сделать? Как создать в неактивном документе вкладку листа по шаблону? Очень нужно, но своих мозгов не хватает!

----- добавлено через ~4 ч. -----
Цитата:
Сообщение от protorgovec Посмотреть сообщение
Наконец нашел время для новой попытки автоматизировать свою работу. Суть проблемы осталась прежней. Не могу заставить создать в неактивном документе вкладку по шаблону. Обчитался CopyObject, но так и не могу понять. Может кто пропишет как это сделать? Как создать в неактивном документе вкладку листа по шаблону? Очень нужно, но своих мозгов не хватает!
Хорошо, давайте по другому. За какую сумму кто нибудь из вас готов мне помочь? Прописать этот злополучный CopyObject.
Просмотров: 4341
 
Непрочитано 29.04.2016, 15:07
#2
P_S


 
Регистрация: 09.10.2006
Санкт-Петербург
Сообщений: 99


Если проблема ещё существует:
По-моему, достаточно было внимательно прочитать Help и внимательно отследить формат данных.
Код:
[Выделить все]
 ;Итак, имеем два открытых DBX-документа: odbx - шаблон и odbx1 - файл, куда он будет вставляться
(setq lay(vla-Item(vla-get-Layouts odbx)2); Получаем нужный нам layout - шаблон
;(Item - это так, для примера, можно расписать функцию для выбора нужного)
      lay_obj_copied(car(vlax-safearray->list(vlax-variant-value;вынимаем из возвращаемого методом CopyObjects
					                        ;значения (safearray) vla-object (layout)
(vla-CopyObjects odbx; Откуда копируем
  (vlax-safearray-fill(vlax-make-safearray vlax-vbObject '(0 . 0))(list lay)); Что копируем (safearray)
   (vlax-make-variant (vla-get-Layouts odbx1) vlax-vbObject); Куда копируем (variant); owner скопированого -
                                                            ;коллекция Layouts в целевом файле
  ID); IDPair - они нам не пригодятся
))))
(vla-saveas odbx1 inp_file)
(vlax-release-object odbx1)
(setq odbx1 nil)
(vlax-release-object odbx)
(setq odbx nil)

Последний раз редактировалось P_S, 04.05.2016 в 14:47. Причина: Лишку написал по запарке: после копирования новый layout оказывается в коллекции layouts, и никакого Add не нужно
P_S вне форума  
 
Автор темы   Непрочитано 11.05.2016, 08:10
#3
protorgovec

газо- нефтепереработка
 
Регистрация: 22.07.2015
Уфа
Сообщений: 98


Цитата:
Сообщение от P_S Посмотреть сообщение
Если проблема ещё существует:
По-моему, достаточно было внимательно прочитать Help и внимательно отследить формат данных.
Код:
[Выделить все]
 ;Итак, имеем два открытых DBX-документа: odbx - шаблон и odbx1 - файл, куда он будет вставляться
(setq lay(vla-Item(vla-get-Layouts odbx)2); Получаем нужный нам layout - шаблон
;(Item - это так, для примера, можно расписать функцию для выбора нужного)
      lay_obj_copied(car(vlax-safearray->list(vlax-variant-value;вынимаем из возвращаемого методом CopyObjects
					                        ;значения (safearray) vla-object (layout)
(vla-CopyObjects odbx; Откуда копируем
  (vlax-safearray-fill(vlax-make-safearray vlax-vbObject '(0 . 0))(list lay)); Что копируем (safearray)
   (vlax-make-variant (vla-get-Layouts odbx1) vlax-vbObject); Куда копируем (variant); owner скопированого -
                                                            ;коллекция Layouts в целевом файле
  ID); IDPair - они нам не пригодятся
))))
(vla-saveas odbx1 inp_file)
(vlax-release-object odbx1)
(setq odbx1 nil)
(vlax-release-object odbx)
(setq odbx nil)
Спасибо огромное! Надеюсь разберусь и дальше уже продолжу свое творение. Читал Help, просто наверное я не программист и может поэтому не допедриваю. Для меня язык программирования, только на уровне народного языка, более что то умное в выражениях, и я как в темном лесу может со временем изучу все термины. А пока пишу на уровне прямых примеров и копированием того, что уже сам прописал. Каждую строчку комментирую что непосредственно делает та или иная команда еще раз огромное спасибо!
protorgovec вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Создание вкладки листа в неактивном документе по шаблону

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание листа по шаблону jedi8528 AutoCAD 31 06.06.2019 07:50
Autolisp создать в неактивном документе лист по шаблону protorgovec LISP 5 09.03.2016 10:50
Ошибка масштабирования при вставке нового листа по шаблону Plutos AutoCAD 4 19.09.2015 19:22
Создание разрезов 3D детали в пространстве листа Arrenius AutoCAD 7 12.07.2014 23:41