| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Blöcke bzw. Attribute suchen (860 mal gelesen)
|
RoyCAD Mitglied Dipl-Ing Energietechnik
 
 Beiträge: 206 Registriert: 24.05.2004 Win XP AutoCAD2008-2010 Inventor 2008-2010 Productstream Compass P4 3,0GHz 512MB Ram
|
erstellt am: 26. Jul. 2005 16:34 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen Gibt es ein Tool der nach Blocknamen oder noch besser nach Attributen sucht. Ich habe fast 200 Zeichnungen und ich will wissen in welche dwg ist der Block vorhanden. Alle Zeichnungen befinden sich unter D:/CAD.
Gruß RoyCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad-intensiv Mitglied CAD-Anbieter

 Beiträge: 31 Registriert: 14.06.2005
|
erstellt am: 26. Jul. 2005 18:29 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Zitat: Original erstellt von RoyCAD: Hallo zusammen Gibt es ein Tool der nach Blocknamen oder noch besser nach Attributen sucht. Ich habe fast 200 Zeichnungen und ich will wissen in welche dwg ist der Block vorhanden. Alle Zeichnungen befinden sich unter D:/CAD.
Gruß RoyCAD
Dazu brauchst Du kein Tool, das geht mit ein paar Zeilen LISP, z.B. mit (ssget "X" '((0 . "INSERT")(2 . "BLNAME"))) bekommst Du einen Auswahlsatz, der alle Blockreferenzen auf den Block namens BLNAME enthält. Ganz analog kannst Du auch nach Attributen suchen. Robert
------------------ Lisp-Seminare in Wien am 25. und 26. Sep 2005 und später in München, Frankfurt, Köln , Berlin ... -> Infos unter cad-intensiv@gmx.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 26. Jul. 2005 21:24 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
|
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer

 Beiträge: 9807 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 26. Jul. 2005 23:37 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
|
cad-intensiv Mitglied CAD-Anbieter

 Beiträge: 31 Registriert: 14.06.2005
|
erstellt am: 26. Jul. 2005 23:51 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Zitat: Original erstellt von mapcar: Ach ja?Gruß, Axel Strube-Zettler
Was soll der Sarkasmus? Du weisst ganz genau, dass man alle Attribute mit (ssget "X" '((0 . "ATTRIB"))) erhält. Und ich weiss ganz genau, wie man sich aus dem Auswahlsatz dann diejenigen heraussucht, die den gewünschten Namen haben. Wenn "Roycad" diesen Weg verfolgt und dann Fragen hat, dann kann er sie ja immer noch stellen. Robert ------------------ Lisp-Seminare in Wien am 25. und 26. Sep 2005 und später in München, Frankfurt, Köln , Berlin ... -> Infos unter cad-intensiv@gmx.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer

 Beiträge: 9807 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 27. Jul. 2005 00:00 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
@Robert, Vermutlich wollte Axel darauf aufmerksam machen, dass man mit (ssget "X" ... nur in der aktuellen Zeichnung nach Attributen suchen kann, aber keinesfalls in einem Verzeichnis D:/CAD wo sich nach Angabe von RoyCAD ca. 200 DWG-Dateien (Zeichnungen) befinden. Später: EDIT - Falsch vermutet - siehe nachfolgende Beiträge ------------------ Mit freundlichem Gruß Udo Hübner [Diese Nachricht wurde von CAD-Huebner am 27. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator

 Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 27. Jul. 2005 10:13 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Hi, bin ich jetzt wieder blöd, oder was? Bei mir funzt (ssget "X" '((0 . "ATTRIB"))) gar nicht... Liegt das jetzt an meinem Acad (Map3D 2005)? Hat das überhaupt jemals funktioniert? ------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 27. Jul. 2005 11:35 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Zitat: Original erstellt von marc.scherer: Hat das überhaupt jemals funktioniert?
Nö, hat es nicht, und eigentlich sollte das hier bekannt sein, weil die Frage schon öfters gestellt wurde. ATTRIBS sind nun mal nachrangig in komplexen Entitities, genauso wie VERTEX in den fetten Polylinien. Ein (ssget "X" '((0 . "VERTEX"))) hat es auch nie gegeben, da ssget nur in der (oberen) Ebene der Haupt-Entities sucht. Nachrangige Entities in komplexen Entities kann man nur mit einer While-Schleife (o.ä.) auslesen, wenn man das Haupt-Entity schon hat. Zitat: Original erstellt von cad-intensiv: Ganz analog kannst Du auch nach Attributen suchen.
Ist also nix mit "ganz analog", sondern eine ganz andere Art des Suchens, die mehr Aufwand erfordert. Das "Ach ja?" war vielleicht sarkastisch, aber im Interesse des OPosters, damit er sich nicht mit derart falschen Infos in Sicherheit wiegt und sich dann beim Ausprobieren die Zähne ausbeisst. Das Ganze hat auch überhaupt nichts mit der Verzeichnisfrage zu tun: ssget findet nie ATTRIBS, und dabei ist es völlig wurscht, aus welchem Verzeichnis die zu durchsuchende Zeichnung kommt. Und der Hinweis aufs Designcenter bringt den OPoster auch nicht weiter, weil HIER postet und nicht in 'Rund um AutoCAD' - d.h. er hätte wohl gerne eine automatisierte Lösung. In dem oben zitierten Thread habe ich genügend Infos gegeben, wie man eine Script-Lösung zum Durchsuchen von Zeichnungen schreibt. Wie man an die ATTRIBS drankommt, habe ich oben angedeutet, wer's genauer wissen will: Suchfunktion des Forums. Der Code zum Durchsuchen von INSERTS nach nachrangigen ATTRIBS bzw. deren Werten ist hier schon X-mal gepostet worden. Also, cad-{intensiv, huebner}: Ab in die Ecke, schämt euch! Gruß, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator

 Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 27. Jul. 2005 12:19 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
|
RoyCAD Mitglied Dipl-Ing Energietechnik
 
 Beiträge: 206 Registriert: 24.05.2004 Win XP AutoCAD2008-2010 Inventor 2008-2010 Productstream Compass P4 3,0GHz 512MB Ram
|
erstellt am: 27. Jul. 2005 13:06 <-- editieren / zitieren --> Unities abgeben:         
Hallo Das ich mit (ssget "X" '((0 . "INSERT")(2 . "M6"))) nach dem Block M6 innerhalb einer dwg suchen kann war mir schon klar. Ich was aber nicht, wie soll ich ihm sagen das er in allen dwg Dateien die unter D:/CAD sich befinden suchen soll. Für ein Beispiel würde ich sehr dankbar. Gruß RoyCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad-intensiv Mitglied CAD-Anbieter

 Beiträge: 31 Registriert: 14.06.2005
|
erstellt am: 27. Jul. 2005 15:05 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Zitat: Original erstellt von mapcar: Also, cad-{intensiv, huebner}: Ab in die Ecke, schämt euch!
Stimmt, da hab' ich mich geirrt. Aber warum ich mich für einen Irrtum schämen soll, und warum Du meinst, darauf erst mal sarkastische Antworten geben zu müssen, ist mir völlig schleierhaft. Du machst sonst nicht den Eindruck, als ob Du das nötig hättest ... Robert ------------------ Lisp-Seminare in Wien am 25. und 26. Sep 2005 und später in München, Frankfurt, Köln , Berlin ... -> Infos unter cad-intensiv@gmx.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cad-intensiv Mitglied CAD-Anbieter

 Beiträge: 31 Registriert: 14.06.2005
|
erstellt am: 27. Jul. 2005 15:26 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Zitat: Original erstellt von RoyCAD:
Hallo Das ich mit (ssget "X" '((0 . "INSERT")(2 . "M6"))) nach dem Block M6 innerhalb einer dwg suchen kann war mir schon klar. Ich was aber nicht, wie soll ich ihm sagen das er in allen dwg Dateien die unter D:/CAD sich befinden suchen soll. Für ein Beispiel würde ich sehr dankbar.Gruß RoyCAD
Sehr einfach geht das mit einem Skript, mit dem Du die einzelnen Dateien durcharbeitest. "Etwas" komplizierter geht das in VisualLisp mit VLA-Funktionen, womit Du problemlos z.B. auch das DesignCenter nachprogrammieren kannst. Falls Dich das interessiert, sind hier verkürzt einige Codefragmente: Code:
(setq linkedDocument (vl-catch-all-apply 'vla-GetInterfaceObject (list acadObject "ObjectDBX.AxDbDocument.16") ) ) (vla-open linkedDocument dwgName)... (vlax-for blk (vla-get-blocks linkedDocument) (if (and (eq (vla-get-IsXref blk) :vlax-false) (eq (vla-get-IsLayout blk) :vlax-false) (= test-for-blname (vla-get-name blk)) ) ... ) )
Das kannst Du der Reihe nach für alle Zeichnungsdateien (-> dwgname) durchspielen und dabei auf Vorhandensein eines Blocks namens test-for-blname testen. Robert
------------------ Lisp-Seminare in Wien am 25. und 26. Sep 2005 und später in München, Frankfurt, Köln , Berlin ... -> Infos unter cad-intensiv@gmx.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoyCAD Mitglied Dipl-Ing Energietechnik
 
 Beiträge: 206 Registriert: 24.05.2004 Win XP AutoCAD2008-2010 Inventor 2008-2010 Productstream Compass P4 3,0GHz 512MB Ram
|
erstellt am: 27. Jul. 2005 15:53 <-- editieren / zitieren --> Unities abgeben:         
|
mapcar Mitglied CADmin

 Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 27. Jul. 2005 18:41 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Zitat: Original erstellt von cad-intensiv: Stimmt, da hab' ich mich geirrt. Aber warum ich mich für einen Irrtum schämen soll, und warum Du meinst, darauf erst mal sarkastische Antworten geben zu müssen, ist mir völlig schleierhaft. Du machst sonst nicht den Eindruck, als ob Du das nötig hättest ...
Mannomann, nimm das doch nicht gleich so tragisch! Ein bisschen Sarkasmus und Ironie schaden diesem Forum nicht, sondern tragen zur Belebung bei! Vielleicht wäre ein "Stimmt nicht!" nicht so sarkastisch gewesen, aber wesentlich schärfer. Und auf lange Romane hatte ich keine Lust, es war immerhin schon Mitternacht. Zitat: Original erstellt von RoyCAD: Sorry das mein Beitrag zu einem scharfen Worttausch geführt hat
Ich finde überhaupt nicht, dass hier ein scharfer Wortabtausch stattgefunden hat. Wer das "Ab in die Ecke..." als scharf empfindet, sollte versuchen, die Dinge mal mit etwas Humor zu sehen. Marc Scherer hat ja mit der Frage "Liegt das an meinem Map3d?" auch eine schöne humoristische Komponente ins Spiel gebracht;-) Gruß, Axel Strube-Zettler ------------------ Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer

 Beiträge: 9807 Registriert: 01.12.2003 One AutoCAD 2.5 - 2024, AutoCAD, Civil 3D, Win10/Win11
|
erstellt am: 27. Jul. 2005 22:32 <-- editieren / zitieren --> Unities abgeben:          Nur für RoyCAD
Ich sollte mich ja auch schämen  - hab ich auch ein paar Sekunden lang getan (weil ich den Fehler ssget in Verbindung mit Attrib gar nicht weiter zur Kenntniss genommen habe). Dann hab ich noch gedacht - vielleicht hilft der Hinweis auf die Möglichkeiten des Designcenters ja noch anderen Lesers weiter - dafür schäme ich micht nicht (hier wurde ja nur nach einem Tool gefragt). Manchmal kommen auch Tipps zu Lisp in "Rund und AutoCAD" Forum - warum nicht auch umgekehrt. Ach ja, mapcar darf das - mich entschädigt jedesmal seine aktuelle Systeminfo (Groucho Marx). Also der Beitrag ist gut so, und inhaltich ist er in jedem Fall wertvoll. So kanns ruhig weitergehen. ------------------ Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |