Cannot Select Cylindrical Face with `MoveTo` in AIS_InteractiveContext

Hi everyone,

I am currently facing an issue when trying to pick a cylindrical face from a CAD model using OpenCascade.

I am using the following call:

m_aisContext->MoveTo(point.x, point.y, m_v3dView, false, true);

This leads into:

AIS_StatusOfDetection AIS_InteractiveContext::MoveTo(
    const Standard_Integer theXPix,
    const Standard_Integer theYPix,
    const Handle(V3d_View)& theView,
    const Standard_Boolean theToRedrawOnUpdate)
{
    return moveTo(theView, theToRedrawOnUpdate, pickCad);
}

Which then calls:

AIS_StatusOfDetection AIS_InteractiveContext::moveTo(
    const Handle(V3d_View)& theView,
    const Standard_Boolean theToRedrawOnUpdate,
    const Standard_Boolean pickCad)

The issue is that MainSelector()->NbPicked() always returns 0 when the mouse hovers over the cylindrical surface.

For reference:

Standard_Integer aDetectedNb = MainSelector()->NbPicked();

My context is initialized with:

Handle(AIS_InteractiveContext) m_aisContext;
m_aisContext->Activate(0);

I can select the top and bottom surface, however, the middle cylindrical face cannot be selected, as shown in the picture below.

With this setup, I am only able to detect the top and bottom planar faces of the cylinder, but not the cylindrical side surface itself.

So my questions are:

  1. Is this limitation caused by the CAD model itself (e.g., missing triangulation, broken topology, or an improper face definition)?
  2. If it is a model issue, what would be the recommended way to repair the CAD model so that the cylindrical face can be properly picked via MoveTo and exposed as a TopoDS_Shape?

Any insights or suggestions would be much appreciated!

Thanks in advance.

=== Below is the STEP file. Since attachments are not supported here, I pasted it in txt format. If it cannot be opened, please contact me and I will send it via email.

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Open CASCADE Model'),'2;1');
FILE_NAME('Open CASCADE Shape Model','2025-08-26T15:24:53',(
    'Analysis Situs'),('Analysis Situs'),
  'Open CASCADE STEP processor 7.6','Analysis Situs 2025.1','Unknown');
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
ENDSEC;
DATA;
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
  'automotive_design',2000,#2);
#2 = APPLICATION_CONTEXT(
  'core data for automotive mechanical design processes');
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
#5 = PRODUCT_DEFINITION('design','',#6,#9);
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
#7 = PRODUCT('Open CASCADE STEP translator 7.6 1',
  'Open CASCADE STEP translator 7.6 1','',(#8));
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
#10 = MANIFOLD_SURFACE_SHAPE_REPRESENTATION('',(#11,#15),#381);
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
#12 = CARTESIAN_POINT('',(0.,0.,0.));
#13 = DIRECTION('',(0.,0.,1.));
#14 = DIRECTION('',(1.,0.,-0.));
#15 = SHELL_BASED_SURFACE_MODEL('',(#16));
#16 = OPEN_SHELL('',(#17,#124,#354));
#17 = ADVANCED_FACE('',(#18,#89),#32,.F.);
#18 = FACE_BOUND('',#19,.T.);
#19 = EDGE_LOOP('',(#20,#43,#59,#75));
#20 = ORIENTED_EDGE('',*,*,#21,.F.);
#21 = EDGE_CURVE('',#22,#24,#26,.T.);
#22 = VERTEX_POINT('',#23);
#23 = CARTESIAN_POINT('',(-6.952293147308E-14,113.5,20.));
#24 = VERTEX_POINT('',#25);
#25 = CARTESIAN_POINT('',(30.,113.5,20.));
#26 = SURFACE_CURVE('',#27,(#31),.PCURVE_S1.);
#27 = LINE('',#28,#29);
#28 = CARTESIAN_POINT('',(15.,113.5,20.));
#29 = VECTOR('',#30,1.);
#30 = DIRECTION('',(1.,0.,0.));
#31 = PCURVE('',#32,#37);
#32 = PLANE('',#33);
#33 = AXIS2_PLACEMENT_3D('',#34,#35,#36);
#34 = CARTESIAN_POINT('',(-7.105427357601E-14,113.5,20.));
#35 = DIRECTION('',(0.,0.,-1.));
#36 = DIRECTION('',(1.,0.,0.));
#37 = DEFINITIONAL_REPRESENTATION('',(#38),#42);
#38 = LINE('',#39,#40);
#39 = CARTESIAN_POINT('',(15.,0.));
#40 = VECTOR('',#41,1.);
#41 = DIRECTION('',(1.,0.));
#42 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#43 = ORIENTED_EDGE('',*,*,#44,.F.);
#44 = EDGE_CURVE('',#45,#22,#47,.T.);
#45 = VERTEX_POINT('',#46);
#46 = CARTESIAN_POINT('',(-6.952293147308E-14,75.,20.));
#47 = SURFACE_CURVE('',#48,(#52),.PCURVE_S1.);
#48 = LINE('',#49,#50);
#49 = CARTESIAN_POINT('',(0.,113.5,20.));
#50 = VECTOR('',#51,1.);
#51 = DIRECTION('',(0.,1.,0.));
#52 = PCURVE('',#32,#53);
#53 = DEFINITIONAL_REPRESENTATION('',(#54),#58);
#54 = LINE('',#55,#56);
#55 = CARTESIAN_POINT('',(7.105427357601E-14,0.));
#56 = VECTOR('',#57,1.);
#57 = DIRECTION('',(0.,-1.));
#58 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#59 = ORIENTED_EDGE('',*,*,#60,.T.);
#60 = EDGE_CURVE('',#45,#61,#63,.T.);
#61 = VERTEX_POINT('',#62);
#62 = CARTESIAN_POINT('',(30.,75.,20.));
#63 = SURFACE_CURVE('',#64,(#68),.PCURVE_S1.);
#64 = LINE('',#65,#66);
#65 = CARTESIAN_POINT('',(30.,75.,20.));
#66 = VECTOR('',#67,1.);
#67 = DIRECTION('',(1.,0.,0.));
#68 = PCURVE('',#32,#69);
#69 = DEFINITIONAL_REPRESENTATION('',(#70),#74);
#70 = LINE('',#71,#72);
#71 = CARTESIAN_POINT('',(30.,38.5));
#72 = VECTOR('',#73,1.);
#73 = DIRECTION('',(1.,0.));
#74 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#75 = ORIENTED_EDGE('',*,*,#76,.F.);
#76 = EDGE_CURVE('',#24,#61,#77,.T.);
#77 = SURFACE_CURVE('',#78,(#82),.PCURVE_S1.);
#78 = LINE('',#79,#80);
#79 = CARTESIAN_POINT('',(30.,86.75,20.));
#80 = VECTOR('',#81,1.);
#81 = DIRECTION('',(3.320293157757E-16,-1.,0.));
#82 = PCURVE('',#32,#83);
#83 = DEFINITIONAL_REPRESENTATION('',(#84),#88);
#84 = LINE('',#85,#86);
#85 = CARTESIAN_POINT('',(30.,26.75));
#86 = VECTOR('',#87,1.);
#87 = DIRECTION('',(3.320293157757E-16,1.));
#88 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#89 = FACE_BOUND('',#90,.T.);
#90 = EDGE_LOOP('',(#91));
#91 = ORIENTED_EDGE('',*,*,#92,.F.);
#92 = EDGE_CURVE('',#93,#93,#95,.T.);
#93 = VERTEX_POINT('',#94);
#94 = CARTESIAN_POINT('',(7.,98.5,20.));
#95 = SURFACE_CURVE('',#96,(#101,#112),.PCURVE_S1.);
#96 = CIRCLE('',#97,8.);
#97 = AXIS2_PLACEMENT_3D('',#98,#99,#100);
#98 = CARTESIAN_POINT('',(15.,98.5,20.));
#99 = DIRECTION('',(0.,0.,1.));
#100 = DIRECTION('',(1.,0.,0.));
#101 = PCURVE('',#32,#102);
#102 = DEFINITIONAL_REPRESENTATION('',(#103),#111);
#103 = ( BOUNDED_CURVE() B_SPLINE_CURVE(2,(#104,#105,#106,#107,#108,#109
,#110),.UNSPECIFIED.,.T.,.F.) B_SPLINE_CURVE_WITH_KNOTS((1,2,2,2,2,1),(
    -2.094395102393,0.,2.094395102393,4.188790204786,6.28318530718,
8.377580409573),.UNSPECIFIED.) CURVE() GEOMETRIC_REPRESENTATION_ITEM() 
RATIONAL_B_SPLINE_CURVE((1.,0.5,1.,0.5,1.,0.5,1.)) REPRESENTATION_ITEM(
  '') );
#104 = CARTESIAN_POINT('',(23.,15.));
#105 = CARTESIAN_POINT('',(23.,1.143593539449));
#106 = CARTESIAN_POINT('',(11.,8.071796769724));
#107 = CARTESIAN_POINT('',(-1.,15.));
#108 = CARTESIAN_POINT('',(11.,21.928203230276));
#109 = CARTESIAN_POINT('',(23.,28.856406460551));
#110 = CARTESIAN_POINT('',(23.,15.));
#111 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#112 = PCURVE('',#113,#118);
#113 = CYLINDRICAL_SURFACE('',#114,8.);
#114 = AXIS2_PLACEMENT_3D('',#115,#116,#117);
#115 = CARTESIAN_POINT('',(15.,98.5,110.));
#116 = DIRECTION('',(0.,0.,-1.));
#117 = DIRECTION('',(1.,0.,0.));
#118 = DEFINITIONAL_REPRESENTATION('',(#119),#123);
#119 = LINE('',#120,#121);
#120 = CARTESIAN_POINT('',(6.28318530718,90.));
#121 = VECTOR('',#122,1.);
#122 = DIRECTION('',(-1.,0.));
#123 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#124 = ADVANCED_FACE('',(#125,#292,#318),#139,.F.);
#125 = FACE_BOUND('',#126,.T.);
#126 = EDGE_LOOP('',(#127,#150,#166,#182,#198,#214,#230,#246,#262,#278)
  );
#127 = ORIENTED_EDGE('',*,*,#128,.T.);
#128 = EDGE_CURVE('',#129,#131,#133,.T.);
#129 = VERTEX_POINT('',#130);
#130 = CARTESIAN_POINT('',(94.,60.,0.));
#131 = VERTEX_POINT('',#132);
#132 = CARTESIAN_POINT('',(94.,58.,0.));
#133 = SURFACE_CURVE('',#134,(#138),.PCURVE_S1.);
#134 = LINE('',#135,#136);
#135 = CARTESIAN_POINT('',(94.,57.375,0.));
#136 = VECTOR('',#137,1.);
#137 = DIRECTION('',(0.,-1.,0.));
#138 = PCURVE('',#139,#144);
#139 = PLANE('',#140);
#140 = AXIS2_PLACEMENT_3D('',#141,#142,#143);
#141 = CARTESIAN_POINT('',(80.,56.75,0.));
#142 = DIRECTION('',(0.,0.,1.));
#143 = DIRECTION('',(1.,0.,0.));
#144 = DEFINITIONAL_REPRESENTATION('',(#145),#149);
#145 = LINE('',#146,#147);
#146 = CARTESIAN_POINT('',(14.,0.625));
#147 = VECTOR('',#148,1.);
#148 = DIRECTION('',(0.,-1.));
#149 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#150 = ORIENTED_EDGE('',*,*,#151,.T.);
#151 = EDGE_CURVE('',#131,#152,#154,.T.);
#152 = VERTEX_POINT('',#153);
#153 = CARTESIAN_POINT('',(120.,58.,0.));
#154 = SURFACE_CURVE('',#155,(#159),.PCURVE_S1.);
#155 = LINE('',#156,#157);
#156 = CARTESIAN_POINT('',(100.,58.,0.));
#157 = VECTOR('',#158,1.);
#158 = DIRECTION('',(1.,0.,0.));
#159 = PCURVE('',#139,#160);
#160 = DEFINITIONAL_REPRESENTATION('',(#161),#165);
#161 = LINE('',#162,#163);
#162 = CARTESIAN_POINT('',(20.,1.25));
#163 = VECTOR('',#164,1.);
#164 = DIRECTION('',(1.,0.));
#165 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#166 = ORIENTED_EDGE('',*,*,#167,.T.);
#167 = EDGE_CURVE('',#152,#168,#170,.T.);
#168 = VERTEX_POINT('',#169);
#169 = CARTESIAN_POINT('',(120.,60.,0.));
#170 = SURFACE_CURVE('',#171,(#175),.PCURVE_S1.);
#171 = LINE('',#172,#173);
#172 = CARTESIAN_POINT('',(120.,58.375,0.));
#173 = VECTOR('',#174,1.);
#174 = DIRECTION('',(-8.881784197001E-15,1.,0.));
#175 = PCURVE('',#139,#176);
#176 = DEFINITIONAL_REPRESENTATION('',(#177),#181);
#177 = LINE('',#178,#179);
#178 = CARTESIAN_POINT('',(40.,1.625));
#179 = VECTOR('',#180,1.);
#180 = DIRECTION('',(-8.881784197001E-15,1.));
#181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#182 = ORIENTED_EDGE('',*,*,#183,.F.);
#183 = EDGE_CURVE('',#184,#168,#186,.T.);
#184 = VERTEX_POINT('',#185);
#185 = CARTESIAN_POINT('',(160.,60.,0.));
#186 = SURFACE_CURVE('',#187,(#191),.PCURVE_S1.);
#187 = LINE('',#188,#189);
#188 = CARTESIAN_POINT('',(160.,60.,0.));
#189 = VECTOR('',#190,1.);
#190 = DIRECTION('',(-1.,-2.732856676E-16,0.));
#191 = PCURVE('',#139,#192);
#192 = DEFINITIONAL_REPRESENTATION('',(#193),#197);
#193 = LINE('',#194,#195);
#194 = CARTESIAN_POINT('',(80.,3.25));
#195 = VECTOR('',#196,1.);
#196 = DIRECTION('',(-1.,-2.732856676E-16));
#197 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#198 = ORIENTED_EDGE('',*,*,#199,.F.);
#199 = EDGE_CURVE('',#200,#184,#202,.T.);
#200 = VERTEX_POINT('',#201);
#201 = CARTESIAN_POINT('',(160.,2.939152317954E-14,0.));
#202 = SURFACE_CURVE('',#203,(#207),.PCURVE_S1.);
#203 = LINE('',#204,#205);
#204 = CARTESIAN_POINT('',(160.,2.6645352591E-14,0.));
#205 = VECTOR('',#206,1.);
#206 = DIRECTION('',(-8.881784197001E-16,1.,0.));
#207 = PCURVE('',#139,#208);
#208 = DEFINITIONAL_REPRESENTATION('',(#209),#213);
#209 = LINE('',#210,#211);
#210 = CARTESIAN_POINT('',(80.,-56.75));
#211 = VECTOR('',#212,1.);
#212 = DIRECTION('',(-8.881784197001E-16,1.));
#213 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#214 = ORIENTED_EDGE('',*,*,#215,.F.);
#215 = EDGE_CURVE('',#216,#200,#218,.T.);
#216 = VERTEX_POINT('',#217);
#217 = CARTESIAN_POINT('',(0.,0.,0.));
#218 = SURFACE_CURVE('',#219,(#223),.PCURVE_S1.);
#219 = LINE('',#220,#221);
#220 = CARTESIAN_POINT('',(0.,0.,0.));
#221 = VECTOR('',#222,1.);
#222 = DIRECTION('',(1.,1.836970198721E-16,0.));
#223 = PCURVE('',#139,#224);
#224 = DEFINITIONAL_REPRESENTATION('',(#225),#229);
#225 = LINE('',#226,#227);
#226 = CARTESIAN_POINT('',(-80.,-56.75));
#227 = VECTOR('',#228,1.);
#228 = DIRECTION('',(1.,1.836970198721E-16));
#229 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#230 = ORIENTED_EDGE('',*,*,#231,.F.);
#231 = EDGE_CURVE('',#232,#216,#234,.T.);
#232 = VERTEX_POINT('',#233);
#233 = CARTESIAN_POINT('',(0.,113.5,0.));
#234 = SURFACE_CURVE('',#235,(#239),.PCURVE_S1.);
#235 = LINE('',#236,#237);
#236 = CARTESIAN_POINT('',(0.,113.5,0.));
#237 = VECTOR('',#238,1.);
#238 = DIRECTION('',(0.,-1.,0.));
#239 = PCURVE('',#139,#240);
#240 = DEFINITIONAL_REPRESENTATION('',(#241),#245);
#241 = LINE('',#242,#243);
#242 = CARTESIAN_POINT('',(-80.,56.75));
#243 = VECTOR('',#244,1.);
#244 = DIRECTION('',(0.,-1.));
#245 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#246 = ORIENTED_EDGE('',*,*,#247,.F.);
#247 = EDGE_CURVE('',#248,#232,#250,.T.);
#248 = VERTEX_POINT('',#249);
#249 = CARTESIAN_POINT('',(30.,113.5,0.));
#250 = SURFACE_CURVE('',#251,(#255),.PCURVE_S1.);
#251 = LINE('',#252,#253);
#252 = CARTESIAN_POINT('',(30.,113.5,0.));
#253 = VECTOR('',#254,1.);
#254 = DIRECTION('',(-1.,0.,0.));
#255 = PCURVE('',#139,#256);
#256 = DEFINITIONAL_REPRESENTATION('',(#257),#261);
#257 = LINE('',#258,#259);
#258 = CARTESIAN_POINT('',(-50.,56.75));
#259 = VECTOR('',#260,1.);
#260 = DIRECTION('',(-1.,0.));
#261 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#262 = ORIENTED_EDGE('',*,*,#263,.F.);
#263 = EDGE_CURVE('',#264,#248,#266,.T.);
#264 = VERTEX_POINT('',#265);
#265 = CARTESIAN_POINT('',(30.,60.,0.));
#266 = SURFACE_CURVE('',#267,(#271),.PCURVE_S1.);
#267 = LINE('',#268,#269);
#268 = CARTESIAN_POINT('',(30.,60.,0.));
#269 = VECTOR('',#270,1.);
#270 = DIRECTION('',(-3.320293157757E-16,1.,0.));
#271 = PCURVE('',#139,#272);
#272 = DEFINITIONAL_REPRESENTATION('',(#273),#277);
#273 = LINE('',#274,#275);
#274 = CARTESIAN_POINT('',(-50.,3.25));
#275 = VECTOR('',#276,1.);
#276 = DIRECTION('',(-3.320293157757E-16,1.));
#277 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#278 = ORIENTED_EDGE('',*,*,#279,.F.);
#279 = EDGE_CURVE('',#129,#264,#280,.T.);
#280 = SURFACE_CURVE('',#281,(#285),.PCURVE_S1.);
#281 = LINE('',#282,#283);
#282 = CARTESIAN_POINT('',(160.,60.,0.));
#283 = VECTOR('',#284,1.);
#284 = DIRECTION('',(-1.,-2.732856676E-16,0.));
#285 = PCURVE('',#139,#286);
#286 = DEFINITIONAL_REPRESENTATION('',(#287),#291);
#287 = LINE('',#288,#289);
#288 = CARTESIAN_POINT('',(80.,3.25));
#289 = VECTOR('',#290,1.);
#290 = DIRECTION('',(-1.,-2.732856676E-16));
#291 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#292 = FACE_BOUND('',#293,.T.);
#293 = EDGE_LOOP('',(#294));
#294 = ORIENTED_EDGE('',*,*,#295,.T.);
#295 = EDGE_CURVE('',#296,#296,#298,.T.);
#296 = VERTEX_POINT('',#297);
#297 = CARTESIAN_POINT('',(7.,98.5,0.));
#298 = SURFACE_CURVE('',#299,(#304,#311),.PCURVE_S1.);
#299 = CIRCLE('',#300,8.);
#300 = AXIS2_PLACEMENT_3D('',#301,#302,#303);
#301 = CARTESIAN_POINT('',(15.,98.5,0.));
#302 = DIRECTION('',(0.,0.,1.));
#303 = DIRECTION('',(1.,0.,0.));
#304 = PCURVE('',#139,#305);
#305 = DEFINITIONAL_REPRESENTATION('',(#306),#310);
#306 = CIRCLE('',#307,8.);
#307 = AXIS2_PLACEMENT_2D('',#308,#309);
#308 = CARTESIAN_POINT('',(-65.,41.75));
#309 = DIRECTION('',(1.,0.));
#310 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#311 = PCURVE('',#113,#312);
#312 = DEFINITIONAL_REPRESENTATION('',(#313),#317);
#313 = LINE('',#314,#315);
#314 = CARTESIAN_POINT('',(6.28318530718,110.));
#315 = VECTOR('',#316,1.);
#316 = DIRECTION('',(-1.,0.));
#317 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#318 = FACE_BOUND('',#319,.T.);
#319 = EDGE_LOOP('',(#320,#339));
#320 = ORIENTED_EDGE('',*,*,#321,.T.);
#321 = EDGE_CURVE('',#322,#324,#326,.T.);
#322 = VERTEX_POINT('',#323);
#323 = CARTESIAN_POINT('',(35.,30.,0.));
#324 = VERTEX_POINT('',#325);
#325 = CARTESIAN_POINT('',(87.,30.,0.));
#326 = SURFACE_CURVE('',#327,(#332),.PCURVE_S1.);
#327 = CIRCLE('',#328,26.);
#328 = AXIS2_PLACEMENT_3D('',#329,#330,#331);
#329 = CARTESIAN_POINT('',(61.,30.,0.));
#330 = DIRECTION('',(0.,0.,1.));
#331 = DIRECTION('',(-1.,0.,0.));
#332 = PCURVE('',#139,#333);
#333 = DEFINITIONAL_REPRESENTATION('',(#334),#338);
#334 = CIRCLE('',#335,26.);
#335 = AXIS2_PLACEMENT_2D('',#336,#337);
#336 = CARTESIAN_POINT('',(-19.,-26.75));
#337 = DIRECTION('',(-1.,0.));
#338 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#339 = ORIENTED_EDGE('',*,*,#340,.T.);
#340 = EDGE_CURVE('',#324,#322,#341,.T.);
#341 = SURFACE_CURVE('',#342,(#347),.PCURVE_S1.);
#342 = CIRCLE('',#343,26.);
#343 = AXIS2_PLACEMENT_3D('',#344,#345,#346);
#344 = CARTESIAN_POINT('',(61.,30.,0.));
#345 = DIRECTION('',(0.,0.,1.));
#346 = DIRECTION('',(-1.,0.,0.));
#347 = PCURVE('',#139,#348);
#348 = DEFINITIONAL_REPRESENTATION('',(#349),#353);
#349 = CIRCLE('',#350,26.);
#350 = AXIS2_PLACEMENT_2D('',#351,#352);
#351 = CARTESIAN_POINT('',(-19.,-26.75));
#352 = DIRECTION('',(-1.,0.));
#353 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#354 = ADVANCED_FACE('',(#355),#113,.F.);
#355 = FACE_BOUND('',#356,.F.);
#356 = EDGE_LOOP('',(#357,#378,#379,#380));
#357 = ORIENTED_EDGE('',*,*,#358,.T.);
#358 = EDGE_CURVE('',#93,#296,#359,.T.);
#359 = SEAM_CURVE('',#360,(#364,#371),.PCURVE_S1.);
#360 = LINE('',#361,#362);
#361 = CARTESIAN_POINT('',(7.,98.5,110.));
#362 = VECTOR('',#363,1.);
#363 = DIRECTION('',(0.,0.,-1.));
#364 = PCURVE('',#113,#365);
#365 = DEFINITIONAL_REPRESENTATION('',(#366),#370);
#366 = LINE('',#367,#368);
#367 = CARTESIAN_POINT('',(3.14159265359,0.));
#368 = VECTOR('',#369,1.);
#369 = DIRECTION('',(0.,1.));
#370 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#371 = PCURVE('',#113,#372);
#372 = DEFINITIONAL_REPRESENTATION('',(#373),#377);
#373 = LINE('',#374,#375);
#374 = CARTESIAN_POINT('',(-3.14159265359,0.));
#375 = VECTOR('',#376,1.);
#376 = DIRECTION('',(0.,1.));
#377 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) 
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
  ) );
#378 = ORIENTED_EDGE('',*,*,#295,.T.);
#379 = ORIENTED_EDGE('',*,*,#358,.F.);
#380 = ORIENTED_EDGE('',*,*,#92,.F.);
#381 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) 
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#385)) GLOBAL_UNIT_ASSIGNED_CONTEXT
((#382,#383,#384)) REPRESENTATION_CONTEXT('Context #1',
  '3D Context with UNIT and UNCERTAINTY') );
#382 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
#383 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
#384 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
#385 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#382,
  'distance_accuracy_value','confusion accuracy');
#386 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
ENDSEC;
END-ISO-10303-21;
gkv311 n's picture

I guess it is the same issue as in this topic.