OCC Bugs in the Bugtracker

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

OCC Bugs in the Bugtracker

Post by Kunda1 »

NOTE: This thread is monitored and updated periodically
User gAdlike has online excel sheet this is tracking bugs as well.(hopefully)

Background
OCCT (OpenCascade) is the CAD Kernel that FreeCAD is built 'on top of'. We track bugs that we encounter using it and report most of them upstream. Below is (hopefully) the most up to date list of all open OCC bugs in FreeCAD.
We need testers and notations on said tickets. Thanks!

On the OCC 7.8.0 Roadmap
(https://github.com/FreeCAD/FreeCAD/labe ... y%3A%20OCC)
issue #5591 TCollection_IndexedDataMap::FindFromKey error when sweeping along BezierCurve | Upstream ticket: #25110
issue #5649 Changing dimension 40.001 to a value <= 40 (and > 30) gets the expected behavior. More than 40 gets the the buggy one | upstream
issue #5588 Part sweep bug with acute angle | Upstream ticket: #24991
issue #5824 GeomAPI_ExtremaCurveCurve fails to detect intersection | Upstream ticket: #30316
issue #6319 Crash when creating sweep | Upstream ticket: #24909
HLRBRep_Algo removes visible edge | Upstream ticket #31610
issue #2463 Trim tool ignore tangent constraint to arch on circle | Upstream ticket: #30217 still open
issue #5634 Pad -> Fillet -> Apply Thickness causes crash (upstream OCC bug) | Upstream ticket: #31601


Upstream tickets that need to be bumped (Not on OCC Roadmap)
--> Opened thread in OCC forum
issue #458 Upstream ticket is still open
issue #617 Upstream ticket: #25781 & #25771 are still open
issue #5561 Fillet can not round a face #25478
issue #6318 Loft tool incorrect result with rotated ellipses | Upstream ticket: #25626
issue #5687 BRepOffsetAPI_MakePipeShellPy.setAuxiliarySpine problems | Upstream ticket: #26295
issue #6065 Pad or Pocket of ShapeString in Part Design causes BOPcheck to abort (OCC bug) | Possible Upstream #31522



Missing upstream tickets:
issue #933 Loft make no valid plane for sketcher
issue #5622 FreeCAD crashes warns when applying thickness "BRepAlgo_Image::Bind"
issue #5642 Crash when creating loft between two sketches
issue #5651 Sweep using bezier curve bug
issue #5665 The result for fillet of the union of cube and sphere is wrong (Still broken in OCC 7.2)
issue #5668 IGES and STEP export compatibility
issue #5782 Boolean operation in PDN fails depending on placement of one of the parts (Possibly fixed? See ticket for updates)
issue #5783 Crash with STEP export (Upstream OCC bug) (Possibly resolved? See ticket for updates)
issue #5787 Recompute does not create a solid containing a complex shaped hole (upstream OCC bug) (FC forum thread) (Fixed?)
issue #5799 fillet fails on cut torus
issue #5829 Thickness operation for part fails (upstream OCC bug) (FC forum thread)
issue #6044 Crash on a loft command with incorrect input (OCC bug)

Odd tickets:
issue #1937 Upstream ticket: #25776 <== FC ticket has been solved BUT upstream is still open
issue #5653 Add an option to show or hide the seam edges for the 3D view
issue #2676 Differences in python API depending on OCC version
issue #2842 Crash on "Face from Edges" <== MacOSX compiler issue. @peterl94 is assigned to it (target is 0.18 release)
issue #4076 Freecad crashes when using Part Design Chamfer tool on a feature.
issue #6036 [OCC/Coin] Rendering issue with large coordinate values

Obsolete tickets:
issue #2332 ACESS.VIOLATION upon Loft (Can't reproduce)
issue #2754 Upstream ticket: https://bugs.archlinux.org/task/50684

Previous versions of OCC
=====================


Fixed in OCC 7.7.1
None

Fixed in OCC 7.7.0
issue #5917 Polar Pattern "transformed shapes do not intersect support", possibly OCC bug (FC thread) | Upstream ticket: #24418
issue #6488 [Bug] Cone surface returns wrong dv derivative | upstream

Fixed in OCC 7.6.3
Upstream #32930 (crash + workaround)
Upstream #32931 (crash + workaround)

Fixed in OCC 7.6.2
issue #5989 Crash on setting certain dimensions in a sketch | Upstream ticket: #31585

Fixed in OCC 7.6
issue #2024 Boolean -> Difference leaves a extra hole | Upstream ticket: #25979
issue #3142 Crash creating fillets on sweep (OCC bug) | FC Forum thread
issue #3310 Application crash when adding a fillet on an edge (SIGSEGV) | Upstream ticket:(#29493)
Missing include of TopoDS_Edge.hxx in ShapeUpgrade_UnifySameDomain.hxx | Upstream ticket: #32328
issue #4487 Crash on changing Fillet Radius (OCC issue to be retested witj OCC > 7.5) FC forum thread
issue #5632 Crash when unioning toruses (Tested with OCC 7.3 and still broken)

Fixed in OCC 7.5.2
issue #1840 Fillet after thickness gives invalid geometry | Upstream ticket: #25521
issue #3332 Drawing View Position is Wrong in CoarseView (FC thread & upstream OCCT forum thread) (Workaround by Wandererfan)
issue #3679 Polar pattern not working on a midplane pocket
issue #4610 OCC's step export pathway generates bad geometry | Upstream ticket:(#32264)


Fixed in OCC 7.5
issue #4247 GeometryCurvePy::intersect / GeometryCurvePy::intersectCC Segmentation Fault with OCC 7.4

No upstream tickets were fixed in OCC 7.4
(Note: they were all bumped to OCC 7.5)

Should be fixed in OCC 7.3
issue #1934 OCCT algorithms can't handle zero derivatives | Upstream ticket: http://tracker.dev.opencascade.org/view.php?id=25104
issue #2590 FreeCAD (0.17 Daily) crashes on exporting imported STEP as WebGL
issue #1538 face-normal-flip when Part.Face() fed with internaly hold points

On the OCC 7.2.1 Roadmap (http://freecadweb.org/tracker/search.ph ... =OCC+7.2.1) (skipped to OCC 7.3)

Should be fixed in OCC 7.2
issue #1538
issue #3226

Should be fixed in OCC 7.1
issue #1931
issue #2227 Fillet silently fails on face with too many edges
issue #2309 PartDesign Fillet fail without warning when too many faces are selected
issue #2383 Drawing lines missing or incorrect | Upstream ticket: http://tracker.dev.opencascade.org/view.php?id=25214
issue #2506 Crash when export .step (due to an upstream OCC bug) - Tested with OCC7.1 and seems fixed
issue #2591 Wrong view of a compund of cylinders
issue #2679 Boolean operations in Part workbench give strange results (Fixed in OCC 7.1)

Should be fixed in OCC7.0.0
issue #1982 transformGeometry returns invalid shape
issue #1727 API function Drawing.projectToDXF
issue #1983 Upstream ticket: http://tracker.dev.opencascade.org/view.php?id=25879
issue #2716 Boolean operations on planar and circular objects fail if intersection has elliptic or hyperbolic shape
Last edited by Kunda1 on Mon Nov 07, 2022 7:39 pm, edited 75 times in total.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: OCC Bugs in the Bugtracker

Post by Kunda1 »

Any testers with OCC 7.1 enabled in their environment? please check the tickets in this list. Thx!
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
user1234
Veteran
Posts: 3339
Joined: Mon Jul 11, 2016 5:08 pm

Re: OCC Bugs in the Bugtracker

Post by user1234 »

#2204

No crash but no object after union. I think the reason is a singularity and not to handle. But when you edit one or both torus radius2 = 1.99999 it works.

Test done with:

Code: Select all

OS: Debian GNU/Linux 9.1 (stretch)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11957 (Git)
Build type: DebWithRelInfo
Branch: master
Hash: 61c7ac7fddb35084a567e0311806292efea8dc70
Python version: 2.7.13
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
Greetings

user1234
Attachments
2204.fcstd
(33.48 KiB) Downloaded 203 times
wmayer
Founder
Posts: 20243
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: OCC Bugs in the Bugtracker

Post by wmayer »

No crash but no object after union. I think the reason is a singularity and not to handle. But when you edit one or both torus radius2 = 1.99999 it works.
Confirmed. From a practical point of view this bug can be considered as fixed.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: OCC Bugs in the Bugtracker

Post by Kunda1 »

Thread has been updated
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: OCC Bugs in the Bugtracker

Post by Kunda1 »

Thread has been updated. We still need to report issues upstream. Who wants to be a liaison for FC ?
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: OCC Bugs in the Bugtracker

Post by Kunda1 »

Below is a thread that was started as a PM to an upstream OpenCasCade dev (@gAdlike) who's been running an analysis on FreeCAD bugs from OCC perspective.
Kunda1 wrote:Fri Jan 19, 2018 5:16 pm
gAdlike wrote:Mon Jan 22, 2018 5:31 am Hello,

First of all, I can share with community results of FC issues analysis. Maybe it is incomplete, so if you have a list of FC related OCCT issues please send it to me.
We have fixed some issues but not all. It is a common problem in commercial company with priorities and time spending (I think you know). So, we need to construct a list of FC related problems. I have Google document for that - https://docs.google.com/document/d/1aBe ... dasjw/edit#.

For effective collaboration, we need a possibility to replace OCCT in FC third parties. We know about LibPack libraries, but it is not possible to simply overwrite OCCT (https://forum.freecadweb.org/viewtopic. ... 4&start=20). I propose to use separate sub-folders for third parties since it will significantly simplify update process. I started this process but I haven't enough time to finalize it. As far as I know, OCCT 7.2.0 contains many improvements, especially related to the Boolean algorithm, so migration to 7.2.0 looks reasonable. What do you think about it?

For bug reporting, we need so-called "draw-script". OCCT uses Tcl-based command line application for testing. Almost all functionality can be checked within it. Previous volunteers reported problems using it (shoogen). Do you know how to construct this script in FC? We will be able to register issues if we have this script.
gAdlike wrote:Mon Jan 22, 2018 10:55 am I have realized that LibPack refactoring will have big impact on FC. So, let me reformulate point related to third parties: how can I build FC with a newer version of OCCT? For instance, I want to check current development version.
The intention is to merge this thread in to this current thread that tracks OCC related bugs in FC.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: OCC Bugs in the Bugtracker

Post by Kunda1 »

sgrogan wrote:ping
Hey @sgrogan, so @gadlike above says:
For effective collaboration, we need a possibility to replace OCCT in FC third parties

Can we help him with this?
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: OCC Bugs in the Bugtracker

Post by sgrogan »

Kunda1 wrote: Fri Jan 26, 2018 9:47 pm For effective collaboration, we need a possibility to replace OCCT in FC third parties
Since OCCT has moved to the CMake building OCCT has become easy. I simply use CMake to link to the dependencies in the libpack (what I have locally is ahead of what is published but not ready yet) and copy/replace over the old libpack. Works fine.

The biggest problem we have is that FreeCAD links against OCCT and nglib (which links against OCCT). So every time we upgrade OCCT we need to upgrade nglib. For porting FreeCAD a newer OCCT this is easy for me. One forum post and usually @wmayer responds with one of his famous "commit xxxxx" posts and FreeCAD is ported. I've compiled FreeCAD locally against self compiled OCCT 7.2 no problems on both Win and Ubuntu. Until recently https://forum.freecadweb.org/viewtopic.php?f=10&t=26278 we've had to port nglib ourselves, and have had trouble getting the patches up-streamed.

So most of the hell is getting everything to work together and packaged. Not really an OCCT issue. One thing I would request is that OCCT doesn't drop support for VS2013. NGSolve uses C++11 stuff that's not supported until VS2015 and this kills me. It's on the list to upgrade the FreeCAD libpacks to VS2015 but requires building the entire dependency stack.

What we could use help with is packaging on Debian. @kkremitzki has packaged OCCT 7.2 and is trying to get it up streamed into Debian, that will flow down to Ubuntu. In particular if there is any feedback on the intermediate symlink discussed in the other thread.

What we need is to fill this position https://forum.freecadweb.org/viewtopic. ... 05#p181370
For bug reporting, we need so-called "draw-script". OCCT uses Tcl-based command line application for testing. Almost all functionality can be checked within it. Previous volunteers reported problems using it (shoogen). Do you know how to construct this script in FC? We will be able to register issues if we have this script.
I guess this is where we could use the most help. Maybe a tutorial creating a "draw-script" would help, but it's a high bar. The person(s) would need to know FreeCAD, know how to compile FreeCAD and OCCT link them and create the script. The people closest to having this knowledge don't have enough time after their other FreeCAD responsibilities. We need to find a way to lower the bar.

Sorry for the rambling post, it's a lot to come at at one time.

EDIT:
Should have posted this first. Thanks gAdlike for the interest :)
Indeed OCCT was responsive to @shoogen and more recently @ickby.
The HLR improvements in OCCT 7.1 were huge for FreeCAD, if the the boolean improvements are similar we will have a lot of happy FreeCAD users.
"fight the good fight"
gAdlike
Posts: 21
Joined: Wed Nov 01, 2017 5:35 am

Re: OCC Bugs in the Bugtracker

Post by gAdlike »

Hello,

I constructed google table representing all existing OCCT issues related to the FC: https://docs.google.com/spreadsheets/d/ ... sp=sharing
Feel free to add your comments and suggestions for improvement. I will be glad to get feedback from the community.
Post Reply