LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Showing revision 27
Difference (from revision 27 to revision 27) (minor diff, author diff)
(The revisions are identical or unavailable.)


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 a 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:

Classes defined in vismach.py

Details about functions have can be found from vismach.py an the already existing examples like 5axisgui or scaragui; a short summary follows:

Transform/place Objects:

Example for object "ram":

ram = Translate([ram], 0,0,150)

Create Geometry

table = Collection([

	crotary,    # relation to previous object
	Box(-150,-50, 81, 150, 50, 100),
	Box(-150,-40, 75, 150, 40, 81),

further classes

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 [[http//:www.freecadweb.org FreeCAD?]]: Model the solid for each axis, create a mesh an [export] it as .obj or .stl.

Here are some screenshots:


upload:hbm-vismach-ss1.png ' upload:hbm-vismach-ss2.png



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.


LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions | View current revision
Edited December 23, 2013 11:38 am by Felix (diff)
Published under a Creative Commons License