[Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

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!
Syres
Veteran
Posts: 2898
Joined: Thu Aug 09, 2018 11:14 am

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by Syres »

openBrain wrote: Fri May 29, 2020 8:13 am Sorry I can't test by myself ATM, but it would be interesting to know whether a lone ShapeString also produces the same error when checked.
If not, does a Part/Extrude of a ShapeString do ? If not, does a PartDesign/Pad do ?
@TedM has done these tests already see above https://forum.freecadweb.org/viewtopic. ... 88#p403083 I have confirmed that the lone Shapestring extruded fails in the same way
chrisb
Veteran
Posts: 54150
Joined: Tue Mar 17, 2015 9:14 am

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by chrisb »

Part Extrude of ArialBold "R" creates an error as well.

OS: macOS High Sierra (10.13)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21125 (Git)
Build type: Release
Branch: master
Hash: 40600a55c2fe71ff589be677f6e427ccc937d003
Python version: 3.8.2
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: C/Default (C)
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Syres
Veteran
Posts: 2898
Joined: Thu Aug 09, 2018 11:14 am

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by Syres »

So any letter that has a BSpline in it's wire like the problem that previously existed in Path>Engaving fails but a small k suceeds because it's all straight lines??
chrisb
Veteran
Posts: 54150
Joined: Tue Mar 17, 2015 9:14 am

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by chrisb »

Syres wrote: Fri May 29, 2020 10:09 am So any letter that has a BSpline in it's wire like the problem that previously existed in Path>Engaving fails but a small k suceeds because it's all straight lines??
That's how it seems. I am surpised that converting to a Sketch helps.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
tanderson69
Veteran
Posts: 1626
Joined: Thu Feb 18, 2010 1:07 am

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by tanderson69 »

chrisb wrote: Fri May 29, 2020 10:35 am
Syres wrote: Fri May 29, 2020 10:09 am So any letter that has a BSpline in it's wire like the problem that previously existed in Path>Engaving fails but a small k suceeds because it's all straight lines??
That's how it seems. I am surpised that converting to a Sketch helps.
This might be the same thing:
bop check bug
fc_tofu
Posts: 653
Joined: Sun Jan 05, 2020 4:56 pm

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by fc_tofu »

openBrain wrote: Fri May 29, 2020 8:13 am Sorry I can't test by myself ATM, but it would be interesting to know whether a lone ShapeString also produces the same error when checked.
If not, does a Part/Extrude of a ShapeString do ? If not, does a PartDesign/Pad do ?
A plane/plain ShapeString object donnot cause BOPcheck error as mentioned by OP.

On the optimistic side, a BOPcheck-failed ShapeString extrude when exported as STEP and reimport back, error disappear.
chrisb
Veteran
Posts: 54150
Joined: Tue Mar 17, 2015 9:14 am

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by chrisb »

I think it was user Quaoar who pointed out that a failing BOPCheck does not mean that the object is in error. It sais as far as I can remember that with some increased probability a subsequent boolean operation may fail.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by openBrain »

What would be efficient is to have this summarized in the ticket so developers are easily aware of this test configurations.
If I'm correct :
  • Lone ShapeString => No error
  • ShapeString with Part/Extrude => Error
  • ShapeString with PartDesign/Pad => Error
  • ShapeString with PartDesign/Pocket => Error
  • Any failing case above exported as STEP then reimported => No error
  • ShapeString converted to sketch then Extrude/Pad/Pocket => No error
As an extra clue, characters with only straight lines don't trigger error. Looks like it comes from NURBS (I saw 'B-Splines' in the thread, but are you sure it's really only B-Splines ?)
User avatar
wandererfan
Veteran
Posts: 6307
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by wandererfan »

This looks to be at least partly an Orientation problem. If I check the Orientation of the components of "B", I get:

Code: Select all

> face orientation: Reversed
 >>wire orientation: Reversed
 >>>edge orientation: Reversed
 >>>edge orientation: Reversed
...
 >>>edge orientation: Reversed
 >>wire orientation: Reversed
 >>>edge orientation: Reversed
 >>>edge orientation: Reversed
 ...
  >>>edge orientation: Reversed
 >>wire orientation: Reversed
 >>>edge orientation: Reversed
 >>>edge orientation: Reversed
 ...
  >>>edge orientation: Reversed
The Face should be forward, 1 Wire should be forward, 2 Wires should be reversed. Edge Orientation should depend on whether the associated Wire is an island or a lake.

As Roman Lygin says: "if an edge is forward then material is on the left, if reversed, material is on the right"

Draft.ShapeString.makeFaces() is the first place to look.
TedM
Posts: 142
Joined: Fri Apr 17, 2020 6:30 pm

Re: [Bug tracker #4360] Bug in 0.19? BOPcheck fails on pocket of ShapeString

Post by TedM »

Syres wrote: Fri May 29, 2020 8:36 am
openBrain wrote: Fri May 29, 2020 8:13 am Sorry I can't test by myself ATM, but it would be interesting to know whether a lone ShapeString also produces the same error when checked.
If not, does a Part/Extrude of a ShapeString do ? If not, does a PartDesign/Pad do ?
@TedM has done these tests already see above https://forum.freecadweb.org/viewtopic. ... 88#p403083 I have confirmed that the lone Shapestring extruded fails in the same way
Actually, I did not previously test this. I just did this and the analysis (with full BOP Check) of a bare ShapeString succeeds with no errors.

I also confirmed that letters with only straight lines do not cause the error and that Part/Extrude of the ShapeString also fails.

I have updated the ticket with the information collected here.

Thanks, everyone, for the attention on this.
Post Reply