| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Blöcke ohne Namen umbennen (3994 mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 17. Dez. 2013 11:33 <-- editieren / zitieren --> Unities abgeben:
Im Anhang liegt eine Zeichnung mit einem Block ohne Namen. Ich möchte gern diesen Block umbenennen, aber weiss nicht wie. Code: (entmod (subst (cons 2 "NEWNAME") (assoc 2 (entget BLOCK)) (entget BLOCK)))
zieht nicht, deshalb meine Frage könnte ich den Block so manipulieren, dass ich die Liste (2 . "") rausschmeisse und durch eine neue ersetze. Ergebnis sieht so aus:
Code: ((-1 . <Entity name: 7fffe53ed30>) (0 . "INSERT") (330 . <Entity name: 7ffff76a9f0>) (5 . "66FF3") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "M-INFART-SLÄNT") (2 . "fdsfdsfsd") (10 127958.0 6.48594e+006 0.0) (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))))
Die Frage ist, kann ich den Block aus der Liste überhaupt erzeugen?
------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 17. Dez. 2013 11:46 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 17. Dez. 2013 12:34 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 17. Dez. 2013 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Grenze ? Mit entmod kann man eben keinen Blockname (+alle Referenznamen!) ändern, der Weg via AutoLisp wäre also so: Block mit neuem Namen erstellen, die Blockreferenzen dann auf diesen Block verweisen. (entmod manipuliert nur ein Objekt, somit kann das ja nicht gehen weil die Referenzen dann ins nichts verweisen würden) ------------------ 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: 1832 Registriert: 28.04.2009
|
erstellt am: 17. Dez. 2013 15:00 <-- editieren / zitieren --> Unities abgeben:
Hi! Das hatte ich in meinem Beispiel beschrieben, ich erstelle einen neuen Block, d.h. verwerfe die Liste (2 . "") und ersetze sie mit dem neuen Namen. Anschliessend setze die e-list neu zusammen. Jetzt war mein Problem, wie kann ich die neue e-list als Block erzeugen lassen. ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 17. Dez. 2013 15:25 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 17. Dez. 2013 18:09 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
@Dirk, wenn die Blockstruktur in Acad eine Hürde ist, dann mache es ohne Programmierung. Da ein Block ohne Name ein Fehler ist: Befehl PRÜFUNG und anschließend Befehl UMBENENN. (wobei das vla-put-Name in diesem Fall ja alles macht wie gewünscht, war nur ein Hinweis auf ein Boardmittel) ------------------ 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: 1832 Registriert: 28.04.2009
|
erstellt am: 17. Dez. 2013 18:45 <-- editieren / zitieren --> Unities abgeben:
Ich habe es mit dem ersten Vorschlag von Thomas schon hinbekommen, meine Intresse galt nur der Autolispversion. In Visual stand ich vor selbigen Problem, aus der Blockreferenz ein das Blockobjekt nach dem Namen zu fragen und zu ändern. Ich habe wirklich ein Problem..., die Struktur eines Blockobjektes zu verstehen Aber ich gebe der Sache nochmal ein wenig Bedenkzeit. Danke nochmal für Eure Unterstützung. /D ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 18. Dez. 2013 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 18. Dez. 2013 09:21 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 18. Dez. 2013 12:47 <-- editieren / zitieren --> Unities abgeben:
Danke für eure Aw, werde heute leider nicht mehr dazukommen - is ja en Stress mit W.nachten. Denke aber es auch auf diesem Weg hinzubekommen. Grob hab ich es so verstanden, die Blockobjekte (Linien, Bögen, Texte...) in eine neue Blockrefernz zu packen, der ich einen Blocknamen verpasse. ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 18. Dez. 2013 12:49 <-- editieren / zitieren --> Unities abgeben:
|
archtools Mitglied
Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 18. Dez. 2013 23:20 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Original erstellt von cadplayer: Im Anhang liegt eine Zeichnung mit einem Block ohne Namen. Ich möchte gern diesen Block umbenennen, aber weiss nicht wie.
Code: (entmod (subst (cons 2 "NEWNAME") (assoc 2 (entget BLOCK)) (entget BLOCK)))
zieht nicht
logisch, denn damit kannst Du nur eine **benannte** Blockdefinition in einer andere benannte umbenennen. Du willst aber einen anonymen Block in einen benannten Block umbenennen, und dazu musst Du auch den DXF Gruppencode 70 ändern. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 19. Dez. 2013 11:07 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Hallo,Warum als private Nachricht? Bitte Fragen nochmals im Forum stellen. Gruß Tom ----- Original Message ----- Link zum Beitrag
n´Abend Tom bist du sicher mit ENTMOD eine Blocknamen ändern zu können ? Und zur restlichen Beschreibung: warum MUSS man denn Bitteschön den gc70 ändern ? Und noch ein UND: Hier geht es nicht um einen anonymen Block, sondern um einen Block "ohne Namen", Name = "" ja, es ist schon spät. Sebastian
EDIT: Da Tom von einem anonymen Block aus ging, macht seine Aussage zum gc70 Sinn, aber das ist hier ja nicht der Fall.
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD [Diese Nachricht wurde von cadffm am 19. Dez. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 19. Dez. 2013 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Original erstellt von cadffm:
EDIT: Da Tom von einem anonymen Block aus ging, macht seine Aussage zum gc70 Sinn, aber das ist hier ja nicht der Fall.
Mir ist schleierhaft, wie Du einen Block mit leerem String als Namen überhaupt erzeugen konntest. Welchen GC 70 hat der denn? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 19. Dez. 2013 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 20. Dez. 2013 14:45 <-- editieren / zitieren --> Unities abgeben:
Nur so am Rande bemerkt, bei mir erzeugt es Blöcke ohne Namen, wenn ich diese von einem ODCL menu aus einem bestimmten Dateipfad reinziehe. Dem könnte ich zwar zuallererst mal nachgehen - wieso das so ist. Ich war nur ersteinmal faszieniert, wie das die Acad-datenbank überhaupt zulässt. ... ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Dez. 2013 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 20. Dez. 2013 15:01 <-- editieren / zitieren --> Unities abgeben:
Naja ich würde es jetzt nicht unbedingt in die Schublade stecken, da man mit wenigen Griffen ansehnliche Menus schaffen kann. Aber kann für manch einen auch veraltet erscheinen. Nebenbei Basti und allen hier schöne Weihnachten - war doch wieder ein fruchtvolles Jahr im Forum - 1A und dickes Lob an die Macher ------------------ Gruss Dirk http://cadplayerlounge.blogspot.se Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |