| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Autodesk Inventor: Rendering und Animation, ein Seminar am 12.05.2025
|
Autor
|
Thema: Blockattribute (1645 mal gelesen)
|
Kelme Mitglied
Beiträge: 33 Registriert: 16.03.2004
|
erstellt am: 06. Mai. 2004 10:55 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 06. Mai. 2004 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für Kelme
|
Kelme Mitglied
Beiträge: 33 Registriert: 16.03.2004
|
erstellt am: 06. Mai. 2004 10:59 <-- editieren / zitieren --> Unities abgeben:
|
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 06. Mai. 2004 11:03 <-- editieren / zitieren --> Unities abgeben: Nur für Kelme
Hallo Kelme, ja auch per Programmierung. Wenn das in verschachtelten Blöcken ist, musst du in die Blockdefinition rein und von den darin befindlichen INSERTS die Attribute auslesen. Was hast du konkret vor? Wenn du dann noch die Anzahlen haben möchtest, dann musst du die Anzahl Blockreferenzen der übergeordneten Blöcke zählen. Wenn das mehrfach verschachtelt ist, kann das ein ganz schönes 'Gewusele' werden. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kelme Mitglied
Beiträge: 33 Registriert: 16.03.2004
|
erstellt am: 06. Mai. 2004 12:32 <-- editieren / zitieren --> Unities abgeben:
Ich möchte die Attribute eines Blockes per VBA auslesen. Der Block ist aber bereits in eine andere Zeichnung eingefügt. Wenn ich versuche die Attribute auszulesen, wie ich es mache, wenn ich die Blockzeichnung direkt geöffnet habe, findet er immer keine. Das Ziel am Ende soll es sein, an Hand externer Daten eine Zeichnung zu erstellen, die aus lauter importierten Blöcken besteht. Danach soll zu dieser Zeichnung eine Stückliste erstellt werden. Dafür muß ich aber an die Attribute zu den Blöcken ran. Ciao
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: 06. Mai. 2004 12:39 <-- editieren / zitieren --> Unities abgeben: Nur für Kelme
Zitat: Original erstellt von Kelme: Ich möchte die Attribute eines Blockes per VBA auslesen.
VBA also, gut dass das jetzt auch mal gesagt wurde, ändert allerdings am Prinzip nichts. Zitat: Original erstellt von Kelme: Wenn ich versuche die Attribute auszulesen, wie ich es mache, wenn ich die Blockzeichnung direkt geöffnet habe, findet er immer keine.
Was ist für dich eine Blockzeichnung? Zitat: Original erstellt von Kelme: Das Ziel am Ende soll es sein, an Hand externer Daten eine Zeichnung zu erstellen, die aus lauter importierten Blöcken besteht. Danach soll zu dieser Zeichnung eine Stückliste erstellt werden. Dafür muß ich aber an die Attribute zu den Blöcken ran.
Das ist genau der Zustand, wofür ich in meinem vorherigen Posting das Prinzip beschrieben habe. In VBA heißen die Inserts allerdings dann BlockReference. Wo ist jetzt noch das Problem .. bei der Programmierung selbst? Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! [Diese Nachricht wurde von Brischke am 06. Mai. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kelme Mitglied
Beiträge: 33 Registriert: 16.03.2004
|
erstellt am: 06. Mai. 2004 12:54 <-- editieren / zitieren --> Unities abgeben:
Zunächst einmal Entschuldigung dafür, das ich da noch einige AutoCadlücken aufweise. Habe das Projekt übergeholfen bekommen, ohne mich je mit AutoCad beschäftigt zu haben. Mit Blockzeichnung meinte ich jetzt die *.dwg, in der mein jeweiliges Element drin ist. (BSP: knopf.dwg besteht aus einem Knopf mit Attributen Teilenummer, Farbe etc.)Von diesem kann ich ja auch die Attribute mit VBA auslesen. Über einfügen -> Block kann ich diese Zeichnung doch als Block ? in eine andere Zeichnung einfügen, oder? Und so wird aus vielen einzelnen mal eine große. (z.B. mehrere Knöpfe ) Und jetzt weiß ich nicht worin sich der Code prinzipiell unterscheiden muß, beim Auslesen aus der Zeichnung mit einem Element und der mit allen Elementen. 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: 06. Mai. 2004 13:07 <-- editieren / zitieren --> Unities abgeben: Nur für Kelme
Hallo Kelme, kein Problem, es ist nur schwierig zu helfen, wenn man (warum auch immer) nicht die konkreten Informationen hat. Man muss ganz hart unterscheiden zwischen einem Blockdefinition und und einer Blockreferenz! Innerhalb einer Blockdefinition gibt es nur Attributdefinitionen. Diese Attdefs werden, sobald dieser Block in der Zeichnung eingefügt wird, dann also eine Blockreferenz ist, zu Attributreferenzen. Attributreferenzen sind somit die Elemente, welche du auslesen möchtest. Theoretisch solltest du die Knopfzeichnung als Blockdefinition speichern, also so, dass die Attributdefinitionen und keine Attributdefinitionen vorhanden sind. Dann kannst du diese auch in der VielKnöpfeZeichnung mit GetAttributes abfragen. Wird das nun noch mehr verschachtel, also die VieleKnöpfeZeichnung in eine BüroMitVielenSchränkenZeichnung eingefügt, dann musst du, um die korrekten Werte ermitteln zu können, zunächst den Block VieleKnöpfeZeichnung durchlaufen und wenn du auf den Block Knopf stößt mit GetAttributes die Werte ermitteln. Um die Stückzahl zu erhalten ist dann die Anzahl der Blockreferenzen der VieleKnöpfeZeichnung in der BüroMitVielenSchränkenZeichnung zu ermitteln und diese mit der Anzahl der Knöpfe in der VieleKnöpfeZeichnung multiplizieren. Soweit das Prinzip. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kelme Mitglied
Beiträge: 33 Registriert: 16.03.2004
|
erstellt am: 06. Mai. 2004 13:09 <-- editieren / zitieren --> Unities abgeben:
|