| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Plotten aller Layer (separat!) im akt. Layout mit akt. Seiteneinrichtung (1938 mal gelesen)
|
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 03. Mai. 2012 17:16 <-- editieren / zitieren --> Unities abgeben:
Liebe LISP Gemeinde, ist jemandem schoneinmal ein LISP untergekommen, was es möglicht macht im Layoutbereich alle Layer einer Zeichnung nacheinander im aktuellen Layout zu drucken (im Prinzip wie _laywalk, wenn man von oben nach unten durchklickt). Das sollte doch als LISP möglich sein? (Im Pronzip suche ich schon seit einigen Jahren danach und habe auch schon so ziemlich alle LISP-Foren weltweit nach so etwas durchsucht). Kann man den laywalk-Befehl sich irgendwie zu nutze machen? Konkret geht es darum alle Layer einer Zeichnung als EPS zu plotten, wobei jedes EPS automatisch die Beschriftung des Layers erhalten soll. Also "A-Layer" heisst dann "A-Layer.eps". Leider kenn ich mich zu wenig mit AutoLISP aus um so etwas von Grund auf selbst zu proggen. Wenn jemand eine gute Idee für die Realisierung dieses "Projekts" hat, dann wäre ich sehr dankbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 03. Mai. 2012 21:05 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 03. Mai. 2012 21:18 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
Sind es denn immer die gleichen Layer? Falls dem so ist, kann man das Thema auch mit einem Script angehen. Programmiert habe ich die deiner Aufgabe zugrunde liegenden Teillösungen alle schon einmal, nur nicht in der Konstellation wie du das suchst. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 03. Mai. 2012 22:26 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium: ich hatte sowas schon mal für jemanden geschrieben ... Bei dir bräuchte es ja keinen Dialog , nur ein Einsammeln und entsprechendes Schalten der Layer und dann das Absetzen des Plotbefehls ... Aber konkret was Fertiges hab ich auch nicht .... Sollte aber sicher im Netz zu finden sein.
Das kommt dem was ich suche ja schon recht nah. Ich bräuchte eigentlich keinen Dialog, aber im Prinzip geht´s ja auch mit - Das wär sozusagen eher die Luxusversion. Verstehe ich die Erklärung in dem PDF richtig, dass bei deinem Lisp jeweils alles Layer die nicht markiert wurden jeweils auch mitgedruckt werden? Wie komplex ist denn das LISP zum PDF ? Steigt man da durch? Kleine Anpassungen bekomm ich ja meist noch hin, wenn es dann aber zu komplex wird, dann steig ich meist auch nicht mehr durch. Im Netz hab ich bisher zu diesen Single-Layer Stapelverarbeitungsdingen eigentlich nix (für mich verständliches und somit brauchbares) gefunden. Hab mich schon gewundert, dass nie jemand so etwas braucht @Holger: Genau, im Prinzip "reicht" ein LISP, was mit einem einzigen Befehl gnadenlos alle in der Zeichnung befindlichen Layer eines gewählten Layouts oder Ansichtsfenster plottet (am besten auch wenn die Layer gefroren oder ausgeschaltet) Teillösungen würden mir schon super helfen, dann hätte man wenigstens etwas zum "Probieren". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 04. Mai. 2012 12:30 <-- editieren / zitieren --> Unities abgeben:
Wie bekomm ich am sinnvollsten denn das "isolieren" der einzelnen Layer nacheinander hin. 1. Auslesen aller vorhandenen Layer -> in eine Liste schreiben 2a. Isolieren der in der Liste befindlichen objekte durch den Isolieren-Befehl, oder gibt es dort was "besseres"? (3. Plotbefehl absetzen -> das bekomm ich glaub ich noch hin ) --- zum Auslesen könnte man sicherlich ähnlich verfahren wie hier?! Layerprinter.lsp von CADwiesel: (defun C:Layerprinter ( / C_LAY LYR_DATA LYR_NM LYR_THAWED? LYR_ON? LYRS ll MD_ZAEHLER MD_AKT MD_TA MD_ON?) (defun strfill (s len) (substr (strcat s " ") 1 len) ) (setvar "cmdecho"0) (setq MD_ZAEHLER 0 ll "Layername Getaut/Gefr. Ein/Aus\n" C_LAY (getvar "clayer") LYR_DATA (tblnext "layer" t) LYR_NM (cdr (assoc 2 LYR_DATA)) LYR_THAWED? (cdr (assoc 70 LYR_DATA)) LYR_ON? (cdr (assoc 62 LYR_DATA)) LYRS (list (list LYR_NM LYR_THAWED? LYR_THAWED?)) ) ;ende setq (while (setq LYR_DATA (tblnext "layer")) (setq LYR_NM (cdr (assoc 2 LYR_DATA)) LYR_THAWED? (cdr (assoc 70 LYR_DATA)) LYR_ON? (cdr (assoc 62 LYR_DATA)) LYRS (cons (list LYR_NM LYR_THAWED? LYR_ON?) LYRS) ) ;ende setq ) ;ende while (setq LYRS (reverse LYRS)) (repeat (length LYRS) (progn (setq MD_AKT (car (nth MD_ZAEHLER LYRS)) MD_TA (cadr (nth MD_ZAEHLER LYRS)) MD_ON? (caddr (nth MD_ZAEHLER LYRS)) ) ;_ end of setq (setq ll (strcat ll (strfill md_akt 20)"\t")) (if(or (= MD_TA 0) (= MD_TA 16) (= MD_TA 48)) (setq ll (strcat ll " ta\t")) ) (if(or (= MD_TA 1) (= MD_TA 17) (= MD_TA 49)) (setq ll (strcat ll " fr\t")) ) ;ende if (if(or (= MD_TA 4) (= MD_TA 20)(= MD_TA 52)) (setq ll (strcat ll "ta SP\t")) ) ;ende if (if(or (= MD_TA 5)(= MD_TA 21) (= MD_TA 53)) (setq ll (strcat ll " fr SP\t")) ) ;ende if (if (minusp MD_ON?) (setq ll (strcat ll " aus\t")) (setq ll (strcat ll " ein\t")) ) ;ende if (setq ll (strcat ll "\n")) (setq MD_ZAEHLER (1+ MD_ZAEHLER)) ) ;ende progn ) (alert ll) ) ;ende defun Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 04. Mai. 2012 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
|
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: 04. Mai. 2012 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
mal auf die Schnelle hätte ich es mit "EXPORT" gemacht: Code: (defun c:vox-layer2eps () (setq pfad "d:/temp/") (setvar "expert" 1) (foreach n (get-layer-list) (command "_layer" "_off" "*" "_on" n "" "_export" (strcat pfad n ".eps")) ) (setvar "expert" 0) )(defun get-layer-list ( / layers) (vl-load-com) (vlax-for i (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))) (setq layers (cons (vla-get-name i) layers)) ) )
Grüsse, Henning[EDIT] - Variable "layers" lokalisiert [/EDIT] ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de [Diese Nachricht wurde von wronzky am 04. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 04. Mai. 2012 13:32 <-- editieren / zitieren --> Unities abgeben:
|
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: 04. Mai. 2012 13:40 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
|
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 04. Mai. 2012 14:23 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 04. Mai. 2012 14:25 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
|
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: 04. Mai. 2012 14:28 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
n ist eine Variable, die forlaufend mit den ganzen Layernamen gefüllt wird. Nur in der Command-Zeile müßtest Du z. B. schreiben: Code: (command "_layer" "_off" "*" "_on" "Konstruktion" "")
Grüsse, Henning------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 04. Mai. 2012 14:43 <-- editieren / zitieren --> Unities abgeben:
also hier mal das, was er mir in einer "Teilschleife" ausführt: Befehl: _layer Aktueller Layer: "01-B-Abbruch" Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIn/AUs/FArbe/Ltyp/LStärke/Transparenz/MATerial/ Plot/PStil/FRieren/Tauen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen]: _off Namensliste der ausschalten Layer eingeben oder <Objekte wählen>: * Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIn/AUs/FArbe/Ltyp/LStärke/Transparenz/MATerial/ Plot/PStil/FRieren/Tauen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen]: _on Namensliste der einschalten Layer eingeben:H-Hilfslinie Option eingeben [?/Machen/SEtzen/Neu/Umbenennen/EIn/AUs/FArbe/Ltyp/LStärke/Transparenz/MATerial/ Plot/PStil/FRieren/Tauen/SPerren/ENtsperren/STatus/Beschreibung/ABstimmen]: ..also er schaltet die Layer schon durch (i), und der Namensexport mit dem .EPS je Layer funktioniert auch, nur sind generell immer alle EPS leer!?
Ich hab keine Ahnung woran es liegt?!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 04. Mai. 2012 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
export in eps exportiert den AKTUELLEN BILDSCHIRMAUSSCHNITT! Vielleicht ist da nichts zu sehen? (Bei meinem kurzen Test hat's funktioniert.) Womit überprüfst Du den Inhalt der EPS? Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 04. Mai. 2012 15:02 <-- editieren / zitieren --> Unities abgeben:
Also ich hab jetzt mal ne kleine dwg. genommen mit nur 4 Layern. hab auf jeden Layer etwas gezeichnet. Beim export hat er jeweils immer nur auf dem letzten Layer den er Exportiert (0-Layer) was drauf, die anderen sind immer leer. Habs wahlweise mit Illustrator bzw. Photoshop überprüft.
[Diese Nachricht wurde von EDVGeorge am 08. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 04. Mai. 2012 15:48 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
|
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 04. Mai. 2012 17:23 <-- editieren / zitieren --> Unities abgeben:
Kann evtl. irgend ein anderes Skript "stören" ? Oder werden die ausgeschaltenen Layer auch noch einmal gedruckt? Keine Ahnung.. wenn ich den -layer Befehl manuell für einen einzelnen Layer teste klappt es auf jeden Fall mit dem Umschalten. Ich benutzte hier Autocad 2012? liegt es evtl. daran? Bzw. muss noch irgendwas geladen werden? oder liegt es an irgendwelchen Systemvariablen die evtl. falsch eingestellt sind? [Diese Nachricht wurde von EDVGeorge am 04. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 08. Mai. 2012 15:48 <-- editieren / zitieren --> Unities abgeben:
Leider Hab ich noch nicht geschafft das ganze irgendwie zum Laufen zu bringen, aber mal eine kleine Frage abseits: Gibt es eine empfehlenswerte Dokumentation / Anleitung für die ganzen VLISP-Geschichten?(ausser die AutoCAD-VLISP Hilfe). Hatte damit bisher noch nichts am Hut, bin aber ziemlich neugierig geworden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 08. Mai. 2012 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für EDVGeorge
|
EDVGeorge Mitglied Landschaftsarchitekt
Beiträge: 10 Registriert: 03.05.2012
|
erstellt am: 08. Mai. 2012 16:01 <-- editieren / zitieren --> Unities abgeben:
|