| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: suchen und erstzen (1181 mal gelesen)
|
joeycool Mitglied Ingenieur TGA
Beiträge: 1455 Registriert: 01.06.2004 MEP/ACAD 2008, 2010, 2011 2012 und 2013, 2014, 2015 WIN7 64 bit ATI 2,8 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro FX 4600
|
erstellt am: 27. Jul. 2004 10:00 <-- editieren / zitieren --> Unities abgeben:
Gibt es eigentlich eine solche funxion, (analog zu winword) als lisp oder eventuell auch als eingebauten befehl? Konkret meine ich folgendes: Ein Zeichnungselement mit eindeutiger Definition (in meinem Fall ein Kreis mit identischer, Farbe, Layer, Durchmesser usw.) das mehrmals in der Zeichnung vorkommt, soll jeweils durch einen bestimmten Block ersetzt werden! Geht das, außer zu Fuß??? Joey Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 27. Jul. 2004 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
such mal in der Hilfe des AutoLispeditors unter ssget.. und zum Ersetzen ... soll der Blockbasispunkt = Kreismittelpunkt sein?? -> Diese Geometriedaten stehen zumeist in den dxf-Gruppencodes 10.. Bei weiteren Fragen.. ------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cadzia Ehrenmitglied V.I.P. h.c. CAD/Grafik-Dienstleister
Beiträge: 2917 Registriert: 02.07.2004
|
erstellt am: 27. Jul. 2004 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
Hallo Joey, vielleicht helfen Dir früs erste auch einfache Acad-Hilfmittel schonmal weiter: Suchen und Ersetzen (von einfachen Texten) gibts auch direkt in Acad, Befehl:_find Ein Tool zum Blöcke tauschen gibt es in den ExpressTools oder bei Cadwiesel (blk-tau.lsp). ------------------ Grüße Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 27. Jul. 2004 10:12 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
Auch wenn diese Antwort nicht zum Thema passte werde ich sie noch korrigieren: _find ist nicht nur für "einfache Texte" da, sondern tauscht Textwerte in TEXT, MTEXT, ATTRIBUTEN, BEMASSUNGskommentaren und HYPERLINKS ! ------------------ - Sebastian - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joeycool Mitglied Ingenieur TGA
Beiträge: 1455 Registriert: 01.06.2004 MEP/ACAD 2008, 2010, 2011 2012 und 2013, 2014, 2015 WIN7 64 bit ATI 2,8 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro FX 4600
|
erstellt am: 27. Jul. 2004 10:21 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Cadzia: Hallo Joey, vielleicht helfen Dir früs erste auch einfache Acad-Hilfmittel schonmal weiter:Suchen und Ersetzen (von einfachen Texten) gibts auch direkt in Acad, Befehl:_find Ein Tool zum Blöcke tauschen gibt es in den ExpressTools oder bei Cadwiesel (blk-tau.lsp).
Nee, ist leider nicht sooo einfach, ist kein text, und auch kein block, der durch einen anderen ersetzt werden soll.
sondern da, wo bisher ein kreis war, soll ein block hin und: ja @thomas, der Blockbasispunkt ist gleich dem Kreismittelpunkt, leider war das das Einzige, was ich in Deiner Antwort verstanden habe. Was sind dxf Gruppencodes? ich hab doch kein dxf File??? Zorry, bin kein LISP Profi, sondern nur simpler user :-(( Trotzdem thanx zusammen Joy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 27. Jul. 2004 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für joeycool
im Endeffekt sollte dann so' ne Funktion rauskommen : (defun C:Ersetze ( / Kreis Block AUSWAHL OBJEKT INDEX) (if (and(setq BLOCK(getstring "\nBlockname: ")) (tblsearch "BLOCK" BLOCK) (setq Kreis (car(entsel "\nKreis wählen: "))) (setq Kreis (entget KREIS)) (=(cdr(assoc 0 KREIS)) "CIRCLE") (setq Auswahl (ssget "_x" (list (assoc 0 KREIS) (assoc 8 KREIS) (assoc 40 KREIS) ) ) ) ) (progn (setq INDEX -1) (repeat(sslength AUSWAHL) (setq OBJEKT(ssname AUSWAHL (setq INDEX(1+ INDEX)))) (command "_-insert" BLOCK "_s" 1 "_r" 0 (cdr(assoc 10 (entget OBJEKT)))) (command "_erase" OBJEKT "") ) ) ) (princ) ) ------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joeycool Mitglied Ingenieur TGA
Beiträge: 1455 Registriert: 01.06.2004 MEP/ACAD 2008, 2010, 2011 2012 und 2013, 2014, 2015 WIN7 64 bit ATI 2,8 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro FX 4600
|
erstellt am: 27. Jul. 2004 12:54 <-- editieren / zitieren --> Unities abgeben:
BOAHHH! @Thomas, ich bin tief beeindruckt, genau das wars, thanx a lot. Was mich nur wundert ist, daß bisher anscheinend niemand dieses Problem hatte. Ich werd die kleine lisp in Ehren halten Joey Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|