StCAD : An Introduction

StCAD is a basic 3D CAD framework in Smalltalk (VisualWorks 7.x). It extends the GF/ST 2D drawing framework into 3D. It also include 'StGeo' which is the 3D geometric domain, ‘StMath' which provides the mathematical support for 3D CAD and motion simulation computations, and 'StDoc' which is a simple word processor. 'StMath' is also suitable for engineering, scientific and business computing. The parcels are open source using Lesser GNU Public License. Users can use these parcels with other private software to create 3D applications like motion simulation, finite element analysis, CAD, scientific visualization, etc.

StCAD has been used to create a freeware called freeCAD and a shareware called CADSM(Released as freeCAD 9) which are 3D CAD with Motion Simulation. The parcel 'StMbD' has been included to provide a functional demonstration, but its source code is hidden.




Piston developed by StCAD
StCAD : What can users do?

StCAD allows users to create and manipulate assemblies, which are collections of 3D parts. The parts are 3D solids, which can be connected by joints, constraints, contacts, actuators, springs, dampers or forces. The parts and connections define the structure or mechanism that the assembly is meant to represent. Animation is possible, if the user can provide time series of position and orientation data for the parts.

Users can also obtain output data in the form of plots and tables. XY plots can be zoomed and set to equal scales. Data series available include linear and angular displacements, velocities, accelerations and other user generated data.




StCAD Graphs & Environment
StCAD : Features in Detail

StCAD is capable of full 3D pan, zoom, tilt and rotate. Available solids are extrusions of rectangles, circles, ellipses and polygons. The solids can be positioned and oriented exactly in space, as are markers on the solids. Exact specification of linear and angular velocities of solids in space are also possible. Mass and inertia properties can be user specified or automatically computed based on uniform density. Available joints are spherical (ball), revolute (pin), translational (slider), cylindrical, planar, fixed, universal, point in line, point in plane, parallel, perpendicular, no rotation, constant velocity, rack pinion, screw. The curve-curve contact allows liftoffs and collisions based on coefficient of restitution. Available actuators are rotary and translational. Their motions are user prescribed functions of time. Forces and torques are user prescribed functions of time, displacements and velocities in all three components or along connecting markers. Example formulas for spring, damper, bushing, beam, aerodynamic, inverse square law and other forces and torques are given. Available functions are sqrt, exp, ln, lg, sin, cos, tan, arctan, arctan2, spline, spectral density. Users can specify constant gravity of arbitrary magnitude and direction.

Users need to provide the domain to simulate the behavior of the system. Simulation progress can be animated and stopped any time. After simulation, the computed solution can be used for animation or frame by frame analysis. Full 3D pan, zoom, tilt and rotate is available during simulation and animation. Users can also obtain output data in the form of plots and tables. XY plots can be zoomed and set to equal scales. Individual parts can be saved into files and reinserted into any assembly repeatedly. Assemblies can be saved in binary or tab delimited text format with textual notes and simulation data for later reload. The text format allows pre and post processing of assemblies by other programs, especially spreadsheet programs. Other specific text formats are for MOSES, PDMS Review and POV-Ray. StCAD runs on Windows, Macintosh PPC, Linux PC and other Unix's. Assembly data are unchanged across platforms.

StCAD : New in this Release

In this new release of StCAD, Spline function of user data for motion and force inputs. Random vibration function from given spectral densities for motion and force inputs. Fast Fourier Transform of any times series. Curve-curve contact data can now be plotted. Complete output of POVRay files for raytracing of animation of any assembly.

StCAD : Reviews

Search freeCAD(which is built on StCAD) in the following sites.

StCAD : Open Source

freeCAD is created with the open source StCAD: 3D CAD Framework for Smalltalk and a private motion simulation program. All the source code is in Smalltalk which is a pure object oriented programming language. The development environment used is VisualWorks which has free personal use licence and commercial licence. As in every Smalltalk environment all source codes are visible for debugging and modification. To learn more about Smalltalk, please visit

StCAD : Download & Install

Download & Install StCAD


VM-Windows.tar.gz  or choose a VM suitable for you computer.
AdvancedTools.tar.gz
BaseVisualWorks.tar.gz
Contributions.tar.gz
See video above to install.

To try 'StCAD' in VisualWorks 7.x:


  • Install the VisualWorks enviroment first.
  • Create a directory, say, C:\vw7xnc\stcad8 for the downloads.
  • Download stcad8.zip(2,287,168 bytes).
  • Download patch83.zip(8,817 bytes).
  • The files should be good on all platforms supported by VisualWorks.
  • Unzip stcad8.zip into the same directory.
  • Unzip patch8*.zip into the same directory. Let it overwrite other files.
  • Save a new image in the directory and launch it from you operating system.
  • Load parcel C:\vw7xnc\stcad8\stcadstart8.pcl.
  • Click 'Yes to All' for all prompts.
  • Launch 'freeCAD' with doit 'StCAD.Editor open', if it is not already launched.
  • Inside 'freeCAD', click Explain/Quick Test/ and Explain/Quick Start/, to find instructions and tutorials.
StCAD : Version Check

Since freeCAD/StCAD can be downloaded from many locations, it is good to check that you have the latest version.

  • When you launch freeCAD inside StCAD, click Explain/About/freeCAD/ to locate the creation date:
    freeCADx was created on yyyy/mm/dd.
  • Verify that you have the latest copy by comparing with the creation date published at: http://www.ar-cad.com
  • Also check that your have the latest patch for the version.

StCAD : Quick Start

Quick Test freeCAD/StCAD

  • Click File/Open/Assembly/ to get a list of example assemblies.
  • Choose one, say, fourbar.asm
  • Click View/Tilt Rotate/ to center the model. Drag the handles to tilt and rotate the 3D assembly.
  • If necessary, Click Edit/Marker Size/ to set marker sizes suitable for the drawing.
  • Click Simulation/Animation/ to get the animation dialog. Click Play to start animation.
  • You can click any View menu item and drag the tilt and rotate handles, even during animation.
  • Close animation window when done.

Quick Start

  • Click Explain/Quick Start/ to learn how to build a model from scratch. Together, the tutorials demonstrate the available features in 'freeCAD'.

Please Report Problems to

Aik-Siong Koh

StCAD : Known Problems

Please report any problems. Let us know if you can make the installation process easier.

All Platforms

  • 'Invalid zip file'.
    Check that the download files have the exact number of bytes as shown in our website www.ar-cad.com

On Windows

  • Right clicking on some mice does not bring up the correct menu. Try right clicking while holding the ctrl key down.
  • On Windows 98, the help dialog for motion and force-torque dialogs will not close when the X button is clicked. Close with ESC key.
  • On machines with low memory, desktop icons may become white when freeCAD exits. Reboot to recover. Internet Explorer 5.5 seems to be the cause. Upgrade to Internet Explorer 6.
  • If resizing the window is very slow to repaint, disable 'Show window contents while dragging' found in Start/Settings/Control Panel/Display/Effects.

On Linux

  • 'Out of Memory' error at startup. The probable cause is having too many fonts. Execute with the following command to start freeCAD
    ./visual -h10M freecad8.im
  • Animation is jerky when the graphics window is very large. Reduce the window size.

Please Report Problems to

Aik-Siong Koh

StCAD : Documentation

StCAD is an extension of GF/ST, so its documentation (gfstvw.hlp) is relevant. Class CADApp has some documentation in class methods. Class StMathHelp has examples of use for StMath.

Documentation are inside the program. They are collected in a series of menu items labeled 'Explain'. Click on them anytime. But you MUST run the tutorials to learn freeCAD.

Inside freeCAD, click Explain/Quick Start/ for a list of tutorials on projectiles, circular motion, relative motion, pendulums, spring-masses, four-bar linkage, piston-crank, gyro, cam-follower.

You can also get help from

The motion simulation theory is in the journal paper: Koh, A-S., and Park, J-P. "Object Oriented Dynamics Simulator," Computational Mechanics, Jun 1994, 14(3) 277–287.

StCAD : Uninstall

To uninstall, just delete the stcad* directory and its contents. StCAD does not change any settings on the computer.

StCAD : Users can help us by

Your bug reports and suggestions are most valuable for improvements in StCAD/freeCAD. If you have example assemblies to share so that others can benefit from your work, please let us and others know about them. We can include them on this site if you want. Finally, but not least, please tell your friends and colleagues about StCAD/freeCAD. Thank you very much for your contributions.

StCAD : Disclaimer

StCAD is provided 'AS-IS' with no warranty as to its use or performance. By using it, you agree to indemnify the author from any liabilities that you may incur from the use of the software.