The cur­rent 0.20 release of FreeCAD does not include a built-in work­bench for assem­bling indi­vid­ual com­po­nents into a more com­plex sys­tem: instead, sev­er­al 3rd-par­ty addons are avail­able through the Addon Man­ag­er, allow­ing indi­vid­ual users to choose the type of assem­bly pro­ce­dure they pre­fer. Three pop­u­lar options are A2+, Assem­bly 3, and Assem­bly 4. This arti­cle will briefly overview each. Note that although the names make it sound like one might be the suc­ces­sor of the oth­er, in fact all three are “spir­i­tu­al suc­ces­sors” to the no-longer-main­tained Assem­bly 2 work­bench. The order they are pre­sent­ed here (and in the Addon Man­ag­er) is alpha­bet­i­cal, not an indi­ca­tion of pop­u­lar­i­ty or “offi­cial” endorsement.

A2+

Adding a con­straint in A2+

A2+ (Assem­bly 2 Plus), an assem­bly work­bench by “kbwbe”, is intend­ed as a direct suc­ces­sor to the orig­i­nal Assem­bly 2 work­bench. It uses the same basic work­flow as Assem­bly 2 so users already famil­iar with that work­bench will be able to get start­ed quick­ly. Begin by cre­at­ing your parts in sep­a­rate FreeCAD files, then cre­ate a new emp­ty file and import the part that forms the basis for your assem­bly. Suc­ces­sive­ly import more FreeCAD files and apply con­straints to posi­tion them rel­a­tive to your oth­er parts. As the README puts it:

The main goal of A2plus is to cre­ate a very sim­ple, easy to use, and not over-fea­tured work­bench for FreeCAD assem­blies. Using the KISS prin­ci­ple: KEEP IT SIMPLE, STUPID

Assembly 3

An Assem­bly 3 assembly

Assem­bly 3 (a.k.a. ASM3) is an assem­bly work­bench writ­ten and main­tained by devel­op­er realthun­der. It also uses a con­straint-based approach to refer to exist­ing geo­met­ric enti­ties and align them rel­a­tive to one anoth­er. It is often used in con­junc­tion with realthun­der’s fork of FreeCAD, which imple­ments tech­niques to mit­i­gate the so-called “topo­log­i­cal nam­ing prob­lem” (TNP). TNP-relat­ed issues can oth­er­wise cause prob­lems for a con­straint-based approach if the under­ly­ing objects change after the assem­bly has begun. Those tech­niques are being merged into the main FreeCAD devel­op­ment project dur­ing the cur­rent devel­op­ment cycle, but as of this writ­ing they are not yet available.

Assembly 4

Plac­ing a new body in Assem­bly 4

Assem­bly 4, by Zolko-123, uses user-assigned “LCS” (Local Coor­di­nate Sys­tem) objects to assem­ble objects rel­a­tive to one anoth­er. This avoids any poten­tial TNP issues by ignor­ing the under­ly­ing geom­e­try itself and using FreeCAD’s built-in Part::Attacher and ExpressionEngine. It com­plete­ly avoids the idea of “con­straints”, opt­ing for a sim­pler (and arguably more reli­able) direct-posi­tion­ing approach.

How do you choose?

All three of these work­bench­es are eas­i­ly installed using the Addon Man­ag­er, and all three can be installed at the same time. The best way to deter­mine which one is best for you is to give each of them a test-dri­ve. The user expe­ri­ence for each is very dif­fer­ent, and many peo­ple devel­op strong pref­er­ences about which one is the best for their use-cases.


Discover more from FreeCAD News

Subscribe to get the latest posts sent to your email.

Discover more from FreeCAD News

Subscribe now to keep reading and get access to the full archive.

Continue reading