| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Import Layer aus Fremd-dwg über Lisp (1318 mal gelesen)
|
CADblue Mitglied
Beiträge: 117 Registriert: 20.07.2011 ACAD18,Linear19
|
erstellt am: 25. Jun. 2012 14:48 <-- editieren / zitieren --> Unities abgeben:
Hi Leute!!! Wie kann ich z.b. Layer aus einer anderen .dwg in die aktuelle importieren. So wie z.b. im Designmanager. Ich habe im Prinzip eine Musterdatei in der alle wichtigen informationen wie blöcke, layer, ... schon drin sind. Wie kann ich mir jetzt per Lisp z.b. einen block oder layer importieren? Gibt es da eine vlax oder vla oder so was? oder wie könnte ich es sonst anstellen? mfg blue Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 25. Jun. 2012 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für CADblue
warum speicherst du deine Vorlage nich als dwt-vorlage ab. Und lädst sie immer dann wenn du auf den Button "Datei neu" klickst. Da hast du alles Layer, Linien- Textstyles, Blöcke usw. in deiner aktuellen Zeichnung. ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADblue Mitglied
Beiträge: 117 Registriert: 20.07.2011 ACAD18,Linear19
|
erstellt am: 25. Jun. 2012 15:28 <-- editieren / zitieren --> Unities abgeben:
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 25. Jun. 2012 15:33 <-- editieren / zitieren --> Unities abgeben: Nur für CADblue
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 25. Jun. 2012 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für CADblue
Sorry gleich gepostet, leg doch deine blöcke bspw. unter c:\meine Blöcke\ und dann trägst du den Suchpfad zusätzlich in deine Optionen ein. Wie man allerding aus einer bestehenden dwg. Layer und Blöcke rausziehen kann, weiss ich nicht bzw. müsste ich ein wenig überlegen. ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 25. Jun. 2012 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für CADblue
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 25. Jun. 2012 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für CADblue
|
CADblue Mitglied
Beiträge: 117 Registriert: 20.07.2011 ACAD18,Linear19
|
erstellt am: 25. Jun. 2012 17:17 <-- editieren / zitieren --> Unities abgeben:
jo danke so weit euch beiden hab bisschen geforstet und das hier gefunden, Code: (defun c:hollayer (/ oAcad oCurDoc strFile oOpenDoc oOpenDocLayers lstObj oLayer array) (setq oAcad (vlax-get-acad-object)) (setq oCurDoc (vla-get-ActiveDocument oAcad)) (setq strFile (getfiled "Zeichnung wählen:" (getvar "DWGPREFIX") "dwg" 0)) (setq oOpenDoc (vla-Open (vla-get-documents oAcad) strFile)) (setq oOpenDocLayers (vla-get-layers oOpenDoc)) (setq lstObj nil) (vlax-for oLayer oOpenDocLayers (setq lstObj (cons oLayer lstObj))) (setq array (vlax-make-safearray vlax-vbObject (cons 0 (1- (length lstObj))))) (vlax-safearray-fill array lstObj) (vla-CopyObjects oOpenDoc (vlax-make-variant array) (vla-get-Layers oCurDoc)) (princ) ); c:hollayer
funktioniert super, macht auch das was ich teo will aber es ließt mir alle layer aus, ich will aber nur einen bestimmten. BTW: müssen die beiden betreffenden zeichnungen also quell und bezugszeichnung dafür immer geöffnet sein? werde mir heut abend die beiden links noch was genauer anschaun... mfg blue Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |