| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: dwg-Datei auslesen (3978 mal gelesen)
|
Chris.B Mitglied Student
Beiträge: 3 Registriert: 06.09.2012
|
erstellt am: 10. Sep. 2012 14:45 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ich bin absolut neu auf den Gebieten AutoCAD und ObjectARX. In meiner Bachelor-Arbeit ist unter anderem gefordert, dass ich eine AutoCAD-Zeichnung auslese (Blöcke, Attribute etc.) Ich habe schon ewig rum gesucht im Internet, habe aber bis jetzt noch nichts gefunden, das mir effiektiv geholfen hat. Problembeschreibung: Aus einer .NET-Anwendung (C#) möchte ich ein DWG-File auslesen (Blöcke und Attribute) und die extrahierten Daten dann in der .NET-Anwendung in eine SQL-Server-DB speichern. Kann mir jemand helfen, wie ich an die Blöcke und Attribute im dwg-File ran komme? evtl. auch mit kurzem Beispielcode? Im Voraus besten Dank Lg Chris.B 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: 9732 Registriert: 01.12.2003 AutoCAD 20xx, Civil 3D 201x, Inventor Prof 201x usw.
|
erstellt am: 10. Sep. 2012 15:02 <-- editieren / zitieren --> Unities abgeben: Nur für Chris.B
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 10. Sep. 2012 15:07 <-- editieren / zitieren --> Unities abgeben: Nur für Chris.B
Hallo, wenn du Blöcke und Attribute auslesen sollst, heißt das du musst aus der Heichnung die Blockreferenzen ermitteln. Nur an solchen Objekten findest du dann die ebenfalls gesuchten Attribute (AttributeReference). Am einfachsten ist dies, wenn du zu den einzelnen BlockTableRecords die Referenzen ermittelst, damit hast du dann auch gleich die Blockreferenzen, die in anderen Blöcken verschhachtelt sind. An die Blocktablerecords (Blockdefinitionen) kommst du über die Blocktable der Database. Code könnte ich sicher posten, sehe aber nicht ein, dass ich Deine Bachelorarbeit schreibe. Die Anbindung an eine SQL-Datenbank machst du am einfachsten üner ODBC. 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 |
Chris.B Mitglied Student
Beiträge: 3 Registriert: 06.09.2012
|
erstellt am: 10. Sep. 2012 16:13 <-- editieren / zitieren --> Unities abgeben:
Aktuell ist AutoCAD 2008 installiert. Dass ich letztendlich über BlockTableRecords etc. gehen muss ist für mich schon einigermaßen ersichtlich. Nur wie lautet konkret der Aufruf, so dass ich auf ein beliebiges dwg-File zugreifen kann bzw. als Objekt im Programm habe. Man muss sich ja sicherlich irgendeine Instanz eines Objektes erzeugen, das dann das File mit seinem Inhalt referenziert denke ich mal. Lieg ich da richtig? Da hab ich bis jetzt eben nichts gefunden... Die Anbindung an die SQL-Server-DB ist auch nicht das Problem :-) Der Zugriff auf das File macht ca. 0,5% der gesamten BA-Arbeit aus... Im Ganzen steckt da schon noch etwas mehr dahinter Lg Chris.B 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
|
erstellt am: 10. Sep. 2012 21:17 <-- editieren / zitieren --> Unities abgeben: Nur für Chris.B
|
Chris.B Mitglied Student
Beiträge: 3 Registriert: 06.09.2012
|
erstellt am: 11. Sep. 2012 10:02 <-- editieren / zitieren --> Unities abgeben:
Hallo Brischke, Danke für den Link und deine Hilfe. Allerdings ist auch das nicht was ich suche. In dem Beispiel wird wieder eine DLL erzeugt, die ich dann in AutoCAD einbinden muss und den Befehl ausführe. Es ist aber gefordert, dass ich aus der .NET-Applikation heraus direkt das dwg-File auslese, ohne mit AutoCAD zu arbeiten. Ist das überhaupt möglich mit ObjectARX? Oder brauche ich dazu RealDWG oder OpenDWG? LG Chris.B Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Ehrenmitglied V.I.P. h.c. Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 ACAD 2004DX Mechanical PP
|
erstellt am: 11. Sep. 2012 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für Chris.B
|