View Issue Details

IDProjectCategoryView StatusLast Update
0002318FreeCADBugpublic2015-12-15 13:15
Reporternikospap Assigned Tojmaustpc  
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Fixed in Version0.16 
Summary0002318: can't extrude "R" like sketch to solid
DescriptionFreecad can't extrude an R like sketch into a solid.

(this bug is probably a duplicate)
Steps To ReproduceUse Sketcer to create a " ? " like sketch.
Then join the two legs of " ? " with a " - " like line.
Make sure the edges of the " - " line are connected to the legs of the " ? " .
(see 1st attachment)

Use Part workbench, and try to extrude the sketch into a solid (enable the "Create solid" option).

Result:
Ok, this is not what you wanted.
(see 2nd attachment)

 
TagsNo tags attached.
FreeCAD Information

Activities

nikospap

2015-10-29 21:59

reporter  

extrude_an_R_like_sketch_001.jpg (Attachment missing)

nikospap

2015-10-29 22:00

reporter  

extrude_an_R_like_sketch_002.jpg (Attachment missing)

nikospap

2015-10-29 22:04

reporter   ~0006510

Let's try to refrase the steps to reproduce this bug
-----------------------------------------------------

Use Sketcer to create a " C " like sketch.
Then join the two legs of " C " with a " - " like line.
Make sure the edges of the " - " line are connected to the legs of the " C " .
(see 1st attachment)

Use Part workbench, and try to extrude the sketch into a solid (enable the "Create solid" option).

Result:
Ok, this is not what you wanted.
(see 2nd attachment)

wmayer

2015-10-31 17:31

administrator   ~0006511

> Freecad can't extrude an R like sketch into a solid.

This is not a bug because what you want to achieve is simply not possible. In order to make a solid the algorithm first must find a closed wire where it can create a face from. Extruding that face creates the solid.

However, the problem is already that there is no closed wire -- at least not in topologically correct way. In your example the three lines build a "C" and the fourth line starts and ends at the two horizontal lines of the "C" but there are no vertexes. So, the algorithm only finds the "C" as wire which of course is not closed and thus creating a face is not possible.

To get a closed wire you must break the top and bottom lines so that there is a vertex in between and the fourth line must be connected to this two vertexes.

Now when extruding the sketch with the solid option you get a filled shape. But the result still might be different to what you expect because it removes the edges. This is because the actual result you expect is not a solid. The property of a solid is that every edge is shared by exactly two faces so that the whole object is watertight.

nikospap

2015-11-01 10:43

reporter   ~0006513

>This is because the actual result you expect is not a solid.

In other words, the algorithm cannot handle "mixed" objects.
In this case, it should at least give an error message.


--------------------------

Doing more testing I noticed the following:

1st
To get what someone would expect, in our example, you need to create 2 sketches.
One with a parallelogram, and then extrude it into solid.
One with two separate lines " | | ", extrude them (but not into solid).
And then join the two objects.


2nd
If you create a sketch with a single line " | " and extrude it into solid, it seems to work.

If you create a sketch with two separate lines " | | ", and try to extrude it into solid, you get an error.
If you simply extrude them, but not into solid, then it works.

Isn't this inconsistent (or a limit of the algorithm)?

(if the two separate lines can't produce a solid, then neither should the single line, or any other "open" shape like " C " or " R " )

jmaustpc

2015-11-04 05:52

manager   ~0006525

Hi Nikospap
This is not a bug, it appears to be just a failing to understand how FreeCAD and OCC work. What you appear to be asking for can not and should not work.

Please discuss all bugs and feature requests on the Help forum first, no matter how sure you are that it is a bug and only create a ticket after others have confirmed its a bug. This way many people see, have an input and possibly learn from the one post.

If you would like to post on the Help forum I and others will be happy to explain in detail. :-)

Briefly though the output is logical and hierarchical. If you Part Workbench extrude
1) a point you get a line
2) a line you get a face
3) an open wire (series of connected lines) you get an open shell (series of connected faces)
4) a closed profile wire you get a closed shell with the option to convert it into a solid
5) a face you get a solid

Mixtures of the above should only be made with separate extrudes. Trying to extrude from a mixed source creates a potentially undefined situation that should not work and does not work. Trying to do so sounds like just mistaken modelling practice.

Please post on the Help forum with details about what you are trying to achieve and we will be able to help you resolve the matter. :-)

For now I will close this ticket, I/we can reopen it after a discussion on the Help forum, if needed.

Jim

jmaustpc

2015-11-04 05:53

manager   ~0006526

closed, this is not a bug, it is expected behaviour.

Issue History

Date Modified Username Field Change
2015-10-29 21:59 nikospap New Issue
2015-10-29 21:59 nikospap File Added: extrude_an_R_like_sketch_001.jpg
2015-10-29 22:00 nikospap File Added: extrude_an_R_like_sketch_002.jpg
2015-10-29 22:04 nikospap Note Added: 0006510
2015-10-31 17:31 wmayer Note Added: 0006511
2015-10-31 17:31 wmayer Status new => feedback
2015-11-01 10:43 nikospap Note Added: 0006513
2015-11-01 10:43 nikospap Status feedback => new
2015-11-04 05:52 jmaustpc Note Added: 0006525
2015-11-04 05:53 jmaustpc Note Added: 0006526
2015-11-04 05:53 jmaustpc Status new => closed
2015-11-04 05:53 jmaustpc Assigned To => jmaustpc
2015-11-04 05:53 jmaustpc Resolution open => fixed
2015-12-15 13:15 yorik Fixed in Version => 0.16