| |
| 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 – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Wiedermal Blöcke (3159 mal gelesen)
|
erbschen Mitglied Zeichnerin für Elektrotechnik
Beiträge: 83 Registriert: 13.07.2004 Windows 10; ACAD 2023
|
erstellt am: 14. Apr. 2011 13:19 <-- editieren / zitieren --> Unities abgeben:
Hallöle Forum! Also nach 2stündiger Suche habe ich nun aufgegeben. Meine Blöcke liegen alle auf dem Layer "0". Alle Stckdosen und Leuchten etc. Die Blöcke sind aber auf den richtigen Layern erstellt. Also auf dem Layer "Beleuchtung", der aber eigentlich "von Layer" sein müsste. (vermutlich ist die Zeichnung aus PitCup). Da es vermutlich eine PitCup-Zeichnung ist heißen die Blöcke auch alle unterschiedlich, also Leuchte 1, 2, 3, etc. und ich kann somit nicht im Blockmanager alle Leuchten manuell auf die entsprechenden Layer legen. Ich suche nun ein LISP, (ich dachte, da schon mal was gehabt zu haben, finde es aber nicht mehr) das die Blöcke in ihren Eigenschaften auf "von Layer" stellt und dann vom Layer "0" auf den richtigen Layer (bsp. Beleuchtung) legt. (nuke ist dafür nicht der Richtige Befehl, das habe ich schon ausprobiert) Ich hoffe ihr habt mein Anliegen verstanden und könnt mir helfen. GLG aus Franken erbschen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 14. Apr. 2011 13:36 <-- editieren / zitieren --> Unities abgeben: Nur für erbschen
lege die blockREFERENZEN selbst auf die korrekten layer (nach deiner meinung - es ja auch mehrer layer im block genutzt sein..) nutze dafür laywalk oder layblaett. dann fensterwahl und auswahl auf neuen layer legen. ps: es muss nicht an einer programm bibliothek liegen. es gibt leute deren arbeitsweise so istc(freiwillig) edit: danach ein angepasstes NUKE laufen lassen. gibts hier auch anleitungen zum anpassen im forum. einfach nach nuke suchen im forum. nokiagrüße von CADffm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
erbschen Mitglied Zeichnerin für Elektrotechnik
Beiträge: 83 Registriert: 13.07.2004 Windows 10; ACAD 2023
|
erstellt am: 14. Apr. 2011 14:05 <-- editieren / zitieren --> Unities abgeben:
Hallo CADffm, ich glaube ich habe meine Frage nicht richtig formuliert, so komme ich nämlich nicht weiter. Ich habe Blöcke mit dem Namen Leuchte 1 bis Leuchte 1000, die aber alle die selben Leuchten sind nur sind die Blöcke durchnummeriert. Diese Blöcke sind erstellt auf dem Layer "Leuchten" und die Eigenschaften sind "gelb" oder so und liegen nun in der Zeichnung auf dem Layer "0" Meinetwegen können die Blöcke ihre unterschiedlichen Namen behalten, aber sie sollte danach alle auf dem Layer "0" erstellt sein, die Eigenschaften "von Layer" haben und in der Zeichnung dann auf dem Layer "Leuchten" liegen. Mal sehen, ob jemand ne hilfreiche Idee hat. Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MOTOKO Mitglied Bauzeichnerin
Beiträge: 106 Registriert: 13.09.2006 Civil 3D 2020 Microstation V8.05 /TRICAD Linear CAD Solution16 ProSig 6
|
erstellt am: 14. Apr. 2011 15:02 <-- editieren / zitieren --> Unities abgeben: Nur für erbschen
Ich würde das mit Layerkonvertierung machen. Setzt aber voraus, das ausschließlich die Blöcke auf Layer "Leuchten" liegen. Unter Einstellung kann man Blockweise konvertieren und "vonLayer" erzwingen. so behelf ich mir immer. würde allerdings Blöcke immer lieber vonBlock erstellen... Motoko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
erbschen Mitglied Zeichnerin für Elektrotechnik
Beiträge: 83 Registriert: 13.07.2004 Windows 10; ACAD 2023
|
erstellt am: 14. Apr. 2011 15:21 <-- editieren / zitieren --> Unities abgeben:
... da magst Du Recht haben und das weiß ich auch, das das ginge. Aber ca. 1000 Leuchten und ich weiß nicht wie viele Steckdosen, jeden Block einzeln bearbeiten, da brauche ich mir fürs Wochenende nichts vornehmen. Weiß keiner einen Lisp???? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Entsorger01 Moderator Techniker
Beiträge: 3310 Registriert: 07.07.2006 ACAD 2021 Acrobat Prof. Creative Suite WIN10
|
erstellt am: 14. Apr. 2011 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für erbschen
Stellt sich die Frage, ob es nicht einfacher wäre die Vielzahl der gleichen Blöcke mit unterschiedlichen Namen durch den einen zu ersetzen und dessen Definition dann anzupassen. <<<Hier>>> gabs vor Jahren schon mal so einen Ansatz, bei dem man über Wildcards die zu ersetzenden Blöcke auswählen konnte. Ob das Dingens allerdings noch läuft oder fortgeführt wurde - keine Ahnung. ------------------ Gruß Michi "Personalführung ist die Kunst, die Mitarbeiter so schnell über den Tisch zu ziehen, dass sie die Reibungshitze als Nestwärme empfinden." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
erbschen Mitglied Zeichnerin für Elektrotechnik
Beiträge: 83 Registriert: 13.07.2004 Windows 10; ACAD 2023
|
erstellt am: 14. Apr. 2011 15:51 <-- editieren / zitieren --> Unities abgeben:
... das Problem ist, dass die Blöcke alle im Plan bei 0,0 eingefügt sind, und das deren Einfügepunkt ist. Als nicht dass der eigentliche Block den Einfügebunkt 0,0 hat sondern der insbase liegt dann bei -1000, -1000, je nach Block.... 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: 9803 Registriert: 01.12.2003 AutoCAD 2.5 - 2025, Civil 3D, MAP 3D, ACADM, ACA Inventor Prof. 2025, AIP 4-2025 Win 11
|
erstellt am: 14. Apr. 2011 22:14 <-- editieren / zitieren --> Unities abgeben: Nur für erbschen
So wie ich die Aufgabe verstanden habe, lässt sich das mit AutoCAD Bordmitteln (4 Befehle) erledigen. 1 - Blockeigenschaften audf VONLAYER einstellen Dazu den Befehl VONLAYEREINST audfrufen. 2. Layer der Objekte in den Blockdefinitionen auf Layer "0" setzen Dazu einfach LAYZUSF von Layer "Leuchten" und Layer "0" -> Layer "Leuchten" verschwindet. 3. Layer "Leuchten" neu anlegen und dann die Blockreferenzen auf Layer "0" über SAUSWAHL oder SELECTSIMILAR auswählen und dann auf Layer "Leuchten" verlegen. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 15. Apr. 2011 08:01 <-- editieren / zitieren --> Unities abgeben: Nur für erbschen
Zitat: Original erstellt von erbschen: ... das Problem ist, dass die Blöcke alle im Plan bei 0,0 eingefügt sind, und das deren Einfügepunkt ist. Als nicht dass der eigentliche Block den Einfügebunkt 0,0 hat sondern der insbase liegt dann bei -1000, -1000, je nach Block....
Hallo, meiner Meinung nach kommst du da Effektiv nicht mit Bordmittel durch. Da ich nun mal nicht ganz unerfahren in der Programmierung bin, würde ich mir dafür ein Progrämmchen schreiben, was folgendes macht: 1) Alle Blockbasispunkte an das Objekt verlegt, so dass diese bei den Blöcken NAME_* allesamt identisch sind 2) Sofern die Blöcke alle die gleichen Attribute haben, würde ich allen Blockreferenzen NAME_* sagen, dass diese nun auf den Block NAME referenzieren und ein anschließendes ATTSYNC über den Block NAME schicken. Damit wäre die Sache erledigt. Die damit verbundenen Teilaufgaben sind alle schon gelöst (DT-BLOCK-MOVEBASEPOINT) verschiebt den Basispunkt eines Blockes und der Austausch von NAME_* auf NAME ist mit einer Zeile erledigt. (setq eld (entget(car(entsel))))(entmod (subst (cons 2 "NAME")(assoc 2 eld)eld)) (das muss natürlich noch für einen Auswahlsatz (ssget "_X" '((2 . "NAME_*"))) gemacht werden. Am Ende hast du einen Block für jedes Bauteil. Diese dann manuell zu bearbeiten, was die Laergestaltung angeht, ist sicher zu bewerkstelligen. Manuell, die vielen verschiedenen Bauteile zu bearbeiten ist sicher sehr zeitaufwändig. Ich weiß nicht, wie weit du mit Lisp umgehen kannst .. vielleicht helfen dir ja meine Ausführungen. Bei Fragen ... 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 |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1455 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 15. Apr. 2011 09:21 <-- editieren / zitieren --> Unities abgeben: Nur für erbschen
Hallo erbschen, wenn ich mir das so durchlese gibts hier Verständigungsprobleme Also du hast Blöcke deren Elemente in der Blockdefinition auf Layer Beleuchtung liegen. Die Blockreferenz liegt auf Layer 0 Eigentlich sollte das umgekehrt sein. Cadffm hat dir doch schon die Idealantwort geliefert. Vorgehensweise Schritt für Schritt für z.B. die Beleuchtung. Nur Layer Beleuchtung einschalten. Die Beleuchtung ist sichtbar auch wenn Layer 0 aus (nicht gefroren) ist. Diese Objekte auswählen und auf Layer Beleuchtung legen. Das machst du mit allen Objekten auf allen Layern bei denen das nötig ist. Danach die Elemente in den Blockdefinitionen (mit einem Tool) auf Layer 0 legen. Fertig. Wenn das nicht geht weis ich auch nicht wo das Problem ist. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
erbschen Mitglied Zeichnerin für Elektrotechnik
Beiträge: 83 Registriert: 13.07.2004 Windows 10; ACAD 2023
|
erstellt am: 15. Apr. 2011 12:41 <-- editieren / zitieren --> Unities abgeben:
Hallöle Forum, (Ihr seid echte Checker) so, nun habe ich den ganzen Vomittag mit filtern, kopieren, nuken und vonlayeinsten verbracht. Hätte ich mir alles sparen können. Nach den Beitrag von Andreas habe ich den Plan in Kürze modifizieren können. Den Befehl "_laywalk", sowie "vonlayereinst" kannte ich nicht vielen Dank dafür! (da habe ich mich gestern vielleicht auch ein bischen doof angestellt!!) Das Problem, das ich noch hatte waren die Leuchten. Die waren nämlich im Block verschiedenfarbig gefüllt, was ich auch beibehalten wollte nur den Rahmen wollte ich in "von Layer" haben. Und damit Ihr und ich in 3 Tagen noch weiß, wie ich es nun gemacht habe, hier eine kurze Anleitung: 1. Mittels "_laywalk" die Gegenstände auf entsprechende Layer legen 2. Alle Layer außer der Architektur und den Beleuchtungslayern in eine seperarte Zeichnung kopieren und im Ursprungsplan löschen (sicher ist sicher) 3. "nuke" und "vonlayereinst" drüberlaufenlassen (geile Sache) 4. Den Ursprungsplan bereinigen und die modifizierten Installationen wieder einfügen 5. Beleuchtung aus dem Ursprungsplan in einen Arbeitsplan kopieren und im Ursprungsplan löschen 6. Die Beleuchtung mittels "farbkonv" modifizieren. Den Layer (schwarz oder was immer beim Rahmen auch für ein Layer rauskam" wieder in Beleuchtung umbenennen. Alle Leuchten markieren und auch auf den Beleuchtungslayer legen. Dem Layer nun die gewünschte Farbe zuweisen. Kein "nuke" und kein "farbkonv" verwenden!!! 7. Beleuchtung zurück in den bereinigten Ursprungsplan konvertieren und alles ist bestens. Liebe Grüße aus Franken und 1000 Dank für die Hilfe. Von Euch kann man echt was lernen!!!!!!!!! erbschen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
erbschen Mitglied Zeichnerin für Elektrotechnik
Beiträge: 83 Registriert: 13.07.2004 Windows 10; ACAD 2023
|
erstellt am: 15. Apr. 2011 12:45 <-- editieren / zitieren --> Unities abgeben:
Noch was: Danke Holger für die Tips, die Lisp-Schnipsel helfen mir aber wenig (bin ich viel zu doof dafür). Ich hatte heute früh schon in Erwägung gezogen mir von Dir da was schreiben zu lassen. Hätte ich schließlich auch getan, weil ich ähnliche Sachen immer wieder habe. Aber mit meiner Lösung bin ich nun doch ganz gut gefahren. Bestimmt komme ich irgenwann auf Dich zu, weil ich dann doch mal was brauchen werde. Vielen Dank!! erbschen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |