SX
This is an old version.
For newer version please check out the
NEW SX modeller implemented in PLT-Scheme.
A lot of libraries have changed since 1998, therefore I include the source of the
libraries that are required.
Description
SX is a graphical 3D object modeller
implemented in Scheme.
The program can create, edit, modify
any geometry consisting points, one dimensional elements (links),
triangles, quadrilaterals and boxes (experimental feature).
Several operations on the objects
have already been implemented and there are several operations which
will be implemented as they are required.
Lots of the features of the program or handling of the geometric model
follow some of the features found in AutoCAD. (AutoCAD is
a registered trademark of Autodesk).
However This program is not an AutoCAD
replica. The reason to "borrow" some features from AutoCAD is that
I liked AutoCAD, but they discontinued the UNIX version of it
somewhere around version 12. (If there is an AutoCAD for Unix then
this program would never exist.)
The program is developed in GNU guile, but now it is possible to use the
base system with Bigloo. In Bigloo actually it is possible to compile the
program into a binary file!
Requirements
- For any version:
- For guile version:
- For Bigloo version:
- For VRML 1.0 support:
License
SX is placed under the GNU Public License (GPL) version 2.0 or later.
Links
- Screenshot (Original object is © Randy
Brown, brown@cs.unc.edu. The picture shows a modified version.)
- Screenshot and
VRML model of a biplane (© Jason Mathews)
- Screenshot and VRML model
of a rose in a vase
- Screenshot and VRML model
of a knot from
KnotPlot
- Screenshot and VRML model
of another knot from
KnotPlot
- Scheme source code for guile v1.0 (initial release).
Documentation is included.
- Scheme source code for guile v1.1, date 5th April, 2002.
Documentation is included.
- Scheme source code for
guile and bigloo v1.1.1, date 26th March, 2003.
Documentation is NOT updated!
- Scheme source code for
guile and bigloo v1.1.2, date 28th May, 2003.
Documentation is NOT updated!
- Scheme source code with
VRML support for guile,
v1.1.3, date 21th June, 2003.
Documentation is NOT updated!
Todo
- Proper crash handling. At the moment the program rely on the fact
that guile cannot be crashed, which is true. :-)
- Command shortcut file should be parsed.
- Other operations on objects:
- Generation of points of a circle on an arbitrary plane.
- Rotate objects around an axis.
- Project points to an arbitrary plane.
- Scale objects.
- Extend a link object to an arbitrary plane.
- Break a link object at the intersection point with an
arbitrary plane.
- Trim a link object at the intersection point with an
arbitrary plane. (?)
- Extrusion along a path, spinning around an axis. (?)
Some random comments
- The program is still under development. Any suggestions, comments and bug
fixes are greatly appreciated.
- On my 700 MHz machine approximately 2000 objects can be handled
conveniently with the program. This limit is mainly due to my lack of
experience with scheme. Optimization comes later, but any idea is
appreciated.
- No extension language is necessary, like AutoLisp, since you have the whole
source, it can be adapted as required. :-)
Copyright © 1998-2005
Péter Iványi