Skip to content

Commit

Permalink
add original cgx 2.20
Browse files Browse the repository at this point in the history
  • Loading branch information
prool committed Aug 2, 2022
1 parent 130e3ab commit a7bb429
Show file tree
Hide file tree
Showing 300 changed files with 1,079,267 additions and 0 deletions.
1,429 changes: 1,429 additions & 0 deletions cgx_2.20/CHANGES

Large diffs are not rendered by default.

340 changes: 340 additions & 0 deletions cgx_2.20/COPYING

Large diffs are not rendered by default.

262 changes: 262 additions & 0 deletions cgx_2.20/INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,262 @@
Sa 23. Jul 16:28:01 CEST 2022 in Munich (Germany),
written by Klaus Wittig ([email protected])


WARNING:
The cgx program knows the "sys" command which is used to issue any shell
command (unix or dos shell). For example to move files created by the 'send'
command to certain file names or/and locations and to start the analysis. But
if you use CGX to open an untrusted fbd file downloaded from the internet, it
might delete all your files or do whatever it wants as long as cgx has the
necessary rights.
Even an honest but carelessly written fbd file could be destructive if it
makes incorrect assumptions about the locations of files. For example, by
clearing the contents of a directory to clean up, it might delete important
files on someone else's computer.

To prevent the user from executing potential dangerous 'sys' commands the
program will stop at every 'sys' command and waits for the user to either
accept each single one or to accept the execution of every future 'sys'
command by writing "ALLOW_SYS" in the .cgx file in the $HOME directory.

If this functionallity is not desired then change "ALLOW_SYS_FLAG 0" in the
cgx.h file to "ALLOW_SYS_FLAG 1". The program accepts then all 'sys' commands
w/o warnings.



Basic Installation
==================

If you encounter problems please read the last section "Possible
problems and some hints" and the section "Known Problems" in the
documentation.

There are two ways of instalation:
- Section A: Installation of the 64bit-binary
- Section B: Instalation from the source:
recomended if you encounter problems with the binary
or if your hardware is not supported.

For full functionallity you need the following additional programs. Please
make sure that this programs are installed in a system known location. Or
extend the PATH variable (for example: export PATH=$PATH:$HOME/myfolder
in your .bashrc)
- convert (ImageMagick)
- pstops (from psutils)
- firefox or any other html-browser (modify cgx.h if not firefox )
- gv (ghostview) (modify cgx.h if not gv )
- gnuplot
- either tetgen, a command line driven tet mesher (searched by
default). The mesher can be changed either before compilation in cgx.h or
during run time with the command 'asgn'. You find tetgen in the package.
- or/and ng_vol from the netgen project. Replace the src file with the
one located in the folder cgx_2.20/netgen and build it in the netgen
directory. This allows tet-meshing with a target-element-size.


A: Installation of the binary
--------------------------

1. Get the binary and do the following
- bunzip2 cgx_2.20.bz2 (beware your browser could scip the ending
.bz2, then please rename the filename to the above one before unzipping )

It is necessary to have openGL on your system!

The libraries
/usr/lib64/libGL.so
/usr/lib64/libGLU.so
The libGLU should be the one from SGI. Otherwise the nurbs rendering is
not supported.
WARNING: To improve the stabillity of the GLU you may recompile the
library (after downloading from the internet) by regarding the following
hint:
after ./configure
open Makefile and
change:
CFLAGS = -g -O2
CXXFLAGS = -g -O2
to:
CFLAGS = -O -DNDEBUG
CXXFLAGS = -O -DNDEBUG

You might create links to other locations if the libraries are
stored at other places.

For example:

ln -s /usr/i486-linux-libc5/lib/libGL.so.3 /usr/lib/libGL.so

2. login as root

3. if possible rename the binary to /usr/local/bin/cgx
mv cgx_2.20 /usr/local/bin/cgx
chmod ao+rx /usr/local/bin/cgx

4. If you like the help-system to work then please do the following:

5. login as root if not already done.

4. get the documentation (html) and do the following:
- move the file containing the docu cgx_2.20.htm.tar.bz2 to /usr/local
- bunzip2 cgx_2.20.htm.tar.bz2 (beware sometimes the ending .bz2 is missed,
please rename the filename to the above one)
- tar -xvf cgx_2.20.htm.tar
- the html-browser must be known as "firefox"
so if you dont have firefox you should create an link like:
ln -s <your browser location> /usr/local/bin/firefox

7. Check the path /usr/local/CalculiX/cgx_2.20/doc/cgx
all the html files should be located there

8. Check the installation, if you performed step 3. type:
cgx -b dummy.fbd
a window should appear on your screen.
Go with the mouse-ponter outside the inner big black rectangle.
Press the left mouse button. The menu will appear. Go down to "Help" and
choose "Html Manual cgx".
The browser should open and the documentation should be vissible. If not be
sure that the documentation is in /usr/local/CalculiX/cgx_2.20/doc/cgx

9. get the examples and do the following
- move the file cgx_2.20.exa.tar.bz2 to /usr/local
- bunzip2 cgx_2.20.exa.tar.bz2
- tar -xvf cgx_2.20.exa.tar.bz2

10. get tetgen tetgen1.5.1 either from the internet or from the cgx package
- bunzip2 cgx_2.20.all.tar.bz2
Unpack tetgen1.5.1.tar and change to tetgen1.5.1 and run 'make'.
Place the program tetgen at /usr/local/bin/

Then you might change the protections:
chmod ao+rx /usr/local/bin/tetgen


B: Instalation from the source:
----------------------------

Make sure that you have the devel packages for the graphic system
installed (the headers for X11 etc.)

You need openGL on your system. Check your file system for the
two following libraries:

The openGL-library: libGL.so or libMesaGL.so
The higher level openGL-library: libGLU.so or libMesaGLU.so

The libGLU should be the one from SGI. Otherwise the nurbs rendering
is not supported.

On some systems the extension might also be ~.a instead of ~.so

You might search for this files with for example "locate libGL" or
"find /usr/* -name libGL* -print"

If you find only libMesaGL and libMesaGLU instead of libGL and libGLU
you have to create a link or a copy with the names libGL and libGLU
but ceep the extension .a or .so.

This files should be located in:
/usr/lib64/

otherwhise you have to modify the file:
/usr/local/CalculiX/cgx_2.20/src/Makefile

The original glut package from mark Kilgard is now in the distribution and
will be compiled with the other source files.

1. Unpack the file cgx_2.20.all.tar.bz2 in "/usr/local".

2. Then change to the following directory with:
cd /usr/local/CalculiX/cgx_2.20/src

3. Change the path names in the Makefile to the ones used on your system if
necessary.

4. If your installation path is not "/usr/local" then you must also change
the path for the html-help-files in "cgx.h",
see parameter "HELPFILE". If your web-browser is not firefox change the
parameter "BROWSER" also.

5. run "make" as root. On 32bit PCs you have to modify the Makefile.
Change lib64 to lib below LFLAGS .
If you have trouble with c++ code use Makefile_pure_c to use only c code.
But you will not be able to deal with nurbs any more.

Then copy the binary "cgx" to
"/usr/local/bin/cgx" with:
cp cgx /usr/local/bin/cgx

If /usr/local/bin does not exist, create it with:
mkdir /usr/local/bin

Then you might change the protections:
chmod ao+rx /usr/local/bin/cgx

6. If you have "latex" and "latex2html" on your system then run "latex cgx"
in "/usr/local/CalculiX/cgx_2.20/doc" (run it 3 times!!!) and then run
"latex2html cgx".
This creates the html-help-files. Alternatively you might download them
as well. Then get cgx_2.20.htm.tar.bz2 and unpack this package in
/usr/local/.

7. The program needs to write an info file to your home directory during run
time. Be sure that "HOME" is defined and that you have write permission to
this directory. Type "echo $HOME" and check your permissions for the
printed directory.

8. Unpack tetgen1.5.1.tar and change to tetgen1.5.1 and run 'make'.
Place the program tetgen at /usr/local/bin/

Then you might change the protections:
chmod ao+rx /usr/local/bin/tetgen

9. Check the installation, type:
cgx -b dummy.fbd
and a window should appear on your screen.
Go with the mouse-ponter outside the inner black rectangle.
Press the left mouse button. The menu will appear. Go down to "Help" and
choose "Html Manual (cgx)".
The browser should open and the documentation should be vissible. If not be
sure that the documentation is in /usr/local/CalculiX/cgx_2.20/doc/cgx



Possible problems and some hints:
---------------------------------

If you get some errors regarding threading (meshing) then
delete all *.o and change in Makefile
CFLAGS = -O2 -Wall -Wno-narrowing -DSEMINIT \
to
CFLAGS = -O2 -Wall -Wno-narrowing \
and recompile with make

If you get some linker errors then you may have multiple libGL,
libglut or libGLU on your system.

If commands like "plot n all" are not recognized by the program
then your mouse pointer was probably not in the main window during
typing {;->)

If the loader complains that a specific lib is not there, then a
newer version may be available. Create a link with the required name to the
new lib (ln -s new-lib-name old-lib-name).

If the command 'rep all' causes a segmentation fault it may be solved by
using a manually compiled version of libGLU. Regard the hints written
under section 1.

If tet-meshing fails with the following messages:
ERROR: The input file "test.vol" could not be opened.
ERROR: No mesh-file found
then ng_vol from the netgen project might not be available or the surface-
mesh is not closed.

No tetmesh is created. Please make sure that you had installed tetgen or
ng_vol (see section Basic Installation). You find tetgen in the package.

Good luck,

Klaus Wittig
65 changes: 65 additions & 0 deletions cgx_2.20/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Wed Feb 17 11:40:11 CET 2010 in Munich (Germany),
written by Klaus Wittig ([email protected])

cgx is part of the CalculiX package. For installation see the file INSTALL.

CalculiX Finite Element Models can be build, calculated and
post-processed. The pre- and post-processor is an
interactive 3D-tool using the openGL API. This program is free
software; you can redistribute it and/or modify it under the terms of
the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any
later version. This program is distributed
in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

It makes use of the following functions from silicon graphics:

trackball.h trackball.c


* (c) Copyright 1993, 1994, Silicon Graphics, Inc.
* ALL RIGHTS RESERVED
* Permission to use, copy, modify, and distribute this software for
* any purpose and without fee is hereby granted, provided that the above
* copyright notice appear in all copies and that both the copyright notice
* and this permission notice appear in supporting documentation, and that
* the name of Silicon Graphics, Inc. not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission.
*
* THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
* AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
* GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
* SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
* KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
* LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
* THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
* ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
* POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
*
* US Government Users Restricted Rights
* Use, duplication, or disclosure by the Government is subject to
* restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
* (c)(1)(ii) of the Rights in Technical Data and Computer Software
* clause at DFARS 252.227-7013 and/or in similar or successor
* clauses in the FAR or the DOD or NASA FAR Supplement.
* Unpublished-- rights reserved under the copyright laws of the
* United States. Contractor/manufacturer is Silicon Graphics,
* Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
*
* OpenGL(TM) is a trademark of Silicon Graphics, Inc.






1 change: 1 addition & 0 deletions cgx_2.20/doc/README
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/usr/share/latex2html/texinputs/html.sty
Loading

0 comments on commit a7bb429

Please sign in to comment.