Hi everyone,
I am new to the board and have been working on freecad for a while now. Just reacently got a problem with linking external geometry to a sketch geometry in part design. I was able to reproduce the problem in fallowing example, but did not find a way to get it work. It is a simple problem, but it drives me nuts, not getting it working.
Freecad version info:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.4 (GitTag)
Build type: Release
Branch: releases/FreeCAD-0-18
Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Switzerland (de_CH)
After adding a primitive box in part design and round the edges with fillet, I created a new sketch on the top surface of the box.
In sketcher I then added the rounded edges as external geometry and want to redraw the outline of the face and link it with constraints.
What is the best way to get this done. The idea is, that if I change the box dimensions afterwards, the sketch goes with it.
I tried to redraw the outline with polyline and autoconstraint. I basically just want to link all the points with "coincident constraints" (including arc center points. But this fails. Why I don't know?
Even if I get a fully constraint sketch, after changing the dimensions of the box, it fails (see <test_fail.FCStd>.
Is there a simple way to link the geometry reliable to the external geometry?
Would appreciate some advice here.
Cheers
Sketcher - link to external geometry
Forum rules
and Helpful information
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!
Also, be nice to others! Read the FreeCAD code of conduct!
Sketcher - link to external geometry
- Attachments
-
- test_fail.FCStd
- (19.32 KiB) Downloaded 14 times
-
- Clipboard013.jpg (27.3 KiB) Viewed 635 times
-
- Clipboard012.jpg (38.26 KiB) Viewed 635 times
-
- Clipboard011.jpg (17.23 KiB) Viewed 635 times
Re: Sketcher - link to external geometry
This is a very bad idea because it is subject to the topological naming problem. If you modify the surface it may be renamed, and your new sketch may turn out to be out of place. You should support your geometry on a datum plane, or on the base XY plane with an offset.
You don't really need to do it. If you have the dimensions that you want, it would be better to define variables in a spreadsheet (Spreadsheet Workbench) and then use expressions.What is the best way to get this done. The idea is, that if I change the box dimensions afterwards, the sketch goes with it.
...
Is there a simple way to link the geometry reliable to the external geometry?
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.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
Re: Sketcher - link to external geometry
Don't use a primitive, instead use a sketch and pad it. Extract your external geo. from the sketch not the pad feature.
Also read this:
Also read this:
Re: Sketcher - link to external geometry
Hi and welcome to the forum!
First you should properly attach the cube. It is currently placed on XY plane but it is not attached.
- Make the origin visible
- Double click on the cube
- and select XY-plane as the first reference
- confirm
Now for your issue. It is an interesting task, and if I may, I will use it for the continuation of my sketcher lecture. vocx has already mentioned the cause of the issue.
A common solution is to raise the second sketch by the length of the pad.
- You create the sketch attached to XY plane.
- In the DataTab unfold the AttachmentOffset and the Position and select the value of the z-component.
- Click on the small f(x) symbol at the right
- Enter Box.Height, or - if you followed vocx recommendation - the corresponding spreadsheet value.
Alas, this is not enough, because you still use edges from the solid as external references, and these still break if the fillets change their internal numbers due to topological naming issues. But we will get to this later.
For now I would rather recommend to lean back and think once more about how to position your object. I would recommend to let the Box go down, and the Pad go up. Then you can place both, the Box and the Sketch on XY-plane without any offset.
- Double click on the Box and and check "Flip sides" before continuing.
- Attach your Sketch to XY plane
Alas, the Fillets still change their internal numbering.
So my proposed solution to make this stable would be:
- Start with a sketch, that contains already the fillets.
- Extrude it downwards, i.e. check the "Reversed" box.
- Hide the herewith created Pad and make the Sketch visible
- create the second sketch on XY-plane as well and use the sketch's edges for external references.
Edit: It took quite a while to write this, so freedman was faster and was able to put all this in one line .
First you should properly attach the cube. It is currently placed on XY plane but it is not attached.
- Make the origin visible
- Double click on the cube
- and select XY-plane as the first reference
- confirm
Now for your issue. It is an interesting task, and if I may, I will use it for the continuation of my sketcher lecture. vocx has already mentioned the cause of the issue.
A common solution is to raise the second sketch by the length of the pad.
- You create the sketch attached to XY plane.
- In the DataTab unfold the AttachmentOffset and the Position and select the value of the z-component.
- Click on the small f(x) symbol at the right
- Enter Box.Height, or - if you followed vocx recommendation - the corresponding spreadsheet value.
Alas, this is not enough, because you still use edges from the solid as external references, and these still break if the fillets change their internal numbers due to topological naming issues. But we will get to this later.
For now I would rather recommend to lean back and think once more about how to position your object. I would recommend to let the Box go down, and the Pad go up. Then you can place both, the Box and the Sketch on XY-plane without any offset.
- Double click on the Box and and check "Flip sides" before continuing.
- Attach your Sketch to XY plane
Alas, the Fillets still change their internal numbering.
So my proposed solution to make this stable would be:
- Start with a sketch, that contains already the fillets.
- Extrude it downwards, i.e. check the "Reversed" box.
- Hide the herewith created Pad and make the Sketch visible
- create the second sketch on XY-plane as well and use the sketch's edges for external references.
Edit: It took quite a while to write this, so freedman was faster and was able to put all this in one line .
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Sketcher - link to external geometry
chrisb, your responses are impressive in quality.Edit: It took quite a while to write this, so freedman was faster and was able to put all this in one line .
Re: Sketcher - link to external geometry
The best way has already been described. However, I wanted to use this as a very simple example to show the toponaming issue, but I cannot reproduce it, if redoing from scratch. I even used the box unattached as in your example - it all works as it should.
Can you - or someone else - reproduce the issue in 0.19 with a model built from scratch?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.