Formate



Codes
Dateiformate
Binärformate


__________________________________________________________________________

Dateiformate Alle Objekte werden intern in analytischer Form mit allen Definitionsparametern als Ascii-Text gespeichert. Das Dateiformat .gcad ist identisch mit dem internen Format. Die Objekte können auch als Mockup-Elemente ausgegeben werden; tesseliert; dadurch beschleunigtes Laden bei Assemblies, jedoch keine Parametrik mehr. Andere analytische Ausgabeformate: .gcad, .iges. Mockup-Ausgabeformate: VRML-1, VRML-2, obj, tess. Wenn eine Datei als {base}/tmp/Model abgespeichert wird, wird das Modell beim Start automatisch geladen. {base} ist im Normalfall ~/gCAD3D/. __________________________________________________________________________ Format .gcad Das Hauptmodell mit allen Submodellen, NC-Prozessdaten und den Daten von Zusatzprogrammen (plugins) wird im Modellfile gespeichert. Die Modellfiles enthalten alle Daten und Objekte in Textform (Ascii). Submodelle, NC-Prozessdaten und Applicationsdaten sind in Abschnitte (SECTION - SECTIONEND) eingebettet, dann folgt das Hauptmodell. Alle Abschnitte vor dem Hauptmodell beginnen mit einer Zeile: SECTION {sectionTyp} {parameter} und enden mit: SECTIONEND - Submodelle SECTION MODEL {modelname} - PunkteTabellen SECTION PTAB {modelname} {ObjID} - Meshes SECTION MESH {modelname} {ObjID} - Processes (eg NC) SECTION PROCESS {processName} - applicationData SECTION APPDAT {pluginName} - Hauptmodell .. SECTION MODEL {modelname} - Dynamic-Dataspace (settings, standards, End: ":DYNAMIC_DATA") - Objectdata SECTIONEND SECTION PTAB {modelname}_{ObjID} ptnr={nr of points} {pointCoords, one point per line} SECTIONEND SECTION MESH {modelname}_{ObjID} faces={nr of faces} edgelines={nr of edgelines} {faces (3 indices for one face per line)} edgeline={nr of edgeline} points={nr of points} edgetyp={edgetyp} {edgeline (indices for points)} SECTIONEND SECTION PROCESS {processName} - Objectdata - process-specific-commands SECTIONEND SECTION APPDAT {pluginName} - beliebige Daten; werden nur von der Applikation {pluginName} geschrieben, gelesen. SECTIONEND Das Hauptmodell enthält die Objektcodes, siehe Beispiele. ____________________________________________________________________________

Dateiformate Hauptmodell / Submodelle: - Abschnitt DYNAMIC_DATA (optional) - Objektdaten Abschnitt DYNAMIC_DATA: Kann folgende Records haben: - MODSIZ Modelsize - DEFTX Textsize - VIEW aktuelle Ansicht - CONST_PL aktuelle Konstruktionsebene - GATAB Tabelle graf. Attribute - :DYNAMIC_DATA beendet den Abschnitt DYNAMIC_DATA Objektdaten: siehe Codes, siehe Beispiele. ____________________________________________________________________________

Dateiformat der Attribute: Die Grafik-Attribute definieren Linientypen, Farben, Transparenz, Texturen. GATAB starts the grafic-attributes-table, ENDGATAB end of table. Grafic-Attributes-Records for Lines, Curves: [H] [T#] H hidden T index Linetyp; 2=dash, 3=dashDot; see file cfg/ltyp.rc Grafic-Attributes-Records for surfaces: [C [H] [T#] [S#] [X"filename"<,parameters>] H hidden C R-G-B-Colors as 3 x 2 hex-chars; eg. green is C00ff00 T transparent; 0=not, 1=50% transparent, 2=full transparent S symbolic; 0=not, 1=symbolic display X textured surface; Format: X"",X-scale,Y-Scale,X-Offset,Y-Offset,RotAng[,X-vec,Z-Vec] consists of "/" Offsets are Values from 0-1 RotAng in degree Beispiel Linie mit Linientyp 2 (strichliert): GATAB L20 T2 ENDGATAB :DYNAMIC_DATA L20=P(0 0 0) P(100 10 0) #eof Beispiel Fläche mit Farbe: # example GATAB: surface A20 has color e2dc27; surf. A21 is symbolic (not shaded) GATAB A20 Ce2dc27 A21 S1 ENDGATAB :DYNAMIC_DATA C20=P(50 100) 25 C21=P(100 100) 25 A20=C20 A21=C21 #eof __________________________________________________________________________

Beispiele: Beispiel nur Hauptmodell: # 2010/11/29-18:37:05 P1=P(0 0) P2=P(200 20) # Linie von 2 Punkten L1=P1 P2 # Kreis von Center, Radius C1=P(50 100) 25 # Fläche von Kreis A1=C1 # Ende Beispiel Modelldatei mit subModell: # 2010/11/29-18:37:05 SECTION MODEL SM1 # Cone from 1 Points 2 radius B1=CON P(0 0) P(0 0 12) VAL(16) VAL(12) SECTIONEND # 2 references of submodel M1="SM1" P(0 0) M1="SM1" P(50 0) # Ende Beispiel Modelldatei mit Mesh: SECTION PTAB _A1 ptnr=4 78.206807 -215.069439 0 75.797808 -206.220382 0 82.125568 -204.36855 0 83.557688 -210.647853 0 SECTIONEND SECTION MESH _A2 faces=2 edgelines=1 3 2 1 3 1 0 edgeline=0 points=4 edgetyp=5 3 2 1 0 SECTIONEND # mainmodel A1=PTAB A2=MSH A1 # eof