Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

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!
Post Reply
rebeltaz
Posts: 172
Joined: Wed Apr 03, 2019 5:03 pm

Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by rebeltaz »

Sigh... Sorry to be such a pain guys. I'm really trying to do this on my own.

In this model, I need to offset two subtractive primitives - cylinder001 and cylinder002 under upper half - by 20mm. I can move cylinder001 along the X axis 20mm with no problem, but when I try to move cylinder002 along the same X axis by -20mm, the whole model goes screwy. Parts get reoriented and cylinder004 gets pushed off the model.

What am I doing wrong and can it be fixed without redoing every element under the cylinder primitives?
Attachments
help.FCStd
(301.71 KiB) Downloaded 31 times
User avatar
Willem
Veteran
Posts: 1852
Joined: Fri Aug 12, 2016 3:27 pm
Location: Lisse, The Netherlands

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by Willem »

In the dependency graph I see an illegal dependency between Cylinder004 in Body2 and Cylinder005 in body3. First solve this problem and investigate or the problem still exist. If so report it on this forum and I will look at it
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by chrisb »

While I will have a look at the model you can already search the forum for "topological nameing", that is the most common reason for such behaviour. You can avoid it by never attaching anything to or referencing faces, edges, or vertices. Have a look at this page, especially the paragraph about creating stable models.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by chrisb »

My guess was not too bad, Cylinder004 is attached to a face of Pad001. You should have made it dependent on Sketch005 and not on the face. Even easier would have probably been to use a sketch and a pocket.

You can save your model by editing Cylinder004 and deactivating the attachment. This is not the best solution, because I prefer to have everything attached, but it works.

The same holds for Box002, hinge cutout.

And if you finally not only detach in the other body "Cylinder005, hinge pin cutout", but also remove the reference from the input field you can move the cylinders and get rid of the not allowed reference shown by the red arrow in the dependency graph.

Here is the model according to these hints:
help_cb.FCStd
(211.51 KiB) Downloaded 27 times
As an exercise you could try to model it differently, which avoids the issues but keeps things referenced:

- Use sketches attached to the principal planes instead of the cylinders. They are easyly controlled by their constraints.
- Reference the sketches and not any faces
- In the second body use a ShapeBinder of the sketch describing the hinge.

Edit: I forgot something to make the model even clearer: You have two Part containers, each containing only one body. You could simply omit these containers.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
rebeltaz
Posts: 172
Joined: Wed Apr 03, 2019 5:03 pm

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by rebeltaz »

chrisb wrote: Sun May 26, 2019 6:46 am My guess was not too bad, Cylinder004 is attached to a face of Pad001. You should have made it dependent on Sketch005 and not on the face. Even easier would have probably been to use a sketch and a pocket.

You can save your model by editing Cylinder004 and deactivating the attachment. This is not the best solution, because I prefer to have everything attached, but it works.

The same holds for Box002, hinge cutout.

And if you finally not only detach in the other body "Cylinder005, hinge pin cutout", but also remove the reference from the input field you can move the cylinders and get rid of the not allowed reference shown by the red arrow in the dependency graph.

Here is the model according to these hints:
help_cb.FCStd

As an exercise you could try to model it differently, which avoids the issues but keeps things referenced:

- Use sketches attached to the principal planes instead of the cylinders. They are easyly controlled by their constraints.
- Reference the sketches and not any faces
- In the second body use a ShapeBinder of the sketch describing the hinge.

Edit: I forgot something to make the model even clearer: You have two Part containers, each containing only one body. You could simply omit these containers.
I really appreciate all of your help.

I didn't know that you could make something relative to a sketch. I'll have to look at that. Now, you seem to be making a distinction between "attaching" and "referencing" - e.g. "...attached to the principal planes..." and "...Reference the sketches and not any faces..." When you say "referencing", do you mean instead of "creat[ing] and edge linked to external geometry" based on the solids, base those off the sketch? I want to think that I i did try that first and couldn't get the tool to select those edges [from the sketch]. Maybe I was doing it wrong... ?? Is that where the ShapeBinder come in? I'll keep trying with that. So much too remember!

So you're saying that it's better to use sketches rather than primitives, even for something as basic as a simple circle cut? I thought about doing that when I was designing this, but it seemed overkill for such a basic operation, especially since FreeCAD had those subtractive primitives just sitting there under PartDesign.

I took your suggestions and everything looks great. Once I de-attach the cylinders, though, they can no longer be moved again unless I reattach them to an XYZ plane, right?

The reason for the Part>Body combination. I did that because on the last model I kept having elements placed outside of the main Body and it was getting really confusing. I figured group them together into Parts and then it wouldn't matter if the elements where outside the Body or not. I think that the reason for that, though, was because I was combining Part and PartsDesign objects. Once I stopped doing that, everything seems to (more or less) stay where it's supposed to. Future designs I will try to stay away from that kind of grouping unless I absolutely have to.

Oh... Dependency Graphs... This is the first time I've ever looked at that. Are those things always that convoluted!?

There is so much that is so confusing about this program, especially when I am used to using SketchUp for the past decade. Again... I appreciate all of your help.
User avatar
quick61
Veteran
Posts: 3803
Joined: Sat Aug 24, 2013 2:49 am
Location: u.S.A.

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by quick61 »

Oh... Dependency Graphs... This is the first time I've ever looked at that. Are those things always that convoluted!?
No, they are only as convoluted as the part(s) your making. :P
Part.png
Part.png (25.25 KiB) Viewed 827 times
non-convoluted.png
non-convoluted.png (20.5 KiB) Viewed 827 times
This post made with 0.0% Micro$oft products - GOT LINUX?
rebeltaz
Posts: 172
Joined: Wed Apr 03, 2019 5:03 pm

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by rebeltaz »

lol... I guess the Dependency Graph could also be a representation of the designer's mind as well, huh? In which case, mine fits me perfectly! :lol:
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by vocx »

rebeltaz wrote: Sun May 26, 2019 6:16 pm ...

So you're saying that it's better to use sketches rather than primitives, even for something as basic as a simple circle cut? I thought about doing that when I was designing this, but it seemed overkill for such a basic operation, especially since FreeCAD had those subtractive primitives just sitting there under PartDesign.

...
Maybe I mentioned it before, but check the topological naming problem and feature editing pages. There you could see how the PartDesign Workbench is intended to be used. Basically, attach all your sketches to datum planes, then you can pad them; then if you move your geometry, they won't break the rest of the model. And there is no problem using primitive objects; again, attach them to datum planes (PartDesign Plane) or datum coordinate systems for more robustness.

Compared to FreeCAD, Sketchup is a toy. FreeCAD was designed to behave like professional CAD packages such as Catia, ProE, SolidWorks, etc., which are used in heavy industries like automotive manufacturing, aircraft engineering, rocket engineering, satellite manufacturing, etc. There is a reason companies like Audi, BMW, Airbus, etc., use these complex CAD systems and not just Sketchup; they want to have precise control of positioning and assemble thousands of parts.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
rebeltaz
Posts: 172
Joined: Wed Apr 03, 2019 5:03 pm

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by rebeltaz »

I will definitely read those pages. Thank you.
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: Me Again. Why Can't I Move Subtractive Cylinder Without Breaking

Post by chrisb »

rebeltaz wrote: Sun May 26, 2019 6:16 pm When you say "referencing", do you mean instead of "creat[ing] and edge linked to external geometry" based on the solids, base those off the sketch?
That's it roghly spoken, "referencing" is the more general notion, while "attaching" is more special.
So you're saying that it's better to use sketches rather than primitives, even for something as basic as a simple circle cut?
You are right, primitives are as good as sketches, but with the references to other sketches you can often place things much easier in the right position.
I took your suggestions and everything looks great. Once I de-attach the cylinders, though, they can no longer be moved again unless I reattach them to an XYZ plane, right?
That's one reason why I always want to have everything attached.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply