StCAD
3D CAD Framework for Smalltalk
by
A-S Koh
curriculum vitae (resume)
askoh@askoh.com
http://www.askoh.com

Page updated: 2003/03/20
'stcad7 was created on 2003/01/01.
patch70.zip supersedes all patch7*.zip.

What is 'StCAD'?
What are the features of 'StCAD'?
What is new in this release?
Are there any reviews or articles?
How to download, install, patch and quick test 'StCAD'?
Are there documentation, tutorials or examples?
What are the known problems?
Where can I get help with 'StCAD'?
What is a sponsor?
How can I help?
Disclaimer

What is 'StCAD'?

'StCAD' is a basic 3D CAD framework in Smalltalk (VisualWorks 5i.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' 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' has been used to create a freeware called 'freeCAD' which is a 3D CAD with Motion Simulation. The parcel 'StMbD' has been included to provide a functional demonstration, but its source code is hidden. For more information visit:
http://www.askoh.com
 

What are the features of 'StCAD'?

'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. 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.
 

What is new in this release?

'freeCAD' can simulate for any interval of time going forward or backward. It also nondimensionalizes the equations for improved accuracy and stability for models that are microscopic or gigantic. It can read MOSES (http://www.ultramarine.com) *.ppo files for post processing, generate animation paths for PDMS Review (http://www.cadcentre.co.uk) and generate series of *.pov files for POV-Ray (http://www.povray.org) to create series of images for animation.
 

Are there any reviews or articles?

Search for 'freeCAD' at the following web sites:
TUCOWS http://www.tucows.com
Simtel http://www.simtel.net
ZDNet http://www.zdnet.com
CNet http://www.cnet.com
Top Quality Freeware http://www.topqualityfreeware.com
Cad Depot http://www.caddepot.com
The Internet Resource for Engineering Professionals
Institute of Mechanical Engineers, http://www.imeche.org.uk
Mechanical Engineering magazine, September 2001, "Software Exchange, 3D-CAD", http://www.asme.org
CADENCE magazine, October 2001, "Analysis Tools For The Desktop", http://www.cadenceweb.com
 

How to download, install, patch and quick test 'StCAD'?

You can get a free non commercial copy of VisualWorks 7.0 at
http://www.cincom.com/scripts/smalltalk.dll/downloads/index.ssp?content=visualworks 
Create a directory, say, C:\vw70nc (or as appropriate for your platform) for the following downloads:
VMWindows.tar.gz  or choose a VM suitable for you computer.
Image.tar.gz
BaseVisualWorks.tar.gz
ExtendedBase.tar.gz
Goodies.tar.gz
Uncompress the files as instructed.

To try 'StCAD' in VisualWorks 7.0:
Create a directory, say, C:\vw70nc\stcad7 for the downloads.
Download  stcad7.zip  (2.14 MB (2,252,744 bytes)).
Download  patch70.zip  (2.85 KB (2,924 bytes)).
The files should be good on all platforms supported by VisualWorks.
Unzip stcad7.zip into the same directory.
Unzip patch7*.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:\vw70nc\stcad7\stcadstart7.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.

Quick test 'freeCAD':
Make sure that the example assemblies (*.asm) are in the directory of the image.
Click File/Open/Assembly/ to get 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.
Click Simulation/Animation/ to get the animation dialog. Click Play to start animation.
You can click any View menu item and drag handles, even during animation.
Please report any problems to
A-S Koh
askoh@askoh.com

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

Are there documentation, tutorials or examples?

'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.

Inside 'freeCAD', documentation are collected in a series of menu items labeled 'Explain'. Click on them anytime. But you MUST run the tutorials to learn 'freeCAD'. Click Explain/Quick Start/ for a list of examples on projectiles, circular motion, relative motion, pendulums, spring-masses, four bar linkages, piston crank, gyro, cam follower.

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.

Example Assemblies
 

What are the known problems?

All Platforms:
'Invalid zip file'. Check that the download files have the exact number of bytes shown above.

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 visualnc.im
Animation is jerky when the graphics window is very large. Reduce the window size.

Please report problems to
A-S Koh
askoh@askoh.com
 

Where can I get help with 'StCAD'?

For the latest information, free downloads, patches and examples for 'StCAD', visit:
http://www.askoh.com

To pose a question, submit it to the newsgroup comp.lang.smalltalk. Prefix the question with [StCAD] to distinguish it from other questions in the newsgroup.

Finally, you can email:
A-S Koh
askoh@askoh.com
 

What is a sponsor?

Sponsors can advertise on the 'StCAD' web site. Sponsors can also request for customizations of 'StCAD' or 'freeCAD' and other consultancy services from the author. A-S Koh's curriculum vitae (resume)

For more information, please contact A-S Koh at askoh@askoh.com
 

How can I help?

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

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.
 

Copyright (C) 2000-2003, A-S Koh, All Rights Reserved.