DiscussionsIssue archiveOCCT:Data Exchange

Archived issue #0023018

Open CASCADE incorrectly writes/reads IGES Tabulated Cylinders (Type 122)

CommunityOCCT:Data Exchangeclosed4 public notes

Search issues

Description

Per the IGES specification 5.3, Tabulated Cylinder has u,v range [0,1]x[0,1].
OCC only transforms V-direction when writing and reading, while leaving U unchanged taking OCC basis curve definition when writing or IGES diretrix when reading.
With this bug, OCC is able to read its own written IGES files but produces wrong files which other systems may not read or may read correct IGES files with mistakes
(e.g. if using 2D curve representation is enforced via Interface_Static parameter read.surfacecurve.mode set to -2).

Root-cause analysis:
p-curves are not scaled in U-directions when reading or writing.
Currently infrastructure only assumes scaling in one direction (e.g. IGESToBRep_TopoSurface::myULength, IGESToBRep_TopoCurve::TransferCurveOnFace(), BRepToIGES_BRWire).
So the fix would employ redesign of that architecture to assume 2 direction scaling.


Reproducer:
- restore Attachment 1 (BREP) f
- brepiges f f-ext.igs
- entity 6 #which is a line in 2D space - end points (1.57,1,0) (1.57,1,0) - beyond [0,1]x[0,1] range

Steps to reproduce

See description

Public activity

4 archived notes

Participants are labeled by their role within this record.

01Commenter 1
This issue likely has common reason with #0022715
02Commenter 1
Dear MKV,
this problem was fixed with issue #0022715, which testing was OK.
Please test case from this issue in branch CR22715.
03Commenter 3
Dear Commenter 2,
this problem was fixed.
Testing cases:
bugs iges(003) bug23018 - OK
04Commenter 2
Problem was fixed with issue 0022715

Related records