gCAD3D

provides functions for -
      import and export of cad-models and pictures (bitmaps)
      creation of geometrical objects
      NC-working, direct and programcontrolled
      preparation of data (building contours ..)
      analysis of data
      all objects can be connected with interactions
      add-on-programs (plugins)
      remote control


The creation of geometrical elements / NC-programs can be done by -
      interactively generated geometrical objects or
      manually generated command texts or by
      import modules (Dxf, Iges, Step ..) or by
      data file created by external program or by
      special import processors (user programs)


Interactions connect to geometric objects can -
      load models (like HTML - HREF)
      activate userprograms (plugins)
      modify the view
      modify modelparameters dynamically


The data can be exported from the program by -
      export modules ((Dxf, Iges, Vrml, Svg ..)
      Standard - ISO - post processor
      specialized export functions (user programs)
      the system format APT3D (ASCII text format)


The program interface makes possible -
      The creation and analysis of geometry Objects
      interactive dialogue functions (selections..)
      automatic compiling, link and reload at execution time


__________________________________________________________________
Send bug reports, suggestions for improvements to
support@gcad3d.org



__________________________________________________________________
Linux Prerequisites:

  running gCAD3D:
    OpenGL-libs (libGL and libGLU)
    .deb: libjpeg-turbo-progs (djpeg and cjpeg)
    .rpm: libjpeg-turbo-utils (djpeg and cjpeg)


  for modifications of gCAD3D:
    gcc, ctags, build-essential.
    (eg sudo apt-get install build-essential)


  for modifications of the gui-system C-KIT-GUI-GTK:
    Gtk-development-files (libgtk-3-dev and/or libgtk2.0-dev),
      OpenGL-development-files (eg mesa-common-dev, libglu1-mesa-dev).
      Installation of gtk3-development-files; eg for debian-os:
        sudo apt-get install libgtk-3-dev
        Optional:
        sudo apt-get install libgtk-3-doc
        sudo apt-get install gtk-3-examples
      Installation of gtk2-development-files; eg for debian-os:
        sudo apt-get install libgtk2.0-dev
        Optional:
        sudo apt-get install libgtk2.0-doc
        sudo apt-get install gtk2.0-examples


  for modification of the documentation:
    doxygen


  for building debian-package:
    fakeroot, lintian


__________________________________________________________________
Linux Install sources from git-repository:

# If possible: prefer installation from git-repository.
# start commandline (eg gnome-terminal)
cd
mkdir devel
cd devel

# get all files into ~/devel/gcad3d/*
git clone https://github.com/gcad3d/gcad3d


__________________________________________________________________
Linux Install sources from zipfile:

# start commandline (eg gnome-terminal)
cd
mkdir devel
cd devel

# get all files into ~/devel/gcad3d/*
cp xxx/gCAD3D_x.xx-src.zip .
unzip gCAD3D_x.xx-src.zip

cd gcad3d
mkdir -p binLinux32/plugins
mkdir -p binLinux64/plugins



_____________________________________
Linux Build:

Prerequisites:
gcad3d (eg from git-repository) in <dirXX>/gcad3d
Default: <dirXX> = ${HOME}


Setup environment:
cd <dirXX>/gcad3d/
The development environment is using the directories $DIR_DEV and $DIR_BIN.
Edit devconf_git.sh if necessary:
Set DIR_DEV = <dirXX>
Set DIR_BIN = <dirXX>/bin/
Execute:
. ./devconf_git.sh


# goto APP-directory
cd ${DIR_DEV}gcad3d/src/APP/

# rebuild application gcad3d:
./do complete

# now the application should be complete -

# test it (start gcad3d)
./do


# ReCreate development-documentation (doxygen must be installed):
cd ${DIR_DEV}gcad3d/doc
./gcad_doxygen.sh

# view development-documentation:
xdg-open ${DIR_DEV}gcad3d/doc/gcad/index.htm


# create source-package ((${DIR_DEV}gcad3d/packages/gCAD3D_<version>-src.zip)
${DIR_DEV}gcad3d/src/pack_src.sh

# create doc-package (${DIR_DEV}gcad3d/packages/gCAD3D-doc-#.##.zip)
# (user-doc and dev-doc)
${DIR_DEV}gcad3d/doc/packDoc.sh

# create package ${DIR_DEV}gcad3d/packages/examples.gz
#   examples.gz will be extracted by gcad3d in userSpace
${DIR_DEV}gcad3d/src/pack_examples.sh

# create debian-package (binary, gCAD3D-#.##-bin-xxxxx.deb):
cd ${DIR_DEV}gcad3d/debian
./pack_deb.sh

# create rpm-package (binary, gcad3d-#.##-1.<$HOSTTYPE>.rpm):
cd ${DIR_DEV}gcad3d/rpm
./pack_rpm.sh





#---------------------------------------------------------
# Script "do" has other functions; get infos with:
./do help

# ./do complete does:
# build gui-lib for gtk2 
./do gui-gtk2

# build gui-lib for gtk3
./do gui-gtk3

# build gcad3d-core
./do c

# build gcad3d-coreLibs
./do all

# build gcad3d-plugins
./do allDemos

# optional:
# test to rebuild a plugin:
./do Demo_gui1.mak




#---------------------------------------------------------
# DEVELOPMENT-TOOLS-TAGFILES:
# tagfiles are in directory ${DIR_DEV}gcad3d/src/tags/
# If you are using vim:
#   see ${DIR_DEV}gcad3d/src/.vimrc
# in directory APP_tests tagfiles can be used with vim.

#---------------------------------------------------------
# DEVELOPMENT-TOOLS-CSCOPE:
# Use cscope with:
  cd ${DIR_DEV}gcad3d/src/APP
  ./ed
# the editor is defined in script ${DIR_DEV}gcad3d/src/APP/ed 




==================================================================
MS-Windows 
==================================================================
Prerequisites:


for using gCAD3D:
  nothing; all necessary libs are included.


for modifications of gCAD3D:
  MS-C-Compiler (gcc or MS-Visual-C (C++, Express); eg VS-2010)
  OpenGL32.lib, Glu32.lib (Microsoft SDKs)
  optional: get the gtk-dokumentation from www.gtk.org.

  // You will need a commandshell with the correct compiler-environment.
  // You can use the Visual-Studio-Commandwindow or cmd.exe;  e.g. for VC8:
  "C:\Programme\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat"
  // or for VC9:
  "%VS90COMNTOOLS%vsvars32.bat"
  // or for VC10 - start a commandwindow with:
  %comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86
  // Test MS-compiler with:
  cl /?


for creating new MS-Win-install-package:
  NSIS-installer / uninstaller from Nullsoft (http://nsis.sf.net)
  %ProgramFiles%\NSIS\NSIS.chm  // see help-file in cmd-window


MS-Windows install the binary package (Win-XP Win7 Win8):
  selfextracting (NSIS-installer).
  The registry is never affected / modified.


MS-Windows install the source package from zip-file (Win-XP Win7 Win8):
  // start commandshell (cmd);
  // Create new directory %HOMEDRIVE%%HOMEPATH%/devel
  %HOMEDRIVE%       // activate the homedrive
  cd %HOMEPATH%     // goto homepath
  mkdir devel       // create new directory
  cd devel          // goto %HOMEPATH%/devel
  // Extract the package gCAD3D_#.##-src.zip into this directory
  unzip gCAD3D_#.##-src.zip


Update definiton-file gCAD3D.def
  // create new file gCAD3D.def in Linux (from linux-executable):
  ./gendef.sh
  // or update gCAD3D.def manually.


Rebuild:
  %HOMEDRIVE%                     // activate the homedrive
  cd %HOMEPATH%\devel\gcad3d\src\APP
  do c            // reCreate exe
  do gui          // reCreate gui-lib
  do help         // disp help for do.bat


Create MS-Win-install-package (binary, gCAD3D-#.##-win32.exe)
  cd %HOMEPATH%\devel\gcad3d\pack_MS
  pack


// view documentation:
  cd %HOMEPATH%\devel\gcad3d
  hh doc\gcad\index.htm




__________________________________________________________________
History:

2018-06-07 V2.40 Bugfixes, preparations for "watertight". RF.
2017-04-18 V2.35 Bugfixes, preparations for "watertight". RF.
2016-10-05 V2.34 Bugfixes. RF.
2016-05-12 V2.32 new: export jpg, pdf. RF.
2016-03-16 V2.30 Demo_toolbar2, DXF-export BLOCKS, bugfixes. RF.
2015-08-21 V2.28 Demo_toolbar1, Demo_appDat1, UNDO-plugin, bugfixes. RF.
2015-06-22 V2.26 Bugfixes. RF.
2015-03-14 V2.25 MS-Win version added to git. RF.


// EOF
