freeCAD
3D CAD with Motion Simulation
by
A-S Koh
curriculum vitae (resume)
askoh@askoh.com
http://www.askoh.com

Page updated: 2003/04/08
'freeCAD7' was created on 2003/01/01.
patch70.zip supersedes all other patch7*.zip.

What is 'freeCAD'?
What are the features of 'freeCAD'?
What is new in this release?
Are there any reviews or articles?
Is 'freeCAD' open source?
How to download, install and patch 'freeCAD'?
How to version check, quick test and quick start 'freeCAD'?
Are there documentation, tutorials or examples?

What are the known problems?
How to uninstall 'freeCAD'?
Where can I get help with 'freeCAD'?
What is a sponsor?
How can I help?
How to use 'freeCAD'?
Disclaimer

What is 'freeCAD'?

'freeCAD' is a basic 3D CAD with advanced Motion Simulation capabilities. It is suitable for anyone interested in learning 3D CAD and Motion Simulation for free before using more sophisticated packages. Educators, students and new engineers will find it ideal for the teaching and learning of geometry, kinematics, dynamics, vibrations, mechanisms, linkages, cams, machine design and physics. The program runs on Windows, Macintosh PPC, Linux PC and other Unix's. Assembly data are unchanged across platforms. It is a FREEWARE which is sponsor supported. Releases will be made quarterly. It can be distributed freely subject to the disclaimer below.

'freeCAD' allows users to create and manipulate assemblies of parts. The parts are simple 3D solids, which can be connected by joints, constraints, contacts, motors, actuators, springs, dampers, forces, torques or gravity. The parts and connections define the structure, mechanism or machine of interest. Both open and closed 3D loops are permitted. 'freeCAD' performs full Multibody Dynamics analysis on the assembly to predict the motion according to Newton's Laws. Animation using the simulated data produces realistic dynamic behavior of the system.

Users can study the mechanical dynamics in the form of plots and tabular output. XY plots can be zoomed and set to equal scales. Data series available include linear and angular displacements, velocities, accelerations, forces, torques, momenta and kinetic energies. Acceleration data include transverse, centripetal and Coriollis accelerations. Users can view forces and torques from joints, constraints, actuators, springs, dampers, applied forces and inertia.

Screen Shot 1   Screen Shot 2
Example Assemblies
 

What are the features of 'freeCAD'?

'freeCAD' 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. Both open and closed 3D loops are permitted. The curve-curve contact allows liftoffs and collisions based on coefficient of restitution. Available actuators are rotational 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. 'freeCAD' can compute kinematic, quasi-static or dynamic solutions for any interval of time going forward or backward based on the assembly and user requests. It does redundant constraint removal automatically and nondimensionalizes the equations for improved accuracy and stability. Simulation progress is animated and the simulation can be 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 obtain engineering data in the form of plots and tabular output. XY plots can be zoomed and set to equal scales. Data series available include linear and angular displacements, velocities, accelerations, forces, torques, momenta and kinetic energies. Acceleration data include transverse, centripetal and Coriollis accelerations. Users can view forces and torques from joints, constraints, actuators, springs, dampers, applied forces and inertia. Individual parts can be save into files and reinserted into any assembly repeatedly. Assemblies can be saved in binary or human readable, tab delimited, text format with 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. 'freeCAD' 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:
ZDNet http://www.zdnet.com
CNet http://www.cnet.com
TUCOWS http://www.tucows.com
Simtel http://www.simtel.net
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
 

Is 'freeCAD' 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 is also open source.
 

How to download, install and patch 'freeCAD'?

If your internet connect is unreliable, use Download Accelerator Plus to resume incomplete downloads.

To try 'freeCAD' in Windows 95, 98, ME, NT, 2000, XP with 64MB or more RAM:
Create a directory, say, C:\freecad7 for the downloads.
Download freecad7.zip  (6.02 MB (6,313,137 bytes)).
Download patch70.zip  (1.47 KB, 1512 bytes).
For alternative download web sites, go to the reviews section above.
Unzip freecad7.zip, preserving subdirectories, into the same directory.
Unzip patch7*.zip, preserving subdirectories, into the same directory. Let it overwrite other files.
Double click on freecad7.exe to launch the application.
If double clicking doesn't work, create a shortcut containing the full command below:
C:\freecad7\freecad7.exe  C:\freecad7\freecad7.im
The working directory should be C:\freecad7
Then double click the shortcut. 
Please read the Known Problems

To try 'freeCAD' in Macintosh PowerPC:
Create a folder, say, freecad7 for the downloads.
Download freecad7.zip  (6.02 MB (6,313,137 bytes)).
Download patch70.zip  (1.47 KB, 1512 bytes).
Locate and download PowerMac virtual machine at http://www.cincom.com/scripts/smalltalk.dll/downloads/index.ssp?content=visualworks
Open Stuffit Expander 5.5's preferences dialog to Cross Platform options, and select
"Never" for "Convert Text Files to Macintosh text format".
Then for the Destination options, select
"Same as original" for "Destination"
"Never" for "Create Surrounding Folder".
Decompress freecad7.zip, preserving subdirectories, into the same folder.
Decompress patch7*.zip, preserving subdirectories, into the same folder. Let it overwrite other files.
Decompress virtual machine file into the same folder.
From subfolder freecad7:bin:powermac, move the application visual, StdLibC and Netmanage into folder freecad7
In folder freecad7, drag freecad7.im and drop onto visual to launch the application.
Alternatively, create a alias containing the full command below:
visual freecad7.im
The working folder should be freecad7
Then double click the alias.
You may delete subfolder freecad7:bin:powermac and its remaining contents. 
Please read the Known Problems
 

To try 'freeCAD' in Linux PC:
Create a directory, say, /home/username/freecad7 for the downloads.
Download freecad7.zip  (6.02 MB (6,313,137 bytes)).
Download patch70.zip  (1.47 KB, 1512 bytes).
Locate and download Linux virtual machine at http://www.cincom.com/scripts/smalltalk.dll/downloads/index.ssp?content=visualworks
Decompress freecad7.zip, preserving subdirectories, into the same directory.
Decompress patch7*.zip, preserving subdirectories, into the same directory. Let it overwrite other files.
Decompress virtual machine file into the same directory.
From subdirectory /home/username/freecad7/bin/linux86, move the executable visual into directory /home/username/freecad7
Repeat for file herald.so.
Change directory to /home/username/freecad7
In a terminal window, execute: ./visual freecad7.im
Alternatively, create a script containing the full command below:
/home/username/freecad7/visual  /home/username/freecad7/freecad7.im
The working directory should be /home/username/freecad7
Then double click the script.
You may delete subdirectory /home/username/freecad7/bin/linux86 and its remaining contents. 
Please read the Known Problems

To try 'freeCAD' in other Unix's:
Follow instructions for Linux PC.
Locate and download your virtual machine at http://www.cincom.com/scripts/smalltalk.dll/downloads/index.ssp?content=visualworks

How to version check, quick test and quick start 'freeCAD'?

Version check:
Since 'freeCAD' can be downloaded from many locations, it is good to check that you have the latest version.
Inside 'freeCAD', 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.askoh.com
Also check that your have the latest patch for the version.

Quick test 'freeCAD':
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.
Please report 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?

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.

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?

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

All Platforms:
If an error message comes up, click on "Continue" to let Smalltalk recover. You can usually continue if you avoid the offending steps. Every error is logged in a file called error.log. Email that file to the author for debugging. Patches and workarounds will be posted as soon as possible. Thank you in advance.
'Invalid zip file'.
    Check that the download files have the exact number of bytes shown above.
'freecad7.im cannot be opened'.
    Use Winzip to unzip freecad7.zip and patch7*.zip.
'ERROR_PATH_NOT_FOUND'.
    Unzip did not preserve subdirectories. Reunzip, preserving subdirectories. Otherwise move all *.sdoc files into a subdirectory
    /resource/explain
'ERROR_ACCESS_DENIED'.
    'freeCAD' cannot run from CD-ROM or write protected media. Copy the freecad7 directory and its contents to a writable hard disk.
'Enter an Integer' prompt regardless of what you input.
    Download freecad7full.zip
    Decompress it and let it over freecad7.im.

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 Macintosh:
'Unhandled exception:  String format error...'.
    Download freecad7full.zip
    Decompress it and let it over freecad7.im.

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


How to uninstall 'freeCAD'?

To uninstall, just delete the freecad* directory and its contents. 'freeCAD' does not change any settings on the computer.
 

Where can I get help with 'freeCAD'?

For the latest information, freeware downloads, patches, examples and open source of 'freeCAD', visit:
http://www.askoh.com

To pose a question for general viewing, submit it to the newsgroup alt.cad. Prefix the question with [freeCAD] to distinguish it from other questions on different topics.

You can email your questions to:
A-S Koh
askoh@askoh.com
 

What is a sponsor?

'freeCAD' is a freeware suitable for anyone interested in learning 3D CAD and Motion Simulation for free before using more sophisticated packages. Educators, students and new engineers will find it ideal for the teaching and learning of geometry, kinematics, dynamics, vibrations, mechanisms, linkages, cams, machine design and physics. Since its release in July 2000, 'freeCAD' has been downloaded at least 150,000 times. For proof, search for 'freeCAD' at the web sites mentioned in the reviews section. The master website (http://www.askoh.com) receives 200 unique clients who download 1.0GBs daily. Since 'freeCAD' is freeware, it can be downloaded from many sites that are not accounted for in the above numbers. A search for 'freeCAD' on any major search engine will point to about 1000 relevant links worldwide.

Sponsors can advertise on the 'freeCAD' web site and inside the 'freeCAD' program to promote their products, services, publications and job opportunities. There will be no more than ten advertisers inside the program at any one time. Each advertiser gets equal time to show his/her messages at various points (title bar, menu item, dialog boxes, status bar) in the program as the users use the program. Advertisers can change their messages every quarter when new releases of 'freeCAD' are made. For the price of US$500 per month, sponsors can advertise to over 6000 new users of 'freeCAD' per month. In addition, continuing users of 'freeCAD' will still see their advertisements.

Sponsors can also request for customizations of '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 'freeCAD'. If you have example assemblies 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. If you like programming, I welcome you to look at the open source and discover the wonders of pure object oriented programming and the productivity gains that can be had. Finally, but not least, please tell your friends and colleagues about 'freeCAD'. Thank you very much for your contributions.

 

Disclaimer

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