| |
| 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: Referenzen filtern (447 mal gelesen)
|
Waldemar Mitglied Applikationsingenieur
Beiträge: 264 Registriert: 06.09.2001 Windows 7, Intel Core 2 Duo, P8600 AutoCAD, AutoCAD MEP, Revit MEP Navisworks
|
erstellt am: 10. Jan. 2008 07:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, in ca. 100 Dateien gibt es neben mehreren Referenzen eine deren Name das Wort "Legende" beinhaltet. Die Referenz muss ich dringend für die Abgabe in die Zeichnung binden. Besteht die Möglichkeit eine Funktion in Lisp einzubinden, die die Referenz herausfiltert? Hab mich mit SSGET beschäftigt, komme leider nicht weiter... Viele Grüsse Waldemar
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 10. Jan. 2008 07:49 <-- editieren / zitieren --> Unities abgeben: Nur für Waldemar
Du musst die Blocktabelle durchlaufen und dann die Namen dieser prüfen so müsste es gehen: Code: (setq EARX_BTAA (tblnext "BLOCK" T)) (while (/= EARX_BTAA nil) (if (wcmatch (cdr (assoc 2 EARX_BTAA)) "*Legende*" ) ;_ end of wcmatch (command "_xref""_b" (cdr (assoc 2 EARX_BTAA))) (setq EARX_BTAA (tblnext "BLOCK")) ) ;_ end of if ) ;_ end of while
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Waldemar Mitglied Applikationsingenieur
Beiträge: 264 Registriert: 06.09.2001
|
erstellt am: 10. Jan. 2008 08:24 <-- editieren / zitieren --> Unities abgeben:
Hallo CADwiesel, zuerst vielen Dank für die schnelle Hilfestellung. Habe den Code in eigene LSP Datei eingefügt. Sieht so aus: ; ********** Programmbeginn ********** (defun C:XR-WP (/ WP_CM ) ;Systemvariablen werden gesetzt (Setvar "Cmdecho" 1) (setq EARX_BTAA (tblnext "BLOCK" T)) (while (/= EARX_BTAA nil) (if (wcmatch (cdr (assoc 2 EARX_BTAA)) "*Legende*" ) ;_ end of wcmatch (command "_xref""_b" (cdr (assoc 2 EARX_BTAA))) (setq EARX_BTAA (tblnext "BLOCK")) ) ;_ end of if ) ;_ end of while (Princ) ); defun (PROMPT "\nStart mit -----> XR-WP\n") (PRINC) ; ********** Ende ********** Die Referenz Legende wird super gebunden, das Programm läuft aber in einer Endlosschleife. Der Befehl _xref wird immer wieder aufgerufen. Wo muss ich hier noch was verstellen?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 10. Jan. 2008 08:35 <-- editieren / zitieren --> Unities abgeben: Nur für Waldemar
Hallo, @CADwiesel Darf ich antworten? Wahrscheinlich hat das Wiesel den Code einfach runter geschrieben, ohne weiter zu testen. NAch gleichem Verfahren nachfolgend auch mein Korrekturvorschlag: Die Zeile (setq EARX_BTAA (tblnext "BLOCK")) muss eine Zeile tiefer, denn das 'durchhecheln' zum nächsten Block muss immer gemacht werden, egal, ob der Block nun Legende heißt oder nicht. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Waldemar Mitglied Applikationsingenieur
Beiträge: 264 Registriert: 06.09.2001
|
erstellt am: 10. Jan. 2008 08:42 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 10. Jan. 2008 13:00 <-- editieren / zitieren --> Unities abgeben: Nur für Waldemar
|