Which is why you need to define what you intend to do. If you don't have problems, then there is no need to worry about it.
This is exactly what an "assembly" is. It's a collection of different objects (parts) that are put together in some way.All the forum topics that I've read seems to be indicating that Make Compound is the right operation for uniting objects that are meant to be together since they are just separate objects that may be together as if they were glued and that's exactly what I've trying to do. In fact, this model is a module of a cabinet so it will be constructed exactly in this way in the real world. It's different parts will be glued together either by using glue or screws.
"Assembly" or "product" is the most common term used in mechanical CAD programs like Catia or SolidWorks.
I would personally use... whichever.What do you think is better for what I'm building, a compound or a Std Part container (this one I didn't know about till now)?
Reading Std Part wiki page now it seems to me that I should be using Std Part instead of Compound as it states:
"As an assembly container that groups objects to be manufactured separately then glued or screwed together, like a wooden table."
I've not used either much. To me Part Coumpounds are sort of "dumb" assemblies. You just put pieces together, and don't worry about the relationships between them; you just want them to stay together.
I would use Std Part when I really want to align things properly, as the Std Part has its own local system of coordinates, so you can align different bodies with respect to this local coordinate system.
An assembly is supposed to be a finished product, part, object, or however you want to call it. Therefore, you typically don't need to perform further boolean operations with it. You use the boolean operations on the individual bodies that comprise such assembly. Therefore, your initial statement, "I want to remove the intersection errors, because they don't allow me to perform further boolean operations", doesn't make much sense to me. If you want to perform boolean operations on the compound, then you haven't finished the assembly, you are still working on a solid body that is part of the assembly. In that case, I wouldn't create a compound, I would fuse the parts, and then keep doing boolean operations.
My advice to you is then, use a Compound when you just want to put things together quickly, and use Std Part when you really intend to do an assembly.
When you say that "in the forum everybody says that I should use Compounds", this sounds to me like a bit outdated information. The Part Workbench is a basic layer that exposes the primitives of the OpenCascade (OCCT) geometric kernel. It provides basic functions to create solids (like cubes, cylinders, torus, etc.) and to perform boolean operations with them. This way of working was the traditional way CAD systems used to work when they first appeared in the 1970s. You just added a bunch of primitive objects and fused them together (and subtracted them) to obtain a particular shape. It's an old way of working, so to speak.
The PartDesign Workbench is a more modern way of doing those same operations by "feature editing", that is, by sequentially adding parametric transformations of a base solid. It's a more modern approach.
So, by using the Part Workbench, you are using "primitive" functions. When you read information about the Part Workbench, take it with care. There are usually more modern approaches to the same process. Ultimately, however, the PartDesign Workbench (and every workbench in FreeCAD) also uses the Part primitives under the hood.
Despite this, there are some users in this forum that will just say "don't use PartDesign, use Part, it's simpler". In many cases they do it because they are stuck in their old ways of doing things, and they don't want to try newer approaches. So, beware of the information that you get.
Now, for your specific case, since you are working with simple shapes (cuboids), it makes perfect sense to use Part Boxes; that's the fastest and simplest way of creating your individual bodies. There is little advantage to using a PartDesign Body, a Sketch and PartDesign Pad, or a PartDesign AdditiveBox; you get the same basic shapes, so it's the same result. However, the final assembly seems to me better handled with a Std Part, than a compound.
Don't use Assembly2 because it's obsolete. Nobody is maintaining that code, and possibly won't work with newer versions of FreeCAD. Use A2plus, which is its direct successor.Yes, I intend to study those too. But when I open the Freecad list of available addons, Assemby 3 is not in the list, just Assembly 2 that I have already installed. What's the main difference between A2plus and Assembly 2 (or 3)?
Assembly3 is based on a forked version of FreeCAD. The author of Assembly3 is adding new core components to his own version of FreeCAD in order to facilitate the production of assemblies, and to fix other things, such as the "topological naming" problem (features are internally renamed and things break). Since these are sensitive changes, the author decided to work on a fork, so as to not affect the main FreeCAD code. Eventually, some of his improvements may be merged into the main FreeCAD code, so that everybody will have access to those features. In that moment, some features of A2plus and Assembly3 may be merged to become the "official" assembly workbench of FreeCAD.
In summary, A2plus runs on the standard FreeCAD, and can be installed from the AddonManager. To use Assembly3 you need to download and compile a special fork of FreeCAD. It cannot be installed from the Addon Manager. See external workbenches.
Code: Select all
FreeCAD ----> Assembly --> official assembly workbench, never truly developed | | | | --> Assembly2 --> first attempt at real assembly, unmaintained since 2016 | | | | --> A2plus --> fork of Assembly2, spiritual successor, and still in development and maintenance | |--> FreeCAD fork --> Assembly3 --> required changes to the core of FreeCAD to produce assemblies | |--> Assembly4 --> a new attempt at producing assemblies without relying on constraints
I honestly don't see what is so special about furniture modelling. It seems the same thing as any other type of mechanical modelling. You create individual bodies (flat panels, doors, handles, screws, bolts, nuts, washers, springs), and then you assemble them together.Yes, that's true. But what I'm really doing is testing use casses as a new FreeCAD user (that I really am) to know how likely one would adhere to FreeCAD to model furniture so that I know what features I should implement in a possibly new furniture workbench. I'm really trying to understand what are the pitfalls and what is the best approach to make FreeCAD attractive from a woodworker point of view.
If I were to create an assembly, I'd use Part Boxes for simple geometrical bodies, and PartDesign for more complicated shapes (screws, handles, rounded cushions).