MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0022849Community[OCCT] OCCT:Data Exchangepublic2011-12-15 21:252017-07-27 09:24
ReporterAGPX 
Assigned Tooan 
PrioritynormalSeverityminor 
StatusfeedbackResolutionopen 
PlatformWindowsOSWindowsOS VersionXP Pro SP3
Product Version[OCCT] 6.5.2 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0022849: Bad import of a STEP file (error during triangulation).
DescriptionThe attached STEP file is not imported correctly. At least, 9 faces cannot be triangulated. I have compared the results with other software that show the mesh correctly.
Steps To ReproduceSimply try to open the STEP with the Import/Export sample. Navigate around the "3M" extruded text. The lateral faces of the number "3" are missing.
TagsNo tags attached.
Test case numberchl 934 V7
Attached Files? file icon 2520-6002_step.stp (840,020 bytes) 2011-12-15 21:25
jpg file icon shot1.jpg (53,874 bytes) 2011-12-15 21:29
? file icon V7 (894 bytes) 2012-03-15 17:34

- Relationships

-  Notes
(0018876)
abv (manager)
2011-12-16 08:14

Reproduced on last trunk, in DRAW:

Draw[5]> stepread D:/ABV/Work/OCC/occ22849/2520-6002_step.stp a *
...
Draw[6]> checksh a_1
This shape seems to be valid
Draw[7]> tole a_1
Tolerance MAX=0.025401524012559532 AVG=0.00034227306905487047 MIN=9.999999999999
9995e-008
FACE : MAX=9.9999999999999995e-008 AVG=9.9999999999999995e-008 MIN=9.99999999
99999995e-008
EDGE : MAX=0.025401524012559532 AVG=0.00014795105451371384 MIN=1.00005e-007
VERTEX : MAX=0.025401524012559532 AVG=0.00047448980445837901 MIN=1.000100002500
0001e-007
Draw[9]> incmesh a_1 0.1
Meshing statuses: OpenWire Failure
Draw[10]> tricheck a_1
face 66 has no triangulation
face 67 has no triangulation
face 68 has no triangulation
face 72 has no triangulation
face 73 has no triangulation
face 74 has no triangulation
face 89 has no triangulation
face 90 has no triangulation
face 91 has no triangulation
(0019094)
abv (manager)
2012-01-12 09:48

The same problem (no shading of some faces) is reproduced in previous releases of OCCT (checked: 6.3.0, 6.3.1, and 6.5.0)
(0019286)
ama (developer)
2012-01-27 16:38
edited on: 2012-02-28 15:02

SVN branch http://svn/svn/occt/branches/OCC22849 [^] (revision 10634) is ready to be reviewed.

Modified process of edges discretization (BRepMesh_FastDiscret::Add(edge)) in this way to avoid unclosed polygons and "OpenWire Failure". If adjucent edges are disconnected in 2d (while connected in 3d) the gap is closed by last point from previous edge.
But some faces is still has no triangulation (face 67, 73, 91). This is normal because in the original file (2520-6002_step.stp) these faces are determined by a planar surface and only two vertex that lead to an error during triangulation (Meshing statuses: Failure).
 
Also changed the conditions of bending pcurves in ShapeFix_Wire::FixLacking() - if two pcurves are parallel lines - bending is replaced by increase tolerance of vertex.

(0019931)
epa (developer)
2012-03-12 10:51

The fix looks like a workaround. Comparing of 2D points with Precision::PConfusion looks redundant, because nearest 2D points are merged in the 2D cell filter. Comparing of 3D points looks dangerous:
* why double tolerance is uses
* what behaviour will be if the tolerance of vertex is too big (more than face bounding box)
* this fix potensionnaly contradict to fix with checking direction of pcurves (not yet integrated)

Before testing this fix please update the values ​​of the field myFirstEdge in all places where the function "Add" is called from the Edge
(0019966)
ama (developer)
2012-03-14 14:51

SVN branch http://svn/svn/occt/branches/OCC22849 [^] (revision 10740) is ready to be reviewed.
(0019968)
epa (developer)
2012-03-14 15:39

Dear Bugmaster,
Please test the current fix
(0020021)
apn (administrator)
2012-03-16 16:01
edited on: 2012-03-16 16:01

Dear BugMaster,
    SVN branch http://svn/svn/occt/branches/OCC22849 [^] hes been moved to GIT CR22849 one.
    Workbench KAS:dev:apn-22849-occt was created from git branch CR22849
  (and apn-22849-products from svn trunk) and compiled on Linux platform.
  
    There are following regressions in apn-22849-products regarding to KAS:dev:products-20120306-opt:

bom 009 A3 B3 F3 G3
bom 010 P2 P3 Q2 Q3
bom 012 P2 P3 Q2
bom 013 G2 H2 H3 R2 R3 S2 S3
bom 014 A1 B4 C1 C2 C3 C4 D4 E4 G1 I1 N1 N3 N4 O1 O3 O4 P1 P3 P4 Q1 Q3 Q4 R1 R3 R4 T1 T3 T4 U1 U3 U4
bom 015 A4 B4 C4 D4 E2 E4 P2
bom 016 J2 J3 K2 K3 Q2 Q3
bom 017 A1 A3 A4 B2 B4 C4 D4 E1 E2 E3 E4 F1 F2 F4 G2 G3 G4 K1 K3 K4 L1 L3 L4 M1 M2 M3 M4 N1 N3 N4
bom 018 A3 B2 B3
bom 019 A2 A3 A4 D4 E1 E3 E4 F2 F4 G4 H4 I1 I2 I3 I4 J1 J2 J4
bom 020 A2 A4 B2 B4 M2
bom 102 C1 C2 E3 E4 F1 F2 P1 P2 P3 P4 P5 P6 Q1 Q2 T2
bom 801 A1 B1 B2 C1 C2 C3 D1 D2 D4 D6 D7 E2 F1 G1 G2 G3 G4 G5 G6
bom 802 A1 A3
bom 803 B1 C1 D1 D2
bom 814 A1 C1
bom 900 A1 C1 E1 G3 H1 J5 K3 L5 L8 M1 N2 O1 P3
bom 903 A2 E2 E4 E5 E6 E7 F1 F2 F3 F4 F5 F6 G1 G2 G3 G4 G5 G6 H2 H4 H5 H6 I3 I4 I5 I6 J1 J2 J3 J4 J5 J6 K1 K3 L3 M2
bom 904 B8 C6 D1 D4 D6 G4 G5 J2 J4 K7 L3 L4 L7 L8 M1 M2
bom 909 A7 E4 E6 E9

caf 003 D1 D2 D3 D4 E1 F1 F2 F3 F4 G1 H1 H2 I1 I2 J1 J2 K1 K2

chl 902 F1
chl 917 C9
chl 919 C1 C2 M6 W6
chl 922 G9 H1 T3 T4 T5 T6 T8 T9
chl 926 A1 C8 C9 D2
chl 928 O5
chl 929 E2
chl 934 C8 J6
chl 935 S8
chl 936 G9
chl 904 A4 B1 C3 C4
chl 914 E3
chl 917 D6
chl 918 A2 A3 A6 A7
chl 919 C7 Q1
chl 922 R8 R9 U1 U2 U3 U4 U5 U6 Y3 Y4
chl 926 C3 C5 D1 D7 D8
chl 929 ...
chl 934 ...
chl 936 ...

msh 001 D2 D7 F2 F6 F7 F8 L2 N7 O1 O3 O6 P2 P4 R6
..........

shd 001 A2 A4 A7 B2 B3 B5 B6 B7 B9 C1 C2 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D7 D8 D9 E1 E2 E3 E4 E5 E6 E7 E8 E9 ....
shd 002 ...
shd 003 A2 A5 B1 B3 B4 B6

vpr 002 A1 A2 A3 A4 A5 A6 A7 A8
vpr 005 A1 A2 A3 A4 A5 A6 A7 A8
vpr 007 A2 B2 B5 D8
vpr 008 A2 B2 B5 D8

    Test case for this fix is chl 934 V7. It's OK.

    See results in /QADisk/occttests/results/KAS/dev/apn-22849-products_15032012/lin
    See reference results in /QADisk/occttests/results/KAS/dev/products-20120306-opt_07032012/lin
    See test cases in /QADisk/occttests/tests/ED

(0023036)
AGPX (reporter)
2013-01-19 18:56

Reminder sent to: apn, epa

Hello, there's some prevision for when this fix will be released? Thank you.
(0023037)
AGPX (reporter)
2013-01-19 18:57

Reminder sent to: ama

Hello, there's some prevision on when this fix will be released? Thank you.
(0058771)
oan (developer)
2016-10-17 11:51

Issue has been moved to Data Exchange category due to problem during STEP translation described in: https://tracker.dev.opencascade.org/view.php?id=25415#c37394 [^]
(0059101)
gka (developer)
2016-10-25 16:21

For this case STEP file contains faces containing from two edges based on the lines. For example face with number 67 obtained from entity #5009
Shape a_1_1_67 : imported from entity 4973:#5009

Draw[29]> entity 4973 6
  -- DUMP Entity n0 4973 level 6
 --- (STEP) Entity 4973:#5009 Type cdl : StepShape_AdvancedFace
In dump, iii:#jjj means : entity rank iii has step ident #jjj
4963:#4999 = PLANE('',4962:#4998);
4972:#5008 = FACE_OUTER_BOUND('',4971:#5007,.T.);
4973:#5009 = ADVANCED_FACE('',(4972:#5008),4963:#4999,.F.);

Draw[30]> entity 4971 6
  -- DUMP Entity n0 4971 level 6
 --- (STEP) Entity 4971:#5007 Type cdl : StepShape_EdgeLoop
In dump, iii:#jjj means : entity rank iii has step ident #jjj
4969:#5005 = ORIENTED_EDGE('',*,*,4968:#5004,.F.);
4970:#5006 = ORIENTED_EDGE('',*,*,2690:#2726,.F.);
4971:#5007 = EDGE_LOOP('',(4969:#5005,4970:#5006));

Draw[31]> entity 4968 6
  -- DUMP Entity n0 4968 level 6
 --- (STEP) Entity 4968:#5004 Type cdl : StepShape_EdgeCurve
In dump, iii:#jjj means : entity rank iii has step ident #jjj
2459:#2495 = VERTEX_POINT('',2458:#2494);
2667:#2703 = VERTEX_POINT('',2666:#2702);
4967:#5003 = LINE('',4964:#5000,4966:#5002);
4968:#5004 = EDGE_CURVE('',2459:#2495,2667:#2703,4967:#5003,.T.);

Draw[32]> entity 2690 6
  -- DUMP Entity n0 2690 level 6
 --- (STEP) Entity 2690:#2726 Type cdl : StepShape_EdgeCurve
In dump, iii:#jjj means : entity rank iii has step ident #jjj
2459:#2495 = VERTEX_POINT('',2458:#2494);
2667:#2703 = VERTEX_POINT('',2666:#2702);
2689:#2725 = LINE('',2686:#2722,2688:#2724);
2690:#2726 = EDGE_CURVE('',2667:#2703,2459:#2495,2689:#2725,.T.);

After translation from STEP valid face consists of two edges with to vertices was created.
Gaps in the 2D and 3D space on the both ends of face was covered by tolerances of vertices.

Therefore translation from STEP in this case is valid. Obviously that this case is limitation of the BRepMesh_FastDiscret algorithm.

- Issue History
Date Modified Username Field Change
2011-12-15 21:25 AGPX New Issue
2011-12-15 21:25 AGPX Assigned To => gka
2011-12-15 21:25 AGPX File Added: 2520-6002_step.stp
2011-12-15 21:29 AGPX File Added: shot1.jpg
2011-12-16 08:14 abv Note Added: 0018876
2011-12-16 08:14 abv Assigned To gka => ama
2011-12-16 08:14 abv Status new => assigned
2012-01-12 09:48 abv Note Added: 0019094
2012-01-27 16:38 ama Note Added: 0019286
2012-01-27 16:40 ama Assigned To ama => pdn
2012-01-27 16:40 ama Status assigned => resolved
2012-02-07 12:03 ama Note Added: 0019429
2012-02-15 15:20 abv Assigned To pdn => ama
2012-02-15 15:20 abv Status resolved => assigned
2012-02-28 14:53 ama Note Deleted: 0019429
2012-02-28 15:02 ama Note Edited: 0019286 View Revisions
2012-02-28 15:58 ama Assigned To ama => pdn
2012-02-28 15:58 ama Status assigned => resolved
2012-03-11 10:43 abv Assigned To pdn => epa
2012-03-12 10:51 epa Note Added: 0019931
2012-03-12 10:51 epa Assigned To epa => ama
2012-03-12 10:51 epa Status resolved => assigned
2012-03-14 14:51 ama Note Added: 0019966
2012-03-14 14:51 ama Assigned To ama => epa
2012-03-14 14:51 ama Status assigned => resolved
2012-03-14 15:39 epa Note Added: 0019968
2012-03-14 15:39 epa Assigned To epa => bugmaster
2012-03-14 15:39 epa Status resolved => reviewed
2012-03-14 15:50 mkv Assigned To bugmaster => aan
2012-03-15 17:33 apn Test case number => chl 934 V7
2012-03-15 17:34 apn Assigned To aan => apn
2012-03-15 17:34 apn File Added: V7
2012-03-16 16:01 apn Note Added: 0020021
2012-03-16 16:01 apn Note Edited: 0020021 View Revisions
2012-03-16 16:02 apn Assigned To apn => ama
2012-03-16 16:02 apn Status reviewed => assigned
2012-11-09 10:10 abv Category OCCT:Data Exchange => OCCT:Mesh
2013-01-19 18:56 AGPX Note Added: 0023036
2013-01-19 18:57 AGPX Note Added: 0023037
2014-09-15 11:52 pdn Target Version => 7.1.0
2015-02-12 07:00 abv Relationship added related to 0025415
2015-05-13 09:56 oan Relationship added related to 0024265
2016-10-17 11:51 oan Note Added: 0058771
2016-10-17 11:51 oan Assigned To ama =>
2016-10-17 11:51 oan Category OCCT:Mesh => OCCT:Data Exchange
2016-10-17 11:51 oan Assigned To => gka
2016-10-25 16:21 gka Note Added: 0059101
2016-10-25 16:22 gka Assigned To gka => oan
2016-10-25 16:22 gka Status assigned => feedback
2016-10-25 16:22 gka Target Version 7.1.0 => 7.2.0
2017-07-27 09:24 abv Target Version 7.2.0 => 7.4.0*


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker