Vismach is a simulator to show 3D previews of a physical machine. Vismach.py is a python library to draw objects in the simulation window. It is located in /usr/share/pyshare (can't find it on git - was it removed?). The simultion itself needs a further script in which following things are described using the functions defined in vismach.py:
The scripts are located in /usr/bin. At the moment are more simulations available:
Details about functions can be found from vismach.py itself and the already existing examples like 5axisgui or scaragui; a short summary follows:
Example for object "ram":
ram = Translate([ram], 0,0,150)
table = Collection([
crotary, # relation to previous object Box(-150,-50, 81, 150, 50, 100), Box(-150,-40, 75, 150, 40, 81), ])
The use of the classes can be seen in the scaragui script located in /usr/bin. For first experiments one might just have a look at 5axisgui, where geometry ist generated with simple boxes.
The comfortable way to generate a machine for a simulation is using CAD and export .obj or .stl files for each axis consisting the geometry, then read them in your script using the class AsciiOBJ or AsciiSTL. The files can be produced using [FreeCAD]: Model the solid for each axis, create a mesh an [export] it as .obj or .stl.
Here are some screenshots:
vismach can be used to verify motions that don't show up in AXIS preview, such as custom kinematics or m-codes
this screenshot shows a "virtual rotary table" using the C-axis
Another example on what one can do with LinuxCNC (ex Enhanced Machine Controller) and Vismach help.