I've experienced a few situations where i feel the need for creating a reusable pattern to include in several part designs. For example, let's say I want to make some holes to screw two parts together. This is a fairly simple example, so I currently just design the same pattern of holes on each part. Fairly simple, but I still create the design multiple times.

Another example: let's say I'm designing train tracks for something like a BRIO train system. I might start with a sketch of the track profile that I could sweep/loft/pad/revolve to create curves, straight sections, hills, etc. I would also stick the same male and female connectors on each end of all of these. How should I make the profile and connector designs once, and then reuse them? And more importantly, how would I structure this so I could make an improvement/adjustment to the design, and make sure the change is represented in all the derivative parts? Is this possible?

I've read this , but I think any change would have to be replicated in all pars.

Thanks!

Last edited by kefir on Sat Feb 16, 2019 6:57 pm, edited 2 times in total.

I would also stick the same male and female connectors on each end of all of these. How should I make the profile and connector designs once, and then reuse them? And more importantly, how would I structure this so I could make an improvement/adjustment to the design, and make sure the change is represented in all the derivative parts?

Thanks people. I'm trying to use Clone, and I got it to work in the end - but I think I may be doing something wrong because this involved quite a few manual steps every time.

1. create a body with a single sketch (master sketch)
2. clone the sketch with Part Design Clone
3. select the clone, and add a new body - this way the clone is added into the body as a BaseFeature
4. create a new sketch in the same plane as the BaseFeature
5. add all edges of the sketch as linked external geometry
6. basically recreate the sketch, linked to the clone/basefeature

This new sketch that I've recreated can now be padded, revolved, or treated like the original sketch. And if I make changes to the original sketch, the parts created from the clones are updated. I can't seem to use the clone directly for anything much, so I have to recreate the sketch every time.

I'm attaching the test design I was playing with to get this working.

Is this the correct workflow? Or is there a simpler way to clone a sketch and use the clone for anything?

Here's what I think would be a correct work flow: create your master sketch outside of a Body, since you're not going to create 3D geometry inside this Body anyway (for that you need to create your new sketch from the Sketcher, not from PartDesign which automatically creates a Body). Then, make a Draft Clone of the sketch. Draft objects are 2D geometry, they can be dropped inside Bodies and be used for 3D features just like sketches.

It's not easy to understand the difference between stuff like Draft Clone and Part Design Clone. From a usability perspective, perhaps they can be consolidated into a single Clone function available from both workbenches? Could the "right" function be selected automatically, based on the input? Or if there are multiple possibilities, perhaps it could ask me which variant I want?

There are two problems with merging those tools: they really don't have the same purpose, and they're in completely separate workbenches, each with its own design philosophy. One is programmed in a Python module (Draft), the other in C++.

You have to consider that FreeCAD is not a single CAD program, it's actually a collection of multiple ones that cater to very different needs. The Draft workbench has no idea what the PartDesign workbench is about, and vice versa. Making things smoother for the end user is always desirable, but at some point, to get the most out of the software, the end user has to learn how the software works, what are the differences between tools, what is the proper tool for a task. No amount of automation will cover that, not for such a complex program as FreeCAD. The alternative would be to restrict choices in the program (eliminate one tool out of the two), which would induce an undesirable reduction of features. FYI, a typical commercial CAD program requires a 32-hour training course just to get started on it.

I'm trying to design some toy train tracks as an example use of the master sketch, as I've learned so far. I've made the profile, which I can extrude/pad to the shape I like, but now I'm a bit stuck on the end connectors. I'm attaching the design I've made so far, and the measurements are taken from this website:

Now, in the attached example, I've tried to make a track with id "E" as shown in the table on the above website, a basic bend/curve. The main part has worked fine, but now I'd like to try to connect the male and female end connectors to the main part. In the attached file I've sort of placed the connectors in approximately the place and padded them there. I didn't do the math, so it's visibly off it. I was hoping there was some way to snap the sketches on to the edge of the solid, so that they rotate and translate to the correct location. Then I could simply pad them there and keep everything parametric. Is this possible?

'd like to try to connect the male and female end connectors to the main part. In the attached file I've sort of placed the connectors in approximately the place and padded them there. I didn't do the math, so it's visibly off it. I was hoping there was some way to snap the sketches on to the edge of the solid, so that they rotate and translate to the correct location. Then I could simply pad them there and keep everything parametric. Is this possible?

Yes, it's possible, but I think you're over-complicating the design. Why not make the curved blank all in one Pad: