Principles of operation gCAD3D

Objectcodes are stored as asciitext not binary (like HTML or XML). You can create / modify modelfiles (.gcad) with any editor. Processing is done sequential by a interpreter. Curves and surfaces (ellipses, Ruled and Revolved Surfaces) are not converted into Splines/NURBS, they are stored / exported in their orignal form. Programlanguage: : C Grafic: OpenGL with GLU GUI: GTK Modules: CommandInterpreter (CI): translate sourceobjects (Ascii-text) into binary objects. DataBase (DB): intermediate save binary objects. DisplayList (DL): Link to OpenGL and statusinfo for all visualisized binary objects Displayfunctiones (GL) OpenGL-functiones Importmodules: All imported objects get translated directly into gcad-sourceobjects.
Grafikprograms with interpreters: APT Varkon OpenSCAD geogebra =================================================================== APT =============================================================================== http://de.wikipedia.org/wiki/Automatically_Programmed_Tools APT-Programm (Ascii) NC-Prozessor (APT,MiniAPT,APL-APT,Compact,Elan,Fapt,Exapt ..) CLDATA-File (binär) Postprocessor NC-Programm (Ascii) Werkzeugmaschine Beispiel: P0=POINT/X0,Y0 P1=POINT/X1,Y1 L1=LINE/P0,P1 $$ Linie durch Punkte P0 und P1 GOTO/P0 GOTO/P1 RAPID $$ Eilgang ein GODLTA/20 $$ um 20 mm in Z-Richtung abheben =============================================================================== Varkon =============================================================================== http://varkon.sourceforge.net/ Interaktives GUI. Source (Generic Model) .mbs-files. Precompiled Objects (Bytecode, still parametric) .mbo-files. Binary modelcode .res-files Beispiel: GLOBAL MODULE rhombe_param (); constant VECTOR o = vec(0,0,0); constant VECTOR a = vec(0,1,0); constant VECTOR b = vec(1,0,0); BEGINMODULE b_plane(#1, o, o+a, o+a+b, o+b); ENDMODULE =============================================================================== OpenSCAD =============================================================================== http://www.openscad.org/ 3D-compiler, creating solid 3D CAD objects. Kein interaktives GUI. Beispiel: circle(r = 10); rotate([90,0,0]) polygon( points=[[0,0],[2,1],[1,2],[1,3],[3,4],[0,5]] ); =============================================================================== geogebra =============================================================================== http://www.geogebra.org/ Erstellung und Berechnung mathematischer Figuren. 2D, interaktives GUI. XML-Ausgabe.