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
_____________________________________________________________________
Senden sie Fehlerberichte, Verbesserungsvorschläge
an franz.reiter@cadcam.co.at