Sketcher - link to external geometry

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
Ideaneer
Posts: 1
Joined: Sun Mar 29, 2020 11:58 pm

Sketcher - link to external geometry

Post by Ideaneer »

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.
Image

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.
Image

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>.
Image

Is there a simple way to link the geometry reliable to the external geometry?

Would appreciate some advice here.

Cheers
Attachments
test_fail.FCStd
(19.32 KiB) Downloaded 14 times
Clipboard013.jpg
Clipboard013.jpg (27.3 KiB) Viewed 635 times
Clipboard012.jpg
Clipboard012.jpg (38.26 KiB) Viewed 635 times
Clipboard011.jpg
Clipboard011.jpg (17.23 KiB) Viewed 635 times
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Sketcher - link to external geometry

Post by vocx »

Ideaneer wrote: Mon Mar 30, 2020 1:54 am ... I created a new sketch on the top surface of the box.
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.
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?
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.
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.
freedman
Veteran
Posts: 3441
Joined: Thu Mar 22, 2018 3:02 am
Location: Washington State, USA

Re: Sketcher - link to external geometry

Post by freedman »

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

Re: Sketcher - link to external geometry

Post by chrisb »

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 :) .
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
freedman
Veteran
Posts: 3441
Joined: Thu Mar 22, 2018 3:02 am
Location: Washington State, USA

Re: Sketcher - link to external geometry

Post by freedman »

Edit: It took quite a while to write this, so freedman was faster and was able to put all this in one line :) .
chrisb, your responses are impressive in quality.
chrisb
Veteran
Posts: 53933
Joined: Tue Mar 17, 2015 9:14 am

Re: Sketcher - link to external geometry

Post by chrisb »

Ideaneer wrote: Mon Mar 30, 2020 1:54 am What is the best way to get this done.
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.
Post Reply