Liberty, Equality, & Justice for ALL
Tux-Lab Manufacturing Project
- A learned blockhead is a greater blockhead than an ignorant one. -
Benjamin Franklin 1737
Open Source
Whenever possible, Tux-Lab uses Open Source Software.

[Back to Project Groups]

- Updates -
FEA of Design Options
Apr 03, 2012

While waiting for the cutting tools to arrive. The effect of hollowing out the bottle opener was explored with Z88, an open source FEA software. Z88 is available in Debian, but Z88Auora the newer gui version of Z88 is only available as a Ubuntu package. Luckily, the Z88 was able to install under Debian.

After many hours of bumbling around, some sort of an answer was derived. The accuracy of the answer is unknown, but the picture look pretty. The skeletonized bottle opener does deflect more, but not that much more than the solid body version.

The ascii mesh was created using FreeCAD and imported into Z88. After reading through documentation, it appears that while Z88 is an open source software, Z88Auora is a binary only distribution.

Project Dimesioning with LibreCAD
Apr 02, 2012
A dxf file was exported from FreeCAD and imported into LibreCAD for dimensioning the endpoints for writing g-code. Since the current version of FreeCAD, v0.12, is millimeter only, a reduction factor of 25.4 was applied to the imported dxf file to derive the inch unit.

Product Design with FreeCAD
Apr 02, 2012

Originally drawn using a commercial CAD software. Redrawn with LibreCAD, v1.0.1, then finally with FreeCAD v.12-5382, on Debian (Squeeze) GNU/Linux. It was like relearning CAD because a lot of tools are missing from both packages. For example, in FreeCAD there are no tools for specifying tangential relationship between curves. However, the tangential relationship can be established indirectly through parallel lines that are tangential to the curves. Once feature of FreeCAD is it automatically test to see if the sketch is properly constrained. The part looks bigger than actual size. The actual size is ~4" x 0.5" x 0.1". The material is 304 stainless. The next step is to write the gcode and machine the actual product. Followed by laser marking with CerMark.

Open Source Desktop
Feb 17, 2012

Screenshot of Tux-Lab's typical open source manufacturing desktop. CAD program to left side for dimensional references. Gedit to the upper right for writing g-code. PDF reader to the bottom right for g-code references.

Nothing fancy. Just simple open source tools at the origin.

FreeCAD on Debian
Feb 13, 2012

Wow! FreeCAD v.12 is an amazing open source CAD software with a many many future possibilities, but FreeCAD v.12 is only available under Debian Wheezy(Testing). The current FreeCAD version for Debian Squeeze(Stable) is v.10 which is not quite as good as v.12.

Installing Debian Wheezy(Testing) has it's own problems. The Gnome3 desktop was a bit strange, but worst of all is that Wheezy no longer support older NVidia video cards. Installing over a cache-less 512Kb DSL was painfully slow and at the end, Wheezy was not a workable solution with the existing hardware. Returning to Debian Squeeze(stable) was another painfully slow net-install process.

After the 48 circular detour, was all else failed, it was time to read the FreeCAD documentation. As it turned out, the compiling process was not as painful as imagined but slightly different from documented.

Using git or svn will download the latest v.13 version which has trouble with solid object placement so the the source file v.12-5284 was download as a tarball from the FreeCAD repository.

On Debian, most of the require packages can be downloaded with

apt-get build-dep freecad,

however there are a few more packages that will need to be installed manually via

aptitude install build-essential python libtool libcoin60-dev libsoqt4-dev libxerces-c2-dev libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev libboost-serialization-dev libboost-signals-dev libboost-regex-dev libboost-thread-dev libqt4-dev qt4-dev-tools python2.5-dev libopencascade-dev libf2c2-dev gfortran libeigen3-dev libqtwebkit-dev libsimage-dev checkinstall python-pivy automake python-qt4 doxygen libcoin60-doc libspnav-dev libwebkit-dev

The required libeigen3-dev package will need to be downloaded from the Debian Wheezy(Testing) repository, luckily, it is a stand alone package that will install without any dependency issues.

After the require packages has been install, FreeCAD can be compiled with,

make install or sudo checkinstall

Checkinstall will install FreeCAD as a debian package that can be removed by Debian package manager, but since FreeCAD is installed into ~/FreeCAD directory in the user's home directory, deleting the package is as simple as deleting the ~/FreeCAD folder, a simple make install is sufficient.

To start FreeCAD, simply execute ./FreeCAD/bin/FreeCAD

An excellent FreeCAD tutorial can be found at Seeing FreeCAD v.12 running on linux in the tutorial was a motivator to get FreeCAD running on Debian Squeeze.

Feeling the success of compiling FreeCAD, LibreCAD source code was also downloaded and compiled. LibreCAD is a newer version of QCad that strangely is also only available in Debian Wheezy(Testing) and not in the current Debian Squeeze(Stable).

The latest LiberCAD stable v1.0.1 source code was downloaded from the LibreCAD archive. Following the LibreCAD installation instruction, the process if fairly simple.

[UPDATE 2012-02-17]
During the installation of FreeCAD onto a IBM Thinkpad running Debian Squeeze(stable) T42p with ATI Mobility FireGL T2 graphic card using Xorg radeon driver and firmware via the firmware-non-free package, the following error was encountered:

Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_VALUE', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)

On FreeCAD, the dimensional units will not display properly on the screen and will show a white block instead of the dimensional digits.

The problem was solved by upgrade the mesagl packages via the Debian backport repository. The following packages were upgrades and the upgrade solved GLRenderS() error.

From apt histry.log
Upgrade: libdrm-intel1:i386 (2.4.21-1~squeeze3, 2.4.26-1~bpo60+1), mesa-common-dev:i386 (7.7.1-5, 7.10.3-4~bpo60+1), libdrm2:i386 (2.4.21-1~squeeze3, 2.4.26-1~bpo60+1), lib drm-radeon1:i386 (2.4.21-1~squeeze3, 2.4.26-1~bpo60+1), libgl1-mesa-dev:i386 (7.7.1-5, 7.10.3-4~bpo60+1), libgl1-mesa-dri:i386 (7.7.1-5, 7.10.3-4~bpo60+1), libgl1-mesa-glx: i386 (7.7.1-5, 7.10.3-4~bpo60+1)

TheCuriousPenguin - 2012
Free as in