Skip to content

Commit b99d47d

Browse files
committed
FreeCAD assemblies post
1 parent b0e54e0 commit b99d47d

5 files changed

+55
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: Trying out Assemblies in FreeCAD 1.0.0
3+
date: 2025-02-12
4+
tags: [3d cad, robotics cad, robot building, robotics at home]
5+
description: Using the FreeCAD Assembly workbench in FreeCAD 1.0.0
6+
thumbnail: content/2025/02/12-freecad-assemblies/robot-chassis-front-assembly.png
7+
---
8+
I've been working on a robotics mentoring project for [Coder Dojo KU](https://www.coderdojoku.org/). There will be a fleet of 10 of these robots. The current task is to model a sensor bracket that I can print for some RCWL-1601 ultrasonic distance sensors.
9+
10+
The specific sensors are always 3.3v compatible, and quite cheap. Awkwardly, they do not fit where the more frequent HC-SR04 ultrasonic sensors fit. So I'm designing a bracket to hold them in place on the Adafruit Mini-3-round chassis that I'm using as a base for the robot.
11+
12+
I wanted to ensure it fit, and modelled part of this chassis in FreeCAD. I've been using FreeCAD for years, but today I got into what the 1.0.0 version could do for me.
13+
14+
## Fasteners workbench
15+
16+
The first thing is to try the Fasteners workbench if you haven't. Screws and standoffs are there, and people who know my building style know that I like to use PCB standoffs for lots of construction since they are cheap and fairly easy to get hold of.
17+
18+
If you want to model nuts, bolts and washers, this is the workbench for you.
19+
20+
The stand-offs are in a slightly odd selection in the workbench - look under the "Inserts" toolbar section for them. You can then set a standard diameter (M3 or M2.5 are what I use) and length.
21+
22+
## Assembly workbench
23+
24+
I've been burned a bit by FreeCAD assemblies workbenches - with assembly 2, 3, and 4 all behaving very differently, being incompatible, and a bit unstable.
25+
26+
This one however, has been a joy to use.
27+
I provoked one crash sadly, probably by trying to do too much and change things while inside a mate dialog.
28+
A top tip is to save often, and finish a dialog based step before doing anything else.
29+
30+
### Adding parts
31+
32+
You can create an assembly, and starting adding parts. The transform UI appears after adding one in, so you can put it close to where you might need it.
33+
34+
![Placing a fastener in the assembly](/2025/02/12-freecad-assemblies/placing-screw-for-assembly.png)
35+
36+
I tend not to try moving them exactly into place, but give them the right orientation, but clearance to access the features needing to mate the parts together.
37+
38+
### Mating parts
39+
40+
![The Fixed Joint icon in the Assembly workbench in FreeCAD](/2025/02/12-freecad-assemblies/fixed-joint-freecad-assembly-icon.png)
41+
I was most often able to use the simple Fixed Joint style to mate items together.
42+
43+
![Selection ready to join together](/2025/02/12-freecad-assemblies/fastener-hole-selection-ready-to-assemble.png)
44+
45+
I select one parts feature - this case the top round edge of a screw hole on the chassis (the part that will remain still), and then a round edge of the part that would move, the lower rim of the screw head. When I then select fixed joint, that screw will be aligned so that the head is touching the chassis, and the screw is aligned with the hole.
46+
47+
This seems far simpler than linking in separate documents, making reference geometry everywhere and aligning their axes.
48+
49+
## The current result
50+
51+
I'm first making a reference assembly to see that my design for the sensor will fit.
52+
53+
![Reference assembly of the front of the robot](/2025/02/12-freecad-assemblies/robot-chassis-front-assembly.png)
54+
55+
I've only modelled the front of the robot chassis and it's holes, a little lazy, but it's all I need for this current step. I'll be then adding in the sensor bracket, and making a low-effort model of the sensor itself to see that it fits well.
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)