realthunder / FreeCAD_assembly3

Experimental attempt for the next generation assembly workbench for FreeCAD
GNU General Public License v3.0
879 stars 75 forks source link

[Issue] Strange edge not supposed to be present, rendering chamfer and fillets impossible (BRep_API: command not done) #834

Closed YosypC closed 2 years ago

YosypC commented 3 years ago

Cattura

Normally no edge would be present if things are done well, in the blue circle. Chamfering or filleting the Black edge is no problem.

Cattura2

However, in my model, all of this is not possible. Highlighted in blue is a strange edge, which does not allow me to chamfer the red one, giving me the error in the title unless I select the adjacent edges (Black one) I am sure I've done the pad right; I've tried padding perpendicularly from the face, and from the ground up. Still, nothing.

Model: https://1drv.ms/u/s!AqOOVg5zwVGuh6Rj--CoCSOKPM058g?e=0Sb1p7 : pasting OneDrive because GitHub is giving me a "is not included in the list" error

OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 2021.916.24301 +4152 (Git)
Build type: Release
Branch: LinkDaily
Hash: 7fd36f96f4db17db4f8d058eab22588cca8f9d5c
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
Locale: Italian/Italy (it_IT)
realthunder commented 3 years ago

It's most likely an OCC issue. Here is a simplified shape showing the problem. The same file works in OCC 7.4, but failed in 7.5.X.

Screenshot from 2021-09-18 15-38-22

draftfail.FCStd.zip

YosypC commented 3 years ago

How can this problem be solved?

realthunder commented 3 years ago

I have isolated the problem inside OCC. It is due to a patch submitted by one of the forum member. See discussion here. I'll try to incorporate the fix in next release.

YosypC commented 2 years ago

The problem seems to be resolved in one of the latest FC versions as this user claims that the refine works. The OCC is the same as mine (updating info as I forgot them).

realthunder commented 2 years ago

That's a separate problem. The fillet/draft should work regardless of using refine or not. But yes, if that middle edge is removed by refine, then it will work. BTW, doing refine is kind of disruptive especially in the middle of a long history. It is recommended to only perform refine at the last step, or at least enable refine in only a few chosen one.

realthunder commented 2 years ago

The extra edge that Refine option failed to remove has been fixed in the above referenced commit.