| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Xref Pfad per Lisp Ändern (4527 / mal gelesen)
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 22. Nov. 2016 19:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Cad-Gemeinde Ich habe eine Bereits eine bestehende XREF123 in ZeichnungABC. Die ist aber nicht mehr Sichtbar da sich der Pfad der XREF123 geändert hat. Kann ich eine LSP erstellen und sagen: 1. Merk dir von der bereits anhängenden XREF123 den Namen 2. Such im folgendem LaufwerkXY nach dieser XREF123(DWG) 3. Ersetze den Pfad von der XREF die bereits anhängt (nicht Abhängen und neu anhängen, da die XREF gedreht und Skaliert ist...) Ich arbeite mit AutoCad 2016 vielen Dank gruss fmfm ------------------ noob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Nov. 2016 21:27 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Hmm 1.) Das kann man mit Lisp umsetzen 2.) Ob du das kannst: Keine Ahnung? Allgemeiner Usertip: Wenn es nur um einen Pfad geht, dann kannst du auch anders zum Ziel kommen, als Suchbegriff im Forum würde ich REDIR vorschlagen, damit kommen Treffer für verschiedene Szenarien & Lösungswege. Nur vollautomatisch die neue Verknüpfung (suche in Laufwerk..) gibt es da nicht. Aber: Laufwerksbuchstabe geändert oder ähnliches. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3434 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: 22. Nov. 2016 21:47 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Servus, Es gibt einen Referenz Manager (extra Programm) der suchen und ersetzen über mehrere Referenzen und mehrere Zeichnungen kann. ------------------ <----- 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 |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Nov. 2016 15:41 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Nov. 2016 16:04 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3074 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: 23. Nov. 2016 16:07 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Hy ?? warum was schreiben wenn es das in deinem Programm gibt ?? Referenz Manager wie ein Beitrag oben schon gepostet ? cu cw Zitat: Original erstellt von fmfm: hmmmmmmvermutlich zu umständlich um es extra für mich schreiben zu lassen???! trotzdem danke gruss fmfm
------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Nov. 2016 16:27 <-- editieren / zitieren --> Unities abgeben:
@cadffm es kann nicht sein das zwei DWGs mit dem selben Namen in einem Laufwerk sind. @cadwomen die reissen mir doch den Kopf bei der Arbeit ab, wenn ich hier etwas installiere... Zuhause habe ich leider kein AutoCad um es zu Probieren... LSP Dateien schmuggel ich einfach rein ich würde ja gerne selber LSP Dateien erstellen... ich weiss aber leider nicht wie man Programmiert (kann ich das über das Internet lernen?) dann würd ich als nächstes folgende LSP erstellen: Ich würde gerne in einem Block sagen: 1. quick select 2. alles was auf Farbe Black ist markieren 3. das markierte bei "CECOLOR" auf die Farbe 250,140,110 legen fertig hmmmm
gruss fmfm ------------------ noob [Diese Nachricht wurde von fmfm am 23. Nov. 2016 editiert.] 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: 3074 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: 23. Nov. 2016 16:44 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Hy nehmen wir das Wort "Schulung" mal ganz in den Vordergrund der Referenzmanager ist Teil von ACAD ..... nim mal die ACAD Hilfe zur Hilfe F1 und das weitere Programm wegen der Farbe gibt es auch schon ... seid gefühlten 20 Jahren cu cw Zitat: Original erstellt von fmfm: @cadffmes kann nicht sein das zwei DWGs mit dem selben Namen in einem Laufwerk sind. @cadwomen die reissen mir doch den Kopf bei der Arbeit ab, wenn ich hier etwas installiere... Zuhause habe ich leider kein AutoCad um es zu Probieren... LSP Dateien schmuggel ich einfach rein ich würde ja gerne selber LSP Dateien erstellen... ich weiss aber leider nicht wie man Programmiert (kann ich das über das Internet lernen?) dann würd ich als nächstes folgende LSP erstellen: Ich würde gerne in einem Block sagen: 1. quick select 2. alles was auf Farbe Black ist markieren 3. das markierte bei "CECOLOR" auf die Farbe 250,140,110 legen fertig hmmmm
gruss fmfm
------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Nov. 2016 16:59 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Ich denke das Betriebssystem sieht das anders Aber ok, ich verstehe dich so: Es sollte nicht vorkommen in deinem Fall. Der Referenzmanager ist bei dir bereits installiert, wenn du so ein neumodischen BS hast, starte 'Suchen' und füttere es mit REFERENZM Gehört zur Acad-Installation, ich bilde mir aber ein das dies bereits in den anderen Threads zum Stichwort "ReDir" bereits alles geschrieben steht. (Auch wenn ReDir eine andere Lösung ist, so ist es aber der beste Suchbegriff zum Thema) Lisp: Kann man mit und ohne Internet lernen. Der beste Link wurde dir oben bereits gegeben, du hättest also bereits anfangen können. Zum ersten Programm: Eigentlich eine super gute Idee, das kann man praktisch (fast) ohne Programmierung umsetzen, dann mit ein wenig Lisp und als dritte Stufe ordentlich programmieren, natürlich ohne den Blockeditor Jedoch ist "Block" nicht unbedingt ein Einsteigerthema, Truecolor ebenfalls nicht
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 23. Nov. 2016 17:54 <-- editieren / zitieren --> Unities abgeben:
soo nun habe ich den Referenz Manager gefunden und ausprobiert... Interessant zu wissen das es ihn gibt. Meiner Meinung nach muss ich den PFAD ebenfalls von Hand eintippen bzw. suchen??? Das kann ich auch über AutoCad direkt, in dem ich den Pfad ändere und da ich so oder so in dem Plan noch weitere Änderungen machen muss, ist der Referenz Manager leider nicht schneller...(eigentlich genau gleich schnell) REDIR ich hab eben Redir eingegeben... den alten Pfad eingegeben... den neuen Pfad eingegeben... passiert nix... irgendwas mach ich falsch. P:\OrdnerA\OrdnerB\OrdnerC hier ist der alte Pfad Dwg Name: Xref123 soll nun diesen Pfad haben: P:\Ordner1\Ordner2\Ordner3 = 0 xrefs modified. Ebend auch mit.... probiert: P:\OrdnerA\OrdnerB\OrdnerC\Xref123 hier ist der alte Pfad Dwg Name: Xref123 soll nun diesen Pfad haben: P:\Ordner1\Ordner2\Ordner3\Xref123 geht leider auch nicht... vielen Dank für eure Geduld!!! gruss fmfm ------------------ noob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Nov. 2016 19:29 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: nun habe ich den Referenz Manager gefunden und ausprobiert... <> Meiner Meinung nach muss ich den PFAD ebenfalls von Hand eintippen bzw. suchen???
Wie ich schon sagte: Automatisch suchen+ersetzen lassen gibt es "in Acad" nicht. Wenn du mal 5 Pfade in 100Dateien ändern mußt, dann weißt du auch dieses Tool zu schätzen & einzusetzen :) Zitat: REDIR - irgendwas mach ich falsch.P:\OrdnerA\OrdnerB\OrdnerC hier ist der alte Pfad Dwg Name: Xref123 soll nun diesen Pfad haben: P:\Ordner1\Ordner2\Ordner3 = 0 xrefs modified.
Schau dir noch einmal ganz genau den gespeicherten Pfad der XRef an und auch den Pfad in dem die Datei aktuell liegt, mir scheint es so: Die XRef verweist derzeit NICHT auf "P:\OrdnerA\OrdnerB\OrdnerC". Sonst würde auch noch diese Meldung von ReDir erfolgen: Searching for old dir: Z:\MEINPFAD <- Es gibt Wirklich XRefs mit dieser Pfadangabe in der Datei in order to replace it with: D:\HIERFINDESTDUNICHTS <- In dem Ordner wird Acad die XRef-Datei aber nicht finden Cannot find xref: D:\HIERFINDESTDUNICHTS\Test-XRef.DWG. Wenn aber der IST-Pfad bereits falsch angegeben wird, dann findet Acad keine XRef(pfade) zum ändern und die Rückmeldung wäre ausschließelich: 0 style/shape records modified. 0 image references modified. 0 xrefs modified. 0 rtext objects modified. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009
|
erstellt am: 24. Nov. 2016 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
vielleicht wäre das ein Ansatz, ich hab mir jetzt nicht die Mühe gemacht den gesamten Thread durchzulesen... Code: ;;Written by Clinton Cogswell ;;November 19, 2013(defun c :xReplace ( / sFullPath ) (vl-load-com) (setq oldPath (getstring t "\nEnter Existing Path to be replaced: ")) (setq newPath (getstring t "\nEnter New path: ")) (vlax-for x (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object) ) ) (if (eq :vlax-true (vla-get-isXref x)) (progn (setq sFullPath (vla-get-path x)) (if (vl-string-search oldPath sFullPath 0) (progn (setq sNewFullPath (vl-string-subst newPath oldPath sFullPath 0)) (vla-put-path x sNewFullPath) (vla-reload x) ) ) ) ) ) (princ) )
------------------ Gruss Dirk Blog | Adolf Spende | Infra-Feed | ÅF AB
[Diese Nachricht wurde von cadplayer am 24. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008 Civil 3D 2018.1 Civil 3D 2016 64 Bit SP 3 mit DACH und Extensions W7 Professional 64Bit HP Z440 Intel Xeon CPU E5-1620 v4 32 GB RAM NVIDIA Quadro P4000
|
erstellt am: 24. Nov. 2016 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Ich habe eine Bereits eine bestehende XREF123 in ZeichnungABC. Die ist aber nicht mehr Sichtbar da sich der Pfad der XREF123 geändert hat.
nur so als Idee: das gewünschte Programm wäre zukünftig gar nicht notwendig, wenn man sich eine Arbeitsweise aneignet bei der die XREF's direkt oder Ordnerebenen unterhalb der eigentlichen Zeichnung speichert werden und anschließend mit relativen Pfaden referenziert. Beim verschieben in ein anderen Pfad/Verzeichnis oder wohin auch immer muss dann nur der gesamte Ordner mit der Zeichnung und den Xref's verschoben werden und alles bleibt schick. Die Vorgehensweise nutzt auch _etransmit, um alle Dateien beieinanderzuhalten
------------------ mfg Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009
|
erstellt am: 24. Nov. 2016 12:43 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Stimmt genau Roman! Nebenbei ich hatte das Problem auch schon mal, nun kam es bei einem Kollegen. Bei etransmit wird wiegesagt ein dwg-packet geschnürt mit allen xrefs der exportDatei. Das Problem ist, wenn xref Dateinamen Umlaute haben, werden die umkonfiguriert ("komische zeichen"). Ich vermute die Textkodierung oder -formatierung wird ins amerikanische ANSI umgefuddelt und nicht in westeuropäischer iso-8859-1. Gibt es vielleicht dazu eine Variable, die das beeinflusst ? Sorry, dass ich hier ein wenig vom Thema abkomme! ------------------ Gruss Dirk Blog | Adolf Spende | Infra-Feed | ÅF AB
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 24. Nov. 2016 15:17 <-- editieren / zitieren --> Unities abgeben:
@cadffm danke, redir funktioniert, ich habe es nur im falschen Ordner abgesetzt. Bei mir ist aber das Problem das zuvor die XREFs die wo dran hängen die Einstellung hatte "no Path". Da funktioniert es leider nicht... wenn es doch möglich wäre, würd ich vermutlich eine Idee haben wie man eine LSP erstellen um die XREF zu ersetzten: wenn ich den Befehl "dwgprefix" eingebe... steht in der Befehlzeile der Pfad der in der die Aktuelle DWG liegt: Bsp. P:\OrdnerA\A1\B1\C1\D1(dieserOrdnerwäreZusätzlich) ZielOrdner P:\OrdnerB\A1\B1\C1\ Frage: - kann ich nich sagen merk dir den Pfad mit "dwgprefix" - "OrdnerA" durch "OrdnerB" ersetzen (Name ist immer OrdnerB) - Unter"Ordner D1" bitte ignorieren... - dann mit REDIR die Pfade austauschen... @rl13
ja das stimmt, bis vor kurzem hatten wir das auch so, nun haben wir alles Ändern lassen. Da es auch Mitarbeiter gibt die nur begrenz DWGs anschauen dürfen bzw Ändern. Somit haben sie in dem Bestimmt Laufwerk nur in einem Ordner eine Berechtigung DWGS anzuschauen (Extern). vielen Dank gruss fmfm
------------------ noob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 24. Nov. 2016 15:18 <-- editieren / zitieren --> Unities abgeben:
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3074 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: 24. Nov. 2016 15:59 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Kurz vor Feierabend steht doch drin ? (setq oldPath (getstring t "\nEnter Existing Path to be replaced: ")) (setq newPath (getstring t "\nEnter New path: ")) allerdings must du dabei beide Pfade noch von Hand eingeben cu cw
Zitat: Original erstellt von fmfm: @cadplayerwas kann diese von dir eingefügte LSP? Danke gurss
------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 24. Nov. 2016 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Das Lisp kann einen (bekannten) Pfad gegen einen (bekannten) Pfad tauschen. Aber "man" kann aus der Grundlage alles mögliche machen, wie auch aus Redir. Bringt dir also 1:1 nichts. Redir: Ohne Pfad ersetzen geht mit dem original Redir nur über die Möglichkeit "*" für ALLE Pfade ersetzen. an explizit "ohne Pfad" ersetzen wurde damals nicht gedacht. Deine Beispielaufgabe: Wenn die Verschachtelungstiefe/Verzeichnisstruktur immer so wäre, könnte man auch die besagten relativen Pfade einsetzen: Befehl: redir Current REDIRMODE: Xrefs Find and replace directory names Enter old directory (use '*' for all), or ? <options>: * Replace "*" with: ..\..\..\..\..\OrdnerB\A1\B1\C1 Searching for old dir: * in order to replace it with: ..\..\..\..\..\OrdnerB\A1\B1\C1 XREF _XRef _XRef.dwg -> ..\..\..\..\..\OrdnerB\A1\B1\C1\_XRef.DWG 1 xrefs modified. Changes to some externally referenced objects may be temporary. Die von dir beschriebene allgemeingültigere Version geht auch, dafür müßte man aber per Programmierung den Pfad anpassen.
zB so, wenn der "letzte Ordner" immer "D1" heißt: (vl-string-subst "\\" "\\D1\\" (vl-string-subst "Z:\\OrdnerB\\" "Z:\\OrdnerA" (getvar "dwgprefix"))) AutoCAD-Hilfe zu VL-STRING-SUBST Dann könnte man dies zB. in dem Lisp oben einsetzen. ; wenn kein Pfad angegeben ist (setq oldPath "") ; Setze diesen hier ein (setq newPath (vl-string-subst "\\" "\\D1\\" (vl-string-subst "Z:\\OrdnerB\\" "Z:\\OrdnerA\\" (getvar "dwgprefix")))) ;Ohne zu prüfen ob die Datei dort auch gefunden wird.
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 24. Nov. 2016 16:19 <-- editieren / zitieren --> Unities abgeben:
Ich glaub ich vergiss als zu sagen das ich ziemlich frisch angefangen habe LSP Dateien Lesen zu lernen @cadwomen steht "setq" um eine Kommando für dieses Kürzel einzusetzen? zb. (setq a (5)) a+10=15??? @cadffm hab ich das richtig verstanden: da meine Xrefs immer mit "kein Pfad" Anghängt sind, funktioniert "REDIR" nicht? Wenn das so ist, wieso ist es dann möglich z. B. in Zeichnung123 die XREF123 anzuklicken und unter "Saved Path" den Pfad manuell zu Ändern? Gruss fmfm
------------------ noob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 24. Nov. 2016 16:22 <-- editieren / zitieren --> Unities abgeben:
Beispiel Projekt1: Zeichnung123 P:\Ordner1\A1\B1\C1\D1 ZielOrdner: P:\Ordner2\A1\B1\C1\ --- Projekt2: Zeichnung456 P:\Ordner1\A2\B2\C2\D2 ZielOrdner: P:\Ordner2\A2\B2\C2\ ---
Projekt3: Zeichnung789 P:\Ordner1\A3\B3\C3\D3
ZielOrdner: P:\Ordner2\A3\B3\C3\ Gruss
------------------ noob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3434 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: 24. Nov. 2016 17:08 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Servus, lustiger Threat... um nochmal auf den Referenzmanager zurück zu kommen. Er unterstützt auch das suchen/ersetzen im Pfad...
------------------ <----- 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 |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 24. Nov. 2016 17:10 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Sagte: Man kann bei Redir nicht explizit sagen "tausche nur 'Kein Pfad' gegen einen Neuen Pfad.." Man kann aber, ich schrieb es dir und Redir schreibt es dir bei jedem Start auch hin, "*" für ALLE PFADE (inkl. 'kein Pfad' sozusagen), ändern. Ob das bei euch zu nutzen ist können wir nicht sagen, da wir noch immer nicht Wissen ob "alle" eine mögliche Option für euch ist. (könntest ja noch andere XRefs haben, mit Pfad, deren Pfad nicht geändert werden sollen)Aber sowas kann man selbst testen und lesen, ich mache da nichts anderes Warum du es "aber" in der Palette ändern kannst? Weil das eine andere Funktion/Befehl ist. Mit dem Kreisbefehl kann man keine Linie zeichnen, mit dem Linienbefehl keinen Kreis, hört sich drastisch an, ist aber im Grunde kein falsches Beispiel. Mit deiner letzten Antwort haben wir nun eine versteckte Information mehr: Der letzte Ordner hat nicht immer denselben Namen (D1 kann also auch mal D2 D3 oder D4 heißen), in dem Fall passt mein Beispiel zur Pfad-Bearbeitung mittels zweier vl-string-subst nicht mehr, man müßte es also anpassen.
Aktuell muß auch keine XRef mehr gesucht werden fällt mir auf, es ist also schon einfacher geworden mit der Aufgabenstellung. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 24. Nov. 2016 17:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Cadffm ALso Du hast recht. Es funktioniert mit *. Dachte mit Alle, macht er die Xref in alle 3 bestehenden Xrefs rein. Mein Vorteil: In dem neu gesuchten Ordner ist nur eine Xref(DWG) drinnen mit dem selben DWG Namen. Kann man nun eine LSP erstellen: - "dwgrefix" V:\Ordner1\A1\B1\C1\D1\ Zielordner: V:\Ordner2\A1\B1\C1 -- Lauwerk V Bleibt immer \ Ordner2 Bleibt immer(festgelegtername) \ A1 von dwgrefix kopieren \ B1 von dwgrefix kopieren \ C1 von dwgrefix kopieren \ D1 auf D1 verzichten - neuen Pfad kopieren(kopierter-pfad KP1) - "redir" * ersetzen durch neu kopierten Pfad KP1 Ich hoffe man versteht nun einigermassen wie es bei mir Aufgebaut ist vielen Dank
------------------ noob 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: 3074 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: 24. Nov. 2016 17:51 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
vergess es Bernd.... er will ne klick und fertige Lösung alles was er will kann der Rev Manager aber er wird sich damit noch nicht auseinander gesetzt haben cu cw Zitat: Original erstellt von Bernd P: Servus, lustiger Threat...um nochmal auf den Referenzmanager zurück zu kommen. Er unterstützt auch das suchen/ersetzen im Pfad...
------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 24. Nov. 2016 17:58 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd Mit dem Referenzmanager bin ich aber nicht schneller da er keinen Pfad Automatisch verfolgen kann. Da ich die Zeichnung eh noch weiter bearbeiten muss kann ich sie gleich öffnen. Und wenn sie offen ist, dann kann ich auch gleich bei "Externe Referenzen" den Pfad Manuel Ändern. Siehe Anhang. Gruss fmfm
------------------ noob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 25. Nov. 2016 01:32 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Mit deiner letzten Antwort haben wir nun eine versteckte Information mehr: Der letzte Ordner hat nicht immer denselben Namen (D1 kann also auch mal D2 D3 oder D4 heißen), in dem Fall passt mein Beispiel zur Pfad-Bearbeitung mittels zweier vl-string-subst nicht mehr, man müßte es also anpassen
Ja, es geht und vieles mehr noch. Sicher kann man auch ein explorer-Fenster relativ zu einem zweiten steuern(dein anderer Thread). Nur ist dein Anwendungsfall sehr spezifisch und da gibt es nichts von der Stange. Ich bin mir sicher das bei deinem Projekt auch sehr viel mehr teil- oder vollständig zu automatisieren geht, nur gibt es noch keinen Wissentransfer per Mausklick, weder in die eine noch in die andere Richtung. Vielleicht findet sich ja morgen noch ein Gönner für die eine Zeile um den Pfad anzupassen. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3434 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: 25. Nov. 2016 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Original erstellt von fmfm: Mit dem Referenzmanager bin ich aber nicht schneller da er keinen Pfad Automatisch verfolgen kann.
Bei REDIR wird nix "Automatisch verfolgen" (was immer das bedeuten soll) sie suchen und ersetzen nur Pfadteile. Und um nochmal auf den Referenzmanager zurück zu kommen. Kann der Referenzmanger, locker, über mehrere Zeichnungen, über mehrere Verzeichnisse hinweg. ps.: Ihre Ordnerstruktur ist ziemlich sagen wir komplex... (ich weiß Userrechte anderes Beitrag), in welcher Branche arbeiten sie den? ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. [Diese Nachricht wurde von Bernd P am 25. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 25. Nov. 2016 08:38 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Bernd, mit "automatisch verfolgt" war hier gemeint: Pfad anhand des Pfades der Masterdatei ermitteln. Der Referenzmanager kann nicht tauschen weil kein Pfad vorhanden ist. Selbst wenn man eine Pfadangabe hätte (hat der TO in diesem Fall aber nicht), so kann man nicht "letzte Ordnerebene aus Pfad entfernen" als Bearbeitungsauftrag geben. Also verunsichert nicht unnötig den TO, ihr beiden Lieben ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 25. Nov. 2016 10:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Cadffm Ich habe bei meiner Struktur etwas falsch beschrieben, vorallem Punkt 4. Ich habe mal jetzt alles aufgelistet was ich erstellen möchte bzw wie die vorgehensweise ist. 1. command "Dwgprefix" (Beispielpfad: P:\NUK\A1\B1\C1\SBAN)
2. Ergebnis von dwgprefix speichern bzw. merken und als "pfad1" festlegen - Mit getin??? 3. pfad1 anzeigen lassen command "pfad1" 4. pfad1 umschreiben lassen (Beispielpfad: P:\NUK\A1\B1\C1\SBAN) Im Pfad sind folgende Wörter konstant (für alle Projekte): "NUK" "SBAN" Ersetzen: - "NUK" durch "APO" - "\SBAN" durch "(nichts)" (nicht mal ein Leerzeichen) Ergebnis: P:\APO\A1\B1\C1\ 5. Neuen Pfad als "neuerpfad" festlegen setq neuerpfad (P:\APO\A1\B1\C1\) 6. Redir 7. (command "*") (command "neuerpfad") also = "P:\APO\A1\B1\C1\") Nochmals vielen Dank an alle für Ihre Geduld und Verständsnis
Gruss fmfm ------------------ noob [Diese Nachricht wurde von fmfm am 25. Nov. 2016 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: 25. Nov. 2016 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Hallo fmfm, ein paar Lisp-Zeilen, um obiges zu erledigen, könnten so aussehen: Code:
(setq pfad1 (getvar "dwgprefix")) ;erledigt 1 und 2, 3 wird m. E. nicht benötigt (setq neuerpfad (strcat (vl-string-subst "APO" "NUK" (vl-string-right-trim "SBAN\\" pfad1)) "\\")) ;erledigt 4 und 5
Und dann müsste man REDIR anpassen, weil dass (zumindest bei mir): a) sich nicht mit (command ...) starten lässt b) keine Parameter annimmt c) sich den neuen Pfad nicht als Variable übergeben lässt, sondern die Eingabe an dieser Stelle immer als Text interpretiert ... Gruß Thomas ps. zum Lisp-Lernen ist das hier eines der "Standardwerke" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 25. Nov. 2016 12:24 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Wenn der letzte Ordner doch einen fixen Namen hat, dann habe ich oben ja längst die fertige Lösung gepostet. Man müßte nur die beiden Zeilen im obigen Code austauschen. Ich habe den Anfang der Zeilen FETT geschrieben damit diese leicht im Code zu finden sind. Nur die Richtigen Namenskürzel der Ordner zum Tausch und des Ordners der wegfällt müßten logischerweise angepasst werden. @Bernd, ja. Ist lustig hier. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 25. Nov. 2016 13:14 <-- editieren / zitieren --> Unities abgeben:
ja sehr müsam mit mir .... ergebnis ist: "P:\\APO\\A\\B1\\C1\\" warum enstehen die Backslashes doppelt? (defun C: pfadba() (setq pfad1 (getvar "dwgprefix")) (setq neuerpfad (strcat (vl-string-subst "NUK" "APO" (vl-string-right-trim "SBAN\" pfad1)) "\\")) ) wie kann ich mit redir fortfahren?
(command "redir")
(setq oldPath "*") (setq newPath "neuerpfad") das geht leider nicht... also "redir" erkennt er nicht danke gruss fmfm
------------------ noob [Diese Nachricht wurde von fmfm am 25. Nov. 2016 editiert.] [Diese Nachricht wurde von fmfm am 25. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 25. Nov. 2016 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Original erstellt von fmfm: ja sehr müsam mit mir ....ja ergebnis ist: "P:\\APO\\CH\\Basel BS\\Aeschenvorstadt 1 (AE01)\\" warum enstehen die Backslashes doppelt? Ein Backslash wird in Lisp im Textstring als Einleitung zu einem Steuercode verwendet, der EINE Backslash würde nicht als Textzeichen interpretiert werden. Stellt man einen weiteren voran, so wird der zweite Backslash als Textzeichen verstanden.wie kann ich mit redir fortfahren? Überhaupt nicht, sagte ich das bereits? (command "redir") (setq oldPath "*") (setq newPath "neuerpfad") das geht leider nicht... also "redir" erkennt er nicht Wurde ja bereits mehrfach erwähnt
Ein allerletztes Zitat von mir in diesem Thread für dich: Zitat: Original erstellt von cadffm: Dann könnte man dies zB. IN DEM LISP OBEN einsetzen. ; wenn kein Pfad angegeben ist (setq oldPath "") ; Setze diesen hier ein (setq newPath (vl-string-subst "\\" "\\D1\\" (vl-string-subst "Z:\\OrdnerB\\" "Z:\\OrdnerA\\" (getvar "dwgprefix")))) ;Ohne zu prüfen ob die Datei dort auch gefunden wird.
Jungs&Mädels, viel Spaß noch beim spielen ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD 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: 25. Nov. 2016 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Hallo fmfm, dass das mit REDIR und command nicht klappt, hatte ich ja schon geschrieben. Weil bald Weihnachten ist, hätte ich Dir fast noch die Eintragungen in den oben geposteten Code geschenkt , aber cadffm hat es ja schon noch mal sehr deutlich aufgezeigt, wass Du da noch machen musst. Natürlich mit der letzten angepassten Zeile (setq newpath (strcat (vl-string-subst "NUK" "APO" (vl-string-right-trim "SBAN\\" (getvar "dwgprefix"))) "\\")) Gruß Thomas
[Diese Nachricht wurde von spider_dd am 25. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 25. Nov. 2016 15:28 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Meine Kenntnisse sind noch viel zu schwach um eure Tipps sofort zu verstehen und umzusetzen Ich bitte um Verstädnis. Ich lese mich in nächster Zeit durch diese Anleitung für Anfänger durch http://www.tutorial.autolisp.info/cmdline1.html (Hätte ich vorher tun sollen) Herzlichen Dank für eure Unterstützung, mich meinen Zielen näher zu Bringen. Mit freundlichen Grüssen euer Referenz Manager
------------------ noob [Diese Nachricht wurde von fmfm am 25. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 09. Jan. 2017 17:22 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen erstmal Wünsche ich euch allen einen guten Rutsch ins neue Jahr, viel Erfolg und Gesundheit. Ich bin gerade eben über ein Zufall auf folgendes gekommen wie ich meinen Pfad Automatisch Ändern kann: (defun C: (wegenkeinsmiley) pathba() (command "-xref" "path") ) nun werde ich als nächstes gefragt: "bei welcher Xref möchte ich meinen Pfad Ändern". Das gute ist meine Xref heisst immer gleich... in jedem Objekt(dwg) heisst meine Xref = JOBA als nächstes würde das mit dwgprefix kommen... den Pfad davor noch Ändern (das sollte ich jetzt mit eurer Vorlage selber einbauen können) leider reicht der Pfad nicht aus, sondern ich muss ihm auch immer wieder den entsprechenden DWG-Namen sagen. (dieser ist immer Unterschiedlich) Jetzt kommt noch etwas wichtiges: Egal in welcher DWG ich bin, wenn ich in AutoCad unter Externe Referenzen "JOBA" anklicke, dann wird mir unter "Saved Path" der DWG-Name angezeigt den ich brauche um ihn an den Pfad hintendran zu setzen. Kann mir jemand sagen, wie ich die Information speichern kann. Also es gibt ja: DWGNAME ich bräuchte aber sowas wie: alterXrefPfad (bzw. momentanerXrefPfad= der momentane Pfad ist immer der richtige DWG Name den ich brauch um ihn hinten an den Pfad zu hängen. Ich hoffe man versteht was ich geschrieben habe. vielen Dank gruss fmfm [Diese Nachricht wurde von fmfm am 09. Jan. 2017 editiert.]
[Diese Nachricht wurde von fmfm am 09. Jan. 2017 editiert.] [Diese Nachricht wurde von fmfm am 09. Jan. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22298 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 10. Jan. 2017 01:29 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009
|
erstellt am: 10. Jan. 2017 08:24 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Hallo! Mit wenig oder keinen Programmierkenntnissen, diese Aufgabe umzusetzen, ist ein schwerer Einstieg in Lisp. Noch dazu weil Lisp träge ist, mehrere Dateien zu bearbeiten. Da ich z.Z. selber daran bin, einen verbesserten Xreferens-Manager zu schreiben, der zusätzlich auch Xrefs "attach- o. detach-en" kann. Hier ein kleiner Vorgeschmack. Vielleicht hilft es dir bereits bei deinem Vorhaben. Entweder Pfade/Dateinamen umzunennen, wiederum in mehreren Zeichnungen (ähnlich dem Referens Manager von Acad). Mit Hilfe der Eingabe "netload" lade die dll-Datei und gib dann den Befehl myxrefmanager ein. Du hast dann die Möglichkeit alle Zeichnungen, die xreferenzen haben auszuwählen und mittels des Dialogfensters, deinen Wünschen entsprechend zu bearbeiten (Find&Replace). Es ist wie gesagt nur ein Anfang (in Acad2016 version kompiliert) ------------------ Gruss Dirk Blog
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 10. Jan. 2017 09:49 <-- editieren / zitieren --> Unities abgeben:
noch als kleine Ergänzung. Eventuell bringt das noch was. Da steht der Dwgname. Jetzt muss es nur noch gespeichert (gemerkt) werden. (siehe Anhang) [Diese Nachricht wurde von fmfm am 10. Jan. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 25. Jan. 2017 17:59 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen in ein Paar Tagen müsste ich dran. Also an diese Aufgabenstellung wo mir diese LSP erstaunlich viel ersparen würde (Zeit). Leider sind meine Kenntnisse in dieser Zeit nicht wirklich vebessert worden. Wollte nochmal kurz Fragen, ob jemand hier die Lösung kennt und sie mir bitte sagen könnte. Ansonsten trotzdem vielen Dank an alle beteiligten. Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 25. Jan. 2017 18:00 <-- editieren / zitieren --> Unities abgeben:
|
archi.archi Mitglied
Beiträge: 109 Registriert: 08.10.2010 Windows 11 AutoCAD 2024/2025 Revit 2024/2025
|
erstellt am: 07. Nov. 2018 11:17 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|