View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003571 | Part | Bug | public | 2018-08-30 15:13 | 2019-02-21 15:27 |
Reporter | JLienard | Assigned To | wmayer | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 0.17 | ||||
Fixed in Version | 0.18 | ||||
Summary | 0003571: Offset3D of volumes intersection is not solid | ||||
Description | -Intersection of two cubes -Offset3D of the result -Union of the result with another cube = > error "Performing union on non-solids is not possible" | ||||
Steps To Reproduce | execute the code of the attached file, then make union of "Offset" and "Cube002" | ||||
Additional Information | OS: Ubuntu 16.04.5 LTS Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.17.13541 (Git) Build type: None Branch: releases/FreeCAD-0-17 Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb Python version: 2.7.12 Qt version: 4.8.7 Coin version: 4.0.0a OCC version: 7.3.0 Locale: French/France (fr_FR) | ||||
Tags | No tags attached. | ||||
FreeCAD Information | |||||
|
bug0ffset3D.py (2,007 bytes)
App.newDocument("Unnamed") App.setActiveDocument("Unnamed") App.ActiveDocument=App.getDocument("Unnamed") Gui.ActiveDocument=Gui.getDocument("Unnamed") App.ActiveDocument.addObject("Part::Box","Box") App.ActiveDocument.ActiveObject.Label = "Cube" App.ActiveDocument.recompute() Gui.SendMsgToActiveView("ViewFit") App.ActiveDocument.addObject("Part::Box","Box") App.ActiveDocument.ActiveObject.Label = "Cube" App.ActiveDocument.recompute() Gui.SendMsgToActiveView("ViewFit") App.getDocument("Unnamed").Box001.Placement=App.Placement(App.Vector(-3,0,0), App.Rotation(App.Vector(0,0,1),0), App.Vector(0,0,0)) App.activeDocument().addObject("Part::Common","Common") App.activeDocument().Common.Base = App.activeDocument().Box App.activeDocument().Common.Tool = App.activeDocument().Box001 Gui.activeDocument().hide("Box") Gui.activeDocument().hide("Box001") Gui.ActiveDocument.Common.ShapeColor=Gui.ActiveDocument.Box.ShapeColor Gui.ActiveDocument.Common.DisplayMode=Gui.ActiveDocument.Box.DisplayMode App.ActiveDocument.addObject("Part::Box","Box") App.ActiveDocument.ActiveObject.Label = "Cube" App.ActiveDocument.recompute() Gui.SendMsgToActiveView("ViewFit") App.ActiveDocument.addObject("Part::Offset","Offset") App.ActiveDocument.Offset.Source = App.ActiveDocument.Common App.ActiveDocument.Offset.Value = 1.0 App.ActiveDocument.recompute() Gui.ActiveDocument.Common.DisplayMode = 'Wireframe' Gui.ActiveDocument.setEdit('Offset') from FreeCAD import Base import Part Gui.ActiveDocument.Offset.ShapeColor=Gui.ActiveDocument.Common.ShapeColor Gui.ActiveDocument.Offset.LineColor=Gui.ActiveDocument.Common.LineColor Gui.ActiveDocument.Offset.PointColor=Gui.ActiveDocument.Common.PointColor App.ActiveDocument.Offset.Value = 1.000000 App.ActiveDocument.Offset.Value = 1.000000 App.ActiveDocument.Offset.Mode = 0 App.ActiveDocument.Offset.Join = 0 App.ActiveDocument.Offset.Intersection = False App.ActiveDocument.Offset.SelfIntersection = False App.ActiveDocument.recompute() Gui.ActiveDocument.resetEdit() |
|
@JLienard Can you please test this on 0.18dev |
|
The bug remains on : OS: Ubuntu 16.04.5 LTS Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.18.14495 (Git) AppImage Build type: None Branch: master Hash: c717d1121d888fe6cfbd8971b5f59311a34b37bc Python version: 2.7.6 Qt version: 4.8.6 Coin version: 4.0.0a OCC version: 7.3.0 Locale: French/France (fr_FR) |
|
@JLienard Thank you. Please open a forum thread in https://forum.freecadweb.org/viewforum.php?f=3 to discuss the issue with the community (as per our bug submission guidelines) Please post the link to said forum thread in the ticket for future reference. |
|
The produced Offset is not a solid, it's a shell. Not sure why. This is not the place to ask, the forum is more suited, but your script shows an extremely convoluted method to get a shape. Why couldn't you create a box right from the start? Offsetting a cube produces a valid solid. Is this some simplification of a use case? |
|
|
|
It appears that Offset3D based on a shape resulting from a Part Common operation does not create a solid, but a shell. Here is a more proper file that shows the issue, with two cubes that share no co-planar faces (something that should be avoided as much as possible when applying Boolean operations). |
|
Actually, any Offset3D applied to a solid resulting from a Part Boolean operation (fuse, cut, common) will produce a shell rather than a solid. This is possibly only an oversight. Offsetting a PartDesign Body comprising of a pad and a pocket produces a solid. |
|
The solid that results from Common operation is encapsulated into a compound. If I apply the Offset directly on the solid, the result IS a valid solid. So, this "Compound encapsulation" may explain the bug. |
|
https://github.com/FreeCAD/FreeCAD/commit/c3a8348861372b055c2446a09f0fc49a6cd7a2ef |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-08-30 15:13 | JLienard | New Issue | |
2018-08-30 15:13 | JLienard | Tag Attached: py | |
2018-08-30 15:13 | JLienard | File Added: bug0ffset3D.py | |
2018-08-31 06:43 | Kunda1 | Status | new => feedback |
2018-08-31 06:43 | Kunda1 | Note Added: 0011673 | |
2018-08-31 07:12 | JLienard | Note Added: 0011674 | |
2018-08-31 07:12 | JLienard | Status | feedback => new |
2018-08-31 07:52 | Kunda1 | Status | new => feedback |
2018-08-31 07:52 | Kunda1 | Note Added: 0011675 | |
2018-09-02 19:35 | normandc | Note Added: 0011683 | |
2018-09-02 19:42 | normandc | File Added: Part_Offset3D_from_Common.fcstd | |
2018-09-02 19:42 | normandc | Note Added: 0011684 | |
2018-09-02 19:48 | normandc | Note Added: 0011685 | |
2018-09-30 16:56 | Chris_G | Note Added: 0011879 | |
2018-09-30 20:41 | wmayer | Assigned To | => wmayer |
2018-09-30 20:41 | wmayer | Status | feedback => closed |
2018-09-30 20:41 | wmayer | Resolution | open => fixed |
2018-09-30 20:41 | wmayer | Fixed in Version | => 0.18 |
2018-09-30 20:41 | wmayer | Note Added: 0011880 | |
2019-01-13 11:12 | Kunda1 | Tag Detached: py | |
2019-02-21 15:27 | wmayer | Relationship added | related to 0003703 |