| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: blockattribute in liste auslesen und nachträglich zeichnung über liste bearbeiten (3784 mal gelesen)
|
Mario H Mitglied Student
Beiträge: 50 Registriert: 12.08.2004
|
erstellt am: 12. Aug. 2004 21:41 <-- editieren / zitieren --> Unities abgeben:
Hi Ich bin gerade dabei eine Material-Bibliothek (Artikel) im AutoCad herzustellen. Das sieht so aus das ich Blöcke mit Attributen erstelle und die dann über die Attributextraktion über eine Liste anzeige. (Excel, Editor oder was auch immer) Das klappt auch alles ziemlich gut, dafür das ich das noch nie gemacht habe. Ich habe in der Liste dann alles stehen was ich haben will. (Pos.Nr., Bezeichnung, Bestellnummer etc.) Meine Frage ist jetzt: 1. Gibt es irgent eine Funktion oder so mit der ich nachträglich aus meiner Liste die Attribute meiner Blöcke verändern kann. Soll heissen ich suche mir z.B einen Block (Artikel) anhand der Bezeichnung aus und ändere die Pos.Nr (in der Liste wohl gemärkt) und die Pos.Nr. änder sich dann auch in meinem Block (also in meiner Bibliothek) 2. Gibt es die möglichkeit aus meiner Liste z.B 5 Blöcke (Artikel)auszuwählen, z.B. Pos.Nr. 1-5 und diese dann in einer neuen AutoCad zeichnung zu öffnen. Man sagte mir in einem andern Forum das ich hier mal nach fragen soll. Mit der oben erwänten anfrage bin ich dort aufgetreten
Leider kommt hinzu das ich ein totaler nichts könner was das Programmieren an geht bin. Weder in lisp oder VB etc. da kenn ich mich garnicht aus. Vieleicht gibt es ja noch andere möglichkeiten so eine Bibo. anzulegen. Ich nehme jeden Ratschlag dankent an. Ich schilder noch mal ganz kurz mein Vorhaben. Bibo mit Artikeln anlegen - Liste erzeugen mit allen Attributwerten - Attributwerte in Liste ändern (z.B. Euro-Betrag) - Wert soll sich in Zeichnung auch verändern. Vieleicht schilder ich auch noch was das ganze bezwecken soll. Es ist so das ich E-Zeichnungen erzeuge. Die Zeichnung ist aber nur ein Teil von dreien der in einem Auftrag steckt. Ein weitere Teil ist die Artikelliste in der alle Artikel aufgeführt werden die in dem Bauteil stecken das ich zeichne. Der dritte Teil ist ein Stromlaufplan in dem wiederum noch mal alle Artikel aufgeführt sind die sich in der Zeichnung befinden nur nochmal als E-Symbole. (diesen Teil lass ich aber mal aussen vor) Jetzt soll es so sein das ich anhand der Zeichnung diese automatisch die Artikelliste erstelle. Das klappt auch schon einigermassen gut. Da aber nicht immer anhand der Zeichnung die Liste erstellt wird so nder auch umgekehrt soll es jetzt so sein das ich eine Liste meiner Bauteile bekomme und diese dann automatisch in die Zeichnung eingefügt werden. Erschwerent kommt noch hinzu das ein Bauteil zwar immer die gleiche Bezeichnung und Artikelnummer hat aber nicht immer die gleiche PositionsNummer. Diese müste sich also auch automatisch in der Zeichnung der Liste anpassen. Ich weiss es war viel zu lesen aber es wäre echt super wenn mir jemand einen Lösungsansatz liefern kann. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1724 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 13. Aug. 2004 08:14 <-- editieren / zitieren --> Unities abgeben: Nur für Mario H
Hallo Mario vielleicht hilft Dir ja das angehängte Programm weiter, es ist allerdings in VBA programmiert. Kurze Erklärung Du öffnest die Datei "Blockattr.DWG" und die Datei "Blockattr.XLS" Im Excelarbeitsblatt befinden sich 2 Buttons Wenn Du auf "Attribute einlesen" klickst, musst Du die Blöcke wählen von denen die Attribute eingelesen werden sollen. Im Tabellenblatt wird dann nach dem Zeichnungsnamen, dem Blockhandle, dem Blocknamen immer abwechselnd der Attributname und der Attributwert angezeigt. Dann kannst Du die Attributwerte ändern und mit "Attribute schreiben" die Attributwerte zurück in die Blöcke schreiben. Grüße Heinz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 13. Aug. 2004 08:23 <-- editieren / zitieren --> Unities abgeben: Nur für Mario H
Hallo Heinz, das ist nur eine Teillösung zum Ändern einer über die Blöckbibliothek erstellten Zeichnung. Wenn ich das richtig verstanden habe, dann sollen auch die Blöcke durch Anwählen eines entsprechenden Eintrags in der Tabelle in die Zeichnung eingefügt werden. Meines Erachtens kommt man hier an einer Datenbanklösung nicht vorbei. Deshalb kann ich mir nicht vorstellen, dass es hier eine Freeware-Lösung gibt. Sinnvoller ist wohl mal die Suche nach einer Applikation, denn so neu ist die Aufgabenstellung ja auch nicht. Und wenn sich da nichts passendes finden läßt, dann muss man es eben programmieren. Mario selbst hat keine Erfahrungen in diese Richtung, weshalb ich ein solches Projekt für einen Anfänger kaum realisierbar halte, also irgendein Dienstleister bemüht werden müßte. 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 |
nahe Ehrenmitglied
Beiträge: 1724 Registriert: 18.01.2001
|
erstellt am: 13. Aug. 2004 09:22 <-- editieren / zitieren --> Unities abgeben: Nur für Mario H
Hallo Holger natürlich weiß ich, dass das keine fertige Lösung ist aber ein Anstoss wie es funktionieren kann. Es sollte allerdings kein allzu großes Problem sein, die gewälten Blöcke in einer anderen Zeichnung einzufügen und die Positions- nummern neu zu nummerieren. Aber wie Du schon gesagt hast, für einen "Anfänger" ist es vielleicht ein etwas großer Brocken. Auf jeden Fall, würde ich das nicht mit LISP sondern mit VB oder VBA realisieren. Schönes Wochenende Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 13. Aug. 2004 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für Mario H
Hallo Heinz, sorry, habe eben gesehen, dass ich dich im Posting direkt angesprochen hatte. Ich weiß, dass dir das sicher bewußt ist/war. Ob Lisp oder VBA - da kann man drüber diskutieren. Ich würde wahrscheinlich ein Mix aus beiden machen. Datenbankseitig in VB, also Daten anlegen Blöcke zuordnen, Datenpflege usw. Das Zeichnen selbst dann über LISP, hängt eben von der konkreten Aufgabenstellung ab und ist hier letztendlich nicht das Thema. Nochmal Sorry, Heinz. 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 |
nahe Ehrenmitglied
Beiträge: 1724 Registriert: 18.01.2001
|
erstellt am: 13. Aug. 2004 10:03 <-- editieren / zitieren --> Unities abgeben: Nur für Mario H
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 13. Aug. 2004 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für Mario H
Na dann ist ja alles gut. Freut mich aber mal wieder zu lesen, dass hier im Forum nicht alles auf die Goldwaage gelegt wird. Man kann sich schon über das Niveau und die Umgangsforem hier freuen - und hoffen dass dies so bleibt. 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 |
Mario H Mitglied Student
Beiträge: 50 Registriert: 12.08.2004
|
erstellt am: 18. Aug. 2004 09:01 <-- editieren / zitieren --> Unities abgeben:
Hi und danke erstmal an Heinz Ich bekomme das teil leider nicht so richtig zum laufen. Wenn ich versuche die atribute einzulesen sagt er mir: Fehler beim Kompilieren, Projekt oder Bibliothek nicht gefunden. Kann es sein das ich bei den Dim einstellungen was ändern muss? Danke an alle die sich mit meinem Problem beschäftigen. Gruss Mario
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1724 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 20. Aug. 2004 07:47 <-- editieren / zitieren --> Unities abgeben: Nur für Mario H
Hallo Mario mit welcher AutoCAD Version arbeitest Du? Wahrscheinlich hast Du keine bzw. nicht die richtige AutoCAD Typen Bibliothek geladen. Ruf mal den Visual Basic Editor auf und schau unter Extras->Verweise ob Du die AutoCAD Typenbibliothek, die Deiner Autocad Version entspricht, geladen hast. Grüße Heinz
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mario H Mitglied Student
Beiträge: 50 Registriert: 12.08.2004
|
erstellt am: 20. Aug. 2004 08:50 <-- editieren / zitieren --> Unities abgeben:
|
Mario H Mitglied Student
Beiträge: 50 Registriert: 12.08.2004 Windows XP AutoCad 2004 1,4 GHz Prozessor 512 MB Arbeitespeicher Geforce 5700
|
erstellt am: 20. Aug. 2004 09:28 <-- editieren / zitieren --> Unities abgeben:
Hi Heinz Jetzt geht es. Ich habe mal ein wenig ausprobiert. Eine Frage noch, kann man einen Befehl in den Quelltext schreiben der erkennt das es sich um Gleiche Attribute handelt und diese dann in der Gleichen Spalte auflistet. Also nicht immer das Attribut vor dem Wert in einer Zeile, sondern das Attribut oben in einer Spalte und darunter dann die Werte? Ich weiss das ich einiges von dir möchte ich versuche aber gerade selbst etwas das Programmieren zu verstehen und hoffe das ich solche Fragen oder Probleme bald selbst lösen kann. Bin gerade dabei den von dir geschriebenen Quelltext zu kommentieren (soweit ich das überhaupt kann) um ihn auch für mich verständlich zu machen. Gruss an alle dir mir helfen und sich gedanken machen. Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1724 Registriert: 18.01.2001
|
erstellt am: 20. Aug. 2004 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für Mario H
|