View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004610 | FreeCAD | Bug | public | 2021-03-29 14:03 | 2021-04-23 11:03 |
Reporter | greyltc | Assigned To | |||
Priority | high | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | Linux | OS Version | 5.11.10 |
Product Version | 0.19 | ||||
Fixed in Version | 0.19 | ||||
Summary | 0004610: OCC's step export pathway generates bad geometry [update: on upstream's OCC 7.6 Roadmap] | ||||
Description | OCC(version 7.5.0 or later)'s step export pathway generates bad geometry. I think this might be a recent regression because I think this issue isn't present in version 7.4.0. | ||||
Steps To Reproduce | 1. Make sure your build uses opencascade 7.5.0 or later. 2. File --> Import the attached .brep file. 3. File --> Export the shape you just imported as "STEP with colors (*.step *.stp)". 4. Reimport the .step file you just exported and behold its screwed up geometry. 5. (Optional) Verify the step file's messed up nature with some other step file viewer if you like. | ||||
Additional Information | Good geometry (.brep, attached):![]() Bad geometry (.step, after export): ![]() | ||||
Tags | OCC 7.5.2, OCC Bug, upstream | ||||
FreeCAD Information | OS: Arch Linux (GNOME/gnome) Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19.24349 (Git) Build type: Release Branch: master Hash: f6863bdb7714c71962bfb5c84f3070e06f436854 Python version: 3.9.2 Qt version: 5.15.2 Coin version: 4.0.1 OCC version: 7.5.0 Locale: English/United States (en_US) | ||||
|
good_geometry.brep (24,283 bytes)
DBRep_DrawableShape CASCADE Topology V1, (c) Matra-Datavision Locations 21 1 1 -0 0 -0 0 1 0 0 -0 0 1 -0 1 1 -0 0 0.5 0 1 0 1.5 -0 0 1 -0 2 1 1 2 1 1 -1 0 2 1 1 2 -1 1 -1 0 1 1 -0 0 0.5 0 1 0 -1.5 -0 0 1 -0 2 1 1 5 1 1 -1 0 2 1 1 5 -1 1 -1 0 1 1 -0 0 -1.5 0 1 0 -1.5 -0 0 1 -0 2 1 1 8 1 1 -1 0 2 1 1 8 -1 1 -1 0 1 1 -0 0 -1.5 0 1 0 1.5 -0 0 1 0 2 1 1 11 1 1 -1 0 2 1 1 11 -1 1 -1 0 1 1 -0 0 -0.5 0 1 0 1.5 -0 0 1 0 2 1 1 14 1 1 -1 0 1 1 -0 0 -0.5 0 1 0 -1.5 -0 0 1 -0 2 1 1 16 1 1 -1 0 1 1 -0 0 1.5 0 1 0 -1.5 -0 0 1 -0 2 1 1 18 1 1 -1 0 1 1 -0 0 1.5 0 1 0 1.5 -0 0 1 -0 2 1 1 20 1 1 -1 0 Curve2ds 164 1 -2.5 -2.5 1 0 1 -2.5 -2.5 1 0 1 -2.5 2.5 0 -1 1 -2.5 2.5 0 -1 1 2.5 -2.5 0 1 1 2.5 -2.5 0 1 1 2.5 2.5 -1 0 1 -0.5 -0 1 0 1 0.5 1.2 -1 0 1 0.5 1.2 -1 0 1 0.5 1.2 0 1 1 0 0 1 0 1 0.5 1.2 0 1 1 0 0 1 0 2 1.7805210059107073e-17 -2.7793710338167706e-18 1 0 -0 1 0.14999999999999999 2 0.5 1.5 1 0 -0 1 0.15000000000000002 1 0.5 1.5 1 0 1 0 0 1 0 1 0.5 1.5 1 0 1 4.7123889803846923 0 1 0 1 0 0 1 0 1 1.5 -1.5 0 1 1 1.5 -1.5 0 1 1 3.1415926535897638 0 1 0 1 0.5 -1.5 1 0 1 0 0 1 0 1 0.5 -1.5 1 0 1 0 0 1 0 2 1.7805210059107073e-17 -2.7793710338167706e-18 1 0 -0 1 0.14999999999999999 2 0.5 -1.5 1 0 -0 1 0.15000000000000002 1 0.5 -1.2 0 -1 1 0 0 1 0 1 0.5 -1.2 0 -1 1 0.5 0 -1 -0 1 -0.5 -1.2 1 0 1 -0.5 -1.2 1 0 1 -0.5 -1.2 0 -1 1 0 0 1 0 1 -0.5 -1.2 0 -1 1 3.1415926535897638 0 1 0 1 -0.5 -1.5 -1 0 1 0 -0 1 0 1 -0.5 -1.5 -1 0 1 0 0 1 0 2 1.7805210059107073e-17 -2.7793710338167706e-18 1 0 -0 1 0.14999999999999999 2 -1.5 -1.5 1 0 -0 1 0.14999999999999991 1 0 0 1 0 1 -1.5 1.5 0 -1 1 -1.5 1.5 0 -1 1 0 0 1 0 2 1.7805210059107073e-17 -2.7793710338167706e-18 1 0 -0 1 0.14999999999999999 2 -1.5 1.5 1 0 -0 1 0.14999999999999991 1 -0.5 1.5 -1 0 1 0 -0 1 0 1 -0.5 1.5 -1 0 1 4.7123889803846923 0 1 0 1 -0.5 1.2 0 1 1 0 0 1 0 1 -0.5 1.2 0 1 1 2.5 2.5 -1 0 1 -0.5 1.2 0 1 1 0 -1 1 0 1 -0.5 1.2 0 1 1 0.5 -1 -1 -0 1 -0.5 1.2 1 0 1 -0.5 1.2 1 0 1 0.5 1.2 0 1 1 0 -1 1 0 1 0.5 1.2 0 1 1 0 -1 1 0 2 1.7805210059107073e-17 -2.7793710338167706e-18 1 0 -0 1 0.14999999999999999 2 0.5 1.5 1 0 -0 1 0.15000000000000002 1 0.5 1.5 1 0 1 0 -1 1 0 1 0.5 1.5 1 0 1 9.4247779607693509 -1 -1 0 1 3 -1 -1 0 1 1.5 1.5 0 -1 1 1.5 1.5 0 -1 1 7.8539816339744801 -1 -1 0 1 0.5 -1.5 1 0 1 0 -1 1 0 1 0.5 -1.5 1 0 1 0 -1 1 0 2 1.7805210059107073e-17 -2.7793710338167706e-18 1 0 -0 1 0.14999999999999999 2 0.5 -1.5 1 0 -0 1 0.15000000000000002 1 0.5 -1.2 0 -1 1 0 -1 1 0 1 0.5 -1.2 0 -1 1 -0.5 -1 1 0 1 0.5 -1.2 -1 0 1 0.5 -1.2 -1 0 1 -0.5 -1.2 0 -1 1 0 -1 1 0 1 -0.5 -1.2 0 -1 1 7.8539816339744801 -1 -1 0 1 -0.5 -1.5 -1 0 1 0 -1 1 0 1 -0.5 -1.5 -1 0 1 0 -1 1 0 2 1.7805210059107073e-17 -2.7793710338167706e-18 1 0 -0 1 0.14999999999999999 2 -1.5 -1.5 1 0 -0 1 0.14999999999999991 1 3 -1 -1 0 1 -1.5 -1.5 0 1 1 -1.5 -1.5 0 1 1 0 -1 1 0 2 1.7805210059107073e-17 -2.7793710338167706e-18 1 0 -0 1 0.14999999999999999 2 -1.5 1.5 1 0 -0 1 0.14999999999999991 1 -0.5 1.5 -1 0 1 0 -1 1 0 1 -0.5 1.5 -1 0 1 9.4247779607693509 -1 -1 0 1 0.5 0 0 -1 1 0 0 0 -1 1 -0.5 -0 0 -1 1 0 0 0 -1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.15000000000000013 0 -0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 4.7123889803846897 0 0 1 8 -1 -0 1 4.7123889803846897 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.15000000000000002 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 3.1415926535897931 0 0 1 8 -1 -0 1 9.4247779607693793 0 0 1 1 0 0 0 -1 1 6.2831853071795862 0 0 -1 1 0.85000000000000009 0 0 -1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.14999999999999991 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 4.7123889803846897 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 2.8500000000000001 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 1.5707963267948966 0 0 1 1 0 0 0 -1 1 6.2831853071795862 0 0 -1 1 0.85000000000000009 0 0 -1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.15000000000000002 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 3.1415926535897931 0 0 1 8 -1 -0 1 3.1415926535897931 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.15000000000000013 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 1.5707963267948966 0 0 1 8 -1 -0 1 7.8539816339744828 0 0 1 1 0 0 0 -1 1 0.5 0 0 -1 1 -0.5 -0 0 -1 1 0 0 0 -1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.15000000000000013 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 1.5707963267948966 0 0 1 1 0 0 0 -1 1 6.2831853071795862 0 0 -1 1 0.15000000000000002 0 0 -1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.85000000000000009 0 -0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 3.1415926535897931 0 0 1 8 -1 -0 1 3.1415926535897931 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.14999999999999991 0 -0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 1.5707963267948966 0 0 1 8 -1 -0 1 7.8539816339744828 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 2.8500000000000001 0 -0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 4.7123889803846897 0 0 1 8 -1 -0 1 4.7123889803846897 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.85000000000000009 0 -0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 3.1415926535897931 0 0 1 8 -1 -0 1 9.4247779607693793 0 0 1 1 0 0 0 -1 1 6.2831853071795862 0 0 -1 1 0.15000000000000002 0 0 -1 8 -1.0000005999999999 5.9999999999999997e-07 1 0.15000000000000013 0 0 1 8 -1.0000005999999999 5.9999999999999997e-07 1 4.7123889803846897 0 0 1 Curves 72 1 -2.5 -2.5 0 0 0 1 1 2.5 -2.5 0 0 0 1 1 -2.5 -2.5 0 1 0 0 1 -2.5 -2.5 1 1 0 0 1 -2.5 2.5 0 0 0 1 1 -2.5 2.5 0 0 -1 0 1 -2.5 2.5 1 0 -1 0 1 2.5 2.5 0 0 0 1 1 2.5 -2.5 0 0 1 0 1 2.5 -2.5 1 0 1 0 1 2.5 2.5 0 -1 0 0 8 0 1 1 0.5 1.2 0 -1 0 0 1 0.5 1.2 0 -0 1 0 2 0 0 0 0 0 1 1 0 0 0 1 0 0.14999999999999999 1 0.5 1.5 0 1 0 0 8 0 4.7123889803846568 2 1.5 1.5 0 0 -0 1 2.9605947323337525e-15 -1 -0 1 2.9605947323337525e-15 0 0.14999999999999991 8 0 3 1 1.5 -1.5 0 0 1 0 8 0 4.7123889803847163 2 1.5 -1.5 0 -0 -0 1 -1 2.9605947323337522e-14 0 -2.9605947323337522e-14 -1 -0 0.14999999999999991 1 0.5 -1.5 0 1 0 0 2 0 0 0 0 0 1 1 0 0 0 1 0 0.14999999999999999 1 0.5 -1.2 0 0 -1 0 8 0 1 1 -0.5 -1.2 0 1 0 0 1 -0.5 -1.2 0 0 -1 -0 8 0 4.7123889803847163 2 -0.5 -1.5 0 -0 -0 1 -1 2.9605947323337504e-14 0 -2.9605947323337504e-14 -1 -0 0.14999999999999999 1 -0.5 -1.5 0 -1 -0 0 2 0 0 0 0 0 1 1 0 0 0 1 0 0.14999999999999999 8 0 3 1 -1.5 1.5 0 0 -1 0 2 0 0 0 0 0 1 1 0 0 0 1 0 0.14999999999999999 1 -0.5 1.5 0 -1 0 0 8 0 4.7123889803846577 2 -0.5 1.5 0 0 -0 1 2.5905203907920334e-15 -1 -0 1 2.5905203907920334e-15 0 0.14999999999999999 1 -0.5 1.2 0 0 1 0 1 2.5 2.5 1 -1 0 0 1 -0.5 1.2 1 0 1 0 8 0 1 1 -0.5 1.2 1 1 0 0 1 0.5 1.2 1 -0 1 0 2 0 0 1 0 0 1 1 0 0 0 1 0 0.14999999999999999 1 0.5 1.5 1 1 0 0 8 0 4.7123889803846568 2 1.5 1.5 1 0 -0 -1 -1 2.9605947323337522e-14 -0 2.9605947323337522e-14 1 0 0.14999999999999991 8 0 3 1 1.5 1.5 1 0 -1 0 8 0 4.7123889803847163 2 1.5 -1.5 1 -0 -0 -1 2.9605947323337525e-15 1 -0 1 -2.9605947323337525e-15 0 0.14999999999999991 1 0.5 -1.5 1 1 0 0 2 0 0 1 0 0 1 1 0 0 0 1 0 0.14999999999999999 1 0.5 -1.2 1 0 -1 0 8 0 1 1 0.5 -1.2 1 -1 0 0 1 -0.5 -1.2 1 0 -1 -0 8 0 4.7123889803847163 2 -0.5 -1.5 1 -0 -0 -1 2.5905203907920334e-15 1 -0 1 -2.5905203907920334e-15 0 0.14999999999999999 1 -0.5 -1.5 1 -1 -0 0 2 0 0 1 0 0 1 1 0 0 0 1 0 0.14999999999999999 8 0 3 1 -1.5 -1.5 1 0 1 0 2 0 0 1 0 0 1 1 0 0 0 1 0 0.14999999999999999 1 -0.5 1.5 1 -1 0 0 8 0 4.7123889803846577 2 -0.5 1.5 1 0 -0 -1 -1 2.9605947323337504e-14 -0 2.9605947323337504e-14 1 0 0.14999999999999999 1 -0.5 1.2 0 0 0 1 1 0.5 1.2 0 0 0 1 1 -0.5 1.3500000000000001 0 -0 -0 -1 1 -0.65000000000000002 1.5 0 -0 -0 -1 1 0.14999999999999999 0 0 0 0 1 1 -1.5 1.3500000000000001 0 -0 -0 -1 1 -1.5 -1.3500000000000001 0 -0 -0 -1 1 0.14999999999999999 0 0 0 0 1 1 -0.65000000000000002 -1.5 0 -0 -0 -1 1 -0.5 -1.3500000000000001 0 -0 -0 -1 1 -0.5 -1.2 0 0 0 1 1 0.5 -1.2 0 0 0 1 1 0.5 -1.3500000000000001 0 -0 -0 -1 1 0.14999999999999999 0 0 0 0 1 1 1.3500000000000001 -1.5 0 -0 -0 -1 1 1.5 -1.3500000000000001 0 -0 -0 -1 1 1.5 1.3500000000000001 0 -0 -0 -1 1 1.3500000000000001 1.5 0 -0 -0 -1 1 0.14999999999999999 0 0 0 0 1 1 0.5 1.3500000000000001 0 -0 -0 -1 Polygon3D 0 PolygonOnTriangulations 0 Surfaces 40 1 -2.5 -2.5 0 0 1 0 1 0 0 0 0 -1 1 0 0 0 0 0 1 1 0 -0 -0 1 0 1 0 0 1 0 0 1 1 0 -0 -0 1 0 1 -2.5 2.5 0 1 0 -0 0 -1 0 0 -0 -1 1 2.5 -2.5 0 -1 0 0 0 1 0 0 0 -1 1 0 1.2 0 0 -1 0 -1 0 0 -0 -0 -1 1 -2.5232341468753554e-17 8.4107804895845179e-18 0 0 0 1 1 0 -0 -0 1 0 1 0.5 1.2 0 -1 -0 0 -0 1 0 -0 0 -1 2 0 0 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 1 -1.7805210059107073e-17 2.7793710338167706e-18 0 0 0 1 1 0 -0 -0 1 0 1 0.5 1.5 0 0 1 0 1 0 0 0 0 -1 10 3.9269908169872414 10.210176124166829 -2e+100 2e+100 2 1.5 1.5 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 1 1.5 -1.5 0 -1 0 0 0 1 0 0 0 -1 10 2.3561944901923448 8.6393797973719302 -2e+100 2e+100 2 1.5 -1.5 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 1 0.5 -1.5 0 0 1 0 1 0 0 0 0 -1 2 0 0 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 1 -1.7805210059107073e-17 2.7793710338167706e-18 0 0 0 1 1 0 -0 -0 1 0 1 0.5 -1.2 0 1 0 -0 0 -1 0 0 -0 -1 1 0 -1.2 0 0 -1 0 -1 0 0 -0 -0 -1 1 -0.5 -1.2 0 1 0 -0 0 -1 0 0 -0 -1 10 2.3561944901923448 8.6393797973719302 -2e+100 2e+100 2 -0.5 -1.5 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 1 -0.5 -1.5 0 0 -1 0 -1 0 0 -0 -0 -1 2 0 0 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 1 -1.7805210059107073e-17 2.7793710338167706e-18 0 0 0 1 1 0 -0 -0 1 0 1 -1.5 1.5 0 1 0 -0 0 -1 0 0 -0 -1 2 0 0 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 1 -1.7805210059107073e-17 2.7793710338167706e-18 0 0 0 1 1 0 -0 -0 1 0 1 -0.5 1.5 0 0 -1 0 -1 0 0 -0 -0 -1 10 3.9269908169872414 10.210176124166829 -2e+100 2e+100 2 -0.5 1.5 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 1 -0.5 1.2 0 -1 0 0 0 1 0 0 0 -1 1 -2.5232341468753554e-17 8.4107804895845179e-18 1 0 0 1 1 0 -0 -0 1 0 1 -1.7805210059107073e-17 2.7793710338167706e-18 1 0 0 1 1 0 -0 -0 1 0 1 -1.7805210059107073e-17 2.7793710338167706e-18 1 0 0 1 1 0 -0 -0 1 0 1 -1.7805210059107073e-17 2.7793710338167706e-18 1 0 0 1 1 0 -0 -0 1 0 1 -1.7805210059107073e-17 2.7793710338167706e-18 1 0 0 1 1 0 -0 -0 1 0 1 2.5 2.5 0 0 -1 0 -1 0 0 -0 -0 -1 2 0 0 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 2 0 0 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 2 0 0 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 2 0 0 0 -0 -0 -1 1 0 0 0 1 0 0.14999999999999999 Triangulations 0 TShapes 177 Ve 1e-07 -2.5 -2.5 0 0 0 0101101 * Ve 1e-07 -2.5 -2.5 1 0 0 0101101 * Ed 1e-07 1 1 0 1 1 0 0 1 0 0101000 +177 0 -176 0 * Ve 1e-07 2.5 -2.5 0 0 0 0101101 * Ve 1e-07 2.5 -2.5 1 0 0 0101101 * Ed 1e-07 1 1 0 1 2 0 0 1 0 0101000 +174 0 -173 0 * Ed 1e-07 1 1 0 1 3 0 0 5 2 1 2 0 0 5 0 0101000 +177 0 -174 0 * Ed 1e-07 1 1 0 1 4 0 0 5 2 2 3 0 0 5 0 0101000 +176 0 -173 0 * Wi 0101100 +175 0 -172 0 -171 0 +170 0 * Fa 0 1e-07 1 0 0101000 +169 0 * Ve 1e-07 -2.5 2.5 0 0 0 0101101 * Ve 1e-07 -2.5 2.5 1 0 0 0101101 * Ed 1e-07 1 1 0 1 5 0 0 1 0 0101000 +167 0 -166 0 * Ed 1e-07 1 1 0 1 6 0 0 5 2 3 2 0 0 5 0 0101000 +167 0 -177 0 * Ed 1e-07 1 1 0 1 7 0 0 5 2 4 3 0 0 5 0 0101000 +166 0 -176 0 * Wi 0101100 +165 0 -175 0 -164 0 +163 0 * Fa 0 1e-07 4 0 0101000 +162 0 * Ve 1e-07 2.5 2.5 0 0 0 0101101 * Ve 1e-07 2.5 2.5 1 0 0 0101101 * Ed 1e-07 1 1 0 1 8 0 0 1 0 0101000 +160 0 -159 0 * Ed 1e-07 1 1 0 1 9 0 0 5 2 5 2 0 0 5 0 0101000 +174 0 -160 0 * Ed 1e-07 1 1 0 1 10 0 0 5 2 6 3 0 0 5 0 0101000 +173 0 -159 0 * Wi 0101100 +172 0 -158 0 -157 0 +156 0 * Fa 0 1e-07 5 0 0101000 +155 0 * Ed 1e-07 1 1 0 1 11 0 0 5 2 7 2 0 0 5 0 0101000 +160 0 -167 0 * Wi 0101100 +171 0 +157 0 +153 0 +164 0 * Ve 1e-07 0.5 1.2 0 0 0 0101101 * Ve 1e-07 -0.5 1.2 0 0 0 0101101 * Ed 1e-07 1 1 0 1 12 0 0 1 2 8 6 0 0 1 2 9 7 0 0 1 2 10 2 0 0 1 0 0101000 +151 0 -150 0 * Ve 1.00000000444089e-07 0.5 1.35 0 0 0 0101101 * Ed 1e-07 1 1 0 1 13 0 0 0.15 2 11 7 0 0 0.15 2 12 8 0 0 0.15 2 13 2 0 0 0.15 0 0101000 +151 0 -148 0 * Ve 1e-07 0.15 0 0 0 0 0101101 * Ed 1e-07 1 1 0 1 14 0 0 4.71238898038469 2 14 9 0 0 4.71238898038469 2 15 10 0 0 4.71238898038469 2 16 2 4 0 4.71238898038469 0 0101000 +146 0 -148 4 * Ve 1.00000004440892e-07 1.35 1.5 0 0 0 0101101 * Ed 1e-07 1 1 0 1 15 0 0.15 0.85 2 17 7 0 0.15 0.85 2 18 11 0 0.15 0.85 2 19 2 0 0.15 0.85 0 0101000 +146 3 -144 0 * Ve 1.00000000444089e-07 1.5 1.35 0 0 0 0101101 * Ed 1e-07 1 1 0 1 16 0 0 4.71238898038466 2 20 12 0 0 4.71238898038466 0 0101000 +142 0 -144 0 * Ve 1.00000000444089e-07 1.5 -1.35 0 0 0 0101101 * Ed 1e-07 1 1 0 1 17 0 0.15 2.85 2 21 13 0 0.15 2.85 2 22 7 0 0.15 2.85 2 23 2 0 0.15 2.85 0 0101000 +140 0 -142 0 * Ve 1.00000004440892e-07 1.35 -1.5 0 0 0 0101101 * Ed 1e-07 1 1 0 1 18 0 0 4.71238898038472 2 24 14 0 0 4.71238898038472 0 0101000 +138 0 -140 0 * Ve 1e-07 0.15 0 0 0 0 0101101 * Ed 1e-07 1 1 0 1 19 0 0.15 0.85 2 25 7 0 0.15 0.85 2 26 15 0 0.15 0.85 2 27 2 0 0.15 0.85 0 0101000 +136 6 -138 0 * Ve 1.00000000444089e-07 0.5 -1.35 0 0 0 0101101 * Ed 1e-07 1 1 0 1 20 0 1.57079632679489 6.28318530717959 2 28 16 0 1.57079632679489 6.28318530717959 2 29 17 0 1.57079632679489 6.28318530717959 2 30 2 7 1.57079632679489 6.28318530717959 0 0101000 +134 7 -136 0 * Ve 1e-07 0.5 -1.2 0 0 0 0101101 * Ed 1e-07 1 1 0 1 21 0 0 0.15 2 31 7 0 0 0.15 2 32 18 0 0 0.15 2 33 2 0 0 0.15 0 0101000 +132 0 -134 0 * Ve 1e-07 -0.5 -1.2 0 0 0 0101101 * Ed 1e-07 1 1 0 1 22 0 0 1 2 34 19 0 0 1 2 35 7 0 0 1 2 36 2 0 0 1 0 0101000 +130 0 -132 0 * Ve 1.00000000388578e-07 -0.5 -1.35 0 0 0 0101101 * Ed 1e-07 1 1 0 1 23 0 0 0.15 2 37 7 0 0 0.15 2 38 20 0 0 0.15 2 39 2 0 0 0.15 0 0101000 +130 0 -128 0 * Ve 1.00000004440892e-07 -0.65 -1.5 0 0 0 0101101 * Ed 1e-07 1 1 0 1 24 0 0 4.71238898038472 2 40 21 0 0 4.71238898038472 0 0101000 +126 0 -128 0 * Ve 1e-07 0.15 0 0 0 0 0101101 * Ed 1e-07 1 1 0 1 25 0 0.15 0.85 2 41 7 0 0.15 0.85 2 42 22 0 0.15 0.85 2 43 2 0 0.15 0.85 0 0101000 +126 0 -124 9 * Ve 1.00000000444089e-07 -1.5 -1.35 0 0 0 0101101 * Ed 1e-07 1 1 0 1 26 0 1.57079632679489 6.28318530717959 2 44 23 0 1.57079632679489 6.28318530717959 2 45 24 0 1.57079632679489 6.28318530717959 2 46 2 10 1.57079632679489 6.28318530717959 0 0101000 +122 10 -124 0 * Ve 1.00000000444089e-07 -1.5 1.35 0 0 0 0101101 * Ed 1e-07 1 1 0 1 27 0 0.15 2.85 2 47 25 0 0.15 2.85 2 48 7 0 0.15 2.85 2 49 2 0 0.15 2.85 0 0101000 +120 0 -122 0 * Ve 1e-07 0.15 0 0 0 0 0101101 * Ed 1e-07 1 1 0 1 28 0 0 4.71238898038469 2 50 26 0 0 4.71238898038469 2 51 27 0 0 4.71238898038469 2 52 2 13 0 4.71238898038469 0 0101000 +118 0 -120 13 * Ve 1.00000004440892e-07 -0.65 1.5 0 0 0 0101101 * Ed 1e-07 1 1 0 1 29 0 0.15 0.85 2 53 7 0 0.15 0.85 2 54 28 0 0.15 0.85 2 55 2 0 0.15 0.85 0 0101000 +116 0 -118 12 * Ve 1.00000000388578e-07 -0.5 1.35 0 0 0 0101101 * Ed 1e-07 1 1 0 1 30 0 0 4.71238898038466 2 56 29 0 0 4.71238898038466 0 0101000 +114 0 -116 0 * Ed 1e-07 1 1 0 1 31 0 0 0.15 2 57 7 0 0 0.15 2 58 30 0 0 0.15 2 59 2 0 0 0.15 0 0101000 +150 0 -114 0 * Wi 0101100 -149 0 +147 0 -145 3 +143 0 -141 0 -139 0 -137 0 -135 0 -133 6 -131 0 -129 0 +127 0 -125 0 +123 0 -121 9 -119 0 -117 12 -115 0 -113 0 -112 0 * Fa 0 1e-07 2 0 0111000 +152 0 +111 0 * Ed 1e-07 1 1 0 1 32 0 0 5 2 60 3 0 0 5 0 0101000 +159 0 -166 0 * Wi 0101100 +170 0 +156 0 +109 0 +163 0 * Ve 1e-07 -0.5 1.2 1 0 0 0101101 * Ve 1.00000000388578e-07 -0.5 1.35 1 0 0 0101101 * Ed 1e-07 1 1 0 1 33 0 0 0.15 2 61 31 0 0 0.15 2 62 30 0 0 0.15 2 63 3 0 0 0.15 0 0101000 +107 0 -106 0 * Ve 1e-07 0.5 1.2 1 0 0 0101101 * Ed 1e-07 1 1 0 1 34 0 0 1 2 64 6 0 0 1 2 65 31 0 0 1 2 66 3 0 0 1 0 0101000 +107 0 -104 0 * Ve 1.00000000444089e-07 0.5 1.35 1 0 0 0101101 * Ed 1e-07 1 1 0 1 35 0 0 0.15 2 67 31 0 0 0.15 2 68 8 0 0 0.15 2 69 3 0 0 0.15 0 0101000 +104 0 -102 0 * Ve 1e-07 0.15 0 1 0 0 0101101 * Ed 1e-07 1 1 0 1 36 0 0 4.71238898038469 2 70 9 0 0 4.71238898038469 2 71 32 0 0 4.71238898038469 2 72 3 4 0 4.71238898038469 0 0101000 +100 0 -102 4 * Ve 1.00000004440892e-07 1.35 1.5 1 0 0 0101101 * Ed 1e-07 1 1 0 1 37 0 0.15 0.85 2 73 31 0 0.15 0.85 2 74 11 0 0.15 0.85 2 75 3 0 0.15 0.85 0 0101000 +100 3 -98 0 * Ve 1.00000000444089e-07 1.5 1.35 1 0 0 0101101 * Ed 1e-07 1 1 0 1 38 0 0 4.71238898038466 2 76 12 0 0 4.71238898038466 0 0101000 +98 0 -96 0 * Ve 1.00000000444089e-07 1.5 -1.35 1 0 0 0101101 * Ed 1e-07 1 1 0 1 39 0 0.15 2.85 2 77 13 0 0.15 2.85 2 78 31 0 0.15 2.85 2 79 3 0 0.15 2.85 0 0101000 +96 0 -94 0 * Ve 1.00000004440892e-07 1.35 -1.5 1 0 0 0101101 * Ed 1e-07 1 1 0 1 40 0 0 4.71238898038472 2 80 14 0 0 4.71238898038472 0 0101000 +94 0 -92 0 * Ve 1e-07 0.15 0 1 0 0 0101101 * Ed 1e-07 1 1 0 1 41 0 0.15 0.85 2 81 31 0 0.15 0.85 2 82 15 0 0.15 0.85 2 83 3 0 0.15 0.85 0 0101000 +90 6 -92 0 * Ve 1.00000000444089e-07 0.5 -1.35 1 0 0 0101101 * Ed 1e-07 1 1 0 1 42 0 1.57079632679489 6.28318530717959 2 84 16 0 1.57079632679489 6.28318530717959 2 85 33 0 1.57079632679489 6.28318530717959 2 86 3 7 1.57079632679489 6.28318530717959 0 0101000 +88 7 -90 0 * Ve 1e-07 0.5 -1.2 1 0 0 0101101 * Ed 1e-07 1 1 0 1 43 0 0 0.15 2 87 31 0 0 0.15 2 88 18 0 0 0.15 2 89 3 0 0 0.15 0 0101000 +86 0 -88 0 * Ve 1e-07 -0.5 -1.2 1 0 0 0101101 * Ed 1e-07 1 1 0 1 44 0 0 1 2 90 19 0 0 1 2 91 31 0 0 1 2 92 3 0 0 1 0 0101000 +86 0 -84 0 * Ve 1.00000000388578e-07 -0.5 -1.35 1 0 0 0101101 * Ed 1e-07 1 1 0 1 45 0 0 0.15 2 93 31 0 0 0.15 2 94 20 0 0 0.15 2 95 3 0 0 0.15 0 0101000 +84 0 -82 0 * Ve 1.00000004440892e-07 -0.65 -1.5 1 0 0 0101101 * Ed 1e-07 1 1 0 1 46 0 0 4.71238898038472 2 96 21 0 0 4.71238898038472 0 0101000 +82 0 -80 0 * Ve 1e-07 0.15 0 1 0 0 0101101 * Ed 1e-07 1 1 0 1 47 0 0.15 0.85 2 97 31 0 0.15 0.85 2 98 22 0 0.15 0.85 2 99 3 0 0.15 0.85 0 0101000 +80 0 -78 9 * Ve 1.00000000444089e-07 -1.5 -1.35 1 0 0 0101101 * Ed 1e-07 1 1 0 1 48 0 1.57079632679489 6.28318530717959 2 100 23 0 1.57079632679489 6.28318530717959 2 101 34 0 1.57079632679489 6.28318530717959 2 102 3 10 1.57079632679489 6.28318530717959 0 0101000 +76 10 -78 0 * Ve 1.00000000444089e-07 -1.5 1.35 1 0 0 0101101 * Ed 1e-07 1 1 0 1 49 0 0.15 2.85 2 103 25 0 0.15 2.85 2 104 31 0 0.15 2.85 2 105 3 0 0.15 2.85 0 0101000 +76 0 -74 0 * Ve 1e-07 0.15 0 1 0 0 0101101 * Ed 1e-07 1 1 0 1 50 0 0 4.71238898038469 2 106 26 0 0 4.71238898038469 2 107 35 0 0 4.71238898038469 2 108 3 13 0 4.71238898038469 0 0101000 +72 0 -74 13 * Ve 1.00000004440892e-07 -0.65 1.5 1 0 0 0101101 * Ed 1e-07 1 1 0 1 51 0 0.15 0.85 2 109 31 0 0.15 0.85 2 110 28 0 0.15 0.85 2 111 3 0 0.15 0.85 0 0101000 +70 0 -72 12 * Ed 1e-07 1 1 0 1 52 0 0 4.71238898038466 2 112 29 0 0 4.71238898038466 0 0101000 +70 0 -106 0 * Wi 0101100 -105 0 +103 0 +101 0 -99 3 +97 0 +95 0 +93 0 +91 0 -89 0 -87 6 -85 0 +83 0 +81 0 +79 0 +77 0 -75 9 +73 0 -71 12 -69 0 +68 0 * Fa 0 1e-07 3 0 0111000 +108 0 +67 0 * Wi 0101100 +158 0 -165 0 -153 0 +109 0 * Fa 0 1e-07 36 0 0101000 +65 0 * Ed 1e-07 1 1 0 1 53 0 0 1 2 113 6 0 0 1 2 114 30 0 0 1 0 0101000 +150 0 -107 0 * Ed 1e-07 1 1 0 1 54 0 0 1 2 115 6 0 0 1 2 116 8 0 0 1 0 0101000 +151 0 -104 0 * Wi 0101100 -63 0 -149 0 +62 0 -103 0 * Fa 0 0 6 0 0101000 +61 0 * Ed 1e-07 1 1 0 1 55 0 -1 0 2 117 30 0 -1 0 2 118 37 15 -1 0 2 119 29 0 -1 0 0 0101000 +106 0 -114 0 * Wi 0101100 -112 0 +59 0 +105 0 +63 0 * Fa 0 1e-07 30 0 0101000 +58 0 * Ed 1e-07 1 1 0 1 56 0 -1 0 2 120 28 0 -1 0 2 121 37 15 -1 0 2 122 29 0 -1 0 0 0101000 +70 0 -116 0 * Wi 0101100 -68 0 +56 0 -113 0 -59 0 * Fa 0 0 29 0 0111000 +55 0 * Ed 1e-07 1 1 0 1 57 0 0 1 3 123 124CN 26 0 0 1 2 125 28 13 0 1 0 0101000 +118 0 -72 0 * Wi 0101100 -115 0 -53 12 +69 0 -56 0 * Fa 0 1e-07 28 0 0101000 +52 0 * Ed 1e-07 1 1 0 1 58 0 -1 -0 2 126 25 0 -1 -0 2 127 26 12 -1 -0 0 0101000 +74 0 -120 0 * Wi 0101100 -117 12 +50 0 +71 12 +53 12 * Fa 0 1e-07 26 12 0101000 +49 0 * Ed 1e-07 1 1 0 1 59 0 -1 -0 2 128 25 0 -1 -0 2 129 23 9 -1 -0 0 0101000 +76 0 -122 0 * Wi 0101100 -119 0 +47 0 -73 0 -50 0 * Fa 0 1e-07 25 0 0101000 +46 0 * Ed 1e-07 1 1 0 1 60 0 0 1 3 130 131CN 23 0 0 1 2 132 22 10 0 1 0 0101000 +124 0 -78 0 * Wi 0101100 -44 9 +75 9 -47 0 -121 9 * Fa 0 1e-07 23 9 0101000 +43 0 * Ed 1e-07 1 1 0 1 61 0 -1 0 2 133 22 0 -1 0 2 134 38 17 -1 0 2 135 21 0 -1 0 0 0101000 +80 0 -126 0 * Wi 0101100 -123 0 -44 9 +77 0 -41 0 * Fa 0 1e-07 22 0 0101000 +40 0 * Ed 1e-07 1 1 0 1 62 0 -1 0 2 136 20 0 -1 0 2 137 38 17 -1 0 2 138 21 0 -1 0 0 0101000 +82 0 -128 0 * Wi 0101100 -79 0 +38 0 -125 0 -41 0 * Fa 0 0 21 0 0111000 +37 0 * Ed 1e-07 1 1 0 1 63 0 0 1 2 139 20 0 0 1 2 140 19 0 0 1 0 0101000 +130 0 -84 0 * Wi 0101100 -127 0 +38 0 +81 0 +35 0 * Fa 0 1e-07 20 0 0101000 +34 0 * Ed 1e-07 1 1 0 1 64 0 0 1 2 141 19 0 0 1 2 142 18 0 0 1 0 0101000 +132 0 -86 0 * Wi 0101100 -35 0 +129 0 +32 0 +83 0 * Fa 0 0 19 0 0101000 +31 0 * Ed 1e-07 1 1 0 1 65 0 -1 -0 2 143 18 0 -1 -0 2 144 16 6 -1 -0 0 0101000 +88 0 -134 0 * Wi 0101100 -131 0 +29 0 +85 0 +32 0 * Fa 0 1e-07 18 0 0101000 +28 0 * Ed 1e-07 1 1 0 1 66 0 0 1 3 145 146CN 16 0 0 1 2 147 15 7 0 1 0 0101000 +136 0 -90 0 * Wi 0101100 -26 6 +87 6 -29 0 -133 6 * Fa 0 1e-07 16 6 0101000 +25 0 * Ed 1e-07 1 1 0 1 67 0 -1 0 2 148 15 0 -1 0 2 149 39 19 -1 0 2 150 14 0 -1 0 0 0101000 +92 0 -138 0 * Wi 0101100 -135 0 +23 0 +89 0 +26 6 * Fa 0 1e-07 15 0 0101000 +22 0 * Ed 1e-07 1 1 0 1 68 0 -1 0 2 151 13 0 -1 0 2 152 39 19 -1 0 2 153 14 0 -1 0 0 0101000 +94 0 -140 0 * Wi 0101100 -91 0 +20 0 -137 0 -23 0 * Fa 0 0 14 0 0111000 +19 0 * Ed 1e-07 1 1 0 1 69 0 -1 0 2 154 13 0 -1 0 2 155 40 21 -1 0 2 156 12 0 -1 0 0 0101000 +96 0 -142 0 * Wi 0101100 -139 0 +17 0 -93 0 -20 0 * Fa 0 1e-07 13 0 0101000 +16 0 * Ed 1e-07 1 1 0 1 70 0 -1 0 2 157 11 0 -1 0 2 158 40 21 -1 0 2 159 12 0 -1 0 0 0101000 +98 0 -144 0 * Wi 0101100 -95 0 +14 0 -141 0 -17 0 * Fa 0 0 12 0 0111000 +13 0 * Ed 1e-07 1 1 0 1 71 0 0 1 3 160 161CN 9 0 0 1 2 162 11 4 0 1 0 0101000 +146 0 -100 0 * Wi 0101100 -143 0 +14 0 +97 0 +11 3 * Fa 0 1e-07 11 0 0101000 +10 0 * Ed 1e-07 1 1 0 1 72 0 -1 -0 2 163 8 0 -1 -0 2 164 9 3 -1 -0 0 0101000 +102 0 -148 0 * Wi 0101100 -145 3 +8 0 +99 3 +11 3 * Fa 0 1e-07 9 3 0101000 +7 0 * Wi 0101100 -147 0 +8 0 +101 0 +62 0 * Fa 0 1e-07 8 0 0101000 +5 0 * Sh 0101100 -168 0 -161 0 -154 0 -110 0 +66 0 -64 0 +60 0 +57 0 +54 0 +51 0 +48 0 +45 0 +42 0 -39 0 +36 0 -33 0 -30 0 +27 0 +24 0 +21 0 +18 0 +15 0 +12 0 -9 0 +6 0 -4 0 * So 0100000 +3 0 * Co 1100000 +2 0 * +1 0 |
|
forum thread: https://forum.freecadweb.org/viewtopic.php?f=8&t=57226 |
|
Bugs also filed upstream and downstream
|
|
Upstream OCC has assigned this issues to OCC 7.6 roadmap. Thanks @greyltc for outstanding bug reporting! |
|
The opencascade devs have worked quickly to solve the issue. They came up with the attached patch to fix the problem. I've tested that it applies cleanly over the latest occt release, 7.5.1. As written above, it seems scheduled for inclusion in the 7.6.0 release. Edit: Actually looks like they're going to roll this fix into a 7.5.2 release. corrupted_step_fix.patch (2,040 bytes)
From 7f536e166c716605eb625f283779da5f72b0d24f Mon Sep 17 00:00:00 2001 From: gka <galina.kulikova@opencascade.com> Date: Wed, 31 Mar 2021 11:43:16 +0300 Subject: [PATCH] 0032264: Data Exchange - STEP exporter generates bad geometry [REGRESSION since 7.4.0] Location of edge is applied to geom curve before analysis of vertices projections --- src/TopoDSToStep/TopoDSToStep_MakeStepEdge.cxx | 7 ++++--- tests/bugs/step/bug32264 | 8 ++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 tests/bugs/step/bug32264 diff --git a/src/TopoDSToStep/TopoDSToStep_MakeStepEdge.cxx b/src/TopoDSToStep/TopoDSToStep_MakeStepEdge.cxx index 922c95313c..e6d4c0cd90 100644 --- a/src/TopoDSToStep/TopoDSToStep_MakeStepEdge.cxx +++ b/src/TopoDSToStep/TopoDSToStep_MakeStepEdge.cxx @@ -186,9 +186,11 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge, Handle(StepGeom_Curve) Gpms; Handle(Geom_Curve) C = CA.Curve().Curve(); + if (!C.IsNull()) { C = Handle(Geom_Curve)::DownCast(C->Copy()); - + gp_Trsf Tr1 = CA.Trsf(); + C->Transform(Tr1); // Special treatment is needed for very short edges based on periodic curves. // Since edge in STEP does not store its parametric range, parameters are computed // on import by projecting vertices on a curve, and for periodic curve this may @@ -246,8 +248,7 @@ void TopoDSToStep_MakeStepEdge::Init(const TopoDS_Edge& aEdge, } } - gp_Trsf Tr1 = CA.Trsf(); - C->Transform(Tr1); + GeomToStep_MakeCurve MkCurve(C); Gpms = MkCurve.Value(); } diff --git a/tests/bugs/step/bug32264 b/tests/bugs/step/bug32264 new file mode 100644 index 0000000000..94c122ee9c --- /dev/null +++ b/tests/bugs/step/bug32264 @@ -0,0 +1,8 @@ +restore [locate_data_file bug32264.brep] s +set aTmpFile "$imagedir/${casename}.brep" +testwritestep "$aTmpFile" s +testreadstep "$aTmpFile" s1 +file delete "$aTmpFile" +checkshape s1 f +checkmaxtol s1 -ref 1.e-7 +checkprops s1 -v 16.1759 -deps 0.01 -- 2.20.1 |
|
Is it possible to put the patch into weekly build in the meantime before it is released with OCC? I'm kind of stuck at the moment. Have to export to BREP and then use 0.18.4 to export to STEP... |
|
This patch was included in to OCC 7.5.2 which was just released. Thank you so much for your efforts @greyltc! Closing ticket! |
Date Modified | Username | Field | Change |
---|---|---|---|
2021-03-29 14:03 | greyltc | New Issue | |
2021-03-29 14:03 | greyltc | Tag Attached: OCC 7.5 | |
2021-03-29 14:03 | greyltc | Tag Attached: OCC Bug | |
2021-03-29 14:03 | greyltc | File Added: good_geometry.brep | |
2021-03-29 17:12 | Kunda1 | Note Added: 0015577 | |
2021-03-29 17:12 | Kunda1 | Tag Attached: #pending-forum | |
2021-03-29 19:35 | Kunda1 | Note Added: 0015582 | |
2021-03-29 19:36 | Kunda1 | Tag Attached: upstream | |
2021-03-29 19:36 | Kunda1 | Tag Attached: OCC 7.6 | |
2021-03-29 19:45 | Kunda1 | Note Added: 0015583 | |
2021-03-29 19:50 | Kunda1 | Summary | OCC's step export pathway generates bad geometry => OCC's step export pathway generates bad geometry [update: on upstream's OCC 7.6 Roadmap] |
2021-03-29 19:50 | Kunda1 | Steps to Reproduce Updated | |
2021-03-29 19:50 | Kunda1 | Additional Information Updated | |
2021-03-29 19:50 | Kunda1 | FreeCAD Information | OS: Arch Linux (GNOME/gnome) Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19.24349 (Git) Build type: Release Branch: master Hash: f6863bdb7714c71962bfb5c84f3070e06f436854 Python version: 3.9.2 Qt version: 5.15.2 Coin version: 4.0.1 O... => OS: Arch Linux (GNOME/gnome) Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19.24349 (Git) Build type: Release Branch: master Hash: f6863bdb7714c71962bfb5c84f3070e06f436854 Python version: 3.9.2 Qt version: 5.15.2 Coin version... |
2021-03-31 13:08 | greyltc | Note Added: 0015588 | |
2021-03-31 13:08 | greyltc | File Added: corrupted_step_fix.patch | |
2021-03-31 18:54 | greyltc | Note Edited: 0015588 | |
2021-04-13 20:37 | vern.zimm | Note Added: 0015612 | |
2021-04-23 11:02 | Kunda1 | Status | new => closed |
2021-04-23 11:02 | Kunda1 | Resolution | open => fixed |
2021-04-23 11:02 | Kunda1 | Fixed in Version | => 0.19 |
2021-04-23 11:02 | Kunda1 | Note Added: 0015643 | |
2021-04-23 11:02 | Kunda1 | Tag Detached: #pending-forum | |
2021-04-23 11:02 | Kunda1 | Tag Detached: OCC 7.6 | |
2021-04-23 11:03 | Kunda1 | Tag Detached: OCC 7.5 | |
2021-04-23 11:03 | Kunda1 | Tag Attached: OCC 7.5.2 |