var fDesc=new Array(); fDesc[0] = "DesignBots is a design environment for robotics. It will function as a 3d game development environment as well. Or you can just use it for basic 3d CAD.
This XYTable design is provided with DesignBots as an example.

Linear and rotational motors are supported. You can use as many unmotorized parts as are required in your design as well. You can create reusable parts composed of subparts which are parts composed of subparts to any complexity. While constructing your robot you indicate which parts are motorized and simulate motor motion to ensure your design is functioning properly. When you are done, bot will search through your design to gather information on all the motors you've installed and presents you with a 'Control Motors' interface that allows you to manipulate any motor position and see the graphical result. Two copies of a minimalist six axis arm design are presented in the following screen shot. The design is provided with the download as an example. Manipulating the values in the 'Control Motors' form allows you to graphically simulate motor motion and test your design. The 'Spin Value' form increments values to so you can animate your design with the mouse.

The DesignBots.exe program uses an ActiveX control that encapsulates the kinematics engine, parts database functions, and 3d OpenGL support. You can download Visual Basic source code that demonstrates how to write custom programs using the ActiveX control.

It is recommended that you use the DesignBots.exe interface provided to design your robots, then customize this example app to provide an interface for the users of your robots. A simple camera manipulator, and a manual motors control are provided. You will no doubt bypass the manual motors control so you can drive the motors in a coordinated fashion from code."; function tShowHide(id, show) { var s = document.getElementById("desc"); if ((s.innerHTML.length<=212 || show==1) && show!=2) { s.innerHTML = fDesc[id]; if (document.getElementById('m1')) document.getElementById('m1').style.display='none'; if (document.getElementById('m2')) document.getElementById('m2').style.display='none'; if (document.getElementById('more_txt')) document.getElementById('more_txt').style.display='inline'; } else { s.innerHTML = ''; } }