Reusing sketches, parts/bodies etc.

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
MarkMLl
Posts: 15
Joined: Thu Jan 20, 2022 11:12 am

Reusing sketches, parts/bodies etc.

Post by MarkMLl »

I'm sorry chaps, but I'm really having problems here and so far what I've read and seen on YouTube etc. isn't really helping.

I'm using 0.18 hosted on Debian "Buster" x86_64, which will probably be upgraded at some point but not immediately (development/management machine with too much else on it).

I can do basic part design, with pads/pockets etc., and take that through to .stl files for 3D-printing objects of moderate complexity e.g. https://www.thingiverse.com/thing:5149045

I can- just about- fuse multiple bodies(?). However I'm not at all confident in my abilities here, and suspect that if it were something that couldn't be defined easily by adjusting offsets along a single axis the results wouldn't be reliable (please note that the problem here is my abilities, I'm not saying that the software wouldn't work properly). For example https://www.thingiverse.com/thing:5200656

As an illustration of the sort of thing that is giving me problems, the attached file shows a bayonet-style cutout in the end of a cylinder: how do I replicate either the pocket representing the cutout or the sketch giving its geometry onto the other faces of the central prism defining the alignment?

(As an aside, could the number of faces on the central prism be defined parametrically?)

I think that my problems boil down to (a) failing to understand the significance of part vs body and (b) failing to understand the applicability of the various ways that parts/bodies/sketches can be combined.

All suggestions will be very much appreciated.

I want to emphasise that I /am/ keen on continuing to use FreeCAD, since I have been promoting the benefits of using "the right tool for the job"- e.g. vector editors rather than paint programs- during most of my career and I think that it offers a lot of advantages when compared with e.g. Blender or Fusion360.

However I must admit that I'm finding this uncomfortably disturbing at a personal level, since it reminds me of a couple of people I worked for 35 years ago who'd insist- often with colourful language- that the software with which they were being supplied was too complex and that "simple things should be easy to do".

Put another way, I suspect that I'm now "the older fellow" who's having problems getting to grips with a tool written by younger developers: who do of course have very good reasons for their design decisions. Again, I want to emphasise that this is my problem and that I'm not blaming the developers or the makers of instructional videos etc.: I'm sure that all of the information's out there somewhere but I'm having difficulty finding and digesting it.
Attachments
Bayonet-7.FCStd
(57.17 KiB) Downloaded 20 times
chrisb
Veteran
Posts: 53785
Joined: Tue Mar 17, 2015 9:14 am

Re: Reusing sketches, parts/bodies etc.

Post by chrisb »

So it's the bayonet you have modeled here. The distinction between Part container and body is rather clear: A Part container is a collection of objects - if you use PartDesign: a collection of bodies - which are handled together; e.g. to move them together.

You probably don't need such a Part container in your project at all.

A body describes a single coniguous solid, i.e. one single thing which you print.

The cutouts for the bayonet would be multiplied using a polar pattern. There you have the property "Occurrences", which controls the number of instances. So it's a clear yes that you can control this parametrically. You could even do this depending on the diameter or similar.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Reusing sketches, parts/bodies etc.

Post by GeneFC »

MarkMLl wrote: Thu Jan 20, 2022 12:02 pm I'm having difficulty finding and digesting it.
I am not fully sure what your questions are, but I took a look at your model. The one thing that stands out is that you have created a veritable house of cards. The attached image shows the so-called Dependency Graph. It indicates that each sketch is directly built on top of the existing geometry instead of being anchored to a stable element such as a standard plane (x-y, x-z, etc.)

Capture.JPG
Capture.JPG (26.72 KiB) Viewed 2058 times

I suggest you read the section titled "Advice for creating stable models" in the "Feature Editing" page of the wiki.

https://wiki.freecadweb.org/Feature_editing

It is not illegal to work as you have, but it is quite likely that later problems will arise when you make changes to your model.

Gene
User avatar
Shalmeneser
Veteran
Posts: 9443
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Reusing sketches, parts/bodies etc.

Post by Shalmeneser »

:idea:
Attachments
Capture du 2022-01-20 21-05-50.png
Capture du 2022-01-20 21-05-50.png (45.77 KiB) Viewed 2033 times
Capture du 2022-01-20 21-06-59.png
Capture du 2022-01-20 21-06-59.png (56.98 KiB) Viewed 2033 times
Bayonet-7_SHALM.FCStd
(67.56 KiB) Downloaded 11 times
MarkMLl
Posts: 15
Joined: Thu Jan 20, 2022 11:12 am

Re: Reusing sketches, parts/bodies etc.

Post by MarkMLl »

Please excuse my delay in responding, which was because I find this all deeply frustrating rather than because I'm not interested.
chrisb wrote: Thu Jan 20, 2022 2:21 pm So it's the bayonet you have modeled here. The distinction between Part container and body is rather clear: A Part container is a collection of objects - if you use PartDesign: a collection of bodies - which are handled together; e.g. to move them together.
What is an object in this context? I'm familiar with objects from OO programming, but I see nothing in the GUI or documentation referring to them.

And when you say "move them together"... what are you referring to here? I've had some success duplicating and fusing (terms used loosely) bodies but I feel this part of the workflow is very poorly documented and that I- and probably many other people- am struggling and e.g. drawing stuff multiple times when there is an easier way.
You probably don't need such a Part container in your project at all.
(Cautiously) OK... but I assumed that that was part of the standard workflow since it's prominent on the toolbar and appears at the head of the Part Design "Task" pane.
A body describes a single coniguous solid, i.e. one single thing which you print.
OK, so presumably that ties in with the warnings if an e.g. pocket operation would split something up.
The cutouts for the bayonet would be multiplied using a polar pattern. There you have the property "Occurrences", which controls the number of instances. So it's a clear yes that you can control this parametrically. You could even do this depending on the diameter or similar.
The impression I've got from the documentation is that the polar pattern (etc.) multiplication is for operating with parts on a solid surface, I can't see how this would apply to cutouts machined in a cylinder.

However, the thing I'm specifically asking at present is how to apply multiple entities to the central prism getting the orientation etc. correct, i.e. I'm using that as a convenient example rather than an end in itself.

Please note that I'm using "entities" rather than parts/objects etc. in the above, since I really don't want to mess up the terminology any further. Also that I am obviously aware of the geometry problems inherent in defining a bayonet slot the way I have: it's intended as an example to illustrate the specific issues.

Finally, I've read the sketcher documentation you cited in your sig and it doesn't tell me much that I've not already got from elsewhere or worked out the hard way over the last few months... the good stuff starts on p87 :-) Please don't think I'm attempting to be critical there, but I /am/ attempting to do my homework.

MarkMLl
MarkMLl
Posts: 15
Joined: Thu Jan 20, 2022 11:12 am

Re: Reusing sketches, parts/bodies etc.

Post by MarkMLl »

GeneFC wrote: Thu Jan 20, 2022 6:44 pm I am not fully sure what your questions are, but I took a look at your model. The one thing that stands out is that you have created a veritable house of cards.
Right, so what can be done to improve my understanding, and (I strongly suspect) that of many other people?

Presumably this is precisely the issue which is highlighted by https://www.youtube.com/watch?v=QSsVFu929jo&t=1s ... which I am sure has done the FreeCAD project no good at all?
The attached image shows the so-called Dependency Graph. It indicates that each sketch is directly built on top of the existing geometry instead of being anchored to a stable element such as a standard plane (x-y, x-z, etc.)

Capture.JPG

I suggest you read the section titled "Advice for creating stable models" in the "Feature Editing" page of the wiki.

https://wiki.freecadweb.org/Feature_editing

It is not illegal to work as you have, but it is quite likely that later problems will arise when you make changes to your model.
Presumably on the first line of "Difference with other CAD systems" s/many/any/ :-)

OK, but again what I am doing is what I've worked out that works... and reading through that appears compatible with SOP.

The one thing I'd highlight there is there's a small number of references to "Model tree" or "Part tree" but with no (strong) recommendation that a tree /should/ (or even /must/) be used including information on which primitives (term used loosely) must be in the same body and which strongly suggest that a new bough be budded.

MarkMLl
chrisb
Veteran
Posts: 53785
Joined: Tue Mar 17, 2015 9:14 am

Re: Reusing sketches, parts/bodies etc.

Post by chrisb »

MarkMLl wrote: Sun Jan 23, 2022 10:26 am Please excuse my delay in responding,
Indeed a bit late, because I have already deleted the file where I had applied the polar pattern :cry: .
chrisb wrote: Thu Jan 20, 2022 2:21 pm So it's the bayonet you have modeled here. The distinction between Part container and body is rather clear: A Part container is a collection of objects - if you use PartDesign: a collection of bodies - which are handled together; e.g. to move them together.
What is an object in this context? I'm familiar with objects from OO programming, but I see nothing in the GUI or documentation referring to them.
Here it is ...
- Bodies made in PartDesign
- All sorts of objects made in Part workbench (primitives, results of booleans, chamfer, ...)
- All sorts of objects made in Draft workbench (various wires, clones, arrays, ...)
- In general: everything that has a Placement and is not a PartDesign feature.
And when you say "move them together"... what are you referring to here?
Try it: create a cube and a cylinder in Part workbench. Move them. Drag them into a Part container. Change the Placement of the Part container.
You probably don't need such a Part container in your project at all.
(Cautiously) OK... but I assumed that that was part of the standard workflow since it's prominent on the toolbar and appears at the head of the Part Design "Task" pane.
No need to excuse yourself, but that assumption was wrong.
The impression I've got from the documentation is that the polar pattern (etc.) multiplication is for operating with parts on a solid surface, I can't see how this would apply to cutouts machined in a cylinder.

However, the thing I'm specifically asking at present is how to apply multiple entities to the central prism getting the orientation etc. correct, i.e. I'm using that as a convenient example rather than an end in itself.
You don't apply entities, you rather use functions working with them. The meaning of the central prism is not quite clear to me. It would have been better to attach the Sketch003 to a main plane. That makes the model more robust and you don't need so many sketches and features, two is enough.

I attach the bayonet model where I have done all that and where I multiplied the cutouts with a polar pattern:
SnipScreenshot-5b0b49.png
SnipScreenshot-5b0b49.png (21.51 KiB) Viewed 1902 times
Attachments
Bayonet-7_cb.FCStd
(42.44 KiB) Downloaded 16 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
drmacro
Veteran
Posts: 8806
Joined: Sun Mar 02, 2014 4:35 pm

Re: Reusing sketches, parts/bodies etc.

Post by drmacro »

Have you read and worked the examples on this page?: https://wiki.freecadweb.org/Part_and_PartDesign

The examples down the page create identical models exclusively in Part workbench and Part Design workbench.

The one concept your comments indicate is that you imagine features/operations under a Part Design workbench Body object are primitives (or stand alone solids, they are technically not). The Body represents a single solid that is the accumulation of all operations under it in the tree. The operations (Pad, Revolve, etc.) are not solitary solids.

In contrast to Part workbench, where each "thing" in the tree is a solitary solid.

As for the Part container (Std_Part, its actual name internally) being prominent in the toolbar, the name was chosen poorly and your comments are, IMO, very valid. And I have lobbied, unsuccessfully to have the icon removed, or at least obfuscated. It is handy when the user wants to make a faux assembly, but, typically just confuses the new user.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
chrisb
Veteran
Posts: 53785
Joined: Tue Mar 17, 2015 9:14 am

Re: Reusing sketches, parts/bodies etc.

Post by chrisb »

drmacro wrote: Sun Jan 23, 2022 11:21 am As for the Part container (Std_Part, its actual name internally) being prominent in the toolbar, the name was chosen poorly and your comments are, IMO, very valid. And I have lobbied, unsuccessfully to have the icon removed, or at least obfuscated.
In case I haven't done so: I fully agree. This icon belongs to a not yet existing Assembly workbench.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
Shalmeneser
Veteran
Posts: 9443
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Reusing sketches, parts/bodies etc.

Post by Shalmeneser »

I would recommand to draw the baïonnette cut sketch to be the nearest of vertical axis to minimize radial deformation.
Attachments
Capture d’écran 2022-01-23 140025.png
Capture d’écran 2022-01-23 140025.png (7.26 KiB) Viewed 1848 times
Post Reply