| |
| 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: verschachtelte Blöcke feststellen (1499 / mal gelesen)
|
Wilfried Nelkel Mitglied glaubt mir eh keiner
Beiträge: 806 Registriert: 15.03.2001
|
erstellt am: 09. Mrz. 2018 10:19 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe AutoLisp-Gemeinde Ich habe eine Zeichnung in der befindet sich ein Block. Dieser Block besteht wiederum auf vielen einzelnen Blöcken die teilweise bis zu 3 Ebenen verschachtelt sind. Ziel der "Übung" ist es, die Elemente der Blockdefinitionen auf einen Layer zu legen, welcher dem Blocknamen entspricht. Solange ich die "Einzelblöcke" über einen Auswahlsatz bearbeite, funktioniert das bereits. Das heißt, ich bräuchte vor diesem funktionierenden Programmpart eine Lösung, um den Ausgangsblock solange aufzulösen, bis nur noch "Einzelblöcke" vorhanden sind. Habt Ihr da was im Petto? ------------------ Schöne Grüsse Wilfried Nelkel CAD-Technik Nelkel GmbH http://www.cad-nelkel.de http://www.schulungshandbuch.de
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 09. Mrz. 2018 10:32 <-- editieren / zitieren --> Unities abgeben: Nur für Wilfried Nelkel
Schreibe eine Routine welche einen Blocknamen und eine Layernamen haben möchte, dann gehst du die Blockobjekte durch und legst alle Objekte auf den Layer. Weiter prüfst du bei jedem Objekt ob es sich um ein Insert handelt, falls ja übergibst du den Blocknamen zu diesem Insert und den Layer an deine Funktion. So arbeitest du alle Objekte und alle Blöcke ab. Glück und Wünsche das die Blöcke nicht in verschiedene Blöcken/Layern verwendet werden. Dann noch die Attribute der Blockreferenzen nicht vergessen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wilfried Nelkel Mitglied glaubt mir eh keiner
Beiträge: 806 Registriert: 15.03.2001
|
erstellt am: 09. Mrz. 2018 10:41 <-- editieren / zitieren --> Unities abgeben:
Hallo, erstmal danke für die Antwort. Was ich eigentlich bräuchte, ist eine Routine, welche ausschließlich verschachtelte Blöcke auflöst. Am Ende wäre es nett, wenn nur noch die jeweils einzelnen Blöcke eingefügt wären. Also ein Ursprung-Befehl, welcher ausschließlich verschachtelte Blöcke (auch mehrfach) auflöst. ------------------ Schöne Grüsse Wilfried Nelkel CAD-Technik Nelkel GmbH http://www.cad-nelkel.de http://www.schulungshandbuch.de
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 sw: Win7-x64 Office 365 ProPlus C3D (& LT ) ET; DACH; Extensions ------------------- hw: FX3800 i5 CPU 670 8GB RAM
|
erstellt am: 09. Mrz. 2018 10:47 <-- editieren / zitieren --> Unities abgeben: Nur für Wilfried Nelkel
|
Wilfried Nelkel Mitglied glaubt mir eh keiner
Beiträge: 806 Registriert: 15.03.2001
|
erstellt am: 09. Mrz. 2018 10:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Runkelrübe, fix und fertig muss es nicht sein :-) Ich brauch ne Idee. Danke für die Links. Ich schau mal ob ich hier was finde. Meine Suche hat zwar etwas geholfen, aber wie gesagt... Es hakt an den verschachtelten Blöcken. ------------------ Schöne Grüsse Wilfried Nelkel CAD-Technik Nelkel GmbH http://www.cad-nelkel.de http://www.schulungshandbuch.de
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: 09. Mrz. 2018 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für Wilfried Nelkel
Hallo Wilfried, die Idee hat dir cadffm bereits geliefert. Wenn du alle Elemente aller Blockdefinitionen durchläufst, dann hast du alle Verschachtelungsebenen abgearbeitet. Sinngemäß: --> für jede Blockdefinition in Zeichnung ----> für jedes Element in Blockdefinition ------> if Element = Insert Dann setLayer[ABC] Grüße! Holger
------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wilfried Nelkel Mitglied glaubt mir eh keiner
Beiträge: 806 Registriert: 15.03.2001
|
erstellt am: 09. Mrz. 2018 11:01 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, stimmt. Ich muss ja nicht die Elemente auswählen, sondern nur die Blöcke (bzw. deren Elemente), welche keine verschachtelten Blöcke sind, auf die jeweiligen Layer legen... Ich klöppel da mal was zusammen ------------------ Schöne Grüsse Wilfried Nelkel CAD-Technik Nelkel GmbH http://www.cad-nelkel.de http://www.schulungshandbuch.de
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |