
FreeCAD on Raspberry Pi 4 - app4soft
https://scruss.com/blog/2020/02/16/freecad-on-raspberry-pi-4/
======
kwk1
Hi all, I'm the FreeCAD Debian package maintainer. I just wanted to touch on
the "complex technical reasons" portion. Broadly speaking, it's an interaction
with our scenegraph library Coin [1] and Qt 4/Qt 5--things work with Qt 4 on
ARM, but crash with Qt 5, which is now the default build configuration in
Debian due to Qt 4 removal. The full troubleshooting thread is on the FreeCAD
forums. [2] That bug is an outstanding issue and blocks Qt 5 support on ARM,
so if anyone wants to be heroic feel free to go digging there and look for a
fix. The above post presents the instructions for a Python 2, Qt 4 build, but
it's also possible, with the most recent versions of several packages plus a
rebuild, to have a Python 3, Qt 4 build.

Since it seems like there's a good demand for FreeCAD on ARM between Raspberry
Pis and even the new Pinebook Pro, and there's now opportunity with our recent
DigitalOcean infrastructure sponsorship [3], I think I'm going to start up an
apt repository soon for ARM packages, at, say, apt.freecad.io. That way I can
provide the dependencies for Python 3 builds, plus FreeCAD itself in Python 2
& 3 flavors of 0.18.4 stable, and eventually daily builds as well. This is in
addition to the PPA [4] which could provide ARM packages for Ubuntu on the
Pi/PBP, but I mostly have those architectures disabled currently.

[1] [https://github.com/coin3d/coin/](https://github.com/coin3d/coin/)

[2]
[https://forum.freecadweb.org/viewtopic.php?f=42&t=37458](https://forum.freecadweb.org/viewtopic.php?f=42&t=37458)

[3] [https://www.kwk.systems/blog/posts/november-and-december-
upd...](https://www.kwk.systems/blog/posts/november-and-december-update-for-
freecad-debian-science/#freecad-sysadmin-woes-begone-digitalocean-sponsorship)

[4] [https://launchpad.net/~freecad-
maintainers](https://launchpad.net/~freecad-maintainers)

~~~
watchdogtimer
FWIW, I've been using Freecad 0.18 on a Nano Pi M4 (64-bit ARM) installed from
the standard Debian 10 repository of Armbian for the past several weeks with
zero problems.

~~~
kwk1
Oh, that's interesting! Do you happen to know if you're using OpenGL ES? (You
can e.g. `dpkg -l | grep gles`.)

------
scruss
Hey - I wrote this article. Kind of surprised how popular it is; think I've
had more hits today than I had all of last year.

To me, the 4 GB Raspberry Pi 4 is quite an acceptable desktop. Yes, I could
have a Pinebook, but they don't have the support community.

I wrote about FreeCAD because the charity I work for — Makers Making Change
[1] — makes open source 3d printed assistive tech to empower people with
disabilities. We're always looking for free CAD solutions, and to get FreeCAD
running well on a Raspberry Pi 4 was too good to miss.

I'm trying to get as many of our designs usable in free software as possible.
Up to now, I've been a pretty solid OpenSCAD user. It's good, but not perfect:
it's possible to generate non-manifold volumes even if you do the right thing
all the way through.

[1] [https://www.makersmakingchange.com/](https://www.makersmakingchange.com/)

------
Animats
It's amusing to see people trying to make the Raspberry PI into a desktop
computer. It's basically a tablet chip on a breakout board. You can buy a
Pinebook ARM laptop for $100. By the time you've added a case, a keyboard, a
screen, a battery, and a power supply to a Raspberry Pi, you're over $100
anyway.

~~~
craftyguy
Don't assume everything you see is financially motivated. Some people extract
greater value in tinkering than the extra pennies they save by having someone
do the tinkering for them.

------
smoyer
I use FreeCAD with the ship design/testing module and it makes my (beefy)
desktop warm up the room a bit. I suspect that you could use the Pi 4 for
drawing (to some limit) just fine but if you're calculating a lot of splines
and then displacement, I really doubt you'd want to wait for the results (if
there was enough memory to finish).

~~~
justinclift
Been trying out FreeCAD recently (0.19 development), but there seems to be a
lack of coherent story about "how to put more than 1 part into an assembly".

eg the Part and PartDesign workbenches seem ok, but there seems to be no
stable way of assembling multiple parts together.

Instead, there seem to be several _competing_ assembly modules, all
incompatible with each other. And none of which are stable.

So, when I create a part intended to be a reference design, I can't use it in
_any_ assembly as it'll then be incompatible with every other one.

How do you do things with FreeCAD, as the above assembly problem seems like a
complete blocker for any real world use? :(

~~~
jstanley
I tend to just manually position the bodies to see if parts look like they
will fit together properly. You can reduce opacity (right click a body in the
tree view, appearance..., drag the slider) to see how things fit internally.
Obviously this is impractical for larger projects with more parts.

I believe "Assembly4" is the most advanced assembly workbench but I've never
tried it, I'd be interested in hearing from someone who has.

~~~
justinclift
Thanks. :)

Yeah, I've tried both A2+ (A2plus) and Assembly4. Both seem to work ok for at
least basic things.

However Assembly4 _requires_ attachment points to be defined in the source
parts instead of just storing the attachment info in an Assembly file.

That means source parts will have Assembly4 stuff added to them, ruining their
re-use (eg with external people) unless they're also using Assembly4
exclusively.

It's really unfortunate, as I wanted FreeCAD to be useful for publishing
reference designs people could use even (say) 10+ years in the future. :(

------
emilecantin
I've tried to learn FreeCAD on a few occasions, but I just don't get it. I
guess I'm spoiled with OpenSCAD, which actually makes sense to my programmer
brain.

~~~
lvh
FreeCAD generally feels more like a traditional CAD program to me. I'd use
OpenSCAD, but can't for my application: OpenSCAD fundamentally uses imprecise
shape approximations. You draw a sphere but get a high-poly ball, sorta like
raster vs vector in 2D imagery. This is fine for a lot of applications, but I
want to CNC large, smooth undulating surfaces. The best way to get into my CNC
(Shopbot PRS alpha) is via Fusion 360, and Fusion 360 barfs tremendously
quickly with those high-poly shapes unless you get the actual (mathematical,
"vector") shapes in with a format like IGES or STEP.

OpenSCAD is _awesome_ for targeting 3D printers, though.

~~~
jandrese
OpenSCAD will barf quickly on high poly shapes too. Try asking it to render a
1000x1000 point surface some time. That's not even a particularly crazy level
of detail if your 3D printer is reasonably large.

Hint: 32GB of memory is not enough.

------
ghostpepper
I know the RPi4 is more powerful than previous iterations but don't CAD
programs generally require pretty beefy CPU/GPU hardware?

I was sort of hoping this post would at least mention in passing the
complexity of assembly that is possible on this hardware.

~~~
jerf
The original release of FreeCAD was in 2002. The RPi4 will handily outclass
anything anybody was running it on at the time.

You have to stay in the limitations you have, but that's true on any system
and always has been.

~~~
sgillen
Still wondering what the use case is...I just can't see what advantage the pi
would have over using FreeCAD on any typical desktop or any laptop...

I guess education? Especially given the pi is very cheap and can be used for
all sorts of other things?

~~~
jerf
I think that would be it, yes. There's a lot of people for whom giving them a
~$50-100 "computer" that blows away anything I had in 2010 is still a good
thing. The more real tools and programs you can get running on that, the
better off they are.

------
app4soft
And here is _@scruss_ ' tweet[0]

[0]
[https://twitter.com/scruss/status/1229070234990108676](https://twitter.com/scruss/status/1229070234990108676)

