Fandango is planned to be a full featured CAD program. It has a
C++ core extensible by scripts.
It still doesn't do much CAD stuff. Currently the memory core for
entity management is ready, scripting works wonderfully thanks to the
ease of embedding and extending of
Python. A KDE+XML user interface is now in place, controlling the
keyboard and mouse.
Above are examples of scripting in action. The first one is the
plotting of a function that builds Sierpinski's triangle up to seven
recursions. The second one is a mixture of parallel and radial sine
transformations over a plane. The third is Lorentz' attractor. The
fourth is built on the same procedure of the second, using an additive
function. The last one is Koch's snowflake.
Above's thumbnails are from the latest kde3.1 interface. The first one
displays a loopy fractal. The second one is a test for the improved
intersection code; works in realtime on my machine. The cross button
on the toolbar below activates intersection finding mode. The last one is
the freehand drawing mode; activate the pencil or paintbrush icon and click
on the scene, and lines or triangles are drawn.
To run:
- An X server, preferably hardware accelerated.
- xlibmesa, and nvidia-glx if appropiate.
- The same version of python that was used to compile.
To compile:
- g++; probably any ansi c++ compiler.
- Development versions of everything above.
- The configure script requires a working python on the path.
Recommended hardware.
This is my development configuration:
- Pentium III, 800mhz
- 256M of system memory
- Nvidia TNT2 model 64, 32M of video memory
I expect that it will run fine on slower processors; python is
sometimes very memory hungry, that added to the memory needed to hold
the entities data may possibly give some troubles on the RAM side, but
only for complicated calculations and hundreds of thousands of
points. I can't recommend running this program without hardware
graphics acceleration, in that case expect undefined performance.
This program is under GPL licensing version 2.
README file
Current version, KDE port (0.2)
- kfandango-0.2.6.tar.gz: Maintenance release. Some bugs fixed (one for nvidia's implementation
of GL_*_ARRAY, another to allow --enable-final). Manual translated to spanish. Mouse wheel
scrolling implemented (sets the z coordinate).
- kfandango-0.2.5.tar.gz: (I skipped announcing 0.2.4 :)) Core stability improvements, better commandline and message reporting, vertex extraction through Python, Python 2.3 support. And from 0.2.4: initial support for DXF, XML (from Pythoncad) and CXF (from QCad).
- kfandango-0.2.3.tar.gz: A couple memory
initialization/destructions bugs fixed; a manual and some action icons
added. Module 'kfandango', tag 'kfandango-0-2-3'.
- kfandango-0.2.2.tar.gz: A freeze and maintenance release. A few bugfixes,
the UI is now under the XML framework, an icon was added.
- kfandango-0.2.1.tar.gz: For kde3.1; now it has a menubar and a toolbar,
properly full of nice buttons.
- The CVS module 'kfandango' is almost ready for the 0.2.1 release.
It's developed for KDE3.1 now.
- Packaged now:
kfandango-0.2.0.tar.gz. It requires
KDE (2.2) now. Please check the TODO
file to see where help is needed. And, if the linker complains after
compiling, be sure to read the top of the INSTALL file.
- Updated dotfile. Install it on your home
directory. It should display an orange grid and a wheat spiral. Clicking on
the intersections should place a yellow cross on them.
Old version (0.1)
- Version 0.1.3 tarball: Implements ENDline and INTersection snaps, line antialiasing enabled again
The CVS is
at Sourceforge: checkout the module named 'kfandango' for the current
version with GUI or 'fandango' for the obsolete core only module.
Example dotfile. Place it at your home
directory. It requires the appropiate scripts on a directory named
~/lib/fandango. Tweak at will, it is a valid python script.
Example scripts: