| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: 3D-Volumenelemente aus DXF lesen!? (898 mal gelesen)
|
robson78 Mitglied
Beiträge: 5 Registriert: 16.06.2005
|
erstellt am: 17. Jun. 2005 00:57 <-- editieren / zitieren --> Unities abgeben:
hallo zusammen! wie findet man ein einfaches 3d-volumenelement in einem dxf-file wieder? habe ein rechteck über "_extrude" in die z-achse extrudiert. das ergebnis ist ein quader! wenn ich mir das dxf-file anschaue, finde ich die eckpunktkoordinaten garnicht wieder! ziel ist es einfach nur aus der dxf den schwerpunkt, länge, breite und höhe des quaders herauszufiltern und in eine neue datei zu schreiben! hat jemand einen tip? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cosgeo Mitglied Vermessungsingenieur
Beiträge: 591 Registriert: 16.12.2004 Windows 8 64bit AutoCad Map 3D AutoCAD Civil3D MapGuide COSGeo - Vermessungsaplikation COSALKIS - Konverter Xeon 3,3 GHz, 16GB RAM HP 1050
|
erstellt am: 17. Jun. 2005 08:12 <-- editieren / zitieren --> Unities abgeben: Nur für robson78
also mir fällt da nur _massprop (Extras / Abfrage / Region Masseneigenschaften) ein. Das Ergebnis kann in Datei geschrieben werden. Aus [Begrenzungsrahmen] kannst Du die Länge / Breite rechnen. Die [Schwerpunkt]koordinaten werden direkt gelistet. Ich wüßte in Autocad keine andere Möglichkiet an Schwerpunktkoordinaten zu kommen. Im DXF stehen soweit ich das nachvollziehen kann nur die Linien drinn. ------------------ Wer aufräumt - ist nur zu faul zum suchen :-) [Diese Nachricht wurde von cosgeo am 17. Jun. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
robson78 Mitglied
Beiträge: 5 Registriert: 16.06.2005
|
erstellt am: 17. Jun. 2005 13:38 <-- editieren / zitieren --> Unities abgeben:
über _massprop werden zwar die daten für ein 3d-volumenelement ausgegeben, jedoch nicht für einzelne, falls es mehrere gibt. und das ist auch das ziel! es muss doch eine möglichkeit geben, aus dem dxf-file einen quader zu entschlüsseln!? schliesslich müssen andere cad-programme dies ja auch wiedergeben! wieso ist das nur so kompliziert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cosgeo Mitglied Vermessungsingenieur
Beiträge: 591 Registriert: 16.12.2004 Windows 8 64bit AutoCad Map 3D AutoCAD Civil3D MapGuide COSGeo - Vermessungsaplikation COSALKIS - Konverter Xeon 3,3 GHz, 16GB RAM HP 1050
|
erstellt am: 17. Jun. 2005 13:48 <-- editieren / zitieren --> Unities abgeben: Nur für robson78
einerseits ist es 3D - das ist immer etwas komplizierter andererseits muß es ja nur weil es andere Programme können nicht einfach sein :-) Sonst wären die Programme ja auch nicht komplex und teuer ! Zu AutoAD 12 Zeiten gab`s noch schöne DXF Referenzen zum nachblättern. Ich würd da mal ne Runde googeln. Aber die Schwerpunkte stehen wahrscheinlich nicht im DXF. ------------------ Wer aufräumt - ist nur zu faul zum suchen :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
robson78 Mitglied
Beiträge: 5 Registriert: 16.06.2005
|
erstellt am: 17. Jun. 2005 14:01 <-- editieren / zitieren --> Unities abgeben:
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 17. Jun. 2005 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für robson78
In AutoCAD werden Volumenelemente als sogenannte ACIS-Daten abgelegt. ACIS stammt von Spatial und wurde von AutoDesk lizensiert. Teil der Lizenz ist, die Daten NICHT im Klartext abzulegen, sondern zu verschlüsseln. Dies betrifft auch die DXF-Datei. Ohne grosse Programmierkentnisse kommst Du kaum an die Rohdaten, und wenn Du das geschaft hast, musst Du dir noch das ACIS-Format reinziehen (das leider nicht frei dokumentiert ist), um die entschlüsselten Daten zu interpretieren.... Wenn Du da weiter kommst, melde dich doch mal bei mir. Ich hätte auch Interesse, Volumenkörper auszulesen, aber bin bisher nicht besonders weit gekommen... Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
captainfritz Mitglied Bauingenieur/Wasserbau
Beiträge: 270 Registriert: 07.05.2004 AutoCAD 2005/2006/2007 Map, AutoTerrain, bbsoft, Geotools, Windows XP
|
erstellt am: 17. Jun. 2005 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für robson78
Hi, lad dir mal die 30 Tage demo von Geotools runter http://www.4d-technologies.com/ da gibts ein tool, das dir einen Punkt in den Schwerpunkt zeichnet. Brauchst dann bloß die Punkte als textfile wegschreiben (wie das geht steht irgendwo im Forum) Befehl: GT_CGrav Compute centroid of a polygon area[must be closed POLYLINEs, REGION or 3DSOLID] ------------------ mit CADzerischen Grüßen Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
robson78 Mitglied
Beiträge: 5 Registriert: 16.06.2005
|
erstellt am: 17. Jun. 2005 16:26 <-- editieren / zitieren --> Unities abgeben:
danke für den tip! sicher auch ne alternative, leider für ne dipl.-arbeit keine lösung! das muss schon selber programmiert werden in java und in der lage sein ewig ausgeführt zu werden. da sind 30 tage zu wenig! :-( es muss eine lösung geben! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 17. Jun. 2005 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für robson78
Also wenn's Dir nur um den Schwerpunkt geht, hab' ich was für Dich: Code:
(defun get-centroid (ename / ) (vl-load-com) (vlax-safearray->list (vlax-variant-value (vla-Get-Centroid (vlax-ename->vla-object ename)))) )(defun c:mark-solid-centroid ( / auswahl ename zaehler altosmode) (setq auswahl (ssget (list (cons 0 "3DSOLID")))) (if auswahl (progn (setq altosmode (getvar "osmode")) (setvar "osmode" 0) (setq zaehler 0) (while (setq ename (ssname auswahl zaehler)) (command "_point" (get-centroid ename)) (setq zaehler (1+ zaehler)) ) (setvar "osmode" altosmode) ) ) )
(schön wenn man bei sich selber abschreiben kann: http://ww3.cad.de/foren/ubb/Forum54/HTML/010956.shtml#000006 ) Der neue Befehl mark-solid-centroid fügt einen Punkt am Schwerpunkt ein. Weiter wie bei captainfritz. Und dazu brauchst Du nicht mal die Geotools Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de [Diese Nachricht wurde von wronzky am 17. Jun. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |