gruzin Opublikowano 15 Kwietnia 2016 Zgłoś Opublikowano 15 Kwietnia 2016 jak dodać LISPEM wielolinie odniesienia w Zwcadzie prubuję jakoś tak ale sie nie da Command: (setq *doc* (vla-get-activedocument (vlax-get-acad-object)))#<VLA-OBJECT IZcadDocument 0438d660>Command: (setq mldrdict (vla-item (vla-get-dictionaries *doc*)"ACAD_MLEADERSTYLE")) #<VLA-OBJECT IZcadDictionary 0f509abc>Command: (setq newldrstyle (vlax-invoke mldrdict 'addobject "Arrow_Mleader""AcDbMLeaderStyle")) ; error: Wystąpił wyjątek tutaj cały przykład: http://forums.autodesk.com/t5/autocad-2007-2008-2009/loading-multileader-style/td-p/2248691
kojacek Opublikowano 16 Kwietnia 2016 Zgłoś Opublikowano 16 Kwietnia 2016 Obawiam się że się nie da. Dla twoich wywołań (bez ostatniego) sprawdź: (entget (vlax-vla-object->ename (vla-item mldrdict 0))) Wywołanie to zwraca coś podobnego do tego: ((-1 . <Entity name: 94c8760>) (0 . "ACAD_PROXY_OBJECT") (5 . "E1") (102 . "{ACAD_REACTORS") (330 . <Entity name: 94c8870>) (102 . "}") (100 . "AcDbMLeaderStyle") (90 . 499.000) (91 . 0.000000) (95 . 0.000000) (70 . 0) (94 . 0.000000)) W AutoCAD-zie to samo wywołanie zwraca: ((-1 . <Nazwa elementu: 7ff663004ce0>) (0 . "MLEADERSTYLE") (5 . "25E") (102 . "{ACAD_REACTORS") (330 . <Nazwa elementu: 7ff663004150>) (102 . "}") (330 . <Nazwa elementu: 7ff663004150>) (100 . "AcDbMLeaderStyle") (179 . 2) (170 . 2) (171 . 1) (172 . 0) (90 . 2) (40 . 0.0) (41 . 0.0) (173 . 1) (91 . -1073741824) (340 . <Nazwa elementu: 0>) (92 . -2) (290 . 1) (42 . 0.4) (291 . 1) (43 . 2.0) (3 . "") (341 . <Nazwa elementu: 0>) (44 . 0.18) (300 . "") (342 . <Nazwa elementu: 0>) (174 . 7) (178 . 6) (175 . 0) (176 . 0) (93 . -1073741824) (45 . 0.2) (292 . 0) (297 . 0) (46 . 5.0) (343 . <Nazwa elementu: 0>) (94 . -1073741824) (47 . 1.0) (49 . 1.0) (140 . 1.0) (293 . 1) (141 . 0.0) (294 . 1) (177 . 0) (142 . 1.0) (295 . 0) (296 . 0) (143 . 0.125) (271 . 0) (272 . 9) (273 . 9) (298 . 1)) Wynika z tego że w ZwCAD-zie, nie ma obiektu typu "MLEADERSTYLE". Obsługuje go uniwersalny obiekt zastępczy "ACAD_PROXY_OBJECT". Domyślam się zatem że ZwCAD obłuży z LISP-a style wielolinii, za jakiś czas dopiero (wątpię czy będzie to 2017).
gruzin Opublikowano 17 Kwietnia 2016 Autor Zgłoś Opublikowano 17 Kwietnia 2016 W Zwcadzie 2015+ zwróciło mi prawie to samo co w Autocadzie: ((-1 . <Entity name: -170fb8>) (0 . "MLEADERSTYLE") (5 . "E1") (102 . "{ACAD_REACTORS") (330 . <Entity name: -170fd0>) (102 . "}") (330 . <Entity name: -170fd0>) (100 . "AcDbMLeaderStyle") (179 . 2) (170 . 2) (171 . 1) (172 . 0) (90 . 2) (40 . 0.0) (41 . 0.0) (173 . 1) (91 . -1056964608) (340 . <Entity name: -172360>) (92 . -2) (290 . 1) (42 . 2.0) (291 . 1) (43 . 8.0) (3 . "Standard") (341 . <Entity name: 0>) (44 . 4.0) (300 . "") (342 . <Entity name: -172378>) (174 . 1) (178 . 1) (175 . 1) (176 . 0) (93 . -1056964608) (45 . 4.0) (292 . 0) (297 . 0) (46 . 0.18) (343 . <Entity name: 0>) (94 . -1056964608) (47 . 1.0) (49 . 1.0) (140 . 1.0) (293 . 1) (141 . 0.0) (294 . 1) (177 . 0) (142 . 1.0) (295 . 0) (296 . 0) (143 . 3.75) (271 . 0) (272 . 9) (273 . 9) (298 . 0)) Jest może w miarę prosty sposób na dodanie stylów wielolinii do pliku dwg. Chciałbym dodać przykładowo takie style jak w załączonym pliku (chciałbym uniknąć wstawiania tego pliku jako blok i potem usuwania go). MLEADERSTYLE.dwg
kruszynski Opublikowano 18 Kwietnia 2016 Zgłoś Opublikowano 18 Kwietnia 2016 W ZWCAD+ 2015 można utworzyć styl multilinii korzystając z funkcji entmakex: (defun AddMLeaderStyle ( stylename data / dict item ) (cond ( (not (setq dict (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_MLEADERSTYLE"))))) nil ) ( (setq item (dictsearch dict stylename)) (entmod (cons (assoc -1 item) data)) ) ( (setq item (entmakex data)) (dictadd dict stylename item) ) ) ) (AddMLeaderStyle "test" '( (0 . "MLEADERSTYLE") (100 . "AcDbMLeaderStyle") (179 . 2) (170 . 2) (171 . 1) (172 . 0) (90 . 2) (40 . 0.0) (41 . 0.0) (173 . 1) (91 . -1023410173) (92 . -2) (290 . 1) (42 . 1.0) (291 . 1) (43 . 1.0) (3 . "Standard") (44 . 1.0) (300 . "") (174 . 1) (178 . 1) (175 . 1) (176 . 0) (93 . -1073741824) (45 . 1.0) (292 . 0) (297 . 0) (46 . 0.18) (94 . -1056964608) (47 . 1.0) (49 . 1.0) (140 . 1.0) (293 . 1) (141 . 0.0) (294 . 1) (177 . 0) (142 . 1.0) (295 . 0) (296 . 0) (143 . 1.0) (271 . 0) (272 . 9) (273 . 9) ) ) Znaczenie poszczególnych kodów DXF opisane jest np tutaj:http://help.autodesk.com/view/ACD/2016/ENU/?guid=GUID-0E489B69-17A4-4439-8505-9DCE032100B4 Postaram się dowiedzieć jak dodać style w ZWCAD Classic i jakie są plany odnośnie ZWCAD 2017 AddMLeaderStyle.lsp gruzin 1
gruzin Opublikowano 18 Kwietnia 2016 Autor Zgłoś Opublikowano 18 Kwietnia 2016 OK. Entmakex też może być. Dziękuję
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się