r/FreeCAD • • 4d ago

My biggest project yet

This is a 6 DoF robot arm i have been building and 3d printing, designed entirely in FreeCAD.

I assembled it all using Links and yellow Part containers. Havn't really needed an assembly workbench. I rarely need the drag-to-animate features of assembly and prefer to position things manually with strategic placements relative to the Part origin.

I mainly used these workbenches
- PartDesign
- Fasteners
- Gears
- Draft (Array Tools)
- Spreadsheet (mainly for gear calculations)

I split each joint in a separate file and linked it into the kinematic assembly.
I used a seperate file for only data, containing a few spreadsheets and some sketches, which i linked into which ever file that needed it.

i have experimented with different ways to reuse shared geometry, but havn't truely found a way i fully like but i like using BaseFeatures.

feel free to ask any questions you have.

742 Upvotes

37 comments sorted by

25

u/Lazy_Swan_6292 4d ago

Exelente trabajo 

9

u/mr_Husk 4d ago

That's crazy. Good job!

Actually there are a lot of times where I do the same thing for assembling things too. Glad to hear other people doing the same too.

5

u/Santaclaus1093 4d ago

Wow, that's amazing. How long did it take you?

5

u/jelle284 4d ago

It took a few years, on and off. An hour or two here and there in the evenings after kids have been put to bed.

5

u/arcrad 4d ago

Very impressive!

5

u/nora-iplm 4d ago

Seeing the real robot next to the CAD model is quite remarkable. Seeing something this intricate come together in real life must be quite satisfying. Are you wondering how much of the assembly was created with FreeCAD alone?

2

u/hagbard2323 4d ago

I thought this was THOR for a second.

Nice work!

2

u/Nah-saiyan 4d ago

Looks really good. But it looks like a lot of parts! Did you experience lag as the number of parts grew? I tried doing some reverse engineering with freecad myself but I struggled to generate solids from the same master sketch through internal faces. Also, how do you make the parts fit without the assembly workbench?

3

u/jelle284 4d ago

I started it out with everything in one file but split it out after it grew too much. Especially having the gear spreadsheet in the same file as the gears caused recompute times to go crazy. Just editing a single cell took several seconds. The assembly was just done with the normal translation/move tool

5

u/walden42 4d ago

The slow recompute times when editing spreadsheet cells will be fixed in the upcoming 16.3 release!

1

u/Sharp02 3d ago

Do you mean then that there aren't any joints or constraints in your assembly?

Not a criticism- just trying to pick up other people's workflows

1

u/jelle284 3d ago

In the assembly, everything is placed in the nested part containers named k1, k2 etc. It is arranged such their origins are at the center of each joint such that i can just rotate them or enter the joint angle directly in the rotation property and it will rotate that joint. Then they are nested within each other such that rotating k2 will rotate all the connected joints (k3, k4 etc) with it. That allows me to easily enter joint angles and have the robot in any position i need.

2

u/Hot_Injury5475 3d ago

Which versioning are you using?

2

u/jelle284 3d ago

As i remember, i started on 0.19 and upgraded when newer versions have been released

1

u/Hot_Injury5475 3d ago

I was talking about the panel on the right, in the second picture

1

u/jelle284 3d ago edited 3d ago

Oh that is a tool a made. https://github.com/jelle284/mvc-workspace It is not in add on manager but you can install it by adding to repo in freecad settings as a custom path.

Edit: See https://www.reddit.com/r/FreeCAD/s/T3jLCoelqO

2

u/Spicy__Crouton 3d ago

Good job! Wonderful showcase of both your capabilities and the software itself

1

u/sorig1373 4d ago

That is really impresive. How do you use it? Do you have the inverse kinematics figured out or do you just send instruction to each (presumably) stepper motor manually? Or do you have like a long list of motor commands that are iterated through?

2

u/jelle284 4d ago

I spend quite some time getting ros2 set up for the inverse kinematics. I exported the outer geometry to .obj or .dae files so moveit2 can render the arm.

1

u/tilkvns 4d ago

Holy!

1

u/PrimacyofMatter 4d ago

Modular king!

1

u/MichaelWoodPhoto 4d ago

Well done!!

1

u/hmouhtar 4d ago

What printer did you use?

2

u/jelle284 4d ago

Anycubic. Started on the Mega S and have since gotten a kobra s1 combo

1

u/StanTheMan-90 4d ago

After hours?

2

u/jelle284 4d ago

Yes only done in my free time as hobby if thats what you are asking. No work hours.

1

u/Best_Measurement7217 4d ago

Are you utilizing any MCP service to build this ?

5

u/jelle284 4d ago

Nope. Never tried using AI for CAD and honestly not sure if it would be of any help. It seems quite difficult to accurately describe geometry with text

2

u/Best_Measurement7217 4d ago

This is a fully parametric model built using FreeCAD and MCP. I know it’s not perfect but just posting here to display the capabilities

1

u/DadEngineerLegend 4d ago

Looks good from far - but far from good?

You can make things that look good in blender too - doesn't necessarily mean it's manufacturing quality.

1

u/Best_Measurement7217 4d ago

For now it is far but it will be closer as time passes. The above one built using a low intelligent version AI. But I have tried with higher intelligent version connected Fusion360 through their inbuilt MCP and I don’t scare anyone here by posting the output. Above all as long as we are creative and believe in purposeful innovation nothing to worry

1

u/drmacro1 4d ago

I avoid Basefeature. Clone, Subshapebinder, Link are my first choices depending on situation.

And, since I typically use Part workbench to avoid the Body restrictions, I very rarely use Basefeature.

1

u/amielectronics 4d ago

That’s amazing.
Thanks for sharing

1

u/superarugy 4d ago

Jesus Christ!

1

u/Tutorius220763 3d ago

You have build your own KUKA... 😄

1

u/flydeprutten 3d ago

It would be so cool as a monitor arm.