Vismach
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:
- geometry is defined or loaded from a .stl or .obj file
- joints are defined an and connected to a hal PIN
- colour is definded
The scripts are located in /usr/bin. At the moment are more simulations available:
- 5axisgui
- hbmgui
- hexagui
- maho600gui
- max5gui
- puma560gui
- pumagui
- scaragui
Details about the functions have to be found out from vismach.py. One can see the funtions in use in the scripts named above.
Classes defined in vismach.py
- Collection(); sum up properties
Transform Objects:
- Translate()
- Scale()
- Hal""Translate()
- HalRotate?()
- Rotate()
- Track()
- CordsBase?()
- Capture();
Create Geometry:
- TriangleXY?()
- TriangleXZ?()
- TriangleYZ?()
- ArcX?()
- Box()
- BoxCentred?(x width,y width,z width); Box is centred on the origin
- BoxCentredXY?(x width,y width,z width); Box is centred in x and y an is extruded from z = 0.
- CylinderX()<nowiki>
*CylinderY()
*CylinderZ()
*Sphere()
*AsciiSTL
*AsciiOBJ
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 it in your script using the class AsciiOBJ or AsciiSTL. The use of the classes can be seen in the scaragui script locates in /usr/bin. For first experiments one might just have a look at 5axisgui, where geometry ist generated with simple boxes.
Here are some screenshots:
upload:puma_vismach.png
upload:hbm-vismach-ss1.png
'
upload:hbm-vismach-ss2.png
upload:scara_vismach.png
upload:hexapod_sim3.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
upload:rotatekins.png
Another example on what one can do with <nowiki>LinuxCNC (ex Enhanced Machine Controller) and Vismach help.