| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PRO.FILE 10: So gelingt der Umstieg, eine Pressemitteilung
|
Autor
|
Thema: zusammengesetzte Plannummer (2859 / mal gelesen)
|
daLutz Mitglied Starmonteur :-)
Beiträge: 29 Registriert: 05.05.2016 WIN10, ACADM2020, Inventor2020
|
erstellt am: 19. Feb. 2018 13:06 <-- editieren / zitieren --> Unities abgeben:
Servus, Problem: - in einer Zeichnung gibt es mehrere Layouts - Zeichnungsname und Layoutname haben keinen Bezug zueinander - Zeichnungsname wird lediglich mit auf den Plankopf gedruckt - Layoutname wird Projektbezogen vorgegeben: teilweise bis 20 Zeichen - einige sind fix, da sie über einen Planschlüssel diversen Gewerken vorgegeben sind - die im Layout steht nur der Detailname - Index und Planstand werden in 2 getrennten Attributen im Plankopf dargestellt - alle fixen Projektdaten im Planschlüssel werden als Text im Plankopf geführt (könnte man auch als Attribut hinterlegen) - speichert man nun ein Layout, wird der Layoutname vorgeschlagen, aber für die Übergabe an den Planserver ist zwingend der vorgegebene Planschlüssel einzuhalten - derzeit wird der zu speichernde pdf-name per Hand geschrieben...was Fehlerquellen und Zeitaufwand bedeutet - nimmt man den gesamten Plannamen als Layoutbeschriftung, werden entweder nur 2-3 Registerkarten angezeigt oder der Name hinten abgeschnitten (weis ich jetzt nicht genau) Ziel: Einen Button "PDF-Plot" der den "fixen Text" + "Layoutname" + "Index-Attribut" + "Planstand-Attribut" zu einem String zusammenführt und als pdf-Plotname vorschlägt. Frage: Gibt es sowas schon bzw. wie geht man das Problem an? Danke & Ciao Lutz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 19. Feb. 2018 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
Hy zuviele Fragn warum , aber nein den Einen Befehl den Du da möchtest gibt es so nicht und wenn man den Machen will braucht man viel mehr infos warum ihr wie was macht und ob das dann auch "IMMER" so ist cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kuschelfee Mitglied Bauzeichnerin
Beiträge: 221 Registriert: 07.05.2007 Windows 10 Pro AutoCAD 2024.1 Soficad 2024-1 Advance Steel 2023.1.1
|
erstellt am: 19. Feb. 2018 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
Schau dir doch mal Stapelplot (Publizieren/ Planliste speichern) oder dem Manager für Planungsunterlagen an. In beiden fällen wäre man unabhängig von Dateiname und Layout Bezeichnung, der Dateiname für die PDF wird nur einmal festgelegt werden müssen. Vielleicht hilft dir das bei deinem Problem weiter.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
maratovich Mitglied
Beiträge: 26 Registriert: 08.08.2013
|
erstellt am: 19. Feb. 2018 17:03 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
|
daLutz Mitglied Starmonteur :-)
Beiträge: 29 Registriert: 05.05.2016 WIN10, ACADM2020, Inventor2020
|
erstellt am: 19. Feb. 2018 20:40 <-- editieren / zitieren --> Unities abgeben:
Servus cadwomen, das es diesen Befehl so nicht gibt, ist mir klar. Aber es gibt hier genug findige User die event. Ähnliches schon selber geschrieben haben bzw. Lösungsansätze hätten. Denke da an VBA, denn mit Excel läßt sich das lösen...nur sollte es innerhalb von ACAD bleiben. Ich habe extra alles Wichtige stichpunktartig aufgeschrieben: welche Fragen sind noch offen? Die Vorgaben kommen vom obersten Planungsstab, der auch die Rechnungen freigibt - da fragt man nicht so oft warum das so sein muß. Ich werde morgen mal ein Beispiel einstellen, vielleicht erklärt ein Bild einiges einfacher. Ciao Lutz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Esme Mitglied TZ
Beiträge: 146 Registriert: 14.04.2012
|
erstellt am: 20. Feb. 2018 08:35 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
Hallo Lutz, wir brauchen es nicht so aufwändig (nur Pad + Layoutname in der Zwischenablage) (defun c fad-pdf_zwischenablage () (setq ZEICHNUNGSNAME (getvar "dwgname")) (setq LAENGE (strlen ZEICHNUNGSNAME)) (setq ZEICHNUNGSNAME (substr zeichnungsname 1 (- LAENGE 4))) (setq TEXT (strcat (getvar "dwgprefix") ZEICHNUNGSNAME "-" (getvar "ctab") ".pdf" ) ) (setq dateiname-pdf TEXT) (_SetClipBoardText TEXT) );end of defun und das (_SetClipBoardText text) ist von hier: ;;;http://www.theswamp.org/index.php?topic=21764.0 Da bräuchtest du dir nur noch die Variable TEXT nach deinen Bedürfnissen zusammenbasteln... ------------------ . [Diese Nachricht wurde von Esme am 20. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 20. Feb. 2018 09:10 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
Servus, arbeite auch relativ oft mit Planschlüsselvorgaben. Meist sind 95% des Planschlüssels wiederholende Vorgaben, diese las ich im Layoutname weg und ergänze sie später mit der Hand. Es wäre aber auch eine bat Datei möglich die das macht *grübel*. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. [Diese Nachricht wurde von Bernd P am 20. Feb. 2018 editiert.] 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: 20. Feb. 2018 13:23 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
Zitat: Original erstellt von Bernd P:
Es wäre aber auch eine bat Datei möglich die das macht *grübel*.
Auch wenn es ziemlich artfremd ist , wenn man (ganz) viele Dateien nach gleichem Strickmuster umbenennen oder/und durchnummerieren will, läßt sich das ganz prima mit der Batch(Stapel)-Konvertierung/Umbenennung von Irfan-View machen. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 20. Feb. 2018 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
Servus, geht auch mit Freecommmander ist da sehr mächtig, das Problem dabei wo speichert man das Schema/Profil hin und wenn es mehrere verwenden ist das immer mühsam. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 20. Feb. 2018 22:09 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
Hallo daLutz, ich kann die bei einer derartigen umfangreichen Liste der Anforderungen kann ich nur eigentlich den Plansatz in AutoCAD empfehlen. Die Informationen über Plansatz & Planeigenschaften können locker deine internen und externen Anforderungen verwalten und fast jede "kranke" Phantasie abbilden und zwar für die Endbenutzer einfache Handhabung und Stabilität. Die Generierung von Dokumenten (PDF, DWG, DXF, usw.) lässt sich über (verlinkte) Attribute (Felder) in par Zeilen Lisp programmieren. ------------------ MfG Proxy Bitte beachten Sie: Die Verwendung der hier bereitgestellten Signatur geschieht auf Ihre eigene Verantwortung. Diese Signatur wird ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung gestellt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daLutz Mitglied Starmonteur :-)
Beiträge: 29 Registriert: 05.05.2016 WIN10, ACADM2020, Inventor2020
|
erstellt am: 21. Feb. 2018 06:27 <-- editieren / zitieren --> Unities abgeben:
Servus, und danke für die Rückmeldungen. Ich habe mal den Bereich vom Plankopf gescreenshottet; ebenso den Registerkartenbereich. Man sieht bei einer langen Plannummer nur noch 4 Layout's der Rest ist nur über die "Aufklappliste" erreichbar. In einer Zeichnung können schon mal bis zu 20 Layouts sein. Der Lösungsansatz von Proxy hört sich interessant an: hat jemand Links wo ich mehr dazu lesen kann? Ciao Lutz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Musicus Mitglied Staatl. gepr. Techniker
Beiträge: 688 Registriert: 26.07.2005 AutoCAD 2021 Linear Building 18 Linear CAD Solutions 18 C.A.T.S. Windows 10 64bit
|
erstellt am: 21. Feb. 2018 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
|
xem Mitglied Zeichner
Beiträge: 854 Registriert: 07.08.2008 Software: AutoCAD 2022 - 64bit Windows 10 Pro - 64bit PDFCreator 1.0.2 - 32bit Ghostscript 9.0 - 64bit PDF-XChange Viewer - 64bit GIMP 2.6.8 - 64bit MS Office 2013 - 32bit Opera 12 - 32bit MacroX - 32bit 7-zip - 64bit ----------------------- Hardware: Intel i5 680 3,6GHz @ 4GHz 8GB RAM 1333MHz nVidia GTX 460 1024MB Intel SSD 2.5 80GB X25-M Samsung SyncMaster 245B+ Iiyama ProLite E1900s Logitech mx518 Logitech G11 Roccat Sense Glacier Blue
|
erstellt am: 21. Feb. 2018 11:00 <-- editieren / zitieren --> Unities abgeben: Nur für daLutz
Hallo daLutz, Ich würde sechs Attribute (Bezeichnung PN1...PN6) im Plankopf einfügen. Diese könnte man dann greifen und als Dateinamen nutzen. Ich habe dazu leider noch nichts gefunden und allein bekomme ich das nicht hin. Vielleicht kann einer der Profis uns zeigen wie man die einzelnen Attribute im Block greift und in eine Variable schreibt. Mit Attribut auswählen habe ich schon einiges gefunden, nur nicht mit Vorgabe Blockname und davon Attribut xyz. Edit: ich habe mich mal dran versucht und etwas zusammen kopiert. Es funktioniert, ist aber sicher nicht die eleganteste Lösung. Voraussetzung ist ein Block mit dem Namen Plankopf und darin sechs Attribute mit den Bezeichnungen PN1...PN6.
Code: (defun c:test ( / i obj1 obj2 att1 att2 att3 att4 att5 att6 iatt1 iatt2 iatt3 iatt4 iatt5 iatt6 hq as) (if (and (setq obj1 (ssget "_X" (list'(-4 . "<OR") '(-4 . "<AND") '(0 . "INSERT") '(2 . "Plankopf,`*U*") '(-4 . "AND>") '(-4 . "OR>") (cons 410 (getvar "CTAB"))))) (setq att1 "PN1") (setq att2 "PN2") (setq att3 "PN3") (setq att4 "PN4") (setq att5 "PN5") (setq att6 "PN6") ) (repeat (setq i (sslength obj1)) (setq obj2 (vlax-ename->vla-object (ssname obj1 (setq i (1- i))))) (if (and (equal (vla-get-IsDynamicBlock obj2) :vlax-true) (equal (vla-get-EffectiveName obj2) "Plankopf") ) (progn (setq iatt1 (LM:vl-getattributevalue obj2 att1)) (setq iatt2 (LM:vl-getattributevalue obj2 att2)) (setq iatt3 (LM:vl-getattributevalue obj2 att3)) (setq iatt4 (LM:vl-getattributevalue obj2 att4)) (setq iatt5 (LM:vl-getattributevalue obj2 att5)) (setq iatt6 (LM:vl-getattributevalue obj2 att6)) ) ) ) ) (setq key(strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\PROFILES\\" (vla-get-ActiveProfile (vla-get-PROFILES(vla-get-preferences(vlax-get-acad-object)))) "\\Dialogs" )) (setq pfad (vl-registry-read (strcat KEY "\\DWFNavDlg") "InitialDirectory")) (setq pfad (strcat (vl-filename-directory (getfiled "Speichern unter ..." (strcat (if pfad pfad "") iatt1 iatt2 iatt3 iatt4 iatt5 iatt6) "pdf" 1)) "\\")) (if as (command "-export" "PDF" "k" "n" (strcat pfad iatt1 iatt2 iatt3 iatt4 iatt5 iatt6))) (vl-registry-write (strcat KEY "\\DWFNavDlg") "InitialDirectory" pfad) (princ) ) (defun LM:vl-getattributevalue ( blk tag ) (setq tag (strcase tag)) (vl-some '(lambda ( att ) (if (= tag (strcase (vla-get-tagstring att))) (vla-get-textstring att))) (vlax-invoke blk 'getattributes)) ) (vl-load-com) (princ)
Man könnte noch Fehlerquellen mit ausschließen, z.B. wenn der Block mehr als einmal eingefügt wurde oder die Texte in den Attributen zu lang sind. Bei gleichen Abstand im Plankopf liegen da schnell zwei gleiche Zeichen übereinander und der Dateiname stimmt nicht mehr.
[Diese Nachricht wurde von xem am 21. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daLutz Mitglied Starmonteur :-)
Beiträge: 29 Registriert: 05.05.2016 WIN10, ACADM2020, Inventor2020
|
erstellt am: 22. Feb. 2018 12:58 <-- editieren / zitieren --> Unities abgeben:
Servus XEM, das sieht sehr professionell aus! Ich bin gesundheitlich etwas angeschlagen, aber am WE werde ich mich mit dieser Syntax auseinandersetzen, habe bisher keine Lisp-Erfahrung. Entsprechend schleppend ist das Begreifen was da steht, will es nicht nur kopieren und rumdoktorn bis es so funzt. Großes Dankeschön!!! Melde mich wieder. Ciao Lutz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |