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

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

Postby rebeltaz » Sun May 26, 2019 12:17 am

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 9 times
User avatar
Willem
Posts: 1259
Joined: Fri Aug 12, 2016 3:27 pm
Location: Lisse, The Netherlands

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

Postby Willem » Sun May 26, 2019 6:00 am

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
Posts: 18093
Joined: Tue Mar 17, 2015 9:14 am

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

Postby chrisb » Sun May 26, 2019 6:17 am

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.
chrisb
Posts: 18093
Joined: Tue Mar 17, 2015 9:14 am

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

Postby chrisb » 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
(211.51 KiB) Downloaded 5 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.
rebeltaz
Posts: 63
Joined: Wed Apr 03, 2019 5:03 pm

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

Postby rebeltaz » Sun May 26, 2019 6:16 pm

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
Posts: 3793
Joined: Sat Aug 24, 2013 2:49 am
Location: u.S.A.

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

Postby quick61 » Sun May 26, 2019 7:58 pm

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 192 times
non-convoluted.png
non-convoluted.png (20.5 KiB) Viewed 192 times
This post made with 0.0% Micro$oft products - GOT LINUX?
rebeltaz
Posts: 63
Joined: Wed Apr 03, 2019 5:03 pm

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

Postby rebeltaz » Sun May 26, 2019 8:16 pm

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
Posts: 1423
Joined: Thu Oct 18, 2018 9:18 pm

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

Postby vocx » Sun May 26, 2019 9:26 pm

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.
rebeltaz
Posts: 63
Joined: Wed Apr 03, 2019 5:03 pm

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

Postby rebeltaz » Sun May 26, 2019 9:45 pm

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

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

Postby chrisb » Sun May 26, 2019 10:42 pm

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.