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

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

Программное создание PlotConfiguration

Ответ
Поиск в этой теме
Непрочитано 17.09.2008, 16:47 #1
Программное создание PlotConfiguration
Sleekka
 
-
 
Москва
Регистрация: 24.07.2005
Сообщений: 1,335

Здравствуйте коллеги, пытаюсь программно создать PlotConfiguration, но чего-то не выходит:
1) сделал дамп (princ)-ом, скопировал из ком.строки, обработал и делаю entmake
вот так:
Код:
[Выделить все]
(entmake
  '((0 . "PLOTSETTINGS")
    (5 . "EF")
    (102 . "{ACAD_REACTORS}")
    (330 . "<Entity name: 7efa1cc8>")
    (102 . "}")
    (330 . "<Entity name: 7efa1cc8>")
    (100 . "AcDbPlotSettings")
    (1 . "Sleekka_RD_A1")
    (2 . "HP DesignJet 500 24_HPGL2 Card.pc3")
    (4 . "User258")
    (40 . 4.99533)
    (41 . 16.9333)
    (42 . 4.9953) 
    (43 . 16.9333)
    (44 . 604.943)
    (45 . 879.856)
    (46 . 0.0)
    (47 . 0.0)
    (48 . -836.0)
    (49 . -5.0)
    (140 . 5.0)
    (141 . 589.0)
    (142 . 1.0)
    (143 . 1.0)
    (70 . 2736)
    (72 . 1)
    (73 . 1)
    (74 . 4)
    (7 . "mono_Sleekka.ctb")
    (75 . 16)
    (147 . 1.0) 
    (76 . 0)
    (77 . 2)
    (78 . 300)
    (148 . 836.0)
    (149 . 5.0)
    )
)
Но не создается, решил создать через vla а потом модифицировать
Код:
[Выделить все]
(vl-load-com)
  (or *kpblc-activedoc*
      (setq *kpblc-activedoc*
       (vla-get-activedocument (vlax-get-acad-object))
      ) ;_ setq
  ) ;_ or

(vla-add (vla-get-plotconfigurations *kpblc-activedoc*) "Sleekka_RD_A1")
(vlax-for ent (vla-get-plotconfigurations *kpblc-activedoc*)
  (princ (setq entiti (vlax-vla-object->ename ent)))
(entmod
  (list
    (cons -1 entiti)
;;;    (cons 0 PLOTSETTINGS)
;;;    (cons 5 EF)
;;;    (cons 102 "{ACAD_REACTORS}")
;;;    (330 . "<Entity name: 7efa1cc8>")
;;;    (102 . "}")
;;;    (330 . "<Entity name: 7efa1cc8>")
;;;    (cons 100 AcDbPlotSettings)
;;;    (cons 1 Sleekka_RD_A1)
;;;    (cons 2 HP DesignJet 500 24_HPGL2 Card.pc3)
;;;    (cons 4 User258)
    (cons 40 4.99533)
    (cons 41 16.9333)
    (cons 42 4.9953) 
    (cons 43 16.9333)
    (cons 44 604.943)
    (cons 45 879.856)
    (cons 46 0.0)
    (cons 47 0.0)
    (cons 48 -836.0)
    (cons 49 -5.0)
    (cons 140 5.0)
    (cons 141 589.0)
    (cons 142 1.0)
    (cons 143 1.0)
    (cons 70 2736)
    (cons 72 1)
    (cons 73 1)
    (cons 74 4)
;;;    (cons 7 mono_Sleekka.ctb)
    (cons 75 16)
    (cons 147 1.0) 
    (cons 76 0)
    (cons 77 2)
    (cons 78 300)
    (cons 148 836.0)
    (cons 149 5.0)
    )
)
)
Но все равно не работает.
Всвязи с этим вопросы:
1) как правильно делать дамп?
2) в чем еще может быть проблема?
Просмотров: 3626
 
Непрочитано 17.09.2008, 20:26
#2
Красин


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


вот это вроде работает:
Код:
[Выделить все]
(setq newps  '((0 . "PLOTSETTINGS")     (100 . "AcDbPlotSettings")(2 . 
"DWG To PDF.pc3")  (40 . 0.0) (41 
. 0.0) (42 . 0.0) (43 . 0.0) (44 . 594.0) (45 . 841.0) (46 . 0.0) (47 . 0.0) 
(48 . 0.0) (49 . 0.0) (140 . 0.0) (141 . 0.0) (142 . 1.0) (143 . 1.0) (70 . 
2736) (72 . 1) (73 . 1) (74 . 5) (7 . "acad.ctb") (75 . 16) (147 . 1.0) (76 . 
0) (77 . 2) (78 . 300) (148 . 0.0) (149 . 0.0) (1 . "pdfA1")));
(setq psdname (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_PLOTSETTINGS")))  )
(setq newpsname (entmakex newps) )
(dictadd psdname "pdfA1" newpsname)
Красин вне форума  
 
Автор темы   Непрочитано 17.09.2008, 20:48
#3
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Спасибо - ваш код не глядел, завтра.
Сам победил вот так вот, если кому надо будет, естественно спасибо kpblc, ShaggyDoc и всем всем...
Код:
[Выделить все]
(defun sl_create_plotconf (/ sl_plt_s ent_list new_plot gg_plot_lla)
  
(or *kpblc-activedoc*
      (setq *kpblc-activedoc*
       (vla-get-activedocument (vlax-get-acad-object))
      ) ;_ setq
  ) ;_ or
  (vla-startundomark *kpblc-activedoc*)
  
  (defun *error* (msg)
  (_kpblc-error-sysvar-restore nil)
  (princ));_defun
  (_kpblc-error-sysvar-save
    (list
           ))
  
(setq sl_plt_s (vlax-vla-object->ename (vla-get-plotconfigurations *kpblc-activedoc*)))
(vlax-for ent (vla-get-plotconfigurations *kpblc-activedoc*)
    (princ "\n")
  (vla-delete ent)
  (princ "\n")
)

  (setq ent_list
  (list

    (cons 0 "PLOTSETTINGS")

    (cons 102 "{ACAD_REACTORS")
    (cons 330  sl_plt_s)
    (cons 102 "}")
    (cons 330  sl_plt_s)
    (cons 100 "AcDbPlotSettings")
    (cons 1 "Sleekka_RD_A1")
    (cons 2 "HP DesignJet 500 24_HPGL2 Card.pc3")
    (cons 4 "User258")
    (cons 40 4.99533)
    (cons 41 16.9333)
    (cons 42 4.9953) 
    (cons 43 16.9333)
    (cons 44 604.943)
    (cons 45 879.856)
    (cons 46 0.0)
    (cons 47 0.0)
    (cons 48 -836.0)
    (cons 49 -5.0)
    (cons 140 5.0)
    (cons 141 589.0)
    (cons 142 1.0)
    (cons 143 1.0)
    (cons 70 2736)
    (cons 72 1)
    (cons 73 1)
    (cons 74 4)
    (cons 7 "mono_Sleekka.ctb")
    (cons 75 16)
    (cons 147 1.0) 
    (cons 76 0)
    (cons 77 2)
    (cons 78 300)
    (cons 148 836.0)
    (cons 149 5.0)
    )
)

(setq new_plot (entmakex ent_list))

  (setq gg_plot_lla (vla-add (vla-get-plotconfigurations *kpblc-activedoc*) "gg"))
  (vla-copyfrom gg_plot_lla (vlax-ename->vla-object new_plot))

  (_kpblc-error-sysvar-restore nil)
  (vla-endundomark *kpblc-activedoc*)
  (princ)
  )
(sl_create_plotconf)
Замечания приму с благодарностью.
Sleekka вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное создание PlotConfiguration

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программное создание размерных стилей Кулик Алексей aka kpblc Программирование 89 08.04.2013 12:59
NanoСПДС gest Другие CAD системы 401 15.07.2008 14:50
Программное создание vport`ов Ax3 Программирование 10 29.08.2007 16:02
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17