MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #22820 All Revisions ] Back to Issue ]
Summary 0022820: OCCT IGES writer loses plane information
Revision 2011-11-30 18:00 by abv
Description Post from the Forum - http://www.opencascade.org/org/forum/thread_22264/. [^]
1. "Hi all,

I have an iges file which represents a rectangular solid with 6 faces, when I view it in cadexchanger, it is as expected. When I read the IGES file programmatically in OpenCascade, I find 6 BSpline surfaces instead of planes, Was a little confused as to how I can proceed from here.. any pointers on the same? "
2. RLN:
" The IGES file has been produced by OCC.

So, the root-cause is in the fact that the OCC IGES exporter converts planes to B-Splines of degree 1. So you lose your plane information when writing to IGES.
Draw reproducer:

pload ALL
box b 1 1 1
dump b ;# all surfaces are planes
brepiges b
# choose 0 - end
listtypes ;# 6 B-Spline surfaces
igesbrep . bb *
dump bb ;# all surfaces are B-Splines

Hope this helps.
Roman
"
3. RLN => important note:
"Thank you for registering this report.
My thinking is that this behavior has been historically adopted due to IGES format limitation where the Plane entity (type 108) defines a plane without parameterization. With that storing pcurves will be impossible. However this should likely be fine given that pcurves are optional in OCC for planes and can be computed on the fly when reading back.
Another thought - when storing file using IGES 5.1+ (i.e. using solid/shell/face entities) - consider using Plane Surface Entity (type 190 form 1) depending on the write.surfaceconvert.mode parameter. This will be consistent with the choice made regarding revolved surfaces which are either stored as surface_of_revolution (type 120) or conical/cylindrical/etc types (192/194/...).

HTH.
Roman"
Revision 2011-11-30 13:01 by szy
Description Post from the Forum - http://www.opencascade.org/org/forum/thread_22264/. [^]
1. "Hi all,

I have an iges file which represents a rectangular solid with 6 faces, when I view it in cadexchanger, it is as expected. When I read the IGES file programmatically in OpenCascade, I find 6 BSpline surfaces instead of planes, Was a little confused as to how I can proceed from here.. any pointers on the same? "
2. RLN:
" The IGES file has been produced by OCC.

So, the root-cause is in the fact that the OCC IGES exporter converts planes to B-Splines of degree 1. So you lose your plane information when writing to IGES.
Draw reproducer:

pload ALL
box b 1 1 1
dump b #all surfaces are planes
brepiges b
# choose 0 - end
listtypes #6 B-Spline surfaces
igesbrep . bb *
dump bb #all surfaces are B-Splines

Hope this helps.
Roman
"
3. RLN => important note:
"Thank you for registering this report.
My thinking is that this behavior has been historically adopted due to IGES format limitation where the Plane entity (type 108) defines a plane without parameterization. With that storing pcurves will be impossible. However this should likely be fine given that pcurves are optional in OCC for planes and can be computed on the fly when reading back.
Another thought - when storing file using IGES 5.1+ (i.e. using solid/shell/face entities) - consider using Plane Surface Entity (type 190 form 1) depending on the write.surfaceconvert.mode parameter. This will be consistent with the choice made regarding revolved surfaces which are either stored as surface_of_revolution (type 120) or conical/cylindrical/etc types (192/194/...).

HTH.
Roman"
Revision 2011-11-30 12:12 by szy
Description Post from the Forum - http://www.opencascade.org/org/forum/thread_22264/. [^]
"Hi all,

I have an iges file which represents a rectangular solid with 6 faces, when I view it in cadexchanger, it is as expected. When I read the IGES file programmatically in OpenCascade, I find 6 BSpline surfaces instead of planes, Was a little confused as to how I can proceed from here.. any pointers on the same? "
RLN:
" The IGES file has been produced by OCC.

So, the root-cause is in the fact that the OCC IGES exporter converts planes to B-Splines of degree 1. So you lose your plane information when writing to IGES.
Draw reproducer:

pload ALL
box b 1 1 1
dump b #all surfaces are planes
brepiges b
# choose 0 - end
listtypes #6 B-Spline surfaces
igesbrep . bb *
dump bb #all surfaces are B-Splines

Hope this helps.
Roman
"


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker