| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Elemente auch im Block auf vonlayer setzen (2301 mal gelesen)
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 17. Jan. 2008 17:08 <-- editieren / zitieren --> Unities abgeben:
Kennt jemand ein Tool, mit dem man scripttauglich auch die Elemente in einem Block auf "Farbe bylayer" setzen kann? Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2624 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V21 pro Plateia, Canalis Visual Basic
|
erstellt am: 17. Jan. 2008 17:29 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Hallo peter, was meinst du mit "scripttauglich" ? Beim einlesen der Blöcke aus einem Script oder soll das Script verwendet werden dies durchzuführen? Kann es auch ein Makro (VBA oder Lisp) sein? Grüße, Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 17. Jan. 2008 21:37 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Denke Ja .. entweder bei www.cadwiesel.de oder bei mir auf der Festplatte ... da das eine ziemlich allgemein verbreitete Aufgabenstellung ist solltest du in den Weiten des www aber mit Eigeninitiative und Google fündig werden ... Weils so schön ist verlinke ich mal wieder hierauf von dem du aber eigentlich nur 24 Codezeilen benötigst. Du ist ja auch im Lispforum aktiv ... meinste, du bekommst das nicht selbst gebacken ? Wenn nicht, kannste aber gerne noch mal anfragen. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 17. Jan. 2008 23:57 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von KlaK: ...was meinst du mit "scripttauglich" ? ...Kann es auch ein Makro (VBA oder Lisp) sein? Grüße, Klaus
Damit meine ich, dass der Befehlsaufruf und -ablauf ohne Dialogfenster auskommen und in Lisp per (command "machwas" ...) aufrufbar sein muss. Zitat: Original erstellt von CADmium: Denke Ja .. entweder bei www.cadwiesel.de oder bei mir auf der Festplatte ... Du ist ja auch im Lispforum aktiv ... meinste, du bekommst das nicht selbst gebacken ? Wenn nicht, kannste aber gerne noch mal anfragen.
Bei Cadwiesel habe ich schon vorher geschaut - gefunden habe ich derzeit nichts. Das Selberbacken ist natürlich die Option, wenn ich bis dahin nichts finde. Schönen Abend Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 18. Jan. 2008 08:03 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 18. Jan. 2008 08:25 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
1. fragt das Teil noch ein paar mal den User ab und 2. hab ich damals die Attribute noch nicht berücksichtigt deshalb mal hier noch ne getraffte Version, obwohl das betreffs Weiterbildung von Peter vielleicht kontraproduktiv ist. Aufruf im Script (c:COLORBYLAYER) Aber ab Version 2008 gibts ja wohl auch n integrierten ACADBefehl, der das auf VonLayer-Setzen erledigt. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 18. Jan. 2008 09:31 <-- editieren / zitieren --> Unities abgeben:
Krankheitshalber bin ich heute ziemlich ausser Betrieb und werde erst später testen können - sicher mit bestem Ergebnis. Danke an Cadmium und spider_dd. Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2624 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V21 pro Plateia, Canalis Visual Basic
|
erstellt am: 18. Jan. 2008 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Hallo Peter, beiliegend eine VBA Funktion zum Ändern der Farbe (rekursiv bei verschachtelten Blöcken). Kannst Du auch per ^C^C(command "vbarun" "BC_2_Layer") auf ein Buttom legen. Die Farben der Elemente werden dabei auf ByBlock gesetzt, damit auch wirklich die Farben des Layers übernommen werden in dem der Block gesetzt wurde. Falls Du das nicht möchtest müßten die Kommentarzeilen in der Funtktion geändert werden. Grüße, Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 18. Jan. 2008 10:57 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von KlaK: ...Die Farben der Elemente werden dabei auf ByBlock gesetzt, damit auch wirklich die Farben des Layers übernommen werden in dem der Block gesetzt wurde...
Danke Klaus, aber im konkreten brauche ich nicht byblock, sondern bylayer. Vielleicht kann man den Startaufruf so umbauen, dass man mit beiden Parametern arbeiten kann: "BC_2_Layer" und "BC_2_block"? Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2624 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Bricscad V11-V21 pro Plateia, Canalis Visual Basic
|
erstellt am: 18. Jan. 2008 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Hallo Peter, kein Problem. Wie bereits oben erwähnt, in der Sub Change_B_color in den Zeilen Code: ent.Item(i).color = acByBlock 'ent.Item(i).color = acByLayer
die Kommentarzeichen (') tauschen. Das war'sHab Dir noch mal die dvb mit beiden Aufrufen angehängt (ungetestet). Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 22. Jan. 2008 20:37 <-- editieren / zitieren --> Unities abgeben:
Wegen diverser Verzögerungen kann ich erst heute antworten: 2Klaus: Danke, aber dein Programm fordert vom Benutzer die Auswahl von einzelnen Objekten. Ich muss aber alles automatisch durcharbeiten. 2CADmium: Ebenfalls danke, Läuft gut, aber bei einigen Zeichnungen fällt es auf die Nase:
Code: Befehl: colorbylayer ; Fehler: ActiveX-Server hat einen Fehler zurückgegeben: Ungültiger Index
Beiliegend eine Zeichnung, die nur aus dem fehlerhaften Block besteht. Für mich ist nicht klar, was da kaputt ist. Vielleicht die konstanten Attribute, die links oben hängen und beim Explodieren auftauchen? Löscht man die Zeichnungsinhalte, läuft das Programm ohne Fehler, aber mit der Schlussmeldung "nil" - hat es was gemacht oder nicht?Schönen Abend Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) [Diese Nachricht wurde von Peter2 am 22. Jan. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 23. Jan. 2008 08:21 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Jo .. der Fehler tritt auf, wenn der Block Attributsdefinitionen enthält, in der Referenz dadurch der hasattributeflag gesetzt ist, aber deie Referenz dann doch keine Attribute enthält. Anbei mal ne Version die den Fehler umgeht. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2490 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: 23. Jan. 2008 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Zitat: Original erstellt von CADmium: Jo ...wenn der Block Attributsdefinitionen enthält, in der Referenz dadurch der hasattributeflag gesetzt ist, aber deie Referenz dann doch keine Attribute enthält...
Was meiner Auffassung nach ganz klar ein Bug in AutoCAD ist und kein Feature. Siehe auch: FAQ BlöckeStichwort ATTSYNC
------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |