0026715: Problems in reading STEP short names in complex entities
[occt.git] / src / RWStepAP214 / RWStepAP214_ReadWriteModule.cxx
1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14 // pdn 24.12.98 t3d_opt.stp: treatment of unsorted uncertainties
15 //:n5 abv 15 Feb 99: S4132 complex type bounded_curve + surface_curve -> surface_curve
16 // :j4 gka 15.03.99 S4134
17 // sln 03.10.2001. BUC61003. Correction of alphabetic order of complex entity's items 
18
19 #include <Dico_DictionaryOfInteger.hxx>
20 #include <Interface_Check.hxx>
21 #include <Interface_ParamType.hxx>
22 #include <Interface_ReaderLib.hxx>
23 #include <RWStepAP214_ReadWriteModule.hxx>
24 #include <Standard_Transient.hxx>
25 #include <Standard_Type.hxx>
26 #include <StepAP214_Protocol.hxx>
27 #include <StepData_StepReaderData.hxx>
28 #include <StepData_StepWriter.hxx>
29 #include <StepData_WriterLib.hxx>
30 #include <TCollection_AsciiString.hxx>
31
32 //#include <Interface_Macros.hxx>
33 #define DeclareAndCast(atype,result,start) \
34 Handle(atype) result = Handle(atype)::DownCast (start)
35
36 #include <StepBasic_Address.hxx>
37 #include <StepShape_AdvancedBrepShapeRepresentation.hxx>
38 #include <StepShape_AdvancedFace.hxx>
39 // Removed from Rev2 to Rev4 : <StepVisual_AnnotationCurveOccurrence.hxx>
40 // Removed from Rev2 to Rev4 : <StepVisual_AnnotationFillArea.hxx>
41 // Removed from Rev2 to Rev4 : <StepVisual_AnnotationFillAreaOccurrence.hxx>
42 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
43 #include <StepVisual_AnnotationOccurrence.hxx>
44 // Removed from Rev2 to Rev4 : <StepVisual_AnnotationSubfigureOccurrence.hxx>
45 // Removed from Rev2 to Rev4 : <StepVisual_AnnotationSymbol.hxx>
46 // Removed from Rev2 to Rev4 : <StepVisual_AnnotationSymbolOccurrence.hxx>
47 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
48 #include <StepVisual_AnnotationText.hxx>
49 #include <StepVisual_AnnotationTextOccurrence.hxx>
50
51 #include <StepBasic_ApplicationContext.hxx>
52 #include <StepBasic_ApplicationContextElement.hxx>
53 #include <StepBasic_ApplicationProtocolDefinition.hxx>
54 #include <StepBasic_Approval.hxx>
55 #include <StepBasic_ApprovalPersonOrganization.hxx>
56 #include <StepBasic_ApprovalRelationship.hxx>
57 #include <StepBasic_ApprovalRole.hxx>
58 #include <StepBasic_ApprovalStatus.hxx>
59 #include <StepBasic_AreaUnit.hxx>
60 #include <StepVisual_AreaInSet.hxx>
61 #include <StepBasic_VolumeUnit.hxx>
62 #include <StepAP214_AutoDesignActualDateAndTimeAssignment.hxx>
63 #include <StepAP214_AutoDesignActualDateAssignment.hxx>
64 #include <StepAP214_AutoDesignApprovalAssignment.hxx>
65 #include <StepAP214_AutoDesignDateAndPersonAssignment.hxx>
66 #include <StepAP214_AutoDesignGroupAssignment.hxx>
67 #include <StepAP214_AutoDesignNominalDateAndTimeAssignment.hxx>
68 #include <StepAP214_AutoDesignNominalDateAssignment.hxx>
69 #include <StepAP214_AutoDesignOrganizationAssignment.hxx>
70 #include <StepAP214_AutoDesignPersonAndOrganizationAssignment.hxx>
71 #include <StepAP214_AutoDesignPresentedItem.hxx>
72 #include <StepAP214_AutoDesignSecurityClassificationAssignment.hxx>
73 // Removed from Rev2 to Rev4 : <StepAP214_AutoDesignViewArea.hxx>
74 #include <StepGeom_Axis1Placement.hxx>
75 #include <StepGeom_Axis2Placement2d.hxx>
76 #include <StepGeom_Axis2Placement3d.hxx>
77 #include <StepGeom_BSplineCurve.hxx>
78 #include <StepGeom_BSplineCurveWithKnots.hxx>
79 #include <StepGeom_BSplineSurface.hxx>
80 #include <StepGeom_BSplineSurfaceWithKnots.hxx>
81 #include <StepVisual_BackgroundColour.hxx>
82 #include <StepGeom_BezierCurve.hxx>
83 #include <StepGeom_BezierSurface.hxx>
84 #include <StepShape_Block.hxx>
85 #include <StepShape_BooleanResult.hxx>
86 #include <StepGeom_BoundaryCurve.hxx>
87 #include <StepGeom_BoundedCurve.hxx>
88 #include <StepGeom_BoundedSurface.hxx>
89 #include <StepShape_BoxDomain.hxx>
90 #include <StepShape_BoxedHalfSpace.hxx>
91 #include <StepShape_BrepWithVoids.hxx>
92 #include <StepBasic_CalendarDate.hxx>
93 #include <StepVisual_CameraImage.hxx>
94 #include <StepVisual_CameraModel.hxx>
95 #include <StepVisual_CameraModelD2.hxx>
96 #include <StepVisual_CameraModelD3.hxx>
97 #include <StepVisual_CameraUsage.hxx>
98 #include <StepGeom_CartesianPoint.hxx>
99 #include <StepGeom_CartesianTransformationOperator.hxx>
100 #include <StepGeom_CartesianTransformationOperator3d.hxx>
101 #include <StepGeom_Circle.hxx>
102 #include <StepShape_ClosedShell.hxx>
103 #include <StepVisual_Colour.hxx>
104 #include <StepVisual_ColourRgb.hxx>
105 #include <StepVisual_ColourSpecification.hxx>
106 #include <StepGeom_CompositeCurve.hxx>
107 #include <StepGeom_CompositeCurveOnSurface.hxx>
108 #include <StepGeom_CompositeCurveSegment.hxx>
109 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
110 #include <StepVisual_CompositeText.hxx>
111 // Removed from Rev2 to Rev4 : <StepVisual_CompositeTextWithAssociatedCurves.hxx>
112 // Removed from Rev2 to Rev4 : <StepVisual_CompositeTextWithBlankingBox.hxx>
113 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
114 #include <StepVisual_CompositeTextWithExtent.hxx>
115
116 #include <StepGeom_Conic.hxx>
117 #include <StepGeom_ConicalSurface.hxx>
118 #include <StepShape_ConnectedFaceSet.hxx>
119 #include <StepVisual_ContextDependentInvisibility.hxx>
120 #include <StepVisual_ContextDependentOverRidingStyledItem.hxx>
121 #include <StepBasic_ConversionBasedUnit.hxx>
122 #include <StepBasic_CoordinatedUniversalTimeOffset.hxx>
123 // Removed from Rev2 to Rev4 : <StepShape_CsgRepresentation.hxx>
124 #include <StepShape_CsgShapeRepresentation.hxx>
125 #include <StepShape_CsgSolid.hxx>
126 #include <StepGeom_Curve.hxx>
127 #include <StepGeom_CurveBoundedSurface.hxx>
128 #include <StepGeom_CurveReplica.hxx>
129 #include <StepVisual_CurveStyle.hxx>
130 #include <StepVisual_CurveStyleFont.hxx>
131 #include <StepVisual_CurveStyleFontPattern.hxx>
132 #include <StepGeom_CylindricalSurface.hxx>
133 #include <StepBasic_Date.hxx>
134 #include <StepBasic_DateAndTime.hxx>
135 #include <StepBasic_DateRole.hxx>
136 #include <StepBasic_DateTimeRole.hxx>
137 // Removed from Rev2 to Rev4 : <StepVisual_DefinedSymbol.hxx>
138 #include <StepRepr_DefinitionalRepresentation.hxx>
139 #include <StepGeom_DegeneratePcurve.hxx>
140 #include <StepGeom_DegenerateToroidalSurface.hxx>
141 #include <StepRepr_DescriptiveRepresentationItem.hxx>
142 // Removed from Rev2 to Rev4 : <StepVisual_DimensionCurve.hxx>
143 // Removed from Rev2 to Rev4 : <StepVisual_DimensionCurveTerminator.hxx>
144 #include <StepBasic_DimensionalExponents.hxx>
145 #include <StepGeom_Direction.hxx>
146 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
147 #include <StepVisual_DraughtingAnnotationOccurrence.hxx>
148 // Removed from Rev2 to Rev4 : <StepVisual_DraughtingCallout.hxx>
149 #include <StepVisual_DraughtingPreDefinedColour.hxx>
150 #include <StepVisual_DraughtingPreDefinedCurveFont.hxx>
151 // Removed from Rev2 to Rev4 : <StepVisual_DraughtingSubfigureRepresentation.hxx>
152 // Removed from Rev2 to Rev4 : <StepVisual_DraughtingSymbolRepresentation.hxx>
153 // Removed from Rev2 to Rev4 : <StepVisual_DraughtingTextLiteralWithDelineation.hxx>
154 // Removed from Rev2 to Rev4 : <StepVisual_DrawingDefinition.hxx>
155 // Removed from Rev2 to Rev4 : <StepVisual_DrawingRevision.hxx>
156 #include <StepShape_Edge.hxx>
157 #include <StepShape_EdgeCurve.hxx>
158 #include <StepShape_EdgeLoop.hxx>
159 #include <StepGeom_ElementarySurface.hxx>
160 #include <StepGeom_Ellipse.hxx>
161 #include <StepGeom_EvaluatedDegeneratePcurve.hxx>
162 #include <StepBasic_ExternalSource.hxx>
163 #include <StepVisual_ExternallyDefinedCurveFont.hxx>
164 // Removed from Rev2 to Rev4 : <StepVisual_ExternallyDefinedHatchStyle.hxx>
165 #include <StepBasic_ExternallyDefinedItem.hxx>
166 // Removed from Rev2 to Rev4 : <StepVisual_ExternallyDefinedSymbol.hxx>
167 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
168 #include <StepVisual_ExternallyDefinedTextFont.hxx>
169 // Removed from Rev2 to Rev4 : <StepVisual_ExternallyDefinedTileStyle.hxx>
170 #include <StepShape_ExtrudedAreaSolid.hxx>
171 #include <StepShape_Face.hxx>
172 // Removed from Rev2 to Rev4 : <StepShape_FaceBasedSurfaceModel.hxx>
173 #include <StepShape_FaceBound.hxx>
174 #include <StepShape_FaceOuterBound.hxx>
175 #include <StepShape_FaceSurface.hxx>
176 #include <StepShape_FacetedBrep.hxx>
177 #include <StepShape_FacetedBrepShapeRepresentation.hxx>
178 #include <StepVisual_FillAreaStyle.hxx>
179 #include <StepVisual_FillAreaStyleColour.hxx>
180 // Removed from Rev2 to Rev4 : <StepVisual_FillAreaStyleHatching.hxx>
181 // Removed from Rev2 to Rev4 : <StepVisual_FillAreaStyleTileSymbolWithStyle.hxx>
182 // Removed from Rev2 to Rev4 : <StepVisual_FillAreaStyleTiles.hxx>
183 #include <StepRepr_FunctionallyDefinedTransformation.hxx>
184 #include <StepShape_GeometricCurveSet.hxx>
185 #include <StepGeom_GeometricRepresentationContext.hxx>
186 #include <StepGeom_GeometricRepresentationItem.hxx>
187 #include <StepShape_GeometricSet.hxx>
188 #include <StepShape_GeometricallyBoundedSurfaceShapeRepresentation.hxx>
189 #include <StepShape_GeometricallyBoundedWireframeShapeRepresentation.hxx>
190 #include <StepRepr_GlobalUncertaintyAssignedContext.hxx>
191 #include <StepRepr_GlobalUnitAssignedContext.hxx>
192 #include <StepBasic_Group.hxx>
193 #include <StepBasic_GroupRelationship.hxx>
194 #include <StepShape_HalfSpaceSolid.hxx>
195 #include <StepGeom_Hyperbola.hxx>
196 #include <StepGeom_IntersectionCurve.hxx>
197 #include <StepVisual_Invisibility.hxx>
198 #include <StepBasic_LengthMeasureWithUnit.hxx>
199 #include <StepBasic_LengthUnit.hxx>
200 #include <StepGeom_Line.hxx>
201 #include <StepBasic_LocalTime.hxx>
202 #include <StepShape_Loop.hxx>
203 #include <StepShape_ManifoldSolidBrep.hxx>
204 #include <StepShape_ManifoldSurfaceShapeRepresentation.hxx>
205 #include <StepRepr_MappedItem.hxx>
206 #include <StepBasic_MeasureWithUnit.hxx>
207 #include <StepVisual_MechanicalDesignGeometricPresentationArea.hxx>
208 #include <StepVisual_MechanicalDesignGeometricPresentationRepresentation.hxx>
209 // Removed from Rev2 to Rev4 : <StepVisual_MechanicalDesignPresentationArea.hxx>
210 #include <StepBasic_NamedUnit.hxx>
211 #include <StepGeom_OffsetCurve3d.hxx>
212 #include <StepGeom_OffsetSurface.hxx>
213 // Removed from Rev2 to Rev4 : <StepAP214_OneDirectionRepeatFactor.hxx>
214 #include <StepShape_OpenShell.hxx>
215 #include <StepBasic_OrdinalDate.hxx>
216 #include <StepBasic_Organization.hxx>
217 #include <StepBasic_OrganizationRole.hxx>
218 #include <StepBasic_OrganizationalAddress.hxx>
219 #include <StepShape_OrientedClosedShell.hxx>
220 #include <StepShape_OrientedEdge.hxx>
221 #include <StepShape_OrientedFace.hxx>
222 #include <StepShape_OrientedOpenShell.hxx>
223 #include <StepShape_OrientedPath.hxx>
224 #include <StepGeom_OuterBoundaryCurve.hxx>
225 #include <StepVisual_OverRidingStyledItem.hxx>
226 #include <StepGeom_Parabola.hxx>
227 #include <StepRepr_ParametricRepresentationContext.hxx>
228 #include <StepShape_Path.hxx>
229 #include <StepGeom_Pcurve.hxx>
230 #include <StepBasic_Person.hxx>
231 #include <StepBasic_PersonAndOrganization.hxx>
232 #include <StepBasic_PersonAndOrganizationRole.hxx>
233 #include <StepBasic_PersonalAddress.hxx>
234 #include <StepGeom_Placement.hxx>
235 #include <StepVisual_PlanarBox.hxx>
236 #include <StepVisual_PlanarExtent.hxx>
237 #include <StepGeom_Plane.hxx>
238 #include <StepBasic_PlaneAngleMeasureWithUnit.hxx>
239 #include <StepBasic_PlaneAngleUnit.hxx>
240 #include <StepGeom_Point.hxx>
241 #include <StepGeom_PointOnCurve.hxx>
242 #include <StepGeom_PointOnSurface.hxx>
243 #include <StepGeom_PointReplica.hxx>
244 #include <StepVisual_PointStyle.hxx>
245 #include <StepShape_PolyLoop.hxx>
246 #include <StepGeom_Polyline.hxx>
247 #include <StepVisual_PreDefinedColour.hxx>
248 #include <StepVisual_PreDefinedCurveFont.hxx>
249 #include <StepVisual_PreDefinedItem.hxx>
250 // Removed from Rev2 to Rev4 : <StepVisual_PreDefinedSymbol.hxx>
251 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
252 #include <StepVisual_PreDefinedTextFont.hxx>
253
254 #include <StepVisual_PresentationArea.hxx>
255 #include <StepVisual_PresentationLayerAssignment.hxx>
256 #include <StepVisual_PresentationRepresentation.hxx>
257 #include <StepVisual_PresentationSet.hxx>
258 #include <StepVisual_PresentationSize.hxx>
259 #include <StepVisual_PresentationStyleAssignment.hxx>
260 #include <StepVisual_PresentationStyleByContext.hxx>
261 #include <StepVisual_PresentationView.hxx>
262 #include <StepBasic_Product.hxx>
263 #include <StepBasic_ProductCategory.hxx>
264 #include <StepBasic_ProductContext.hxx>
265 // Removed from Rev2 to Rev4 : <StepVisual_ProductDataRepresentationView.hxx>
266 #include <StepBasic_ProductDefinition.hxx>
267 #include <StepBasic_ProductDefinitionContext.hxx>
268 #include <StepBasic_ProductDefinitionFormation.hxx>
269 #include <StepBasic_ProductDefinitionFormationWithSpecifiedSource.hxx>
270 #include <StepRepr_ProductDefinitionShape.hxx>
271 #include <StepBasic_ProductRelatedProductCategory.hxx>
272 #include <StepBasic_ProductType.hxx>
273 #include <StepRepr_PropertyDefinition.hxx>
274 #include <StepRepr_PropertyDefinitionRepresentation.hxx>
275 #include <StepGeom_QuasiUniformCurve.hxx>
276 #include <StepGeom_QuasiUniformSurface.hxx>
277 #include <StepBasic_RatioMeasureWithUnit.hxx>
278 #include <StepGeom_RationalBSplineCurve.hxx>
279 #include <StepGeom_RationalBSplineSurface.hxx>
280 #include <StepGeom_RectangularCompositeSurface.hxx>
281 #include <StepGeom_RectangularTrimmedSurface.hxx>
282 #include <StepAP214_RepItemGroup.hxx>
283 #include <StepGeom_ReparametrisedCompositeCurveSegment.hxx>
284 #include <StepRepr_Representation.hxx>
285 #include <StepRepr_RepresentationContext.hxx>
286 #include <StepRepr_RepresentationItem.hxx>
287 #include <StepRepr_RepresentationMap.hxx>
288 #include <StepRepr_RepresentationRelationship.hxx>
289 #include <StepShape_RevolvedAreaSolid.hxx>
290 #include <StepShape_RightAngularWedge.hxx>
291 #include <StepShape_RightCircularCone.hxx>
292 #include <StepShape_RightCircularCylinder.hxx>
293 #include <StepGeom_SeamCurve.hxx>
294 #include <StepBasic_SecurityClassification.hxx>
295 #include <StepBasic_SecurityClassificationLevel.hxx>
296 #include <StepRepr_ShapeAspect.hxx>
297 #include <StepRepr_ShapeAspectRelationship.hxx>
298 #include <StepRepr_ShapeAspectTransition.hxx>
299 #include <StepShape_ShapeDefinitionRepresentation.hxx>
300 #include <StepShape_ShapeRepresentation.hxx>
301 #include <StepShape_ShellBasedSurfaceModel.hxx>
302 #include <StepBasic_SiUnit.hxx>
303 #include <StepBasic_SolidAngleMeasureWithUnit.hxx>
304 #include <StepShape_SolidModel.hxx>
305 #include <StepShape_SolidReplica.hxx>
306 #include <StepShape_Sphere.hxx>
307 #include <StepGeom_SphericalSurface.hxx>
308 #include <StepVisual_StyledItem.hxx>
309 #include <StepGeom_Surface.hxx>
310 #include <StepGeom_SurfaceCurve.hxx>
311 #include <StepGeom_SurfaceOfLinearExtrusion.hxx>
312 #include <StepGeom_SurfaceOfRevolution.hxx>
313 #include <StepGeom_SurfaceCurveAndBoundedCurve.hxx>
314 #include <StepGeom_SurfacePatch.hxx>
315 #include <StepGeom_SurfaceReplica.hxx>
316 #include <StepVisual_SurfaceSideStyle.hxx>
317 #include <StepVisual_SurfaceStyleBoundary.hxx>
318 #include <StepVisual_SurfaceStyleControlGrid.hxx>
319 #include <StepVisual_SurfaceStyleFillArea.hxx>
320 #include <StepVisual_SurfaceStyleParameterLine.hxx>
321 #include <StepVisual_SurfaceStyleSegmentationCurve.hxx>
322 #include <StepVisual_SurfaceStyleSilhouette.hxx>
323 #include <StepVisual_SurfaceStyleUsage.hxx>
324 #include <StepShape_SweptAreaSolid.hxx>
325 #include <StepGeom_SweptSurface.hxx>
326 // Removed from Rev2 to Rev4 : <StepVisual_SymbolColour.hxx>
327 // Removed from Rev2 to Rev4 : <StepVisual_SymbolRepresentation.hxx>
328 // Removed from Rev2 to Rev4 : <StepVisual_SymbolRepresentationMap.hxx>
329 // Removed from Rev2 to Rev4 : <StepVisual_SymbolStyle.hxx>
330 // Removed from Rev2 to Rev4 : <StepVisual_SymbolTarget.hxx>
331 #include <StepVisual_Template.hxx>
332 #include <StepVisual_TemplateInstance.hxx>
333 // Removed from Rev2 to Rev4 : <StepVisual_TerminatorSymbol.hxx>
334 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
335 #include <StepVisual_TextLiteral.hxx>
336 // Removed from Rev2 to Rev4 : <StepVisual_TextLiteralWithAssociatedCurves.hxx>
337 // Removed from Rev2 to Rev4 : <StepVisual_TextLiteralWithBlankingBox.hxx>
338 // Removed from Rev2 to Rev4 : <StepVisual_TextLiteralWithDelineation.hxx>
339 // Removed from Rev2 to Rev4 : <StepVisual_TextLiteralWithExtent.hxx>
340 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
341 #include <StepVisual_TextStyle.hxx>
342 #include <StepVisual_TextStyleForDefinedFont.hxx>
343 #include <StepVisual_TextStyleWithBoxCharacteristics.hxx>
344 // Removed from Rev2 to Rev4 : <StepVisual_TextStyleWithMirror.hxx>
345 #include <StepShape_TopologicalRepresentationItem.hxx>
346 #include <StepGeom_ToroidalSurface.hxx>
347 #include <StepShape_Torus.hxx>
348 #include <StepShape_TransitionalShapeRepresentation.hxx>
349 #include <StepGeom_TrimmedCurve.hxx>
350 // Removed from Rev2 to Rev4 : <StepAP214_TwoDirectionRepeatFactor.hxx>
351 #include <StepBasic_UncertaintyMeasureWithUnit.hxx>
352 #include <StepGeom_UniformCurve.hxx>
353 #include <StepGeom_UniformSurface.hxx>
354 #include <StepGeom_Vector.hxx>
355 #include <StepShape_Vertex.hxx>
356 #include <StepShape_VertexLoop.hxx>
357 #include <StepShape_VertexPoint.hxx>
358 #include <StepVisual_ViewVolume.hxx>
359 #include <StepBasic_WeekOfYearAndDayDate.hxx>
360 #include <StepGeom_UniformCurveAndRationalBSplineCurve.hxx>
361 #include <StepGeom_BSplineCurveWithKnotsAndRationalBSplineCurve.hxx>
362 #include <StepGeom_QuasiUniformCurveAndRationalBSplineCurve.hxx>
363 #include <StepGeom_BezierCurveAndRationalBSplineCurve.hxx>
364 #include <StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface.hxx>
365 #include <StepGeom_UniformSurfaceAndRationalBSplineSurface.hxx>
366 #include <StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface.hxx>
367 #include <StepGeom_BezierSurfaceAndRationalBSplineSurface.hxx>
368 #include <StepBasic_SiUnitAndLengthUnit.hxx>
369 #include <StepBasic_SiUnitAndPlaneAngleUnit.hxx>
370 #include <StepBasic_ConversionBasedUnitAndLengthUnit.hxx>
371 #include <StepBasic_ConversionBasedUnitAndPlaneAngleUnit.hxx>
372 #include <StepGeom_GeometricRepresentationContextAndGlobalUnitAssignedContext.hxx>
373 #include <StepShape_LoopAndPath.hxx>
374
375 // Added by FMA
376 #include <StepGeom_GeomRepContextAndGlobUnitAssCtxAndGlobUncertaintyAssCtx.hxx>
377 #include <StepGeom_GeometricRepresentationContextAndParametricRepresentationContext.hxx>
378 #include <StepBasic_ConversionBasedUnitAndSolidAngleUnit.hxx>
379 #include <StepBasic_SiUnitAndSolidAngleUnit.hxx>
380 #include <StepBasic_SolidAngleUnit.hxx>
381 #include <StepShape_FacetedBrepAndBrepWithVoids.hxx>
382 #include <StepBasic_MechanicalContext.hxx>
383
384 // full Rev4
385 #include <StepBasic_TimeMeasureWithUnit.hxx>
386 #include <StepBasic_RatioUnit.hxx>
387 #include <StepBasic_TimeUnit.hxx>
388 #include <StepBasic_SiUnitAndRatioUnit.hxx>
389 #include <StepBasic_SiUnitAndTimeUnit.hxx>
390 #include <StepBasic_ConversionBasedUnitAndRatioUnit.hxx>
391 #include <StepBasic_ConversionBasedUnitAndTimeUnit.hxx>
392 #include <StepBasic_ApprovalDateTime.hxx>
393 #include <StepVisual_CameraImage2dWithScale.hxx>
394 #include <StepVisual_CameraImage3dWithScale.hxx>
395 #include <StepGeom_CartesianTransformationOperator2d.hxx>
396 #include <StepBasic_DerivedUnit.hxx>
397 #include <StepBasic_DerivedUnitElement.hxx>
398 #include <StepRepr_ItemDefinedTransformation.hxx>
399 #include <StepVisual_PresentedItemRepresentation.hxx>
400 #include <StepVisual_PresentationLayerUsage.hxx>
401
402
403 //  Added by CKY (JUL-1998) for AP214 CC1 -> CC2
404
405 #include <StepAP214_AutoDesignDocumentReference.hxx>
406 #include <StepBasic_Document.hxx>
407 #include <StepBasic_DigitalDocument.hxx>
408 #include <StepBasic_DocumentRelationship.hxx>
409 #include <StepBasic_DocumentType.hxx>
410 #include <StepBasic_DocumentUsageConstraint.hxx>
411 #include <StepBasic_Effectivity.hxx>
412 #include <StepBasic_ProductDefinitionEffectivity.hxx>
413 #include <StepBasic_ProductDefinitionRelationship.hxx>
414
415 #include <StepBasic_ProductDefinitionWithAssociatedDocuments.hxx>
416 #include <StepBasic_PhysicallyModeledProductDefinition.hxx>
417
418
419 #include <StepRepr_ProductDefinitionUsage.hxx>
420 #include <StepRepr_MakeFromUsageOption.hxx>
421 #include <StepRepr_AssemblyComponentUsage.hxx>
422 #include <StepRepr_NextAssemblyUsageOccurrence.hxx>
423 #include <StepRepr_PromissoryUsageOccurrence.hxx>
424 #include <StepRepr_QuantifiedAssemblyComponentUsage.hxx>
425 #include <StepRepr_SpecifiedHigherUsageOccurrence.hxx>
426 #include <StepRepr_AssemblyComponentUsageSubstitute.hxx>
427 #include <StepRepr_SuppliedPartRelationship.hxx>
428 #include <StepRepr_ExternallyDefinedRepresentation.hxx>
429 #include <StepRepr_ShapeRepresentationRelationship.hxx>
430 #include <StepRepr_RepresentationRelationshipWithTransformation.hxx>
431 #include <StepRepr_ShapeRepresentationRelationshipWithTransformation.hxx>
432 #include <StepRepr_MaterialDesignation.hxx>
433
434 #include <StepShape_ContextDependentShapeRepresentation.hxx>
435
436
437 #include <RWStepBasic_RWAddress.hxx>
438 #include <RWStepShape_RWAdvancedBrepShapeRepresentation.hxx>
439 #include <RWStepShape_RWAdvancedFace.hxx>
440 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationCurveOccurrence.hxx>
441 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationFillArea.hxx>
442 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationFillAreaOccurrence.hxx>
443 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationOccurrence.hxx>
444 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationSubfigureOccurrence.hxx>
445 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationSymbol.hxx>
446 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationSymbolOccurrence.hxx>
447 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationText.hxx>
448 // Removed from Rev2 to Rev4 : <RWStepVisual_RWAnnotationTextOccurrence.hxx>
449 #include <RWStepBasic_RWApplicationContext.hxx>
450 #include <RWStepBasic_RWApplicationContextElement.hxx>
451 #include <RWStepBasic_RWApplicationProtocolDefinition.hxx>
452 #include <RWStepBasic_RWApproval.hxx>
453 #include <RWStepBasic_RWApprovalPersonOrganization.hxx>
454 #include <RWStepBasic_RWApprovalRelationship.hxx>
455 #include <RWStepBasic_RWApprovalRole.hxx>
456 #include <RWStepBasic_RWApprovalStatus.hxx>
457 #include <RWStepVisual_RWAreaInSet.hxx>
458 #include <RWStepAP214_RWAutoDesignActualDateAndTimeAssignment.hxx>
459 #include <RWStepAP214_RWAutoDesignActualDateAssignment.hxx>
460 #include <RWStepAP214_RWAutoDesignApprovalAssignment.hxx>
461 #include <RWStepAP214_RWAutoDesignDateAndPersonAssignment.hxx>
462 #include <RWStepAP214_RWAutoDesignGroupAssignment.hxx>
463 #include <RWStepAP214_RWAutoDesignNominalDateAndTimeAssignment.hxx>
464 #include <RWStepAP214_RWAutoDesignNominalDateAssignment.hxx>
465 #include <RWStepAP214_RWAutoDesignOrganizationAssignment.hxx>
466 #include <RWStepAP214_RWAutoDesignPersonAndOrganizationAssignment.hxx>
467 #include <RWStepAP214_RWAutoDesignPresentedItem.hxx>
468 #include <RWStepAP214_RWAutoDesignSecurityClassificationAssignment.hxx>
469 // Removed from Rev2 to Rev4 : <RWStepAP214_RWAutoDesignViewArea.hxx>
470 #include <RWStepGeom_RWAxis1Placement.hxx>
471 #include <RWStepGeom_RWAxis2Placement2d.hxx>
472 #include <RWStepGeom_RWAxis2Placement3d.hxx>
473 #include <RWStepGeom_RWBSplineCurve.hxx>
474 #include <RWStepGeom_RWBSplineCurveWithKnots.hxx>
475 #include <RWStepGeom_RWBSplineSurface.hxx>
476 #include <RWStepGeom_RWBSplineSurfaceWithKnots.hxx>
477 #include <RWStepVisual_RWBackgroundColour.hxx>
478 #include <RWStepGeom_RWBezierCurve.hxx>
479 #include <RWStepGeom_RWBezierSurface.hxx>
480 #include <RWStepShape_RWBlock.hxx>
481 #include <RWStepShape_RWBooleanResult.hxx>
482 #include <RWStepGeom_RWBoundaryCurve.hxx>
483 #include <RWStepGeom_RWBoundedCurve.hxx>
484 #include <RWStepGeom_RWBoundedSurface.hxx>
485 #include <RWStepShape_RWBoxDomain.hxx>
486 #include <RWStepShape_RWBoxedHalfSpace.hxx>
487 #include <RWStepShape_RWBrepWithVoids.hxx>
488 #include <RWStepBasic_RWCalendarDate.hxx>
489 #include <RWStepVisual_RWCameraImage.hxx>
490 #include <RWStepVisual_RWCameraModel.hxx>
491 #include <RWStepVisual_RWCameraModelD2.hxx>
492 #include <RWStepVisual_RWCameraModelD3.hxx>
493 #include <RWStepVisual_RWCameraUsage.hxx>
494 #include <RWStepGeom_RWCartesianPoint.hxx>
495 #include <RWStepGeom_RWCartesianTransformationOperator.hxx>
496 #include <RWStepGeom_RWCartesianTransformationOperator3d.hxx>
497 #include <RWStepGeom_RWCircle.hxx>
498 #include <RWStepShape_RWClosedShell.hxx>
499 #include <RWStepVisual_RWColour.hxx>
500 #include <RWStepVisual_RWColourRgb.hxx>
501 #include <RWStepVisual_RWColourSpecification.hxx>
502 #include <RWStepGeom_RWCompositeCurve.hxx>
503 #include <RWStepGeom_RWCompositeCurveOnSurface.hxx>
504 #include <RWStepGeom_RWCompositeCurveSegment.hxx>
505 #include <RWStepVisual_RWCompositeText.hxx>
506 // Removed from Rev2 to Rev4 : <RWStepVisual_RWCompositeTextWithAssociatedCurves.hxx>
507 // Removed from Rev2 to Rev4 : <RWStepVisual_RWCompositeTextWithBlankingBox.hxx>
508 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
509 #include <RWStepVisual_RWCompositeTextWithExtent.hxx>
510
511 #include <RWStepGeom_RWConic.hxx>
512 #include <RWStepGeom_RWConicalSurface.hxx>
513 #include <RWStepShape_RWConnectedFaceSet.hxx>
514 #include <RWStepVisual_RWContextDependentInvisibility.hxx>
515 #include <RWStepVisual_RWContextDependentOverRidingStyledItem.hxx>
516 #include <RWStepBasic_RWConversionBasedUnit.hxx>
517 #include <RWStepBasic_RWCoordinatedUniversalTimeOffset.hxx>
518 // Removed from Rev2 to Rev4 : <RWStepShape_RWCsgRepresentation.hxx>
519 #include <RWStepShape_RWCsgShapeRepresentation.hxx>
520 #include <RWStepShape_RWCsgSolid.hxx>
521 #include <RWStepGeom_RWCurve.hxx>
522 #include <RWStepGeom_RWCurveBoundedSurface.hxx>
523 #include <RWStepGeom_RWCurveReplica.hxx>
524 #include <RWStepVisual_RWCurveStyle.hxx>
525 #include <RWStepVisual_RWCurveStyleFont.hxx>
526 #include <RWStepVisual_RWCurveStyleFontPattern.hxx>
527 #include <RWStepGeom_RWCylindricalSurface.hxx>
528 #include <RWStepBasic_RWDate.hxx>
529 #include <RWStepBasic_RWDateAndTime.hxx>
530 #include <RWStepBasic_RWDateRole.hxx>
531 #include <RWStepBasic_RWDateTimeRole.hxx>
532 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDefinedSymbol.hxx>
533 #include <RWStepRepr_RWDefinitionalRepresentation.hxx>
534 #include <RWStepGeom_RWDegeneratePcurve.hxx>
535 #include <RWStepGeom_RWDegenerateToroidalSurface.hxx>
536 #include <RWStepRepr_RWDescriptiveRepresentationItem.hxx>
537 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDimensionCurve.hxx>
538 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDimensionCurveTerminator.hxx>
539 #include <RWStepBasic_RWDimensionalExponents.hxx>
540 #include <RWStepGeom_RWDirection.hxx>
541 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDraughtingAnnotationOccurrence.hxx>
542 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDraughtingCallout.hxx>
543 #include <RWStepVisual_RWDraughtingPreDefinedColour.hxx>
544 #include <RWStepVisual_RWDraughtingPreDefinedCurveFont.hxx>
545 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDraughtingSubfigureRepresentation.hxx>
546 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDraughtingSymbolRepresentation.hxx>
547 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDraughtingTextLiteralWithDelineation.hxx>
548 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDrawingDefinition.hxx>
549 // Removed from Rev2 to Rev4 : <RWStepVisual_RWDrawingRevision.hxx>
550 #include <RWStepShape_RWEdge.hxx>
551 #include <RWStepShape_RWEdgeCurve.hxx>
552 #include <RWStepShape_RWEdgeLoop.hxx>
553 #include <RWStepGeom_RWElementarySurface.hxx>
554 #include <RWStepGeom_RWEllipse.hxx>
555 #include <RWStepGeom_RWEvaluatedDegeneratePcurve.hxx>
556 #include <RWStepBasic_RWExternalSource.hxx>
557 #include <RWStepVisual_RWExternallyDefinedCurveFont.hxx>
558 // Removed from Rev2 to Rev4 : <RWStepVisual_RWExternallyDefinedHatchStyle.hxx>
559 #include <RWStepBasic_RWExternallyDefinedItem.hxx>
560 // Removed from Rev2 to Rev4 : <RWStepVisual_RWExternallyDefinedSymbol.hxx>
561 // Removed from Rev2 to Rev4 : <RWStepVisual_RWExternallyDefinedTextFont.hxx>
562 // Removed from Rev2 to Rev4 : <RWStepVisual_RWExternallyDefinedTileStyle.hxx>
563 #include <RWStepShape_RWExtrudedAreaSolid.hxx>
564 #include <RWStepShape_RWFace.hxx>
565 // Removed from Rev2 to Rev4 : <RWStepShape_RWFaceBasedSurfaceModel.hxx>
566 #include <RWStepShape_RWFaceBound.hxx>
567 #include <RWStepShape_RWFaceOuterBound.hxx>
568 #include <RWStepShape_RWFaceSurface.hxx>
569 #include <RWStepShape_RWFacetedBrep.hxx>
570 #include <RWStepShape_RWFacetedBrepShapeRepresentation.hxx>
571 #include <RWStepVisual_RWFillAreaStyle.hxx>
572 #include <RWStepVisual_RWFillAreaStyleColour.hxx>
573 // Removed from Rev2 to Rev4 : <RWStepVisual_RWFillAreaStyleHatching.hxx>
574 // Removed from Rev2 to Rev4 : <RWStepVisual_RWFillAreaStyleTileSymbolWithStyle.hxx>
575 // Removed from Rev2 to Rev4 : <RWStepVisual_RWFillAreaStyleTiles.hxx>
576 #include <RWStepRepr_RWFunctionallyDefinedTransformation.hxx>
577 #include <RWStepShape_RWGeometricCurveSet.hxx>
578 #include <RWStepGeom_RWGeometricRepresentationContext.hxx>
579 #include <RWStepGeom_RWGeometricRepresentationItem.hxx>
580 #include <RWStepShape_RWGeometricSet.hxx>
581 #include <RWStepShape_RWGeometricallyBoundedSurfaceShapeRepresentation.hxx>
582 #include <RWStepShape_RWGeometricallyBoundedWireframeShapeRepresentation.hxx>
583 #include <RWStepRepr_RWGlobalUncertaintyAssignedContext.hxx>
584 #include <RWStepRepr_RWGlobalUnitAssignedContext.hxx>
585 #include <RWStepBasic_RWGroup.hxx>
586 #include <RWStepBasic_RWGroupRelationship.hxx>
587 #include <RWStepShape_RWHalfSpaceSolid.hxx>
588 #include <RWStepGeom_RWHyperbola.hxx>
589 #include <RWStepGeom_RWIntersectionCurve.hxx>
590 #include <RWStepVisual_RWInvisibility.hxx>
591 #include <RWStepBasic_RWLengthMeasureWithUnit.hxx>
592 #include <RWStepBasic_RWLengthUnit.hxx>
593 #include <RWStepGeom_RWLine.hxx>
594 #include <RWStepBasic_RWLocalTime.hxx>
595 #include <RWStepShape_RWLoop.hxx>
596 #include <RWStepShape_RWManifoldSolidBrep.hxx>
597 #include <RWStepShape_RWManifoldSurfaceShapeRepresentation.hxx>
598 #include <RWStepRepr_RWMappedItem.hxx>
599 #include <RWStepBasic_RWMeasureWithUnit.hxx>
600 #include <RWStepVisual_RWMechanicalDesignGeometricPresentationArea.hxx>
601 #include <RWStepVisual_RWMechanicalDesignGeometricPresentationRepresentation.hxx>
602 // Removed from Rev2 to Rev4 : <RWStepVisual_RWMechanicalDesignPresentationArea.hxx>
603 #include <RWStepBasic_RWNamedUnit.hxx>
604 #include <RWStepGeom_RWOffsetCurve3d.hxx>
605 #include <RWStepGeom_RWOffsetSurface.hxx>
606 // Removed from Rev2 to Rev4 : <RWStepAP214_RWOneDirectionRepeatFactor.hxx>
607 #include <RWStepShape_RWOpenShell.hxx>
608 #include <RWStepBasic_RWOrdinalDate.hxx>
609 #include <RWStepBasic_RWOrganization.hxx>
610 #include <RWStepBasic_RWOrganizationRole.hxx>
611 #include <RWStepBasic_RWOrganizationalAddress.hxx>
612 #include <RWStepShape_RWOrientedClosedShell.hxx>
613 #include <RWStepShape_RWOrientedEdge.hxx>
614 #include <RWStepShape_RWOrientedFace.hxx>
615 #include <RWStepShape_RWOrientedOpenShell.hxx>
616 #include <RWStepShape_RWOrientedPath.hxx>
617 #include <RWStepGeom_RWOuterBoundaryCurve.hxx>
618 #include <RWStepVisual_RWOverRidingStyledItem.hxx>
619 #include <RWStepGeom_RWParabola.hxx>
620 #include <RWStepRepr_RWParametricRepresentationContext.hxx>
621 #include <RWStepShape_RWPath.hxx>
622 #include <RWStepGeom_RWPcurve.hxx>
623 #include <RWStepBasic_RWPerson.hxx>
624 #include <RWStepBasic_RWPersonAndOrganization.hxx>
625 #include <RWStepBasic_RWPersonAndOrganizationRole.hxx>
626 #include <RWStepBasic_RWPersonalAddress.hxx>
627 #include <RWStepGeom_RWPlacement.hxx>
628 #include <RWStepVisual_RWPlanarBox.hxx>
629 #include <RWStepVisual_RWPlanarExtent.hxx>
630 #include <RWStepGeom_RWPlane.hxx>
631 #include <RWStepBasic_RWPlaneAngleMeasureWithUnit.hxx>
632 #include <RWStepBasic_RWPlaneAngleUnit.hxx>
633 #include <RWStepGeom_RWPoint.hxx>
634 #include <RWStepGeom_RWPointOnCurve.hxx>
635 #include <RWStepGeom_RWPointOnSurface.hxx>
636 #include <RWStepGeom_RWPointReplica.hxx>
637 #include <RWStepVisual_RWPointStyle.hxx>
638 #include <RWStepShape_RWPolyLoop.hxx>
639 #include <RWStepGeom_RWPolyline.hxx>
640 #include <RWStepVisual_RWPreDefinedColour.hxx>
641 #include <RWStepVisual_RWPreDefinedCurveFont.hxx>
642 #include <RWStepVisual_RWPreDefinedItem.hxx>
643 // Removed from Rev2 to Rev4 : <RWStepVisual_RWPreDefinedSymbol.hxx>
644 // Removed from Rev2 to Rev4 : <RWStepVisual_RWPreDefinedTextFont.hxx>
645 #include <RWStepVisual_RWPresentationArea.hxx>
646 #include <RWStepVisual_RWPresentationLayerAssignment.hxx>
647 #include <RWStepVisual_RWPresentationRepresentation.hxx>
648 #include <RWStepVisual_RWPresentationSet.hxx>
649 #include <RWStepVisual_RWPresentationSize.hxx>
650 #include <RWStepVisual_RWPresentationStyleAssignment.hxx>
651 #include <RWStepVisual_RWPresentationStyleByContext.hxx>
652 #include <RWStepVisual_RWPresentationView.hxx>
653 #include <RWStepBasic_RWProduct.hxx>
654 #include <RWStepBasic_RWProductCategory.hxx>
655 #include <RWStepBasic_RWProductContext.hxx>
656 // Removed from Rev2 to Rev4 : <RWStepVisual_RWProductDataRepresentationView.hxx>
657 #include <RWStepBasic_RWProductDefinition.hxx>
658 #include <RWStepBasic_RWProductDefinitionContext.hxx>
659 #include <RWStepBasic_RWProductDefinitionFormation.hxx>
660 #include <RWStepBasic_RWProductDefinitionFormationWithSpecifiedSource.hxx>
661 #include <RWStepRepr_RWProductDefinitionShape.hxx>
662 #include <RWStepBasic_RWProductRelatedProductCategory.hxx>
663 #include <RWStepBasic_RWProductType.hxx>
664 #include <RWStepRepr_RWPropertyDefinition.hxx>
665 #include <RWStepRepr_RWPropertyDefinitionRepresentation.hxx>
666 #include <RWStepGeom_RWQuasiUniformCurve.hxx>
667 #include <RWStepGeom_RWQuasiUniformSurface.hxx>
668 #include <RWStepBasic_RWRatioMeasureWithUnit.hxx>
669 #include <RWStepGeom_RWRationalBSplineCurve.hxx>
670 #include <RWStepGeom_RWRationalBSplineSurface.hxx>
671 #include <RWStepGeom_RWRectangularCompositeSurface.hxx>
672 #include <RWStepGeom_RWRectangularTrimmedSurface.hxx>
673 #include <RWStepAP214_RWRepItemGroup.hxx>
674 #include <RWStepGeom_RWReparametrisedCompositeCurveSegment.hxx>
675 #include <RWStepRepr_RWRepresentation.hxx>
676 #include <RWStepRepr_RWRepresentationContext.hxx>
677 #include <RWStepRepr_RWRepresentationItem.hxx>
678 #include <RWStepRepr_RWRepresentationMap.hxx>
679 #include <RWStepRepr_RWRepresentationRelationship.hxx>
680 #include <RWStepShape_RWRevolvedAreaSolid.hxx>
681 #include <RWStepShape_RWRightAngularWedge.hxx>
682 #include <RWStepShape_RWRightCircularCone.hxx>
683 #include <RWStepShape_RWRightCircularCylinder.hxx>
684 #include <RWStepGeom_RWSeamCurve.hxx>
685 #include <RWStepBasic_RWSecurityClassification.hxx>
686 #include <RWStepBasic_RWSecurityClassificationLevel.hxx>
687 #include <RWStepRepr_RWShapeAspect.hxx>
688 #include <RWStepRepr_RWShapeAspectRelationship.hxx>
689 #include <RWStepRepr_RWShapeAspectTransition.hxx>
690 #include <RWStepShape_RWShapeDefinitionRepresentation.hxx>
691 #include <RWStepShape_RWShapeRepresentation.hxx>
692 #include <RWStepShape_RWShellBasedSurfaceModel.hxx>
693 #include <RWStepBasic_RWSiUnit.hxx>
694 #include <RWStepBasic_RWSolidAngleMeasureWithUnit.hxx>
695 #include <RWStepShape_RWSolidModel.hxx>
696 #include <RWStepShape_RWSolidReplica.hxx>
697 #include <RWStepShape_RWSphere.hxx>
698 #include <RWStepGeom_RWSphericalSurface.hxx>
699 #include <RWStepVisual_RWStyledItem.hxx>
700 #include <RWStepGeom_RWSurface.hxx>
701 #include <RWStepGeom_RWSurfaceCurve.hxx>
702 #include <RWStepGeom_RWSurfaceOfLinearExtrusion.hxx>
703 #include <RWStepGeom_RWSurfaceOfRevolution.hxx>
704 #include <RWStepGeom_RWSurfaceCurveAndBoundedCurve.hxx>
705 #include <RWStepGeom_RWSurfacePatch.hxx>
706 #include <RWStepGeom_RWSurfaceReplica.hxx>
707 #include <RWStepVisual_RWSurfaceSideStyle.hxx>
708 #include <RWStepVisual_RWSurfaceStyleBoundary.hxx>
709 #include <RWStepVisual_RWSurfaceStyleControlGrid.hxx>
710 #include <RWStepVisual_RWSurfaceStyleFillArea.hxx>
711 #include <RWStepVisual_RWSurfaceStyleParameterLine.hxx>
712 #include <RWStepVisual_RWSurfaceStyleSegmentationCurve.hxx>
713 #include <RWStepVisual_RWSurfaceStyleSilhouette.hxx>
714 #include <RWStepVisual_RWSurfaceStyleUsage.hxx>
715 #include <RWStepShape_RWSweptAreaSolid.hxx>
716 #include <RWStepGeom_RWSweptSurface.hxx>
717 // Removed from Rev2 to Rev4 : <RWStepVisual_RWSymbolColour.hxx>
718 // Removed from Rev2 to Rev4 : <RWStepVisual_RWSymbolRepresentation.hxx>
719 // Removed from Rev2 to Rev4 : <RWStepVisual_RWSymbolRepresentationMap.hxx>
720 // Removed from Rev2 to Rev4 : <RWStepVisual_RWSymbolStyle.hxx>
721 // Removed from Rev2 to Rev4 : <RWStepVisual_RWSymbolTarget.hxx>
722 #include <RWStepVisual_RWTemplate.hxx>
723 #include <RWStepVisual_RWTemplateInstance.hxx>
724 // Removed from Rev2 to Rev4 : <RWStepVisual_RWTerminatorSymbol.hxx>
725 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
726 #include <RWStepVisual_RWTextLiteral.hxx>
727 // Removed from Rev2 to Rev4 : <RWStepVisual_RWTextLiteralWithAssociatedCurves.hxx>
728 // Removed from Rev2 to Rev4 : <RWStepVisual_RWTextLiteralWithBlankingBox.hxx>
729 // Removed from Rev2 to Rev4 : <RWStepVisual_RWTextLiteralWithDelineation.hxx>
730 // Removed from Rev2 to Rev4 : <RWStepVisual_RWTextLiteralWithExtent.hxx>
731 // Removed from CC1-Rev2 to CC1-Rev4, re-added CC2-Rev4 :
732 #include <RWStepVisual_RWTextStyle.hxx>
733 #include <RWStepVisual_RWTextStyleForDefinedFont.hxx>
734 #include  <RWStepVisual_RWTextStyleWithBoxCharacteristics.hxx>
735 // Removed from Rev2 to Rev4 : <RWStepVisual_RWTextStyleWithMirror.hxx>
736 #include <RWStepShape_RWTopologicalRepresentationItem.hxx>
737 #include <RWStepGeom_RWToroidalSurface.hxx>
738 #include <RWStepShape_RWTorus.hxx>
739 #include <RWStepShape_RWTransitionalShapeRepresentation.hxx>
740 #include <RWStepGeom_RWTrimmedCurve.hxx>
741 // Removed from Rev2 to Rev4 : <RWStepAP214_RWTwoDirectionRepeatFactor.hxx>
742 #include <RWStepBasic_RWUncertaintyMeasureWithUnit.hxx>
743 #include <RWStepGeom_RWUniformCurve.hxx>
744 #include <RWStepGeom_RWUniformSurface.hxx>
745 #include <RWStepGeom_RWVector.hxx>
746 #include <RWStepShape_RWVertex.hxx>
747 #include <RWStepShape_RWVertexLoop.hxx>
748 #include <RWStepShape_RWVertexPoint.hxx>
749 #include <RWStepVisual_RWViewVolume.hxx>
750 #include <RWStepBasic_RWWeekOfYearAndDayDate.hxx>
751 #include <RWStepGeom_RWUniformCurveAndRationalBSplineCurve.hxx>
752 #include <RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve.hxx>
753 #include <RWStepGeom_RWQuasiUniformCurveAndRationalBSplineCurve.hxx>
754 #include <RWStepGeom_RWBezierCurveAndRationalBSplineCurve.hxx>
755 #include <RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface.hxx>
756 #include <RWStepGeom_RWUniformSurfaceAndRationalBSplineSurface.hxx>
757 #include <RWStepGeom_RWQuasiUniformSurfaceAndRationalBSplineSurface.hxx>
758 #include <RWStepGeom_RWBezierSurfaceAndRationalBSplineSurface.hxx>
759 #include <RWStepBasic_RWSiUnitAndLengthUnit.hxx>
760 #include <RWStepBasic_RWSiUnitAndPlaneAngleUnit.hxx>
761 #include <RWStepBasic_RWConversionBasedUnitAndLengthUnit.hxx>
762 #include <RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit.hxx>
763 #include <RWStepGeom_RWGeometricRepresentationContextAndGlobalUnitAssignedContext.hxx>
764 #include <RWStepShape_RWLoopAndPath.hxx>
765
766
767 // Added by FMA
768 #include <RWStepGeom_RWGeomRepContextAndGlobUnitAssCtxAndGlobUncertaintyAssCtx.hxx>
769 #include <RWStepGeom_RWGeometricRepresentationContextAndParametricRepresentationContext.hxx>
770 #include <RWStepBasic_RWConversionBasedUnitAndSolidAngleUnit.hxx>
771 #include <RWStepBasic_RWSiUnitAndSolidAngleUnit.hxx>
772 #include <RWStepBasic_RWSolidAngleUnit.hxx>
773 #include <RWStepShape_RWFacetedBrepAndBrepWithVoids.hxx>
774 #include <RWStepBasic_RWMechanicalContext.hxx>
775
776 // full Rev4
777 #include <RWStepBasic_RWSiUnitAndRatioUnit.hxx>
778 #include <RWStepBasic_RWSiUnitAndTimeUnit.hxx>
779 #include <RWStepBasic_RWConversionBasedUnitAndRatioUnit.hxx>
780 #include <RWStepBasic_RWConversionBasedUnitAndTimeUnit.hxx>
781 #include <RWStepBasic_RWApprovalDateTime.hxx>
782 //not yet #include <StepVisual_CameraImage2dWithScale.hxx> derived
783 //not yet #include <StepVisual_CameraImage3dWithScale.hxx> derived
784 //not yet #include <StepVisual_CartesianTransformationOperator2d.hxx> derived
785 #include <RWStepBasic_RWDerivedUnit.hxx>
786 #include <RWStepBasic_RWDerivedUnitElement.hxx>
787 #include <RWStepRepr_RWItemDefinedTransformation.hxx>
788 #include <RWStepVisual_RWPresentedItemRepresentation.hxx>
789 #include <RWStepVisual_RWPresentationLayerUsage.hxx>
790
791 //  Added by CKY (JUL-1998) for AP214 CC1 -> CC2
792
793 #include <RWStepAP214_RWAutoDesignDocumentReference.hxx>
794 #include <RWStepBasic_RWDocument.hxx>
795 #include <RWStepBasic_RWDocumentRelationship.hxx>
796 #include <RWStepBasic_RWDocumentType.hxx>
797 #include <RWStepBasic_RWDocumentUsageConstraint.hxx>
798 #include <RWStepBasic_RWEffectivity.hxx>
799 #include <RWStepBasic_RWProductDefinitionEffectivity.hxx>
800 #include <RWStepBasic_RWProductDefinitionRelationship.hxx>
801
802 #include <RWStepBasic_RWProductDefinitionWithAssociatedDocuments.hxx>
803
804 #include <RWStepRepr_RWMakeFromUsageOption.hxx>
805 #include <RWStepRepr_RWAssemblyComponentUsage.hxx>
806 #include <RWStepRepr_RWQuantifiedAssemblyComponentUsage.hxx>
807 #include <RWStepRepr_RWSpecifiedHigherUsageOccurrence.hxx>
808 #include <RWStepRepr_RWAssemblyComponentUsageSubstitute.hxx>
809 #include <RWStepRepr_RWRepresentationRelationshipWithTransformation.hxx>
810 #include <RWStepRepr_RWShapeRepresentationRelationshipWithTransformation.hxx>
811 #include <RWStepRepr_RWMaterialDesignation.hxx>
812
813 #include <RWStepShape_RWContextDependentShapeRepresentation.hxx>
814
815 // Added from CD to DIS (S4134)
816 #include <StepAP214_AppliedDateAndTimeAssignment.hxx> 
817 #include <StepAP214_AppliedDateAssignment.hxx>
818 #include <StepAP214_AppliedApprovalAssignment.hxx>
819 #include <StepAP214_AppliedDocumentReference.hxx>
820 #include <StepAP214_AppliedGroupAssignment.hxx>
821 #include <StepAP214_AppliedOrganizationAssignment.hxx>
822 #include <StepAP214_AppliedPersonAndOrganizationAssignment.hxx>
823 #include <StepAP214_AppliedPresentedItem.hxx>
824 #include <StepAP214_AppliedSecurityClassificationAssignment.hxx>  
825 #include <StepBasic_DocumentFile.hxx>
826 #include <StepBasic_CharacterizedObject.hxx>  
827 #include <StepShape_ExtrudedFaceSolid.hxx>
828 #include <StepShape_RevolvedFaceSolid.hxx>  
829 #include <StepShape_SweptFaceSolid.hxx>  
830
831 #include <RWStepAP214_RWAppliedDateAndTimeAssignment.hxx>
832 #include <RWStepAP214_RWAppliedDateAssignment.hxx>
833 #include <RWStepAP214_RWAppliedApprovalAssignment.hxx>
834 #include <RWStepAP214_RWAppliedDocumentReference.hxx>
835 #include <RWStepAP214_RWAppliedGroupAssignment.hxx>
836 #include <RWStepAP214_RWAppliedOrganizationAssignment.hxx>
837 #include <RWStepAP214_RWAppliedPersonAndOrganizationAssignment.hxx>
838 #include <RWStepAP214_RWAppliedPresentedItem.hxx>
839 #include <RWStepAP214_RWAppliedSecurityClassificationAssignment.hxx>  
840 #include <RWStepBasic_RWDocumentFile.hxx>
841 #include <RWStepBasic_RWCharacterizedObject.hxx>  
842 #include <RWStepShape_RWExtrudedFaceSolid.hxx>
843 #include <RWStepShape_RWRevolvedFaceSolid.hxx>  
844 #include <RWStepShape_RWSweptFaceSolid.hxx> 
845
846 // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties)
847 #include <StepRepr_MeasureRepresentationItem.hxx>
848 #include <RWStepRepr_RWMeasureRepresentationItem.hxx>
849 #include <StepBasic_SiUnitAndAreaUnit.hxx>
850 #include <StepBasic_SiUnitAndVolumeUnit.hxx>
851 #include <StepBasic_ConversionBasedUnitAndAreaUnit.hxx>
852 #include <StepBasic_ConversionBasedUnitAndVolumeUnit.hxx> 
853 #include <RWStepBasic_RWSiUnitAndAreaUnit.hxx>
854 #include <RWStepBasic_RWSiUnitAndVolumeUnit.hxx>
855 #include <RWStepBasic_RWConversionBasedUnitAndAreaUnit.hxx>
856 #include <RWStepBasic_RWConversionBasedUnitAndVolumeUnit.hxx>
857
858 // Added by ABV 10.11.99 for AP203
859 #include <StepBasic_Action.hxx>
860 #include <StepBasic_ActionAssignment.hxx>
861 #include <StepBasic_ActionMethod.hxx>
862 #include <StepBasic_ActionRequestAssignment.hxx>
863 #include <StepAP203_CcDesignApproval.hxx>
864 #include <StepAP203_CcDesignCertification.hxx>
865 #include <StepAP203_CcDesignContract.hxx>
866 #include <StepAP203_CcDesignDateAndTimeAssignment.hxx>
867 #include <StepAP203_CcDesignPersonAndOrganizationAssignment.hxx>
868 #include <StepAP203_CcDesignSecurityClassification.hxx>
869 #include <StepAP203_CcDesignSpecificationReference.hxx>
870 #include <StepBasic_Certification.hxx>
871 #include <StepBasic_CertificationAssignment.hxx>
872 #include <StepBasic_CertificationType.hxx>
873 #include <StepAP203_Change.hxx>
874 #include <StepAP203_ChangeRequest.hxx>
875 #include <StepRepr_ConfigurationDesign.hxx>
876 #include <StepRepr_ConfigurationEffectivity.hxx>
877 #include <StepBasic_Contract.hxx>
878 #include <StepBasic_ContractAssignment.hxx>
879 #include <StepBasic_ContractType.hxx>
880 #include <StepRepr_ProductConcept.hxx>
881 #include <StepBasic_ProductConceptContext.hxx>
882 #include <StepAP203_StartRequest.hxx>
883 #include <StepAP203_StartWork.hxx>
884 #include <StepBasic_VersionedActionRequest.hxx>
885 #include <StepBasic_ProductCategoryRelationship.hxx>
886 #include <StepBasic_ActionRequestSolution.hxx>
887 #include <RWStepBasic_RWAction.hxx>
888 #include <RWStepBasic_RWActionAssignment.hxx>
889 #include <RWStepBasic_RWActionMethod.hxx>
890 #include <RWStepBasic_RWActionRequestAssignment.hxx>
891 #include <RWStepAP203_RWCcDesignApproval.hxx>
892 #include <RWStepAP203_RWCcDesignCertification.hxx>
893 #include <RWStepAP203_RWCcDesignContract.hxx>
894 #include <RWStepAP203_RWCcDesignDateAndTimeAssignment.hxx>
895 #include <RWStepAP203_RWCcDesignPersonAndOrganizationAssignment.hxx>
896 #include <RWStepAP203_RWCcDesignSecurityClassification.hxx>
897 #include <RWStepAP203_RWCcDesignSpecificationReference.hxx>
898 #include <RWStepBasic_RWCertification.hxx>
899 #include <RWStepBasic_RWCertificationAssignment.hxx>
900 #include <RWStepBasic_RWCertificationType.hxx>
901 #include <RWStepAP203_RWChange.hxx>
902 #include <RWStepAP203_RWChangeRequest.hxx>
903 #include <RWStepRepr_RWConfigurationDesign.hxx>
904 #include <RWStepRepr_RWConfigurationEffectivity.hxx>
905 #include <RWStepBasic_RWContract.hxx>
906 #include <RWStepBasic_RWContractAssignment.hxx>
907 #include <RWStepBasic_RWContractType.hxx>
908 #include <RWStepRepr_RWProductConcept.hxx>
909 #include <RWStepBasic_RWProductConceptContext.hxx>
910 #include <RWStepAP203_RWStartRequest.hxx>
911 #include <RWStepAP203_RWStartWork.hxx>
912 #include <RWStepBasic_RWVersionedActionRequest.hxx>
913 #include <RWStepBasic_RWProductCategoryRelationship.hxx>
914 #include <RWStepBasic_RWActionRequestSolution.hxx>
915
916 // Added by ABV 13.01.00 for CAX-IF TRJ3
917 #include <StepVisual_DraughtingModel.hxx>
918 #include <RWStepVisual_RWDraughtingModel.hxx>
919
920 // Added by ABV 18.04.00 for CAX-IF TRJ4 (dimensions)
921 #include <StepShape_AngularLocation.hxx>
922 #include <StepShape_AngularSize.hxx>
923 #include <StepShape_DimensionalCharacteristicRepresentation.hxx>
924 #include <StepShape_DimensionalLocation.hxx>
925 #include <StepShape_DimensionalLocationWithPath.hxx>
926 #include <StepShape_DimensionalSize.hxx>
927 #include <StepShape_DimensionalSizeWithPath.hxx>
928 #include <StepShape_ShapeDimensionRepresentation.hxx>
929 #include <RWStepShape_RWAngularLocation.hxx>
930 #include <RWStepShape_RWAngularSize.hxx>
931 #include <RWStepShape_RWDimensionalCharacteristicRepresentation.hxx>
932 #include <RWStepShape_RWDimensionalLocation.hxx>
933 #include <RWStepShape_RWDimensionalLocationWithPath.hxx>
934 #include <RWStepShape_RWDimensionalSize.hxx>
935 #include <RWStepShape_RWDimensionalSizeWithPath.hxx>
936 #include <RWStepShape_RWShapeDimensionRepresentation.hxx>
937
938 // Added by ABV 10.05.00 for CAX-IF TRJ4 (external references)
939 #include <StepBasic_DocumentRepresentationType.hxx>
940 #include <StepBasic_ObjectRole.hxx>
941 #include <StepBasic_RoleAssociation.hxx>
942 #include <StepBasic_IdentificationRole.hxx>
943 #include <StepBasic_IdentificationAssignment.hxx>
944 #include <StepBasic_ExternalIdentificationAssignment.hxx>
945 #include <StepBasic_EffectivityAssignment.hxx>
946 #include <StepBasic_NameAssignment.hxx>
947 #include <StepBasic_GeneralProperty.hxx>
948 #include <StepAP214_Class.hxx>
949 #include <StepAP214_ExternallyDefinedClass.hxx>
950 #include <StepAP214_ExternallyDefinedGeneralProperty.hxx>
951 #include <StepAP214_AppliedExternalIdentificationAssignment.hxx>
952 #include <RWStepBasic_RWDocumentRepresentationType.hxx>
953 #include <RWStepBasic_RWObjectRole.hxx>
954 #include <RWStepBasic_RWRoleAssociation.hxx>
955 #include <RWStepBasic_RWIdentificationRole.hxx>
956 #include <RWStepBasic_RWIdentificationAssignment.hxx>
957 #include <RWStepBasic_RWExternalIdentificationAssignment.hxx>
958 #include <RWStepBasic_RWEffectivityAssignment.hxx>
959 #include <RWStepBasic_RWNameAssignment.hxx>
960 #include <RWStepBasic_RWGeneralProperty.hxx>
961 #include <RWStepAP214_RWClass.hxx>
962 #include <RWStepAP214_RWExternallyDefinedClass.hxx>
963 #include <RWStepAP214_RWExternallyDefinedGeneralProperty.hxx>
964 #include <RWStepAP214_RWAppliedExternalIdentificationAssignment.hxx>
965
966 // abv 11.07.00: CAX-IF TRJ4: k1_geo-ac.stp
967 #include <StepShape_DefinitionalRepresentationAndShapeRepresentation.hxx>
968 #include <RWStepShape_RWDefinitionalRepresentationAndShapeRepresentation.hxx>
969
970
971 // Added by CKY , 25 APR 2001 for Dimensional Tolerances (CAX-IF TRJ7)
972 #include <StepRepr_CompositeShapeAspect.hxx>
973 #include <StepRepr_DerivedShapeAspect.hxx>
974 #include <StepRepr_Extension.hxx>
975 #include <StepShape_DirectedDimensionalLocation.hxx>
976 #include <StepShape_LimitsAndFits.hxx>
977 #include <StepShape_ToleranceValue.hxx>
978 #include <StepShape_MeasureQualification.hxx>
979 #include <StepShape_PlusMinusTolerance.hxx>
980 #include <StepShape_PrecisionQualifier.hxx>
981 #include <StepShape_TypeQualifier.hxx>
982 #include <StepShape_QualifiedRepresentationItem.hxx>
983 #include <StepShape_MeasureRepresentationItemAndQualifiedRepresentationItem.hxx>
984 #include <StepRepr_CompoundRepresentationItem.hxx>
985 #include <StepRepr_ValueRange.hxx>
986 #include <StepRepr_ShapeAspectDerivingRelationship.hxx>
987 #include <RWStepShape_RWLimitsAndFits.hxx>
988 #include <RWStepShape_RWToleranceValue.hxx>
989 #include <RWStepShape_RWMeasureQualification.hxx>
990 #include <RWStepShape_RWPlusMinusTolerance.hxx>
991 #include <RWStepShape_RWPrecisionQualifier.hxx>
992 #include <RWStepShape_RWTypeQualifier.hxx>
993 #include <RWStepShape_RWQualifiedRepresentationItem.hxx>
994 #include <RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem.hxx>
995 #include <RWStepRepr_RWCompoundRepresentationItem.hxx>
996
997 // abv 28.12.01: CAX-IF TRJ9: edge_based_wireframe
998 #include <StepShape_CompoundShapeRepresentation.hxx>
999 #include <StepShape_ConnectedEdgeSet.hxx>
1000 #include <StepShape_ConnectedFaceShapeRepresentation.hxx>
1001 #include <StepShape_EdgeBasedWireframeModel.hxx>
1002 #include <StepShape_EdgeBasedWireframeShapeRepresentation.hxx>
1003 #include <StepShape_FaceBasedSurfaceModel.hxx>
1004 #include <StepShape_NonManifoldSurfaceShapeRepresentation.hxx>
1005 #include <RWStepShape_RWCompoundShapeRepresentation.hxx>
1006 #include <RWStepShape_RWConnectedEdgeSet.hxx>
1007 #include <RWStepShape_RWConnectedFaceShapeRepresentation.hxx>
1008 #include <RWStepShape_RWEdgeBasedWireframeModel.hxx>
1009 #include <RWStepShape_RWEdgeBasedWireframeShapeRepresentation.hxx>
1010 #include <RWStepShape_RWFaceBasedSurfaceModel.hxx>
1011 #include <RWStepShape_RWNonManifoldSurfaceShapeRepresentation.hxx>
1012
1013 //gka 08.01.02 TRJ9
1014 #include <StepGeom_OrientedSurface.hxx>
1015 #include <StepShape_Subface.hxx>
1016 #include <StepShape_Subedge.hxx>
1017 #include <StepShape_SeamEdge.hxx>
1018 #include <StepShape_ConnectedFaceSubSet.hxx>
1019
1020 #include <RWStepGeom_RWOrientedSurface.hxx>
1021 #include <RWStepShape_RWSubface.hxx>
1022 #include <RWStepShape_RWSubedge.hxx>
1023 #include <RWStepShape_RWSeamEdge.hxx>
1024 #include <RWStepShape_RWConnectedFaceSubSet.hxx>
1025
1026 // Added for AP209
1027 #include <StepBasic_EulerAngles.hxx>
1028 #include <StepBasic_MassUnit.hxx>
1029 #include <StepBasic_ThermodynamicTemperatureUnit.hxx>
1030 #include <StepElement_AnalysisItemWithinRepresentation.hxx>
1031 #include <StepElement_Curve3dElementDescriptor.hxx>
1032 #include <StepElement_CurveElementEndReleasePacket.hxx>
1033 #include <StepElement_CurveElementSectionDefinition.hxx>
1034 #include <StepElement_CurveElementSectionDerivedDefinitions.hxx>
1035 #include <StepElement_ElementDescriptor.hxx>
1036 #include <StepElement_ElementMaterial.hxx>
1037 #include <StepElement_Surface3dElementDescriptor.hxx>
1038 #include <StepElement_SurfaceElementProperty.hxx>
1039 #include <StepElement_SurfaceSection.hxx>
1040 #include <StepElement_SurfaceSectionField.hxx>
1041 #include <StepElement_SurfaceSectionFieldConstant.hxx>
1042 #include <StepElement_SurfaceSectionFieldVarying.hxx>
1043 #include <StepElement_UniformSurfaceSection.hxx>
1044 #include <StepElement_Volume3dElementDescriptor.hxx>
1045 #include <StepFEA_AlignedCurve3dElementCoordinateSystem.hxx>
1046 #include <StepFEA_ArbitraryVolume3dElementCoordinateSystem.hxx>
1047 #include <StepFEA_Curve3dElementProperty.hxx>
1048 #include <StepFEA_Curve3dElementRepresentation.hxx>
1049 #include <StepFEA_Node.hxx>
1050 #include <StepFEA_CurveElementEndCoordinateSystem.hxx>
1051 #include <StepFEA_CurveElementEndOffset.hxx>
1052 #include <StepFEA_CurveElementEndRelease.hxx>
1053 #include <StepFEA_CurveElementInterval.hxx>
1054 #include <StepFEA_CurveElementIntervalConstant.hxx>
1055 #include <StepFEA_DummyNode.hxx>
1056 #include <StepFEA_CurveElementLocation.hxx>
1057 #include <StepFEA_ElementGeometricRelationship.hxx>
1058 #include <StepFEA_ElementGroup.hxx>
1059 #include <StepFEA_ElementRepresentation.hxx>
1060 #include <StepFEA_FeaAreaDensity.hxx>
1061 #include <StepFEA_FeaAxis2Placement3d.hxx>
1062 #include <StepFEA_FeaGroup.hxx>
1063 #include <StepFEA_FeaLinearElasticity.hxx>
1064 #include <StepFEA_FeaMassDensity.hxx>
1065 #include <StepFEA_FeaMaterialPropertyRepresentation.hxx>
1066 #include <StepFEA_FeaMaterialPropertyRepresentationItem.hxx>
1067 #include <StepFEA_FeaModel.hxx>
1068 #include <StepFEA_FeaModel3d.hxx>
1069 #include <StepFEA_FeaMoistureAbsorption.hxx>
1070 #include <StepFEA_FeaParametricPoint.hxx>
1071 #include <StepFEA_FeaRepresentationItem.hxx>
1072 #include <StepFEA_FeaSecantCoefficientOfLinearThermalExpansion.hxx>
1073 #include <StepFEA_FeaShellBendingStiffness.hxx>
1074 #include <StepFEA_FeaShellMembraneBendingCouplingStiffness.hxx>
1075 #include <StepFEA_FeaShellMembraneStiffness.hxx>
1076 #include <StepFEA_FeaShellShearStiffness.hxx>
1077 #include <StepFEA_GeometricNode.hxx>
1078 #include <StepFEA_FeaTangentialCoefficientOfLinearThermalExpansion.hxx>
1079 #include <StepFEA_NodeGroup.hxx>
1080 #include <StepFEA_NodeRepresentation.hxx>
1081 #include <StepFEA_NodeSet.hxx>
1082 #include <StepFEA_NodeWithSolutionCoordinateSystem.hxx>
1083 #include <StepFEA_NodeWithVector.hxx>
1084 #include <StepFEA_ParametricCurve3dElementCoordinateDirection.hxx>
1085 #include <StepFEA_ParametricCurve3dElementCoordinateSystem.hxx>
1086 #include <StepFEA_ParametricSurface3dElementCoordinateSystem.hxx>
1087 #include <StepFEA_Surface3dElementRepresentation.hxx>
1088 #include <StepFEA_SymmetricTensor22d.hxx>
1089 #include <StepFEA_SymmetricTensor42d.hxx>
1090 #include <StepFEA_SymmetricTensor43d.hxx>
1091 #include <StepFEA_Volume3dElementRepresentation.hxx>
1092 #include <StepRepr_DataEnvironment.hxx>
1093 #include <StepRepr_MaterialPropertyRepresentation.hxx>
1094 #include <StepRepr_PropertyDefinitionRelationship.hxx>
1095 #include <StepShape_PointRepresentation.hxx>
1096 #include <StepRepr_MaterialProperty.hxx>
1097 #include <StepFEA_FeaModelDefinition.hxx>
1098 #include <StepFEA_FreedomAndCoefficient.hxx>
1099 #include <StepFEA_FreedomsList.hxx>
1100 #include <StepBasic_ProductDefinitionFormationRelationship.hxx>
1101 #include <StepFEA_NodeDefinition.hxx>
1102 #include <StepRepr_StructuralResponseProperty.hxx>
1103 #include <StepRepr_StructuralResponsePropertyDefinitionRepresentation.hxx>
1104
1105 #include <RWStepBasic_RWEulerAngles.hxx>
1106 #include <RWStepBasic_RWMassUnit.hxx>
1107 #include <RWStepBasic_RWThermodynamicTemperatureUnit.hxx>
1108 #include <RWStepElement_RWAnalysisItemWithinRepresentation.hxx>
1109 #include <RWStepElement_RWCurve3dElementDescriptor.hxx>
1110 #include <RWStepElement_RWCurveElementEndReleasePacket.hxx>
1111 #include <RWStepElement_RWCurveElementSectionDefinition.hxx>
1112 #include <RWStepElement_RWCurveElementSectionDerivedDefinitions.hxx>
1113 #include <RWStepElement_RWElementDescriptor.hxx>
1114 #include <RWStepElement_RWElementMaterial.hxx>
1115 #include <RWStepElement_RWSurface3dElementDescriptor.hxx>
1116 #include <RWStepElement_RWSurfaceElementProperty.hxx>
1117 #include <RWStepElement_RWSurfaceSection.hxx>
1118 #include <RWStepElement_RWSurfaceSectionField.hxx>
1119 #include <RWStepElement_RWSurfaceSectionFieldConstant.hxx>
1120 #include <RWStepElement_RWSurfaceSectionFieldVarying.hxx>
1121 #include <RWStepElement_RWUniformSurfaceSection.hxx>
1122 #include <RWStepElement_RWVolume3dElementDescriptor.hxx>
1123 #include <RWStepFEA_RWAlignedCurve3dElementCoordinateSystem.hxx>
1124 #include <RWStepFEA_RWArbitraryVolume3dElementCoordinateSystem.hxx>
1125 #include <RWStepFEA_RWCurve3dElementProperty.hxx>
1126 #include <RWStepFEA_RWCurve3dElementRepresentation.hxx>
1127 #include <RWStepFEA_RWNode.hxx>
1128 #include <RWStepFEA_RWCurveElementEndOffset.hxx>
1129 #include <RWStepFEA_RWCurveElementEndRelease.hxx>
1130 #include <RWStepFEA_RWCurveElementInterval.hxx>
1131 #include <RWStepFEA_RWCurveElementIntervalConstant.hxx>
1132 #include <RWStepFEA_RWDummyNode.hxx>
1133 #include <RWStepFEA_RWCurveElementLocation.hxx>
1134 #include <RWStepFEA_RWElementGeometricRelationship.hxx>
1135 #include <RWStepFEA_RWElementGroup.hxx>
1136 #include <RWStepFEA_RWElementRepresentation.hxx>
1137 #include <RWStepFEA_RWFeaAreaDensity.hxx>
1138 #include <RWStepFEA_RWFeaAxis2Placement3d.hxx>
1139 #include <RWStepFEA_RWFeaGroup.hxx>
1140 #include <RWStepFEA_RWFeaLinearElasticity.hxx>
1141 #include <RWStepFEA_RWFeaMassDensity.hxx>
1142 #include <RWStepFEA_RWFeaMaterialPropertyRepresentation.hxx>
1143 #include <RWStepFEA_RWFeaMaterialPropertyRepresentationItem.hxx>
1144 #include <RWStepFEA_RWFeaModel.hxx>
1145 #include <RWStepFEA_RWFeaModel3d.hxx>
1146 #include <RWStepFEA_RWFeaMoistureAbsorption.hxx>
1147 #include <RWStepFEA_RWFeaParametricPoint.hxx>
1148 #include <RWStepFEA_RWFeaRepresentationItem.hxx>
1149 #include <RWStepFEA_RWFeaSecantCoefficientOfLinearThermalExpansion.hxx>
1150 #include <RWStepFEA_RWFeaShellBendingStiffness.hxx>
1151 #include <RWStepFEA_RWFeaShellMembraneBendingCouplingStiffness.hxx>
1152 #include <RWStepFEA_RWFeaShellMembraneStiffness.hxx>
1153 #include <RWStepFEA_RWFeaShellShearStiffness.hxx>
1154 #include <RWStepFEA_RWGeometricNode.hxx>
1155 #include <RWStepFEA_RWFeaTangentialCoefficientOfLinearThermalExpansion.hxx>
1156 #include <RWStepFEA_RWNodeGroup.hxx>
1157 #include <RWStepFEA_RWNodeRepresentation.hxx>
1158 #include <RWStepFEA_RWNodeSet.hxx>
1159 #include <RWStepFEA_RWNodeWithSolutionCoordinateSystem.hxx>
1160 #include <RWStepFEA_RWNodeWithVector.hxx>
1161 #include <RWStepFEA_RWParametricCurve3dElementCoordinateDirection.hxx>
1162 #include <RWStepFEA_RWParametricCurve3dElementCoordinateSystem.hxx>
1163 #include <RWStepFEA_RWParametricSurface3dElementCoordinateSystem.hxx>
1164 #include <RWStepFEA_RWSurface3dElementRepresentation.hxx>
1165 #include <RWStepFEA_RWVolume3dElementRepresentation.hxx>
1166 #include <RWStepRepr_RWDataEnvironment.hxx>
1167 #include <RWStepRepr_RWMaterialPropertyRepresentation.hxx>
1168 #include <RWStepRepr_RWPropertyDefinitionRelationship.hxx>
1169 #include <RWStepShape_RWPointRepresentation.hxx>
1170 #include <RWStepRepr_RWMaterialProperty.hxx>
1171 #include <RWStepFEA_RWFeaModelDefinition.hxx>
1172 #include <RWStepFEA_RWFreedomAndCoefficient.hxx>
1173 #include <RWStepFEA_RWFreedomsList.hxx>
1174 #include <RWStepBasic_RWProductDefinitionFormationRelationship.hxx>
1175 #include <RWStepFEA_RWNodeDefinition.hxx>
1176 #include <RWStepRepr_RWStructuralResponseProperty.hxx>
1177 #include <RWStepRepr_RWStructuralResponsePropertyDefinitionRepresentation.hxx>
1178
1179 #include <StepBasic_SiUnitAndMassUnit.hxx>
1180 #include <StepBasic_SiUnitAndThermodynamicTemperatureUnit.hxx>
1181 #include <RWStepBasic_RWSiUnitAndMassUnit.hxx>
1182 #include <RWStepBasic_RWSiUnitAndThermodynamicTemperatureUnit.hxx>
1183 #include <StepFEA_AlignedSurface3dElementCoordinateSystem.hxx>
1184 #include <StepFEA_ConstantSurface3dElementCoordinateSystem.hxx>
1185 #include <RWStepFEA_RWAlignedSurface3dElementCoordinateSystem.hxx>
1186 #include <RWStepFEA_RWConstantSurface3dElementCoordinateSystem.hxx>
1187
1188 // 23.01.2003
1189 #include <StepFEA_CurveElementIntervalLinearlyVarying.hxx>
1190 #include <StepFEA_FeaCurveSectionGeometricRelationship.hxx>
1191 #include <StepFEA_FeaSurfaceSectionGeometricRelationship.hxx>
1192 #include <RWStepFEA_RWCurveElementIntervalLinearlyVarying.hxx>
1193 #include <RWStepFEA_RWFeaCurveSectionGeometricRelationship.hxx>
1194 #include <RWStepFEA_RWFeaSurfaceSectionGeometricRelationship.hxx>
1195
1196 // PTV 28.01.2003 TRJ11 AP214 external references
1197 #include <StepBasic_DocumentProductAssociation.hxx>
1198 #include <StepBasic_DocumentProductEquivalence.hxx>
1199 #include <RWStepBasic_RWDocumentProductAssociation.hxx>
1200 #include <RWStepBasic_RWDocumentProductEquivalence.hxx>
1201
1202 //  TR12J 04.06.2003 G&DT entities GKA 
1203 #include <StepShape_ShapeRepresentationWithParameters.hxx>
1204 #include <StepDimTol_AngularityTolerance.hxx>
1205 #include <StepDimTol_ConcentricityTolerance.hxx>
1206 #include <StepDimTol_CircularRunoutTolerance.hxx>
1207 #include <StepDimTol_CoaxialityTolerance.hxx>
1208 #include <StepDimTol_CylindricityTolerance.hxx>
1209 #include <StepDimTol_FlatnessTolerance.hxx>
1210 #include <StepDimTol_LineProfileTolerance.hxx>
1211 #include <StepDimTol_ParallelismTolerance.hxx>
1212 #include <StepDimTol_PerpendicularityTolerance.hxx>
1213 #include <StepDimTol_PositionTolerance.hxx>
1214 #include <StepDimTol_RoundnessTolerance.hxx>
1215 #include <StepDimTol_StraightnessTolerance.hxx>
1216 #include <StepDimTol_SurfaceProfileTolerance.hxx>
1217 #include <StepDimTol_SymmetryTolerance.hxx>
1218 #include <StepDimTol_TotalRunoutTolerance.hxx>
1219 #include <StepDimTol_GeometricTolerance.hxx>
1220 #include <StepDimTol_GeometricToleranceWithDatumReference.hxx>
1221 #include <StepDimTol_ModifiedGeometricTolerance.hxx>
1222 #include <StepDimTol_Datum.hxx>
1223 #include <StepDimTol_DatumFeature.hxx>
1224 #include <StepDimTol_DatumReference.hxx>
1225 #include <StepDimTol_CommonDatum.hxx>
1226 #include <StepDimTol_DatumTarget.hxx>
1227 #include <StepDimTol_PlacedDatumTargetFeature.hxx>
1228 #include <StepRepr_ValueRange.hxx>
1229 #include <StepRepr_CompositeShapeAspect.hxx>
1230 #include <StepRepr_DerivedShapeAspect.hxx>
1231 #include <StepRepr_Extension.hxx>
1232 #include <RWStepRepr_RWCompositeShapeAspect.hxx>
1233 #include <RWStepRepr_RWDerivedShapeAspect.hxx>
1234 #include <RWStepRepr_RWExtension.hxx>
1235 #include <RWStepShape_RWShapeRepresentationWithParameters.hxx>
1236 #include <RWStepDimTol_RWAngularityTolerance.hxx>
1237 #include <RWStepDimTol_RWConcentricityTolerance.hxx>
1238 #include <RWStepDimTol_RWCircularRunoutTolerance.hxx>
1239 #include <RWStepDimTol_RWCoaxialityTolerance.hxx>
1240 #include <RWStepDimTol_RWCylindricityTolerance.hxx>
1241 #include <RWStepDimTol_RWFlatnessTolerance.hxx>
1242 #include <RWStepDimTol_RWLineProfileTolerance.hxx>
1243 #include <RWStepDimTol_RWParallelismTolerance.hxx>
1244 #include <RWStepDimTol_RWPerpendicularityTolerance.hxx>
1245 #include <RWStepDimTol_RWPositionTolerance.hxx>
1246 #include <RWStepDimTol_RWRoundnessTolerance.hxx>
1247 #include <RWStepDimTol_RWStraightnessTolerance.hxx>
1248 #include <RWStepDimTol_RWSurfaceProfileTolerance.hxx>
1249 #include <RWStepDimTol_RWSymmetryTolerance.hxx>
1250 #include <RWStepDimTol_RWTotalRunoutTolerance.hxx>
1251 #include <RWStepDimTol_RWGeometricTolerance.hxx>
1252 #include <RWStepDimTol_RWGeometricToleranceWithDatumReference.hxx>
1253 #include <RWStepDimTol_RWModifiedGeometricTolerance.hxx>
1254 #include <RWStepDimTol_RWDatum.hxx>
1255 #include <RWStepDimTol_RWDatumFeature.hxx>
1256 #include <RWStepDimTol_RWDatumReference.hxx>
1257 #include <RWStepDimTol_RWCommonDatum.hxx>
1258 #include <RWStepDimTol_RWDatumTarget.hxx>
1259 #include <RWStepDimTol_RWPlacedDatumTargetFeature.hxx>
1260 #include <StepDimTol_GeometricToleranceRelationship.hxx>
1261 #include <RWStepDimTol_RWGeometricToleranceRelationship.hxx>
1262
1263 #include <StepRepr_ReprItemAndLengthMeasureWithUnit.hxx>
1264 #include <RWStepRepr_RWReprItemAndLengthMeasureWithUnit.hxx>
1265 #include <StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol.hxx>
1266 #include <RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol.hxx>
1267
1268 // added by skl 10.02.2004 for TRJ13
1269 #include <StepBasic_ConversionBasedUnitAndMassUnit.hxx>
1270 #include <RWStepBasic_RWConversionBasedUnitAndMassUnit.hxx>
1271 #include <StepBasic_MassMeasureWithUnit.hxx>
1272 #include <RWStepBasic_RWMassMeasureWithUnit.hxx>
1273
1274 // Added by ika for GD&T AP242
1275 #include <RWStepRepr_RWApex.hxx>
1276 #include <RWStepRepr_RWCentreOfSymmetry.hxx>
1277 #include <RWStepRepr_RWGeometricAlignment.hxx>
1278 #include <RWStepRepr_RWParallelOffset.hxx>
1279 #include <RWStepRepr_RWPerpendicularTo.hxx>
1280 #include <RWStepRepr_RWTangent.hxx>
1281 #include <RWStepAP242_RWGeometricItemSpecificUsage.hxx>
1282 #include <RWStepAP242_RWIdAttribute.hxx>
1283 #include <RWStepAP242_RWItemIdentifiedRepresentationUsage.hxx>
1284 #include <RWStepRepr_RWAllAroundShapeAspect.hxx>
1285 #include <RWStepRepr_RWBetweenShapeAspect.hxx>
1286 #include <RWStepRepr_RWCompositeGroupShapeAspect.hxx>
1287 #include <RWStepRepr_RWContinuosShapeAspect.hxx>
1288 #include <RWStepDimTol_RWGeometricToleranceWithDefinedAreaUnit.hxx>
1289 #include <RWStepDimTol_RWGeometricToleranceWithDefinedUnit.hxx>
1290 #include <RWStepDimTol_RWGeometricToleranceWithMaximumTolerance.hxx>
1291 #include <RWStepDimTol_RWGeometricToleranceWithModifiers.hxx>
1292 #include <RWStepDimTol_RWUnequallyDisposedGeometricTolerance.hxx>
1293 #include <RWStepDimTol_RWNonUniformZoneDefinition.hxx>
1294 #include <RWStepDimTol_RWProjectedZoneDefinition.hxx>
1295 #include <RWStepDimTol_RWRunoutZoneDefinition.hxx>
1296 #include <RWStepDimTol_RWRunoutZoneOrientation.hxx>
1297 #include <RWStepDimTol_RWToleranceZone.hxx>
1298 #include <RWStepDimTol_RWToleranceZoneDefinition.hxx>
1299 #include <RWStepDimTol_RWToleranceZoneForm.hxx>
1300 #include <RWStepShape_RWValueFormatTypeQualifier.hxx>
1301 #include <RWStepDimTol_RWDatumReferenceCompartment.hxx>
1302 #include <RWStepDimTol_RWDatumReferenceElement.hxx>
1303 #include <RWStepDimTol_RWDatumReferenceModifierWithValue.hxx>
1304 #include <RWStepDimTol_RWDatumSystem.hxx>
1305 #include <RWStepDimTol_RWGeneralDatumReference.hxx>
1306 #include <RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit.hxx>
1307 #include <RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI.hxx>
1308 #include <RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI.hxx>
1309 #include <RWStepDimTol_RWGeoTolAndGeoTolWthDatRef.hxx>
1310 #include <RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod.hxx>
1311 #include <RWStepDimTol_RWGeoTolAndGeoTolWthMod.hxx>
1312 #include <RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol.hxx>
1313 #include <RWStepRepr_RWCompGroupShAspAndCompShAspAndDatumFeatAndShAsp.hxx>
1314 #include <RWStepRepr_RWCompShAspAndDatumFeatAndShAsp.hxx>
1315 #include <RWStepRepr_RWIntegerRepresentationItem.hxx>
1316 #include <RWStepRepr_RWValueRepresentationItem.hxx>
1317
1318 #include <StepRepr_Apex.hxx>
1319 #include <StepRepr_CentreOfSymmetry.hxx>
1320 #include <StepRepr_GeometricAlignment.hxx>
1321 #include <StepRepr_ParallelOffset.hxx>
1322 #include <StepRepr_PerpendicularTo.hxx>
1323 #include <StepRepr_Tangent.hxx>
1324 #include <StepAP242_GeometricItemSpecificUsage.hxx>
1325 #include <StepAP242_IdAttribute.hxx>
1326 #include <StepAP242_ItemIdentifiedRepresentationUsage.hxx>
1327 #include <StepRepr_AllAroundShapeAspect.hxx>
1328 #include <StepRepr_BetweenShapeAspect.hxx>
1329 #include <StepRepr_CompositeGroupShapeAspect.hxx>
1330 #include <StepRepr_ContinuosShapeAspect.hxx>
1331 #include <StepDimTol_GeometricToleranceWithDefinedAreaUnit.hxx>
1332 #include <StepDimTol_GeometricToleranceWithDefinedUnit.hxx>
1333 #include <StepDimTol_GeometricToleranceWithMaximumTolerance.hxx>
1334 #include <StepDimTol_GeometricToleranceWithModifiers.hxx>
1335 #include <StepDimTol_UnequallyDisposedGeometricTolerance.hxx>
1336 #include <StepDimTol_NonUniformZoneDefinition.hxx>
1337 #include <StepDimTol_ProjectedZoneDefinition.hxx>
1338 #include <StepDimTol_RunoutZoneDefinition.hxx>
1339 #include <StepDimTol_RunoutZoneOrientation.hxx>
1340 #include <StepDimTol_ToleranceZone.hxx>
1341 #include <StepDimTol_ToleranceZoneDefinition.hxx>
1342 #include <StepDimTol_ToleranceZoneForm.hxx>
1343 #include <StepShape_ValueFormatTypeQualifier.hxx>
1344 #include <StepDimTol_DatumReferenceCompartment.hxx>
1345 #include <StepDimTol_DatumReferenceElement.hxx>
1346 #include <StepDimTol_DatumReferenceModifierWithValue.hxx>
1347 #include <StepDimTol_DatumSystem.hxx>
1348 #include <StepDimTol_GeneralDatumReference.hxx>
1349 #include <StepRepr_ReprItemAndPlaneAngleMeasureWithUnit.hxx>
1350 #include <StepRepr_ReprItemAndLengthMeasureWithUnitAndQRI.hxx>
1351 #include <StepRepr_ReprItemAndPlaneAngleMeasureWithUnitAndQRI.hxx>
1352 #include <StepDimTol_GeoTolAndGeoTolWthDatRef.hxx>
1353 #include <StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod.hxx>
1354 #include <StepDimTol_GeoTolAndGeoTolWthMod.hxx>
1355 #include <StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol.hxx>
1356 #include <StepRepr_CompGroupShAspAndCompShAspAndDatumFeatAndShAsp.hxx>
1357 #include <StepRepr_CompShAspAndDatumFeatAndShAsp.hxx>
1358 #include <StepRepr_IntegerRepresentationItem.hxx>
1359 #include <StepRepr_ValueRepresentationItem.hxx>
1360
1361
1362 // -- General Declarations (Recognize, StepType) ---
1363
1364 static TCollection_AsciiString PasReco("?");
1365 static TCollection_AsciiString Reco_Address ("ADDRESS");
1366 static TCollection_AsciiString Reco_AdvancedBrepShapeRepresentation ("ADVANCED_BREP_SHAPE_REPRESENTATION");
1367 static TCollection_AsciiString Reco_AdvancedFace ("ADVANCED_FACE");
1368 static TCollection_AsciiString Reco_AnnotationCurveOccurrence ("ANNOTATION_CURVE_OCCURRENCE");
1369 static TCollection_AsciiString Reco_AnnotationFillArea ("ANNOTATION_FILL_AREA");
1370 static TCollection_AsciiString Reco_AnnotationFillAreaOccurrence ("ANNOTATION_FILL_AREA_OCCURRENCE");
1371 static TCollection_AsciiString Reco_AnnotationOccurrence ("ANNOTATION_OCCURRENCE");
1372 static TCollection_AsciiString Reco_AnnotationSubfigureOccurrence ("ANNOTATION_SUBFIGURE_OCCURRENCE");
1373 static TCollection_AsciiString Reco_AnnotationSymbol ("ANNOTATION_SYMBOL");
1374 static TCollection_AsciiString Reco_AnnotationSymbolOccurrence ("ANNOTATION_SYMBOL_OCCURRENCE");
1375 static TCollection_AsciiString Reco_AnnotationText ("ANNOTATION_TEXT");
1376 static TCollection_AsciiString Reco_AnnotationTextOccurrence ("ANNOTATION_TEXT_OCCURRENCE");
1377 static TCollection_AsciiString Reco_ApplicationContext ("APPLICATION_CONTEXT");
1378 static TCollection_AsciiString Reco_ApplicationContextElement ("APPLICATION_CONTEXT_ELEMENT");
1379 static TCollection_AsciiString Reco_ApplicationProtocolDefinition ("APPLICATION_PROTOCOL_DEFINITION");
1380 static TCollection_AsciiString Reco_Approval ("APPROVAL");
1381 static TCollection_AsciiString Reco_ApprovalAssignment ("APPROVAL_ASSIGNMENT");
1382 static TCollection_AsciiString Reco_ApprovalPersonOrganization ("APPROVAL_PERSON_ORGANIZATION");
1383 static TCollection_AsciiString Reco_ApprovalRelationship ("APPROVAL_RELATIONSHIP");
1384 static TCollection_AsciiString Reco_ApprovalRole ("APPROVAL_ROLE");
1385 static TCollection_AsciiString Reco_ApprovalStatus ("APPROVAL_STATUS");
1386 static TCollection_AsciiString Reco_AreaInSet ("AREA_IN_SET");
1387 static TCollection_AsciiString Reco_AutoDesignActualDateAndTimeAssignment ("AUTO_DESIGN_ACTUAL_DATE_AND_TIME_ASSIGNMENT");
1388 static TCollection_AsciiString Reco_AutoDesignActualDateAssignment ("AUTO_DESIGN_ACTUAL_DATE_ASSIGNMENT");
1389 static TCollection_AsciiString Reco_AutoDesignApprovalAssignment ("AUTO_DESIGN_APPROVAL_ASSIGNMENT");
1390 static TCollection_AsciiString Reco_AutoDesignDateAndPersonAssignment ("AUTO_DESIGN_DATE_AND_PERSON_ASSIGNMENT");
1391 static TCollection_AsciiString Reco_AutoDesignGroupAssignment ("AUTO_DESIGN_GROUP_ASSIGNMENT");
1392 static TCollection_AsciiString Reco_AutoDesignNominalDateAndTimeAssignment ("AUTO_DESIGN_NOMINAL_DATE_AND_TIME_ASSIGNMENT");
1393 static TCollection_AsciiString Reco_AutoDesignNominalDateAssignment ("AUTO_DESIGN_NOMINAL_DATE_ASSIGNMENT");
1394 static TCollection_AsciiString Reco_AutoDesignOrganizationAssignment ("AUTO_DESIGN_ORGANIZATION_ASSIGNMENT");
1395 static TCollection_AsciiString Reco_AutoDesignPersonAndOrganizationAssignment ("AUTO_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT");
1396 static TCollection_AsciiString Reco_AutoDesignPresentedItem ("AUTO_DESIGN_PRESENTED_ITEM");
1397 static TCollection_AsciiString Reco_AutoDesignSecurityClassificationAssignment ("AUTO_DESIGN_SECURITY_CLASSIFICATION_ASSIGNMENT");
1398 static TCollection_AsciiString Reco_AutoDesignViewArea ("AUTO_DESIGN_VIEW_AREA");
1399 static TCollection_AsciiString Reco_Axis1Placement ("AXIS1_PLACEMENT");
1400 static TCollection_AsciiString Reco_Axis2Placement2d ("AXIS2_PLACEMENT_2D");
1401 static TCollection_AsciiString Reco_Axis2Placement3d ("AXIS2_PLACEMENT_3D");
1402 static TCollection_AsciiString Reco_BSplineCurve ("B_SPLINE_CURVE");
1403 static TCollection_AsciiString Reco_BSplineCurveWithKnots ("B_SPLINE_CURVE_WITH_KNOTS");
1404 static TCollection_AsciiString Reco_BSplineSurface ("B_SPLINE_SURFACE");
1405 static TCollection_AsciiString Reco_BSplineSurfaceWithKnots ("B_SPLINE_SURFACE_WITH_KNOTS");
1406 static TCollection_AsciiString Reco_BackgroundColour ("BACKGROUND_COLOUR");
1407 static TCollection_AsciiString Reco_BezierCurve ("BEZIER_CURVE");
1408 static TCollection_AsciiString Reco_BezierSurface ("BEZIER_SURFACE");
1409 static TCollection_AsciiString Reco_Block ("BLOCK");
1410 static TCollection_AsciiString Reco_BooleanResult ("BOOLEAN_RESULT");
1411 static TCollection_AsciiString Reco_BoundaryCurve ("BOUNDARY_CURVE");
1412 static TCollection_AsciiString Reco_BoundedCurve ("BOUNDED_CURVE");
1413 static TCollection_AsciiString Reco_BoundedSurface ("BOUNDED_SURFACE");
1414 static TCollection_AsciiString Reco_BoxDomain ("BOX_DOMAIN");
1415 static TCollection_AsciiString Reco_BoxedHalfSpace ("BOXED_HALF_SPACE");
1416 static TCollection_AsciiString Reco_BrepWithVoids ("BREP_WITH_VOIDS");
1417 static TCollection_AsciiString Reco_CalendarDate ("CALENDAR_DATE");
1418 static TCollection_AsciiString Reco_CameraImage ("CAMERA_IMAGE");
1419 static TCollection_AsciiString Reco_CameraModel ("CAMERA_MODEL");
1420 static TCollection_AsciiString Reco_CameraModelD2 ("CAMERA_MODEL_D2");
1421 static TCollection_AsciiString Reco_CameraModelD3 ("CAMERA_MODEL_D3");
1422 static TCollection_AsciiString Reco_CameraUsage ("CAMERA_USAGE");
1423 static TCollection_AsciiString Reco_CartesianPoint ("CARTESIAN_POINT");
1424 static TCollection_AsciiString Reco_CartesianTransformationOperator ("CARTESIAN_TRANSFORMATION_OPERATOR");
1425 static TCollection_AsciiString Reco_CartesianTransformationOperator3d ("CARTESIAN_TRANSFORMATION_OPERATOR_3D");
1426 static TCollection_AsciiString Reco_Circle ("CIRCLE");
1427 static TCollection_AsciiString Reco_ClosedShell ("CLOSED_SHELL");
1428 static TCollection_AsciiString Reco_Colour ("COLOUR");
1429 static TCollection_AsciiString Reco_ColourRgb ("COLOUR_RGB");
1430 static TCollection_AsciiString Reco_ColourSpecification ("COLOUR_SPECIFICATION");
1431 static TCollection_AsciiString Reco_CompositeCurve ("COMPOSITE_CURVE");
1432 static TCollection_AsciiString Reco_CompositeCurveOnSurface ("COMPOSITE_CURVE_ON_SURFACE");
1433 static TCollection_AsciiString Reco_CompositeCurveSegment ("COMPOSITE_CURVE_SEGMENT");
1434 static TCollection_AsciiString Reco_CompositeText ("COMPOSITE_TEXT");
1435 static TCollection_AsciiString Reco_CompositeTextWithAssociatedCurves ("COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES");
1436 static TCollection_AsciiString Reco_CompositeTextWithBlankingBox ("COMPOSITE_TEXT_WITH_BLANKING_BOX");
1437 static TCollection_AsciiString Reco_CompositeTextWithExtent ("COMPOSITE_TEXT_WITH_EXTENT");
1438 static TCollection_AsciiString Reco_Conic ("CONIC");
1439 static TCollection_AsciiString Reco_ConicalSurface ("CONICAL_SURFACE");
1440 static TCollection_AsciiString Reco_ConnectedFaceSet ("CONNECTED_FACE_SET");
1441 static TCollection_AsciiString Reco_ContextDependentInvisibility ("CONTEXT_DEPENDENT_INVISIBILITY");
1442 static TCollection_AsciiString Reco_ContextDependentOverRidingStyledItem ("CONTEXT_DEPENDENT_OVER_RIDING_STYLED_ITEM");
1443 static TCollection_AsciiString Reco_ConversionBasedUnit ("CONVERSION_BASED_UNIT");
1444 static TCollection_AsciiString Reco_CoordinatedUniversalTimeOffset ("COORDINATED_UNIVERSAL_TIME_OFFSET");
1445 static TCollection_AsciiString Reco_CsgRepresentation ("CSG_REPRESENTATION");
1446 static TCollection_AsciiString Reco_CsgShapeRepresentation ("CSG_SHAPE_REPRESENTATION");
1447 static TCollection_AsciiString Reco_CsgSolid ("CSG_SOLID");
1448 static TCollection_AsciiString Reco_Curve ("CURVE");
1449 static TCollection_AsciiString Reco_CurveBoundedSurface ("CURVE_BOUNDED_SURFACE");
1450 static TCollection_AsciiString Reco_CurveReplica ("CURVE_REPLICA");
1451 static TCollection_AsciiString Reco_CurveStyle ("CURVE_STYLE");
1452 static TCollection_AsciiString Reco_CurveStyleFont ("CURVE_STYLE_FONT");
1453 static TCollection_AsciiString Reco_CurveStyleFontPattern ("CURVE_STYLE_FONT_PATTERN");
1454 static TCollection_AsciiString Reco_CylindricalSurface ("CYLINDRICAL_SURFACE");
1455 static TCollection_AsciiString Reco_Date ("DATE");
1456 static TCollection_AsciiString Reco_DateAndTime ("DATE_AND_TIME");
1457 static TCollection_AsciiString Reco_DateAndTimeAssignment ("DATE_AND_TIME_ASSIGNMENT");
1458 static TCollection_AsciiString Reco_DateAssignment ("DATE_ASSIGNMENT");
1459 static TCollection_AsciiString Reco_DateRole ("DATE_ROLE");
1460 static TCollection_AsciiString Reco_DateTimeRole ("DATE_TIME_ROLE");
1461 static TCollection_AsciiString Reco_DefinedSymbol ("DEFINED_SYMBOL");
1462 static TCollection_AsciiString Reco_DefinitionalRepresentation ("DEFINITIONAL_REPRESENTATION");
1463 static TCollection_AsciiString Reco_DegeneratePcurve ("DEGENERATE_PCURVE");
1464 static TCollection_AsciiString Reco_DegenerateToroidalSurface ("DEGENERATE_TOROIDAL_SURFACE");
1465 static TCollection_AsciiString Reco_DescriptiveRepresentationItem ("DESCRIPTIVE_REPRESENTATION_ITEM");
1466 static TCollection_AsciiString Reco_DimensionCurve ("DIMENSION_CURVE");
1467 static TCollection_AsciiString Reco_DimensionCurveTerminator ("DIMENSION_CURVE_TERMINATOR");
1468 static TCollection_AsciiString Reco_DimensionalExponents ("DIMENSIONAL_EXPONENTS");
1469 static TCollection_AsciiString Reco_Direction ("DIRECTION");
1470 static TCollection_AsciiString Reco_DraughtingAnnotationOccurrence ("DRAUGHTING_ANNOTATION_OCCURRENCE");
1471 static TCollection_AsciiString Reco_DraughtingCallout ("DRAUGHTING_CALLOUT");
1472 static TCollection_AsciiString Reco_DraughtingPreDefinedColour ("DRAUGHTING_PRE_DEFINED_COLOUR");
1473 static TCollection_AsciiString Reco_DraughtingPreDefinedCurveFont ("DRAUGHTING_PRE_DEFINED_CURVE_FONT");
1474 static TCollection_AsciiString Reco_DraughtingSubfigureRepresentation ("DRAUGHTING_SUBFIGURE_REPRESENTATION");
1475 static TCollection_AsciiString Reco_DraughtingSymbolRepresentation ("DRAUGHTING_SYMBOL_REPRESENTATION");
1476 static TCollection_AsciiString Reco_DraughtingTextLiteralWithDelineation ("DRAUGHTING_TEXT_LITERAL_WITH_DELINEATION");
1477 static TCollection_AsciiString Reco_DrawingDefinition ("DRAWING_DEFINITION");
1478 static TCollection_AsciiString Reco_DrawingRevision ("DRAWING_REVISION");
1479 static TCollection_AsciiString Reco_Edge ("EDGE");
1480 static TCollection_AsciiString Reco_EdgeCurve ("EDGE_CURVE");
1481 static TCollection_AsciiString Reco_EdgeLoop ("EDGE_LOOP");
1482 static TCollection_AsciiString Reco_ElementarySurface ("ELEMENTARY_SURFACE");
1483 static TCollection_AsciiString Reco_Ellipse ("ELLIPSE");
1484 static TCollection_AsciiString Reco_EvaluatedDegeneratePcurve ("EVALUATED_DEGENERATE_PCURVE");
1485 static TCollection_AsciiString Reco_ExternalSource ("EXTERNAL_SOURCE");
1486 static TCollection_AsciiString Reco_ExternallyDefinedCurveFont ("EXTERNALLY_DEFINED_CURVE_FONT");
1487 static TCollection_AsciiString Reco_ExternallyDefinedHatchStyle ("EXTERNALLY_DEFINED_HATCH_STYLE");
1488 static TCollection_AsciiString Reco_ExternallyDefinedItem ("EXTERNALLY_DEFINED_ITEM");
1489 static TCollection_AsciiString Reco_ExternallyDefinedSymbol ("EXTERNALLY_DEFINED_SYMBOL");
1490 static TCollection_AsciiString Reco_ExternallyDefinedTextFont ("EXTERNALLY_DEFINED_TEXT_FONT");
1491 static TCollection_AsciiString Reco_ExternallyDefinedTileStyle ("EXTERNALLY_DEFINED_TILE_STYLE");
1492 static TCollection_AsciiString Reco_ExtrudedAreaSolid ("EXTRUDED_AREA_SOLID");
1493 static TCollection_AsciiString Reco_Face ("FACE");
1494 static TCollection_AsciiString Reco_FaceBound ("FACE_BOUND");
1495 static TCollection_AsciiString Reco_FaceOuterBound ("FACE_OUTER_BOUND");
1496 static TCollection_AsciiString Reco_FaceSurface ("FACE_SURFACE");
1497 static TCollection_AsciiString Reco_FacetedBrep ("FACETED_BREP");
1498 static TCollection_AsciiString Reco_FacetedBrepShapeRepresentation ("FACETED_BREP_SHAPE_REPRESENTATION");
1499 static TCollection_AsciiString Reco_FillAreaStyle ("FILL_AREA_STYLE");
1500 static TCollection_AsciiString Reco_FillAreaStyleColour ("FILL_AREA_STYLE_COLOUR");
1501 static TCollection_AsciiString Reco_FillAreaStyleHatching ("FILL_AREA_STYLE_HATCHING");
1502 static TCollection_AsciiString Reco_FillAreaStyleTileSymbolWithStyle ("FILL_AREA_STYLE_TILE_SYMBOL_WITH_STYLE");
1503 static TCollection_AsciiString Reco_FillAreaStyleTiles ("FILL_AREA_STYLE_TILES");
1504 static TCollection_AsciiString Reco_FunctionallyDefinedTransformation ("FUNCTIONALLY_DEFINED_TRANSFORMATION");
1505 static TCollection_AsciiString Reco_GeometricCurveSet ("GEOMETRIC_CURVE_SET");
1506 static TCollection_AsciiString Reco_GeometricRepresentationContext ("GEOMETRIC_REPRESENTATION_CONTEXT");
1507 static TCollection_AsciiString Reco_GeometricRepresentationItem ("GEOMETRIC_REPRESENTATION_ITEM");
1508 static TCollection_AsciiString Reco_GeometricSet ("GEOMETRIC_SET");
1509 static TCollection_AsciiString Reco_GeometricallyBoundedSurfaceShapeRepresentation ("GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION");
1510 static TCollection_AsciiString Reco_GeometricallyBoundedWireframeShapeRepresentation ("GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION");
1511 static TCollection_AsciiString Reco_GlobalUncertaintyAssignedContext ("GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT");
1512 static TCollection_AsciiString Reco_GlobalUnitAssignedContext ("GLOBAL_UNIT_ASSIGNED_CONTEXT");
1513 static TCollection_AsciiString Reco_Group ("GROUP");
1514 static TCollection_AsciiString Reco_GroupAssignment ("GROUP_ASSIGNMENT");
1515 static TCollection_AsciiString Reco_GroupRelationship ("GROUP_RELATIONSHIP");
1516 static TCollection_AsciiString Reco_HalfSpaceSolid ("HALF_SPACE_SOLID");
1517 static TCollection_AsciiString Reco_Hyperbola ("HYPERBOLA");
1518 static TCollection_AsciiString Reco_IntersectionCurve ("INTERSECTION_CURVE");
1519 static TCollection_AsciiString Reco_Invisibility ("INVISIBILITY");
1520 static TCollection_AsciiString Reco_LengthMeasureWithUnit ("LENGTH_MEASURE_WITH_UNIT");
1521 static TCollection_AsciiString Reco_LengthUnit ("LENGTH_UNIT");
1522 static TCollection_AsciiString Reco_Line ("LINE");
1523 static TCollection_AsciiString Reco_LocalTime ("LOCAL_TIME");
1524 static TCollection_AsciiString Reco_Loop ("LOOP");
1525 static TCollection_AsciiString Reco_ManifoldSolidBrep ("MANIFOLD_SOLID_BREP");
1526 static TCollection_AsciiString Reco_ManifoldSurfaceShapeRepresentation ("MANIFOLD_SURFACE_SHAPE_REPRESENTATION");
1527 static TCollection_AsciiString Reco_MappedItem ("MAPPED_ITEM");
1528 static TCollection_AsciiString Reco_MeasureWithUnit ("MEASURE_WITH_UNIT");
1529 static TCollection_AsciiString Reco_MechanicalDesignGeometricPresentationArea ("MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_AREA");
1530 static TCollection_AsciiString Reco_MechanicalDesignGeometricPresentationRepresentation ("MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION");
1531 static TCollection_AsciiString Reco_MechanicalDesignPresentationArea ("MECHANICAL_DESIGN_PRESENTATION_AREA");
1532 static TCollection_AsciiString Reco_NamedUnit ("NAMED_UNIT");
1533 static TCollection_AsciiString Reco_OffsetCurve3d ("OFFSET_CURVE_3D");
1534 static TCollection_AsciiString Reco_OffsetSurface ("OFFSET_SURFACE");
1535 static TCollection_AsciiString Reco_OneDirectionRepeatFactor ("ONE_DIRECTION_REPEAT_FACTOR");
1536 static TCollection_AsciiString Reco_OpenShell ("OPEN_SHELL");
1537 static TCollection_AsciiString Reco_OrdinalDate ("ORDINAL_DATE");
1538 static TCollection_AsciiString Reco_Organization ("ORGANIZATION");
1539 static TCollection_AsciiString Reco_OrganizationAssignment ("ORGANIZATION_ASSIGNMENT");
1540 static TCollection_AsciiString Reco_OrganizationRole ("ORGANIZATION_ROLE");
1541 static TCollection_AsciiString Reco_OrganizationalAddress ("ORGANIZATIONAL_ADDRESS");
1542 static TCollection_AsciiString Reco_OrientedClosedShell ("ORIENTED_CLOSED_SHELL");
1543 static TCollection_AsciiString Reco_OrientedEdge ("ORIENTED_EDGE");
1544 static TCollection_AsciiString Reco_OrientedFace ("ORIENTED_FACE");
1545 static TCollection_AsciiString Reco_OrientedOpenShell ("ORIENTED_OPEN_SHELL");
1546 static TCollection_AsciiString Reco_OrientedPath ("ORIENTED_PATH");
1547 static TCollection_AsciiString Reco_OuterBoundaryCurve ("OUTER_BOUNDARY_CURVE");
1548 static TCollection_AsciiString Reco_OverRidingStyledItem ("OVER_RIDING_STYLED_ITEM");
1549 static TCollection_AsciiString Reco_Parabola ("PARABOLA");
1550 static TCollection_AsciiString Reco_ParametricRepresentationContext ("PARAMETRIC_REPRESENTATION_CONTEXT");
1551 static TCollection_AsciiString Reco_Path ("PATH");
1552 static TCollection_AsciiString Reco_Pcurve ("PCURVE");
1553 static TCollection_AsciiString Reco_Person ("PERSON");
1554 static TCollection_AsciiString Reco_PersonAndOrganization ("PERSON_AND_ORGANIZATION");
1555 static TCollection_AsciiString Reco_PersonAndOrganizationAssignment ("PERSON_AND_ORGANIZATION_ASSIGNMENT");
1556 static TCollection_AsciiString Reco_PersonAndOrganizationRole ("PERSON_AND_ORGANIZATION_ROLE");
1557 static TCollection_AsciiString Reco_PersonalAddress ("PERSONAL_ADDRESS");
1558 static TCollection_AsciiString Reco_Placement ("PLACEMENT");
1559 static TCollection_AsciiString Reco_PlanarBox ("PLANAR_BOX");
1560 static TCollection_AsciiString Reco_PlanarExtent ("PLANAR_EXTENT");
1561 static TCollection_AsciiString Reco_Plane ("PLANE");
1562 static TCollection_AsciiString Reco_PlaneAngleMeasureWithUnit ("PLANE_ANGLE_MEASURE_WITH_UNIT");
1563 static TCollection_AsciiString Reco_PlaneAngleUnit ("PLANE_ANGLE_UNIT");
1564 static TCollection_AsciiString Reco_Point ("POINT");
1565 static TCollection_AsciiString Reco_PointOnCurve ("POINT_ON_CURVE");
1566 static TCollection_AsciiString Reco_PointOnSurface ("POINT_ON_SURFACE");
1567 static TCollection_AsciiString Reco_PointReplica ("POINT_REPLICA");
1568 static TCollection_AsciiString Reco_PointStyle ("POINT_STYLE");
1569 static TCollection_AsciiString Reco_PolyLoop ("POLY_LOOP");
1570 static TCollection_AsciiString Reco_Polyline ("POLYLINE");
1571 static TCollection_AsciiString Reco_PreDefinedColour ("PRE_DEFINED_COLOUR");
1572 static TCollection_AsciiString Reco_PreDefinedCurveFont ("PRE_DEFINED_CURVE_FONT");
1573 static TCollection_AsciiString Reco_PreDefinedItem ("PRE_DEFINED_ITEM");
1574 static TCollection_AsciiString Reco_PreDefinedSymbol ("PRE_DEFINED_SYMBOL");
1575 static TCollection_AsciiString Reco_PreDefinedTextFont ("PRE_DEFINED_TEXT_FONT");
1576 static TCollection_AsciiString Reco_PresentationArea ("PRESENTATION_AREA");
1577 static TCollection_AsciiString Reco_PresentationLayerAssignment ("PRESENTATION_LAYER_ASSIGNMENT");
1578 static TCollection_AsciiString Reco_PresentationRepresentation ("PRESENTATION_REPRESENTATION");
1579 static TCollection_AsciiString Reco_PresentationSet ("PRESENTATION_SET");
1580 static TCollection_AsciiString Reco_PresentationSize ("PRESENTATION_SIZE");
1581 static TCollection_AsciiString Reco_PresentationStyleAssignment ("PRESENTATION_STYLE_ASSIGNMENT");
1582 static TCollection_AsciiString Reco_PresentationStyleByContext ("PRESENTATION_STYLE_BY_CONTEXT");
1583 static TCollection_AsciiString Reco_PresentationView ("PRESENTATION_VIEW");
1584 static TCollection_AsciiString Reco_PresentedItem ("PRESENTED_ITEM");
1585 static TCollection_AsciiString Reco_Product ("PRODUCT");
1586 static TCollection_AsciiString Reco_ProductCategory ("PRODUCT_CATEGORY");
1587 static TCollection_AsciiString Reco_ProductContext ("PRODUCT_CONTEXT");
1588 static TCollection_AsciiString Reco_ProductDataRepresentationView ("PRODUCT_DATA_REPRESENTATION_VIEW");
1589 static TCollection_AsciiString Reco_ProductDefinition ("PRODUCT_DEFINITION");
1590 static TCollection_AsciiString Reco_ProductDefinitionContext ("PRODUCT_DEFINITION_CONTEXT");
1591 static TCollection_AsciiString Reco_ProductDefinitionFormation ("PRODUCT_DEFINITION_FORMATION");
1592 static TCollection_AsciiString Reco_ProductDefinitionFormationWithSpecifiedSource ("PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE");
1593 static TCollection_AsciiString Reco_ProductDefinitionShape ("PRODUCT_DEFINITION_SHAPE");
1594 static TCollection_AsciiString Reco_ProductRelatedProductCategory ("PRODUCT_RELATED_PRODUCT_CATEGORY");
1595 static TCollection_AsciiString Reco_ProductType ("PRODUCT_TYPE");
1596 static TCollection_AsciiString Reco_PropertyDefinition ("PROPERTY_DEFINITION");
1597 static TCollection_AsciiString Reco_PropertyDefinitionRepresentation ("PROPERTY_DEFINITION_REPRESENTATION");
1598 static TCollection_AsciiString Reco_QuasiUniformCurve ("QUASI_UNIFORM_CURVE");
1599 static TCollection_AsciiString Reco_QuasiUniformSurface ("QUASI_UNIFORM_SURFACE");
1600 static TCollection_AsciiString Reco_RatioMeasureWithUnit ("RATIO_MEASURE_WITH_UNIT");
1601 static TCollection_AsciiString Reco_RationalBSplineCurve ("RATIONAL_B_SPLINE_CURVE");
1602 static TCollection_AsciiString Reco_RationalBSplineSurface ("RATIONAL_B_SPLINE_SURFACE");
1603 static TCollection_AsciiString Reco_RectangularCompositeSurface ("RECTANGULAR_COMPOSITE_SURFACE");
1604 static TCollection_AsciiString Reco_RectangularTrimmedSurface ("RECTANGULAR_TRIMMED_SURFACE");
1605 static TCollection_AsciiString Reco_RepItemGroup ("REP_ITEM_GROUP");
1606 static TCollection_AsciiString Reco_ReparametrisedCompositeCurveSegment ("REPARAMETRISED_COMPOSITE_CURVE_SEGMENT");
1607 static TCollection_AsciiString Reco_Representation ("REPRESENTATION");
1608 static TCollection_AsciiString Reco_RepresentationContext ("REPRESENTATION_CONTEXT");
1609 static TCollection_AsciiString Reco_RepresentationItem ("REPRESENTATION_ITEM");
1610 static TCollection_AsciiString Reco_RepresentationMap ("REPRESENTATION_MAP");
1611 static TCollection_AsciiString Reco_RepresentationRelationship ("REPRESENTATION_RELATIONSHIP");
1612 static TCollection_AsciiString Reco_RevolvedAreaSolid ("REVOLVED_AREA_SOLID");
1613 static TCollection_AsciiString Reco_RightAngularWedge ("RIGHT_ANGULAR_WEDGE");
1614 static TCollection_AsciiString Reco_RightCircularCone ("RIGHT_CIRCULAR_CONE");
1615 static TCollection_AsciiString Reco_RightCircularCylinder ("RIGHT_CIRCULAR_CYLINDER");
1616 static TCollection_AsciiString Reco_SeamCurve ("SEAM_CURVE");
1617 static TCollection_AsciiString Reco_SecurityClassification ("SECURITY_CLASSIFICATION");
1618 static TCollection_AsciiString Reco_SecurityClassificationAssignment ("SECURITY_CLASSIFICATION_ASSIGNMENT");
1619 static TCollection_AsciiString Reco_SecurityClassificationLevel ("SECURITY_CLASSIFICATION_LEVEL");
1620 static TCollection_AsciiString Reco_ShapeAspect ("SHAPE_ASPECT");
1621 static TCollection_AsciiString Reco_ShapeAspectRelationship ("SHAPE_ASPECT_RELATIONSHIP");
1622 static TCollection_AsciiString Reco_ShapeAspectTransition ("SHAPE_ASPECT_TRANSITION");
1623 static TCollection_AsciiString Reco_ShapeDefinitionRepresentation ("SHAPE_DEFINITION_REPRESENTATION");
1624 static TCollection_AsciiString Reco_ShapeRepresentation ("SHAPE_REPRESENTATION");
1625 static TCollection_AsciiString Reco_ShellBasedSurfaceModel ("SHELL_BASED_SURFACE_MODEL");
1626 static TCollection_AsciiString Reco_SiUnit ("SI_UNIT");
1627 static TCollection_AsciiString Reco_SolidAngleMeasureWithUnit ("SOLID_ANGLE_MEASURE_WITH_UNIT");
1628 static TCollection_AsciiString Reco_SolidModel ("SOLID_MODEL");
1629 static TCollection_AsciiString Reco_SolidReplica ("SOLID_REPLICA");
1630 static TCollection_AsciiString Reco_Sphere ("SPHERE");
1631 static TCollection_AsciiString Reco_SphericalSurface ("SPHERICAL_SURFACE");
1632 static TCollection_AsciiString Reco_StyledItem ("STYLED_ITEM");
1633 static TCollection_AsciiString Reco_Surface ("SURFACE");
1634 static TCollection_AsciiString Reco_SurfaceCurve ("SURFACE_CURVE");
1635 static TCollection_AsciiString Reco_SurfaceOfLinearExtrusion ("SURFACE_OF_LINEAR_EXTRUSION");
1636 static TCollection_AsciiString Reco_SurfaceOfRevolution ("SURFACE_OF_REVOLUTION");
1637 static TCollection_AsciiString Reco_SurfacePatch ("SURFACE_PATCH");
1638 static TCollection_AsciiString Reco_SurfaceReplica ("SURFACE_REPLICA");
1639 static TCollection_AsciiString Reco_SurfaceSideStyle ("SURFACE_SIDE_STYLE");
1640 static TCollection_AsciiString Reco_SurfaceStyleBoundary ("SURFACE_STYLE_BOUNDARY");
1641 static TCollection_AsciiString Reco_SurfaceStyleControlGrid ("SURFACE_STYLE_CONTROL_GRID");
1642 static TCollection_AsciiString Reco_SurfaceStyleFillArea ("SURFACE_STYLE_FILL_AREA");
1643 static TCollection_AsciiString Reco_SurfaceStyleParameterLine ("SURFACE_STYLE_PARAMETER_LINE");
1644 static TCollection_AsciiString Reco_SurfaceStyleSegmentationCurve ("SURFACE_STYLE_SEGMENTATION_CURVE");
1645 static TCollection_AsciiString Reco_SurfaceStyleSilhouette ("SURFACE_STYLE_SILHOUETTE");
1646 static TCollection_AsciiString Reco_SurfaceStyleUsage ("SURFACE_STYLE_USAGE");
1647 static TCollection_AsciiString Reco_SweptAreaSolid ("SWEPT_AREA_SOLID");
1648 static TCollection_AsciiString Reco_SweptSurface ("SWEPT_SURFACE");
1649 static TCollection_AsciiString Reco_SymbolColour ("SYMBOL_COLOUR");
1650 static TCollection_AsciiString Reco_SymbolRepresentation ("SYMBOL_REPRESENTATION");
1651 static TCollection_AsciiString Reco_SymbolRepresentationMap ("SYMBOL_REPRESENTATION_MAP");
1652 static TCollection_AsciiString Reco_SymbolStyle ("SYMBOL_STYLE");
1653 static TCollection_AsciiString Reco_SymbolTarget ("SYMBOL_TARGET");
1654 static TCollection_AsciiString Reco_Template ("TEMPLATE");
1655 static TCollection_AsciiString Reco_TemplateInstance ("TEMPLATE_INSTANCE");
1656 static TCollection_AsciiString Reco_TerminatorSymbol ("TERMINATOR_SYMBOL");
1657 static TCollection_AsciiString Reco_TextLiteral ("TEXT_LITERAL");
1658 static TCollection_AsciiString Reco_TextLiteralWithAssociatedCurves ("TEXT_LITERAL_WITH_ASSOCIATED_CURVES");
1659 static TCollection_AsciiString Reco_TextLiteralWithBlankingBox ("TEXT_LITERAL_WITH_BLANKING_BOX");
1660 static TCollection_AsciiString Reco_TextLiteralWithDelineation ("TEXT_LITERAL_WITH_DELINEATION");
1661 static TCollection_AsciiString Reco_TextLiteralWithExtent ("TEXT_LITERAL_WITH_EXTENT");
1662 static TCollection_AsciiString Reco_TextStyle ("TEXT_STYLE");
1663 static TCollection_AsciiString Reco_TextStyleForDefinedFont ("TEXT_STYLE_FOR_DEFINED_FONT");
1664 static TCollection_AsciiString Reco_TextStyleWithBoxCharacteristics ("TEXT_STYLE_WITH_BOX_CHARACTERISTICS");
1665 static TCollection_AsciiString Reco_TextStyleWithMirror ("TEXT_STYLE_WITH_MIRROR");
1666 static TCollection_AsciiString Reco_TopologicalRepresentationItem ("TOPOLOGICAL_REPRESENTATION_ITEM");
1667 static TCollection_AsciiString Reco_ToroidalSurface ("TOROIDAL_SURFACE");
1668 static TCollection_AsciiString Reco_Torus ("TORUS");
1669 static TCollection_AsciiString Reco_TransitionalShapeRepresentation ("TRANSITIONAL_SHAPE_REPRESENTATION");
1670 static TCollection_AsciiString Reco_TrimmedCurve ("TRIMMED_CURVE");
1671 static TCollection_AsciiString Reco_TwoDirectionRepeatFactor ("TWO_DIRECTION_REPEAT_FACTOR");
1672 static TCollection_AsciiString Reco_UncertaintyMeasureWithUnit ("UNCERTAINTY_MEASURE_WITH_UNIT");
1673 static TCollection_AsciiString Reco_UniformCurve ("UNIFORM_CURVE");
1674 static TCollection_AsciiString Reco_UniformSurface ("UNIFORM_SURFACE");
1675 static TCollection_AsciiString Reco_Vector ("VECTOR");
1676 static TCollection_AsciiString Reco_Vertex ("VERTEX");
1677 static TCollection_AsciiString Reco_VertexLoop ("VERTEX_LOOP");
1678 static TCollection_AsciiString Reco_VertexPoint ("VERTEX_POINT");
1679 static TCollection_AsciiString Reco_ViewVolume ("VIEW_VOLUME");
1680 static TCollection_AsciiString Reco_WeekOfYearAndDayDate ("WEEK_OF_YEAR_AND_DAY_DATE");
1681
1682 // Added by FMA for Rev4
1683
1684 static TCollection_AsciiString Reco_SolidAngleUnit("SOLID_ANGLE_UNIT");
1685 static TCollection_AsciiString Reco_MechanicalContext("MECHANICAL_CONTEXT");
1686 static TCollection_AsciiString Reco_DesignContext("DESIGN_CONTEXT");
1687
1688 // Added for full Rev4
1689 static TCollection_AsciiString Reco_TimeMeasureWithUnit("TIME_MEASURE_WITH_UNIT");
1690 static TCollection_AsciiString Reco_RatioUnit("RATIO_UNIT");
1691 static TCollection_AsciiString Reco_TimeUnit("TIME_UNIT");
1692 static TCollection_AsciiString Reco_ApprovalDateTime("APPROVAL_DATE_TIME");
1693 static TCollection_AsciiString Reco_CameraImage2dWithScale("CAMERA_IMAGE_2D_WITH_SCALE");
1694 static TCollection_AsciiString Reco_CameraImage3dWithScale("CAMERA_IMAGE_3D_WITH_SCALE");
1695 static TCollection_AsciiString Reco_CartesianTransformationOperator2d("CARTESIAN_TRANSFORMATION_OPERATOR_2D");
1696 static TCollection_AsciiString Reco_DerivedUnit("DERIVED_UNIT");
1697 static TCollection_AsciiString Reco_DerivedUnitElement("DERIVED_UNIT_ELEMENT");
1698 static TCollection_AsciiString Reco_ItemDefinedTransformation("ITEM_DEFINED_TRANSFORMATION");
1699 static TCollection_AsciiString Reco_PresentedItemRepresentation("PRESENTED_ITEM_REPRESENTATION");
1700 static TCollection_AsciiString Reco_PresentationLayerUsage("PRESENTATION_LAYER_USAGE");
1701
1702 // Added for AP214 : CC1 -> CC2
1703
1704 static TCollection_AsciiString Reco_AutoDesignDocumentReference("AUTO_DESIGN_DOCUMENT_REFERENCE");
1705 static TCollection_AsciiString Reco_Document("DOCUMENT");
1706 static TCollection_AsciiString Reco_DigitalDocument("DIGITAL_DOCUMENT");
1707 static TCollection_AsciiString Reco_DocumentRelationship("DOCUMENT_RELATIONSHIP");
1708 static TCollection_AsciiString Reco_DocumentType("DOCUMENT_TYPE");
1709 static TCollection_AsciiString Reco_DocumentUsageConstraint("DOCUMENT_USAGE_CONSTRAINT");
1710 static TCollection_AsciiString Reco_Effectivity("EFFECTIVITY");
1711 static TCollection_AsciiString Reco_ProductDefinitionEffectivity("PRODUCT_DEFINITION_EFFECTIVITY");
1712 static TCollection_AsciiString Reco_ProductDefinitionRelationship("PRODUCT_DEFINITION_RELATIONSHIP");
1713 static TCollection_AsciiString Reco_ProductDefinitionWithAssociatedDocuments("PRODUCT_DEFINITION_WITH_ASSOCIATED_DOCUMENTS");
1714 static TCollection_AsciiString Reco_PhysicallyModeledProductDefinition("PHYSICALLY_MODELED_PRODUCT_DEFINITION");
1715
1716 static TCollection_AsciiString Reco_ProductDefinitionUsage("PRODUCT_DEFINITION_USAGE");
1717 static TCollection_AsciiString Reco_MakeFromUsageOption("MAKE_FROM_USAGE_OPTION");
1718 static TCollection_AsciiString Reco_AssemblyComponentUsage("ASSEMBLY_COMPONENT_USAGE");
1719 static TCollection_AsciiString Reco_NextAssemblyUsageOccurrence("NEXT_ASSEMBLY_USAGE_OCCURRENCE");
1720 static TCollection_AsciiString Reco_PromissoryUsageOccurrence("PROMISSORY_USAGE_OCCURRENCE");
1721 static TCollection_AsciiString Reco_QuantifiedAssemblyComponentUsage("QUANTIFIED_ASSEMBLY_COMPONENT_USAGE");
1722 static TCollection_AsciiString Reco_SpecifiedHigherUsageOccurrence("SPECIFIED_HIGHER_USAGE_OCCURRENCE");
1723 static TCollection_AsciiString Reco_AssemblyComponentUsageSubstitute("ASSEMBLY_COMPONENT_USAGE_SUBSTITUTE");
1724 static TCollection_AsciiString Reco_SuppliedPartRelationship("SUPPLIED_PART_RELATIONSHIP");
1725 static TCollection_AsciiString Reco_ExternallyDefinedRepresentation("EXTERNALLY_DEFINED_REPRESENTATION");
1726 static TCollection_AsciiString Reco_ShapeRepresentationRelationship("SHAPE_REPRESENTATION_RELATIONSHIP");
1727 static TCollection_AsciiString Reco_RepresentationRelationshipWithTransformation("REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION");
1728 static TCollection_AsciiString Reco_MaterialDesignation("MATERIAL_DESIGNATION");
1729 static TCollection_AsciiString Reco_ContextDependentShapeRepresentation ("CONTEXT_DEPENDENT_SHAPE_REPRESENTATION");
1730
1731 // Added from CD To DIS (S4134)
1732 static TCollection_AsciiString Reco_AppliedDateAndTimeAssignment ("APPLIED_DATE_AND_TIME_ASSIGNMENT"); 
1733 static TCollection_AsciiString Reco_AppliedDateAssignment ("APPLIED_DATE_ASSIGNMENT");
1734 static TCollection_AsciiString Reco_AppliedApprovalAssignment ("APPLIED_APPROVAL_ASSIGNMENT");
1735 static TCollection_AsciiString Reco_AppliedDocumentReference ("APPLIED_DOCUMENT_REFERENCE");
1736 static TCollection_AsciiString Reco_AppliedGroupAssignment ("APPLIED_GROUP_ASSIGNMENT");
1737 static TCollection_AsciiString Reco_AppliedOrganizationAssignment ("APPLIED_ORGANIZATION_ASSIGNMENT");
1738 static TCollection_AsciiString Reco_AppliedPersonAndOrganizationAssignment ("APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT");
1739 static TCollection_AsciiString Reco_AppliedPresentedItem ("APPLIED_PRESENTED_ITEM");
1740 static TCollection_AsciiString Reco_AppliedSecurityClassificationAssignment ("APPLIED_SECURITY_CLASSIFICATION_ASSIGNMENT");
1741 static TCollection_AsciiString Reco_DocumentFile ("DOCUMENT_FILE");
1742 static TCollection_AsciiString Reco_CharacterizedObject ("CHARACTERIZED_OBJECT");
1743 static TCollection_AsciiString Reco_ExtrudedFaceSolid ("EXTRUDED_FACE_SOLID");
1744 static TCollection_AsciiString Reco_RevolvedFaceSolid ("REVOLVED_FACE_SOLID");
1745 static TCollection_AsciiString Reco_SweptFaceSolid ("SWEPT_FACE_SOLID");
1746
1747 // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties)
1748 static TCollection_AsciiString Reco_MeasureRepresentationItem ("MEASURE_REPRESENTATION_ITEM");
1749 static TCollection_AsciiString Reco_AreaUnit("AREA_UNIT");
1750 static TCollection_AsciiString Reco_VolumeUnit("VOLUME_UNIT");
1751
1752 // Added by ABV 10.11.99 for AP203
1753 static TCollection_AsciiString Reco_Action ("ACTION");
1754 static TCollection_AsciiString Reco_ActionAssignment ("ACTION_ASSIGNMENT");
1755 static TCollection_AsciiString Reco_ActionMethod ("ACTION_METHOD");
1756 static TCollection_AsciiString Reco_ActionRequestAssignment ("ACTION_REQUEST_ASSIGNMENT");
1757 static TCollection_AsciiString Reco_CcDesignApproval ("CC_DESIGN_APPROVAL");
1758 static TCollection_AsciiString Reco_CcDesignCertification ("CC_DESIGN_CERTIFICATION");
1759 static TCollection_AsciiString Reco_CcDesignContract ("CC_DESIGN_CONTRACT");
1760 static TCollection_AsciiString Reco_CcDesignDateAndTimeAssignment ("CC_DESIGN_DATE_AND_TIME_ASSIGNMENT");
1761 static TCollection_AsciiString Reco_CcDesignPersonAndOrganizationAssignment ("CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT");
1762 static TCollection_AsciiString Reco_CcDesignSecurityClassification ("CC_DESIGN_SECURITY_CLASSIFICATION");
1763 static TCollection_AsciiString Reco_CcDesignSpecificationReference ("CC_DESIGN_SPECIFICATION_REFERENCE");
1764 static TCollection_AsciiString Reco_Certification ("CERTIFICATION");
1765 static TCollection_AsciiString Reco_CertificationAssignment ("CERTIFICATION_ASSIGNMENT");
1766 static TCollection_AsciiString Reco_CertificationType ("CERTIFICATION_TYPE");
1767 static TCollection_AsciiString Reco_Change ("CHANGE");
1768 static TCollection_AsciiString Reco_ChangeRequest ("CHANGE_REQUEST");
1769 static TCollection_AsciiString Reco_ConfigurationDesign ("CONFIGURATION_DESIGN");
1770 static TCollection_AsciiString Reco_ConfigurationEffectivity ("CONFIGURATION_EFFECTIVITY");
1771 static TCollection_AsciiString Reco_Contract ("CONTRACT");
1772 static TCollection_AsciiString Reco_ContractAssignment ("CONTRACT_ASSIGNMENT");
1773 static TCollection_AsciiString Reco_ContractType ("CONTRACT_TYPE");
1774 static TCollection_AsciiString Reco_ProductConcept ("PRODUCT_CONCEPT");
1775 static TCollection_AsciiString Reco_ProductConceptContext ("PRODUCT_CONCEPT_CONTEXT");
1776 static TCollection_AsciiString Reco_StartRequest ("START_REQUEST");
1777 static TCollection_AsciiString Reco_StartWork ("START_WORK");
1778 static TCollection_AsciiString Reco_VersionedActionRequest ("VERSIONED_ACTION_REQUEST");
1779 static TCollection_AsciiString Reco_ProductCategoryRelationship ("PRODUCT_CATEGORY_RELATIONSHIP");
1780 static TCollection_AsciiString Reco_ActionRequestSolution ("ACTION_REQUEST_SOLUTION");
1781 static TCollection_AsciiString Reco_DraughtingModel ("DRAUGHTING_MODEL");
1782 // Added by ABV 18.04.00 for CAX-IF TRJ4
1783 static TCollection_AsciiString Reco_AngularLocation ("ANGULAR_LOCATION");
1784 static TCollection_AsciiString Reco_AngularSize ("ANGULAR_SIZE");
1785 static TCollection_AsciiString Reco_DimensionalCharacteristicRepresentation ("DIMENSIONAL_CHARACTERISTIC_REPRESENTATION");
1786 static TCollection_AsciiString Reco_DimensionalLocation ("DIMENSIONAL_LOCATION");
1787 static TCollection_AsciiString Reco_DimensionalLocationWithPath ("DIMENSIONAL_LOCATION_WITH_PATH");
1788 static TCollection_AsciiString Reco_DimensionalSize ("DIMENSIONAL_SIZE");
1789 static TCollection_AsciiString Reco_DimensionalSizeWithPath ("DIMENSIONAL_SIZE_WITH_PATH");
1790 static TCollection_AsciiString Reco_ShapeDimensionRepresentation ("SHAPE_DIMENSION_REPRESENTATION");
1791 // Added by ABV 10.05.00 for CAX-IF TRJ4 (external references)
1792 static TCollection_AsciiString Reco_DocumentRepresentationType ("DOCUMENT_REPRESENTATION_TYPE");
1793 static TCollection_AsciiString Reco_ObjectRole ("OBJECT_ROLE");
1794 static TCollection_AsciiString Reco_RoleAssociation ("ROLE_ASSOCIATION");
1795 static TCollection_AsciiString Reco_IdentificationRole ("IDENTIFICATION_ROLE");
1796 static TCollection_AsciiString Reco_IdentificationAssignment ("IDENTIFICATION_ASSIGNMENT");
1797 static TCollection_AsciiString Reco_ExternalIdentificationAssignment ("EXTERNAL_IDENTIFICATION_ASSIGNMENT");
1798 static TCollection_AsciiString Reco_EffectivityAssignment ("EFFECTIVITY_ASSIGNMENT");
1799 static TCollection_AsciiString Reco_NameAssignment ("NAME_ASSIGNMENT");
1800 static TCollection_AsciiString Reco_GeneralProperty ("GENERAL_PROPERTY");
1801 static TCollection_AsciiString Reco_Class ("CLASS");
1802 static TCollection_AsciiString Reco_ExternallyDefinedClass ("EXTERNALLY_DEFINED_Class");
1803 static TCollection_AsciiString Reco_ExternallyDefinedGeneralProperty ("EXTERNALLY_DEFINED_GENERAL_PROPERTY");
1804 static TCollection_AsciiString Reco_AppliedExternalIdentificationAssignment ("APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT");
1805 // Added by CKY , 25 APR 2001 for Dimensional Tolerances (CAX-IF TRJ7)
1806 static TCollection_AsciiString Reco_CompositeShapeAspect ("COMPOSITE_SHAPE_ASPECT");
1807 static TCollection_AsciiString Reco_DerivedShapeAspect   ("DERIVED_SHAPE_ASPECT");
1808 static TCollection_AsciiString Reco_Extension  ("EXTENSION");
1809 static TCollection_AsciiString Reco_DirectedDimensionalLocation ("DIRECTED_DIMENSIONAL_LOCATION");
1810 static TCollection_AsciiString Reco_LimitsAndFits  ("LIMITS_AND_FITS");
1811 static TCollection_AsciiString Reco_ToleranceValue ("TOLERANCE_VALUE");
1812 static TCollection_AsciiString Reco_MeasureQualification ("MEASURE_QUALIFICATION");
1813 static TCollection_AsciiString Reco_PlusMinusTolerance   ("PLUS_MINUS_TOLERANCE");
1814 static TCollection_AsciiString Reco_PrecisionQualifier   ("PRECISION_QUALIFIER");
1815 static TCollection_AsciiString Reco_TypeQualifier   ("TYPE_QUALIFIER");
1816 static TCollection_AsciiString Reco_QualifiedRepresentationItem ("QUALIFIED_REPRESENTATION_ITEM");
1817 static TCollection_AsciiString Reco_CompoundRepresentationItem  ("COMPOUND_REPRESENTATION_ITEM");
1818 static TCollection_AsciiString Reco_ValueRange  ("VALUE_RANGE");
1819 static TCollection_AsciiString Reco_ShapeAspectDerivingRelationship ("SHAPE_ASPECT_DERIVING_RELATIONSHIP");
1820
1821 static TCollection_AsciiString Reco_CompoundShapeRepresentation ("COMPOUND_SHAPE_REPRESENTATION");
1822 static TCollection_AsciiString Reco_ConnectedEdgeSet ("CONNECTED_EDGE_SET");
1823 static TCollection_AsciiString Reco_ConnectedFaceShapeRepresentation ("CONNECTED_FACE_SHAPE_REPRESENTATION");
1824 static TCollection_AsciiString Reco_EdgeBasedWireframeModel ("EDGE_BASED_WIREFRAME_MODEL");
1825 static TCollection_AsciiString Reco_EdgeBasedWireframeShapeRepresentation ("EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION");
1826 static TCollection_AsciiString Reco_FaceBasedSurfaceModel ("FACE_BASED_SURFACE_MODEL");
1827 static TCollection_AsciiString Reco_NonManifoldSurfaceShapeRepresentation ("NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION");
1828
1829 //gka 08.01.02
1830 static TCollection_AsciiString Reco_OrientedSurface ("ORIENTED_SURFACE");
1831 static TCollection_AsciiString Reco_Subface ("SUBFACE");
1832 static TCollection_AsciiString Reco_Subedge ("SUBEDGE");
1833 static TCollection_AsciiString Reco_SeamEdge("SEAM_EDGE");
1834 static TCollection_AsciiString Reco_ConnectedFaceSubSet("CONNECTED_FACE_SUB_SET");
1835
1836 //Added for AP209
1837 static TCollection_AsciiString Reco_EulerAngles("EULER_ANGLES");
1838 static TCollection_AsciiString Reco_MassUnit("MASS_UNIT");
1839 static TCollection_AsciiString Reco_MassMeasureWithUnit ("MASS_MEASURE_WITH_UNIT");
1840 static TCollection_AsciiString Reco_ThermodynamicTemperatureUnit("THERMODYNAMIC_TEMPERATURE_UNIT");
1841 static TCollection_AsciiString Reco_AnalysisItemWithinRepresentation("ANALYSIS_ITEM_WITHIN_REPRESENTATION");
1842 static TCollection_AsciiString Reco_Curve3dElementDescriptor("CURVE_3D_ELEMENT_DESCRIPTOR");
1843 static TCollection_AsciiString Reco_CurveElementEndReleasePacket("CURVE_ELEMENT_END_RELEASE_PACKET");
1844 static TCollection_AsciiString Reco_CurveElementSectionDefinition("CURVE_ELEMENT_SECTION_DEFINITION");
1845 static TCollection_AsciiString Reco_CurveElementSectionDerivedDefinitions("CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS");
1846 static TCollection_AsciiString Reco_ElementDescriptor("ELEMENT_DESCRIPTOR");
1847 static TCollection_AsciiString Reco_ElementMaterial("ELEMENT_MATERIAL");
1848 static TCollection_AsciiString Reco_Surface3dElementDescriptor("SURFACE_3D_ELEMENT_DESCRIPTOR");
1849 static TCollection_AsciiString Reco_SurfaceElementProperty("SURFACE_ELEMENT_PROPERTY");
1850 static TCollection_AsciiString Reco_SurfaceSection("SURFACE_SECTION");
1851 static TCollection_AsciiString Reco_SurfaceSectionField("SURFACE_SECTION_FIELD");
1852 static TCollection_AsciiString Reco_SurfaceSectionFieldConstant("SURFACE_SECTION_FIELD_CONSTANT");
1853 static TCollection_AsciiString Reco_SurfaceSectionFieldVarying("SURFACE_SECTION_FIELD_VARYING");
1854 static TCollection_AsciiString Reco_UniformSurfaceSection("UNIFORM_SURFACE_SECTION");
1855 static TCollection_AsciiString Reco_Volume3dElementDescriptor("VOLUME_3D_ELEMENT_DESCRIPTOR");
1856 static TCollection_AsciiString Reco_AlignedCurve3dElementCoordinateSystem("ALIGNED_CURVE_3D_ELEMENT_COORDINATE_SYSTEM");
1857 static TCollection_AsciiString Reco_ArbitraryVolume3dElementCoordinateSystem("ARBITRARY_VOLUME_3D_ELEMENT_COORDINATE_SYSTEM");
1858 static TCollection_AsciiString Reco_Curve3dElementProperty("CURVE_3D_ELEMENT_PROPERTY");
1859 static TCollection_AsciiString Reco_Curve3dElementRepresentation("CURVE_3D_ELEMENT_REPRESENTATION");
1860 static TCollection_AsciiString Reco_Node("NODE");
1861 //static TCollection_AsciiString Reco_CurveElementEndCoordinateSystem(" ");
1862 static TCollection_AsciiString Reco_CurveElementEndOffset("CURVE_ELEMENT_END_OFFSET");
1863 static TCollection_AsciiString Reco_CurveElementEndRelease("CURVE_ELEMENT_END_RELEASE");
1864 static TCollection_AsciiString Reco_CurveElementInterval("CURVE_ELEMENT_INTERVAL");
1865 static TCollection_AsciiString Reco_CurveElementIntervalConstant("CURVE_ELEMENT_INTERVAL_CONSTANT");
1866 static TCollection_AsciiString Reco_DummyNode("DUMMY_NODE");
1867 static TCollection_AsciiString Reco_CurveElementLocation("CURVE_ELEMENT_LOCATION");
1868 static TCollection_AsciiString Reco_ElementGeometricRelationship("ELEMENT_GEOMETRIC_RELATIONSHIP");
1869 static TCollection_AsciiString Reco_ElementGroup("ELEMENT_GROUP");
1870 static TCollection_AsciiString Reco_ElementRepresentation("ELEMENT_REPRESENTATION");
1871 static TCollection_AsciiString Reco_FeaAreaDensity("FEA_AREA_DENSITY");
1872 static TCollection_AsciiString Reco_FeaAxis2Placement3d("FEA_AXIS2_PLACEMENT_3D");
1873 static TCollection_AsciiString Reco_FeaGroup("FEA_GROUP");
1874 static TCollection_AsciiString Reco_FeaLinearElasticity("FEA_LINEAR_ELASTICITY");
1875 static TCollection_AsciiString Reco_FeaMassDensity("FEA_MASS_DENSITY");
1876 static TCollection_AsciiString Reco_FeaMaterialPropertyRepresentation("FEA_MATERIAL_PROPERTY_REPRESENTATION");
1877 static TCollection_AsciiString Reco_FeaMaterialPropertyRepresentationItem("FEA_MATERIAL_PROPERTY_REPRESENTATION_ITEM");
1878 static TCollection_AsciiString Reco_FeaModel("FEA_MODEL");
1879 static TCollection_AsciiString Reco_FeaModel3d("FEA_MODEL_3D");
1880 static TCollection_AsciiString Reco_FeaMoistureAbsorption("FEA_MOISTURE_ABSORPTION");
1881 static TCollection_AsciiString Reco_FeaParametricPoint("FEA_PARAMETRIC_POINT");
1882 static TCollection_AsciiString Reco_FeaRepresentationItem("FEA_REPRESENTATION_ITEM");
1883 static TCollection_AsciiString Reco_FeaSecantCoefficientOfLinearThermalExpansion("FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION");
1884 static TCollection_AsciiString Reco_FeaShellBendingStiffness("FEA_SHELL_BENDING_STIFFNESS");
1885 static TCollection_AsciiString Reco_FeaShellMembraneBendingCouplingStiffness("FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS");
1886 static TCollection_AsciiString Reco_FeaShellMembraneStiffness("FEA_SHELL_MEMBRANE_STIFFNESS");
1887 static TCollection_AsciiString Reco_FeaShellShearStiffness("FEA_SHELL_SHEAR_STIFFNESS");
1888 static TCollection_AsciiString Reco_GeometricNode("GEOMETRIC_NODE");
1889 static TCollection_AsciiString Reco_FeaTangentialCoefficientOfLinearThermalExpansion("FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION");
1890 static TCollection_AsciiString Reco_NodeGroup("NODE_GROUP");
1891 static TCollection_AsciiString Reco_NodeRepresentation("NODE_REPRESENTATION");
1892 static TCollection_AsciiString Reco_NodeSet("NODE_SET");
1893 static TCollection_AsciiString Reco_NodeWithSolutionCoordinateSystem("NODE_WITH_SOLUTION_COORDINATE_SYSTEM");
1894 static TCollection_AsciiString Reco_NodeWithVector("NODE_WITH_VECTOR");
1895 static TCollection_AsciiString Reco_ParametricCurve3dElementCoordinateDirection("PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION");
1896 static TCollection_AsciiString Reco_ParametricCurve3dElementCoordinateSystem("PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM");
1897 static TCollection_AsciiString Reco_ParametricSurface3dElementCoordinateSystem("PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM");
1898 static TCollection_AsciiString Reco_Surface3dElementRepresentation("SURFACE_3D_ELEMENT_REPRESENTATION");
1899 //static TCollection_AsciiString Reco_SymmetricTensor22d(" ");
1900 //static TCollection_AsciiString Reco_SymmetricTensor42d(" ");
1901 //static TCollection_AsciiString Reco_SymmetricTensor43d(" ");
1902 static TCollection_AsciiString Reco_Volume3dElementRepresentation("VOLUME_3D_ELEMENT_REPRESENTATION");
1903 static TCollection_AsciiString Reco_DataEnvironment("DATA_ENVIRONMENT");
1904 static TCollection_AsciiString Reco_MaterialPropertyRepresentation("MATERIAL_PROPERTY_REPRESENTATION");
1905 static TCollection_AsciiString Reco_PropertyDefinitionRelationship("PROPERTY_DEFINITION_RELATIONSHIP");
1906 static TCollection_AsciiString Reco_PointRepresentation("POINT_REPRESENTATION");
1907 static TCollection_AsciiString Reco_MaterialProperty("MATERIAL_PROPERTY");
1908 static TCollection_AsciiString Reco_FeaModelDefinition("FEA_MODEL_DEFINITION");
1909 static TCollection_AsciiString Reco_FreedomAndCoefficient("FREEDOM_AND_COEFFICIENT");
1910 static TCollection_AsciiString Reco_FreedomsList("FREEDOMS_LIST");
1911 static TCollection_AsciiString Reco_ProductDefinitionFormationRelationship("PRODUCT_DEFINITION_FORMATION_RELATIONSHIP");
1912 //static TCollection_AsciiString Reco_FeaModelDefinition("FEA_MODEL_DEFINITION");
1913 static TCollection_AsciiString Reco_NodeDefinition("NODE_DEFINITION");
1914 static TCollection_AsciiString Reco_StructuralResponseProperty("STRUCTURAL_RESPONSE_PROPERTY");
1915 static TCollection_AsciiString Reco_StructuralResponsePropertyDefinitionRepresentation("STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION");
1916 static TCollection_AsciiString Reco_AlignedSurface3dElementCoordinateSystem("ALIGNED_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM");
1917 static TCollection_AsciiString Reco_ConstantSurface3dElementCoordinateSystem("CONSTANT_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM");
1918 static TCollection_AsciiString Reco_CurveElementIntervalLinearlyVarying("CURVE_ELEMENT_INTERVAL_LINEARLY_VARYING");
1919 static TCollection_AsciiString Reco_FeaCurveSectionGeometricRelationship("FEA_CURVE_SECTION_GEOMETRIC_RELATIONSHIP");
1920 static TCollection_AsciiString Reco_FeaSurfaceSectionGeometricRelationship("FEA_SURFACE_SECTION_GEOMETRIC_RELATIONSHIP");
1921
1922 // PTV 28.01.2003 TRJ11 AP214 external references
1923 static TCollection_AsciiString Reco_DocumentProductAssociation ("DOCUMENT_PRODUCT_ASSOCIATION");
1924 static TCollection_AsciiString Reco_DocumentProductEquivalence ("DOCUMENT_PRODUCT_EQUIVALENCE");
1925
1926 // Added by SKL 18.06.2003 for Dimensional Tolerances (CAX-IF TRJ11)
1927 static TCollection_AsciiString Reco_ShapeRepresentationWithParameters("SHAPE_REPRESENTATION_WITH_PARAMETERS");
1928 static TCollection_AsciiString Reco_AngularityTolerance("ANGULARITY_TOLERANCE");
1929 static TCollection_AsciiString Reco_ConcentricityTolerance("CONCENTRICITY_TOLERANCE");
1930 static TCollection_AsciiString Reco_CircularRunoutTolerance("CIRCULAR_RUNOUT_TOLERANCE");
1931 static TCollection_AsciiString Reco_CoaxialityTolerance("COAXIALITY_TOLERANCE");
1932 static TCollection_AsciiString Reco_CylindricityTolerance("CYLINDRICITY_TOLERANCE");
1933 static TCollection_AsciiString Reco_FlatnessTolerance("FLATNESS_TOLERANCE");
1934 static TCollection_AsciiString Reco_LineProfileTolerance("LINE_PROFILE_TOLERANCE");
1935 static TCollection_AsciiString Reco_ParallelismTolerance("PARALLELISM_TOLERANCE");
1936 static TCollection_AsciiString Reco_PerpendicularityTolerance("PERPENDICULARITY_TOLERANCE");
1937 static TCollection_AsciiString Reco_PositionTolerance("POSITION_TOLERANCE");
1938 static TCollection_AsciiString Reco_RoundnessTolerance("ROUNDNESS_TOLERANCE");
1939 static TCollection_AsciiString Reco_StraightnessTolerance("STRAIGHTNESS_TOLERANCE");
1940 static TCollection_AsciiString Reco_SurfaceProfileTolerance("SURFACE_PROFILE_TOLERANCE");
1941 static TCollection_AsciiString Reco_SymmetryTolerance("SYMMETRY_TOLERANCE");
1942 static TCollection_AsciiString Reco_TotalRunoutTolerance("TOTAL_RUNOUT_TOLERANCE");
1943 static TCollection_AsciiString Reco_GeometricTolerance("GEOMETRIC_TOLERANCE");
1944 static TCollection_AsciiString Reco_GeometricToleranceRelationship("GEOMETRIC_TOLERANCE_RELATIONSHIP");
1945 static TCollection_AsciiString Reco_GeometricToleranceWithDatumReference("GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE");
1946 static TCollection_AsciiString Reco_ModifiedGeometricTolerance("MODIFIED_GEOMETRIC_TOLERANCE");
1947 static TCollection_AsciiString Reco_Datum("DATUM");
1948 static TCollection_AsciiString Reco_DatumFeature("DATUM_FEATURE");
1949 static TCollection_AsciiString Reco_DatumReference("DATUM_REFERENCE");
1950 static TCollection_AsciiString Reco_CommonDatum("COMMON_DATUM");
1951 static TCollection_AsciiString Reco_DatumTarget("DATUM_TARGET");
1952 static TCollection_AsciiString Reco_PlacedDatumTargetFeature("PLACED_DATUM_TARGET_FEATURE");
1953
1954 //Added by ika for GD&T AP242
1955 static TCollection_AsciiString Reco_Apex("APEX");
1956 static TCollection_AsciiString Reco_CentreOfSymmetry("CENTRE_OF_SYMMETRY");
1957 static TCollection_AsciiString Reco_GeometricAlignment("GEOMETRIC_ALIGNMENT");
1958 static TCollection_AsciiString Reco_PerpendicularTo("PERPENDICULAR_TO");
1959 static TCollection_AsciiString Reco_Tangent("TANGENT");
1960 static TCollection_AsciiString Reco_ParallelOffset("PARALLEL_OFFSET");
1961 static TCollection_AsciiString Reco_GeometricItemSpecificUsage("GEOMETRIC_ITEM_SPECIFIC_USAGE");
1962 static TCollection_AsciiString Reco_IdAttribute("ID_ATTRIBUTE");
1963 static TCollection_AsciiString Reco_ItemIdentifiedRepresentationUsage("ITEM_IDENTIFIED_REPRESENTATION_USAGE");
1964 static TCollection_AsciiString Reco_AllAroundShapeAspect("ALL_AROUND_SHAPE_ASPECT");
1965 static TCollection_AsciiString Reco_BetweenShapeAspect("BETWEEN_SHAPE_ASPECT");
1966 static TCollection_AsciiString Reco_CompositeGroupShapeAspect("COMPOSITE_GROUP_SHAPE_ASPECT");
1967 static TCollection_AsciiString Reco_ContinuosShapeAspect("CONTINUOUS_SHAPE_ASPECT");
1968 static TCollection_AsciiString Reco_GeometricToleranceWithDefinedAreaUnit("GEOMETRIC_TOLERANCE_WITH_DEFINED_AREA_UNIT");
1969 static TCollection_AsciiString Reco_GeometricToleranceWithDefinedUnit("GEOMETRIC_TOLERANCE_WITH_DEFINED_UNIT");
1970 static TCollection_AsciiString Reco_GeometricToleranceWithMaximumTolerance("GEOMETRIC_TOLERANCE_WITH_MAXIMUM_TOLERANCE");
1971 static TCollection_AsciiString Reco_GeometricToleranceWithModifiers("GEOMETRIC_TOLERANCE_WITH_MODIFIERS");
1972 static TCollection_AsciiString Reco_UnequallyDisposedGeometricTolerance("UNEQUALLY_DISPOSED_GEOMETRIC_TOLERANCE");
1973 static TCollection_AsciiString Reco_NonUniformZoneDefinition("NON_UNIFORM_ZONE_DEFINITION");
1974 static TCollection_AsciiString Reco_ProjectedZoneDefinition("PROJECTED_ZONE_DEFINITION");
1975 static TCollection_AsciiString Reco_RunoutZoneDefinition("RUNOUT_ZONE_DEFINITION");
1976 static TCollection_AsciiString Reco_RunoutZoneOrientation("RUNOUT_ZONE_ORIENTATION");
1977 static TCollection_AsciiString Reco_ToleranceZone("TOLERANCE_ZONE");
1978 static TCollection_AsciiString Reco_ToleranceZoneDefinition("TOLERANCE_ZONE_DEFINITION");
1979 static TCollection_AsciiString Reco_ToleranceZoneForm("TOLERANCE_ZONE_FORM");
1980 static TCollection_AsciiString Reco_ValueFormatTypeQualifier("VALUE_FORMAT_TYPE_QUALIFIER");
1981 static TCollection_AsciiString Reco_DatumReferenceCompartment("DATUM_REFERENCE_COMPARTMENT");
1982 static TCollection_AsciiString Reco_DatumReferenceElement("DATUM_REFERENCE_ELEMENT");
1983 static TCollection_AsciiString Reco_DatumReferenceModifierWithValue("DATUM_REFERENCE_MODIFIER_WITH_VALUE");
1984 static TCollection_AsciiString Reco_DatumSystem("DATUM_SYSTEM");
1985 static TCollection_AsciiString Reco_GeneralDatumReference("GENERAL_DATUM_REFERENCE");
1986 static TCollection_AsciiString Reco_IntegerRepresentationItem("INTEGER_REPRESENTATION_ITEM");
1987 static TCollection_AsciiString Reco_ValueRepresentationItem("VALUE_REPRESENTATION_ITEM");
1988
1989 // -- Definition of the libraries --
1990
1991 static Handle(Dico_DictionaryOfInteger) typenums;
1992 static Handle(Dico_DictionaryOfInteger) typeshor;
1993
1994 RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule ()
1995 {
1996 //  Handle(StepAP214_Protocol) protocol = new StepAP214_Protocol;
1997 //  StepData_WriterLib::SetGlobal(Handle(RWStepAP214_ReadWriteModule)::DownCast(This()),protocol);
1998 //  Interface_ReaderLib::SetGlobal(Handle(RWStepAP214_ReadWriteModule)::DownCast(This()),protocol);
1999   if (!typenums.IsNull()) return;
2000   typenums = new Dico_DictionaryOfInteger;
2001   typenums->SetItem (Reco_CartesianPoint, 59);
2002   typenums->SetItem (Reco_VertexPoint, 316);
2003   typenums->SetItem (Reco_OrientedEdge, 181);
2004   typenums->SetItem (Reco_EdgeCurve, 116);
2005   typenums->SetItem (Reco_SurfaceCurve, 272);
2006   typenums->SetItem (Reco_EdgeLoop, 117);
2007   typenums->SetItem (Reco_AdvancedFace, 3);
2008   typenums->SetItem (Reco_FaceBound, 131);
2009   typenums->SetItem (Reco_FaceOuterBound, 132);
2010   typenums->SetItem (Reco_Direction, 105);
2011   typenums->SetItem (Reco_Vector, 313);
2012   typenums->SetItem (Reco_BSplineCurve, 38);
2013   typenums->SetItem (Reco_BSplineCurveWithKnots, 39);
2014   typenums->SetItem (Reco_BezierCurve, 43);
2015   typenums->SetItem (Reco_Pcurve, 190);
2016   typenums->SetItem (Reco_QuasiUniformCurve, 236);
2017   typenums->SetItem (Reco_RationalBSplineCurve, 239);
2018   typenums->SetItem (Reco_TrimmedCurve, 308);
2019   typenums->SetItem (Reco_UniformCurve, 311);
2020   
2021   typenums->SetItem (Reco_BSplineSurface, 40);
2022   typenums->SetItem (Reco_BSplineSurfaceWithKnots, 41);
2023   typenums->SetItem (Reco_QuasiUniformSurface, 237);
2024   typenums->SetItem (Reco_RationalBSplineSurface, 240);
2025   typenums->SetItem (Reco_UniformSurface, 312);
2026   typenums->SetItem (Reco_BezierSurface, 44);
2027   typenums->SetItem (Reco_ConicalSurface, 75);
2028   typenums->SetItem (Reco_CylindricalSurface, 90);
2029   typenums->SetItem (Reco_SphericalSurface, 269);
2030   typenums->SetItem (Reco_ToroidalSurface, 305);
2031   typenums->SetItem (Reco_SurfaceOfLinearExtrusion, 273);
2032   typenums->SetItem (Reco_SurfaceOfRevolution, 274);
2033   
2034   typenums->SetItem (Reco_Address, 1);
2035   typenums->SetItem (Reco_AdvancedBrepShapeRepresentation, 2);
2036   typenums->SetItem (Reco_AnnotationCurveOccurrence, 4);
2037   typenums->SetItem (Reco_AnnotationFillArea, 5);
2038   typenums->SetItem (Reco_AnnotationFillAreaOccurrence, 6);
2039   typenums->SetItem (Reco_AnnotationOccurrence, 7);
2040   typenums->SetItem (Reco_AnnotationSubfigureOccurrence, 8);
2041   typenums->SetItem (Reco_AnnotationSymbol, 9);
2042   typenums->SetItem (Reco_AnnotationSymbolOccurrence, 10);
2043   typenums->SetItem (Reco_AnnotationText, 11);
2044   typenums->SetItem (Reco_AnnotationTextOccurrence, 12);
2045   typenums->SetItem (Reco_ApplicationContext, 13);
2046   typenums->SetItem (Reco_ApplicationContextElement, 14);
2047   typenums->SetItem (Reco_ApplicationProtocolDefinition, 15);
2048   typenums->SetItem (Reco_Approval, 16);
2049   typenums->SetItem (Reco_ApprovalAssignment, 17);
2050   typenums->SetItem (Reco_ApprovalPersonOrganization, 18);
2051   typenums->SetItem (Reco_ApprovalRelationship, 19);
2052   typenums->SetItem (Reco_ApprovalRole, 20);
2053   typenums->SetItem (Reco_ApprovalStatus, 21);
2054   typenums->SetItem (Reco_AreaInSet, 22);
2055   typenums->SetItem (Reco_AutoDesignActualDateAndTimeAssignment, 23);
2056   typenums->SetItem (Reco_AutoDesignActualDateAssignment, 24);
2057   typenums->SetItem (Reco_AutoDesignApprovalAssignment, 25);
2058   typenums->SetItem (Reco_AutoDesignDateAndPersonAssignment, 26);
2059   typenums->SetItem (Reco_AutoDesignGroupAssignment, 27);
2060   typenums->SetItem (Reco_AutoDesignNominalDateAndTimeAssignment, 28);
2061   typenums->SetItem (Reco_AutoDesignNominalDateAssignment, 29);
2062   typenums->SetItem (Reco_AutoDesignOrganizationAssignment, 30);
2063   typenums->SetItem (Reco_AutoDesignPersonAndOrganizationAssignment, 31);
2064   typenums->SetItem (Reco_AutoDesignPresentedItem, 32);
2065   typenums->SetItem (Reco_AutoDesignSecurityClassificationAssignment, 33);
2066   typenums->SetItem (Reco_AutoDesignViewArea, 34);
2067   typenums->SetItem (Reco_Axis1Placement, 35);
2068   typenums->SetItem (Reco_Axis2Placement2d, 36);
2069   typenums->SetItem (Reco_Axis2Placement3d, 37);
2070   typenums->SetItem (Reco_BackgroundColour, 42);
2071   typenums->SetItem (Reco_Block, 45);
2072   typenums->SetItem (Reco_BooleanResult, 46);
2073   typenums->SetItem (Reco_BoundaryCurve, 47);
2074   typenums->SetItem (Reco_BoundedCurve, 48);
2075   typenums->SetItem (Reco_BoundedSurface, 49);
2076   typenums->SetItem (Reco_BoxDomain, 50);
2077   typenums->SetItem (Reco_BoxedHalfSpace, 51);
2078   typenums->SetItem (Reco_BrepWithVoids, 52);
2079   typenums->SetItem (Reco_CalendarDate, 53);
2080   typenums->SetItem (Reco_CameraImage, 54);
2081   typenums->SetItem (Reco_CameraModel, 55);
2082   typenums->SetItem (Reco_CameraModelD2, 56);
2083   typenums->SetItem (Reco_CameraModelD3, 57);
2084   typenums->SetItem (Reco_CameraUsage, 58);
2085   typenums->SetItem (Reco_CartesianTransformationOperator, 60);
2086   typenums->SetItem (Reco_CartesianTransformationOperator3d, 61);
2087   typenums->SetItem (Reco_Circle, 62);
2088   typenums->SetItem (Reco_ClosedShell, 63);
2089   typenums->SetItem (Reco_Colour, 64);
2090   typenums->SetItem (Reco_ColourRgb, 65);
2091   typenums->SetItem (Reco_ColourSpecification, 66);
2092   typenums->SetItem (Reco_CompositeCurve, 67);
2093   typenums->SetItem (Reco_CompositeCurveOnSurface, 68);
2094   typenums->SetItem (Reco_CompositeCurveSegment, 69);
2095   typenums->SetItem (Reco_CompositeText, 70);
2096   typenums->SetItem (Reco_CompositeTextWithAssociatedCurves, 71);
2097   typenums->SetItem (Reco_CompositeTextWithBlankingBox, 72);
2098   typenums->SetItem (Reco_CompositeTextWithExtent, 73);
2099   typenums->SetItem (Reco_Conic, 74);
2100   typenums->SetItem (Reco_ConnectedFaceSet, 76);
2101   typenums->SetItem (Reco_ContextDependentInvisibility, 77);
2102   typenums->SetItem (Reco_ContextDependentOverRidingStyledItem, 78);
2103   typenums->SetItem (Reco_ConversionBasedUnit, 79);
2104   typenums->SetItem (Reco_CoordinatedUniversalTimeOffset, 80);
2105   typenums->SetItem (Reco_CsgRepresentation, 81);
2106   typenums->SetItem (Reco_CsgShapeRepresentation, 82);
2107   typenums->SetItem (Reco_CsgSolid, 83);
2108   typenums->SetItem (Reco_Curve, 84);
2109   typenums->SetItem (Reco_CurveBoundedSurface, 85);
2110   typenums->SetItem (Reco_CurveReplica, 86);
2111   typenums->SetItem (Reco_CurveStyle, 87);
2112   typenums->SetItem (Reco_CurveStyleFont, 88);
2113   typenums->SetItem (Reco_CurveStyleFontPattern, 89);
2114   typenums->SetItem (Reco_Date, 91);
2115   typenums->SetItem (Reco_DateAndTime, 92);
2116   typenums->SetItem (Reco_DateAndTimeAssignment, 93);
2117   typenums->SetItem (Reco_DateAssignment, 94);
2118   typenums->SetItem (Reco_DateRole, 95);
2119   typenums->SetItem (Reco_DateTimeRole, 96);
2120   typenums->SetItem (Reco_DefinedSymbol, 97);
2121   typenums->SetItem (Reco_DefinitionalRepresentation, 98);
2122   typenums->SetItem (Reco_DegeneratePcurve, 99);
2123   typenums->SetItem (Reco_DegenerateToroidalSurface, 100);
2124   typenums->SetItem (Reco_DescriptiveRepresentationItem, 101);
2125   typenums->SetItem (Reco_DimensionCurve, 102);
2126   typenums->SetItem (Reco_DimensionCurveTerminator, 103);
2127   typenums->SetItem (Reco_DimensionalExponents, 104);
2128   typenums->SetItem (Reco_DraughtingAnnotationOccurrence, 106);
2129   typenums->SetItem (Reco_DraughtingCallout, 107);
2130   typenums->SetItem (Reco_DraughtingPreDefinedColour, 108);
2131   typenums->SetItem (Reco_DraughtingPreDefinedCurveFont, 109);
2132   typenums->SetItem (Reco_DraughtingSubfigureRepresentation, 110);
2133   typenums->SetItem (Reco_DraughtingSymbolRepresentation, 111);
2134   typenums->SetItem (Reco_DraughtingTextLiteralWithDelineation, 112);
2135   typenums->SetItem (Reco_DrawingDefinition, 113);
2136   typenums->SetItem (Reco_DrawingRevision, 114);
2137   typenums->SetItem (Reco_Edge, 115);
2138   typenums->SetItem (Reco_ElementarySurface, 118);
2139   typenums->SetItem (Reco_Ellipse, 119);
2140   typenums->SetItem (Reco_EvaluatedDegeneratePcurve, 120);
2141   typenums->SetItem (Reco_ExternalSource, 121);
2142   typenums->SetItem (Reco_ExternallyDefinedCurveFont, 122);
2143   typenums->SetItem (Reco_ExternallyDefinedHatchStyle, 123);
2144   typenums->SetItem (Reco_ExternallyDefinedItem, 124);
2145   typenums->SetItem (Reco_ExternallyDefinedSymbol, 125);
2146   typenums->SetItem (Reco_ExternallyDefinedTextFont, 126);
2147   typenums->SetItem (Reco_ExternallyDefinedTileStyle, 127);
2148   typenums->SetItem (Reco_ExtrudedAreaSolid, 128);
2149   typenums->SetItem (Reco_Face, 129);
2150   typenums->SetItem (Reco_FaceSurface, 133);
2151   typenums->SetItem (Reco_FacetedBrep, 134);
2152   typenums->SetItem (Reco_FacetedBrepShapeRepresentation, 135);
2153   typenums->SetItem (Reco_FillAreaStyle, 136);
2154   typenums->SetItem (Reco_FillAreaStyleColour, 137);
2155   typenums->SetItem (Reco_FillAreaStyleHatching, 138);
2156   typenums->SetItem (Reco_FillAreaStyleTileSymbolWithStyle, 139);
2157   typenums->SetItem (Reco_FillAreaStyleTiles, 140);
2158   typenums->SetItem (Reco_FunctionallyDefinedTransformation, 141);
2159   typenums->SetItem (Reco_GeometricCurveSet, 142);
2160   typenums->SetItem (Reco_GeometricRepresentationContext, 143);
2161   typenums->SetItem (Reco_GeometricRepresentationItem, 144);
2162   typenums->SetItem (Reco_GeometricSet, 145);
2163   typenums->SetItem (Reco_GeometricallyBoundedSurfaceShapeRepresentation, 146);
2164   typenums->SetItem (Reco_GeometricallyBoundedWireframeShapeRepresentation, 147);
2165   typenums->SetItem (Reco_GlobalUncertaintyAssignedContext, 148);
2166   typenums->SetItem (Reco_GlobalUnitAssignedContext, 149);
2167   typenums->SetItem (Reco_Group, 150);
2168   typenums->SetItem (Reco_GroupAssignment, 151);
2169   typenums->SetItem (Reco_GroupRelationship, 152);
2170   typenums->SetItem (Reco_HalfSpaceSolid, 153);
2171   typenums->SetItem (Reco_Hyperbola, 154);
2172   typenums->SetItem (Reco_IntersectionCurve, 155);
2173   typenums->SetItem (Reco_Invisibility, 156);
2174   typenums->SetItem (Reco_LengthMeasureWithUnit, 157);
2175   typenums->SetItem (Reco_LengthUnit, 158);
2176   typenums->SetItem (Reco_Line, 159);
2177   typenums->SetItem (Reco_LocalTime, 160);
2178   typenums->SetItem (Reco_Loop, 161);
2179   typenums->SetItem (Reco_ManifoldSolidBrep, 162);
2180   typenums->SetItem (Reco_ManifoldSurfaceShapeRepresentation, 163);
2181   typenums->SetItem (Reco_MappedItem, 164);
2182   typenums->SetItem (Reco_MeasureWithUnit, 165);
2183   typenums->SetItem (Reco_MechanicalDesignGeometricPresentationArea, 166);
2184   typenums->SetItem (Reco_MechanicalDesignGeometricPresentationRepresentation, 167);
2185   typenums->SetItem (Reco_MechanicalDesignPresentationArea, 168);
2186   typenums->SetItem (Reco_NamedUnit, 169);
2187   typenums->SetItem (Reco_OffsetCurve3d, 171);
2188   typenums->SetItem (Reco_OffsetSurface, 172);
2189   typenums->SetItem (Reco_OneDirectionRepeatFactor, 173);
2190   typenums->SetItem (Reco_OpenShell, 174);
2191   typenums->SetItem (Reco_OrdinalDate, 175);
2192   typenums->SetItem (Reco_Organization, 176);
2193   typenums->SetItem (Reco_OrganizationAssignment, 177);
2194   typenums->SetItem (Reco_OrganizationRole, 178);
2195   typenums->SetItem (Reco_OrganizationalAddress, 179);
2196   typenums->SetItem (Reco_OrientedClosedShell, 180);
2197   typenums->SetItem (Reco_OrientedFace, 182);
2198   typenums->SetItem (Reco_OrientedOpenShell, 183);
2199   typenums->SetItem (Reco_OrientedPath, 184);
2200   typenums->SetItem (Reco_OuterBoundaryCurve, 185);
2201   typenums->SetItem (Reco_OverRidingStyledItem, 186);
2202   typenums->SetItem (Reco_Parabola, 187);
2203   typenums->SetItem (Reco_ParametricRepresentationContext, 188);
2204   typenums->SetItem (Reco_Path, 189);
2205   typenums->SetItem (Reco_Person, 191);
2206   typenums->SetItem (Reco_PersonAndOrganization, 192);
2207   typenums->SetItem (Reco_PersonAndOrganizationAssignment, 193);
2208   typenums->SetItem (Reco_PersonAndOrganizationRole, 194);
2209   typenums->SetItem (Reco_PersonalAddress, 195);
2210   typenums->SetItem (Reco_Placement, 196);
2211   typenums->SetItem (Reco_PlanarBox, 197);
2212   typenums->SetItem (Reco_PlanarExtent, 198);
2213   typenums->SetItem (Reco_Plane, 199);
2214   typenums->SetItem (Reco_PlaneAngleMeasureWithUnit, 200);
2215   typenums->SetItem (Reco_PlaneAngleUnit, 201);
2216   typenums->SetItem (Reco_Point, 202);
2217   typenums->SetItem (Reco_PointOnCurve, 203);
2218   typenums->SetItem (Reco_PointOnSurface, 204);
2219   typenums->SetItem (Reco_PointReplica, 205);
2220   typenums->SetItem (Reco_PointStyle, 206);
2221   typenums->SetItem (Reco_PolyLoop, 207);
2222   typenums->SetItem (Reco_Polyline, 208);
2223   typenums->SetItem (Reco_PreDefinedColour, 209);
2224   typenums->SetItem (Reco_PreDefinedCurveFont, 210);
2225   typenums->SetItem (Reco_PreDefinedItem, 211);
2226   typenums->SetItem (Reco_PreDefinedSymbol, 212);
2227   typenums->SetItem (Reco_PreDefinedTextFont, 213);
2228   typenums->SetItem (Reco_PresentationArea, 214);
2229   typenums->SetItem (Reco_PresentationLayerAssignment, 215);
2230   typenums->SetItem (Reco_PresentationRepresentation, 216);
2231   typenums->SetItem (Reco_PresentationSet, 217);
2232   typenums->SetItem (Reco_PresentationSize, 218);
2233   typenums->SetItem (Reco_PresentationStyleAssignment, 219);
2234   typenums->SetItem (Reco_PresentationStyleByContext, 220);
2235   typenums->SetItem (Reco_PresentationView, 221);
2236   typenums->SetItem (Reco_PresentedItem, 222);
2237   typenums->SetItem (Reco_Product, 223);
2238   typenums->SetItem (Reco_ProductCategory, 224);
2239   typenums->SetItem (Reco_ProductContext, 225);
2240   typenums->SetItem (Reco_ProductDataRepresentationView, 226);
2241   typenums->SetItem (Reco_ProductDefinition, 227);
2242   typenums->SetItem (Reco_ProductDefinitionContext, 228);
2243   typenums->SetItem (Reco_ProductDefinitionFormation, 229);
2244   typenums->SetItem (Reco_ProductDefinitionFormationWithSpecifiedSource, 230);
2245   typenums->SetItem (Reco_ProductDefinitionShape, 231);
2246   typenums->SetItem (Reco_ProductRelatedProductCategory, 232);
2247   typenums->SetItem (Reco_ProductType, 233);
2248   typenums->SetItem (Reco_PropertyDefinition, 234);
2249   typenums->SetItem (Reco_PropertyDefinitionRepresentation, 235);
2250   typenums->SetItem (Reco_RatioMeasureWithUnit, 238);
2251   typenums->SetItem (Reco_RectangularCompositeSurface, 241);
2252   typenums->SetItem (Reco_RectangularTrimmedSurface, 242);
2253   typenums->SetItem (Reco_RepItemGroup, 243);
2254   typenums->SetItem (Reco_ReparametrisedCompositeCurveSegment, 244);
2255   typenums->SetItem (Reco_Representation, 245);
2256   typenums->SetItem (Reco_RepresentationContext, 246);
2257   typenums->SetItem (Reco_RepresentationItem, 247);
2258   typenums->SetItem (Reco_RepresentationMap, 248);
2259   typenums->SetItem (Reco_RepresentationRelationship, 249);
2260   typenums->SetItem (Reco_RevolvedAreaSolid, 250);
2261   typenums->SetItem (Reco_RightAngularWedge, 251);
2262   typenums->SetItem (Reco_RightCircularCone, 252);
2263   typenums->SetItem (Reco_RightCircularCylinder, 253);
2264   typenums->SetItem (Reco_SeamCurve, 254);
2265   typenums->SetItem (Reco_SecurityClassification, 255);
2266   typenums->SetItem (Reco_SecurityClassificationAssignment, 256);
2267   typenums->SetItem (Reco_SecurityClassificationLevel, 257);
2268   typenums->SetItem (Reco_ShapeAspect, 258);
2269   typenums->SetItem (Reco_ShapeAspectRelationship, 259);
2270   typenums->SetItem (Reco_ShapeAspectTransition, 260);
2271   typenums->SetItem (Reco_ShapeDefinitionRepresentation, 261);
2272   typenums->SetItem (Reco_ShapeRepresentation, 262);
2273   typenums->SetItem (Reco_ShellBasedSurfaceModel, 263);
2274   typenums->SetItem (Reco_SiUnit, 264);
2275   typenums->SetItem (Reco_SolidAngleMeasureWithUnit, 265);
2276   typenums->SetItem (Reco_SolidModel, 266);
2277   typenums->SetItem (Reco_SolidReplica, 267);
2278   typenums->SetItem (Reco_Sphere, 268);
2279   typenums->SetItem (Reco_StyledItem, 270);
2280   typenums->SetItem (Reco_Surface, 271);
2281   typenums->SetItem (Reco_SurfacePatch, 275);
2282   typenums->SetItem (Reco_SurfaceReplica, 276);
2283   typenums->SetItem (Reco_SurfaceSideStyle, 277);
2284   typenums->SetItem (Reco_SurfaceStyleBoundary, 278);
2285   typenums->SetItem (Reco_SurfaceStyleControlGrid, 279);
2286   typenums->SetItem (Reco_SurfaceStyleFillArea, 280);
2287   typenums->SetItem (Reco_SurfaceStyleParameterLine, 281);
2288   typenums->SetItem (Reco_SurfaceStyleSegmentationCurve, 282);
2289   typenums->SetItem (Reco_SurfaceStyleSilhouette, 283);
2290   typenums->SetItem (Reco_SurfaceStyleUsage, 284);
2291   typenums->SetItem (Reco_SweptAreaSolid, 285);
2292   typenums->SetItem (Reco_SweptSurface, 286);
2293   typenums->SetItem (Reco_SymbolColour, 287);
2294   typenums->SetItem (Reco_SymbolRepresentation, 288);
2295   typenums->SetItem (Reco_SymbolRepresentationMap, 289);
2296   typenums->SetItem (Reco_SymbolStyle, 290);
2297   typenums->SetItem (Reco_SymbolTarget, 291);
2298   typenums->SetItem (Reco_Template, 292);
2299   typenums->SetItem (Reco_TemplateInstance, 293);
2300   typenums->SetItem (Reco_TerminatorSymbol, 294);
2301   typenums->SetItem (Reco_TextLiteral, 295);
2302   typenums->SetItem (Reco_TextLiteralWithAssociatedCurves, 296);
2303   typenums->SetItem (Reco_TextLiteralWithBlankingBox, 297);
2304   typenums->SetItem (Reco_TextLiteralWithDelineation, 298);
2305   typenums->SetItem (Reco_TextLiteralWithExtent, 299);
2306   typenums->SetItem (Reco_TextStyle, 300);
2307   typenums->SetItem (Reco_TextStyleForDefinedFont, 301);
2308   typenums->SetItem (Reco_TextStyleWithBoxCharacteristics, 302);
2309   typenums->SetItem (Reco_TextStyleWithMirror, 303);
2310   typenums->SetItem (Reco_TopologicalRepresentationItem, 304);
2311   typenums->SetItem (Reco_Torus, 306);
2312   typenums->SetItem (Reco_TransitionalShapeRepresentation, 307);
2313   typenums->SetItem (Reco_TwoDirectionRepeatFactor, 309);
2314   typenums->SetItem (Reco_UncertaintyMeasureWithUnit, 310);
2315   typenums->SetItem (Reco_Vertex, 314);
2316   typenums->SetItem (Reco_VertexLoop, 315);
2317   typenums->SetItem (Reco_ViewVolume, 317);
2318   typenums->SetItem (Reco_WeekOfYearAndDayDate, 318);
2319   // Added by FMA  for Rev4
2320   typenums->SetItem (Reco_SolidAngleUnit, 336);
2321   typenums->SetItem (Reco_MechanicalContext, 339);
2322   typenums->SetItem (Reco_DesignContext, 340);    // by CKY
2323   // full Rev4 (simple types)
2324   typenums->SetItem (Reco_TimeMeasureWithUnit, 341);
2325   typenums->SetItem (Reco_RatioUnit, 342);
2326   typenums->SetItem (Reco_TimeUnit, 343);
2327   typenums->SetItem (Reco_ApprovalDateTime, 348);
2328   typenums->SetItem (Reco_CameraImage2dWithScale, 349);
2329   typenums->SetItem (Reco_CameraImage3dWithScale, 350);
2330   typenums->SetItem (Reco_CartesianTransformationOperator2d, 351);
2331   typenums->SetItem (Reco_DerivedUnit, 352);
2332   typenums->SetItem (Reco_DerivedUnitElement, 353);
2333   typenums->SetItem (Reco_ItemDefinedTransformation, 354);
2334   typenums->SetItem (Reco_PresentedItemRepresentation, 355);
2335   typenums->SetItem (Reco_PresentationLayerUsage, 356);
2336
2337 //  AP214 : CC1 -> CC2
2338
2339   typenums->SetItem (Reco_AutoDesignDocumentReference, 366);
2340
2341   typenums->SetItem (Reco_Document, 367);
2342   typenums->SetItem (Reco_DigitalDocument, 368);
2343   typenums->SetItem (Reco_DocumentRelationship, 369);
2344   typenums->SetItem (Reco_DocumentType, 370);
2345   typenums->SetItem (Reco_DocumentUsageConstraint, 371);
2346   typenums->SetItem (Reco_Effectivity, 372);
2347   typenums->SetItem (Reco_ProductDefinitionEffectivity, 373);
2348   typenums->SetItem (Reco_ProductDefinitionRelationship, 374);
2349
2350   typenums->SetItem (Reco_ProductDefinitionWithAssociatedDocuments, 375);
2351   typenums->SetItem (Reco_PhysicallyModeledProductDefinition, 376);
2352
2353   typenums->SetItem (Reco_ProductDefinitionUsage, 377);
2354   typenums->SetItem (Reco_MakeFromUsageOption, 378);
2355   typenums->SetItem (Reco_AssemblyComponentUsage, 379);
2356   typenums->SetItem (Reco_NextAssemblyUsageOccurrence, 380);
2357   typenums->SetItem (Reco_PromissoryUsageOccurrence, 381);
2358   typenums->SetItem (Reco_QuantifiedAssemblyComponentUsage, 382);
2359   typenums->SetItem (Reco_SpecifiedHigherUsageOccurrence, 383);
2360   typenums->SetItem (Reco_AssemblyComponentUsageSubstitute, 384);
2361   typenums->SetItem (Reco_SuppliedPartRelationship, 385);
2362   typenums->SetItem (Reco_ExternallyDefinedRepresentation, 386);
2363   typenums->SetItem (Reco_ShapeRepresentationRelationship, 387);
2364   typenums->SetItem (Reco_RepresentationRelationshipWithTransformation, 388);
2365   typenums->SetItem (Reco_MaterialDesignation, 390);
2366
2367   typenums->SetItem (Reco_ContextDependentShapeRepresentation, 391);
2368   //Added from CD to DIS (S4134)
2369   typenums->SetItem (Reco_AppliedDateAndTimeAssignment, 392); 
2370   typenums->SetItem (Reco_AppliedDateAssignment, 393);
2371   typenums->SetItem (Reco_AppliedApprovalAssignment, 394);
2372   typenums->SetItem (Reco_AppliedGroupAssignment, 395);
2373   typenums->SetItem (Reco_AppliedOrganizationAssignment, 396);
2374   typenums->SetItem (Reco_AppliedPersonAndOrganizationAssignment, 397);
2375   typenums->SetItem (Reco_AppliedPresentedItem, 398);
2376   typenums->SetItem (Reco_AppliedSecurityClassificationAssignment, 399);
2377   typenums->SetItem (Reco_AppliedDocumentReference, 400);
2378   typenums->SetItem (Reco_DocumentFile, 401);
2379   typenums->SetItem (Reco_CharacterizedObject, 402);
2380   typenums->SetItem (Reco_ExtrudedFaceSolid, 403);
2381   typenums->SetItem (Reco_RevolvedFaceSolid, 404);
2382   typenums->SetItem (Reco_SweptFaceSolid, 405);
2383   
2384   // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties)
2385   typenums->SetItem (Reco_MeasureRepresentationItem, 406);
2386   typenums->SetItem (Reco_AreaUnit,407);
2387   typenums->SetItem (Reco_VolumeUnit,408);
2388
2389   // Added by ABV 10.11.99 for AP203
2390   typenums->SetItem (Reco_Action,413);
2391   typenums->SetItem (Reco_ActionAssignment,414);
2392   typenums->SetItem (Reco_ActionMethod,415);
2393   typenums->SetItem (Reco_ActionRequestAssignment,416);
2394   typenums->SetItem (Reco_CcDesignApproval,417);
2395   typenums->SetItem (Reco_CcDesignCertification,418);
2396   typenums->SetItem (Reco_CcDesignContract,419);
2397   typenums->SetItem (Reco_CcDesignDateAndTimeAssignment,420);
2398   typenums->SetItem (Reco_CcDesignPersonAndOrganizationAssignment,421);
2399   typenums->SetItem (Reco_CcDesignSecurityClassification,422);
2400   typenums->SetItem (Reco_CcDesignSpecificationReference,423);
2401   typenums->SetItem (Reco_Certification,424);
2402   typenums->SetItem (Reco_CertificationAssignment,425);
2403   typenums->SetItem (Reco_CertificationType,426);
2404   typenums->SetItem (Reco_Change,427);
2405   typenums->SetItem (Reco_ChangeRequest,428);
2406   typenums->SetItem (Reco_ConfigurationDesign,429);
2407   typenums->SetItem (Reco_ConfigurationEffectivity,430);
2408   typenums->SetItem (Reco_Contract,431);
2409   typenums->SetItem (Reco_ContractAssignment,432);
2410   typenums->SetItem (Reco_ContractType,433);
2411   typenums->SetItem (Reco_ProductConcept,434);
2412   typenums->SetItem (Reco_ProductConceptContext,435);
2413   typenums->SetItem (Reco_StartRequest,436);
2414   typenums->SetItem (Reco_StartWork,437);
2415   typenums->SetItem (Reco_VersionedActionRequest,438);
2416   typenums->SetItem (Reco_ProductCategoryRelationship,439);
2417   typenums->SetItem (Reco_ActionRequestSolution,440);
2418   typenums->SetItem (Reco_DraughtingModel,441);
2419
2420   typenums->SetItem (Reco_AngularLocation,442);
2421   typenums->SetItem (Reco_AngularSize,443);
2422   typenums->SetItem (Reco_DimensionalCharacteristicRepresentation,444);
2423   typenums->SetItem (Reco_DimensionalLocation,445);
2424   typenums->SetItem (Reco_DimensionalLocationWithPath,446);
2425   typenums->SetItem (Reco_DimensionalSize,447);
2426   typenums->SetItem (Reco_DimensionalSizeWithPath,448);
2427   typenums->SetItem (Reco_ShapeDimensionRepresentation,449);
2428
2429   // Added by ABV 10.05.00 for CAX-IF TRJ4 (external references)
2430   typenums->SetItem (Reco_DocumentRepresentationType,450);
2431   typenums->SetItem (Reco_ObjectRole,451);
2432   typenums->SetItem (Reco_RoleAssociation,452);
2433   typenums->SetItem (Reco_IdentificationRole,453);
2434   typenums->SetItem (Reco_IdentificationAssignment,454);
2435   typenums->SetItem (Reco_ExternalIdentificationAssignment,455);
2436   typenums->SetItem (Reco_EffectivityAssignment,456);
2437   typenums->SetItem (Reco_NameAssignment,457);
2438   typenums->SetItem (Reco_GeneralProperty,458);
2439   typenums->SetItem (Reco_Class,459);
2440   typenums->SetItem (Reco_ExternallyDefinedClass,460);
2441   typenums->SetItem (Reco_ExternallyDefinedGeneralProperty,461);
2442   typenums->SetItem (Reco_AppliedExternalIdentificationAssignment,462);
2443
2444   // Added by CKY, 25 APR 2001 for CAX-IF TRJ7 (dimensional tolerances)
2445   typenums->SetItem (Reco_CompositeShapeAspect,470);
2446   typenums->SetItem (Reco_DerivedShapeAspect,471);
2447   typenums->SetItem (Reco_Extension,472);
2448   typenums->SetItem (Reco_DirectedDimensionalLocation,473);
2449   typenums->SetItem (Reco_LimitsAndFits,474);
2450   typenums->SetItem (Reco_ToleranceValue,475);
2451   typenums->SetItem (Reco_MeasureQualification,476);
2452   typenums->SetItem (Reco_PlusMinusTolerance,477);
2453   typenums->SetItem (Reco_PrecisionQualifier,478);
2454   typenums->SetItem (Reco_TypeQualifier,479);
2455   typenums->SetItem (Reco_QualifiedRepresentationItem,480);
2456
2457   typenums->SetItem (Reco_CompoundRepresentationItem,482);
2458   typenums->SetItem (Reco_ValueRange,483);
2459   typenums->SetItem (Reco_ShapeAspectDerivingRelationship,484);
2460
2461   // abv 27.12.01
2462   typenums->SetItem (Reco_CompoundShapeRepresentation,485);
2463   typenums->SetItem (Reco_ConnectedEdgeSet,486);
2464   typenums->SetItem (Reco_ConnectedFaceShapeRepresentation,487);
2465   typenums->SetItem (Reco_EdgeBasedWireframeModel,488);
2466   typenums->SetItem (Reco_EdgeBasedWireframeShapeRepresentation,489);
2467   typenums->SetItem (Reco_FaceBasedSurfaceModel,490);
2468   typenums->SetItem (Reco_NonManifoldSurfaceShapeRepresentation,491);
2469         
2470   
2471   // gka 08.01.02
2472   typenums->SetItem (Reco_OrientedSurface,492);
2473   typenums->SetItem (Reco_Subface,493);
2474   typenums->SetItem (Reco_Subedge,494);
2475   typenums->SetItem (Reco_SeamEdge,495);
2476   typenums->SetItem (Reco_ConnectedFaceSubSet,496);
2477
2478   //AP209
2479   typenums->SetItem (Reco_EulerAngles,500);
2480   typenums->SetItem (Reco_MassUnit,501);
2481   typenums->SetItem (Reco_ThermodynamicTemperatureUnit,502);
2482   typenums->SetItem (Reco_AnalysisItemWithinRepresentation,503);
2483   typenums->SetItem (Reco_Curve3dElementDescriptor,504);
2484   typenums->SetItem (Reco_CurveElementEndReleasePacket,505);
2485   typenums->SetItem (Reco_CurveElementSectionDefinition,506);
2486   typenums->SetItem (Reco_CurveElementSectionDerivedDefinitions,507);
2487   typenums->SetItem (Reco_ElementDescriptor,508);
2488   typenums->SetItem (Reco_ElementMaterial,509);
2489   typenums->SetItem (Reco_Surface3dElementDescriptor,510);
2490   typenums->SetItem (Reco_SurfaceElementProperty,511);
2491   typenums->SetItem (Reco_SurfaceSection,512);
2492   typenums->SetItem (Reco_SurfaceSectionField,513);
2493   typenums->SetItem (Reco_SurfaceSectionFieldConstant,514);
2494   typenums->SetItem (Reco_SurfaceSectionFieldVarying,515);
2495   typenums->SetItem (Reco_UniformSurfaceSection,516);
2496   typenums->SetItem (Reco_Volume3dElementDescriptor,517);
2497   typenums->SetItem (Reco_AlignedCurve3dElementCoordinateSystem,518);
2498   typenums->SetItem (Reco_ArbitraryVolume3dElementCoordinateSystem,519);
2499   typenums->SetItem (Reco_Curve3dElementProperty,520);
2500   typenums->SetItem (Reco_Curve3dElementRepresentation,521);
2501   typenums->SetItem (Reco_Node,522);
2502 //  typenums->SetItem (Reco_CurveElementEndCoordinateSystem,523);
2503   typenums->SetItem (Reco_CurveElementEndOffset,524);
2504   typenums->SetItem (Reco_CurveElementEndRelease,525);
2505   typenums->SetItem (Reco_CurveElementInterval,526);
2506   typenums->SetItem (Reco_CurveElementIntervalConstant,527);
2507   typenums->SetItem (Reco_DummyNode,528);
2508   typenums->SetItem (Reco_CurveElementLocation,529);
2509   typenums->SetItem (Reco_ElementGeometricRelationship,530);
2510   typenums->SetItem (Reco_ElementGroup,531);
2511   typenums->SetItem (Reco_ElementRepresentation,532);
2512   typenums->SetItem (Reco_FeaAreaDensity,533);
2513   typenums->SetItem (Reco_FeaAxis2Placement3d,534);
2514   typenums->SetItem (Reco_FeaGroup,535);
2515   typenums->SetItem (Reco_FeaLinearElasticity,536);
2516   typenums->SetItem (Reco_FeaMassDensity,537);
2517   typenums->SetItem (Reco_FeaMaterialPropertyRepresentation,538);
2518   typenums->SetItem (Reco_FeaMaterialPropertyRepresentationItem,539);
2519   typenums->SetItem (Reco_FeaModel,540);
2520   typenums->SetItem (Reco_FeaModel3d,541);
2521   typenums->SetItem (Reco_FeaMoistureAbsorption,542);
2522   typenums->SetItem (Reco_FeaParametricPoint,543);
2523   typenums->SetItem (Reco_FeaRepresentationItem,544);
2524   typenums->SetItem (Reco_FeaSecantCoefficientOfLinearThermalExpansion,545);
2525   typenums->SetItem (Reco_FeaShellBendingStiffness,546);
2526   typenums->SetItem (Reco_FeaShellMembraneBendingCouplingStiffness,547);
2527   typenums->SetItem (Reco_FeaShellMembraneStiffness,548);
2528   typenums->SetItem (Reco_FeaShellShearStiffness,549);
2529   typenums->SetItem (Reco_GeometricNode,550);
2530   typenums->SetItem (Reco_FeaTangentialCoefficientOfLinearThermalExpansion,551);
2531   typenums->SetItem (Reco_NodeGroup,552);
2532   typenums->SetItem (Reco_NodeRepresentation,553);
2533   typenums->SetItem (Reco_NodeSet,554);
2534   typenums->SetItem (Reco_NodeWithSolutionCoordinateSystem,555);
2535   typenums->SetItem (Reco_NodeWithVector,556);
2536   typenums->SetItem (Reco_ParametricCurve3dElementCoordinateDirection,557);
2537   typenums->SetItem (Reco_ParametricCurve3dElementCoordinateSystem,558);
2538   typenums->SetItem (Reco_ParametricSurface3dElementCoordinateSystem,559);
2539   typenums->SetItem (Reco_Surface3dElementRepresentation,560);
2540 //  typenums->SetItem (Reco_SymmetricTensor22d,561);
2541 //  typenums->SetItem (Reco_SymmetricTensor42d,562);
2542 //  typenums->SetItem (Reco_SymmetricTensor43d,563);
2543   typenums->SetItem (Reco_Volume3dElementRepresentation,564);
2544   typenums->SetItem (Reco_DataEnvironment,565);
2545   typenums->SetItem (Reco_MaterialPropertyRepresentation,566);
2546   typenums->SetItem (Reco_PropertyDefinitionRelationship,567);
2547   typenums->SetItem (Reco_PointRepresentation,568);
2548   typenums->SetItem (Reco_MaterialProperty,569);
2549   typenums->SetItem (Reco_FeaModelDefinition,570);
2550   typenums->SetItem (Reco_FreedomAndCoefficient,571);
2551   typenums->SetItem (Reco_FreedomsList,572);
2552   typenums->SetItem (Reco_ProductDefinitionFormationRelationship,573);
2553 //  typenums->SetItem (Reco_FeaModelDefinition,574);
2554   typenums->SetItem (Reco_NodeDefinition,575);
2555   typenums->SetItem (Reco_StructuralResponseProperty,576);
2556   typenums->SetItem (Reco_StructuralResponsePropertyDefinitionRepresentation,577);
2557   typenums->SetItem (Reco_AlignedSurface3dElementCoordinateSystem,579);
2558   typenums->SetItem (Reco_ConstantSurface3dElementCoordinateSystem,580);
2559   typenums->SetItem (Reco_CurveElementIntervalLinearlyVarying,581);
2560   typenums->SetItem (Reco_FeaCurveSectionGeometricRelationship,582);
2561   typenums->SetItem (Reco_FeaSurfaceSectionGeometricRelationship,583);
2562   
2563   // ptv 28.01.2003
2564   typenums->SetItem (Reco_DocumentProductAssociation,600);
2565   typenums->SetItem (Reco_DocumentProductEquivalence,601);  
2566   
2567   // Added by SKL 18.06.2003 for Dimensional Tolerances (CAX-IF TRJ11)
2568   typenums->SetItem (Reco_CylindricityTolerance,609);
2569   typenums->SetItem (Reco_ShapeRepresentationWithParameters,610);
2570   typenums->SetItem (Reco_AngularityTolerance,611);
2571   typenums->SetItem (Reco_ConcentricityTolerance,612);
2572   typenums->SetItem (Reco_CircularRunoutTolerance,613);
2573   typenums->SetItem (Reco_CoaxialityTolerance,614);
2574   typenums->SetItem (Reco_FlatnessTolerance,615);
2575   typenums->SetItem (Reco_LineProfileTolerance,616);
2576   typenums->SetItem (Reco_ParallelismTolerance,617);
2577   typenums->SetItem (Reco_PerpendicularityTolerance,618);
2578   typenums->SetItem (Reco_PositionTolerance,619);
2579   typenums->SetItem (Reco_RoundnessTolerance,620);
2580   typenums->SetItem (Reco_StraightnessTolerance,621);
2581   typenums->SetItem (Reco_SurfaceProfileTolerance,622);
2582   typenums->SetItem (Reco_SymmetryTolerance,623);
2583   typenums->SetItem (Reco_TotalRunoutTolerance,624);
2584   typenums->SetItem (Reco_GeometricTolerance,625);
2585   typenums->SetItem (Reco_GeometricToleranceRelationship,626);
2586   typenums->SetItem (Reco_GeometricToleranceWithDatumReference,627);
2587   typenums->SetItem (Reco_ModifiedGeometricTolerance,628);
2588   typenums->SetItem (Reco_Datum,629);
2589   typenums->SetItem (Reco_DatumFeature,630);
2590   typenums->SetItem (Reco_DatumReference,631);
2591   typenums->SetItem (Reco_CommonDatum,632);
2592   typenums->SetItem (Reco_DatumTarget,633);
2593   typenums->SetItem (Reco_PlacedDatumTargetFeature,634);
2594
2595   typenums->SetItem (Reco_MassMeasureWithUnit,651);
2596
2597   //Added by ika for GD&T AP242
2598   typenums->SetItem (Reco_Apex, 660);
2599   typenums->SetItem (Reco_CentreOfSymmetry, 661);
2600   typenums->SetItem (Reco_GeometricAlignment, 662);
2601   typenums->SetItem (Reco_PerpendicularTo, 663);
2602   typenums->SetItem (Reco_Tangent, 664);
2603   typenums->SetItem (Reco_ParallelOffset, 665);
2604   typenums->SetItem (Reco_GeometricItemSpecificUsage, 666);
2605   typenums->SetItem (Reco_IdAttribute, 667);
2606   typenums->SetItem (Reco_ItemIdentifiedRepresentationUsage, 668);
2607   typenums->SetItem (Reco_AllAroundShapeAspect, 669);
2608   typenums->SetItem (Reco_BetweenShapeAspect, 670);
2609   typenums->SetItem (Reco_CompositeGroupShapeAspect, 671);
2610   typenums->SetItem (Reco_ContinuosShapeAspect, 672);
2611   typenums->SetItem (Reco_GeometricToleranceWithDefinedAreaUnit, 673);
2612   typenums->SetItem (Reco_GeometricToleranceWithDefinedUnit, 674);
2613   typenums->SetItem (Reco_GeometricToleranceWithMaximumTolerance, 675);
2614   typenums->SetItem (Reco_GeometricToleranceWithModifiers, 676);
2615   typenums->SetItem (Reco_UnequallyDisposedGeometricTolerance, 677);
2616   typenums->SetItem (Reco_NonUniformZoneDefinition, 678);
2617   typenums->SetItem (Reco_ProjectedZoneDefinition, 679);
2618   typenums->SetItem (Reco_RunoutZoneDefinition, 680);
2619   typenums->SetItem (Reco_RunoutZoneOrientation, 681);
2620   typenums->SetItem (Reco_ToleranceZone, 682);
2621   typenums->SetItem (Reco_ToleranceZoneDefinition, 683);
2622   typenums->SetItem (Reco_ToleranceZoneForm, 684);
2623   typenums->SetItem (Reco_ValueFormatTypeQualifier, 685);
2624   typenums->SetItem (Reco_DatumReferenceCompartment, 686);
2625   typenums->SetItem (Reco_DatumReferenceElement, 687);
2626   typenums->SetItem (Reco_DatumReferenceModifierWithValue, 688);
2627   typenums->SetItem (Reco_DatumSystem, 689);
2628   typenums->SetItem (Reco_GeneralDatumReference, 690);
2629   typenums->SetItem (Reco_IntegerRepresentationItem, 700);
2630   typenums->SetItem (Reco_ValueRepresentationItem, 701);
2631
2632 //    SHORT NAMES
2633 //    NB : la liste est celle de AP203
2634 //    Directement exploite pour les types simples
2635 //    Pour les types complexes, l option prise est de convertir les noms courts
2636 //    en noms longs et de refaire l essai
2637
2638   typeshor = new Dico_DictionaryOfInteger;
2639
2640 //203  typeshor->SetItem ("ACTASS",ACTION_ASSIGNMENT);
2641 //203  typeshor->SetItem ("ACTDRC",ACTION_DIRECTIVE);
2642 //203  typeshor->SetItem ("ACTMTH",ACTION_METHOD);
2643 //203  typeshor->SetItem ("ACRQAS",ACTION_REQUEST_ASSIGNMENT);
2644 //203  typeshor->SetItem ("ACRQSL",ACTION_REQUEST_SOLUTION);
2645 //203  typeshor->SetItem ("ACRQST",ACTION_REQUEST_STATUS);
2646 //203  typeshor->SetItem ("ACTSTT",ACTION_STATUS);
2647   typeshor->SetItem ("ADDRSS",1);
2648   typeshor->SetItem ("ABSR",2);
2649   typeshor->SetItem ("ADVFC",3);
2650   typeshor->SetItem ("ANCROC",4);
2651   typeshor->SetItem ("ANFLAR",5);
2652   typeshor->SetItem ("AFAO",6);
2653   typeshor->SetItem ("ANNOCC",7);
2654   typeshor->SetItem ("ANSBOC",8);
2655   typeshor->SetItem ("ANNSYM",9);
2656   typeshor->SetItem ("ANSYOC",10);
2657   typeshor->SetItem ("ANNTXT",11);
2658   typeshor->SetItem ("ANTXOC",12);
2659 //203  typeshor->SetItem ("ALPRRL",ALTERNATE_PRODUCT_RELATIONSHIP);
2660   typeshor->SetItem ("APPCNT",13);
2661   typeshor->SetItem ("APCNEL",14);
2662   typeshor->SetItem ("APPRDF",15);
2663   typeshor->SetItem ("APPRVL",16);
2664   typeshor->SetItem ("APPASS",17);
2665   typeshor->SetItem ("APDTTM",348);
2666   typeshor->SetItem ("APPROR",18);
2667   typeshor->SetItem ("APPRLT",19);
2668   typeshor->SetItem ("APPRL",20);
2669   typeshor->SetItem ("APPSTT",21);
2670   typeshor->SetItem ("ARINST",22);
2671 //203  typeshor->SetItem ("AMWU",AREA_MEASURE_WITH_UNIT);
2672 //203  typeshor->SetItem ("ARUNT",AREA_UNIT);
2673   typeshor->SetItem ("ASCMUS",379);
2674   typeshor->SetItem ("ACUS",384);
2675   typeshor->SetItem ("AX1PLC",35);
2676   typeshor->SetItem ("A2PL2D",36);
2677   typeshor->SetItem ("A2PL3D",37);
2678   typeshor->SetItem ("BZRCRV",43);
2679   typeshor->SetItem ("BZRSRF",44);
2680   typeshor->SetItem ("BLNRSL",46);
2681   typeshor->SetItem ("BNDCR",47);
2682   typeshor->SetItem ("BNDCRV",48);
2683   typeshor->SetItem ("BNDSRF",49);
2684   typeshor->SetItem ("BRWTVD",52);
2685   typeshor->SetItem ("BSPCR",38);
2686   typeshor->SetItem ("BSCWK",39);
2687   typeshor->SetItem ("BSPSR",40);
2688   typeshor->SetItem ("BSSWK",41);
2689   typeshor->SetItem ("BXDMN",50);
2690   typeshor->SetItem ("BXHLSP",51);
2691   typeshor->SetItem ("CLNDT",53);
2692   typeshor->SetItem ("CMRIMG",54);
2693   typeshor->SetItem ("CMRMDL",55);
2694   typeshor->SetItem ("CMMDD3",57);
2695   typeshor->SetItem ("CMRUSG",58);
2696   typeshor->SetItem ("CRTPNT",59);
2697   typeshor->SetItem ("CRTROP",60);
2698 //203  typeshor->SetItem ("CTO2",CARTESIAN_TRANSFORMATION_OPERATOR_2D);
2699   typeshor->SetItem ("CTO3",61);
2700 //203  typeshor->SetItem ("CCDSAP",CC_DESIGN_APPROVAL);
2701 //203  typeshor->SetItem ("CCDSCR",CC_DESIGN_CERTIFICATION);
2702 //203  typeshor->SetItem ("CCDSCN",CC_DESIGN_CONTRACT);
2703 //203  typeshor->SetItem ("CDDATA",CC_DESIGN_DATE_AND_TIME_ASSIGNMENT);
2704 //203  typeshor->SetItem ("CDPAOA",CC_DESIGN_PERSON_AND_ORGANIZATION_ASSIGNMENT);
2705 //203  typeshor->SetItem ("CDSC",CC_DESIGN_SECURITY_CLASSIFICATION);
2706 //203  typeshor->SetItem ("CDS",CC_DESIGN_SPECIFICATION_REFERENCE);
2707 //203  typeshor->SetItem ("CRTFCT",CERTIFICATION);
2708 //203  typeshor->SetItem ("CRTASS",CERTIFICATION_ASSIGNMENT);
2709 //203  typeshor->SetItem ("CRTTYP",CERTIFICATION_TYPE);
2710
2711 //203  typeshor->SetItem ("CHNRQS",CHANGE_REQUEST);
2712
2713   typeshor->SetItem ("CLSSHL",63);
2714   typeshor->SetItem ("CLRRGB",65);
2715   typeshor->SetItem ("CLRSPC",66);
2716   typeshor->SetItem ("CMPCRV",67);
2717   typeshor->SetItem ("CCOS",68);
2718   typeshor->SetItem ("CMCRSG",69);
2719 //203  typeshor->SetItem ("CNFDSG",CONFIGURATION_DESIGN);
2720 //203  typeshor->SetItem ("CNFEFF",CONFIGURATION_EFFECTIVITY);
2721 //203  typeshor->SetItem ("CNFITM",CONFIGURATION_ITEM);
2722
2723   typeshor->SetItem ("CMPTXT",70);
2724   typeshor->SetItem ("CTWAC",71);
2725   typeshor->SetItem ("CTWBB",72);
2726   typeshor->SetItem ("CTWE",73);
2727   typeshor->SetItem ("CNCSRF",75);
2728 //203  typeshor->SetItem ("CNEDST",CONNECTED_EDGE_SET);
2729   typeshor->SetItem ("CNFCST",76);
2730   typeshor->SetItem ("CNDPIN",77);
2731   typeshor->SetItem ("CDORSI",78);
2732   typeshor->SetItem ("CDSR",391);
2733 //203  typeshor->SetItem ("CNDPUN",CONTEXT_DEPENDENT_UNIT);
2734 //203  typeshor->SetItem ("CNTRCT",CONTRACT);
2735 //203  typeshor->SetItem ("CNTASS",CONTRACT_ASSIGNMENT);
2736 //203  typeshor->SetItem ("CNTTYP",CONTRACT_TYPE);
2737   typeshor->SetItem ("CNBSUN",79);
2738   typeshor->SetItem ("CUTO",80);
2739   typeshor->SetItem ("CSSHRP",82);
2740   typeshor->SetItem ("CSGSLD",83);
2741
2742   typeshor->SetItem ("CRBNSR",85);
2743   typeshor->SetItem ("CRVRPL",86);
2744   typeshor->SetItem ("CRVSTY",87);
2745   typeshor->SetItem ("CRSTFN",88);
2746   typeshor->SetItem ("CSFP",89);
2747   typeshor->SetItem ("CYLSRF",90);
2748
2749 //203  typeshor->SetItem ("DTDEFF",DATED_EFFECTIVITY);
2750   typeshor->SetItem ("DTANTM",92);
2751   typeshor->SetItem ("DATA",93);
2752   typeshor->SetItem ("DTASS",94);
2753   typeshor->SetItem ("DTRL",95);
2754   typeshor->SetItem ("DTTMRL",96);
2755   typeshor->SetItem ("DFNSYM",97);
2756   typeshor->SetItem ("DFNRPR",98);
2757   typeshor->SetItem ("DGNPCR",99);
2758   typeshor->SetItem ("DGTRSR",100);
2759   typeshor->SetItem ("DSRPIT",101);
2760   typeshor->SetItem ("DMNCRV",102);
2761   typeshor->SetItem ("DMCRTR",103);
2762   typeshor->SetItem ("DSGCNT",340);
2763 //203  typeshor->SetItem ("DMFR",DESIGN_MAKE_FROM_RELATIONSHIP);
2764   typeshor->SetItem ("DMNEXP",104);
2765 //203  typeshor->SetItem ("DRCACT",DIRECTED_ACTION);
2766   typeshor->SetItem ("DRCTN",105);
2767   typeshor->SetItem ("DRANOC",106);
2768   typeshor->SetItem ("DRGCLL",107);
2769   typeshor->SetItem ("DPDC",108);
2770   typeshor->SetItem ("DPDCF",109);
2771   typeshor->SetItem ("DRSBRP",110);
2772   typeshor->SetItem ("DRSYRP",111);
2773   typeshor->SetItem ("DTLWD",112);
2774   typeshor->SetItem ("DRWDFN",113);
2775   typeshor->SetItem ("DRWRVS",114);
2776   typeshor->SetItem ("DCMNT",367);
2777 //203  typeshor->SetItem ("DCMRFR",DOCUMENT_REFERENCE);
2778   typeshor->SetItem ("DCMRLT",369);
2779   typeshor->SetItem ("DCMTYP",370);
2780   typeshor->SetItem ("DCUSCN",371);
2781 //203  typeshor->SetItem ("DCWTCL",DOCUMENT_WITH_CLASS);
2782
2783 //203  typeshor->SetItem ("EBWM",EDGE_BASED_WIREFRAME_MODEL);
2784 //203  typeshor->SetItem ("EBWSR",EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION);
2785   typeshor->SetItem ("EDGCRV",116);
2786   typeshor->SetItem ("EDGLP",117);
2787   typeshor->SetItem ("EFFCTV",372);
2788   typeshor->SetItem ("ELMSRF",118);
2789   typeshor->SetItem ("ELLPS",119);
2790   typeshor->SetItem ("EVDGPC",120);
2791   typeshor->SetItem ("EXTSRC",121);
2792   typeshor->SetItem ("EDCF",122);
2793   typeshor->SetItem ("EDHS",123);
2794   typeshor->SetItem ("EXDFIT",124);
2795   typeshor->SetItem ("EXDFSY",125);
2796   typeshor->SetItem ("EDTF",126);
2797   typeshor->SetItem ("EDTS",127);
2798   typeshor->SetItem ("EXARSL",128);
2799 //203  typeshor->SetItem ("EXCACT",EXECUTED_ACTION);
2800
2801   typeshor->SetItem ("FCBND",131);
2802   typeshor->SetItem ("FCOTBN",132);
2803   typeshor->SetItem ("FCSRF",133);
2804   typeshor->SetItem ("FCTBR",134);
2805   typeshor->SetItem ("FBSR",135);
2806   typeshor->SetItem ("FLARST",136);
2807   typeshor->SetItem ("FASC",137);
2808   typeshor->SetItem ("FASH",138);
2809   typeshor->SetItem ("FASTSW",139);
2810   typeshor->SetItem ("FAST",140);
2811   typeshor->SetItem ("FNDFTR",141);
2812   typeshor->SetItem ("GBSSR",146);
2813   typeshor->SetItem ("GBWSR",147);
2814   typeshor->SetItem ("GMCRST",142);
2815   typeshor->SetItem ("GMRPCN",143);
2816   typeshor->SetItem ("GMRPIT",144);
2817   typeshor->SetItem ("GMTST",145);
2818   typeshor->SetItem ("GC",148);
2819   typeshor->SetItem ("GUAC",149);
2820   typeshor->SetItem ("GRPASS",151);
2821   typeshor->SetItem ("GRPRLT",152);
2822   typeshor->SetItem ("HLSPSL",153);
2823   typeshor->SetItem ("HYPRBL",154);
2824   typeshor->SetItem ("INTCRV",155);
2825   typeshor->SetItem ("INVSBL",156);
2826   typeshor->SetItem ("ITDFTR",354);
2827   typeshor->SetItem ("LMWU",157);
2828   typeshor->SetItem ("LNGUNT",158);
2829
2830   typeshor->SetItem ("LCLTM",160);
2831
2832 //203  typeshor->SetItem ("LTEFF",LOT_EFFECTIVITY);
2833   typeshor->SetItem ("MNSLBR",162);
2834   typeshor->SetItem ("MSSR",163);
2835   typeshor->SetItem ("MPPITM",164);
2836   typeshor->SetItem ("MDGPA",166);
2837   typeshor->SetItem ("MDGPR",167);
2838 //203  typeshor->SetItem ("MMWU",MASS_MEASURE_WITH_UNIT);
2839 //203  typeshor->SetItem ("MSSUNT",MASS_UNIT);
2840   typeshor->SetItem ("MSWTUN",165);
2841   typeshor->SetItem ("MCHCNT",339);
2842   typeshor->SetItem ("NMDUNT",169);
2843   typeshor->SetItem ("NAUO",380);
2844 //203  typeshor->SetItem ("OFCR2D",OFFSET_CURVE_2D);
2845   typeshor->SetItem ("OFCR3D",171);
2846   typeshor->SetItem ("OFFSRF",172);
2847   typeshor->SetItem ("ODRF",173);
2848   typeshor->SetItem ("OPNSHL",174);
2849   typeshor->SetItem ("ORDDT",175);
2850   typeshor->SetItem ("ORGNZT",176);
2851   typeshor->SetItem ("ORGASS",177);
2852   typeshor->SetItem ("ORGRL",178);
2853   typeshor->SetItem ("ORGADD",179);
2854 //203  typeshor->SetItem ("ORGPRJ",ORGANIZATIONAL_PROJECT);
2855 //203  typeshor->SetItem ("ORGRLT",ORGANIZATION_RELATIONSHIP);
2856   typeshor->SetItem ("ORCLSH",180);
2857   typeshor->SetItem ("ORNEDG",181);
2858   typeshor->SetItem ("ORNFC",182);
2859   typeshor->SetItem ("OROPSH",183);
2860   typeshor->SetItem ("ORNPTH",184);
2861   typeshor->SetItem ("OTBNCR",185);
2862   typeshor->SetItem ("ORSI",186);
2863   typeshor->SetItem ("PRBL",187);
2864   typeshor->SetItem ("PRRPCN",188);
2865
2866   typeshor->SetItem ("PRANOR",192);
2867   typeshor->SetItem ("PAOA",193);
2868   typeshor->SetItem ("PAOR",194);
2869   typeshor->SetItem ("PRSADD",195);
2870   typeshor->SetItem ("PLCMNT",196);
2871   typeshor->SetItem ("PLNBX",197);
2872   typeshor->SetItem ("PLNEXT",198);
2873
2874   typeshor->SetItem ("PAMWU",200);
2875   typeshor->SetItem ("PLANUN",201);
2876
2877   typeshor->SetItem ("PNONCR",203);
2878   typeshor->SetItem ("PNONSR",204);
2879   typeshor->SetItem ("PNTRPL",205);
2880   typeshor->SetItem ("PNTSTY",206);
2881   typeshor->SetItem ("PLYLP",207);
2882   typeshor->SetItem ("PLYLN",208);
2883   typeshor->SetItem ("PRDFCL",209);
2884   typeshor->SetItem ("PDCF",210);
2885   typeshor->SetItem ("PRDFIT",211);
2886   typeshor->SetItem ("PRDFSY",212);
2887   typeshor->SetItem ("PDTF",213);
2888   typeshor->SetItem ("PRSAR",214);
2889   typeshor->SetItem ("PRLYAS",215);
2890   typeshor->SetItem ("PRSRPR",216);
2891   typeshor->SetItem ("PRSST",217);
2892   typeshor->SetItem ("PRSSZ",218);
2893   typeshor->SetItem ("PRSTAS",219);
2894   typeshor->SetItem ("PSBC",220);
2895   typeshor->SetItem ("PRSVW",221);
2896   typeshor->SetItem ("PRSITM",222);
2897   typeshor->SetItem ("PRDCT",223);
2898   typeshor->SetItem ("PRDCTG",224);
2899 //203  typeshor->SetItem ("PRCTRL",PRODUCT_CATEGORY_RELATIONSHIP);
2900 //203  typeshor->SetItem ("PRDCNC",PRODUCT_CONCEPT);
2901 //203  typeshor->SetItem ("PRCNCN",PRODUCT_CONCEPT_CONTEXT);
2902   typeshor->SetItem ("PRDCNT",225);
2903   typeshor->SetItem ("PRDDFN",227);
2904   typeshor->SetItem ("PRDFCN",228);
2905   typeshor->SetItem ("PRDFEF",373);
2906   typeshor->SetItem ("PRDFFR",229);
2907   typeshor->SetItem ("PDFWSS",230);
2908   typeshor->SetItem ("PRDFRL",374);
2909   typeshor->SetItem ("PRDFSH",231);
2910   typeshor->SetItem ("PRDFUS",377);
2911   typeshor->SetItem ("PDWAD",375);
2912   typeshor->SetItem ("PRPC",232);
2913   typeshor->SetItem ("PRUSOC",381);
2914   typeshor->SetItem ("PRPDFN",234);
2915   typeshor->SetItem ("PRDFRP",235);
2916   typeshor->SetItem ("QACU",382);
2917   typeshor->SetItem ("QSUNCR",236);
2918   typeshor->SetItem ("QSUNSR",237);
2919   typeshor->SetItem ("RMWU",238);
2920   typeshor->SetItem ("RBSC",239);
2921   typeshor->SetItem ("RBSS",240);
2922   typeshor->SetItem ("RCCMSR",241);
2923   typeshor->SetItem ("RCTRSR",242);
2924   typeshor->SetItem ("RPITGR",243);
2925   typeshor->SetItem ("RCCS",244);
2926   typeshor->SetItem ("RPRSNT",245);
2927   typeshor->SetItem ("RPRCNT",246);
2928   typeshor->SetItem ("RPRITM",247);
2929   typeshor->SetItem ("RPRMP",248);
2930   typeshor->SetItem ("RPRRLT",249);
2931   typeshor->SetItem ("RVARSL",250);
2932   typeshor->SetItem ("RGANWD",251);
2933   typeshor->SetItem ("RGCRCN",252);
2934   typeshor->SetItem ("RGCRCY",253);
2935   typeshor->SetItem ("RRWT",388);
2936   typeshor->SetItem ("SMCRV",254);
2937   typeshor->SetItem ("SCRCLS",255);
2938   typeshor->SetItem ("SCCLAS",256);
2939   typeshor->SetItem ("SCCLLV",257);
2940 //203  typeshor->SetItem ("SRNMEF",SERIAL_NUMBERED_EFFECTIVITY);
2941   typeshor->SetItem ("SHPASP",258);
2942   typeshor->SetItem ("SHASRL",259);
2943   typeshor->SetItem ("SHDFRP",261);
2944   typeshor->SetItem ("SHPRPR",262);
2945   typeshor->SetItem ("SHRPRL",387);
2946   typeshor->SetItem ("SBSM",263);
2947 //203  typeshor->SetItem ("SBWM",SHELL_BASED_WIREFRAME_MODEL);
2948 //203  typeshor->SetItem ("SBWSR",SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION);
2949   typeshor->SetItem ("SUNT",264);
2950   typeshor->SetItem ("SAMWU",265);
2951   typeshor->SetItem ("SLANUN",336);
2952   typeshor->SetItem ("SLDMDL",266);
2953   typeshor->SetItem ("SLDRPL",267);
2954   typeshor->SetItem ("SHUO",383);
2955   typeshor->SetItem ("SPHSRF",269);
2956   typeshor->SetItem ("STYITM",270);
2957 //203  typeshor->SetItem ("STRRQS",START_REQUEST);
2958 //203  typeshor->SetItem ("STRWRK",START_WORK);
2959   typeshor->SetItem ("SPPRRL",385);
2960   typeshor->SetItem ("SRFC",271);
2961   typeshor->SetItem ("SRFCRV",272);
2962   typeshor->SetItem ("SL",273);
2963   typeshor->SetItem ("SROFRV",274);
2964   typeshor->SetItem ("SRFPTC",275);
2965   typeshor->SetItem ("SRFRPL",276);
2966   typeshor->SetItem ("SRSDST",277);
2967   typeshor->SetItem ("SRSTBN",278);
2968   typeshor->SetItem ("SSCG",279);
2969   typeshor->SetItem ("SSFA",280);
2970   typeshor->SetItem ("SSPL",281);
2971   typeshor->SetItem ("SSSC",282);
2972   typeshor->SetItem ("SRSTSL",283);
2973   typeshor->SetItem ("SRSTUS",284);
2974   typeshor->SetItem ("SWARSL",285);
2975   typeshor->SetItem ("SWPSRF",286);
2976   typeshor->SetItem ("SYMCLR",287);
2977   typeshor->SetItem ("SYMRPR",288);
2978   typeshor->SetItem ("SYRPMP",289);
2979   typeshor->SetItem ("SYMSTY",290);
2980   typeshor->SetItem ("SYMTRG",291);
2981   typeshor->SetItem ("TRMSYM",294);
2982   typeshor->SetItem ("TXTLTR",295);
2983   typeshor->SetItem ("TLWAC",296);
2984   typeshor->SetItem ("TLWBB",297);
2985   typeshor->SetItem ("TLWD",298);
2986   typeshor->SetItem ("TLWE",299);
2987   typeshor->SetItem ("TXTSTY",300);
2988   typeshor->SetItem ("TSFDF",301);
2989   typeshor->SetItem ("TSWBC",302);
2990   typeshor->SetItem ("TSWM",303);
2991   typeshor->SetItem ("TPRPIT",304);
2992   typeshor->SetItem ("TRDSRF",305);
2993   typeshor->SetItem ("TRMCRV",308);
2994   typeshor->SetItem ("TDRF",309);
2995   typeshor->SetItem ("UMWU",310);
2996   typeshor->SetItem ("UNFCRV",311);
2997   typeshor->SetItem ("UNFSRF",312);
2998
2999 //203  typeshor->SetItem ("VRACRQ",VERSIONED_ACTION_REQUEST);
3000
3001   typeshor->SetItem ("VRTLP",315);
3002   typeshor->SetItem ("VRTPNT",316);
3003 //203  typeshor->SetItem ("VRTSHL",VERTEX_SHELL);
3004 //203  typeshor->SetItem ("VMWU",VOLUME_MEASURE_WITH_UNIT);
3005 //203  typeshor->SetItem ("VLMUNT",VOLUME_UNIT);
3006   typeshor->SetItem ("VWVLM",317);
3007   typeshor->SetItem ("WOYADD",318);
3008   typeshor->SetItem ("TMWU",341);
3009   typeshor->SetItem ("RTUNT",342);
3010   typeshor->SetItem ("TMUNT",343);
3011   typeshor->SetItem ("CI3WS",350);
3012   typeshor->SetItem ("CTO2",351);
3013   typeshor->SetItem ("DRVUNT",352);
3014   typeshor->SetItem ("DRUNEL",353);
3015   typeshor->SetItem ("PRITRP",355);
3016   typeshor->SetItem ("MFUO",378);
3017 //203  typeshor->SetItem ("WRSHL",WIRE_SHELL);
3018   typeshor->SetItem ("MTRDSG",390);
3019   typeshor->SetItem ("ADATA",392);
3020   typeshor->SetItem ("APDTAS",393);
3021   typeshor->SetItem ("APGRAS",395);
3022   typeshor->SetItem ("APORAS",396);
3023   typeshor->SetItem ("APAOA",397);
3024   typeshor->SetItem ("APPRIT",398);
3025   typeshor->SetItem ("ASCA",399);
3026   typeshor->SetItem ("APDCRF",400);
3027   typeshor->SetItem ("DCMFL",401);
3028   typeshor->SetItem ("CHROBJ",402);
3029   typeshor->SetItem ("EXFCSL",403);
3030   typeshor->SetItem ("RVFCSL",404);
3031   typeshor->SetItem ("SWFCSL",405);
3032
3033   // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties)
3034   typeshor->SetItem ("MSRPIT",406);
3035   typeshor->SetItem ("ARUNT",407);
3036   typeshor->SetItem ("VLMUNT",408);
3037
3038   // Added by ABV 10.11.99 for AP203
3039   typeshor->SetItem ("ACTION",413);
3040   typeshor->SetItem ("ACTASS",414);
3041   typeshor->SetItem ("ACTMTH",415);
3042   typeshor->SetItem ("ACRQAS",416);
3043   typeshor->SetItem ("CCDSAP",417);
3044   typeshor->SetItem ("CCDSCR",418);
3045   typeshor->SetItem ("CCDSCN",419);
3046   typeshor->SetItem ("CDDATA",420);
3047   typeshor->SetItem ("CDPAOA",421);
3048   typeshor->SetItem ("CDSC",422);
3049   typeshor->SetItem ("CDS",423);
3050   typeshor->SetItem ("CRTFCT",424);
3051   typeshor->SetItem ("CRTASS",425);
3052   typeshor->SetItem ("CRTTYP",426);
3053   typeshor->SetItem ("CHANGE",427);
3054   typeshor->SetItem ("CHNRQS",428);
3055   typeshor->SetItem ("CNFDSG",429);
3056   typeshor->SetItem ("CNFEFF",430);
3057   typeshor->SetItem ("CNTRCT",431);
3058   typeshor->SetItem ("CNTASS",432);
3059   typeshor->SetItem ("CNTTYP",433);
3060   typeshor->SetItem ("PRDCNC",434);
3061   typeshor->SetItem ("PRCNCN",435);
3062   typeshor->SetItem ("STRRQS",436);
3063   typeshor->SetItem ("STRWRK",437);
3064   typeshor->SetItem ("VRACRQ",438);
3065   typeshor->SetItem ("PRCTRL",439);
3066   typeshor->SetItem ("ACRQSL",440);
3067   typeshor->SetItem ("DRGMDL",441);
3068   typeshor->SetItem ("ANGLCT",442);
3069   typeshor->SetItem ("ANGSZ",443);
3070   typeshor->SetItem ("DMCHRP",444);
3071   typeshor->SetItem ("DMNLCT",445);
3072   typeshor->SetItem ("DLWP",446);
3073   typeshor->SetItem ("DMNSZ",447);
3074   typeshor->SetItem ("DSWP",448);
3075   typeshor->SetItem ("SHDMRP",449);
3076   typeshor->SetItem ("DCRPTY",450);
3077   typeshor->SetItem ("OBJRL",451);
3078   typeshor->SetItem ("RLASS",452);
3079   typeshor->SetItem ("IDNRL",453);
3080   typeshor->SetItem ("IDNASS",454);
3081   typeshor->SetItem ("EXIDAS",455);
3082   typeshor->SetItem ("EFFASS",456);
3083   typeshor->SetItem ("NMASS",457);
3084   typeshor->SetItem ("GNRPRP",458);
3085   typeshor->SetItem ("EDGP",461);
3086   typeshor->SetItem ("AEIA",462);
3087   typeshor->SetItem ("CMSHAS",470);
3088   typeshor->SetItem ("DRSHAS",471);
3089   typeshor->SetItem ("EXTNSN",472);
3090   typeshor->SetItem ("DRDMLC",473);
3091   typeshor->SetItem ("LMANFT",474);
3092   typeshor->SetItem ("TLRVL",475);
3093   typeshor->SetItem ("MSRQLF",476);
3094   typeshor->SetItem ("PLMNTL",477);
3095   typeshor->SetItem ("PRCQLF",478);
3096   typeshor->SetItem ("TYPQLF",479);
3097   typeshor->SetItem ("QLRPIT", 480);
3098   typeshor->SetItem ("CMRPIT", 482);
3099   typeshor->SetItem ("CMRPIT", 483);
3100   typeshor->SetItem ("CMS0", 485);
3101   typeshor->SetItem ("CNEDST", 486);
3102   typeshor->SetItem ("EBWM", 488);
3103   typeshor->SetItem ("EBWSR", 489);
3104   typeshor->SetItem ("NMSSR", 491);
3105   typeshor->SetItem ("ORNSRF", 492);
3106   typeshor->SetItem ("SBFC", 493);
3107   typeshor->SetItem ("SBDG", 494);
3108   typeshor->SetItem ("CFSS", 496);
3109   typeshor->SetItem ("MSSUNT", 501);
3110   typeshor->SetItem ("THTMUN", 502);
3111   typeshor->SetItem ("DTENV", 565);
3112   typeshor->SetItem ("MTPRRP", 566);
3113   typeshor->SetItem ("PRDFR", 567);
3114   typeshor->SetItem ("MTRPRP", 569);
3115   typeshor->SetItem ("PDFR", 573);
3116   typeshor->SetItem ("DCP1", 600);
3117   typeshor->SetItem ("DCPREQ", 601);
3118 //  typeshor->SetItem (AngularLocation);
3119 //  typeshor->SetItem (AngularSize);
3120 //  typeshor->SetItem (DimensionalCharacteristicRepresentation);
3121 //  typeshor->SetItem (DimensionalLocation);
3122 //  typeshor->SetItem (DimensionalLocationWithPath);
3123 //  typeshor->SetItem (DimensionalSize);
3124 //  typeshor->SetItem (DimensionalSizeWithPath);
3125 //  typeshor->SetItem (ShapeDimensionRepresentation);
3126   typeshor->SetItem ("CYLTLR", 609);
3127   typeshor->SetItem ("SRWP", 610);
3128   typeshor->SetItem ("ANGTLR", 611);
3129   typeshor->SetItem ("CNCTLR", 612);
3130   typeshor->SetItem ("CRRNTL", 613);
3131   typeshor->SetItem ("CXLTLR", 614);
3132   typeshor->SetItem ("FLTTLR", 615);
3133   typeshor->SetItem ("LNP0", 616);
3134   typeshor->SetItem ("PRLTLR", 617);
3135   typeshor->SetItem ("PRPTLR", 618);
3136   typeshor->SetItem ("PSTTLR", 619);
3137   typeshor->SetItem ("RNDTLR", 620);
3138   typeshor->SetItem ("STRTLR", 621);
3139   typeshor->SetItem ("SRPRTL", 622);
3140   typeshor->SetItem ("SYMTLR", 623);
3141   typeshor->SetItem ("TTRNTL", 624);
3142   typeshor->SetItem ("GMTTLR", 625);
3143   typeshor->SetItem ("GMTLRL", 626);
3144   typeshor->SetItem ("GTWDR", 627);
3145   typeshor->SetItem ("MDGMTL", 628);
3146   typeshor->SetItem ("DTMFTR", 630);
3147   typeshor->SetItem ("DTMRFR", 631);
3148   typeshor->SetItem ("CMMDTM", 632);
3149   typeshor->SetItem ("DTMTRG", 633);
3150   typeshor->SetItem ("PDT0", 634);
3151   typeshor->SetItem ("MMWU",651);
3152   typeshor->SetItem ("CNOFSY",661);
3153   typeshor->SetItem ("GMTALG",662);
3154   typeshor->SetItem ("PRPT",663);
3155   typeshor->SetItem ("TNGNT",664);
3156   typeshor->SetItem ("PRLOFF",665);
3157   typeshor->SetItem ("GISU",666);
3158   typeshor->SetItem ("IDATT",667);
3159   typeshor->SetItem ("IIRU",668);
3160   typeshor->SetItem ("GTWDU",674);
3161   typeshor->SetItem ("PRZNDF",679);
3162   typeshor->SetItem ("RNZNDF",680);
3163   typeshor->SetItem ("RNZNOR",681);
3164   typeshor->SetItem ("TLRZN",682);
3165   typeshor->SetItem ("TLZNDF",683);
3166   typeshor->SetItem ("TLZNFR",684);
3167   typeshor->SetItem ("INRPIT",700);
3168   typeshor->SetItem ("VLRPIT",701);
3169     
3170 }
3171
3172 // --- Case Recognition ---
3173
3174 Standard_Integer RWStepAP214_ReadWriteModule::CaseStep
3175 (const TCollection_AsciiString& key) const
3176 {
3177   // FMA - le 25-07-96 : Optimisation -> on teste en premier les types les plus
3178   //                     frequents dans le fichier cad geometry/topology
3179   Standard_Integer num;
3180
3181   if (key.IsEqual(Reco_CartesianPoint)) return 59;  // car tres courant
3182   if (typenums->GetItem (key,num)) return num;
3183   if (typeshor->GetItem (key,num)) return num;  // AJOUT DES TYPES COURTS
3184   return 0;
3185 }
3186
3187
3188 // --- External Mapping Case Recognition ---
3189
3190 //=======================================================================
3191 //function : CaseStep
3192 //purpose  : 
3193 //=======================================================================
3194
3195 Standard_Integer RWStepAP214_ReadWriteModule::CaseStep
3196 (const TColStd_SequenceOfAsciiString& theTypes) const
3197 {
3198   
3199   // Optimized by FMA : le test sur le nombre de composant est repete meme
3200   //                    si la valeur testee est la meme.
3201   
3202   Standard_Integer NbComp = theTypes.Length();
3203   if (NbComp < 2) {
3204 #ifdef OCCT_DEBUG
3205     cout << "Not a Plex" << endl;
3206 #endif
3207   }
3208   else {
3209 // SHORT TYPES
3210 //  Pas tres elegant : on convertit d abord
3211 //  Sinon, il faudrait sortir des routines
3212     Standard_Integer i,num = 0;
3213     for (i = 1; i <= NbComp; i ++) {
3214       if (typeshor->HasItem (theTypes(i)))  {  num = 1;  break;  }
3215     }
3216     if (num > 0) {
3217       TColStd_SequenceOfAsciiString longs;
3218       for (i = 1; i <= NbComp; i ++) {
3219         if (typeshor->GetItem (theTypes(i),num))  longs.Append (StepType(num));
3220         else longs.Append (theTypes(i));
3221       }
3222       return CaseStep (longs);
3223     }
3224
3225     // sln 03.10.2001. BUC61003. Correction of alphabetic order of complex entity's items (ascending sorting)
3226     TColStd_SequenceOfAsciiString types;
3227     for(i =  1; i<= theTypes.Length(); i++)
3228       types.Append(theTypes(i));
3229     // do ascending sorting
3230     Standard_Boolean isOK = Standard_False;
3231     TCollection_AsciiString tmpStr;
3232     Standard_Integer  aLen = types.Length()-1;
3233     while(!isOK)
3234     {
3235       isOK = Standard_True;
3236       for(i = 1; i<= aLen; i++)
3237         if(types(i) > types(i+1))
3238         {
3239           tmpStr = types(i);
3240           types(i) = types(i+1);
3241           types(i+1) = tmpStr;
3242           isOK = Standard_False;
3243         }
3244     }
3245     
3246     if (NbComp == 7) {
3247       if ((types(1).IsEqual(StepType(48))) &&
3248           (types(2).IsEqual(StepType(38))) &&
3249           (types(3).IsEqual(StepType(84))) &&
3250           (types(4).IsEqual(StepType(144))) &&
3251           (types(5).IsEqual(StepType(239))) &&
3252           (types(6).IsEqual(StepType(247))) &&
3253           (types(7).IsEqual(StepType(311)))) {
3254         return 319;
3255       }
3256       else if ((types(1).IsEqual(StepType(48))) &&
3257                (types(2).IsEqual(StepType(38))) &&
3258                (types(3).IsEqual(StepType(39))) &&
3259                (types(4).IsEqual(StepType(84))) &&
3260                (types(5).IsEqual(StepType(144))) &&
3261                (types(6).IsEqual(StepType(239))) &&
3262                (types(7).IsEqual(StepType(247)))) {
3263         return 320;
3264       }
3265       else if ((types(1).IsEqual(StepType(48))) &&
3266               (types(2).IsEqual(StepType(38))) &&
3267               (types(3).IsEqual(StepType(84))) &&
3268               (types(4).IsEqual(StepType(144))) &&
3269               (types(5).IsEqual(StepType(236))) &&
3270               (types(6).IsEqual(StepType(239))) &&
3271               (types(7).IsEqual(StepType(247)))) {
3272        return 321;
3273       }
3274       else if ((types(1).IsEqual(StepType(43))) &&
3275                (types(2).IsEqual(StepType(48))) &&
3276                (types(3).IsEqual(StepType(38))) &&
3277                (types(4).IsEqual(StepType(84))) &&
3278                (types(5).IsEqual(StepType(144))) &&
3279                (types(6).IsEqual(StepType(239))) &&
3280                (types(7).IsEqual(StepType(247)))) {
3281         return 322;
3282       }
3283       else if ((types(1).IsEqual(StepType(49))) &&
3284                (types(2).IsEqual(StepType(40))) &&
3285                (types(3).IsEqual(StepType(41))) &&
3286                (types(4).IsEqual(StepType(144))) &&
3287                (types(5).IsEqual(StepType(240))) &&
3288                (types(6).IsEqual(StepType(247))) &&
3289                (types(7).IsEqual(StepType(271)))) {
3290         return 323;
3291       }
3292       else if ((types(1).IsEqual(StepType(49))) &&
3293                (types(2).IsEqual(StepType(40))) &&
3294                (types(3).IsEqual(StepType(144))) &&
3295                (types(4).IsEqual(StepType(240))) &&
3296                (types(5).IsEqual(StepType(247))) &&
3297                (types(6).IsEqual(StepType(271))) &&
3298                (types(7).IsEqual(StepType(312)))) {
3299         return 324;
3300       }
3301       else if ((types(1).IsEqual(StepType(49))) &&
3302                (types(2).IsEqual(StepType(40))) &&
3303                (types(3).IsEqual(StepType(144))) &&
3304                (types(4).IsEqual(StepType(237))) &&
3305                (types(5).IsEqual(StepType(240))) &&
3306                (types(6).IsEqual(StepType(247))) &&
3307                (types(7).IsEqual(StepType(271)))) {
3308         return 325;
3309       }
3310       else if ((types(1).IsEqual(StepType(44))) &&
3311                (types(2).IsEqual(StepType(49))) &&
3312                (types(3).IsEqual(StepType(40))) &&
3313                (types(4).IsEqual(StepType(144))) &&
3314                (types(5).IsEqual(StepType(240))) &&
3315                (types(6).IsEqual(StepType(247))) &&
3316                (types(7).IsEqual(StepType(271)))) {
3317         return 326;
3318       }
3319       else if ((types(1).IsEqual(StepType(40))) &&
3320                (types(2).IsEqual(StepType(41))) &&
3321                (types(3).IsEqual(StepType(49))) &&
3322                (types(4).IsEqual(StepType(144))) &&
3323                (types(5).IsEqual(StepType(240))) &&
3324                (types(6).IsEqual(StepType(247))) &&
3325                (types(7).IsEqual(StepType(271)))) {
3326         return 323;
3327       }
3328     }
3329     // Added by FMA
3330     else if (NbComp == 6) {
3331       if (types(1).IsEqual(StepType(52))  &&
3332           types(2).IsEqual(StepType(134)) &&
3333           types(3).IsEqual(StepType(144)) &&
3334           types(4).IsEqual(StepType(162)) &&
3335           types(5).IsEqual(StepType(247)) &&
3336           types(6).IsEqual(StepType(266))) {
3337         return 337;
3338       }
3339     }
3340     else if (NbComp == 5) {
3341       //:n5 abv 15 Feb 99: S4132 complex type bounded_curve + surface_curve
3342       if ((types(1).IsEqual(StepType(48))) &&
3343           (types(2).IsEqual(StepType(84))) &&
3344           (types(3).IsEqual(StepType(144))) &&
3345           (types(4).IsEqual(StepType(247))) &&
3346           (types(5).IsEqual(StepType(272)))) {
3347         return 358;
3348       }
3349       else if ((types(1).IsEqual(StepType(157))) &&
3350                (types(2).IsEqual(StepType(406))) &&
3351                (types(3).IsEqual(StepType(165))) &&
3352                (types(4).IsEqual(StepType(480))) &&
3353                (types(5).IsEqual(StepType(247)))) {
3354         return 692;
3355       }
3356       else if ((types(1).IsEqual(StepType(406))) &&
3357                (types(2).IsEqual(StepType(165))) &&
3358                (types(3).IsEqual(StepType(200))) &&
3359                (types(4).IsEqual(StepType(480))) &&
3360                (types(5).IsEqual(StepType(247)))) {
3361         return 693;
3362       }
3363     }
3364     else if (NbComp == 4) {
3365       if ((types(1).IsEqual(StepType(161))) &&
3366           (types(2).IsEqual(StepType(189))) &&
3367           (types(3).IsEqual(StepType(247))) &&
3368           (types(4).IsEqual(StepType(304)))) {
3369         return 332;
3370       }
3371       // Added by FMA
3372       else if ((types(1).IsEqual(StepType(143)) &&
3373                 types(2).IsEqual(StepType(148)) &&
3374                 types(3).IsEqual(StepType(149)) &&
3375                 types(4).IsEqual(StepType(246)))) {
3376         return 333;
3377       }
3378
3379       else if ((types(1).IsEqual(StepType(157))) &&
3380                (types(2).IsEqual(StepType(406))) &&
3381                (types(3).IsEqual(StepType(165))) &&
3382                (types(4).IsEqual(StepType(247)))) {
3383         return 635;
3384       }
3385       else if ((types(1).IsEqual(StepType(625))) &&
3386                (types(2).IsEqual(StepType(627))) &&
3387                (types(3).IsEqual(StepType(628))) &&
3388                (types(4).IsEqual(StepType(619)))) {
3389         return 636;
3390       }
3391       else if ((types(1).IsEqual(StepType(406))) &&
3392                (types(2).IsEqual(StepType(165))) &&
3393                (types(3).IsEqual(StepType(200))) &&
3394                (types(4).IsEqual(StepType(247)))) {
3395         return 691;
3396       }
3397       else if (((types(1).IsEqual(StepType(609)) ||
3398                  types(1).IsEqual(StepType(611)) ||
3399                  types(1).IsEqual(StepType(612)) ||
3400                  types(1).IsEqual(StepType(613)) ||
3401                  types(1).IsEqual(StepType(614)) ||
3402                  types(1).IsEqual(StepType(615))) &&
3403                 types(2).IsEqual(StepType(625)) &&
3404                 types(3).IsEqual(StepType(627)) &&
3405                 types(4).IsEqual(StepType(676)))
3406                 ||
3407                (types(1).IsEqual(StepType(625)) &&
3408                 types(2).IsEqual(StepType(627)) &&
3409                 types(3).IsEqual(StepType(676)) &&
3410                 (types(4).IsEqual(StepType(616)) ||
3411                  types(4).IsEqual(StepType(617)) ||
3412                  types(4).IsEqual(StepType(618)) ||
3413                  types(4).IsEqual(StepType(619)) ||
3414                  types(4).IsEqual(StepType(620)) ||
3415                  types(4).IsEqual(StepType(621)) ||
3416                  types(4).IsEqual(StepType(622)) ||
3417                  types(4).IsEqual(StepType(623)) ||
3418                  types(4).IsEqual(StepType(624))))) {
3419         return 695;
3420       }
3421       else if (((types(1).IsEqual(StepType(609)) ||
3422                  types(1).IsEqual(StepType(611)) ||
3423                  types(1).IsEqual(StepType(612)) ||
3424                  types(1).IsEqual(StepType(613)) ||
3425                  types(1).IsEqual(StepType(614)) ||
3426                  types(1).IsEqual(StepType(615))) &&
3427                 types(2).IsEqual(StepType(625)) &&
3428                 types(3).IsEqual(StepType(627)) &&
3429                 types(4).IsEqual(StepType(677)))
3430                 ||
3431                (types(1).IsEqual(StepType(625)) &&
3432                 types(2).IsEqual(StepType(627)) &&
3433                 types(4).IsEqual(StepType(677)) &&
3434                 (types(3).IsEqual(StepType(616)) ||
3435                  types(3).IsEqual(StepType(617)) ||
3436                  types(3).IsEqual(StepType(618)) ||
3437                  types(3).IsEqual(StepType(619)) ||
3438                  types(3).IsEqual(StepType(620)) ||
3439                  types(3).IsEqual(StepType(621)) ||
3440                  types(3).IsEqual(StepType(622)) ||
3441                  types(3).IsEqual(StepType(623)) ||
3442                  types(3).IsEqual(StepType(624))))) {
3443         return 697;
3444       }
3445       else if (types(1).IsEqual(StepType(671)) &&
3446                types(2).IsEqual(StepType(470)) &&
3447                types(3).IsEqual(StepType(630)) &&
3448                types(4).IsEqual(StepType(258))) {
3449         return 698;
3450       }
3451     }
3452     else if (NbComp == 3) {
3453       if ((types(1).IsEqual(StepType(158))) &&
3454           (types(2).IsEqual(StepType(169))) &&
3455           (types(3).IsEqual(StepType(264)))) {
3456         return 327;
3457       } //pdn t3d_opt
3458       else if ((types(1).IsEqual(StepType(169))) &&
3459                (types(2).IsEqual(StepType(264))) &&
3460                (types(3).IsEqual(StepType(158)))) {
3461         return 327;
3462       }
3463       else if ((types(1).IsEqual(StepType(169))) &&
3464                (types(2).IsEqual(StepType(201))) &&
3465                (types(3).IsEqual(StepType(264)))) {
3466         return 328;
3467       }
3468       else if ((types(1).IsEqual(StepType(79))) &&
3469                (types(2).IsEqual(StepType(158))) &&
3470                (types(3).IsEqual(StepType(169)))) {
3471         return 329;
3472       }
3473       else if ((types(1).IsEqual(StepType(79))) &&
3474                (types(2).IsEqual(StepType(169))) &&
3475                (types(3).IsEqual(StepType(201)))) {
3476         return 330;
3477       }
3478       else if ((types(1).IsEqual(StepType(143))) &&
3479                (types(2).IsEqual(StepType(149))) &&
3480                (types(3).IsEqual(StepType(246)))) {
3481         return 331;
3482       }
3483       // Added by FMA
3484       else if ((types(1).IsEqual(StepType(79))) &&
3485                (types(2).IsEqual(StepType(169))) &&
3486                (types(3).IsEqual(StepType(336)))) {
3487         return 334;
3488       }
3489       else if ((types(1).IsEqual(StepType(169))) &&
3490                (types(2).IsEqual(StepType(264))) &&
3491                (types(3).IsEqual(StepType(336)))) {
3492         return 335;
3493       }
3494       else if ((types(1).IsEqual(StepType(143))) &&
3495                (types(2).IsEqual(StepType(188))) &&
3496                (types(3).IsEqual(StepType(246)))) {
3497         return 338;
3498       }
3499       // full Rev4 (CKY 30-MARS-1997)
3500       else if ((types(1).IsEqual(StepType(169))) &&
3501                (types(2).IsEqual(StepType(342))) &&
3502                (types(3).IsEqual(StepType(264)))) {
3503         return 344;
3504       }
3505       else if ((types(1).IsEqual(StepType(169))) &&
3506                (types(2).IsEqual(StepType(264))) &&
3507                (types(3).IsEqual(StepType(343)))) {
3508         return 345;
3509       }
3510       else if ((types(1).IsEqual(StepType(79))) &&
3511                (types(2).IsEqual(StepType(169))) &&
3512                (types(3).IsEqual(StepType(342)))) {
3513         return 346;
3514       }
3515       else if ((types(1).IsEqual(StepType(79))) &&
3516                (types(2).IsEqual(StepType(169))) &&
3517                (types(3).IsEqual(StepType(343)))) {
3518         return 347;
3519       }
3520       else if ((types(1).IsEqual(StepType(157))) &&
3521                (types(2).IsEqual(StepType(165))) &&
3522                (types(3).IsEqual(StepType(310)))) {
3523         return 357; // LECTURE SEULEMENT (READ ONLY), origine CATIA. CKY 2-SEP-1997
3524       }
3525 //      Additional non-alphabetic (CKY 5 MAI 1998)
3526       else if ((types(1).IsEqual(StepType(169))) &&
3527                (types(2).IsEqual(StepType(158))) &&
3528                (types(3).IsEqual(StepType(264)))) {
3529         return 327;
3530       }
3531 //      CC1 -> CC2 (CKY 1-JUL-1998)
3532       else if ((types(1).IsEqual(StepType(249))) &&
3533                (types(2).IsEqual(StepType(388))) &&
3534                (types(3).IsEqual(StepType(387)))) {
3535         return 389;
3536       }
3537       else if ((types(1).IsEqual(StepType(407))) &&
3538                (types(2).IsEqual(StepType(169))) &&
3539                (types(3).IsEqual(StepType(264)))) {
3540         return 409;
3541       }
3542       else if ((types(1).IsEqual(StepType(169))) &&
3543                (types(2).IsEqual(StepType(264))) &&
3544                (types(3).IsEqual(StepType(408)))) {
3545         return 410;
3546       }
3547       else if ((types(1).IsEqual(StepType(407))) &&
3548                (types(2).IsEqual(StepType(79)))  &&
3549                (types(3).IsEqual(StepType(169)))) {
3550         return 411;
3551       }
3552       else if ((types(1).IsEqual(StepType(79))) &&
3553                (types(2).IsEqual(StepType(169)))  &&
3554                (types(3).IsEqual(StepType(408)))) {
3555         return 412;
3556       }
3557       // abv 11.07.00: CAX-IF TRJ4: k1_geo-ac.stp
3558       else if ((types(1).IsEqual(StepType(98))) &&
3559                (types(2).IsEqual(StepType(245))) &&
3560                (types(3).IsEqual(StepType(262)))) {
3561         return 463;
3562       }
3563       // CKY 25 APR 2001; CAX-IF TR7J (dim.tol.)
3564       else if ((types(1).IsEqual(StepType(406))) &&
3565                (types(2).IsEqual(StepType(480))) &&
3566                (types(3).IsEqual(StepType(247)))) {
3567         return 481;
3568       }
3569       else if ((types(1).IsEqual(StepType(501))) &&
3570                (types(2).IsEqual(StepType(169))) &&
3571                (types(3).IsEqual(StepType(264)))) {
3572         return 574;
3573       }
3574       else if ((types(1).IsEqual(StepType(169))) &&
3575                (types(2).IsEqual(StepType(264))) &&
3576                (types(3).IsEqual(StepType(502)))) {
3577         return 578;
3578       }
3579       else if ((types(1).IsEqual(StepType(79))) &&
3580                (types(2).IsEqual(StepType(501))) &&
3581                (types(3).IsEqual(StepType(169)))) {
3582         return 650;
3583       }
3584       else if (((types(1).IsEqual(StepType(609)) ||
3585                  types(1).IsEqual(StepType(611)) ||
3586                  types(1).IsEqual(StepType(612)) ||
3587                  types(1).IsEqual(StepType(613)) ||
3588                  types(1).IsEqual(StepType(614)) ||
3589                  types(1).IsEqual(StepType(615))) &&
3590                 types(2).IsEqual(StepType(625)) &&
3591                 types(3).IsEqual(StepType(627)))
3592                 ||
3593                (types(1).IsEqual(StepType(625)) &&
3594                 types(2).IsEqual(StepType(627)) &&
3595                 (types(3).IsEqual(StepType(616)) ||
3596                  types(3).IsEqual(StepType(617)) ||
3597                  types(3).IsEqual(StepType(618)) ||
3598                  types(3).IsEqual(StepType(619)) ||
3599                  types(3).IsEqual(StepType(620)) ||
3600                  types(3).IsEqual(StepType(621)) ||
3601                  types(3).IsEqual(StepType(622)) ||
3602                  types(3).IsEqual(StepType(623)) ||
3603                  types(3).IsEqual(StepType(624))))) {
3604         return 694;
3605       }
3606       else if (((types(1).IsEqual(StepType(609)) ||
3607                  types(1).IsEqual(StepType(611)) ||
3608                  types(1).IsEqual(StepType(612)) ||
3609                  types(1).IsEqual(StepType(613)) ||
3610                  types(1).IsEqual(StepType(614)) ||
3611                  types(1).IsEqual(StepType(615))) &&
3612                 types(2).IsEqual(StepType(625)) &&
3613                 types(3).IsEqual(StepType(676)))
3614                 ||
3615                (types(1).IsEqual(StepType(625)) &&
3616                 types(2).IsEqual(StepType(676)) &&
3617                 (types(3).IsEqual(StepType(616)) ||
3618                  types(3).IsEqual(StepType(617)) ||
3619                  types(3).IsEqual(StepType(618)) ||
3620                  types(3).IsEqual(StepType(619)) ||
3621                  types(3).IsEqual(StepType(620)) ||
3622                  types(3).IsEqual(StepType(621)) ||
3623                  types(3).IsEqual(StepType(622)) ||
3624                  types(3).IsEqual(StepType(623)) ||
3625                  types(3).IsEqual(StepType(624))))) {
3626         return 696;
3627       }
3628       else if (types(1).IsEqual(StepType(470)) &&
3629                types(2).IsEqual(StepType(630)) &&
3630                types(3).IsEqual(StepType(258))) {
3631         return 699;
3632       }
3633     }
3634     return 0;
3635   }
3636   return 0;
3637 }
3638
3639
3640 //=======================================================================
3641 //function : IsComplex
3642 //purpose  : External Mapping Recognition
3643 //=======================================================================
3644
3645 Standard_Boolean RWStepAP214_ReadWriteModule::IsComplex
3646   (const Standard_Integer CN) const
3647 {
3648   switch(CN)
3649     {
3650     case 319:
3651       return Standard_True;
3652     case 320:
3653       return Standard_True;
3654     case 321:
3655       return Standard_True;
3656     case 322:
3657       return Standard_True;
3658     case 323:
3659       return Standard_True;
3660     case 324:
3661       return Standard_True;
3662     case 325:
3663       return Standard_True;
3664     case 326:
3665       return Standard_True;
3666     case 327:
3667       return Standard_True;
3668     case 328:
3669       return Standard_True;
3670     case 329:
3671       return Standard_True;
3672     case 330:
3673       return Standard_True;
3674     case 331:
3675       return Standard_True;
3676     case 332:
3677       return Standard_True;
3678       // Added by FMA
3679     case 333:
3680       return Standard_True;
3681     case 334:
3682       return Standard_True;
3683     case 335:
3684       return Standard_True;
3685     case 337:
3686       return Standard_True;
3687     case 338:
3688       return Standard_True;
3689     case 344:
3690       return Standard_True;
3691     case 345:
3692       return Standard_True;
3693     case 346:
3694       return Standard_True;
3695     case 347:
3696       return Standard_True;
3697     case 357:
3698       return Standard_True;
3699     case 358: //:n5
3700       return Standard_True;
3701       //  AP214 CC1 -> CC2
3702     case 389:
3703       return Standard_True;
3704     case 409:
3705     case 410:
3706     case 411:
3707     case 412:
3708       return Standard_True;
3709     case 463:
3710       return Standard_True;
3711     case 481:
3712       return Standard_True;
3713     case 574:
3714       return Standard_True;
3715     case 578:
3716       return Standard_True;
3717     case 635:
3718       return Standard_True;
3719     case 636:
3720       return Standard_True;
3721     case 650:
3722       return Standard_True;
3723     case 691:
3724       return Standard_True;
3725     case 692:
3726       return Standard_True;
3727     case 693:
3728       return Standard_True;
3729     case 694:
3730       return Standard_True;
3731     case 695:
3732       return Standard_True;
3733     case 696:
3734       return Standard_True;
3735     case 697:
3736       return Standard_True;
3737     case 698:
3738       return Standard_True;
3739     case 699:
3740       return Standard_True;
3741     default:
3742       return Standard_False;
3743     }
3744 }
3745
3746
3747 //=======================================================================
3748 //function : StepType
3749 //purpose  : 
3750 //=======================================================================
3751
3752 const TCollection_AsciiString& RWStepAP214_ReadWriteModule::StepType
3753   (const Standard_Integer CN) const
3754 {
3755   switch (CN) {
3756   case 1 : return Reco_Address;
3757   case 2 : return Reco_AdvancedBrepShapeRepresentation;
3758   case 3 : return Reco_AdvancedFace;
3759   case 4 : return Reco_AnnotationCurveOccurrence;
3760   case 5 : return Reco_AnnotationFillArea;
3761   case 6 : return Reco_AnnotationFillAreaOccurrence;
3762   case 7 : return Reco_AnnotationOccurrence;
3763   case 8 : return Reco_AnnotationSubfigureOccurrence;
3764   case 9 : return Reco_AnnotationSymbol;
3765   case 10 : return Reco_AnnotationSymbolOccurrence;
3766   case 11 : return Reco_AnnotationText;
3767   case 12 : return Reco_AnnotationTextOccurrence;
3768   case 13 : return Reco_ApplicationContext;
3769   case 14 : return Reco_ApplicationContextElement;
3770   case 15 : return Reco_ApplicationProtocolDefinition;
3771   case 16 : return Reco_Approval;
3772   case 17 : return Reco_ApprovalAssignment;
3773   case 18 : return Reco_ApprovalPersonOrganization;
3774   case 19 : return Reco_ApprovalRelationship;
3775   case 20 : return Reco_ApprovalRole;
3776   case 21 : return Reco_ApprovalStatus;
3777   case 22 : return Reco_AreaInSet;
3778   case 23 : return Reco_AutoDesignActualDateAndTimeAssignment;
3779   case 24 : return Reco_AutoDesignActualDateAssignment;
3780   case 25 : return Reco_AutoDesignApprovalAssignment;
3781   case 26 : return Reco_AutoDesignDateAndPersonAssignment;
3782   case 27 : return Reco_AutoDesignGroupAssignment;
3783   case 28 : return Reco_AutoDesignNominalDateAndTimeAssignment;
3784   case 29 : return Reco_AutoDesignNominalDateAssignment;
3785   case 30 : return Reco_AutoDesignOrganizationAssignment;
3786   case 31 : return Reco_AutoDesignPersonAndOrganizationAssignment;
3787   case 32 : return Reco_AutoDesignPresentedItem;
3788   case 33 : return Reco_AutoDesignSecurityClassificationAssignment;
3789   case 34 : return Reco_AutoDesignViewArea;
3790   case 35 : return Reco_Axis1Placement;
3791   case 36 : return Reco_Axis2Placement2d;
3792   case 37 : return Reco_Axis2Placement3d;
3793   case 38 : return Reco_BSplineCurve;
3794   case 39 : return Reco_BSplineCurveWithKnots;
3795   case 40 : return Reco_BSplineSurface;
3796   case 41 : return Reco_BSplineSurfaceWithKnots;
3797   case 42 : return Reco_BackgroundColour;
3798   case 43 : return Reco_BezierCurve;
3799   case 44 : return Reco_BezierSurface;
3800   case 45 : return Reco_Block;
3801   case 46 : return Reco_BooleanResult;
3802   case 47 : return Reco_BoundaryCurve;
3803   case 48 : return Reco_BoundedCurve;
3804   case 49 : return Reco_BoundedSurface;
3805   case 50 : return Reco_BoxDomain;
3806   case 51 : return Reco_BoxedHalfSpace;
3807   case 52 : return Reco_BrepWithVoids;
3808   case 53 : return Reco_CalendarDate;
3809   case 54 : return Reco_CameraImage;
3810   case 55 : return Reco_CameraModel;
3811   case 56 : return Reco_CameraModelD2;
3812   case 57 : return Reco_CameraModelD3;
3813   case 58 : return Reco_CameraUsage;
3814   case 59 : return Reco_CartesianPoint;
3815   case 60 : return Reco_CartesianTransformationOperator;
3816   case 61 : return Reco_CartesianTransformationOperator3d;
3817   case 62 : return Reco_Circle;
3818   case 63 : return Reco_ClosedShell;
3819   case 64 : return Reco_Colour;
3820   case 65 : return Reco_ColourRgb;
3821   case 66 : return Reco_ColourSpecification;
3822   case 67 : return Reco_CompositeCurve;
3823   case 68 : return Reco_CompositeCurveOnSurface;
3824   case 69 : return Reco_CompositeCurveSegment;
3825   case 70 : return Reco_CompositeText;
3826   case 71 : return Reco_CompositeTextWithAssociatedCurves;
3827   case 72 : return Reco_CompositeTextWithBlankingBox;
3828   case 73 : return Reco_CompositeTextWithExtent;
3829   case 74 : return Reco_Conic;
3830   case 75 : return Reco_ConicalSurface;
3831   case 76 : return Reco_ConnectedFaceSet;
3832   case 77 : return Reco_ContextDependentInvisibility;
3833   case 78 : return Reco_ContextDependentOverRidingStyledItem;
3834   case 79 : return Reco_ConversionBasedUnit;
3835   case 80 : return Reco_CoordinatedUniversalTimeOffset;
3836   case 81 : return Reco_CsgRepresentation;
3837   case 82 : return Reco_CsgShapeRepresentation;
3838   case 83 : return Reco_CsgSolid;
3839   case 84 : return Reco_Curve;
3840   case 85 : return Reco_CurveBoundedSurface;
3841   case 86 : return Reco_CurveReplica;
3842   case 87 : return Reco_CurveStyle;
3843   case 88 : return Reco_CurveStyleFont;
3844   case 89 : return Reco_CurveStyleFontPattern;
3845   case 90 : return Reco_CylindricalSurface;
3846   case 91 : return Reco_Date;
3847   case 92 : return Reco_DateAndTime;
3848   case 93 : return Reco_DateAndTimeAssignment;
3849   case 94 : return Reco_DateAssignment;
3850   case 95 : return Reco_DateRole;
3851   case 96 : return Reco_DateTimeRole;
3852   case 97 : return Reco_DefinedSymbol;
3853   case 98 : return Reco_DefinitionalRepresentation;
3854   case 99 : return Reco_DegeneratePcurve;
3855   case 100 : return Reco_DegenerateToroidalSurface;
3856   case 101 : return Reco_DescriptiveRepresentationItem;
3857   case 102 : return Reco_DimensionCurve;
3858   case 103 : return Reco_DimensionCurveTerminator;
3859   case 104 : return Reco_DimensionalExponents;
3860   case 105 : return Reco_Direction;
3861   case 106 : return Reco_DraughtingAnnotationOccurrence;
3862   case 107 : return Reco_DraughtingCallout;
3863   case 108 : return Reco_DraughtingPreDefinedColour;
3864   case 109 : return Reco_DraughtingPreDefinedCurveFont;
3865   case 110 : return Reco_DraughtingSubfigureRepresentation;
3866   case 111 : return Reco_DraughtingSymbolRepresentation;
3867   case 112 : return Reco_DraughtingTextLiteralWithDelineation;
3868   case 113 : return Reco_DrawingDefinition;
3869   case 114 : return Reco_DrawingRevision;
3870   case 115 : return Reco_Edge;
3871   case 116 : return Reco_EdgeCurve;
3872   case 117 : return Reco_EdgeLoop;
3873   case 118 : return Reco_ElementarySurface;
3874   case 119 : return Reco_Ellipse;
3875   case 120 : return Reco_EvaluatedDegeneratePcurve;
3876   case 121 : return Reco_ExternalSource;
3877   case 122 : return Reco_ExternallyDefinedCurveFont;
3878   case 123 : return Reco_ExternallyDefinedHatchStyle;
3879   case 124 : return Reco_ExternallyDefinedItem;
3880   case 125 : return Reco_ExternallyDefinedSymbol;
3881   case 126 : return Reco_ExternallyDefinedTextFont;
3882   case 127 : return Reco_ExternallyDefinedTileStyle;
3883   case 128 : return Reco_ExtrudedAreaSolid;
3884   case 129 : return Reco_Face;
3885   case 131 : return Reco_FaceBound;
3886   case 132 : return Reco_FaceOuterBound;
3887   case 133 : return Reco_FaceSurface;
3888   case 134 : return Reco_FacetedBrep;
3889   case 135 : return Reco_FacetedBrepShapeRepresentation;
3890   case 136 : return Reco_FillAreaStyle;
3891   case 137 : return Reco_FillAreaStyleColour;
3892   case 138 : return Reco_FillAreaStyleHatching;
3893   case 139 : return Reco_FillAreaStyleTileSymbolWithStyle;
3894   case 140 : return Reco_FillAreaStyleTiles;
3895   case 141 : return Reco_FunctionallyDefinedTransformation;
3896   case 142 : return Reco_GeometricCurveSet;
3897   case 143 : return Reco_GeometricRepresentationContext;
3898   case 144 : return Reco_GeometricRepresentationItem;
3899   case 145 : return Reco_GeometricSet;
3900   case 146 : return Reco_GeometricallyBoundedSurfaceShapeRepresentation;
3901   case 147 : return Reco_GeometricallyBoundedWireframeShapeRepresentation;
3902   case 148 : return Reco_GlobalUncertaintyAssignedContext;
3903   case 149 : return Reco_GlobalUnitAssignedContext;
3904   case 150 : return Reco_Group;
3905   case 151 : return Reco_GroupAssignment;
3906   case 152 : return Reco_GroupRelationship;
3907   case 153 : return Reco_HalfSpaceSolid;
3908   case 154 : return Reco_Hyperbola;
3909   case 155 : return Reco_IntersectionCurve;
3910   case 156 : return Reco_Invisibility;
3911   case 157 : return Reco_LengthMeasureWithUnit;
3912   case 158 : return Reco_LengthUnit;
3913   case 159 : return Reco_Line;
3914   case 160 : return Reco_LocalTime;
3915   case 161 : return Reco_Loop;
3916   case 162 : return Reco_ManifoldSolidBrep;
3917   case 163 : return Reco_ManifoldSurfaceShapeRepresentation;
3918   case 164 : return Reco_MappedItem;
3919   case 165 : return Reco_MeasureWithUnit;
3920   case 166 : return Reco_MechanicalDesignGeometricPresentationArea;
3921   case 167 : return Reco_MechanicalDesignGeometricPresentationRepresentation;
3922   case 168 : return Reco_MechanicalDesignPresentationArea;
3923   case 169 : return Reco_NamedUnit;
3924   case 171 : return Reco_OffsetCurve3d;
3925   case 172 : return Reco_OffsetSurface;
3926   case 173 : return Reco_OneDirectionRepeatFactor;
3927   case 174 : return Reco_OpenShell;
3928   case 175 : return Reco_OrdinalDate;
3929   case 176 : return Reco_Organization;
3930   case 177 : return Reco_OrganizationAssignment;
3931   case 178 : return Reco_OrganizationRole;
3932   case 179 : return Reco_OrganizationalAddress;
3933   case 180 : return Reco_OrientedClosedShell;
3934   case 181 : return Reco_OrientedEdge;
3935   case 182 : return Reco_OrientedFace;
3936   case 183 : return Reco_OrientedOpenShell;
3937   case 184 : return Reco_OrientedPath;
3938   case 185 : return Reco_OuterBoundaryCurve;
3939   case 186 : return Reco_OverRidingStyledItem;
3940   case 187 : return Reco_Parabola;
3941   case 188 : return Reco_ParametricRepresentationContext;
3942   case 189 : return Reco_Path;
3943   case 190 : return Reco_Pcurve;
3944   case 191 : return Reco_Person;
3945   case 192 : return Reco_PersonAndOrganization;
3946   case 193 : return Reco_PersonAndOrganizationAssignment;
3947   case 194 : return Reco_PersonAndOrganizationRole;
3948   case 195 : return Reco_PersonalAddress;
3949   case 196 : return Reco_Placement;
3950   case 197 : return Reco_PlanarBox;
3951   case 198 : return Reco_PlanarExtent;
3952   case 199 : return Reco_Plane;
3953   case 200 : return Reco_PlaneAngleMeasureWithUnit;
3954   case 201 : return Reco_PlaneAngleUnit;
3955   case 202 : return Reco_Point;
3956   case 203 : return Reco_PointOnCurve;
3957   case 204 : return Reco_PointOnSurface;
3958   case 205 : return Reco_PointReplica;
3959   case 206 : return Reco_PointStyle;
3960   case 207 : return Reco_PolyLoop;
3961   case 208 : return Reco_Polyline;
3962   case 209 : return Reco_PreDefinedColour;
3963   case 210 : return Reco_PreDefinedCurveFont;
3964   case 211 : return Reco_PreDefinedItem;
3965   case 212 : return Reco_PreDefinedSymbol;
3966   case 213 : return Reco_PreDefinedTextFont;
3967   case 214 : return Reco_PresentationArea;
3968   case 215 : return Reco_PresentationLayerAssignment;
3969   case 216 : return Reco_PresentationRepresentation;
3970   case 217 : return Reco_PresentationSet;
3971   case 218 : return Reco_PresentationSize;
3972   case 219 : return Reco_PresentationStyleAssignment;
3973   case 220 : return Reco_PresentationStyleByContext;
3974   case 221 : return Reco_PresentationView;
3975   case 222 : return Reco_PresentedItem;
3976   case 223 : return Reco_Product;
3977   case 224 : return Reco_ProductCategory;
3978   case 225 : return Reco_ProductContext;
3979   case 226 : return Reco_ProductDataRepresentationView;
3980   case 227 : return Reco_ProductDefinition;
3981   case 228 : return Reco_ProductDefinitionContext;
3982   case 229 : return Reco_ProductDefinitionFormation;
3983   case 230 : return Reco_ProductDefinitionFormationWithSpecifiedSource;
3984   case 231 : return Reco_ProductDefinitionShape;
3985   case 232 : return Reco_ProductRelatedProductCategory;
3986   case 233 : return Reco_ProductType;
3987   case 234 : return Reco_PropertyDefinition;
3988   case 235 : return Reco_PropertyDefinitionRepresentation;
3989   case 236 : return Reco_QuasiUniformCurve;
3990   case 237 : return Reco_QuasiUniformSurface;
3991   case 238 : return Reco_RatioMeasureWithUnit;
3992   case 239 : return Reco_RationalBSplineCurve;
3993   case 240 : return Reco_RationalBSplineSurface;
3994   case 241 : return Reco_RectangularCompositeSurface;
3995   case 242 : return Reco_RectangularTrimmedSurface;
3996   case 243 : return Reco_RepItemGroup;
3997   case 244 : return Reco_ReparametrisedCompositeCurveSegment;
3998   case 245 : return Reco_Representation;
3999   case 246 : return Reco_RepresentationContext;
4000   case 247 : return Reco_RepresentationItem;
4001   case 248 : return Reco_RepresentationMap;
4002   case 249 : return Reco_RepresentationRelationship;
4003   case 250 : return Reco_RevolvedAreaSolid;
4004   case 251 : return Reco_RightAngularWedge;
4005   case 252 : return Reco_RightCircularCone;
4006   case 253 : return Reco_RightCircularCylinder;
4007   case 254 : return Reco_SeamCurve;
4008   case 255 : return Reco_SecurityClassification;
4009   case 256 : return Reco_SecurityClassificationAssignment;
4010   case 257 : return Reco_SecurityClassificationLevel;
4011   case 258 : return Reco_ShapeAspect;
4012   case 259 : return Reco_ShapeAspectRelationship;
4013   case 260 : return Reco_ShapeAspectTransition;
4014   case 261 : return Reco_ShapeDefinitionRepresentation;
4015   case 262 : return Reco_ShapeRepresentation;
4016   case 263 : return Reco_ShellBasedSurfaceModel;
4017   case 264 : return Reco_SiUnit;
4018   case 265 : return Reco_SolidAngleMeasureWithUnit;
4019   case 266 : return Reco_SolidModel;
4020   case 267 : return Reco_SolidReplica;
4021   case 268 : return Reco_Sphere;
4022   case 269 : return Reco_SphericalSurface;
4023   case 270 : return Reco_StyledItem;
4024   case 271 : return Reco_Surface;
4025   case 272 : return Reco_SurfaceCurve;
4026   case 273 : return Reco_SurfaceOfLinearExtrusion;
4027   case 274 : return Reco_SurfaceOfRevolution;
4028   case 275 : return Reco_SurfacePatch;
4029   case 276 : return Reco_SurfaceReplica;
4030   case 277 : return Reco_SurfaceSideStyle;
4031   case 278 : return Reco_SurfaceStyleBoundary;
4032   case 279 : return Reco_SurfaceStyleControlGrid;
4033   case 280 : return Reco_SurfaceStyleFillArea;
4034   case 281 : return Reco_SurfaceStyleParameterLine;
4035   case 282 : return Reco_SurfaceStyleSegmentationCurve;
4036   case 283 : return Reco_SurfaceStyleSilhouette;
4037   case 284 : return Reco_SurfaceStyleUsage;
4038   case 285 : return Reco_SweptAreaSolid;
4039   case 286 : return Reco_SweptSurface;
4040   case 287 : return Reco_SymbolColour;
4041   case 288 : return Reco_SymbolRepresentation;
4042   case 289 : return Reco_SymbolRepresentationMap;
4043   case 290 : return Reco_SymbolStyle;
4044   case 291 : return Reco_SymbolTarget;
4045   case 292 : return Reco_Template;
4046   case 293 : return Reco_TemplateInstance;
4047   case 294 : return Reco_TerminatorSymbol;
4048   case 295 : return Reco_TextLiteral;
4049   case 296 : return Reco_TextLiteralWithAssociatedCurves;
4050   case 297 : return Reco_TextLiteralWithBlankingBox;
4051   case 298 : return Reco_TextLiteralWithDelineation;
4052   case 299 : return Reco_TextLiteralWithExtent;
4053   case 300 : return Reco_TextStyle;
4054   case 301 : return Reco_TextStyleForDefinedFont;
4055   case 302 : return Reco_TextStyleWithBoxCharacteristics;
4056   case 303 : return Reco_TextStyleWithMirror;
4057   case 304 : return Reco_TopologicalRepresentationItem;
4058   case 305 : return Reco_ToroidalSurface;
4059   case 306 : return Reco_Torus;
4060   case 307 : return Reco_TransitionalShapeRepresentation;
4061   case 308 : return Reco_TrimmedCurve;
4062   case 309 : return Reco_TwoDirectionRepeatFactor;
4063   case 310 : return Reco_UncertaintyMeasureWithUnit;
4064   case 311 : return Reco_UniformCurve;
4065   case 312 : return Reco_UniformSurface;
4066   case 313 : return Reco_Vector;
4067   case 314 : return Reco_Vertex;
4068   case 315 : return Reco_VertexLoop;
4069   case 316 : return Reco_VertexPoint;
4070   case 317 : return Reco_ViewVolume;
4071   case 318 : return Reco_WeekOfYearAndDayDate;
4072     // Added by FMA
4073   case 336 : return Reco_SolidAngleUnit;
4074   case 339 : return Reco_MechanicalContext;
4075   case 340 : return Reco_DesignContext;
4076     // Added for full Rev4
4077   case 341 : return Reco_TimeMeasureWithUnit;
4078   case 342 : return Reco_RatioUnit;
4079   case 343 : return Reco_TimeUnit;
4080          case 348 : return Reco_ApprovalDateTime;
4081          case 349 : return Reco_CameraImage2dWithScale;
4082   case 350 : return Reco_CameraImage3dWithScale;
4083   case 351 : return Reco_CartesianTransformationOperator2d;
4084   case 352 : return Reco_DerivedUnit;
4085   case 353 : return Reco_DerivedUnitElement;
4086   case 354 : return Reco_ItemDefinedTransformation;
4087   case 355 : return Reco_PresentedItemRepresentation;
4088   case 356 : return Reco_PresentationLayerUsage;
4089
4090
4091 //  AP214 : CC1 -> CC2
4092
4093   case 366 : return Reco_AutoDesignDocumentReference;
4094   case 367: return Reco_Document;
4095   case 368: return Reco_DigitalDocument;
4096   case 369: return Reco_DocumentRelationship;
4097   case 370: return Reco_DocumentType;
4098   case 371: return Reco_DocumentUsageConstraint;
4099   case 372: return Reco_Effectivity;
4100   case 373: return Reco_ProductDefinitionEffectivity;
4101   case 374: return Reco_ProductDefinitionRelationship;
4102
4103   case 375: return Reco_ProductDefinitionWithAssociatedDocuments;
4104   case 376: return Reco_PhysicallyModeledProductDefinition;
4105
4106   case 377: return Reco_ProductDefinitionUsage;
4107   case 378: return Reco_MakeFromUsageOption;
4108   case 379: return Reco_AssemblyComponentUsage;
4109   case 380: return Reco_NextAssemblyUsageOccurrence;
4110   case 381: return Reco_PromissoryUsageOccurrence;
4111   case 382: return Reco_QuantifiedAssemblyComponentUsage;
4112   case 383: return Reco_SpecifiedHigherUsageOccurrence;
4113   case 384: return Reco_AssemblyComponentUsageSubstitute;
4114   case 385: return Reco_SuppliedPartRelationship;
4115   case 386: return Reco_ExternallyDefinedRepresentation;
4116   case 387: return Reco_ShapeRepresentationRelationship;
4117   case 388: return Reco_RepresentationRelationshipWithTransformation;
4118
4119   case 390: return Reco_MaterialDesignation;
4120   case 391: return Reco_ContextDependentShapeRepresentation;
4121   //:S4134: Added from CD to DIS
4122   case 392: return Reco_AppliedDateAndTimeAssignment; 
4123   case 393: return Reco_AppliedDateAssignment;  
4124   case 394: return Reco_AppliedApprovalAssignment;  
4125   case 395: return Reco_AppliedGroupAssignment;  
4126   case 396: return Reco_AppliedOrganizationAssignment;  
4127   case 397: return Reco_AppliedPersonAndOrganizationAssignment;  
4128   case 398: return Reco_AppliedPresentedItem;  
4129   case 399: return Reco_AppliedSecurityClassificationAssignment;  
4130   case 400: return Reco_AppliedDocumentReference;
4131   case 401: return Reco_DocumentFile;  
4132   case 402: return Reco_CharacterizedObject;  
4133   case 403: return Reco_ExtrudedFaceSolid;   
4134   case 404: return Reco_RevolvedFaceSolid;  
4135   case 405: return Reco_SweptFaceSolid;  
4136
4137   // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties)
4138   case 406: return Reco_MeasureRepresentationItem;  
4139   case 407: return Reco_AreaUnit;
4140   case 408: return Reco_VolumeUnit;
4141     
4142   // Added by ABV 10.11.99 for AP203
4143   case 413: return Reco_Action;
4144   case 414: return Reco_ActionAssignment;
4145   case 415: return Reco_ActionMethod;
4146   case 416: return Reco_ActionRequestAssignment;
4147   case 417: return Reco_CcDesignApproval;
4148   case 418: return Reco_CcDesignCertification;
4149   case 419: return Reco_CcDesignContract;
4150   case 420: return Reco_CcDesignDateAndTimeAssignment;
4151   case 421: return Reco_CcDesignPersonAndOrganizationAssignment;
4152   case 422: return Reco_CcDesignSecurityClassification;
4153   case 423: return Reco_CcDesignSpecificationReference;
4154   case 424: return Reco_Certification;
4155   case 425: return Reco_CertificationAssignment;
4156   case 426: return Reco_CertificationType;
4157   case 427: return Reco_Change;
4158   case 428: return Reco_ChangeRequest;
4159   case 429: return Reco_ConfigurationDesign;
4160   case 430: return Reco_ConfigurationEffectivity;
4161   case 431: return Reco_Contract;
4162   case 432: return Reco_ContractAssignment;
4163   case 433: return Reco_ContractType;
4164   case 434: return Reco_ProductConcept;
4165   case 435: return Reco_ProductConceptContext;
4166   case 436: return Reco_StartRequest;
4167   case 437: return Reco_StartWork;
4168   case 438: return Reco_VersionedActionRequest;
4169   case 439: return Reco_ProductCategoryRelationship;
4170   case 440: return Reco_ActionRequestSolution;
4171   case 441: return Reco_DraughtingModel;
4172
4173   // Added by ABV 18.04.00 for CAX-IF TRJ4
4174   case 442: return Reco_AngularLocation;
4175   case 443: return Reco_AngularSize;
4176   case 444: return Reco_DimensionalCharacteristicRepresentation;
4177   case 445: return Reco_DimensionalLocation;
4178   case 446: return Reco_DimensionalLocationWithPath;
4179   case 447: return Reco_DimensionalSize;
4180   case 448: return Reco_DimensionalSizeWithPath;
4181   case 449: return Reco_ShapeDimensionRepresentation;
4182
4183   // Added by ABV 10.05.00 for CAX-IF TRJ4 (external references)
4184   case 450: return Reco_DocumentRepresentationType;
4185   case 451: return Reco_ObjectRole;
4186   case 452: return Reco_RoleAssociation;
4187   case 453: return Reco_IdentificationRole;
4188   case 454: return Reco_IdentificationAssignment;
4189   case 455: return Reco_ExternalIdentificationAssignment;
4190   case 456: return Reco_EffectivityAssignment;
4191   case 457: return Reco_NameAssignment;
4192   case 458: return Reco_GeneralProperty;
4193   case 459: return Reco_Class;
4194   case 460: return Reco_ExternallyDefinedClass;
4195   case 461: return Reco_ExternallyDefinedGeneralProperty;
4196   case 462: return Reco_AppliedExternalIdentificationAssignment;
4197
4198   // Added by CKY 25 APR 2001 for CAX-IF TRJ7 (dim.tol.)
4199   case 470: return Reco_CompositeShapeAspect;
4200   case 471: return Reco_DerivedShapeAspect;
4201   case 472: return Reco_Extension;
4202   case 473: return Reco_DirectedDimensionalLocation;
4203   case 474: return Reco_LimitsAndFits;
4204   case 475: return Reco_ToleranceValue;
4205   case 476: return Reco_MeasureQualification;
4206   case 477: return Reco_PlusMinusTolerance;
4207   case 478: return Reco_PrecisionQualifier;
4208   case 479: return Reco_TypeQualifier;
4209   case 480: return Reco_QualifiedRepresentationItem;
4210
4211   case 482: return Reco_CompoundRepresentationItem;
4212   case 483: return Reco_ValueRange;
4213   case 484: return Reco_ShapeAspectDerivingRelationship;
4214
4215   case 485: return Reco_CompoundShapeRepresentation;
4216   case 486: return Reco_ConnectedEdgeSet;
4217   case 487: return Reco_ConnectedFaceShapeRepresentation;
4218   case 488: return Reco_EdgeBasedWireframeModel;
4219   case 489: return Reco_EdgeBasedWireframeShapeRepresentation;
4220   case 490: return Reco_FaceBasedSurfaceModel;
4221   case 491: return Reco_NonManifoldSurfaceShapeRepresentation;
4222   
4223     
4224   //gka 08.01.02
4225   case 492: return Reco_OrientedSurface;
4226   case 493: return Reco_Subface;
4227   case 494: return Reco_Subedge;
4228   case 495: return Reco_SeamEdge;
4229   case 496: return Reco_ConnectedFaceSubSet;
4230   
4231   //AP209
4232   case 500: return Reco_EulerAngles;
4233   case 501: return Reco_MassUnit;
4234   case 502: return Reco_ThermodynamicTemperatureUnit;
4235   case 503: return Reco_AnalysisItemWithinRepresentation;
4236   case 504: return Reco_Curve3dElementDescriptor;
4237   case 505: return Reco_CurveElementEndReleasePacket;
4238   case 506: return Reco_CurveElementSectionDefinition;
4239   case 507: return Reco_CurveElementSectionDerivedDefinitions;
4240   case 508: return Reco_ElementDescriptor;
4241   case 509: return Reco_ElementMaterial;
4242   case 510: return Reco_Surface3dElementDescriptor;
4243   case 511: return Reco_SurfaceElementProperty;
4244   case 512: return Reco_SurfaceSection;
4245   case 513: return Reco_SurfaceSectionField;
4246   case 514: return Reco_SurfaceSectionFieldConstant;
4247   case 515: return Reco_SurfaceSectionFieldVarying;
4248   case 516: return Reco_UniformSurfaceSection;
4249   case 517: return Reco_Volume3dElementDescriptor;
4250   case 518: return Reco_AlignedCurve3dElementCoordinateSystem;
4251   case 519: return Reco_ArbitraryVolume3dElementCoordinateSystem;
4252   case 520: return Reco_Curve3dElementProperty;
4253   case 521: return Reco_Curve3dElementRepresentation;
4254   case 522: return Reco_Node;
4255 //  case 523: return Reco_CurveElementEndCoordinateSystem;
4256   case 524: return Reco_CurveElementEndOffset;
4257   case 525: return Reco_CurveElementEndRelease;
4258   case 526: return Reco_CurveElementInterval;
4259   case 527: return Reco_CurveElementIntervalConstant;
4260   case 528: return Reco_DummyNode;
4261   case 529: return Reco_CurveElementLocation;
4262   case 530: return Reco_ElementGeometricRelationship;
4263   case 531: return Reco_ElementGroup;
4264   case 532: return Reco_ElementRepresentation;
4265   case 533: return Reco_FeaAreaDensity;
4266   case 534: return Reco_FeaAxis2Placement3d;
4267   case 535: return Reco_FeaGroup;
4268   case 536: return Reco_FeaLinearElasticity;
4269   case 537: return Reco_FeaMassDensity;
4270   case 538: return Reco_FeaMaterialPropertyRepresentation;
4271   case 539: return Reco_FeaMaterialPropertyRepresentationItem;
4272   case 540: return Reco_FeaModel;
4273   case 541: return Reco_FeaModel3d;
4274   case 542: return Reco_FeaMoistureAbsorption;
4275   case 543: return Reco_FeaParametricPoint;
4276   case 544: return Reco_FeaRepresentationItem;
4277   case 545: return Reco_FeaSecantCoefficientOfLinearThermalExpansion;
4278   case 546: return Reco_FeaShellBendingStiffness;
4279   case 547: return Reco_FeaShellMembraneBendingCouplingStiffness;
4280   case 548: return Reco_FeaShellMembraneStiffness;
4281   case 549: return Reco_FeaShellShearStiffness;
4282   case 550: return Reco_GeometricNode;
4283   case 551: return Reco_FeaTangentialCoefficientOfLinearThermalExpansion;
4284   case 552: return Reco_NodeGroup;
4285   case 553: return Reco_NodeRepresentation;
4286   case 554: return Reco_NodeSet;
4287   case 555: return Reco_NodeWithSolutionCoordinateSystem;
4288   case 556: return Reco_NodeWithVector;
4289   case 557: return Reco_ParametricCurve3dElementCoordinateDirection;
4290   case 558: return Reco_ParametricCurve3dElementCoordinateSystem;
4291   case 559: return Reco_ParametricSurface3dElementCoordinateSystem;
4292   case 560: return Reco_Surface3dElementRepresentation;
4293 //  case 561: return Reco_SymmetricTensor22d;
4294 //  case 562: return Reco_SymmetricTensor42d;
4295 //  case 563: return Reco_SymmetricTensor43d;
4296   case 564: return Reco_Volume3dElementRepresentation;
4297   case 565: return Reco_DataEnvironment;
4298   case 566: return Reco_MaterialPropertyRepresentation;
4299   case 567: return Reco_PropertyDefinitionRelationship;
4300   case 568: return Reco_PointRepresentation;
4301   case 569: return Reco_MaterialProperty;
4302   case 570: return Reco_FeaModelDefinition;
4303   case 571: return Reco_FreedomAndCoefficient;
4304   case 572: return Reco_FreedomsList;  
4305   case 573: return Reco_ProductDefinitionFormationRelationship;
4306 //  case 574: return Reco_FeaModelDefinition;
4307   case 575: return Reco_NodeDefinition;
4308   case 576: return Reco_StructuralResponseProperty;
4309   case 577: return Reco_StructuralResponsePropertyDefinitionRepresentation;
4310   case 579: return Reco_AlignedSurface3dElementCoordinateSystem;
4311   case 580: return Reco_ConstantSurface3dElementCoordinateSystem;
4312   case 581: return Reco_CurveElementIntervalLinearlyVarying;
4313   case 582: return Reco_FeaCurveSectionGeometricRelationship;
4314   case 583: return Reco_FeaSurfaceSectionGeometricRelationship;
4315   
4316   // ptv 28.01.2003
4317   case 600: return Reco_DocumentProductAssociation;
4318   case 601: return Reco_DocumentProductEquivalence;
4319
4320   // Added by SKL 18.06.2003 for Dimensional Tolerances (CAX-IF TRJ11)
4321   case 609: return Reco_CylindricityTolerance;
4322   case 610: return Reco_ShapeRepresentationWithParameters;
4323   case 611: return Reco_AngularityTolerance;
4324   case 612: return Reco_ConcentricityTolerance;
4325   case 613: return Reco_CircularRunoutTolerance;
4326   case 614: return Reco_CoaxialityTolerance;
4327   case 615: return Reco_FlatnessTolerance;
4328   case 616: return Reco_LineProfileTolerance;
4329   case 617: return Reco_ParallelismTolerance;
4330   case 618: return Reco_PerpendicularityTolerance;
4331   case 619: return Reco_PositionTolerance;
4332   case 620: return Reco_RoundnessTolerance;
4333   case 621: return Reco_StraightnessTolerance;
4334   case 622: return Reco_SurfaceProfileTolerance;
4335   case 623: return Reco_SymmetryTolerance;
4336   case 624: return Reco_TotalRunoutTolerance;
4337   case 625: return Reco_GeometricTolerance;
4338   case 626: return Reco_GeometricToleranceRelationship;
4339   case 627: return Reco_GeometricToleranceWithDatumReference;
4340   case 628: return Reco_ModifiedGeometricTolerance;
4341   case 629: return Reco_Datum;
4342   case 630: return Reco_DatumFeature;
4343   case 631: return Reco_DatumReference;
4344   case 632: return Reco_CommonDatum;
4345   case 633: return Reco_DatumTarget;
4346   case 634: return Reco_PlacedDatumTargetFeature;
4347
4348   case 651 : return Reco_MassMeasureWithUnit;
4349
4350   // Added by ika for GD&T AP242
4351   case 660: return Reco_Apex;
4352   case 661: return Reco_CentreOfSymmetry;
4353   case 662: return Reco_GeometricAlignment;
4354   case 663: return Reco_PerpendicularTo;
4355   case 664: return Reco_Tangent;
4356   case 665: return Reco_ParallelOffset;
4357   case 666: return Reco_GeometricItemSpecificUsage;
4358   case 667: return Reco_IdAttribute;
4359   case 668: return Reco_ItemIdentifiedRepresentationUsage;
4360   case 669: return Reco_AllAroundShapeAspect;
4361   case 670: return Reco_BetweenShapeAspect;
4362   case 671: return Reco_CompositeGroupShapeAspect;
4363   case 672: return Reco_ContinuosShapeAspect;
4364   case 673: return Reco_GeometricToleranceWithDefinedAreaUnit;
4365   case 674: return Reco_GeometricToleranceWithDefinedUnit;
4366   case 675: return Reco_GeometricToleranceWithMaximumTolerance;
4367   case 676: return Reco_GeometricToleranceWithModifiers;
4368   case 677: return Reco_UnequallyDisposedGeometricTolerance;
4369   case 678: return Reco_NonUniformZoneDefinition;
4370   case 679: return Reco_ProjectedZoneDefinition;
4371   case 680: return Reco_RunoutZoneDefinition;
4372   case 681: return Reco_RunoutZoneOrientation;
4373   case 682: return Reco_ToleranceZone;
4374   case 683: return Reco_ToleranceZoneDefinition;
4375   case 684: return Reco_ToleranceZoneForm;
4376   case 685: return Reco_ValueFormatTypeQualifier;
4377   case 686: return Reco_DatumReferenceCompartment;
4378   case 687: return Reco_DatumReferenceElement;
4379   case 688: return Reco_DatumReferenceModifierWithValue;
4380   case 689: return Reco_DatumSystem;
4381   case 690: return Reco_GeneralDatumReference;
4382   case 700: return Reco_IntegerRepresentationItem;
4383   case 701: return Reco_ValueRepresentationItem;
4384
4385   default : return PasReco;
4386   }
4387 }
4388
4389
4390 //=======================================================================
4391 //function : ComplexType
4392 //purpose  : Complex Type (list of types)
4393 //=======================================================================
4394
4395 Standard_Boolean RWStepAP214_ReadWriteModule::ComplexType(const Standard_Integer CN,
4396                                                           TColStd_SequenceOfAsciiString& types) const
4397 {
4398   switch(CN)
4399     {
4400     case 319:
4401       types.Append (StepType(48));
4402       types.Append (StepType(38));
4403       types.Append (StepType(84));
4404       types.Append (StepType(144));
4405       types.Append (StepType(239));
4406       types.Append (StepType(247));
4407       types.Append (StepType(311));
4408       break;
4409     case 320:
4410       types.Append (StepType(48));
4411       types.Append (StepType(38));
4412       types.Append (StepType(39));
4413       types.Append (StepType(84));
4414       types.Append (StepType(144));
4415       types.Append (StepType(239));
4416       types.Append (StepType(247));
4417       break;
4418     case 321:
4419       types.Append (StepType(48));
4420       types.Append (StepType(38));
4421       types.Append (StepType(84));
4422       types.Append (StepType(144));
4423       types.Append (StepType(236));
4424       types.Append (StepType(239));
4425       types.Append (StepType(247));
4426       break;
4427     case 322:
4428       types.Append (StepType(43));
4429       types.Append (StepType(48));
4430       types.Append (StepType(38));
4431       types.Append (StepType(84));
4432       types.Append (StepType(144));
4433       types.Append (StepType(239));
4434       types.Append (StepType(247));
4435       break;
4436     case 323:
4437       types.Append (StepType(49));
4438       types.Append (StepType(40));
4439       types.Append (StepType(41));
4440       types.Append (StepType(144));
4441       types.Append (StepType(240));
4442       types.Append (StepType(247));
4443       types.Append (StepType(271));
4444       break;
4445     case 324:
4446       types.Append (StepType(49));
4447       types.Append (StepType(40));
4448       types.Append (StepType(144));
4449       types.Append (StepType(240));
4450       types.Append (StepType(247));
4451       types.Append (StepType(271));
4452       types.Append (StepType(312));
4453       break;
4454     case 325:
4455       types.Append (StepType(49));
4456       types.Append (StepType(40));
4457       types.Append (StepType(144));
4458       types.Append (StepType(237));
4459       types.Append (StepType(240));
4460       types.Append (StepType(247));
4461       types.Append (StepType(271));
4462       break;
4463     case 326:
4464       types.Append (StepType(44));
4465       types.Append (StepType(49));
4466       types.Append (StepType(40));
4467       types.Append (StepType(144));
4468       types.Append (StepType(240));
4469       types.Append (StepType(247));
4470       types.Append (StepType(271));
4471       break;
4472     case 327:
4473       types.Append (StepType(158));
4474       types.Append (StepType(169));
4475       types.Append (StepType(264));
4476       break;
4477     case 328:
4478       types.Append (StepType(169));
4479       types.Append (StepType(201));
4480       types.Append (StepType(264));
4481       break;
4482     case 329:
4483       types.Append (StepType(79));
4484       types.Append (StepType(158));
4485       types.Append (StepType(169));
4486       break;
4487     case 330:
4488       types.Append (StepType(79));
4489       types.Append (StepType(169));
4490       types.Append (StepType(201));
4491       break;
4492     case 331:
4493       types.Append (StepType(143));
4494       types.Append (StepType(149));
4495       types.Append (StepType(246));
4496       break;
4497     case 332:
4498       types.Append (StepType(161));
4499       types.Append (StepType(189));
4500       types.Append (StepType(247));
4501       types.Append (StepType(304));
4502       break;
4503     case 333:
4504       types.Append (StepType(143));
4505       types.Append (StepType(148));
4506       types.Append (StepType(149));
4507       types.Append (StepType(246));
4508       break;
4509     case 334:
4510       types.Append (StepType(79));
4511       types.Append (StepType(169));
4512       types.Append (StepType(336));
4513       break;
4514     case 335:
4515       types.Append (StepType(169));
4516       types.Append (StepType(264));
4517       types.Append (StepType(336));
4518       break;
4519     case 337:
4520       types.Append (StepType(52));
4521       types.Append (StepType(134));
4522       types.Append (StepType(144));
4523       types.Append (StepType(162));
4524       types.Append (StepType(247));
4525       types.Append (StepType(266));
4526       break;
4527     case 338:
4528       types.Append (StepType(143));
4529       types.Append (StepType(188));
4530       types.Append (StepType(246));
4531       break;
4532     case 344:
4533       types.Append (StepType(169));
4534       types.Append (StepType(342));
4535       types.Append (StepType(264));
4536       break;
4537     case 345:
4538       types.Append (StepType(169));
4539       types.Append (StepType(264));
4540       types.Append (StepType(343));
4541       break;
4542     case 346:
4543       types.Append (StepType(79));
4544       types.Append (StepType(169));
4545       types.Append (StepType(342));
4546       break;
4547     case 347:
4548       types.Append (StepType(79));
4549       types.Append (StepType(169));
4550       types.Append (StepType(343));
4551       break;
4552     case 357:
4553       types.Append (StepType(157));
4554       types.Append (StepType(165));
4555       types.Append (StepType(310));
4556       break;
4557     case 358: //:n5
4558       types.Append (StepType(48));
4559       types.Append (StepType(84));
4560       types.Append (StepType(144));
4561       types.Append (StepType(247));
4562       types.Append (StepType(272));
4563       break;
4564     case 389:
4565       types.Append (StepType(249));
4566       types.Append (StepType(388));
4567       types.Append (StepType(387));
4568       break;
4569     case 409:
4570       types.Append (StepType(407));
4571       types.Append (StepType(169));
4572       types.Append (StepType(264));
4573       break;
4574     case 410:
4575       types.Append (StepType(169));
4576       types.Append (StepType(264));
4577       types.Append (StepType(408));
4578       break;
4579     case 411:
4580       types.Append (StepType(407));
4581       types.Append (StepType(79));
4582       types.Append (StepType(169));
4583       break;
4584     case 412:
4585       types.Append (StepType(79));
4586       types.Append (StepType(169));
4587       types.Append (StepType(408));
4588       break;
4589     case 463:
4590       types.Append (StepType(98));
4591       types.Append (StepType(245));
4592       types.Append (StepType(262));
4593       break;
4594     case 481:
4595       types.Append (StepType(406));
4596       types.Append (StepType(480));
4597       types.Append (StepType(247));
4598       break;
4599     case 574:
4600       types.Append (StepType(501));
4601       types.Append (StepType(169));
4602       types.Append (StepType(264));
4603       break;
4604     case 578:
4605       types.Append (StepType(169));
4606       types.Append (StepType(264));
4607       types.Append (StepType(502));
4608       break;
4609     case 635:
4610       types.Append (StepType(157));
4611       types.Append (StepType(406));
4612       types.Append (StepType(165));
4613       types.Append (StepType(247));
4614       break;
4615     case 636:
4616       types.Append (StepType(625));
4617       types.Append (StepType(627));
4618       types.Append (StepType(628));
4619       types.Append (StepType(619));
4620       break;
4621     case 650:
4622       types.Append (StepType(79));
4623       types.Append (StepType(501));
4624       types.Append (StepType(169));
4625       break;
4626     case 691:
4627       types.Append (StepType(406));
4628       types.Append (StepType(165));
4629       types.Append (StepType(200));
4630       types.Append (StepType(247));
4631       break;
4632     case 692:
4633       types.Append (StepType(157));
4634       types.Append (StepType(406));
4635       types.Append (StepType(165));
4636       types.Append (StepType(480));
4637       types.Append (StepType(247));
4638       break;
4639     case 693:
4640       types.Append (StepType(406));
4641       types.Append (StepType(165));
4642       types.Append (StepType(200));
4643       types.Append (StepType(480));
4644       types.Append (StepType(247));
4645       break;
4646     case 694:
4647       types.Append (StepType(625));
4648       types.Append (StepType(627));
4649       types.Append (StepType(625));
4650       break;
4651     case 695:
4652       types.Append (StepType(625));
4653       types.Append (StepType(627));
4654       types.Append (StepType(676));
4655       types.Append (StepType(625));
4656       break;
4657     case 696:
4658       types.Append (StepType(625));
4659       types.Append (StepType(676));
4660       types.Append (StepType(625));
4661       break;
4662     case 697:
4663       types.Append (StepType(625));
4664       types.Append (StepType(627));
4665       types.Append (StepType(625));
4666       types.Append (StepType(677));
4667       break;
4668       default : return Standard_False;
4669     case 698:
4670       types.Append (StepType(671));
4671       types.Append (StepType(470));
4672       types.Append (StepType(630));
4673       types.Append (StepType(258));
4674       break;
4675     case 699:
4676       types.Append (StepType(470));
4677       types.Append (StepType(630));
4678       types.Append (StepType(258));
4679       break;
4680     }
4681   return Standard_True;
4682 }
4683
4684
4685 //=======================================================================
4686 //function : ReadStep
4687 //purpose  : Reading of a file
4688 //=======================================================================
4689
4690 void RWStepAP214_ReadWriteModule::ReadStep(const Standard_Integer CN,
4691                                            const Handle(StepData_StepReaderData)& data,
4692                                            const Standard_Integer num,
4693                                            Handle(Interface_Check)& ach,
4694                                            const Handle(Standard_Transient)&ent) const
4695 {
4696   if (CN == 0) {
4697 #ifdef OCCT_DEBUG
4698     cout << "CN = 0 for num = " << num << endl;
4699 #endif
4700     return;
4701   }
4702   switch (CN) {
4703   case 1 : 
4704     {
4705       DeclareAndCast(StepBasic_Address, anent, ent);
4706       RWStepBasic_RWAddress tool;
4707       tool.ReadStep (data,num,ach,anent);
4708     }
4709     break;
4710   case 2 : 
4711     {
4712       DeclareAndCast(StepShape_AdvancedBrepShapeRepresentation, anent, ent);
4713       RWStepShape_RWAdvancedBrepShapeRepresentation tool;
4714       tool.ReadStep (data,num,ach,anent);
4715     }
4716     break;
4717   case 3 : 
4718     {
4719       DeclareAndCast(StepShape_AdvancedFace, anent, ent);
4720       RWStepShape_RWAdvancedFace tool;
4721       tool.ReadStep (data,num,ach,anent);
4722     }
4723     break;
4724
4725   case 7 : 
4726     {
4727       DeclareAndCast(StepVisual_StyledItem, anent, ent);
4728       RWStepVisual_RWStyledItem tool;
4729       tool.ReadStep (data,num,ach,anent);
4730     }
4731     
4732     break;
4733   case 11 : 
4734     {
4735       DeclareAndCast(StepRepr_MappedItem, anent, ent);
4736       RWStepRepr_RWMappedItem tool;
4737       tool.ReadStep (data,num,ach,anent);
4738     }
4739     
4740     break;
4741   case 12 : 
4742     {
4743       DeclareAndCast(StepVisual_StyledItem, anent, ent);
4744       RWStepVisual_RWStyledItem tool;
4745       tool.ReadStep (data,num,ach,anent);
4746     }
4747     
4748     break;
4749   case 13 : 
4750     {
4751       DeclareAndCast(StepBasic_ApplicationContext, anent, ent);
4752       RWStepBasic_RWApplicationContext tool;
4753       tool.ReadStep (data,num,ach,anent);
4754     }
4755     break;
4756   case 14 : 
4757     {
4758       DeclareAndCast(StepBasic_ApplicationContextElement, anent, ent);
4759       RWStepBasic_RWApplicationContextElement tool;
4760       tool.ReadStep (data,num,ach,anent);
4761     }
4762     
4763     break;
4764   case 15 : 
4765     {
4766       DeclareAndCast(StepBasic_ApplicationProtocolDefinition, anent, ent);
4767       RWStepBasic_RWApplicationProtocolDefinition tool;
4768       tool.ReadStep (data,num,ach,anent);
4769     }
4770     
4771     break;
4772   case 16 : 
4773     {
4774       DeclareAndCast(StepBasic_Approval, anent, ent);
4775       RWStepBasic_RWApproval tool;
4776       tool.ReadStep (data,num,ach,anent);
4777     }
4778     
4779     break;
4780   case 18 : 
4781     {
4782       DeclareAndCast(StepBasic_ApprovalPersonOrganization, anent, ent);
4783       RWStepBasic_RWApprovalPersonOrganization tool;
4784       tool.ReadStep (data,num,ach,anent);
4785     }
4786     
4787     break;
4788   case 19 : 
4789     {
4790       DeclareAndCast(StepBasic_ApprovalRelationship, anent, ent);
4791       RWStepBasic_RWApprovalRelationship tool;
4792       tool.ReadStep (data,num,ach,anent);
4793     }
4794     
4795     break;
4796   case 20 : 
4797     {
4798       DeclareAndCast(StepBasic_ApprovalRole, anent, ent);
4799       RWStepBasic_RWApprovalRole tool;
4800       tool.ReadStep (data,num,ach,anent);
4801     }
4802     
4803     break;
4804   case 21 : 
4805     {
4806       DeclareAndCast(StepBasic_ApprovalStatus, anent, ent);
4807       RWStepBasic_RWApprovalStatus tool;
4808       tool.ReadStep (data,num,ach,anent);
4809     }
4810     
4811     break;
4812   case 22 : 
4813     {
4814       DeclareAndCast(StepVisual_AreaInSet, anent, ent);
4815       RWStepVisual_RWAreaInSet tool;
4816       tool.ReadStep (data,num,ach,anent);
4817     }
4818     
4819     break;
4820   case 23 : 
4821     {
4822       DeclareAndCast(StepAP214_AutoDesignActualDateAndTimeAssignment, anent, ent);
4823       RWStepAP214_RWAutoDesignActualDateAndTimeAssignment tool;
4824       tool.ReadStep (data,num,ach,anent);
4825     }
4826     
4827     break;
4828   case 24 : 
4829     {
4830       DeclareAndCast(StepAP214_AutoDesignActualDateAssignment, anent, ent);
4831       RWStepAP214_RWAutoDesignActualDateAssignment tool;
4832       tool.ReadStep (data,num,ach,anent);
4833     }
4834     
4835     break;
4836   case 25 : 
4837     {
4838       DeclareAndCast(StepAP214_AutoDesignApprovalAssignment, anent, ent);
4839       RWStepAP214_RWAutoDesignApprovalAssignment tool;
4840       tool.ReadStep (data,num,ach,anent);
4841     }
4842     
4843     break;
4844   case 26 : 
4845     {
4846       DeclareAndCast(StepAP214_AutoDesignDateAndPersonAssignment, anent, ent);
4847       RWStepAP214_RWAutoDesignDateAndPersonAssignment tool;
4848       tool.ReadStep (data,num,ach,anent);
4849     }
4850     
4851     break;
4852   case 27 : 
4853     {
4854       DeclareAndCast(StepAP214_AutoDesignGroupAssignment, anent, ent);
4855       RWStepAP214_RWAutoDesignGroupAssignment tool;
4856       tool.ReadStep (data,num,ach,anent);
4857     }
4858     
4859     break;
4860   case 28 : 
4861     {
4862       DeclareAndCast(StepAP214_AutoDesignNominalDateAndTimeAssignment, anent, ent);
4863       RWStepAP214_RWAutoDesignNominalDateAndTimeAssignment tool;
4864       tool.ReadStep (data,num,ach,anent);
4865     }
4866     
4867     break;
4868   case 29 : 
4869     {
4870       DeclareAndCast(StepAP214_AutoDesignNominalDateAssignment, anent, ent);
4871       RWStepAP214_RWAutoDesignNominalDateAssignment tool;
4872       tool.ReadStep (data,num,ach,anent);
4873     }
4874     
4875     break;
4876   case 30 : 
4877     {
4878       DeclareAndCast(StepAP214_AutoDesignOrganizationAssignment, anent, ent);
4879       RWStepAP214_RWAutoDesignOrganizationAssignment tool;
4880       tool.ReadStep (data,num,ach,anent);
4881     }
4882     
4883     break;
4884   case 31 : 
4885     {
4886       DeclareAndCast(StepAP214_AutoDesignPersonAndOrganizationAssignment, anent, ent);
4887       RWStepAP214_RWAutoDesignPersonAndOrganizationAssignment tool;
4888       tool.ReadStep (data,num,ach,anent);
4889     }
4890     
4891     break;
4892   case 32 : 
4893     {
4894       DeclareAndCast(StepAP214_AutoDesignPresentedItem, anent, ent);
4895       RWStepAP214_RWAutoDesignPresentedItem tool;
4896       tool.ReadStep (data,num,ach,anent);
4897     }
4898     
4899     break;
4900   case 33 : 
4901     {
4902       DeclareAndCast(StepAP214_AutoDesignSecurityClassificationAssignment, anent, ent);
4903       RWStepAP214_RWAutoDesignSecurityClassificationAssignment tool;
4904       tool.ReadStep (data,num,ach,anent);
4905     }
4906
4907     break;
4908   case 35 : 
4909     {
4910       DeclareAndCast(StepGeom_Axis1Placement, anent, ent);
4911       RWStepGeom_RWAxis1Placement tool;
4912       tool.ReadStep (data,num,ach,anent);
4913     }
4914     
4915     break;
4916   case 36 : 
4917     {
4918       DeclareAndCast(StepGeom_Axis2Placement2d, anent, ent);
4919       RWStepGeom_RWAxis2Placement2d tool;
4920       tool.ReadStep (data,num,ach,anent);
4921     }
4922     
4923     break;
4924   case 37 : 
4925     {
4926       DeclareAndCast(StepGeom_Axis2Placement3d, anent, ent);
4927       RWStepGeom_RWAxis2Placement3d tool;
4928       tool.ReadStep (data,num,ach,anent);
4929     }
4930     
4931     break;
4932   case 38 : 
4933     {
4934       DeclareAndCast(StepGeom_BSplineCurve, anent, ent);
4935       RWStepGeom_RWBSplineCurve tool;
4936       tool.ReadStep (data,num,ach,anent);
4937     }
4938     
4939     break;
4940   case 39 : 
4941     {
4942       DeclareAndCast(StepGeom_BSplineCurveWithKnots, anent, ent);
4943       RWStepGeom_RWBSplineCurveWithKnots tool;
4944       tool.ReadStep (data,num,ach,anent);
4945     }
4946     
4947     break;
4948   case 40 : 
4949     {
4950       DeclareAndCast(StepGeom_BSplineSurface, anent, ent);
4951       RWStepGeom_RWBSplineSurface tool;
4952       tool.ReadStep (data,num,ach,anent);
4953     }
4954     
4955     break;
4956   case 41 : 
4957     {
4958       DeclareAndCast(StepGeom_BSplineSurfaceWithKnots, anent, ent);
4959       RWStepGeom_RWBSplineSurfaceWithKnots tool;
4960       tool.ReadStep (data,num,ach,anent);
4961     }
4962     
4963     break;
4964   case 42 : 
4965     {
4966       DeclareAndCast(StepVisual_BackgroundColour, anent, ent);
4967       RWStepVisual_RWBackgroundColour tool;
4968       tool.ReadStep (data,num,ach,anent);
4969     }
4970     
4971     break;
4972   case 43 : 
4973     {
4974       DeclareAndCast(StepGeom_BezierCurve, anent, ent);
4975       RWStepGeom_RWBezierCurve tool;
4976       tool.ReadStep (data,num,ach,anent);
4977     }
4978     
4979     break;
4980   case 44 : 
4981     {
4982       DeclareAndCast(StepGeom_BezierSurface, anent, ent);
4983       RWStepGeom_RWBezierSurface tool;
4984       tool.ReadStep (data,num,ach,anent);
4985     }
4986     
4987     break;
4988   case 45 : 
4989     {
4990       DeclareAndCast(StepShape_Block, anent, ent);
4991       RWStepShape_RWBlock tool;
4992       tool.ReadStep (data,num,ach,anent);
4993     }
4994     
4995     break;
4996   case 46 : 
4997     {
4998       DeclareAndCast(StepShape_BooleanResult, anent, ent);
4999       RWStepShape_RWBooleanResult tool;
5000       tool.ReadStep (data,num,ach,anent);
5001     }
5002     
5003     break;
5004   case 47 : 
5005     {
5006       DeclareAndCast(StepGeom_BoundaryCurve, anent, ent);
5007       RWStepGeom_RWBoundaryCurve tool;
5008       tool.ReadStep (data,num,ach,anent);
5009     }
5010     
5011     break;
5012   case 48 : 
5013     {
5014       DeclareAndCast(StepGeom_BoundedCurve, anent, ent);
5015       RWStepGeom_RWBoundedCurve tool;
5016       tool.ReadStep (data,num,ach,anent);
5017     }
5018     
5019     break;
5020   case 49 : 
5021     {
5022       DeclareAndCast(StepGeom_BoundedSurface, anent, ent);
5023       RWStepGeom_RWBoundedSurface tool;
5024       tool.ReadStep (data,num,ach,anent);
5025     }
5026     
5027     break;
5028   case 50 : 
5029     {
5030       DeclareAndCast(StepShape_BoxDomain, anent, ent);
5031       RWStepShape_RWBoxDomain tool;
5032       tool.ReadStep (data,num,ach,anent);
5033     }
5034     
5035     break;
5036   case 51 : 
5037     {
5038       DeclareAndCast(StepShape_BoxedHalfSpace, anent, ent);
5039       RWStepShape_RWBoxedHalfSpace tool;
5040       tool.ReadStep (data,num,ach,anent);
5041     }
5042     
5043     break;
5044   case 52 : 
5045     {
5046       DeclareAndCast(StepShape_BrepWithVoids, anent, ent);
5047       RWStepShape_RWBrepWithVoids tool;
5048       tool.ReadStep (data,num,ach,anent);
5049     }
5050     
5051     break;
5052   case 53 : 
5053     {
5054       DeclareAndCast(StepBasic_CalendarDate, anent, ent);
5055       RWStepBasic_RWCalendarDate tool;
5056       tool.ReadStep (data,num,ach,anent);
5057     }
5058     
5059     break;
5060   case 54 : 
5061     {
5062       DeclareAndCast(StepVisual_CameraImage, anent, ent);
5063       RWStepVisual_RWCameraImage tool;
5064       tool.ReadStep (data,num,ach,anent);
5065     }
5066     
5067     break;
5068   case 55 : 
5069     {
5070       DeclareAndCast(StepVisual_CameraModel, anent, ent);
5071       RWStepVisual_RWCameraModel tool;
5072       tool.ReadStep (data,num,ach,anent);
5073     }
5074     
5075     break;
5076   case 56 : 
5077     {
5078       DeclareAndCast(StepVisual_CameraModelD2, anent, ent);
5079       RWStepVisual_RWCameraModelD2 tool;
5080       tool.ReadStep (data,num,ach,anent);
5081     }
5082     
5083     break;
5084   case 57 : 
5085     {
5086       DeclareAndCast(StepVisual_CameraModelD3, anent, ent);
5087       RWStepVisual_RWCameraModelD3 tool;
5088       tool.ReadStep (data,num,ach,anent);
5089     }
5090     
5091     break;
5092   case 58 : 
5093     {
5094       DeclareAndCast(StepVisual_CameraUsage, anent, ent);
5095       RWStepVisual_RWCameraUsage tool;
5096       tool.ReadStep (data,num,ach,anent);
5097     }
5098     
5099     break;
5100   case 59 : 
5101     {
5102       DeclareAndCast(StepGeom_CartesianPoint, anent, ent);
5103       RWStepGeom_RWCartesianPoint tool;
5104       tool.ReadStep (data,num,ach,anent);
5105     }
5106     
5107     break;
5108   case 60 : 
5109     {
5110       DeclareAndCast(StepGeom_CartesianTransformationOperator, anent, ent);
5111       RWStepGeom_RWCartesianTransformationOperator tool;
5112       tool.ReadStep (data,num,ach,anent);
5113     }
5114     
5115     break;
5116   case 61 : 
5117     {
5118       DeclareAndCast(StepGeom_CartesianTransformationOperator3d, anent, ent);
5119       RWStepGeom_RWCartesianTransformationOperator3d tool;
5120       tool.ReadStep (data,num,ach,anent);
5121     }
5122     
5123     break;
5124   case 62 : 
5125     {
5126       DeclareAndCast(StepGeom_Circle, anent, ent);
5127       RWStepGeom_RWCircle tool;
5128       tool.ReadStep (data,num,ach,anent);
5129     }
5130     
5131     break;
5132   case 63 : 
5133     {
5134       DeclareAndCast(StepShape_ClosedShell, anent, ent);
5135       RWStepShape_RWClosedShell tool;
5136       tool.ReadStep (data,num,ach,anent);
5137     }
5138     
5139     break;
5140   case 64 : 
5141     {
5142       DeclareAndCast(StepVisual_Colour, anent, ent);
5143       RWStepVisual_RWColour tool;
5144       tool.ReadStep (data,num,ach,anent);
5145     }
5146     
5147     break;
5148   case 65 : 
5149     {
5150       DeclareAndCast(StepVisual_ColourRgb, anent, ent);
5151       RWStepVisual_RWColourRgb tool;
5152       tool.ReadStep (data,num,ach,anent);
5153     }
5154     
5155     break;
5156   case 66 : 
5157     {
5158       DeclareAndCast(StepVisual_ColourSpecification, anent, ent);
5159       RWStepVisual_RWColourSpecification tool;
5160       tool.ReadStep (data,num,ach,anent);
5161     }
5162     
5163     break;
5164   case 67 : 
5165     {
5166       DeclareAndCast(StepGeom_CompositeCurve, anent, ent);
5167       RWStepGeom_RWCompositeCurve tool;
5168       tool.ReadStep (data,num,ach,anent);
5169     }
5170     
5171     break;
5172   case 68 : 
5173     {
5174       DeclareAndCast(StepGeom_CompositeCurveOnSurface, anent, ent);
5175       RWStepGeom_RWCompositeCurveOnSurface tool;
5176       tool.ReadStep (data,num,ach,anent);
5177     }
5178     
5179     break;
5180   case 69 : 
5181     {
5182       DeclareAndCast(StepGeom_CompositeCurveSegment, anent, ent);
5183       RWStepGeom_RWCompositeCurveSegment tool;
5184       tool.ReadStep (data,num,ach,anent);
5185     }
5186     
5187     break;
5188   case 70 : 
5189     {
5190       DeclareAndCast(StepVisual_CompositeText, anent, ent);
5191       RWStepVisual_RWCompositeText tool;
5192       tool.ReadStep (data,num,ach,anent);
5193     }
5194     
5195     break;
5196   case 73 : 
5197     {
5198       DeclareAndCast(StepVisual_CompositeTextWithExtent, anent, ent);
5199       RWStepVisual_RWCompositeTextWithExtent tool;
5200       tool.ReadStep (data,num,ach,anent);
5201     }
5202     
5203     break;
5204   case 74 : 
5205     {
5206       DeclareAndCast(StepGeom_Conic, anent, ent);
5207       RWStepGeom_RWConic tool;
5208       tool.ReadStep (data,num,ach,anent);
5209     }
5210     
5211     break;
5212   case 75 : 
5213     {
5214       DeclareAndCast(StepGeom_ConicalSurface, anent, ent);
5215       RWStepGeom_RWConicalSurface tool;
5216       tool.ReadStep (data,num,ach,anent);
5217     }
5218     
5219     break;
5220   case 76 : 
5221     {
5222       DeclareAndCast(StepShape_ConnectedFaceSet, anent, ent);
5223       RWStepShape_RWConnectedFaceSet tool;
5224       tool.ReadStep (data,num,ach,anent);
5225     }
5226     
5227     break;
5228   case 77 : 
5229     {
5230       DeclareAndCast(StepVisual_ContextDependentInvisibility, anent, ent);
5231       RWStepVisual_RWContextDependentInvisibility tool;
5232       tool.ReadStep (data,num,ach,anent);
5233     }
5234     
5235     break;
5236   case 78 : 
5237     {
5238       DeclareAndCast(StepVisual_ContextDependentOverRidingStyledItem, anent, ent);
5239       RWStepVisual_RWContextDependentOverRidingStyledItem tool;
5240       tool.ReadStep (data,num,ach,anent);
5241     }
5242     
5243     break;
5244   case 79 : 
5245     {
5246       DeclareAndCast(StepBasic_ConversionBasedUnit, anent, ent);
5247       RWStepBasic_RWConversionBasedUnit tool;
5248       tool.ReadStep (data,num,ach,anent);
5249     }
5250     
5251     break;
5252   case 80 : 
5253     {
5254       DeclareAndCast(StepBasic_CoordinatedUniversalTimeOffset, anent, ent);
5255       RWStepBasic_RWCoordinatedUniversalTimeOffset tool;
5256       tool.ReadStep (data,num,ach,anent);
5257     }
5258     
5259     break;
5260   case 82 : 
5261     {
5262       DeclareAndCast(StepShape_CsgShapeRepresentation, anent, ent);
5263       RWStepShape_RWCsgShapeRepresentation tool;
5264       tool.ReadStep (data,num,ach,anent);
5265     }
5266     
5267     break;
5268   case 83 : 
5269     {
5270       DeclareAndCast(StepShape_CsgSolid, anent, ent);
5271       RWStepShape_RWCsgSolid tool;
5272       tool.ReadStep (data,num,ach,anent);
5273     }
5274     
5275     break;
5276   case 84 : 
5277     {
5278       DeclareAndCast(StepGeom_Curve, anent, ent);
5279       RWStepGeom_RWCurve tool;
5280       tool.ReadStep (data,num,ach,anent);
5281     }
5282     
5283     break;
5284   case 85 : 
5285     {
5286       DeclareAndCast(StepGeom_CurveBoundedSurface, anent, ent);
5287       RWStepGeom_RWCurveBoundedSurface tool;
5288       tool.ReadStep (data,num,ach,anent);
5289     }
5290     
5291     break;
5292   case 86 : 
5293     {
5294       DeclareAndCast(StepGeom_CurveReplica, anent, ent);
5295       RWStepGeom_RWCurveReplica tool;
5296       tool.ReadStep (data,num,ach,anent);
5297     }
5298     
5299     break;
5300   case 87 : 
5301     {
5302       DeclareAndCast(StepVisual_CurveStyle, anent, ent);
5303       RWStepVisual_RWCurveStyle tool;
5304       tool.ReadStep (data,num,ach,anent);
5305     }
5306     
5307     break;
5308   case 88 : 
5309     {
5310       DeclareAndCast(StepVisual_CurveStyleFont, anent, ent);
5311       RWStepVisual_RWCurveStyleFont tool;
5312       tool.ReadStep (data,num,ach,anent);
5313     }
5314     
5315     break;
5316   case 89 : 
5317     {
5318       DeclareAndCast(StepVisual_CurveStyleFontPattern, anent, ent);
5319       RWStepVisual_RWCurveStyleFontPattern tool;
5320       tool.ReadStep (data,num,ach,anent);
5321     }
5322     
5323     break;
5324   case 90 : 
5325     {
5326       DeclareAndCast(StepGeom_CylindricalSurface, anent, ent);
5327       RWStepGeom_RWCylindricalSurface tool;
5328       tool.ReadStep (data,num,ach,anent);
5329     }
5330     
5331     break;
5332   case 91 : 
5333     {
5334       DeclareAndCast(StepBasic_Date, anent, ent);
5335       RWStepBasic_RWDate tool;
5336       tool.ReadStep (data,num,ach,anent);
5337     }
5338     
5339     break;
5340   case 92 : 
5341     {
5342       DeclareAndCast(StepBasic_DateAndTime, anent, ent);
5343       RWStepBasic_RWDateAndTime tool;
5344       tool.ReadStep (data,num,ach,anent);
5345     }
5346     
5347     break;
5348   case 95 : 
5349     {
5350       DeclareAndCast(StepBasic_DateRole, anent, ent);
5351       RWStepBasic_RWDateRole tool;
5352       tool.ReadStep (data,num,ach,anent);
5353     }
5354     
5355     break;
5356   case 96 : 
5357     {
5358       DeclareAndCast(StepBasic_DateTimeRole, anent, ent);
5359       RWStepBasic_RWDateTimeRole tool;
5360       tool.ReadStep (data,num,ach,anent);
5361     }
5362     
5363     break;
5364   case 98 : 
5365     {
5366       DeclareAndCast(StepRepr_DefinitionalRepresentation, anent, ent);
5367       RWStepRepr_RWDefinitionalRepresentation tool;
5368       tool.ReadStep (data,num,ach,anent);
5369     }
5370     
5371     break;
5372   case 99 : 
5373     {
5374       DeclareAndCast(StepGeom_DegeneratePcurve, anent, ent);
5375       RWStepGeom_RWDegeneratePcurve tool;
5376       tool.ReadStep (data,num,ach,anent);
5377     }
5378     
5379     break;
5380   case 100 : 
5381     {
5382       DeclareAndCast(StepGeom_DegenerateToroidalSurface, anent, ent);
5383       RWStepGeom_RWDegenerateToroidalSurface tool;
5384       tool.ReadStep (data,num,ach,anent);
5385     }
5386     
5387     break;
5388   case 101 : 
5389     {
5390       DeclareAndCast(StepRepr_DescriptiveRepresentationItem, anent, ent);
5391       RWStepRepr_RWDescriptiveRepresentationItem tool;
5392       tool.ReadStep (data,num,ach,anent);
5393     }
5394     
5395     break;
5396   case 104 : 
5397     {
5398       DeclareAndCast(StepBasic_DimensionalExponents, anent, ent);
5399       RWStepBasic_RWDimensionalExponents tool;
5400       tool.ReadStep (data,num,ach,anent);
5401     }
5402     
5403     break;
5404   case 105 : 
5405     {
5406       DeclareAndCast(StepGeom_Direction, anent, ent);
5407       RWStepGeom_RWDirection tool;
5408       tool.ReadStep (data,num,ach,anent);
5409     }
5410     
5411     break;
5412   case 106 : 
5413     {
5414       DeclareAndCast(StepVisual_StyledItem, anent, ent);
5415       RWStepVisual_RWStyledItem tool;
5416       tool.ReadStep (data,num,ach,anent);
5417     }
5418     
5419     break;
5420   case 108 : 
5421     {
5422       DeclareAndCast(StepVisual_DraughtingPreDefinedColour, anent, ent);
5423       RWStepVisual_RWDraughtingPreDefinedColour tool;
5424       tool.ReadStep (data,num,ach,anent);
5425     }
5426     
5427     break;
5428   case 109 : 
5429     {
5430       DeclareAndCast(StepVisual_DraughtingPreDefinedCurveFont, anent, ent);
5431       RWStepVisual_RWDraughtingPreDefinedCurveFont tool;
5432       tool.ReadStep (data,num,ach,anent);
5433     }
5434     
5435     break;
5436   case 115 : 
5437     {
5438       DeclareAndCast(StepShape_Edge, anent, ent);
5439       RWStepShape_RWEdge tool;
5440       tool.ReadStep (data,num,ach,anent);
5441     }
5442     
5443     break;
5444   case 116 : 
5445     {
5446       DeclareAndCast(StepShape_EdgeCurve, anent, ent);
5447       RWStepShape_RWEdgeCurve tool;
5448       tool.ReadStep (data,num,ach,anent);
5449     }
5450     
5451     break;
5452   case 117 : 
5453     {
5454       DeclareAndCast(StepShape_EdgeLoop, anent, ent);
5455       RWStepShape_RWEdgeLoop tool;
5456       tool.ReadStep (data,num,ach,anent);
5457     }
5458     
5459     break;
5460   case 118 : 
5461     {
5462       DeclareAndCast(StepGeom_ElementarySurface, anent, ent);
5463       RWStepGeom_RWElementarySurface tool;
5464       tool.ReadStep (data,num,ach,anent);
5465     }
5466     
5467     break;
5468   case 119 : 
5469     {
5470       DeclareAndCast(StepGeom_Ellipse, anent, ent);
5471       RWStepGeom_RWEllipse tool;
5472       tool.ReadStep (data,num,ach,anent);
5473     }
5474     
5475     break;
5476   case 120 : 
5477     {
5478       DeclareAndCast(StepGeom_EvaluatedDegeneratePcurve, anent, ent);
5479       RWStepGeom_RWEvaluatedDegeneratePcurve tool;
5480       tool.ReadStep (data,num,ach,anent);
5481     }
5482     
5483     break;
5484   case 121 : 
5485     {
5486       DeclareAndCast(StepBasic_ExternalSource, anent, ent);
5487       RWStepBasic_RWExternalSource tool;
5488       tool.ReadStep (data,num,ach,anent);
5489     }
5490     
5491     break;
5492   case 122 : 
5493     {
5494       DeclareAndCast(StepVisual_ExternallyDefinedCurveFont, anent, ent);
5495       RWStepVisual_RWExternallyDefinedCurveFont tool;
5496       tool.ReadStep (data,num,ach,anent);
5497     }
5498     
5499     break;
5500   case 124 : 
5501   case 126 : 
5502     {
5503       DeclareAndCast(StepBasic_ExternallyDefinedItem, anent, ent);
5504       RWStepBasic_RWExternallyDefinedItem tool;
5505       tool.ReadStep (data,num,ach,anent);
5506     }
5507     
5508     break;
5509   case 128 : 
5510     {
5511       DeclareAndCast(StepShape_ExtrudedAreaSolid, anent, ent);
5512       RWStepShape_RWExtrudedAreaSolid tool;
5513       tool.ReadStep (data,num,ach,anent);
5514     }
5515     
5516     break;
5517   case 129 : 
5518     {
5519       DeclareAndCast(StepShape_Face, anent, ent);
5520       RWStepShape_RWFace tool;
5521       tool.ReadStep (data,num,ach,anent);
5522     }
5523     
5524     break;
5525   case 131 : 
5526     {
5527       DeclareAndCast(StepShape_FaceBound, anent, ent);
5528       RWStepShape_RWFaceBound tool;
5529       tool.ReadStep (data,num,ach,anent);
5530     }
5531     
5532     break;
5533   case 132 : 
5534     {
5535       DeclareAndCast(StepShape_FaceOuterBound, anent, ent);
5536       RWStepShape_RWFaceOuterBound tool;
5537       tool.ReadStep (data,num,ach,anent);
5538     }
5539     
5540     break;
5541   case 133 : 
5542     {
5543       DeclareAndCast(StepShape_FaceSurface, anent, ent);
5544       RWStepShape_RWFaceSurface tool;
5545       tool.ReadStep (data,num,ach,anent);
5546     }
5547     
5548     break;
5549   case 134 : 
5550     {
5551       DeclareAndCast(StepShape_FacetedBrep, anent, ent);
5552       RWStepShape_RWFacetedBrep tool;
5553       tool.ReadStep (data,num,ach,anent);
5554     }
5555     
5556     break;
5557   case 135 : 
5558     {
5559       DeclareAndCast(StepShape_FacetedBrepShapeRepresentation, anent, ent);
5560       RWStepShape_RWFacetedBrepShapeRepresentation tool;
5561       tool.ReadStep (data,num,ach,anent);
5562     }
5563     
5564     break;
5565   case 136 : 
5566     {
5567       DeclareAndCast(StepVisual_FillAreaStyle, anent, ent);
5568       RWStepVisual_RWFillAreaStyle tool;
5569       tool.ReadStep (data,num,ach,anent);
5570     }
5571     
5572     break;
5573   case 137 : 
5574     {
5575       DeclareAndCast(StepVisual_FillAreaStyleColour, anent, ent);
5576       RWStepVisual_RWFillAreaStyleColour tool;
5577       tool.ReadStep (data,num,ach,anent);
5578     }
5579     
5580     break;
5581   case 141 : 
5582     {
5583       DeclareAndCast(StepRepr_FunctionallyDefinedTransformation, anent, ent);
5584       RWStepRepr_RWFunctionallyDefinedTransformation tool;
5585       tool.ReadStep (data,num,ach,anent);
5586     }
5587     
5588     break;
5589   case 142 : 
5590     {
5591       DeclareAndCast(StepShape_GeometricCurveSet, anent, ent);
5592       RWStepShape_RWGeometricCurveSet tool;
5593       tool.ReadStep (data,num,ach,anent);
5594     }
5595     
5596     break;
5597   case 143 : 
5598     {
5599       DeclareAndCast(StepGeom_GeometricRepresentationContext, anent, ent);
5600       RWStepGeom_RWGeometricRepresentationContext tool;
5601       tool.ReadStep (data,num,ach,anent);
5602     }
5603     
5604     break;
5605   case 144 : 
5606     {
5607       DeclareAndCast(StepGeom_GeometricRepresentationItem, anent, ent);
5608       RWStepGeom_RWGeometricRepresentationItem tool;
5609       tool.ReadStep (data,num,ach,anent);
5610     }
5611     
5612     break;
5613   case 145 : 
5614     {
5615       DeclareAndCast(StepShape_GeometricSet, anent, ent);
5616       RWStepShape_RWGeometricSet tool;
5617       tool.ReadStep (data,num,ach,anent);
5618     }
5619     
5620     break;
5621   case 146 : 
5622     {
5623       DeclareAndCast(StepShape_GeometricallyBoundedSurfaceShapeRepresentation, anent, ent);
5624       RWStepShape_RWGeometricallyBoundedSurfaceShapeRepresentation tool;
5625       tool.ReadStep (data,num,ach,anent);
5626     }
5627     
5628     break;
5629   case 147 : 
5630     {
5631       DeclareAndCast(StepShape_GeometricallyBoundedWireframeShapeRepresentation, anent, ent);
5632       RWStepShape_RWGeometricallyBoundedWireframeShapeRepresentation tool;
5633       tool.ReadStep (data,num,ach,anent);
5634     }
5635     
5636     break;
5637   case 148 : 
5638     {
5639       DeclareAndCast(StepRepr_GlobalUncertaintyAssignedContext, anent, ent);
5640       RWStepRepr_RWGlobalUncertaintyAssignedContext tool;
5641       tool.ReadStep (data,num,ach,anent);
5642     }
5643     
5644     break;
5645   case 149 : 
5646     {
5647       DeclareAndCast(StepRepr_GlobalUnitAssignedContext, anent, ent);
5648       RWStepRepr_RWGlobalUnitAssignedContext tool;
5649       tool.ReadStep (data,num,ach,anent);
5650     }
5651     
5652     break;
5653   case 150 : 
5654     {
5655       DeclareAndCast(StepBasic_Group, anent, ent);
5656       RWStepBasic_RWGroup tool;
5657       tool.ReadStep (data,num,ach,anent);
5658     }
5659     
5660     break;
5661   case 152 : 
5662     {
5663       DeclareAndCast(StepBasic_GroupRelationship, anent, ent);
5664       RWStepBasic_RWGroupRelationship tool;
5665       tool.ReadStep (data,num,ach,anent);
5666     }
5667     
5668     break;
5669   case 153 : 
5670     {
5671       DeclareAndCast(StepShape_HalfSpaceSolid, anent, ent);
5672       RWStepShape_RWHalfSpaceSolid tool;
5673       tool.ReadStep (data,num,ach,anent);
5674     }
5675     
5676     break;
5677   case 154 : 
5678     {
5679       DeclareAndCast(StepGeom_Hyperbola, anent, ent);
5680       RWStepGeom_RWHyperbola tool;
5681       tool.ReadStep (data,num,ach,anent);
5682     }
5683     
5684     break;
5685   case 155 : 
5686     {
5687       DeclareAndCast(StepGeom_IntersectionCurve, anent, ent);
5688       RWStepGeom_RWIntersectionCurve tool;
5689       tool.ReadStep (data,num,ach,anent);
5690     }
5691     
5692     break;
5693   case 156 : 
5694     {
5695       DeclareAndCast(StepVisual_Invisibility, anent, ent);
5696       RWStepVisual_RWInvisibility tool;
5697       tool.ReadStep (data,num,ach,anent);
5698     }
5699     
5700     break;
5701   case 157 : 
5702     {
5703       DeclareAndCast(StepBasic_LengthMeasureWithUnit, anent, ent);
5704       RWStepBasic_RWLengthMeasureWithUnit tool;
5705       tool.ReadStep (data,num,ach,anent);
5706     }
5707     
5708     break;
5709   case 158 : 
5710     {
5711       DeclareAndCast(StepBasic_LengthUnit, anent, ent);
5712       RWStepBasic_RWLengthUnit tool;
5713       tool.ReadStep (data,num,ach,anent);
5714     }
5715     
5716     break;
5717   case 159 : 
5718     {
5719       DeclareAndCast(StepGeom_Line, anent, ent);
5720       RWStepGeom_RWLine tool;
5721       tool.ReadStep (data,num,ach,anent);
5722     }
5723     
5724     break;
5725   case 160 : 
5726     {
5727       DeclareAndCast(StepBasic_LocalTime, anent, ent);
5728       RWStepBasic_RWLocalTime tool;
5729       tool.ReadStep (data,num,ach,anent);
5730     }
5731     
5732     break;
5733   case 161 : 
5734     {
5735       DeclareAndCast(StepShape_Loop, anent, ent);
5736       RWStepShape_RWLoop tool;
5737       tool.ReadStep (data,num,ach,anent);
5738     }
5739     
5740     break;
5741   case 162 : 
5742     {
5743       DeclareAndCast(StepShape_ManifoldSolidBrep, anent, ent);
5744       RWStepShape_RWManifoldSolidBrep tool;
5745       tool.ReadStep (data,num,ach,anent);
5746     }
5747     
5748     break;
5749   case 163 : 
5750     {
5751       DeclareAndCast(StepShape_ManifoldSurfaceShapeRepresentation, anent, ent);
5752       RWStepShape_RWManifoldSurfaceShapeRepresentation tool;
5753       tool.ReadStep (data,num,ach,anent);
5754     }
5755     
5756     break;
5757   case 164 : 
5758     {
5759       DeclareAndCast(StepRepr_MappedItem, anent, ent);
5760       RWStepRepr_RWMappedItem tool;
5761       tool.ReadStep (data,num,ach,anent);
5762     }
5763     
5764     break;
5765   case 165 : 
5766     {
5767       DeclareAndCast(StepBasic_MeasureWithUnit, anent, ent);
5768       RWStepBasic_RWMeasureWithUnit tool;
5769       tool.ReadStep (data,num,ach,anent);
5770     }
5771     
5772     break;
5773   case 166 : 
5774     {
5775       DeclareAndCast(StepVisual_MechanicalDesignGeometricPresentationArea, anent, ent);
5776       RWStepVisual_RWMechanicalDesignGeometricPresentationArea tool;
5777       tool.ReadStep (data,num,ach,anent);
5778     }
5779     
5780     break;
5781   case 167 : 
5782     {
5783       DeclareAndCast(StepVisual_MechanicalDesignGeometricPresentationRepresentation, anent, ent);
5784       RWStepVisual_RWMechanicalDesignGeometricPresentationRepresentation tool;
5785       tool.ReadStep (data,num,ach,anent);
5786     }
5787     
5788     break;
5789   case 169 : 
5790     {
5791       DeclareAndCast(StepBasic_NamedUnit, anent, ent);
5792       RWStepBasic_RWNamedUnit tool;
5793       tool.ReadStep (data,num,ach,anent);
5794     }
5795     
5796     break;
5797   case 171 : 
5798     {
5799       DeclareAndCast(StepGeom_OffsetCurve3d, anent, ent);
5800       RWStepGeom_RWOffsetCurve3d tool;
5801       tool.ReadStep (data,num,ach,anent);
5802     }
5803     
5804     break;
5805   case 172 : 
5806     {
5807       DeclareAndCast(StepGeom_OffsetSurface, anent, ent);
5808       RWStepGeom_RWOffsetSurface tool;
5809       tool.ReadStep (data,num,ach,anent);
5810     }
5811     
5812     break;
5813   case 174 : 
5814     {
5815       DeclareAndCast(StepShape_OpenShell, anent, ent);
5816       RWStepShape_RWOpenShell tool;
5817       tool.ReadStep (data,num,ach,anent);
5818     }
5819     
5820     break;
5821   case 175 : 
5822     {
5823       DeclareAndCast(StepBasic_OrdinalDate, anent, ent);
5824       RWStepBasic_RWOrdinalDate tool;
5825       tool.ReadStep (data,num,ach,anent);
5826     }
5827     
5828     break;
5829   case 176 : 
5830     {
5831       DeclareAndCast(StepBasic_Organization, anent, ent);
5832       RWStepBasic_RWOrganization tool;
5833       tool.ReadStep (data,num,ach,anent);
5834     }
5835     
5836     break;
5837   case 178 : 
5838     {
5839       DeclareAndCast(StepBasic_OrganizationRole, anent, ent);
5840       RWStepBasic_RWOrganizationRole tool;
5841       tool.ReadStep (data,num,ach,anent);
5842     }
5843     
5844     break;
5845   case 179 : 
5846     {
5847       DeclareAndCast(StepBasic_OrganizationalAddress, anent, ent);
5848       RWStepBasic_RWOrganizationalAddress tool;
5849       tool.ReadStep (data,num,ach,anent);
5850     }
5851     
5852     break;
5853   case 180 : 
5854     {
5855       DeclareAndCast(StepShape_OrientedClosedShell, anent, ent);
5856       RWStepShape_RWOrientedClosedShell tool;
5857       tool.ReadStep (data,num,ach,anent);
5858     }
5859     
5860     break;
5861   case 181 : 
5862     {
5863       DeclareAndCast(StepShape_OrientedEdge, anent, ent);
5864       RWStepShape_RWOrientedEdge tool;
5865       tool.ReadStep (data,num,ach,anent);
5866     }
5867     
5868     break;
5869   case 182 : 
5870     {
5871       DeclareAndCast(StepShape_OrientedFace, anent, ent);
5872       RWStepShape_RWOrientedFace tool;
5873       tool.ReadStep (data,num,ach,anent);
5874     }
5875     
5876     break;
5877   case 183 : 
5878     {
5879       DeclareAndCast(StepShape_OrientedOpenShell, anent, ent);
5880       RWStepShape_RWOrientedOpenShell tool;
5881       tool.ReadStep (data,num,ach,anent);
5882     }
5883     
5884     break;
5885   case 184 : 
5886     {
5887       DeclareAndCast(StepShape_OrientedPath, anent, ent);
5888       RWStepShape_RWOrientedPath tool;
5889       tool.ReadStep (data,num,ach,anent);
5890     }
5891     
5892     break;
5893   case 185 : 
5894     {
5895       DeclareAndCast(StepGeom_OuterBoundaryCurve, anent, ent);
5896       RWStepGeom_RWOuterBoundaryCurve tool;
5897       tool.ReadStep (data,num,ach,anent);
5898     }
5899     
5900     break;
5901   case 186 : 
5902     {
5903       DeclareAndCast(StepVisual_OverRidingStyledItem, anent, ent);
5904       RWStepVisual_RWOverRidingStyledItem tool;
5905       tool.ReadStep (data,num,ach,anent);
5906     }
5907     
5908     break;
5909   case 187 : 
5910     {
5911       DeclareAndCast(StepGeom_Parabola, anent, ent);
5912       RWStepGeom_RWParabola tool;
5913       tool.ReadStep (data,num,ach,anent);
5914     }
5915     
5916     break;
5917   case 188 : 
5918     {
5919       DeclareAndCast(StepRepr_ParametricRepresentationContext, anent, ent);
5920       RWStepRepr_RWParametricRepresentationContext tool;
5921       tool.ReadStep (data,num,ach,anent);
5922     }
5923     
5924     break;
5925   case 189 : 
5926     {
5927       DeclareAndCast(StepShape_Path, anent, ent);
5928       RWStepShape_RWPath tool;
5929       tool.ReadStep (data,num,ach,anent);
5930     }
5931     
5932     break;
5933   case 190 : 
5934     {
5935       DeclareAndCast(StepGeom_Pcurve, anent, ent);
5936       RWStepGeom_RWPcurve tool;
5937       tool.ReadStep (data,num,ach,anent);
5938     }
5939     
5940     break;
5941   case 191 : 
5942     {
5943       DeclareAndCast(StepBasic_Person, anent, ent);
5944       RWStepBasic_RWPerson tool;
5945       tool.ReadStep (data,num,ach,anent);
5946     }
5947     
5948     break;
5949   case 192 : 
5950     {
5951       DeclareAndCast(StepBasic_PersonAndOrganization, anent, ent);
5952       RWStepBasic_RWPersonAndOrganization tool;
5953       tool.ReadStep (data,num,ach,anent);
5954     }
5955     
5956     break;
5957   case 194 : 
5958     {
5959       DeclareAndCast(StepBasic_PersonAndOrganizationRole, anent, ent);
5960       RWStepBasic_RWPersonAndOrganizationRole tool;
5961       tool.ReadStep (data,num,ach,anent);
5962     }
5963     
5964     break;
5965   case 195 : 
5966     {
5967       DeclareAndCast(StepBasic_PersonalAddress, anent, ent);
5968       RWStepBasic_RWPersonalAddress tool;
5969       tool.ReadStep (data,num,ach,anent);
5970     }
5971     
5972     break;
5973   case 196 : 
5974     {
5975       DeclareAndCast(StepGeom_Placement, anent, ent);
5976       RWStepGeom_RWPlacement tool;
5977       tool.ReadStep (data,num,ach,anent);
5978     }
5979     
5980     break;
5981   case 197 : 
5982     {
5983       DeclareAndCast(StepVisual_PlanarBox, anent, ent);
5984       RWStepVisual_RWPlanarBox tool;
5985       tool.ReadStep (data,num,ach,anent);
5986     }
5987     
5988     break;
5989   case 198 : 
5990     {
5991       DeclareAndCast(StepVisual_PlanarExtent, anent, ent);
5992       RWStepVisual_RWPlanarExtent tool;
5993       tool.ReadStep (data,num,ach,anent);
5994     }
5995     
5996     break;
5997   case 199 : 
5998     {
5999       DeclareAndCast(StepGeom_Plane, anent, ent);
6000       RWStepGeom_RWPlane tool;
6001       tool.ReadStep (data,num,ach,anent);
6002     }
6003     
6004     break;
6005   case 200 : 
6006     {
6007       DeclareAndCast(StepBasic_PlaneAngleMeasureWithUnit, anent, ent);
6008       RWStepBasic_RWPlaneAngleMeasureWithUnit tool;
6009       tool.ReadStep (data,num,ach,anent);
6010     }
6011     
6012     break;
6013   case 201 : 
6014     {
6015       DeclareAndCast(StepBasic_PlaneAngleUnit, anent, ent);
6016       RWStepBasic_RWPlaneAngleUnit tool;
6017       tool.ReadStep (data,num,ach,anent);
6018     }
6019     
6020     break;
6021   case 202 : 
6022     {
6023       DeclareAndCast(StepGeom_Point, anent, ent);
6024       RWStepGeom_RWPoint tool;
6025       tool.ReadStep (data,num,ach,anent);
6026     }
6027     
6028     break;
6029   case 203 : 
6030     {
6031       DeclareAndCast(StepGeom_PointOnCurve, anent, ent);
6032       RWStepGeom_RWPointOnCurve tool;
6033       tool.ReadStep (data,num,ach,anent);
6034     }
6035     
6036     break;
6037   case 204 : 
6038     {
6039       DeclareAndCast(StepGeom_PointOnSurface, anent, ent);
6040       RWStepGeom_RWPointOnSurface tool;
6041       tool.ReadStep (data,num,ach,anent);
6042     }
6043     
6044     break;
6045   case 205 : 
6046     {
6047       DeclareAndCast(StepGeom_PointReplica, anent, ent);
6048       RWStepGeom_RWPointReplica tool;
6049       tool.ReadStep (data,num,ach,anent);
6050     }
6051     
6052     break;
6053   case 206 : 
6054     {
6055       DeclareAndCast(StepVisual_PointStyle, anent, ent);
6056       RWStepVisual_RWPointStyle tool;
6057       tool.ReadStep (data,num,ach,anent);
6058     }
6059     
6060     break;
6061   case 207 : 
6062     {
6063       DeclareAndCast(StepShape_PolyLoop, anent, ent);
6064       RWStepShape_RWPolyLoop tool;
6065       tool.ReadStep (data,num,ach,anent);
6066     }
6067     
6068     break;
6069   case 208 : 
6070     {
6071       DeclareAndCast(StepGeom_Polyline, anent, ent);
6072       RWStepGeom_RWPolyline tool;
6073       tool.ReadStep (data,num,ach,anent);
6074     }
6075     
6076     break;
6077   case 209 : 
6078     {
6079       DeclareAndCast(StepVisual_PreDefinedColour, anent, ent);
6080       RWStepVisual_RWPreDefinedColour tool;
6081       tool.ReadStep (data,num,ach,anent);
6082     }
6083     
6084     break;
6085   case 210 : 
6086     {
6087       DeclareAndCast(StepVisual_PreDefinedCurveFont, anent, ent);
6088       RWStepVisual_RWPreDefinedCurveFont tool;
6089       tool.ReadStep (data,num,ach,anent);
6090     }
6091     
6092     break;
6093   case 211 : 
6094   case 213 : 
6095     {
6096       DeclareAndCast(StepVisual_PreDefinedItem, anent, ent);
6097       RWStepVisual_RWPreDefinedItem tool;
6098       tool.ReadStep (data,num,ach,anent);
6099     }
6100     
6101     break;
6102   case 214 : 
6103     {
6104       DeclareAndCast(StepVisual_PresentationArea, anent, ent);
6105       RWStepVisual_RWPresentationArea tool;
6106       tool.ReadStep (data,num,ach,anent);
6107     }
6108     
6109     break;
6110   case 215 : 
6111     {
6112       DeclareAndCast(StepVisual_PresentationLayerAssignment, anent, ent);
6113       RWStepVisual_RWPresentationLayerAssignment tool;
6114       tool.ReadStep (data,num,ach,anent);
6115     }
6116     
6117     break;
6118   case 216 : 
6119     {
6120       DeclareAndCast(StepVisual_PresentationRepresentation, anent, ent);
6121       RWStepVisual_RWPresentationRepresentation tool;
6122       tool.ReadStep (data,num,ach,anent);
6123     }
6124     
6125     break;
6126   case 217 : 
6127     {
6128       DeclareAndCast(StepVisual_PresentationSet, anent, ent);
6129       RWStepVisual_RWPresentationSet tool;
6130       tool.ReadStep (data,num,ach,anent);
6131     }
6132     
6133     break;
6134   case 218 : 
6135     {
6136       DeclareAndCast(StepVisual_PresentationSize, anent, ent);
6137       RWStepVisual_RWPresentationSize tool;
6138       tool.ReadStep (data,num,ach,anent);
6139     }
6140     
6141     break;
6142   case 219 : 
6143     {
6144       DeclareAndCast(StepVisual_PresentationStyleAssignment, anent, ent);
6145       RWStepVisual_RWPresentationStyleAssignment tool;
6146       tool.ReadStep (data,num,ach,anent);
6147     }
6148     
6149     break;
6150   case 220 : 
6151     {
6152       DeclareAndCast(StepVisual_PresentationStyleByContext, anent, ent);
6153       RWStepVisual_RWPresentationStyleByContext tool;
6154       tool.ReadStep (data,num,ach,anent);
6155     }
6156     
6157     break;
6158   case 221 : 
6159     {
6160       DeclareAndCast(StepVisual_PresentationView, anent, ent);
6161       RWStepVisual_RWPresentationView tool;
6162       tool.ReadStep (data,num,ach,anent);
6163     }
6164     
6165     break;
6166   case 223 : 
6167     {
6168       DeclareAndCast(StepBasic_Product, anent, ent);
6169       RWStepBasic_RWProduct tool;
6170       tool.ReadStep (data,num,ach,anent);
6171     }
6172     
6173     break;
6174   case 224 : 
6175     {
6176       DeclareAndCast(StepBasic_ProductCategory, anent, ent);
6177       RWStepBasic_RWProductCategory tool;
6178       tool.ReadStep (data,num,ach,anent);
6179     }
6180     
6181     break;
6182   case 225 : 
6183     {
6184       DeclareAndCast(StepBasic_ProductContext, anent, ent);
6185       RWStepBasic_RWProductContext tool;
6186       tool.ReadStep (data,num,ach,anent);
6187     }
6188     
6189     break;
6190   case 227 : 
6191     {
6192       DeclareAndCast(StepBasic_ProductDefinition, anent, ent);
6193       RWStepBasic_RWProductDefinition tool;
6194       tool.ReadStep (data,num,ach,anent);
6195     }
6196     
6197     break;
6198   case 228 : 
6199     {
6200       DeclareAndCast(StepBasic_ProductDefinitionContext, anent, ent);
6201       RWStepBasic_RWProductDefinitionContext tool;
6202       tool.ReadStep (data,num,ach,anent);
6203     }
6204     
6205     break;
6206   case 229 : 
6207     {
6208       DeclareAndCast(StepBasic_ProductDefinitionFormation, anent, ent);
6209       RWStepBasic_RWProductDefinitionFormation tool;
6210       tool.ReadStep (data,num,ach,anent);
6211     }
6212     
6213     break;
6214   case 230 : 
6215     {
6216       DeclareAndCast(StepBasic_ProductDefinitionFormationWithSpecifiedSource, anent, ent);
6217       RWStepBasic_RWProductDefinitionFormationWithSpecifiedSource tool;
6218       tool.ReadStep (data,num,ach,anent);
6219     }
6220     
6221     break;
6222   case 231 : 
6223     {
6224       DeclareAndCast(StepRepr_ProductDefinitionShape, anent, ent);
6225       RWStepRepr_RWProductDefinitionShape tool;
6226       tool.ReadStep (data,num,ach,anent);
6227     }
6228     
6229     break;
6230   case 232 : 
6231     {
6232       DeclareAndCast(StepBasic_ProductRelatedProductCategory, anent, ent);
6233       RWStepBasic_RWProductRelatedProductCategory tool;
6234       tool.ReadStep (data,num,ach,anent);
6235     }
6236     
6237     break;
6238   case 233 : 
6239     {
6240       DeclareAndCast(StepBasic_ProductType, anent, ent);
6241       RWStepBasic_RWProductType tool;
6242       tool.ReadStep (data,num,ach,anent);
6243     }
6244     
6245     break;
6246   case 234 : 
6247     {
6248       DeclareAndCast(StepRepr_PropertyDefinition, anent, ent);
6249       RWStepRepr_RWPropertyDefinition tool;
6250       tool.ReadStep (data,num,ach,anent);
6251     }
6252     
6253     break;
6254   case 235 : 
6255     {
6256       DeclareAndCast(StepRepr_PropertyDefinitionRepresentation, anent, ent);
6257       RWStepRepr_RWPropertyDefinitionRepresentation tool;
6258       tool.ReadStep (data,num,ach,anent);
6259     }
6260     
6261     break;
6262   case 236 : 
6263     {
6264       DeclareAndCast(StepGeom_QuasiUniformCurve, anent, ent);
6265       RWStepGeom_RWQuasiUniformCurve tool;
6266       tool.ReadStep (data,num,ach,anent);
6267     }
6268     
6269     break;
6270   case 237 : 
6271     {
6272       DeclareAndCast(StepGeom_QuasiUniformSurface, anent, ent);
6273       RWStepGeom_RWQuasiUniformSurface tool;
6274       tool.ReadStep (data,num,ach,anent);
6275     }
6276     
6277     break;
6278   case 238 : 
6279     {
6280       DeclareAndCast(StepBasic_RatioMeasureWithUnit, anent, ent);
6281       RWStepBasic_RWRatioMeasureWithUnit tool;
6282       tool.ReadStep (data,num,ach,anent);
6283     }
6284     
6285     break;
6286   case 239 : 
6287     {
6288       DeclareAndCast(StepGeom_RationalBSplineCurve, anent, ent);
6289       RWStepGeom_RWRationalBSplineCurve tool;
6290       tool.ReadStep (data,num,ach,anent);
6291     }
6292     
6293     break;
6294   case 240 : 
6295     {
6296       DeclareAndCast(StepGeom_RationalBSplineSurface, anent, ent);
6297       RWStepGeom_RWRationalBSplineSurface tool;
6298       tool.ReadStep (data,num,ach,anent);
6299     }
6300     
6301     break;
6302   case 241 : 
6303     {
6304       DeclareAndCast(StepGeom_RectangularCompositeSurface, anent, ent);
6305       RWStepGeom_RWRectangularCompositeSurface tool;
6306       tool.ReadStep (data,num,ach,anent);
6307     }
6308     
6309     break;
6310   case 242 : 
6311     {
6312       DeclareAndCast(StepGeom_RectangularTrimmedSurface, anent, ent);
6313       RWStepGeom_RWRectangularTrimmedSurface tool;
6314       tool.ReadStep (data,num,ach,anent);
6315     }
6316     
6317     break;
6318   case 243 : 
6319     {
6320       DeclareAndCast(StepAP214_RepItemGroup, anent, ent);
6321       RWStepAP214_RWRepItemGroup tool;
6322       tool.ReadStep (data,num,ach,anent);
6323     }
6324     
6325     break;
6326   case 244 : 
6327     {
6328       DeclareAndCast(StepGeom_ReparametrisedCompositeCurveSegment, anent, ent);
6329       RWStepGeom_RWReparametrisedCompositeCurveSegment tool;
6330       tool.ReadStep (data,num,ach,anent);
6331     }
6332     
6333     break;
6334   case 245 : 
6335     {
6336       DeclareAndCast(StepRepr_Representation, anent, ent);
6337       RWStepRepr_RWRepresentation tool;
6338       tool.ReadStep (data,num,ach,anent);
6339     }
6340     
6341     break;
6342   case 246 : 
6343     {
6344       DeclareAndCast(StepRepr_RepresentationContext, anent, ent);
6345       RWStepRepr_RWRepresentationContext tool;
6346       tool.ReadStep (data,num,ach,anent);
6347     }
6348     
6349     break;
6350   case 247 : 
6351     {
6352       DeclareAndCast(StepRepr_RepresentationItem, anent, ent);
6353       RWStepRepr_RWRepresentationItem tool;
6354       tool.ReadStep (data,num,ach,anent);
6355     }
6356     
6357     break;
6358   case 248 : 
6359     {
6360       DeclareAndCast(StepRepr_RepresentationMap, anent, ent);
6361       RWStepRepr_RWRepresentationMap tool;
6362       tool.ReadStep (data,num,ach,anent);
6363     }
6364     
6365     break;
6366   case 249 : 
6367     {
6368       DeclareAndCast(StepRepr_RepresentationRelationship, anent, ent);
6369       RWStepRepr_RWRepresentationRelationship tool;
6370       tool.ReadStep (data,num,ach,anent);
6371     }
6372     
6373     break;
6374   case 250 : 
6375     {
6376       DeclareAndCast(StepShape_RevolvedAreaSolid, anent, ent);
6377       RWStepShape_RWRevolvedAreaSolid tool;
6378       tool.ReadStep (data,num,ach,anent);
6379     }
6380     
6381     break;
6382   case 251 : 
6383     {
6384       DeclareAndCast(StepShape_RightAngularWedge, anent, ent);
6385       RWStepShape_RWRightAngularWedge tool;
6386       tool.ReadStep (data,num,ach,anent);
6387     }
6388     
6389     break;
6390   case 252 : 
6391     {
6392       DeclareAndCast(StepShape_RightCircularCone, anent, ent);
6393       RWStepShape_RWRightCircularCone tool;
6394       tool.ReadStep (data,num,ach,anent);
6395     }
6396     
6397     break;
6398   case 253 : 
6399     {
6400       DeclareAndCast(StepShape_RightCircularCylinder, anent, ent);
6401       RWStepShape_RWRightCircularCylinder tool;
6402       tool.ReadStep (data,num,ach,anent);
6403     }
6404     
6405     break;
6406   case 254 : 
6407     {
6408       DeclareAndCast(StepGeom_SeamCurve, anent, ent);
6409       RWStepGeom_RWSeamCurve tool;
6410       tool.ReadStep (data,num,ach,anent);
6411     }
6412     
6413     break;
6414   case 255 : 
6415     {
6416       DeclareAndCast(StepBasic_SecurityClassification, anent, ent);
6417       RWStepBasic_RWSecurityClassification tool;
6418       tool.ReadStep (data,num,ach,anent);
6419     }
6420     
6421     break;
6422   case 257 : 
6423     {
6424       DeclareAndCast(StepBasic_SecurityClassificationLevel, anent, ent);
6425       RWStepBasic_RWSecurityClassificationLevel tool;
6426       tool.ReadStep (data,num,ach,anent);
6427     }
6428     
6429     break;
6430   case 258 : 
6431     {
6432       DeclareAndCast(StepRepr_ShapeAspect, anent, ent);
6433       RWStepRepr_RWShapeAspect tool;
6434       tool.ReadStep (data,num,ach,anent);
6435     }
6436     
6437     break;
6438   case 259 : 
6439     {
6440       DeclareAndCast(StepRepr_ShapeAspectRelationship, anent, ent);
6441       RWStepRepr_RWShapeAspectRelationship tool;
6442       tool.ReadStep (data,num,ach,anent);
6443     }
6444     
6445     break;
6446   case 260 : 
6447     {
6448       DeclareAndCast(StepRepr_ShapeAspectTransition, anent, ent);
6449       RWStepRepr_RWShapeAspectTransition tool;
6450       tool.ReadStep (data,num,ach,anent);
6451     }
6452     
6453     break;
6454   case 261 : 
6455     {
6456       DeclareAndCast(StepShape_ShapeDefinitionRepresentation, anent, ent);
6457       RWStepShape_RWShapeDefinitionRepresentation tool;
6458       tool.ReadStep (data,num,ach,anent);
6459     }
6460     
6461     break;
6462   case 262 : 
6463     {
6464       DeclareAndCast(StepShape_ShapeRepresentation, anent, ent);
6465       RWStepShape_RWShapeRepresentation tool;
6466       tool.ReadStep (data,num,ach,anent);
6467     }
6468     
6469     break;
6470   case 263 : 
6471     {
6472       DeclareAndCast(StepShape_ShellBasedSurfaceModel, anent, ent);
6473       RWStepShape_RWShellBasedSurfaceModel tool;
6474       tool.ReadStep (data,num,ach,anent);
6475     }
6476     
6477     break;
6478   case 264 : 
6479     {
6480       DeclareAndCast(StepBasic_SiUnit, anent, ent);
6481       RWStepBasic_RWSiUnit tool;
6482       tool.ReadStep (data,num,ach,anent);
6483     }
6484     
6485     break;
6486   case 265 : 
6487     {
6488       DeclareAndCast(StepBasic_SolidAngleMeasureWithUnit, anent, ent);
6489       RWStepBasic_RWSolidAngleMeasureWithUnit tool;
6490       tool.ReadStep (data,num,ach,anent);
6491     }
6492     
6493     break;
6494   case 266 : 
6495     {
6496       DeclareAndCast(StepShape_SolidModel, anent, ent);
6497       RWStepShape_RWSolidModel tool;
6498       tool.ReadStep (data,num,ach,anent);
6499     }
6500     
6501     break;
6502   case 267 : 
6503     {
6504       DeclareAndCast(StepShape_SolidReplica, anent, ent);
6505       RWStepShape_RWSolidReplica tool;
6506       tool.ReadStep (data,num,ach,anent);
6507     }
6508     
6509     break;
6510   case 268 : 
6511     {
6512       DeclareAndCast(StepShape_Sphere, anent, ent);
6513       RWStepShape_RWSphere tool;
6514       tool.ReadStep (data,num,ach,anent);
6515     }
6516     
6517     break;
6518   case 269 : 
6519     {
6520       DeclareAndCast(StepGeom_SphericalSurface, anent, ent);
6521       RWStepGeom_RWSphericalSurface tool;
6522       tool.ReadStep (data,num,ach,anent);
6523     }
6524     
6525     break;
6526   case 270 : 
6527     {
6528       DeclareAndCast(StepVisual_StyledItem, anent, ent);
6529       RWStepVisual_RWStyledItem tool;
6530       tool.ReadStep (data,num,ach,anent);
6531     }
6532     
6533     break;
6534   case 271 : 
6535     {
6536       DeclareAndCast(StepGeom_Surface, anent, ent);
6537       RWStepGeom_RWSurface tool;
6538       tool.ReadStep (data,num,ach,anent);
6539     }
6540     
6541     break;
6542   case 272 : 
6543     {
6544       DeclareAndCast(StepGeom_SurfaceCurve, anent, ent);
6545       RWStepGeom_RWSurfaceCurve tool;
6546       tool.ReadStep (data,num,ach,anent);
6547     }
6548     
6549     break;
6550   case 273 : 
6551     {
6552       DeclareAndCast(StepGeom_SurfaceOfLinearExtrusion, anent, ent);
6553       RWStepGeom_RWSurfaceOfLinearExtrusion tool;
6554       tool.ReadStep (data,num,ach,anent);
6555     }
6556     
6557     break;
6558   case 274 : 
6559     {
6560       DeclareAndCast(StepGeom_SurfaceOfRevolution, anent, ent);
6561       RWStepGeom_RWSurfaceOfRevolution tool;
6562       tool.ReadStep (data,num,ach,anent);
6563     }
6564     
6565     break;
6566   case 275 : 
6567     {
6568       DeclareAndCast(StepGeom_SurfacePatch, anent, ent);
6569       RWStepGeom_RWSurfacePatch tool;
6570       tool.ReadStep (data,num,ach,anent);
6571     }
6572     
6573     break;
6574   case 276 : 
6575     {
6576       DeclareAndCast(StepGeom_SurfaceReplica, anent, ent);
6577       RWStepGeom_RWSurfaceReplica tool;
6578       tool.ReadStep (data,num,ach,anent);
6579     }
6580     
6581     break;
6582   case 277 : 
6583     {
6584       DeclareAndCast(StepVisual_SurfaceSideStyle, anent, ent);
6585       RWStepVisual_RWSurfaceSideStyle tool;
6586       tool.ReadStep (data,num,ach,anent);
6587     }
6588     
6589     break;
6590   case 278 : 
6591     {
6592       DeclareAndCast(StepVisual_SurfaceStyleBoundary, anent, ent);
6593       RWStepVisual_RWSurfaceStyleBoundary tool;
6594       tool.ReadStep (data,num,ach,anent);
6595     }
6596     
6597     break;
6598   case 279 : 
6599     {
6600       DeclareAndCast(StepVisual_SurfaceStyleControlGrid, anent, ent);
6601       RWStepVisual_RWSurfaceStyleControlGrid tool;
6602       tool.ReadStep (data,num,ach,anent);
6603     }
6604     
6605     break;
6606   case 280 : 
6607     {
6608       DeclareAndCast(StepVisual_SurfaceStyleFillArea, anent, ent);
6609       RWStepVisual_RWSurfaceStyleFillArea tool;
6610       tool.ReadStep (data,num,ach,anent);
6611     }
6612     
6613     break;
6614   case 281 : 
6615     {
6616       DeclareAndCast(StepVisual_SurfaceStyleParameterLine, anent, ent);
6617       RWStepVisual_RWSurfaceStyleParameterLine tool;
6618       tool.ReadStep (data,num,ach,anent);
6619     }
6620     
6621     break;
6622   case 282 : 
6623     {
6624       DeclareAndCast(StepVisual_SurfaceStyleSegmentationCurve, anent, ent);
6625       RWStepVisual_RWSurfaceStyleSegmentationCurve tool;
6626       tool.ReadStep (data,num,ach,anent);
6627     }
6628     
6629     break;
6630   case 283 : 
6631     {
6632       DeclareAndCast(StepVisual_SurfaceStyleSilhouette, anent, ent);
6633       RWStepVisual_RWSurfaceStyleSilhouette tool;
6634       tool.ReadStep (data,num,ach,anent);
6635     }
6636     
6637     break;
6638   case 284 : 
6639     {
6640       DeclareAndCast(StepVisual_SurfaceStyleUsage, anent, ent);
6641       RWStepVisual_RWSurfaceStyleUsage tool;
6642       tool.ReadStep (data,num,ach,anent);
6643     }
6644     
6645     break;
6646   case 285 : 
6647     {
6648       DeclareAndCast(StepShape_SweptAreaSolid, anent, ent);
6649       RWStepShape_RWSweptAreaSolid tool;
6650       tool.ReadStep (data,num,ach,anent);
6651     }
6652     
6653     break;
6654   case 286 : 
6655     {
6656       DeclareAndCast(StepGeom_SweptSurface, anent, ent);
6657       RWStepGeom_RWSweptSurface tool;
6658       tool.ReadStep (data,num,ach,anent);
6659     }
6660     
6661     break;
6662   case 292 : 
6663     {
6664       DeclareAndCast(StepVisual_Template, anent, ent);
6665       RWStepVisual_RWTemplate tool;
6666       tool.ReadStep (data,num,ach,anent);
6667     }
6668     
6669     break;
6670   case 293 : 
6671     {
6672       DeclareAndCast(StepVisual_TemplateInstance, anent, ent);
6673       RWStepVisual_RWTemplateInstance tool;
6674       tool.ReadStep (data,num,ach,anent);
6675     }
6676     
6677     break;
6678   case 295 : 
6679     {
6680       DeclareAndCast(StepVisual_TextLiteral, anent, ent);
6681       RWStepVisual_RWTextLiteral tool;
6682       tool.ReadStep (data,num,ach,anent);
6683     }
6684     break;
6685   case 300 : 
6686     {
6687       DeclareAndCast(StepVisual_TextStyle, anent, ent);
6688       RWStepVisual_RWTextStyle tool;
6689       tool.ReadStep (data,num,ach,anent);
6690     }
6691     
6692     break;
6693   case 301 : 
6694     {
6695       DeclareAndCast(StepVisual_TextStyleForDefinedFont, anent, ent);
6696       RWStepVisual_RWTextStyleForDefinedFont tool;
6697       tool.ReadStep (data,num,ach,anent);
6698     }
6699     
6700     break;
6701   case 302 : 
6702     {
6703       DeclareAndCast(StepVisual_TextStyleWithBoxCharacteristics, anent, ent);
6704       RWStepVisual_RWTextStyleWithBoxCharacteristics tool;
6705       tool.ReadStep (data,num,ach,anent);
6706     }
6707     
6708     break;
6709   case 304 : 
6710     {
6711       DeclareAndCast(StepShape_TopologicalRepresentationItem, anent, ent);
6712       RWStepShape_RWTopologicalRepresentationItem tool;
6713       tool.ReadStep (data,num,ach,anent);
6714     }
6715     
6716     break;
6717   case 305 : 
6718     {
6719       DeclareAndCast(StepGeom_ToroidalSurface, anent, ent);
6720       RWStepGeom_RWToroidalSurface tool;
6721       tool.ReadStep (data,num,ach,anent);
6722     }
6723     
6724     break;
6725   case 306 : 
6726     {
6727       DeclareAndCast(StepShape_Torus, anent, ent);
6728       RWStepShape_RWTorus tool;
6729       tool.ReadStep (data,num,ach,anent);
6730     }
6731     
6732     break;
6733   case 307 : 
6734     {
6735       DeclareAndCast(StepShape_TransitionalShapeRepresentation, anent, ent);
6736       RWStepShape_RWTransitionalShapeRepresentation tool;
6737       tool.ReadStep (data,num,ach,anent);
6738     }
6739     
6740     break;
6741   case 308 : 
6742     {
6743       DeclareAndCast(StepGeom_TrimmedCurve, anent, ent);
6744       RWStepGeom_RWTrimmedCurve tool;
6745       tool.ReadStep (data,num,ach,anent);
6746     }
6747     
6748     break;
6749   case 310 : 
6750     {
6751       DeclareAndCast(StepBasic_UncertaintyMeasureWithUnit, anent, ent);
6752       RWStepBasic_RWUncertaintyMeasureWithUnit tool;
6753       tool.ReadStep (data,num,ach,anent);
6754     }
6755     
6756     break;
6757   case 311 : 
6758     {
6759       DeclareAndCast(StepGeom_UniformCurve, anent, ent);
6760       RWStepGeom_RWUniformCurve tool;
6761       tool.ReadStep (data,num,ach,anent);
6762     }
6763     
6764     break;
6765   case 312 : 
6766     {
6767       DeclareAndCast(StepGeom_UniformSurface, anent, ent);
6768       RWStepGeom_RWUniformSurface tool;
6769       tool.ReadStep (data,num,ach,anent);
6770     }
6771     
6772     break;
6773   case 313 : 
6774     {
6775       DeclareAndCast(StepGeom_Vector, anent, ent);
6776       RWStepGeom_RWVector tool;
6777       tool.ReadStep (data,num,ach,anent);
6778     }
6779     
6780     break;
6781   case 314 : 
6782     {
6783       DeclareAndCast(StepShape_Vertex, anent, ent);
6784       RWStepShape_RWVertex tool;
6785       tool.ReadStep (data,num,ach,anent);
6786     }
6787     
6788     break;
6789   case 315 : 
6790     {
6791       DeclareAndCast(StepShape_VertexLoop, anent, ent);
6792       RWStepShape_RWVertexLoop tool;
6793       tool.ReadStep (data,num,ach,anent);
6794     }
6795     
6796     break;
6797   case 316 : 
6798     {
6799       DeclareAndCast(StepShape_VertexPoint, anent, ent);
6800       RWStepShape_RWVertexPoint tool;
6801       tool.ReadStep (data,num,ach,anent);
6802     }
6803     
6804     break;
6805   case 317 : 
6806     {
6807       DeclareAndCast(StepVisual_ViewVolume, anent, ent);
6808       RWStepVisual_RWViewVolume tool;
6809       tool.ReadStep (data,num,ach,anent);
6810     }
6811     
6812     break;
6813   case 318 : 
6814     {
6815       DeclareAndCast(StepBasic_WeekOfYearAndDayDate, anent, ent);
6816       RWStepBasic_RWWeekOfYearAndDayDate tool;
6817       tool.ReadStep (data,num,ach,anent);
6818     }
6819     
6820     break;
6821   case 319 : 
6822     {
6823       DeclareAndCast(StepGeom_UniformCurveAndRationalBSplineCurve, anent, ent);
6824       RWStepGeom_RWUniformCurveAndRationalBSplineCurve tool;
6825       tool.ReadStep (data,num,ach,anent);
6826     }
6827     
6828     break;
6829   case 320 : 
6830     {
6831       DeclareAndCast(StepGeom_BSplineCurveWithKnotsAndRationalBSplineCurve, anent, ent);
6832       RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve tool;
6833       tool.ReadStep (data,num,ach,anent);
6834     }
6835     
6836     break;
6837   case 321 : 
6838     {
6839       DeclareAndCast(StepGeom_QuasiUniformCurveAndRationalBSplineCurve, anent, ent);
6840       RWStepGeom_RWQuasiUniformCurveAndRationalBSplineCurve tool;
6841       tool.ReadStep (data,num,ach,anent);
6842     }
6843     
6844     break;
6845   case 322 : 
6846     {
6847       DeclareAndCast(StepGeom_BezierCurveAndRationalBSplineCurve, anent, ent);
6848       RWStepGeom_RWBezierCurveAndRationalBSplineCurve tool;
6849       tool.ReadStep (data,num,ach,anent);
6850     }
6851     
6852     break;
6853   case 323 : 
6854     {
6855       DeclareAndCast(StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface, anent, ent);
6856       RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface tool;
6857       tool.ReadStep (data,num,ach,anent);
6858     }
6859     
6860     break;
6861   case 324 : 
6862     {
6863       DeclareAndCast(StepGeom_UniformSurfaceAndRationalBSplineSurface, anent, ent);
6864       RWStepGeom_RWUniformSurfaceAndRationalBSplineSurface tool;
6865       tool.ReadStep (data,num,ach,anent);
6866     }
6867     
6868     break;
6869   case 325 : 
6870     {
6871       DeclareAndCast(StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface, anent, ent);
6872       RWStepGeom_RWQuasiUniformSurfaceAndRationalBSplineSurface tool;
6873       tool.ReadStep (data,num,ach,anent);
6874     }
6875     
6876     break;
6877   case 326 : 
6878     {
6879       DeclareAndCast(StepGeom_BezierSurfaceAndRationalBSplineSurface, anent, ent);
6880       RWStepGeom_RWBezierSurfaceAndRationalBSplineSurface tool;
6881       tool.ReadStep (data,num,ach,anent);
6882     }
6883     
6884     break;
6885   case 327 : 
6886     {
6887       DeclareAndCast(StepBasic_SiUnitAndLengthUnit, anent, ent);
6888       RWStepBasic_RWSiUnitAndLengthUnit tool;
6889       tool.ReadStep (data,num,ach,anent);
6890     }
6891     
6892     break;
6893   case 328 : 
6894     {
6895       DeclareAndCast(StepBasic_SiUnitAndPlaneAngleUnit, anent, ent);
6896       RWStepBasic_RWSiUnitAndPlaneAngleUnit tool;
6897       tool.ReadStep (data,num,ach,anent);
6898     }
6899     
6900     break;
6901   case 329 : 
6902     {
6903       DeclareAndCast(StepBasic_ConversionBasedUnitAndLengthUnit, anent, ent);
6904       RWStepBasic_RWConversionBasedUnitAndLengthUnit tool;
6905       tool.ReadStep (data,num,ach,anent);
6906     }
6907     
6908     break;
6909   case 330 : 
6910     {
6911       DeclareAndCast(StepBasic_ConversionBasedUnitAndPlaneAngleUnit, anent, ent);
6912       RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit tool;
6913       tool.ReadStep (data,num,ach,anent);
6914     }
6915     
6916     break;
6917   case 331 : 
6918     {
6919       DeclareAndCast(StepGeom_GeometricRepresentationContextAndGlobalUnitAssignedContext, anent, ent);
6920       RWStepGeom_RWGeometricRepresentationContextAndGlobalUnitAssignedContext tool;
6921       tool.ReadStep (data,num,ach,anent);
6922     }
6923     
6924     break;
6925   case 332 : 
6926     {
6927       DeclareAndCast(StepShape_LoopAndPath, anent, ent);
6928       RWStepShape_RWLoopAndPath tool;
6929       tool.ReadStep (data,num,ach,anent);
6930     }
6931     break;
6932
6933     // ------------
6934     // Added by FMA
6935     // ------------
6936     
6937   case 333 :
6938     {
6939       DeclareAndCast(StepGeom_GeomRepContextAndGlobUnitAssCtxAndGlobUncertaintyAssCtx, anent, ent);
6940       RWStepGeom_RWGeomRepContextAndGlobUnitAssCtxAndGlobUncertaintyAssCtx tool;
6941       tool.ReadStep(data,num,ach,anent);
6942     }
6943     break;
6944   case 334 :
6945     {
6946       DeclareAndCast(StepBasic_ConversionBasedUnitAndSolidAngleUnit,anent,ent);
6947       RWStepBasic_RWConversionBasedUnitAndSolidAngleUnit tool;
6948       tool.ReadStep(data,num,ach,anent);
6949     }
6950     break;
6951   case 335 :
6952     {
6953       DeclareAndCast(StepBasic_SiUnitAndSolidAngleUnit, anent, ent);
6954       RWStepBasic_RWSiUnitAndSolidAngleUnit tool;
6955       tool.ReadStep(data,num,ach,anent);
6956     }
6957     break;
6958   case 336 :
6959     {
6960       DeclareAndCast(StepBasic_SolidAngleUnit, anent, ent);
6961       RWStepBasic_RWSolidAngleUnit tool;
6962       tool.ReadStep(data,num,ach,anent);
6963     }
6964     break;
6965   case 337 :
6966     {
6967       DeclareAndCast(StepShape_FacetedBrepAndBrepWithVoids, anent, ent);
6968       RWStepShape_RWFacetedBrepAndBrepWithVoids tool;
6969       tool.ReadStep(data,num,ach,anent);
6970     }
6971     break;
6972   case 338 : 
6973     {
6974       DeclareAndCast(StepGeom_GeometricRepresentationContextAndParametricRepresentationContext, anent, ent);
6975       RWStepGeom_RWGeometricRepresentationContextAndParametricRepresentationContext tool;
6976       tool.ReadStep (data,num,ach,anent);
6977     }
6978     break;
6979   case 339 : 
6980     {
6981       DeclareAndCast(StepBasic_MechanicalContext, anent, ent);
6982       RWStepBasic_RWMechanicalContext tool;
6983       tool.ReadStep (data,num,ach,anent);
6984     }
6985     break;
6986
6987   case 340 :    // added by CKY : DesignContext cf ProductDefinitionContext
6988     {
6989       DeclareAndCast(StepBasic_ProductDefinitionContext, anent, ent);
6990       RWStepBasic_RWProductDefinitionContext tool;
6991       tool.ReadStep (data,num,ach,anent);
6992       break;
6993     }
6994
6995     // -----------
6996     // Added for Rev4
6997     // -----------
6998
6999   case 341:  // TimeMeasureWithUnit
7000     {
7001       DeclareAndCast(StepBasic_MeasureWithUnit,anent,ent);
7002       RWStepBasic_RWMeasureWithUnit tool;
7003       tool.ReadStep (data,num,ach,anent);
7004     }
7005     break;
7006
7007   case 342:
7008   case 343:  // RatioUnit, TimeUnit
7009     {
7010       DeclareAndCast(StepBasic_NamedUnit,anent,ent);
7011       RWStepBasic_RWNamedUnit tool;
7012       tool.ReadStep (data,num,ach,anent);
7013     }
7014     break;
7015   case 344:
7016     {
7017       DeclareAndCast(StepBasic_SiUnitAndRatioUnit,anent,ent);
7018       RWStepBasic_RWSiUnitAndRatioUnit tool;
7019       tool.ReadStep (data,num,ach,anent);
7020     }
7021     break;
7022   case 345:
7023     {
7024       DeclareAndCast(StepBasic_SiUnitAndTimeUnit,anent,ent);
7025       RWStepBasic_RWSiUnitAndTimeUnit tool;
7026       tool.ReadStep (data,num,ach,anent);
7027     }
7028     break;
7029   case 346:
7030     {
7031       DeclareAndCast(StepBasic_ConversionBasedUnitAndRatioUnit,anent,ent);
7032       RWStepBasic_RWConversionBasedUnitAndRatioUnit tool;
7033       tool.ReadStep (data,num,ach,anent);
7034     }
7035     break;
7036   case 347:
7037     {
7038       DeclareAndCast(StepBasic_ConversionBasedUnitAndTimeUnit,anent,ent);
7039       RWStepBasic_RWConversionBasedUnitAndTimeUnit tool;
7040       tool.ReadStep (data,num,ach,anent);
7041     }
7042     break;
7043
7044   case 348:  // ApprovalDateTime
7045     {
7046       DeclareAndCast(StepBasic_ApprovalDateTime,anent,ent);
7047       RWStepBasic_RWApprovalDateTime tool;
7048       tool.ReadStep (data,num,ach,anent);
7049     }
7050     break;
7051   case 349: // CameraImage 2d and 3d
7052   case 350:
7053     {
7054       DeclareAndCast(StepVisual_CameraImage,anent,ent);
7055       RWStepVisual_RWCameraImage tool;
7056       tool.ReadStep (data,num,ach,anent);
7057     }
7058     break;
7059   case 351:
7060     {
7061       DeclareAndCast(StepGeom_CartesianTransformationOperator,anent,ent);
7062       RWStepGeom_RWCartesianTransformationOperator tool;
7063       tool.ReadStep (data,num,ach,anent);
7064     }
7065     break;
7066   case 352:
7067     {
7068       DeclareAndCast(StepBasic_DerivedUnit,anent,ent);
7069       RWStepBasic_RWDerivedUnit tool;
7070       tool.ReadStep (data,num,ach,anent);
7071     }
7072     break;
7073   case 353:
7074     {
7075       DeclareAndCast(StepBasic_DerivedUnitElement,anent,ent);
7076       RWStepBasic_RWDerivedUnitElement tool;
7077       tool.ReadStep (data,num,ach,anent);
7078     }
7079     break;
7080   case 354:
7081     {
7082       DeclareAndCast(StepRepr_ItemDefinedTransformation,anent,ent);
7083       RWStepRepr_RWItemDefinedTransformation tool;
7084       tool.ReadStep (data,num,ach,anent);
7085     }
7086     break;
7087   case 355:
7088     {
7089       DeclareAndCast(StepVisual_PresentedItemRepresentation,anent,ent);
7090       RWStepVisual_RWPresentedItemRepresentation tool;
7091       tool.ReadStep (data,num,ach,anent);
7092     }
7093     break;
7094   case 356:
7095     {
7096       DeclareAndCast(StepVisual_PresentationLayerUsage,anent,ent);
7097       RWStepVisual_RWPresentationLayerUsage tool;
7098       tool.ReadStep (data,num,ach,anent);
7099     }
7100     break;
7101
7102     // Added for CATIA -  CKY 15-SEP-1997
7103     // RWUncertaintyMeasureWithUnit sait lire cette variante
7104   case 357 : 
7105     {
7106       DeclareAndCast(StepBasic_UncertaintyMeasureWithUnit, anent, ent);
7107       RWStepBasic_RWUncertaintyMeasureWithUnit tool;
7108       tool.ReadStep (data,num,ach,anent);
7109     }
7110     break;
7111
7112     //:n5 abv 15 Feb 99: S4132 complex type bounded_curve + surface_curve
7113   case 358: 
7114     {
7115       DeclareAndCast(StepGeom_SurfaceCurveAndBoundedCurve, anent, ent);
7116       RWStepGeom_RWSurfaceCurveAndBoundedCurve tool;
7117       tool.ReadStep (data,num,ach,anent);
7118     }
7119     break;
7120
7121 //  AP214 : CC1 -> CC2
7122   case 366:
7123     {
7124       DeclareAndCast(StepAP214_AutoDesignDocumentReference,anent,ent);
7125       RWStepAP214_RWAutoDesignDocumentReference tool;
7126       tool.ReadStep (data,num,ach,anent);
7127     }
7128     break;
7129   case 367:
7130   case 368:
7131     {
7132       DeclareAndCast(StepBasic_Document,anent,ent);
7133       RWStepBasic_RWDocument tool;
7134       tool.ReadStep (data,num,ach,anent);
7135     }
7136     break;
7137   case 369:
7138     {
7139       DeclareAndCast(StepBasic_DocumentRelationship,anent,ent);
7140       RWStepBasic_RWDocumentRelationship tool;
7141       tool.ReadStep (data,num,ach,anent);
7142     }
7143     break;
7144   case 370:
7145     {
7146       DeclareAndCast(StepBasic_DocumentType,anent,ent);
7147       RWStepBasic_RWDocumentType tool;
7148       tool.ReadStep (data,num,ach,anent);
7149     }
7150     break;
7151   case 371:
7152     {
7153       DeclareAndCast(StepBasic_DocumentUsageConstraint,anent,ent);
7154       RWStepBasic_RWDocumentUsageConstraint tool;
7155       tool.ReadStep (data,num,ach,anent);
7156     }
7157     break;
7158   case 372:
7159     {
7160       DeclareAndCast(StepBasic_Effectivity,anent,ent);
7161       RWStepBasic_RWEffectivity tool;
7162       tool.ReadStep (data,num,ach,anent);
7163     }
7164     break;
7165   case 373:
7166     {
7167       DeclareAndCast(StepBasic_ProductDefinitionEffectivity,anent,ent);
7168       RWStepBasic_RWProductDefinitionEffectivity tool;
7169       tool.ReadStep (data,num,ach,anent);
7170     }
7171     break;
7172   case 374:
7173     {
7174       DeclareAndCast(StepBasic_ProductDefinitionRelationship,anent,ent);
7175       RWStepBasic_RWProductDefinitionRelationship tool;
7176       tool.ReadStep (data,num,ach,anent);
7177     }
7178     break;
7179   case 375:
7180     {
7181       DeclareAndCast(StepBasic_ProductDefinitionWithAssociatedDocuments,anent,ent);
7182       RWStepBasic_RWProductDefinitionWithAssociatedDocuments tool;
7183       tool.ReadStep (data,num,ach,anent);
7184     }
7185     break;
7186   case 376:
7187     {
7188       DeclareAndCast(StepBasic_PhysicallyModeledProductDefinition,anent,ent);
7189       RWStepBasic_RWProductDefinition tool;
7190       tool.ReadStep (data,num,ach,anent);
7191     }
7192     break;
7193     
7194   case 377:
7195     {
7196       DeclareAndCast(StepRepr_ProductDefinitionUsage,anent,ent);
7197       RWStepBasic_RWProductDefinitionRelationship tool;
7198       tool.ReadStep (data,num,ach,anent);
7199     }
7200     break;
7201   case 378:
7202     {
7203       DeclareAndCast(StepRepr_MakeFromUsageOption,anent,ent);
7204       RWStepRepr_RWMakeFromUsageOption tool;
7205       tool.ReadStep (data,num,ach,anent);
7206     }
7207     break;
7208   case 379:
7209   case 380:
7210   case 381:
7211     {
7212       DeclareAndCast(StepRepr_AssemblyComponentUsage,anent,ent);
7213       RWStepRepr_RWAssemblyComponentUsage tool;
7214       tool.ReadStep (data,num,ach,anent);
7215     }
7216     break;
7217   case 382:
7218     {
7219       DeclareAndCast(StepRepr_QuantifiedAssemblyComponentUsage,anent,ent);
7220       RWStepRepr_RWQuantifiedAssemblyComponentUsage tool;
7221       tool.ReadStep (data,num,ach,anent);
7222     }
7223     break;
7224   case 383:
7225     {
7226       DeclareAndCast(StepRepr_SpecifiedHigherUsageOccurrence,anent,ent);
7227       RWStepRepr_RWSpecifiedHigherUsageOccurrence tool;
7228       tool.ReadStep (data,num,ach,anent);
7229     }
7230     break;
7231   case 384:
7232     {
7233       DeclareAndCast(StepRepr_AssemblyComponentUsageSubstitute,anent,ent);
7234       RWStepRepr_RWAssemblyComponentUsageSubstitute tool;
7235       tool.ReadStep (data,num,ach,anent);
7236     }
7237     break;
7238   case 385:
7239     {
7240       DeclareAndCast(StepRepr_SuppliedPartRelationship,anent,ent);
7241       RWStepBasic_RWProductDefinitionRelationship tool;
7242       tool.ReadStep (data,num,ach,anent);
7243     }
7244     break;
7245   case 386:
7246     {
7247       DeclareAndCast(StepRepr_ExternallyDefinedRepresentation,anent,ent);
7248       RWStepRepr_RWRepresentation tool;
7249       tool.ReadStep (data,num,ach,anent);
7250     }
7251     break;
7252   case 387:
7253     {
7254       DeclareAndCast(StepRepr_ShapeRepresentationRelationship,anent,ent);
7255       RWStepRepr_RWRepresentationRelationship tool;
7256       tool.ReadStep (data,num,ach,anent);
7257     }
7258     break;
7259   case 388:
7260     {
7261       DeclareAndCast(StepRepr_RepresentationRelationshipWithTransformation,anent,ent);
7262       RWStepRepr_RWRepresentationRelationshipWithTransformation tool;
7263       tool.ReadStep (data,num,ach,anent);
7264     }
7265     break;
7266
7267   case 389:
7268     {
7269       DeclareAndCast(StepRepr_ShapeRepresentationRelationshipWithTransformation,anent,ent);
7270       RWStepRepr_RWShapeRepresentationRelationshipWithTransformation tool;
7271       tool.ReadStep (data,num,ach,anent);
7272     }
7273     break;
7274
7275   case 390:
7276     {
7277       DeclareAndCast(StepRepr_MaterialDesignation,anent,ent);
7278       RWStepRepr_RWMaterialDesignation tool;
7279       tool.ReadStep (data,num,ach,anent);
7280     }
7281     break;
7282
7283   case 391:
7284     {
7285       DeclareAndCast(StepShape_ContextDependentShapeRepresentation,anent,ent);
7286       RWStepShape_RWContextDependentShapeRepresentation tool;
7287       tool.ReadStep (data,num,ach,anent);
7288     }
7289     break;
7290
7291     //:S4134: Added from CD to DIS
7292   case 392:
7293     {
7294       DeclareAndCast(StepAP214_AppliedDateAndTimeAssignment,anent,ent);
7295       RWStepAP214_RWAppliedDateAndTimeAssignment tool;
7296       tool.ReadStep (data,num,ach,anent);
7297     }
7298     break;
7299   case 393:
7300     {
7301       DeclareAndCast(StepAP214_AppliedDateAssignment,anent,ent);
7302       RWStepAP214_RWAppliedDateAssignment tool;
7303       tool.ReadStep (data,num,ach,anent);
7304     }
7305     break;
7306   case 394:
7307     {
7308       DeclareAndCast(StepAP214_AppliedApprovalAssignment,anent,ent);
7309       RWStepAP214_RWAppliedApprovalAssignment tool;
7310       tool.ReadStep (data,num,ach,anent);
7311     }
7312     break;
7313   case 395:
7314     {
7315       DeclareAndCast(StepAP214_AppliedGroupAssignment,anent,ent);
7316       RWStepAP214_RWAppliedGroupAssignment tool;
7317       tool.ReadStep (data,num,ach,anent);
7318     }
7319     break;
7320   case 396:
7321     {
7322       DeclareAndCast(StepAP214_AppliedOrganizationAssignment,anent,ent);
7323       RWStepAP214_RWAppliedOrganizationAssignment tool;
7324       tool.ReadStep (data,num,ach,anent);
7325     }
7326     break;
7327   case 397:
7328     {
7329       DeclareAndCast(StepAP214_AppliedPersonAndOrganizationAssignment,anent,ent);
7330       RWStepAP214_RWAppliedPersonAndOrganizationAssignment tool;
7331       tool.ReadStep (data,num,ach,anent);
7332     }
7333     break;
7334   case 398:
7335     {
7336       DeclareAndCast(StepAP214_AppliedPresentedItem,anent,ent);
7337       RWStepAP214_RWAppliedPresentedItem tool;
7338       tool.ReadStep (data,num,ach,anent);
7339     }
7340     break;
7341   case 399:
7342     {
7343       DeclareAndCast(StepAP214_AppliedSecurityClassificationAssignment,anent,ent);
7344       RWStepAP214_RWAppliedSecurityClassificationAssignment tool;
7345       tool.ReadStep (data,num,ach,anent);
7346     }
7347     break;
7348   case 400:
7349     {
7350       DeclareAndCast(StepAP214_AppliedDocumentReference,anent,ent);
7351       RWStepAP214_RWAppliedDocumentReference tool;
7352       tool.ReadStep (data,num,ach,anent);
7353     }
7354     break;
7355   case 401:
7356     {
7357       DeclareAndCast(StepBasic_DocumentFile,anent,ent);
7358       RWStepBasic_RWDocumentFile tool;
7359       tool.ReadStep (data,num,ach,anent);
7360     }
7361     break;
7362   case 402:
7363     {
7364       DeclareAndCast(StepBasic_CharacterizedObject,anent,ent);
7365       RWStepBasic_RWCharacterizedObject tool;
7366       tool.ReadStep (data,num,ach,anent);
7367     }
7368     break;
7369   case 403:
7370     {
7371       DeclareAndCast(StepShape_ExtrudedFaceSolid,anent,ent);
7372       RWStepShape_RWExtrudedFaceSolid tool;
7373       tool.ReadStep (data,num,ach,anent);
7374     }
7375     break;
7376     
7377   case 404:
7378     {
7379       DeclareAndCast(StepShape_RevolvedFaceSolid,anent,ent);
7380       RWStepShape_RWRevolvedFaceSolid tool;
7381       tool.ReadStep (data,num,ach,anent);
7382     }
7383     break;
7384   case 405:
7385     {
7386       DeclareAndCast(StepShape_SweptFaceSolid,anent,ent);
7387       RWStepShape_RWSweptFaceSolid tool;
7388       tool.ReadStep (data,num,ach,anent);
7389     }
7390     break;
7391     
7392   // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties)
7393   case 406:
7394     {
7395       DeclareAndCast(StepRepr_MeasureRepresentationItem,anent,ent);
7396       RWStepRepr_RWMeasureRepresentationItem tool;
7397       tool.ReadStep (data,num,ach,anent);
7398     }
7399     break;
7400   case 407:
7401     {
7402       DeclareAndCast(StepBasic_AreaUnit,anent,ent);
7403       RWStepBasic_RWNamedUnit tool;
7404       tool.ReadStep (data,num,ach,anent);
7405     }
7406     break;
7407   case 408:
7408     {
7409       DeclareAndCast(StepBasic_VolumeUnit,anent,ent);
7410       RWStepBasic_RWNamedUnit tool;
7411       tool.ReadStep (data,num,ach,anent);
7412     }
7413     break;
7414   case 409:
7415     {
7416       DeclareAndCast(StepBasic_SiUnitAndAreaUnit,anent,ent);
7417       RWStepBasic_RWSiUnitAndAreaUnit tool;
7418       tool.ReadStep (data,num,ach,anent);
7419     }
7420     break;
7421   case 410:
7422     {
7423       DeclareAndCast(StepBasic_SiUnitAndVolumeUnit,anent,ent);
7424       RWStepBasic_RWSiUnitAndVolumeUnit tool;
7425       tool.ReadStep (data,num,ach,anent);
7426     }
7427     break;
7428     case 411:
7429     {
7430       DeclareAndCast(StepBasic_ConversionBasedUnitAndAreaUnit,anent,ent);
7431       RWStepBasic_RWConversionBasedUnitAndAreaUnit tool;
7432       tool.ReadStep (data,num,ach,anent);
7433     }
7434     break;
7435     case 412:
7436     {
7437       DeclareAndCast(StepBasic_ConversionBasedUnitAndVolumeUnit,anent,ent);
7438       RWStepBasic_RWConversionBasedUnitAndVolumeUnit tool;
7439       tool.ReadStep (data,num,ach,anent);
7440     }
7441     break;
7442
7443     // Added by ABV 10.11.99 for AP203
7444     case 413:
7445     {
7446       DeclareAndCast(StepBasic_Action,anent,ent);
7447       RWStepBasic_RWAction tool;
7448       tool.ReadStep (data,num,ach,anent);
7449     }
7450     break;
7451     case 414:
7452     {
7453       DeclareAndCast(StepBasic_ActionAssignment,anent,ent);
7454       RWStepBasic_RWActionAssignment tool;
7455       tool.ReadStep (data,num,ach,anent);
7456     }
7457     break;
7458     case 415:
7459     {
7460       DeclareAndCast(StepBasic_ActionMethod,anent,ent);
7461       RWStepBasic_RWActionMethod tool;
7462       tool.ReadStep (data,num,ach,anent);
7463     }
7464     break;
7465     case 416:
7466     {
7467       DeclareAndCast(StepBasic_ActionRequestAssignment,anent,ent);
7468       RWStepBasic_RWActionRequestAssignment tool;
7469       tool.ReadStep (data,num,ach,anent);
7470     }
7471     break;
7472     case 417:
7473     {
7474       DeclareAndCast(StepAP203_CcDesignApproval,anent,ent);
7475       RWStepAP203_RWCcDesignApproval tool;
7476       tool.ReadStep (data,num,ach,anent);
7477     }
7478     break;
7479     case 418:
7480     {
7481       DeclareAndCast(StepAP203_CcDesignCertification,anent,ent);
7482       RWStepAP203_RWCcDesignCertification tool;
7483       tool.ReadStep (data,num,ach,anent);
7484     }
7485     break;
7486     case 419:
7487     {
7488       DeclareAndCast(StepAP203_CcDesignContract,anent,ent);
7489       RWStepAP203_RWCcDesignContract tool;
7490       tool.ReadStep (data,num,ach,anent);
7491     }
7492     break;
7493     case 420:
7494     {
7495       DeclareAndCast(StepAP203_CcDesignDateAndTimeAssignment,anent,ent);
7496       RWStepAP203_RWCcDesignDateAndTimeAssignment tool;
7497       tool.ReadStep (data,num,ach,anent);
7498     }
7499     break;
7500     case 421:
7501     {
7502       DeclareAndCast(StepAP203_CcDesignPersonAndOrganizationAssignment,anent,ent);
7503       RWStepAP203_RWCcDesignPersonAndOrganizationAssignment tool;
7504       tool.ReadStep (data,num,ach,anent);
7505     }
7506     break;
7507     case 422:
7508     {
7509       DeclareAndCast(StepAP203_CcDesignSecurityClassification,anent,ent);
7510       RWStepAP203_RWCcDesignSecurityClassification tool;
7511       tool.ReadStep (data,num,ach,anent);
7512     }
7513     break;
7514     case 423:
7515     {
7516       DeclareAndCast(StepAP203_CcDesignSpecificationReference,anent,ent);
7517       RWStepAP203_RWCcDesignSpecificationReference tool;
7518       tool.ReadStep (data,num,ach,anent);
7519     }
7520     break;
7521     case 424:
7522     {
7523       DeclareAndCast(StepBasic_Certification,anent,ent);
7524       RWStepBasic_RWCertification tool;
7525       tool.ReadStep (data,num,ach,anent);
7526     }
7527     break;
7528     case 425:
7529     {
7530       DeclareAndCast(StepBasic_CertificationAssignment,anent,ent);
7531       RWStepBasic_RWCertificationAssignment tool;
7532       tool.ReadStep (data,num,ach,anent);
7533     }
7534     break;
7535     case 426:
7536     {
7537       DeclareAndCast(StepBasic_CertificationType,anent,ent);
7538       RWStepBasic_RWCertificationType tool;
7539       tool.ReadStep (data,num,ach,anent);
7540     }
7541     break;
7542     case 427:
7543     {
7544       DeclareAndCast(StepAP203_Change,anent,ent);
7545       RWStepAP203_RWChange tool;
7546       tool.ReadStep (data,num,ach,anent);
7547     }
7548     break;
7549     case 428:
7550     {
7551       DeclareAndCast(StepAP203_ChangeRequest,anent,ent);
7552       RWStepAP203_RWChangeRequest tool;
7553       tool.ReadStep (data,num,ach,anent);
7554     }
7555     break;
7556     case 429:
7557     {
7558       DeclareAndCast(StepRepr_ConfigurationDesign,anent,ent);
7559       RWStepRepr_RWConfigurationDesign tool;
7560       tool.ReadStep (data,num,ach,anent);
7561     }
7562     break;
7563     case 430:
7564     {
7565       DeclareAndCast(StepRepr_ConfigurationEffectivity,anent,ent);
7566       RWStepRepr_RWConfigurationEffectivity tool;
7567       tool.ReadStep (data,num,ach,anent);
7568     }
7569     break;
7570     case 431:
7571     {
7572       DeclareAndCast(StepBasic_Contract,anent,ent);
7573       RWStepBasic_RWContract tool;
7574       tool.ReadStep (data,num,ach,anent);
7575     }
7576     break;
7577     case 432:
7578     {
7579       DeclareAndCast(StepBasic_ContractAssignment,anent,ent);
7580       RWStepBasic_RWContractAssignment tool;
7581       tool.ReadStep (data,num,ach,anent);
7582     }
7583     break;
7584     case 433:
7585     {
7586       DeclareAndCast(StepBasic_ContractType,anent,ent);
7587       RWStepBasic_RWContractType tool;
7588       tool.ReadStep (data,num,ach,anent);
7589     }
7590     break;
7591     case 434:
7592     {
7593       DeclareAndCast(StepRepr_ProductConcept,anent,ent);
7594       RWStepRepr_RWProductConcept tool;
7595       tool.ReadStep (data,num,ach,anent);
7596     }
7597     break;
7598     case 435:
7599     {
7600       DeclareAndCast(StepBasic_ProductConceptContext,anent,ent);
7601       RWStepBasic_RWProductConceptContext tool;
7602       tool.ReadStep (data,num,ach,anent);
7603     }
7604     break;
7605     case 436:
7606     {
7607       DeclareAndCast(StepAP203_StartRequest,anent,ent);
7608       RWStepAP203_RWStartRequest tool;
7609       tool.ReadStep (data,num,ach,anent);
7610     }
7611     break;
7612     case 437:
7613     {
7614       DeclareAndCast(StepAP203_StartWork,anent,ent);
7615       RWStepAP203_RWStartWork tool;
7616       tool.ReadStep (data,num,ach,anent);
7617     }
7618     break;
7619     case 438:
7620     {
7621       DeclareAndCast(StepBasic_VersionedActionRequest,anent,ent);
7622       RWStepBasic_RWVersionedActionRequest tool;
7623       tool.ReadStep (data,num,ach,anent);
7624     }
7625     break;
7626     case 439:
7627     {
7628       DeclareAndCast(StepBasic_ProductCategoryRelationship,anent,ent);
7629       RWStepBasic_RWProductCategoryRelationship tool;
7630       tool.ReadStep (data,num,ach,anent);
7631     }
7632     break;
7633     case 440:
7634     {
7635       DeclareAndCast(StepBasic_ActionRequestSolution,anent,ent);
7636       RWStepBasic_RWActionRequestSolution tool;
7637       tool.ReadStep (data,num,ach,anent);
7638     }
7639     break;
7640
7641   case 441:
7642     {
7643       DeclareAndCast(StepVisual_DraughtingModel,anent,ent);
7644       RWStepVisual_RWDraughtingModel tool;
7645       tool.ReadStep (data,num,ach,anent);
7646     }
7647     break;
7648     
7649   // Added by ABV 18.04.00 for CAX-IF TRJ4
7650   case 442:
7651     {
7652       DeclareAndCast(StepShape_AngularLocation,anent,ent);
7653       RWStepShape_RWAngularLocation tool;
7654       tool.ReadStep (data,num,ach,anent);
7655     }
7656     break;
7657   case 443:
7658     {
7659       DeclareAndCast(StepShape_AngularSize,anent,ent);
7660       RWStepShape_RWAngularSize tool;
7661       tool.ReadStep (data,num,ach,anent);
7662     }
7663     break;
7664   case 444:
7665     {
7666       DeclareAndCast(StepShape_DimensionalCharacteristicRepresentation,anent,ent);
7667       RWStepShape_RWDimensionalCharacteristicRepresentation tool;
7668       tool.ReadStep (data,num,ach,anent);
7669     }
7670     break;
7671   case 445:
7672     {
7673       DeclareAndCast(StepShape_DimensionalLocation,anent,ent);
7674       RWStepShape_RWDimensionalLocation tool;
7675       tool.ReadStep (data,num,ach,anent);
7676     }
7677     break;
7678   case 446:
7679     {
7680       DeclareAndCast(StepShape_DimensionalLocationWithPath,anent,ent);
7681       RWStepShape_RWDimensionalLocationWithPath tool;
7682       tool.ReadStep (data,num,ach,anent);
7683     }
7684     break;
7685   case 447:
7686     {
7687       DeclareAndCast(StepShape_DimensionalSize,anent,ent);
7688       RWStepShape_RWDimensionalSize tool;
7689       tool.ReadStep (data,num,ach,anent);
7690     }
7691     break;
7692   case 448:
7693     {
7694       DeclareAndCast(StepShape_DimensionalSizeWithPath,anent,ent);
7695       RWStepShape_RWDimensionalSizeWithPath tool;
7696       tool.ReadStep (data,num,ach,anent);
7697     }
7698     break;
7699   case 449:
7700     {
7701       DeclareAndCast(StepShape_ShapeDimensionRepresentation,anent,ent);
7702       RWStepShape_RWShapeDimensionRepresentation tool;
7703       tool.ReadStep (data,num,ach,anent);
7704     }
7705     break;
7706
7707     // Added by ABV 10.05.00 for CAX-IF TRJ4 (external references)
7708   case 450:
7709     {
7710       DeclareAndCast(StepBasic_DocumentRepresentationType,anent,ent);
7711       RWStepBasic_RWDocumentRepresentationType tool;
7712       tool.ReadStep (data,num,ach,anent);
7713     }
7714     break;
7715   case 451:
7716     {
7717       DeclareAndCast(StepBasic_ObjectRole,anent,ent);
7718       RWStepBasic_RWObjectRole tool;
7719       tool.ReadStep (data,num,ach,anent);
7720     }
7721     break;
7722   case 452:
7723     {
7724       DeclareAndCast(StepBasic_RoleAssociation,anent,ent);
7725       RWStepBasic_RWRoleAssociation tool;
7726       tool.ReadStep (data,num,ach,anent);
7727     }
7728     break;
7729   case 453:
7730     {
7731       DeclareAndCast(StepBasic_IdentificationRole,anent,ent);
7732       RWStepBasic_RWIdentificationRole tool;
7733       tool.ReadStep (data,num,ach,anent);
7734     }
7735     break;
7736   case 454:
7737     {
7738       DeclareAndCast(StepBasic_IdentificationAssignment,anent,ent);
7739       RWStepBasic_RWIdentificationAssignment tool;
7740       tool.ReadStep (data,num,ach,anent);
7741     }
7742     break;
7743   case 455:
7744     {
7745       DeclareAndCast(StepBasic_ExternalIdentificationAssignment,anent,ent);
7746       RWStepBasic_RWExternalIdentificationAssignment tool;
7747       tool.ReadStep (data,num,ach,anent);
7748     }
7749     break;
7750   case 456:
7751     {
7752       DeclareAndCast(StepBasic_EffectivityAssignment,anent,ent);
7753       RWStepBasic_RWEffectivityAssignment tool;
7754       tool.ReadStep (data,num,ach,anent);
7755     }
7756     break;
7757   case 457:
7758     {
7759       DeclareAndCast(StepBasic_NameAssignment,anent,ent);
7760       RWStepBasic_RWNameAssignment tool;
7761       tool.ReadStep (data,num,ach,anent);
7762     }
7763     break;
7764   case 458:
7765     {
7766       DeclareAndCast(StepBasic_GeneralProperty,anent,ent);
7767       RWStepBasic_RWGeneralProperty tool;
7768       tool.ReadStep (data,num,ach,anent);
7769     }
7770     break;
7771   case 459:
7772     {
7773       DeclareAndCast(StepAP214_Class,anent,ent);
7774       RWStepAP214_RWClass tool;
7775       tool.ReadStep (data,num,ach,anent);
7776     }
7777     break;
7778   case 460:
7779     {
7780       DeclareAndCast(StepAP214_ExternallyDefinedClass,anent,ent);
7781       RWStepAP214_RWExternallyDefinedClass tool;
7782       tool.ReadStep (data,num,ach,anent);
7783     }
7784     break;
7785   case 461:
7786     {
7787       DeclareAndCast(StepAP214_ExternallyDefinedGeneralProperty,anent,ent);
7788       RWStepAP214_RWExternallyDefinedGeneralProperty tool;
7789       tool.ReadStep (data,num,ach,anent);
7790     }
7791     break;
7792   case 462:
7793     {
7794       DeclareAndCast(StepAP214_AppliedExternalIdentificationAssignment,anent,ent);
7795       RWStepAP214_RWAppliedExternalIdentificationAssignment tool;
7796       tool.ReadStep (data,num,ach,anent);
7797     }
7798     break;
7799   case 463:
7800     {
7801       DeclareAndCast(StepShape_DefinitionalRepresentationAndShapeRepresentation,anent,ent);
7802       RWStepShape_RWDefinitionalRepresentationAndShapeRepresentation tool;
7803       tool.ReadStep (data,num,ach,anent);
7804     }
7805     break;
7806
7807       // Added by CKY 25 APR 2001 for CAX-IF TRJ7 (dimensional tolerances)
7808   case 470:
7809     {
7810       DeclareAndCast(StepRepr_CompositeShapeAspect,anent,ent);
7811       RWStepRepr_RWCompositeShapeAspect tool;
7812       tool.ReadStep (data,num,ach,anent);
7813     }
7814     break;
7815   case 471:
7816     {
7817       DeclareAndCast(StepRepr_DerivedShapeAspect,anent,ent);
7818       RWStepRepr_RWDerivedShapeAspect tool;
7819       tool.ReadStep (data,num,ach,anent);
7820     }
7821     break;
7822   case 472:
7823     {
7824       DeclareAndCast(StepRepr_Extension,anent,ent);
7825       RWStepRepr_RWExtension tool;
7826       tool.ReadStep (data,num,ach,anent);
7827     }
7828     break;
7829   case 473:  // same as DimensionalLocation
7830     {
7831       DeclareAndCast(StepShape_DirectedDimensionalLocation,anent,ent);
7832       RWStepShape_RWDimensionalLocation tool;
7833       tool.ReadStep (data,num,ach,anent);
7834     }
7835     break;
7836   case 474:
7837     {
7838       DeclareAndCast(StepShape_LimitsAndFits,anent,ent);
7839       RWStepShape_RWLimitsAndFits tool;
7840       tool.ReadStep (data,num,ach,anent);
7841     }
7842     break;
7843   case 475:
7844     {
7845       DeclareAndCast(StepShape_ToleranceValue,anent,ent);
7846       RWStepShape_RWToleranceValue tool;
7847       tool.ReadStep (data,num,ach,anent);
7848     }
7849     break;
7850   case 476:
7851     {
7852       DeclareAndCast(StepShape_MeasureQualification,anent,ent);
7853       RWStepShape_RWMeasureQualification tool;
7854       tool.ReadStep (data,num,ach,anent);
7855     }
7856     break;
7857   case 477:
7858     {
7859       DeclareAndCast(StepShape_PlusMinusTolerance,anent,ent);
7860       RWStepShape_RWPlusMinusTolerance tool;
7861       tool.ReadStep (data,num,ach,anent);
7862     }
7863     break;
7864   case 478:
7865     {
7866       DeclareAndCast(StepShape_PrecisionQualifier,anent,ent);
7867       RWStepShape_RWPrecisionQualifier tool;
7868       tool.ReadStep (data,num,ach,anent);
7869     }
7870     break;
7871   case 479:
7872     {
7873       DeclareAndCast(StepShape_TypeQualifier,anent,ent);
7874       RWStepShape_RWTypeQualifier tool;
7875       tool.ReadStep (data,num,ach,anent);
7876     }
7877     break;
7878   case 480:
7879     {
7880       DeclareAndCast(StepShape_QualifiedRepresentationItem,anent,ent);
7881       RWStepShape_RWQualifiedRepresentationItem tool;
7882       tool.ReadStep (data,num,ach,anent);
7883     }
7884     break;
7885   case 481:
7886     {
7887       DeclareAndCast(StepShape_MeasureRepresentationItemAndQualifiedRepresentationItem,anent,ent);
7888       RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem tool;
7889       tool.ReadStep (data,num,ach,anent);
7890     }
7891     break;
7892   case 482: //the same types
7893   case 483:
7894     {
7895       DeclareAndCast(StepRepr_CompoundRepresentationItem,anent,ent);
7896       RWStepRepr_RWCompoundRepresentationItem tool;
7897       tool.ReadStep (data,num,ach,anent);
7898     }
7899     break;
7900   case 484:  // same as ShapeAspectRelationship
7901     {
7902       DeclareAndCast(StepRepr_ShapeAspectRelationship,anent,ent);
7903       RWStepRepr_RWShapeAspectRelationship tool;
7904       tool.ReadStep (data,num,ach,anent);
7905     }
7906     break;
7907
7908   // Added by ABV 27.12.01 for CAX-IF TRJ9
7909   case 485:
7910     {
7911       DeclareAndCast(StepShape_CompoundShapeRepresentation,anent,ent);
7912       RWStepShape_RWCompoundShapeRepresentation tool;
7913       tool.ReadStep (data,num,ach,anent);
7914     }
7915     break;
7916   case 486:
7917     {
7918       DeclareAndCast(StepShape_ConnectedEdgeSet,anent,ent);
7919       RWStepShape_RWConnectedEdgeSet tool;
7920       tool.ReadStep (data,num,ach,anent);
7921     }
7922     break;
7923   case 487:
7924     {
7925       DeclareAndCast(StepShape_ConnectedFaceShapeRepresentation,anent,ent);
7926       RWStepShape_RWConnectedFaceShapeRepresentation tool;
7927       tool.ReadStep (data,num,ach,anent);
7928     }
7929     break;
7930   case 488:
7931     {
7932       DeclareAndCast(StepShape_EdgeBasedWireframeModel,anent,ent);
7933       RWStepShape_RWEdgeBasedWireframeModel tool;
7934       tool.ReadStep (data,num,ach,anent);
7935     }
7936     break;
7937   case 489:
7938     {
7939       DeclareAndCast(StepShape_EdgeBasedWireframeShapeRepresentation,anent,ent);
7940       RWStepShape_RWEdgeBasedWireframeShapeRepresentation tool;
7941       tool.ReadStep (data,num,ach,anent);
7942     }
7943     break;
7944   case 490:
7945     {
7946       DeclareAndCast(StepShape_FaceBasedSurfaceModel,anent,ent);
7947       RWStepShape_RWFaceBasedSurfaceModel tool;
7948       tool.ReadStep (data,num,ach,anent);
7949     }
7950     break;
7951   case 491:
7952     {
7953       DeclareAndCast(StepShape_NonManifoldSurfaceShapeRepresentation,anent,ent);
7954       RWStepShape_RWNonManifoldSurfaceShapeRepresentation tool;
7955       tool.ReadStep (data,num,ach,anent);
7956     }
7957     break;
7958   
7959     
7960   case 492:
7961     {
7962       DeclareAndCast(StepGeom_OrientedSurface,anent,ent);
7963       RWStepGeom_RWOrientedSurface tool;
7964       tool.ReadStep (data,num,ach,anent);
7965     }
7966     break;
7967     case 493:
7968     {
7969       DeclareAndCast(StepShape_Subface,anent,ent);
7970       RWStepShape_RWSubface tool;
7971       tool.ReadStep (data,num,ach,anent);
7972     }
7973     break;
7974     case 494:
7975     {
7976       DeclareAndCast(StepShape_Subedge,anent,ent);
7977       RWStepShape_RWSubedge tool;
7978       tool.ReadStep (data,num,ach,anent);
7979     }
7980     break;
7981     case 495:
7982     {
7983       DeclareAndCast(StepShape_SeamEdge,anent,ent);
7984       RWStepShape_RWSeamEdge tool;
7985       tool.ReadStep (data,num,ach,anent);
7986     }
7987     break;
7988     case 496:
7989     {
7990       DeclareAndCast(StepShape_ConnectedFaceSubSet,anent,ent);
7991       RWStepShape_RWConnectedFaceSubSet tool;
7992       tool.ReadStep (data,num,ach,anent);
7993     }
7994     break;
7995     case 500:  
7996     {
7997       DeclareAndCast(StepBasic_EulerAngles,anent,ent);
7998       RWStepBasic_RWEulerAngles tool;
7999       tool.ReadStep (data,num,ach,anent);
8000     }
8001     break;
8002   case 501:  
8003     {
8004       DeclareAndCast(StepBasic_MassUnit,anent,ent);
8005       RWStepBasic_RWMassUnit tool;
8006       tool.ReadStep (data,num,ach,anent);
8007     }
8008     break;
8009   case 502:  
8010     {
8011       DeclareAndCast(StepBasic_ThermodynamicTemperatureUnit,anent,ent);
8012       RWStepBasic_RWThermodynamicTemperatureUnit tool;
8013       tool.ReadStep (data,num,ach,anent);
8014     }
8015     break;
8016   case 503:  
8017     {
8018       DeclareAndCast(StepElement_AnalysisItemWithinRepresentation,anent,ent);
8019       RWStepElement_RWAnalysisItemWithinRepresentation tool;
8020       tool.ReadStep (data,num,ach,anent);
8021     }
8022     break;
8023   case 504:  
8024     {
8025       DeclareAndCast(StepElement_Curve3dElementDescriptor,anent,ent);
8026       RWStepElement_RWCurve3dElementDescriptor tool;
8027       tool.ReadStep (data,num,ach,anent);
8028     }
8029     break;
8030   case 505:  
8031     {
8032       DeclareAndCast(StepElement_CurveElementEndReleasePacket,anent,ent);
8033       RWStepElement_RWCurveElementEndReleasePacket tool;
8034       tool.ReadStep (data,num,ach,anent);
8035     }
8036     break;
8037   case 506:  
8038     {
8039       DeclareAndCast(StepElement_CurveElementSectionDefinition,anent,ent);
8040       RWStepElement_RWCurveElementSectionDefinition tool;
8041       tool.ReadStep (data,num,ach,anent);
8042     }
8043     break;
8044   case 507:  
8045     {
8046       DeclareAndCast(StepElement_CurveElementSectionDerivedDefinitions,anent,ent);
8047       RWStepElement_RWCurveElementSectionDerivedDefinitions tool;
8048       tool.ReadStep (data,num,ach,anent);
8049     }
8050     break;
8051   case 508:  
8052     {
8053       DeclareAndCast(StepElement_ElementDescriptor,anent,ent);
8054       RWStepElement_RWElementDescriptor tool;
8055       tool.ReadStep (data,num,ach,anent);
8056     }
8057     break;
8058   case 509:  
8059     {
8060       DeclareAndCast(StepElement_ElementMaterial,anent,ent);
8061       RWStepElement_RWElementMaterial tool;
8062       tool.ReadStep (data,num,ach,anent);
8063     }
8064     break;
8065   case 510:  
8066     {
8067       DeclareAndCast(StepElement_Surface3dElementDescriptor,anent,ent);
8068       RWStepElement_RWSurface3dElementDescriptor tool;
8069       tool.ReadStep (data,num,ach,anent);
8070     }
8071     break;
8072   case 511:  
8073     {
8074       DeclareAndCast(StepElement_SurfaceElementProperty,anent,ent);
8075       RWStepElement_RWSurfaceElementProperty tool;
8076       tool.ReadStep (data,num,ach,anent);
8077     }
8078     break;
8079   case 512:  
8080     {
8081       DeclareAndCast(StepElement_SurfaceSection,anent,ent);
8082       RWStepElement_RWSurfaceSection tool;
8083       tool.ReadStep (data,num,ach,anent);
8084     }
8085     break;
8086   case 513:  
8087     {
8088       DeclareAndCast(StepElement_SurfaceSectionField,anent,ent);
8089       RWStepElement_RWSurfaceSectionField tool;
8090       tool.ReadStep (data,num,ach,anent);
8091     }
8092     break;
8093   case 514:  
8094     {
8095       DeclareAndCast(StepElement_SurfaceSectionFieldConstant,anent,ent);
8096       RWStepElement_RWSurfaceSectionFieldConstant tool;
8097       tool.ReadStep (data,num,ach,anent);
8098     }
8099     break;
8100   case 515:  
8101     {
8102       DeclareAndCast(StepElement_SurfaceSectionFieldVarying,anent,ent);
8103       RWStepElement_RWSurfaceSectionFieldVarying tool;
8104       tool.ReadStep (data,num,ach,anent);
8105     }
8106     break;
8107   case 516:  
8108     {
8109       DeclareAndCast(StepElement_UniformSurfaceSection,anent,ent);
8110       RWStepElement_RWUniformSurfaceSection tool;
8111       tool.ReadStep (data,num,ach,anent);
8112     }
8113     break;
8114   case 517:  
8115     {
8116       DeclareAndCast(StepElement_Volume3dElementDescriptor,anent,ent);
8117       RWStepElement_RWVolume3dElementDescriptor tool;
8118       tool.ReadStep (data,num,ach,anent);
8119     }
8120     break;
8121   case 518:  
8122     {
8123       DeclareAndCast(StepFEA_AlignedCurve3dElementCoordinateSystem,anent,ent);
8124       RWStepFEA_RWAlignedCurve3dElementCoordinateSystem tool;
8125       tool.ReadStep (data,num,ach,anent);
8126     }
8127     break;
8128   case 519:  
8129     {
8130       DeclareAndCast(StepFEA_ArbitraryVolume3dElementCoordinateSystem,anent,ent);
8131       RWStepFEA_RWArbitraryVolume3dElementCoordinateSystem tool;
8132       tool.ReadStep (data,num,ach,anent);
8133     }
8134     break;
8135   case 520:  
8136     {
8137       DeclareAndCast(StepFEA_Curve3dElementProperty,anent,ent);
8138       RWStepFEA_RWCurve3dElementProperty tool;
8139       tool.ReadStep (data,num,ach,anent);
8140     }
8141     break;
8142   case 521:  
8143     {
8144       DeclareAndCast(StepFEA_Curve3dElementRepresentation,anent,ent);
8145       RWStepFEA_RWCurve3dElementRepresentation tool;
8146       tool.ReadStep (data,num,ach,anent);
8147     }
8148     break;
8149   case 522:  
8150     {
8151       DeclareAndCast(StepFEA_Node,anent,ent);
8152       RWStepFEA_RWNode tool;
8153       tool.ReadStep (data,num,ach,anent);
8154     }
8155     break;
8156 //case 523:  
8157 //    {
8158 //      DeclareAndCast(StepFEA_CurveElementEndCoordinateSystem,anent,ent);
8159 //      RWStepFEA_RWCurveElementEndCoordinateSystem tool;
8160 //      tool.ReadStep (data,num,ach,anent);
8161 //    }
8162 //    break;
8163   case 524:  
8164     {
8165       DeclareAndCast(StepFEA_CurveElementEndOffset,anent,ent);
8166       RWStepFEA_RWCurveElementEndOffset tool;
8167       tool.ReadStep (data,num,ach,anent);
8168     }
8169     break;
8170   case 525:  
8171     {
8172       DeclareAndCast(StepFEA_CurveElementEndRelease,anent,ent);
8173       RWStepFEA_RWCurveElementEndRelease tool;
8174       tool.ReadStep (data,num,ach,anent);
8175     }
8176     break;
8177   case 526:  
8178     {
8179       DeclareAndCast(StepFEA_CurveElementInterval,anent,ent);
8180       RWStepFEA_RWCurveElementInterval tool;
8181       tool.ReadStep (data,num,ach,anent);
8182     }
8183     break;
8184   case 527:  
8185     {
8186       DeclareAndCast(StepFEA_CurveElementIntervalConstant,anent,ent);
8187       RWStepFEA_RWCurveElementIntervalConstant tool;
8188       tool.ReadStep (data,num,ach,anent);
8189     }
8190     break;
8191   case 528:  
8192     {
8193       DeclareAndCast(StepFEA_DummyNode,anent,ent);
8194       RWStepFEA_RWDummyNode tool;
8195       tool.ReadStep (data,num,ach,anent);
8196     }
8197     break;
8198   case 529:  
8199     {
8200       DeclareAndCast(StepFEA_CurveElementLocation,anent,ent);
8201       RWStepFEA_RWCurveElementLocation tool;
8202       tool.ReadStep (data,num,ach,anent);
8203     }
8204     break;
8205   case 530:  
8206     {
8207       DeclareAndCast(StepFEA_ElementGeometricRelationship,anent,ent);
8208       RWStepFEA_RWElementGeometricRelationship tool;
8209       tool.ReadStep (data,num,ach,anent);
8210     }
8211     break;
8212   case 531:  
8213     {
8214       DeclareAndCast(StepFEA_ElementGroup,anent,ent);
8215       RWStepFEA_RWElementGroup tool;
8216       tool.ReadStep (data,num,ach,anent);
8217     }
8218     break;
8219   case 532:  
8220     {
8221       DeclareAndCast(StepFEA_ElementRepresentation,anent,ent);
8222       RWStepFEA_RWElementRepresentation tool;
8223       tool.ReadStep (data,num,ach,anent);
8224     }
8225     break;
8226   case 533:  
8227     {
8228       DeclareAndCast(StepFEA_FeaAreaDensity,anent,ent);
8229       RWStepFEA_RWFeaAreaDensity tool;
8230       tool.ReadStep (data,num,ach,anent);
8231     }
8232     break;
8233   case 534:  
8234     {
8235       DeclareAndCast(StepFEA_FeaAxis2Placement3d,anent,ent);
8236       RWStepFEA_RWFeaAxis2Placement3d tool;
8237       tool.ReadStep (data,num,ach,anent);
8238     }
8239     break;
8240   case 535:  
8241     {
8242       DeclareAndCast(StepFEA_FeaGroup,anent,ent);
8243       RWStepFEA_RWFeaGroup tool;
8244       tool.ReadStep (data,num,ach,anent);
8245     }
8246     break;
8247   case 536:  
8248     {
8249       DeclareAndCast(StepFEA_FeaLinearElasticity,anent,ent);
8250       RWStepFEA_RWFeaLinearElasticity tool;
8251       tool.ReadStep (data,num,ach,anent);
8252     }
8253     break;
8254   case 537:  
8255     {
8256       DeclareAndCast(StepFEA_FeaMassDensity,anent,ent);
8257       RWStepFEA_RWFeaMassDensity tool;
8258       tool.ReadStep (data,num,ach,anent);
8259     }
8260     break;
8261   case 538:  
8262     {
8263       DeclareAndCast(StepFEA_FeaMaterialPropertyRepresentation,anent,ent);
8264       RWStepFEA_RWFeaMaterialPropertyRepresentation tool;
8265       tool.ReadStep (data,num,ach,anent);
8266     }
8267     break;
8268   case 539:  
8269     {
8270       DeclareAndCast(StepFEA_FeaMaterialPropertyRepresentationItem,anent,ent);
8271       RWStepFEA_RWFeaMaterialPropertyRepresentationItem tool;
8272       tool.ReadStep (data,num,ach,anent);
8273     }
8274     break;
8275   case 540:  
8276     {
8277       DeclareAndCast(StepFEA_FeaModel,anent,ent);
8278       RWStepFEA_RWFeaModel tool;
8279       tool.ReadStep (data,num,ach,anent);
8280     }
8281     break;
8282   case 541:  
8283     {
8284       DeclareAndCast(StepFEA_FeaModel3d,anent,ent);
8285       RWStepFEA_RWFeaModel3d tool;
8286       tool.ReadStep (data,num,ach,anent);
8287     }
8288     break;
8289   case 542:  
8290     {
8291       DeclareAndCast(StepFEA_FeaMoistureAbsorption,anent,ent);
8292       RWStepFEA_RWFeaMoistureAbsorption tool;
8293       tool.ReadStep (data,num,ach,anent);
8294     }
8295     break;
8296   case 543:  
8297     {
8298       DeclareAndCast(StepFEA_FeaParametricPoint,anent,ent);
8299       RWStepFEA_RWFeaParametricPoint tool;
8300       tool.ReadStep (data,num,ach,anent);
8301     }
8302     break;
8303   case 544:  
8304     {
8305       DeclareAndCast(StepFEA_FeaRepresentationItem,anent,ent);
8306       RWStepFEA_RWFeaRepresentationItem tool;
8307       tool.ReadStep (data,num,ach,anent);
8308     }
8309     break;
8310   case 545:  
8311     {
8312       DeclareAndCast(StepFEA_FeaSecantCoefficientOfLinearThermalExpansion,anent,ent);
8313       RWStepFEA_RWFeaSecantCoefficientOfLinearThermalExpansion tool;
8314       tool.ReadStep (data,num,ach,anent);
8315     }
8316     break;
8317   case 546:  
8318     {
8319       DeclareAndCast(StepFEA_FeaShellBendingStiffness,anent,ent);
8320       RWStepFEA_RWFeaShellBendingStiffness tool;
8321       tool.ReadStep (data,num,ach,anent);
8322     }
8323     break;
8324   case 547:  
8325     {
8326       DeclareAndCast(StepFEA_FeaShellMembraneBendingCouplingStiffness,anent,ent);
8327       RWStepFEA_RWFeaShellMembraneBendingCouplingStiffness tool;
8328       tool.ReadStep (data,num,ach,anent);
8329     }
8330     break;
8331   case 548:  
8332     {
8333       DeclareAndCast(StepFEA_FeaShellMembraneStiffness,anent,ent);
8334       RWStepFEA_RWFeaShellMembraneStiffness tool;
8335       tool.ReadStep (data,num,ach,anent);
8336     }
8337     break;
8338   case 549:  
8339     {
8340       DeclareAndCast(StepFEA_FeaShellShearStiffness,anent,ent);
8341       RWStepFEA_RWFeaShellShearStiffness tool;
8342       tool.ReadStep (data,num,ach,anent);
8343     }
8344     break;
8345   case 550:  
8346     {
8347       DeclareAndCast(StepFEA_GeometricNode,anent,ent);
8348       RWStepFEA_RWGeometricNode tool;
8349       tool.ReadStep (data,num,ach,anent);
8350     }
8351     break;
8352   case 551:  
8353     {
8354       DeclareAndCast(StepFEA_FeaTangentialCoefficientOfLinearThermalExpansion,anent,ent);
8355       RWStepFEA_RWFeaTangentialCoefficientOfLinearThermalExpansion tool;
8356       tool.ReadStep (data,num,ach,anent);
8357     }
8358     break;
8359   case 552:  
8360     {
8361       DeclareAndCast(StepFEA_NodeGroup,anent,ent);
8362       RWStepFEA_RWNodeGroup tool;
8363       tool.ReadStep (data,num,ach,anent);
8364     }
8365     break;
8366   case 553:  
8367     {
8368       DeclareAndCast(StepFEA_NodeRepresentation,anent,ent);
8369       RWStepFEA_RWNodeRepresentation tool;
8370       tool.ReadStep (data,num,ach,anent);
8371     }
8372     break;
8373   case 554:  
8374     {
8375       DeclareAndCast(StepFEA_NodeSet,anent,ent);
8376       RWStepFEA_RWNodeSet tool;
8377       tool.ReadStep (data,num,ach,anent);
8378     }
8379     break;
8380   case 555:  
8381     {
8382       DeclareAndCast(StepFEA_NodeWithSolutionCoordinateSystem,anent,ent);
8383       RWStepFEA_RWNodeWithSolutionCoordinateSystem tool;
8384       tool.ReadStep (data,num,ach,anent);
8385     }
8386     break;
8387   case 556:  
8388     {
8389       DeclareAndCast(StepFEA_NodeWithVector,anent,ent);
8390       RWStepFEA_RWNodeWithVector tool;
8391       tool.ReadStep (data,num,ach,anent);
8392     }
8393     break;
8394   case 557:  
8395     {
8396       DeclareAndCast(StepFEA_ParametricCurve3dElementCoordinateDirection,anent,ent);
8397       RWStepFEA_RWParametricCurve3dElementCoordinateDirection tool;
8398       tool.ReadStep (data,num,ach,anent);
8399     }
8400     break;
8401   case 558:  
8402     {
8403       DeclareAndCast(StepFEA_ParametricCurve3dElementCoordinateSystem,anent,ent);
8404       RWStepFEA_RWParametricCurve3dElementCoordinateSystem tool;
8405       tool.ReadStep (data,num,ach,anent);
8406     }
8407     break;
8408   case 559:  
8409     {
8410       DeclareAndCast(StepFEA_ParametricSurface3dElementCoordinateSystem,anent,ent);
8411       RWStepFEA_RWParametricSurface3dElementCoordinateSystem tool;
8412       tool.ReadStep (data,num,ach,anent);
8413     }
8414     break;
8415   case 560:  
8416     {
8417       DeclareAndCast(StepFEA_Surface3dElementRepresentation,anent,ent);
8418       RWStepFEA_RWSurface3dElementRepresentation tool;
8419       tool.ReadStep (data,num,ach,anent);
8420     }
8421     break;
8422 //case 561:  
8423 //    {
8424 //      DeclareAndCast(StepFEA_SymmetricTensor22d,anent,ent);
8425 //      RWStepFEA_RWSymmetricTensor22d tool;
8426 //      tool.ReadStep (data,num,ach,anent);
8427 //    }
8428 //    break;
8429 //case 562:  
8430 //    {
8431 //      DeclareAndCast(StepFEA_SymmetricTensor42d,anent,ent);
8432 //      RWStepFEA_RWSymmetricTensor42d tool;
8433 //      tool.ReadStep (data,num,ach,anent);
8434 //    }
8435 //    break;
8436 //case 563:  
8437 //    {
8438 //      DeclareAndCast(StepFEA_SymmetricTensor43d,anent,ent);
8439 //      RWStepFEA_RWSymmetricTensor43d tool;
8440 //      tool.ReadStep (data,num,ach,anent);
8441 //    }
8442 //    break;
8443   case 564:  
8444     {
8445       DeclareAndCast(StepFEA_Volume3dElementRepresentation,anent,ent);
8446       RWStepFEA_RWVolume3dElementRepresentation tool;
8447       tool.ReadStep (data,num,ach,anent);
8448     }
8449     break;
8450   case 565:  
8451     {
8452       DeclareAndCast(StepRepr_DataEnvironment,anent,ent);
8453       RWStepRepr_RWDataEnvironment tool;
8454       tool.ReadStep (data,num,ach,anent);
8455     }
8456     break;
8457   case 566:  
8458     {
8459       DeclareAndCast(StepRepr_MaterialPropertyRepresentation,anent,ent);
8460       RWStepRepr_RWMaterialPropertyRepresentation tool;
8461       tool.ReadStep (data,num,ach,anent);
8462     }
8463     break;
8464   case 567:  
8465     {
8466       DeclareAndCast(StepRepr_PropertyDefinitionRelationship,anent,ent);
8467       RWStepRepr_RWPropertyDefinitionRelationship tool;
8468       tool.ReadStep (data,num,ach,anent);
8469     }
8470     break;
8471   case 568:  
8472     {
8473       DeclareAndCast(StepShape_PointRepresentation,anent,ent);
8474       RWStepShape_RWPointRepresentation tool;
8475       tool.ReadStep (data,num,ach,anent);
8476     }
8477     break;
8478   case 569:  
8479     {
8480       DeclareAndCast(StepRepr_MaterialProperty,anent,ent);
8481       RWStepRepr_RWMaterialProperty tool;
8482       tool.ReadStep (data,num,ach,anent);
8483     }
8484     break;
8485   case 570:  
8486     {
8487       DeclareAndCast(StepFEA_FeaModelDefinition,anent,ent);
8488       RWStepFEA_RWFeaModelDefinition tool;
8489       tool.ReadStep (data,num,ach,anent);
8490     }
8491     break;
8492   case 571:  
8493     {
8494       DeclareAndCast(StepFEA_FreedomAndCoefficient,anent,ent);
8495       RWStepFEA_RWFreedomAndCoefficient tool;
8496       tool.ReadStep (data,num,ach,anent);
8497     }
8498     break;
8499   case 572:  
8500     {
8501       DeclareAndCast(StepFEA_FreedomsList,anent,ent);
8502       RWStepFEA_RWFreedomsList tool;
8503       tool.ReadStep (data,num,ach,anent);
8504     }
8505     break;
8506   case 573:  
8507     {
8508       DeclareAndCast(StepBasic_ProductDefinitionFormationRelationship,anent,ent);
8509       RWStepBasic_RWProductDefinitionFormationRelationship tool;
8510       tool.ReadStep (data,num,ach,anent);
8511     }
8512     break;
8513   case 574 : 
8514     {
8515       DeclareAndCast(StepBasic_SiUnitAndMassUnit, anent, ent);
8516       RWStepBasic_RWSiUnitAndMassUnit tool;
8517       tool.ReadStep (data,num,ach,anent);
8518     }
8519     
8520     break;
8521   case 575:  
8522     {
8523       DeclareAndCast(StepFEA_NodeDefinition,anent,ent);
8524       RWStepFEA_RWNodeDefinition tool;
8525       tool.ReadStep (data,num,ach,anent);
8526     }
8527     break;
8528   case 576:  
8529     {
8530       DeclareAndCast(StepRepr_StructuralResponseProperty,anent,ent);
8531       RWStepRepr_RWStructuralResponseProperty tool;
8532       tool.ReadStep (data,num,ach,anent);
8533     }
8534     break;
8535   case 577:  
8536     {
8537       DeclareAndCast(StepRepr_StructuralResponsePropertyDefinitionRepresentation,anent,ent);
8538       RWStepRepr_RWStructuralResponsePropertyDefinitionRepresentation tool;
8539       tool.ReadStep (data,num,ach,anent);
8540     }
8541     break;
8542   case 578 : 
8543     {
8544       DeclareAndCast(StepBasic_SiUnitAndThermodynamicTemperatureUnit, anent, ent);
8545       RWStepBasic_RWSiUnitAndThermodynamicTemperatureUnit tool;
8546       tool.ReadStep (data,num,ach,anent);
8547     }
8548   
8549     break;
8550   case 579:  
8551     {
8552       DeclareAndCast(StepFEA_AlignedSurface3dElementCoordinateSystem,anent,ent);
8553       RWStepFEA_RWAlignedSurface3dElementCoordinateSystem tool;
8554       tool.ReadStep (data,num,ach,anent);
8555     }
8556     break;
8557   case 580:  
8558     {
8559       DeclareAndCast(StepFEA_ConstantSurface3dElementCoordinateSystem,anent,ent);
8560       RWStepFEA_RWConstantSurface3dElementCoordinateSystem tool;
8561       tool.ReadStep (data,num,ach,anent);
8562     }
8563     break;
8564   case 581:  
8565     {
8566       DeclareAndCast(StepFEA_CurveElementIntervalLinearlyVarying,anent,ent);
8567       RWStepFEA_RWCurveElementIntervalLinearlyVarying tool;
8568       tool.ReadStep (data,num,ach,anent);
8569     }
8570     break;
8571   case 582: 
8572     {
8573       DeclareAndCast(StepFEA_FeaCurveSectionGeometricRelationship,anent,ent);
8574       RWStepFEA_RWFeaCurveSectionGeometricRelationship tool;
8575       tool.ReadStep (data,num,ach,anent);
8576     }
8577     break;
8578   case 583:  
8579     {
8580       DeclareAndCast(StepFEA_FeaSurfaceSectionGeometricRelationship,anent,ent);
8581       RWStepFEA_RWFeaSurfaceSectionGeometricRelationship tool;
8582       tool.ReadStep (data,num,ach,anent);
8583     }
8584     break;
8585    case 600:
8586     {
8587       DeclareAndCast(StepBasic_DocumentProductAssociation,anent,ent);
8588       RWStepBasic_RWDocumentProductAssociation tool;
8589       tool.ReadStep (data,num,ach,anent);
8590     }
8591     break;
8592     case 601:
8593     {
8594       DeclareAndCast(StepBasic_DocumentProductEquivalence,anent,ent);
8595       RWStepBasic_RWDocumentProductEquivalence tool;
8596       tool.ReadStep (data,num,ach,anent);
8597     }
8598     break; 
8599   case 609:
8600     {
8601       DeclareAndCast(StepDimTol_CylindricityTolerance,anent,ent);
8602       RWStepDimTol_RWCylindricityTolerance tool;
8603       tool.ReadStep (data,num,ach,anent);
8604     }
8605     break;
8606   case 610:  
8607     {
8608       DeclareAndCast(StepShape_ShapeRepresentationWithParameters,anent,ent);
8609       RWStepShape_RWShapeRepresentationWithParameters tool;
8610       tool.ReadStep (data,num,ach,anent);
8611     }
8612     break;
8613   case 611:  
8614     {
8615       DeclareAndCast(StepDimTol_AngularityTolerance,anent,ent);
8616       RWStepDimTol_RWAngularityTolerance tool;
8617       tool.ReadStep (data,num,ach,anent);
8618     }
8619     break;
8620   case 612:  
8621     {
8622       DeclareAndCast(StepDimTol_ConcentricityTolerance,anent,ent);
8623       RWStepDimTol_RWConcentricityTolerance tool;
8624       tool.ReadStep (data,num,ach,anent);
8625     }
8626     break;
8627   case 613:  
8628     {
8629       DeclareAndCast(StepDimTol_CircularRunoutTolerance,anent,ent);
8630       RWStepDimTol_RWCircularRunoutTolerance tool;
8631       tool.ReadStep (data,num,ach,anent);
8632     }
8633     break;
8634   case 614:  
8635     {
8636       DeclareAndCast(StepDimTol_CoaxialityTolerance,anent,ent);
8637       RWStepDimTol_RWCoaxialityTolerance tool;
8638       tool.ReadStep (data,num,ach,anent);
8639     }
8640     break;
8641   case 615:  
8642     {
8643       DeclareAndCast(StepDimTol_FlatnessTolerance,anent,ent);
8644       RWStepDimTol_RWFlatnessTolerance tool;
8645       tool.ReadStep (data,num,ach,anent);
8646     }
8647     break;
8648   case 616:  
8649     {
8650       DeclareAndCast(StepDimTol_LineProfileTolerance,anent,ent);
8651       RWStepDimTol_RWLineProfileTolerance tool;
8652       tool.ReadStep (data,num,ach,anent);
8653     }
8654     break;
8655   case 617:  
8656     {
8657       DeclareAndCast(StepDimTol_ParallelismTolerance,anent,ent);
8658       RWStepDimTol_RWParallelismTolerance tool;
8659       tool.ReadStep (data,num,ach,anent);
8660     }
8661     break;
8662   case 618:  
8663     {
8664       DeclareAndCast(StepDimTol_PerpendicularityTolerance,anent,ent);
8665       RWStepDimTol_RWPerpendicularityTolerance tool;
8666       tool.ReadStep (data,num,ach,anent);
8667     }
8668     break;
8669   case 619:  
8670     {
8671       DeclareAndCast(StepDimTol_PositionTolerance,anent,ent);
8672       RWStepDimTol_RWPositionTolerance tool;
8673       tool.ReadStep (data,num,ach,anent);
8674     }
8675     break;
8676   case 620:  
8677     {
8678       DeclareAndCast(StepDimTol_RoundnessTolerance,anent,ent);
8679       RWStepDimTol_RWRoundnessTolerance tool;
8680       tool.ReadStep (data,num,ach,anent);
8681     }
8682     break;
8683   case 621:  
8684     {
8685       DeclareAndCast(StepDimTol_StraightnessTolerance,anent,ent);
8686       RWStepDimTol_RWStraightnessTolerance tool;
8687       tool.ReadStep (data,num,ach,anent);
8688     }
8689     break;
8690   case 622:  
8691     {
8692       DeclareAndCast(StepDimTol_SurfaceProfileTolerance,anent,ent);
8693       RWStepDimTol_RWSurfaceProfileTolerance tool;
8694       tool.ReadStep (data,num,ach,anent);
8695     }
8696     break;
8697   case 623:  
8698     {
8699       DeclareAndCast(StepDimTol_SymmetryTolerance,anent,ent);
8700       RWStepDimTol_RWSymmetryTolerance tool;
8701       tool.ReadStep (data,num,ach,anent);
8702     }
8703     break;
8704   case 624:  
8705     {
8706       DeclareAndCast(StepDimTol_TotalRunoutTolerance,anent,ent);
8707       RWStepDimTol_RWTotalRunoutTolerance tool;
8708       tool.ReadStep (data,num,ach,anent);
8709     }
8710     break;
8711   case 625:  
8712     {
8713       DeclareAndCast(StepDimTol_GeometricTolerance,anent,ent);
8714       RWStepDimTol_RWGeometricTolerance tool;
8715       tool.ReadStep (data,num,ach,anent);
8716     }
8717     break;
8718   case 626:  
8719     {
8720       DeclareAndCast(StepDimTol_GeometricToleranceRelationship,anent,ent);
8721       RWStepDimTol_RWGeometricToleranceRelationship tool;
8722       tool.ReadStep (data,num,ach,anent);
8723     }
8724     break;
8725   case 627:  
8726     {
8727       DeclareAndCast(StepDimTol_GeometricToleranceWithDatumReference,anent,ent);
8728       RWStepDimTol_RWGeometricToleranceWithDatumReference tool;
8729       tool.ReadStep (data,num,ach,anent);
8730     }
8731     break;
8732   case 628:  
8733     {
8734       DeclareAndCast(StepDimTol_ModifiedGeometricTolerance,anent,ent);
8735       RWStepDimTol_RWModifiedGeometricTolerance tool;
8736       tool.ReadStep (data,num,ach,anent);
8737     }
8738     break;
8739   case 629:  
8740     {
8741       DeclareAndCast(StepDimTol_Datum,anent,ent);
8742       RWStepDimTol_RWDatum tool;
8743       tool.ReadStep (data,num,ach,anent);
8744     }
8745     break;
8746   case 630:  
8747     {
8748       DeclareAndCast(StepDimTol_DatumFeature,anent,ent);
8749       RWStepDimTol_RWDatumFeature tool;
8750       tool.ReadStep (data,num,ach,anent);
8751     }
8752     break;
8753   case 631:  
8754     {
8755       DeclareAndCast(StepDimTol_DatumReference,anent,ent);
8756       RWStepDimTol_RWDatumReference tool;
8757       tool.ReadStep (data,num,ach,anent);
8758     }
8759     break;
8760   case 632:  
8761     {
8762       DeclareAndCast(StepDimTol_CommonDatum,anent,ent);
8763       RWStepDimTol_RWCommonDatum tool;
8764       tool.ReadStep (data,num,ach,anent);
8765     }
8766     break;
8767   case 633:  
8768     {
8769       DeclareAndCast(StepDimTol_DatumTarget,anent,ent);
8770       RWStepDimTol_RWDatumTarget tool;
8771       tool.ReadStep (data,num,ach,anent);
8772     }
8773     break;
8774   case 634:  
8775     {
8776       DeclareAndCast(StepDimTol_PlacedDatumTargetFeature,anent,ent);
8777       RWStepDimTol_RWPlacedDatumTargetFeature tool;
8778       tool.ReadStep (data,num,ach,anent);
8779     }
8780     break;
8781   case 635:  
8782     {
8783       DeclareAndCast(StepRepr_ReprItemAndLengthMeasureWithUnit,anent,ent);
8784       RWStepRepr_RWReprItemAndLengthMeasureWithUnit tool;
8785       tool.ReadStep (data,num,ach,anent);
8786     }
8787     break;
8788   case 636:  
8789     {
8790       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol,anent,ent);
8791       RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol tool;
8792       tool.ReadStep (data,num,ach,anent);
8793     }
8794     break;
8795   case 650 : 
8796     {
8797       DeclareAndCast(StepBasic_ConversionBasedUnitAndMassUnit, anent, ent);
8798       RWStepBasic_RWConversionBasedUnitAndMassUnit tool;
8799       tool.ReadStep (data,num,ach,anent);
8800     }
8801     break;
8802   case 651 : 
8803     {
8804       DeclareAndCast(StepBasic_MassMeasureWithUnit, anent, ent);
8805       RWStepBasic_RWMassMeasureWithUnit tool;
8806       tool.ReadStep (data,num,ach,anent);
8807     }
8808     break;
8809   case 660 :
8810     {
8811       DeclareAndCast(StepRepr_Apex, anent, ent);
8812       RWStepRepr_RWApex tool;
8813       tool.ReadStep (data,num,ach,anent);
8814     }
8815     break;
8816   case 661 :
8817     {
8818       DeclareAndCast(StepRepr_CentreOfSymmetry, anent, ent);
8819       RWStepRepr_RWCentreOfSymmetry tool;
8820       tool.ReadStep (data,num,ach,anent);
8821     }
8822     break;
8823   case 662 :
8824     {
8825       DeclareAndCast(StepRepr_GeometricAlignment, anent, ent);
8826       RWStepRepr_RWGeometricAlignment tool;
8827       tool.ReadStep (data,num,ach,anent);
8828     }
8829     break;
8830   case 663 :
8831     {
8832       DeclareAndCast(StepRepr_PerpendicularTo, anent, ent);
8833       RWStepRepr_RWPerpendicularTo tool;
8834       tool.ReadStep (data,num,ach,anent);
8835     }
8836     break;
8837   case 664 :
8838     {
8839       DeclareAndCast(StepRepr_Tangent, anent, ent);
8840       RWStepRepr_RWTangent tool;
8841       tool.ReadStep (data,num,ach,anent);
8842     }
8843     break;
8844   case 665 :
8845     {
8846       DeclareAndCast(StepRepr_ParallelOffset, anent, ent);
8847       RWStepRepr_RWParallelOffset tool;
8848       tool.ReadStep (data,num,ach,anent);
8849     }
8850     break;
8851   case 666 :
8852     {
8853       DeclareAndCast(StepAP242_GeometricItemSpecificUsage, anent, ent);
8854       RWStepAP242_RWGeometricItemSpecificUsage tool;
8855       tool.ReadStep (data,num,ach,anent);
8856     }
8857     break;
8858   case 667 :
8859     {
8860       DeclareAndCast(StepAP242_IdAttribute, anent, ent);
8861       RWStepAP242_RWIdAttribute tool;
8862       tool.ReadStep (data,num,ach,anent);
8863     }
8864     break;
8865   case 668 :
8866     {
8867       DeclareAndCast(StepAP242_ItemIdentifiedRepresentationUsage, anent, ent);
8868       RWStepAP242_RWItemIdentifiedRepresentationUsage tool;
8869       tool.ReadStep (data,num,ach,anent);
8870     }
8871     break;
8872   case 669 :
8873     {
8874       DeclareAndCast(StepRepr_AllAroundShapeAspect, anent, ent);
8875       RWStepRepr_RWAllAroundShapeAspect tool;
8876       tool.ReadStep (data,num,ach,anent);
8877     }
8878     break;
8879   case 670 :
8880     {
8881       DeclareAndCast(StepRepr_BetweenShapeAspect, anent, ent);
8882       RWStepRepr_RWBetweenShapeAspect tool;
8883       tool.ReadStep (data,num,ach,anent);
8884     }
8885     break;
8886   case 671 :
8887     {
8888       DeclareAndCast(StepRepr_CompositeGroupShapeAspect, anent, ent);
8889       RWStepRepr_RWCompositeGroupShapeAspect tool;
8890       tool.ReadStep (data,num,ach,anent);
8891     }
8892     break;
8893   case 672 :
8894     {
8895       DeclareAndCast(StepRepr_ContinuosShapeAspect, anent, ent);
8896       RWStepRepr_RWContinuosShapeAspect tool;
8897       tool.ReadStep (data,num,ach,anent);
8898     }
8899     break;
8900   case 673 :
8901     {
8902       DeclareAndCast(StepDimTol_GeometricToleranceWithDefinedAreaUnit, anent, ent);
8903       RWStepDimTol_RWGeometricToleranceWithDefinedAreaUnit tool;
8904       tool.ReadStep (data,num,ach,anent);
8905     }
8906     break;
8907   case 674 :
8908     {
8909       DeclareAndCast(StepDimTol_GeometricToleranceWithDefinedUnit, anent, ent);
8910       RWStepDimTol_RWGeometricToleranceWithDefinedUnit tool;
8911       tool.ReadStep (data,num,ach,anent);
8912     }
8913     break;
8914   case 675 :
8915     {
8916       DeclareAndCast(StepDimTol_GeometricToleranceWithMaximumTolerance, anent, ent);
8917       RWStepDimTol_RWGeometricToleranceWithMaximumTolerance tool;
8918       tool.ReadStep (data,num,ach,anent);
8919     }
8920     break;
8921   case 676 :
8922     {
8923       DeclareAndCast(StepDimTol_GeometricToleranceWithModifiers, anent, ent);
8924       RWStepDimTol_RWGeometricToleranceWithModifiers tool;
8925       tool.ReadStep (data,num,ach,anent);
8926     }
8927     break;
8928   case 677 :
8929     {
8930       DeclareAndCast(StepDimTol_UnequallyDisposedGeometricTolerance, anent, ent);
8931       RWStepDimTol_RWUnequallyDisposedGeometricTolerance tool;
8932       tool.ReadStep (data,num,ach,anent);
8933     }
8934     break;
8935   case 678 :
8936     {
8937       DeclareAndCast(StepDimTol_NonUniformZoneDefinition, anent, ent);
8938       RWStepDimTol_RWNonUniformZoneDefinition tool;
8939       tool.ReadStep (data,num,ach,anent);
8940     }
8941     break;
8942   case 679 :
8943     {
8944       DeclareAndCast(StepDimTol_ProjectedZoneDefinition, anent, ent);
8945       RWStepDimTol_RWProjectedZoneDefinition tool;
8946       tool.ReadStep (data,num,ach,anent);
8947     }
8948     break;
8949   case 680 :
8950     {
8951       DeclareAndCast(StepDimTol_RunoutZoneDefinition, anent, ent);
8952       RWStepDimTol_RWRunoutZoneDefinition tool;
8953       tool.ReadStep (data,num,ach,anent);
8954     }
8955     break;
8956   case 681 :
8957     {
8958       DeclareAndCast(StepDimTol_RunoutZoneOrientation, anent, ent);
8959       RWStepDimTol_RWRunoutZoneOrientation tool;
8960       tool.ReadStep (data,num,ach,anent);
8961     }
8962     break;
8963   case 682 :
8964     {
8965       DeclareAndCast(StepDimTol_ToleranceZone, anent, ent);
8966       RWStepDimTol_RWToleranceZone tool;
8967       tool.ReadStep (data,num,ach,anent);
8968     }
8969     break;
8970   case 683 :
8971     {
8972       DeclareAndCast(StepDimTol_ToleranceZoneDefinition, anent, ent);
8973       RWStepDimTol_RWToleranceZoneDefinition tool;
8974       tool.ReadStep (data,num,ach,anent);
8975     }
8976     break;
8977   case 684 :
8978     {
8979       DeclareAndCast(StepDimTol_ToleranceZoneForm, anent, ent);
8980       RWStepDimTol_RWToleranceZoneForm tool;
8981       tool.ReadStep (data,num,ach,anent);
8982     }
8983     break;
8984   case 685 :
8985     {
8986       DeclareAndCast(StepShape_ValueFormatTypeQualifier, anent, ent);
8987       RWStepShape_RWValueFormatTypeQualifier tool;
8988       tool.ReadStep (data,num,ach,anent);
8989     }
8990     break;
8991   case 686 :
8992     {
8993       DeclareAndCast(StepDimTol_DatumReferenceCompartment, anent, ent);
8994       RWStepDimTol_RWDatumReferenceCompartment tool;
8995       tool.ReadStep (data,num,ach,anent);
8996     }
8997     break;
8998   case 687 :
8999     {
9000       DeclareAndCast(StepDimTol_DatumReferenceElement, anent, ent);
9001       RWStepDimTol_RWDatumReferenceElement tool;
9002       tool.ReadStep (data,num,ach,anent);
9003     }
9004     break;
9005   case 688 :
9006     {
9007       DeclareAndCast(StepDimTol_DatumReferenceModifierWithValue, anent, ent);
9008       RWStepDimTol_RWDatumReferenceModifierWithValue tool;
9009       tool.ReadStep (data,num,ach,anent);
9010     }
9011     break;
9012   case 689 :
9013     {
9014       DeclareAndCast(StepDimTol_DatumSystem, anent, ent);
9015       RWStepDimTol_RWDatumSystem tool;
9016       tool.ReadStep (data,num,ach,anent);
9017     }
9018     break;
9019   case 690 :
9020     {
9021       DeclareAndCast(StepDimTol_GeneralDatumReference, anent, ent);
9022       RWStepDimTol_RWGeneralDatumReference tool;
9023       tool.ReadStep (data,num,ach,anent);
9024     }
9025     break;
9026   case 691:
9027     {
9028       DeclareAndCast(StepRepr_ReprItemAndPlaneAngleMeasureWithUnit,anent,ent);
9029       RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit tool;
9030       tool.ReadStep (data,num,ach,anent);
9031     }
9032     break;
9033   case 692:
9034     {
9035       DeclareAndCast(StepRepr_ReprItemAndLengthMeasureWithUnitAndQRI,anent,ent);
9036       RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI tool;
9037       tool.ReadStep (data,num,ach,anent);
9038     }
9039     break;
9040   case 693:
9041     {
9042       DeclareAndCast(StepRepr_ReprItemAndPlaneAngleMeasureWithUnitAndQRI,anent,ent);
9043       RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI tool;
9044       tool.ReadStep (data,num,ach,anent);
9045     }
9046     break;
9047   case 694:
9048     {
9049       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRef,anent,ent);
9050       RWStepDimTol_RWGeoTolAndGeoTolWthDatRef tool;
9051       tool.ReadStep (data,num,ach,anent);
9052     }
9053     break;
9054   case 695:
9055     {
9056       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod,anent,ent);
9057       RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod tool;
9058       tool.ReadStep (data,num,ach,anent);
9059     }
9060     break;
9061   case 696:
9062     {
9063       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthMod,anent,ent);
9064       RWStepDimTol_RWGeoTolAndGeoTolWthMod tool;
9065       tool.ReadStep (data,num,ach,anent);
9066     }
9067     break;
9068   case 697:
9069     {
9070       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol,anent,ent);
9071       RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol tool;
9072       tool.ReadStep (data,num,ach,anent);
9073     }
9074     break;
9075   case 698:
9076     {
9077       DeclareAndCast(StepRepr_CompGroupShAspAndCompShAspAndDatumFeatAndShAsp,anent,ent);
9078       RWStepRepr_RWCompGroupShAspAndCompShAspAndDatumFeatAndShAsp tool;
9079       tool.ReadStep (data,num,ach,anent);
9080     }
9081     break;
9082   case 699:
9083     {
9084       DeclareAndCast(StepRepr_CompShAspAndDatumFeatAndShAsp,anent,ent);
9085       RWStepRepr_RWCompShAspAndDatumFeatAndShAsp tool;
9086       tool.ReadStep (data,num,ach,anent);
9087     }
9088     break;
9089   case 700:
9090     {
9091       DeclareAndCast(StepRepr_IntegerRepresentationItem,anent,ent);
9092       RWStepRepr_RWIntegerRepresentationItem tool;
9093       tool.ReadStep (data,num,ach,anent);
9094     }
9095     break;
9096   case 701:
9097     {
9098       DeclareAndCast(StepRepr_ValueRepresentationItem,anent,ent);
9099       RWStepRepr_RWValueRepresentationItem tool;
9100       tool.ReadStep (data,num,ach,anent);
9101     }
9102     break;
9103
9104   default: 
9105     ach->AddFail("Type Mismatch when reading - Entity");
9106   }
9107   return;
9108 }
9109
9110
9111 //=======================================================================
9112 //function : WriteStep
9113 //purpose  : Writing of a file
9114 //=======================================================================
9115
9116 void RWStepAP214_ReadWriteModule::WriteStep(const Standard_Integer CN,
9117                                             StepData_StepWriter& SW,
9118                                             const Handle(Standard_Transient)&ent) const
9119 {
9120   if (CN == 0) return;
9121   switch (CN) {
9122   case 1 : 
9123     {
9124       DeclareAndCast(StepBasic_Address, anent, ent);
9125       RWStepBasic_RWAddress tool;
9126 //      if (anent.IsNull()) return; 
9127       tool.WriteStep (SW,anent);
9128     }
9129     
9130     break;
9131   case 2 : 
9132     {
9133       DeclareAndCast(StepShape_AdvancedBrepShapeRepresentation, anent, ent);
9134       RWStepShape_RWAdvancedBrepShapeRepresentation tool;
9135 //      if (anent.IsNull()) return; 
9136       tool.WriteStep (SW,anent);
9137     }
9138     
9139     break;
9140   case 3 : 
9141     {
9142       DeclareAndCast(StepShape_AdvancedFace, anent, ent);
9143       RWStepShape_RWAdvancedFace tool;
9144 //      if (anent.IsNull()) return; 
9145       tool.WriteStep (SW,anent);
9146     }
9147     
9148     break;
9149   case 7 : 
9150     {
9151       DeclareAndCast(StepVisual_StyledItem, anent, ent);
9152       RWStepVisual_RWStyledItem tool;
9153 //      if (anent.IsNull()) return; 
9154       tool.WriteStep (SW,anent);
9155     }
9156     
9157     break;
9158   case 11 : 
9159     {
9160       DeclareAndCast(StepRepr_MappedItem, anent, ent);
9161       RWStepRepr_RWMappedItem tool;
9162 //      if (anent.IsNull()) return; 
9163       tool.WriteStep (SW,anent);
9164     }
9165     
9166     break;
9167   case 12 : 
9168     {
9169       DeclareAndCast(StepVisual_StyledItem, anent, ent);
9170       RWStepVisual_RWStyledItem tool;
9171 //      if (anent.IsNull()) return; 
9172       tool.WriteStep (SW,anent);
9173     }
9174     
9175     break;
9176   case 13 : 
9177     {
9178       DeclareAndCast(StepBasic_ApplicationContext, anent, ent);
9179       RWStepBasic_RWApplicationContext tool;
9180 //      if (anent.IsNull()) return; 
9181       tool.WriteStep (SW,anent);
9182     }
9183     
9184     break;
9185   case 14 : 
9186     {
9187       DeclareAndCast(StepBasic_ApplicationContextElement, anent, ent);
9188       RWStepBasic_RWApplicationContextElement tool;
9189 //      if (anent.IsNull()) return; 
9190       tool.WriteStep (SW,anent);
9191     }
9192     
9193     break;
9194   case 15 : 
9195     {
9196       DeclareAndCast(StepBasic_ApplicationProtocolDefinition, anent, ent);
9197       RWStepBasic_RWApplicationProtocolDefinition tool;
9198 //      if (anent.IsNull()) return; 
9199       tool.WriteStep (SW,anent);
9200     }
9201     
9202     break;
9203   case 16 : 
9204     {
9205       DeclareAndCast(StepBasic_Approval, anent, ent);
9206       RWStepBasic_RWApproval tool;
9207 //      if (anent.IsNull()) return; 
9208       tool.WriteStep (SW,anent);
9209     }
9210     
9211     break;
9212   case 18 : 
9213     {
9214       DeclareAndCast(StepBasic_ApprovalPersonOrganization, anent, ent);
9215       RWStepBasic_RWApprovalPersonOrganization tool;
9216 //      if (anent.IsNull()) return; 
9217       tool.WriteStep (SW,anent);
9218     }
9219     
9220     break;
9221   case 19 : 
9222     {
9223       DeclareAndCast(StepBasic_ApprovalRelationship, anent, ent);
9224       RWStepBasic_RWApprovalRelationship tool;
9225 //      if (anent.IsNull()) return; 
9226       tool.WriteStep (SW,anent);
9227     }
9228     
9229     break;
9230   case 20 : 
9231     {
9232       DeclareAndCast(StepBasic_ApprovalRole, anent, ent);
9233       RWStepBasic_RWApprovalRole tool;
9234 //      if (anent.IsNull()) return; 
9235       tool.WriteStep (SW,anent);
9236     }
9237     
9238     break;
9239   case 21 : 
9240     {
9241       DeclareAndCast(StepBasic_ApprovalStatus, anent, ent);
9242       RWStepBasic_RWApprovalStatus tool;
9243 //      if (anent.IsNull()) return; 
9244       tool.WriteStep (SW,anent);
9245     }
9246     
9247     break;
9248   case 22 : 
9249     {
9250       DeclareAndCast(StepVisual_AreaInSet, anent, ent);
9251       RWStepVisual_RWAreaInSet tool;
9252 //      if (anent.IsNull()) return; 
9253       tool.WriteStep (SW,anent);
9254     }
9255     
9256     break;
9257   case 23 : 
9258     {
9259       DeclareAndCast(StepAP214_AutoDesignActualDateAndTimeAssignment, anent, ent);
9260       RWStepAP214_RWAutoDesignActualDateAndTimeAssignment tool;
9261 //      if (anent.IsNull()) return; 
9262       tool.WriteStep (SW,anent);
9263     }
9264     
9265     break;
9266   case 24 : 
9267     {
9268       DeclareAndCast(StepAP214_AutoDesignActualDateAssignment, anent, ent);
9269       RWStepAP214_RWAutoDesignActualDateAssignment tool;
9270 //      if (anent.IsNull()) return; 
9271       tool.WriteStep (SW,anent);
9272     }
9273     
9274     break;
9275   case 25 : 
9276     {
9277       DeclareAndCast(StepAP214_AutoDesignApprovalAssignment, anent, ent);
9278       RWStepAP214_RWAutoDesignApprovalAssignment tool;
9279 //      if (anent.IsNull()) return; 
9280       tool.WriteStep (SW,anent);
9281     }
9282     
9283     break;
9284   case 26 : 
9285     {
9286       DeclareAndCast(StepAP214_AutoDesignDateAndPersonAssignment, anent, ent);
9287       RWStepAP214_RWAutoDesignDateAndPersonAssignment tool;
9288 //      if (anent.IsNull()) return; 
9289       tool.WriteStep (SW,anent);
9290     }
9291     
9292     break;
9293   case 27 : 
9294     {
9295       DeclareAndCast(StepAP214_AutoDesignGroupAssignment, anent, ent);
9296       RWStepAP214_RWAutoDesignGroupAssignment tool;
9297 //      if (anent.IsNull()) return; 
9298       tool.WriteStep (SW,anent);
9299     }
9300     
9301     break;
9302   case 28 : 
9303     {
9304       DeclareAndCast(StepAP214_AutoDesignNominalDateAndTimeAssignment, anent, ent);
9305       RWStepAP214_RWAutoDesignNominalDateAndTimeAssignment tool;
9306 //      if (anent.IsNull()) return; 
9307       tool.WriteStep (SW,anent);
9308     }
9309     
9310     break;
9311   case 29 : 
9312     {
9313       DeclareAndCast(StepAP214_AutoDesignNominalDateAssignment, anent, ent);
9314       RWStepAP214_RWAutoDesignNominalDateAssignment tool;
9315 //      if (anent.IsNull()) return; 
9316       tool.WriteStep (SW,anent);
9317     }
9318     
9319     break;
9320   case 30 : 
9321     {
9322       DeclareAndCast(StepAP214_AutoDesignOrganizationAssignment, anent, ent);
9323       RWStepAP214_RWAutoDesignOrganizationAssignment tool;
9324 //      if (anent.IsNull()) return; 
9325       tool.WriteStep (SW,anent);
9326     }
9327     
9328     break;
9329   case 31 : 
9330     {
9331       DeclareAndCast(StepAP214_AutoDesignPersonAndOrganizationAssignment, anent, ent);
9332       RWStepAP214_RWAutoDesignPersonAndOrganizationAssignment tool;
9333 //      if (anent.IsNull()) return; 
9334       tool.WriteStep (SW,anent);
9335     }
9336     
9337     break;
9338   case 32 : 
9339     {
9340       DeclareAndCast(StepAP214_AutoDesignPresentedItem, anent, ent);
9341       RWStepAP214_RWAutoDesignPresentedItem tool;
9342 //      if (anent.IsNull()) return; 
9343       tool.WriteStep (SW,anent);
9344     }
9345     
9346     break;
9347   case 33 : 
9348     {
9349       DeclareAndCast(StepAP214_AutoDesignSecurityClassificationAssignment, anent, ent);
9350       RWStepAP214_RWAutoDesignSecurityClassificationAssignment tool;
9351 //      if (anent.IsNull()) return; 
9352       tool.WriteStep (SW,anent);
9353     }
9354     
9355     break;
9356   case 35 : 
9357     {
9358       DeclareAndCast(StepGeom_Axis1Placement, anent, ent);
9359       RWStepGeom_RWAxis1Placement tool;
9360 //      if (anent.IsNull()) return; 
9361       tool.WriteStep (SW,anent);
9362     }
9363     
9364     break;
9365   case 36 : 
9366     {
9367       DeclareAndCast(StepGeom_Axis2Placement2d, anent, ent);
9368       RWStepGeom_RWAxis2Placement2d tool;
9369 //      if (anent.IsNull()) return; 
9370       tool.WriteStep (SW,anent);
9371     }
9372     
9373     break;
9374   case 37 : 
9375     {
9376       DeclareAndCast(StepGeom_Axis2Placement3d, anent, ent);
9377       RWStepGeom_RWAxis2Placement3d tool;
9378 //      if (anent.IsNull()) return; 
9379       tool.WriteStep (SW,anent);
9380     }
9381     
9382     break;
9383   case 38 : 
9384     {
9385       DeclareAndCast(StepGeom_BSplineCurve, anent, ent);
9386       RWStepGeom_RWBSplineCurve tool;
9387 //      if (anent.IsNull()) return; 
9388       tool.WriteStep (SW,anent);
9389     }
9390     
9391     break;
9392   case 39 : 
9393     {
9394       DeclareAndCast(StepGeom_BSplineCurveWithKnots, anent, ent);
9395       RWStepGeom_RWBSplineCurveWithKnots tool;
9396 //      if (anent.IsNull()) return; 
9397       tool.WriteStep (SW,anent);
9398     }
9399     
9400     break;
9401   case 40 : 
9402     {
9403       DeclareAndCast(StepGeom_BSplineSurface, anent, ent);
9404       RWStepGeom_RWBSplineSurface tool;
9405 //      if (anent.IsNull()) return; 
9406       tool.WriteStep (SW,anent);
9407     }
9408     
9409     break;
9410   case 41 : 
9411     {
9412       DeclareAndCast(StepGeom_BSplineSurfaceWithKnots, anent, ent);
9413       RWStepGeom_RWBSplineSurfaceWithKnots tool;
9414 //      if (anent.IsNull()) return; 
9415       tool.WriteStep (SW,anent);
9416     }
9417     
9418     break;
9419   case 42 : 
9420     {
9421       DeclareAndCast(StepVisual_BackgroundColour, anent, ent);
9422       RWStepVisual_RWBackgroundColour tool;
9423 //      if (anent.IsNull()) return; 
9424       tool.WriteStep (SW,anent);
9425     }
9426     
9427     break;
9428   case 43 : 
9429     {
9430       DeclareAndCast(StepGeom_BezierCurve, anent, ent);
9431       RWStepGeom_RWBezierCurve tool;
9432 //      if (anent.IsNull()) return; 
9433       tool.WriteStep (SW,anent);
9434     }
9435     
9436     break;
9437   case 44 : 
9438     {
9439       DeclareAndCast(StepGeom_BezierSurface, anent, ent);
9440       RWStepGeom_RWBezierSurface tool;
9441 //      if (anent.IsNull()) return; 
9442       tool.WriteStep (SW,anent);
9443     }
9444     
9445     break;
9446   case 45 : 
9447     {
9448       DeclareAndCast(StepShape_Block, anent, ent);
9449       RWStepShape_RWBlock tool;
9450 //      if (anent.IsNull()) return; 
9451       tool.WriteStep (SW,anent);
9452     }
9453     
9454     break;
9455   case 46 : 
9456     {
9457       DeclareAndCast(StepShape_BooleanResult, anent, ent);
9458       RWStepShape_RWBooleanResult tool;
9459 //      if (anent.IsNull()) return; 
9460       tool.WriteStep (SW,anent);
9461     }
9462     
9463     break;
9464   case 47 : 
9465     {
9466       DeclareAndCast(StepGeom_BoundaryCurve, anent, ent);
9467       RWStepGeom_RWBoundaryCurve tool;
9468 //      if (anent.IsNull()) return; 
9469       tool.WriteStep (SW,anent);
9470     }
9471     
9472     break;
9473   case 48 : 
9474     {
9475       DeclareAndCast(StepGeom_BoundedCurve, anent, ent);
9476       RWStepGeom_RWBoundedCurve tool;
9477 //      if (anent.IsNull()) return; 
9478       tool.WriteStep (SW,anent);
9479     }
9480     
9481     break;
9482   case 49 : 
9483     {
9484       DeclareAndCast(StepGeom_BoundedSurface, anent, ent);
9485       RWStepGeom_RWBoundedSurface tool;
9486 //      if (anent.IsNull()) return; 
9487       tool.WriteStep (SW,anent);
9488     }
9489     
9490     break;
9491   case 50 : 
9492     {
9493       DeclareAndCast(StepShape_BoxDomain, anent, ent);
9494       RWStepShape_RWBoxDomain tool;
9495 //      if (anent.IsNull()) return; 
9496       tool.WriteStep (SW,anent);
9497     }
9498     
9499     break;
9500   case 51 : 
9501     {
9502       DeclareAndCast(StepShape_BoxedHalfSpace, anent, ent);
9503       RWStepShape_RWBoxedHalfSpace tool;
9504 //      if (anent.IsNull()) return; 
9505       tool.WriteStep (SW,anent);
9506     }
9507     
9508     break;
9509   case 52 : 
9510     {
9511       DeclareAndCast(StepShape_BrepWithVoids, anent, ent);
9512       RWStepShape_RWBrepWithVoids tool;
9513 //      if (anent.IsNull()) return; 
9514       tool.WriteStep (SW,anent);
9515     }
9516     
9517     break;
9518   case 53 : 
9519     {
9520       DeclareAndCast(StepBasic_CalendarDate, anent, ent);
9521       RWStepBasic_RWCalendarDate tool;
9522 //      if (anent.IsNull()) return; 
9523       tool.WriteStep (SW,anent);
9524     }
9525     
9526     break;
9527   case 54 : 
9528     {
9529       DeclareAndCast(StepVisual_CameraImage, anent, ent);
9530       RWStepVisual_RWCameraImage tool;
9531 //      if (anent.IsNull()) return; 
9532       tool.WriteStep (SW,anent);
9533     }
9534     
9535     break;
9536   case 55 : 
9537     {
9538       DeclareAndCast(StepVisual_CameraModel, anent, ent);
9539       RWStepVisual_RWCameraModel tool;
9540 //      if (anent.IsNull()) return; 
9541       tool.WriteStep (SW,anent);
9542     }
9543     
9544     break;
9545   case 56 : 
9546     {
9547       DeclareAndCast(StepVisual_CameraModelD2, anent, ent);
9548       RWStepVisual_RWCameraModelD2 tool;
9549 //      if (anent.IsNull()) return; 
9550       tool.WriteStep (SW,anent);
9551     }
9552     
9553     break;
9554   case 57 : 
9555     {
9556       DeclareAndCast(StepVisual_CameraModelD3, anent, ent);
9557       RWStepVisual_RWCameraModelD3 tool;
9558 //      if (anent.IsNull()) return; 
9559       tool.WriteStep (SW,anent);
9560     }
9561     
9562     break;
9563   case 58 : 
9564     {
9565       DeclareAndCast(StepVisual_CameraUsage, anent, ent);
9566       RWStepVisual_RWCameraUsage tool;
9567 //      if (anent.IsNull()) return; 
9568       tool.WriteStep (SW,anent);
9569     }
9570     
9571     break;
9572   case 59 : 
9573     {
9574       DeclareAndCast(StepGeom_CartesianPoint, anent, ent);
9575       RWStepGeom_RWCartesianPoint tool;
9576 //      if (anent.IsNull()) return; 
9577       tool.WriteStep (SW,anent);
9578     }
9579     
9580     break;
9581   case 60 : 
9582     {
9583       DeclareAndCast(StepGeom_CartesianTransformationOperator, anent, ent);
9584       RWStepGeom_RWCartesianTransformationOperator tool;
9585 //      if (anent.IsNull()) return; 
9586       tool.WriteStep (SW,anent);
9587     }
9588     
9589     break;
9590   case 61 : 
9591     {
9592       DeclareAndCast(StepGeom_CartesianTransformationOperator3d, anent, ent);
9593       RWStepGeom_RWCartesianTransformationOperator3d tool;
9594 //      if (anent.IsNull()) return; 
9595       tool.WriteStep (SW,anent);
9596     }
9597     
9598     break;
9599   case 62 : 
9600     {
9601       DeclareAndCast(StepGeom_Circle, anent, ent);
9602       RWStepGeom_RWCircle tool;
9603 //      if (anent.IsNull()) return; 
9604       tool.WriteStep (SW,anent);
9605     }
9606     
9607     break;
9608   case 63 : 
9609     {
9610       DeclareAndCast(StepShape_ClosedShell, anent, ent);
9611       RWStepShape_RWClosedShell tool;
9612 //      if (anent.IsNull()) return; 
9613       tool.WriteStep (SW,anent);
9614     }
9615     
9616     break;
9617   case 64 : 
9618     {
9619       DeclareAndCast(StepVisual_Colour, anent, ent);
9620       RWStepVisual_RWColour tool;
9621 //      if (anent.IsNull()) return; 
9622       tool.WriteStep (SW,anent);
9623     }
9624     
9625     break;
9626   case 65 : 
9627     {
9628       DeclareAndCast(StepVisual_ColourRgb, anent, ent);
9629       RWStepVisual_RWColourRgb tool;
9630 //      if (anent.IsNull()) return; 
9631       tool.WriteStep (SW,anent);
9632     }
9633     
9634     break;
9635   case 66 : 
9636     {
9637       DeclareAndCast(StepVisual_ColourSpecification, anent, ent);
9638       RWStepVisual_RWColourSpecification tool;
9639 //      if (anent.IsNull()) return; 
9640       tool.WriteStep (SW,anent);
9641     }
9642     
9643     break;
9644   case 67 : 
9645     {
9646       DeclareAndCast(StepGeom_CompositeCurve, anent, ent);
9647       RWStepGeom_RWCompositeCurve tool;
9648 //      if (anent.IsNull()) return; 
9649       tool.WriteStep (SW,anent);
9650     }
9651     
9652     break;
9653   case 68 : 
9654     {
9655       DeclareAndCast(StepGeom_CompositeCurveOnSurface, anent, ent);
9656       RWStepGeom_RWCompositeCurveOnSurface tool;
9657 //      if (anent.IsNull()) return; 
9658       tool.WriteStep (SW,anent);
9659     }
9660     
9661     break;
9662   case 69 : 
9663     {
9664       DeclareAndCast(StepGeom_CompositeCurveSegment, anent, ent);
9665       RWStepGeom_RWCompositeCurveSegment tool;
9666 //      if (anent.IsNull()) return; 
9667       tool.WriteStep (SW,anent);
9668     }
9669     
9670     break;
9671   case 70 : 
9672     {
9673       DeclareAndCast(StepVisual_CompositeText, anent, ent);
9674       RWStepVisual_RWCompositeText tool;
9675 //      if (anent.IsNull()) return; 
9676       tool.WriteStep (SW,anent);
9677     }
9678     
9679     break;
9680   case 73 : 
9681     {
9682       DeclareAndCast(StepVisual_CompositeTextWithExtent, anent, ent);
9683       RWStepVisual_RWCompositeTextWithExtent tool;
9684 //      if (anent.IsNull()) return; 
9685       tool.WriteStep (SW,anent);
9686     }
9687     
9688     break;
9689   case 74 : 
9690     {
9691       DeclareAndCast(StepGeom_Conic, anent, ent);
9692       RWStepGeom_RWConic tool;
9693 //      if (anent.IsNull()) return; 
9694       tool.WriteStep (SW,anent);
9695     }
9696     
9697     break;
9698   case 75 : 
9699     {
9700       DeclareAndCast(StepGeom_ConicalSurface, anent, ent);
9701       RWStepGeom_RWConicalSurface tool;
9702 //      if (anent.IsNull()) return; 
9703       tool.WriteStep (SW,anent);
9704     }
9705     
9706     break;
9707   case 76 : 
9708     {
9709       DeclareAndCast(StepShape_ConnectedFaceSet, anent, ent);
9710       RWStepShape_RWConnectedFaceSet tool;
9711 //      if (anent.IsNull()) return; 
9712       tool.WriteStep (SW,anent);
9713     }
9714     
9715     break;
9716   case 77 : 
9717     {
9718       DeclareAndCast(StepVisual_ContextDependentInvisibility, anent, ent);
9719       RWStepVisual_RWContextDependentInvisibility tool;
9720 //      if (anent.IsNull()) return; 
9721       tool.WriteStep (SW,anent);
9722     }
9723     
9724     break;
9725   case 78 : 
9726     {
9727       DeclareAndCast(StepVisual_ContextDependentOverRidingStyledItem, anent, ent);
9728       RWStepVisual_RWContextDependentOverRidingStyledItem tool;
9729 //      if (anent.IsNull()) return; 
9730       tool.WriteStep (SW,anent);
9731     }
9732     
9733     break;
9734   case 79 : 
9735     {
9736       DeclareAndCast(StepBasic_ConversionBasedUnit, anent, ent);
9737       RWStepBasic_RWConversionBasedUnit tool;
9738 //      if (anent.IsNull()) return; 
9739       tool.WriteStep (SW,anent);
9740     }
9741     
9742     break;
9743   case 80 : 
9744     {
9745       DeclareAndCast(StepBasic_CoordinatedUniversalTimeOffset, anent, ent);
9746       RWStepBasic_RWCoordinatedUniversalTimeOffset tool;
9747 //      if (anent.IsNull()) return; 
9748       tool.WriteStep (SW,anent);
9749     }
9750     
9751     break;
9752   case 82 : 
9753     {
9754       DeclareAndCast(StepShape_CsgShapeRepresentation, anent, ent);
9755       RWStepShape_RWCsgShapeRepresentation tool;
9756 //      if (anent.IsNull()) return; 
9757       tool.WriteStep (SW,anent);
9758     }
9759     
9760     break;
9761   case 83 : 
9762     {
9763       DeclareAndCast(StepShape_CsgSolid, anent, ent);
9764       RWStepShape_RWCsgSolid tool;
9765 //      if (anent.IsNull()) return; 
9766       tool.WriteStep (SW,anent);
9767     }
9768     
9769     break;
9770   case 84 : 
9771     {
9772       DeclareAndCast(StepGeom_Curve, anent, ent);
9773       RWStepGeom_RWCurve tool;
9774 //      if (anent.IsNull()) return; 
9775       tool.WriteStep (SW,anent);
9776     }
9777     
9778     break;
9779   case 85 : 
9780     {
9781       DeclareAndCast(StepGeom_CurveBoundedSurface, anent, ent);
9782       RWStepGeom_RWCurveBoundedSurface tool;
9783 //      if (anent.IsNull()) return; 
9784       tool.WriteStep (SW,anent);
9785     }
9786     
9787     break;
9788   case 86 : 
9789     {
9790       DeclareAndCast(StepGeom_CurveReplica, anent, ent);
9791       RWStepGeom_RWCurveReplica tool;
9792 //      if (anent.IsNull()) return; 
9793       tool.WriteStep (SW,anent);
9794     }
9795     
9796     break;
9797   case 87 : 
9798     {
9799       DeclareAndCast(StepVisual_CurveStyle, anent, ent);
9800       RWStepVisual_RWCurveStyle tool;
9801 //      if (anent.IsNull()) return; 
9802       tool.WriteStep (SW,anent);
9803     }
9804     
9805     break;
9806   case 88 : 
9807     {
9808       DeclareAndCast(StepVisual_CurveStyleFont, anent, ent);
9809       RWStepVisual_RWCurveStyleFont tool;
9810 //      if (anent.IsNull()) return; 
9811       tool.WriteStep (SW,anent);
9812     }
9813     
9814     break;
9815   case 89 : 
9816     {
9817       DeclareAndCast(StepVisual_CurveStyleFontPattern, anent, ent);
9818       RWStepVisual_RWCurveStyleFontPattern tool;
9819 //      if (anent.IsNull()) return; 
9820       tool.WriteStep (SW,anent);
9821     }
9822     
9823     break;
9824   case 90 : 
9825     {
9826       DeclareAndCast(StepGeom_CylindricalSurface, anent, ent);
9827       RWStepGeom_RWCylindricalSurface tool;
9828 //      if (anent.IsNull()) return; 
9829       tool.WriteStep (SW,anent);
9830     }
9831     
9832     break;
9833   case 91 : 
9834     {
9835       DeclareAndCast(StepBasic_Date, anent, ent);
9836       RWStepBasic_RWDate tool;
9837 //      if (anent.IsNull()) return; 
9838       tool.WriteStep (SW,anent);
9839     }
9840     
9841     break;
9842   case 92 : 
9843     {
9844       DeclareAndCast(StepBasic_DateAndTime, anent, ent);
9845       RWStepBasic_RWDateAndTime tool;
9846 //      if (anent.IsNull()) return; 
9847       tool.WriteStep (SW,anent);
9848     }
9849     
9850     break;
9851   case 95 : 
9852     {
9853       DeclareAndCast(StepBasic_DateRole, anent, ent);
9854       RWStepBasic_RWDateRole tool;
9855 //      if (anent.IsNull()) return; 
9856       tool.WriteStep (SW,anent);
9857     }
9858     
9859     break;
9860   case 96 : 
9861     {
9862       DeclareAndCast(StepBasic_DateTimeRole, anent, ent);
9863       RWStepBasic_RWDateTimeRole tool;
9864 //      if (anent.IsNull()) return; 
9865       tool.WriteStep (SW,anent);
9866     }
9867     
9868     break;
9869   case 98 : 
9870     {
9871       DeclareAndCast(StepRepr_DefinitionalRepresentation, anent, ent);
9872       RWStepRepr_RWDefinitionalRepresentation tool;
9873 //      if (anent.IsNull()) return; 
9874       tool.WriteStep (SW,anent);
9875     }
9876     
9877     break;
9878   case 99 : 
9879     {
9880       DeclareAndCast(StepGeom_DegeneratePcurve, anent, ent);
9881       RWStepGeom_RWDegeneratePcurve tool;
9882 //      if (anent.IsNull()) return; 
9883       tool.WriteStep (SW,anent);
9884     }
9885     
9886     break;
9887   case 100 : 
9888     {
9889       DeclareAndCast(StepGeom_DegenerateToroidalSurface, anent, ent);
9890       RWStepGeom_RWDegenerateToroidalSurface tool;
9891 //      if (anent.IsNull()) return; 
9892       tool.WriteStep (SW,anent);
9893     }
9894     
9895     break;
9896   case 101 : 
9897     {
9898       DeclareAndCast(StepRepr_DescriptiveRepresentationItem, anent, ent);
9899       RWStepRepr_RWDescriptiveRepresentationItem tool;
9900 //      if (anent.IsNull()) return; 
9901       tool.WriteStep (SW,anent);
9902     }
9903     
9904     break;
9905   case 104 : 
9906     {
9907       DeclareAndCast(StepBasic_DimensionalExponents, anent, ent);
9908       RWStepBasic_RWDimensionalExponents tool;
9909 //      if (anent.IsNull()) return; 
9910       tool.WriteStep (SW,anent);
9911     }
9912     
9913     break;
9914   case 105 : 
9915     {
9916       DeclareAndCast(StepGeom_Direction, anent, ent);
9917       RWStepGeom_RWDirection tool;
9918 //      if (anent.IsNull()) return; 
9919       tool.WriteStep (SW,anent);
9920     }
9921     
9922     break;
9923   case 106 : 
9924     {
9925       DeclareAndCast(StepVisual_StyledItem, anent, ent);
9926       RWStepVisual_RWStyledItem tool;
9927 //      if (anent.IsNull()) return; 
9928       tool.WriteStep (SW,anent);
9929     }
9930     
9931     break;
9932   case 108 : 
9933     {
9934       DeclareAndCast(StepVisual_DraughtingPreDefinedColour, anent, ent);
9935       RWStepVisual_RWDraughtingPreDefinedColour tool;
9936 //      if (anent.IsNull()) return; 
9937       tool.WriteStep (SW,anent);
9938     }
9939     
9940     break;
9941   case 109 : 
9942     {
9943       DeclareAndCast(StepVisual_DraughtingPreDefinedCurveFont, anent, ent);
9944       RWStepVisual_RWDraughtingPreDefinedCurveFont tool;
9945 //      if (anent.IsNull()) return; 
9946       tool.WriteStep (SW,anent);
9947     }
9948     
9949     break;
9950   case 115 : 
9951     {
9952       DeclareAndCast(StepShape_Edge, anent, ent);
9953       RWStepShape_RWEdge tool;
9954 //      if (anent.IsNull()) return; 
9955       tool.WriteStep (SW,anent);
9956     }
9957     
9958     break;
9959   case 116 : 
9960     {
9961       DeclareAndCast(StepShape_EdgeCurve, anent, ent);
9962       RWStepShape_RWEdgeCurve tool;
9963 //      if (anent.IsNull()) return; 
9964       tool.WriteStep (SW,anent);
9965     }
9966     
9967     break;
9968   case 117 : 
9969     {
9970       DeclareAndCast(StepShape_EdgeLoop, anent, ent);
9971       RWStepShape_RWEdgeLoop tool;
9972 //      if (anent.IsNull()) return; 
9973       tool.WriteStep (SW,anent);
9974     }
9975     
9976     break;
9977   case 118 : 
9978     {
9979       DeclareAndCast(StepGeom_ElementarySurface, anent, ent);
9980       RWStepGeom_RWElementarySurface tool;
9981 //      if (anent.IsNull()) return; 
9982       tool.WriteStep (SW,anent);
9983     }
9984     
9985     break;
9986   case 119 : 
9987     {
9988       DeclareAndCast(StepGeom_Ellipse, anent, ent);
9989       RWStepGeom_RWEllipse tool;
9990 //      if (anent.IsNull()) return; 
9991       tool.WriteStep (SW,anent);
9992     }
9993     
9994     break;
9995   case 120 : 
9996     {
9997       DeclareAndCast(StepGeom_EvaluatedDegeneratePcurve, anent, ent);
9998       RWStepGeom_RWEvaluatedDegeneratePcurve tool;
9999 //      if (anent.IsNull()) return; 
10000       tool.WriteStep (SW,anent);
10001     }
10002     
10003     break;
10004   case 121 : 
10005     {
10006       DeclareAndCast(StepBasic_ExternalSource, anent, ent);
10007       RWStepBasic_RWExternalSource tool;
10008 //      if (anent.IsNull()) return; 
10009       tool.WriteStep (SW,anent);
10010     }
10011     
10012     break;
10013   case 122 : 
10014     {
10015       DeclareAndCast(StepVisual_ExternallyDefinedCurveFont, anent, ent);
10016       RWStepVisual_RWExternallyDefinedCurveFont tool;
10017 //      if (anent.IsNull()) return; 
10018       tool.WriteStep (SW,anent);
10019     }
10020     
10021     break;
10022   case 124 : 
10023   case 126 : 
10024     {
10025       DeclareAndCast(StepBasic_ExternallyDefinedItem, anent, ent);
10026       RWStepBasic_RWExternallyDefinedItem tool;
10027 //      if (anent.IsNull()) return; 
10028       tool.WriteStep (SW,anent);
10029     }
10030     
10031     break;
10032   case 128 : 
10033     {
10034       DeclareAndCast(StepShape_ExtrudedAreaSolid, anent, ent);
10035       RWStepShape_RWExtrudedAreaSolid tool;
10036 //      if (anent.IsNull()) return; 
10037       tool.WriteStep (SW,anent);
10038     }
10039     
10040     break;
10041   case 129 : 
10042     {
10043       DeclareAndCast(StepShape_Face, anent, ent);
10044       RWStepShape_RWFace tool;
10045 //      if (anent.IsNull()) return; 
10046       tool.WriteStep (SW,anent);
10047     }
10048     
10049     break;
10050   case 131 : 
10051     {
10052       DeclareAndCast(StepShape_FaceBound, anent, ent);
10053       RWStepShape_RWFaceBound tool;
10054 //      if (anent.IsNull()) return; 
10055       tool.WriteStep (SW,anent);
10056     }
10057     
10058     break;
10059   case 132 : 
10060     {
10061       DeclareAndCast(StepShape_FaceOuterBound, anent, ent);
10062       RWStepShape_RWFaceOuterBound tool;
10063 //      if (anent.IsNull()) return; 
10064       tool.WriteStep (SW,anent);
10065     }
10066     
10067     break;
10068   case 133 : 
10069     {
10070       DeclareAndCast(StepShape_FaceSurface, anent, ent);
10071       RWStepShape_RWFaceSurface tool;
10072 //      if (anent.IsNull()) return; 
10073       tool.WriteStep (SW,anent);
10074     }
10075     
10076     break;
10077   case 134 : 
10078     {
10079       DeclareAndCast(StepShape_FacetedBrep, anent, ent);
10080       RWStepShape_RWFacetedBrep tool;
10081 //      if (anent.IsNull()) return; 
10082       tool.WriteStep (SW,anent);
10083     }
10084     
10085     break;
10086   case 135 : 
10087     {
10088       DeclareAndCast(StepShape_FacetedBrepShapeRepresentation, anent, ent);
10089       RWStepShape_RWFacetedBrepShapeRepresentation tool;
10090 //      if (anent.IsNull()) return; 
10091       tool.WriteStep (SW,anent);
10092     }
10093     
10094     break;
10095   case 136 : 
10096     {
10097       DeclareAndCast(StepVisual_FillAreaStyle, anent, ent);
10098       RWStepVisual_RWFillAreaStyle tool;
10099 //      if (anent.IsNull()) return; 
10100       tool.WriteStep (SW,anent);
10101     }
10102     
10103     break;
10104   case 137 : 
10105     {
10106       DeclareAndCast(StepVisual_FillAreaStyleColour, anent, ent);
10107       RWStepVisual_RWFillAreaStyleColour tool;
10108 //      if (anent.IsNull()) return; 
10109       tool.WriteStep (SW,anent);
10110     }
10111     
10112     break;
10113   case 141 : 
10114     {
10115       DeclareAndCast(StepRepr_FunctionallyDefinedTransformation, anent, ent);
10116       RWStepRepr_RWFunctionallyDefinedTransformation tool;
10117 //      if (anent.IsNull()) return; 
10118       tool.WriteStep (SW,anent);
10119     }
10120     
10121     break;
10122   case 142 : 
10123     {
10124       DeclareAndCast(StepShape_GeometricCurveSet, anent, ent);
10125       RWStepShape_RWGeometricCurveSet tool;
10126 //      if (anent.IsNull()) return; 
10127       tool.WriteStep (SW,anent);
10128     }
10129     
10130     break;
10131   case 143 : 
10132     {
10133       DeclareAndCast(StepGeom_GeometricRepresentationContext, anent, ent);
10134       RWStepGeom_RWGeometricRepresentationContext tool;
10135 //      if (anent.IsNull()) return; 
10136       tool.WriteStep (SW,anent);
10137     }
10138     
10139     break;
10140   case 144 : 
10141     {
10142       DeclareAndCast(StepGeom_GeometricRepresentationItem, anent, ent);
10143       RWStepGeom_RWGeometricRepresentationItem tool;
10144 //      if (anent.IsNull()) return; 
10145       tool.WriteStep (SW,anent);
10146     }
10147     
10148     break;
10149   case 145 : 
10150     {
10151       DeclareAndCast(StepShape_GeometricSet, anent, ent);
10152       RWStepShape_RWGeometricSet tool;
10153 //      if (anent.IsNull()) return; 
10154       tool.WriteStep (SW,anent);
10155     }
10156     
10157     break;
10158   case 146 : 
10159     {
10160       DeclareAndCast(StepShape_GeometricallyBoundedSurfaceShapeRepresentation, anent, ent);
10161       RWStepShape_RWGeometricallyBoundedSurfaceShapeRepresentation tool;
10162 //      if (anent.IsNull()) return; 
10163       tool.WriteStep (SW,anent);
10164     }
10165     
10166     break;
10167   case 147 : 
10168     {
10169       DeclareAndCast(StepShape_GeometricallyBoundedWireframeShapeRepresentation, anent, ent);
10170       RWStepShape_RWGeometricallyBoundedWireframeShapeRepresentation tool;
10171 //      if (anent.IsNull()) return; 
10172       tool.WriteStep (SW,anent);
10173     }
10174     
10175     break;
10176   case 148 : 
10177     {
10178       DeclareAndCast(StepRepr_GlobalUncertaintyAssignedContext, anent, ent);
10179       RWStepRepr_RWGlobalUncertaintyAssignedContext tool;
10180 //      if (anent.IsNull()) return; 
10181       tool.WriteStep (SW,anent);
10182     }
10183     
10184     break;
10185   case 149 : 
10186     {
10187       DeclareAndCast(StepRepr_GlobalUnitAssignedContext, anent, ent);
10188       RWStepRepr_RWGlobalUnitAssignedContext tool;
10189 //      if (anent.IsNull()) return; 
10190       tool.WriteStep (SW,anent);
10191     }
10192     
10193     break;
10194   case 150 : 
10195     {
10196       DeclareAndCast(StepBasic_Group, anent, ent);
10197       RWStepBasic_RWGroup tool;
10198 //      if (anent.IsNull()) return; 
10199       tool.WriteStep (SW,anent);
10200     }
10201     
10202     break;
10203   case 152 : 
10204     {
10205       DeclareAndCast(StepBasic_GroupRelationship, anent, ent);
10206       RWStepBasic_RWGroupRelationship tool;
10207 //      if (anent.IsNull()) return; 
10208       tool.WriteStep (SW,anent);
10209     }
10210     
10211     break;
10212   case 153 : 
10213     {
10214       DeclareAndCast(StepShape_HalfSpaceSolid, anent, ent);
10215       RWStepShape_RWHalfSpaceSolid tool;
10216 //      if (anent.IsNull()) return; 
10217       tool.WriteStep (SW,anent);
10218     }
10219     
10220     break;
10221   case 154 : 
10222     {
10223       DeclareAndCast(StepGeom_Hyperbola, anent, ent);
10224       RWStepGeom_RWHyperbola tool;
10225 //      if (anent.IsNull()) return; 
10226       tool.WriteStep (SW,anent);
10227     }
10228     
10229     break;
10230   case 155 : 
10231     {
10232       DeclareAndCast(StepGeom_IntersectionCurve, anent, ent);
10233       RWStepGeom_RWIntersectionCurve tool;
10234 //      if (anent.IsNull()) return; 
10235       tool.WriteStep (SW,anent);
10236     }
10237     
10238     break;
10239   case 156 : 
10240     {
10241       DeclareAndCast(StepVisual_Invisibility, anent, ent);
10242       RWStepVisual_RWInvisibility tool;
10243 //      if (anent.IsNull()) return; 
10244       tool.WriteStep (SW,anent);
10245     }
10246     
10247     break;
10248   case 157 : 
10249     {
10250       DeclareAndCast(StepBasic_LengthMeasureWithUnit, anent, ent);
10251       RWStepBasic_RWLengthMeasureWithUnit tool;
10252 //      if (anent.IsNull()) return; 
10253       tool.WriteStep (SW,anent);
10254     }
10255     
10256     break;
10257   case 158 : 
10258     {
10259       DeclareAndCast(StepBasic_LengthUnit, anent, ent);
10260       RWStepBasic_RWLengthUnit tool;
10261 //      if (anent.IsNull()) return; 
10262       tool.WriteStep (SW,anent);
10263     }
10264     
10265     break;
10266   case 159 : 
10267     {
10268       DeclareAndCast(StepGeom_Line, anent, ent);
10269       RWStepGeom_RWLine tool;
10270 //      if (anent.IsNull()) return; 
10271       tool.WriteStep (SW,anent);
10272     }
10273     
10274     break;
10275   case 160 : 
10276     {
10277       DeclareAndCast(StepBasic_LocalTime, anent, ent);
10278       RWStepBasic_RWLocalTime tool;
10279 //      if (anent.IsNull()) return; 
10280       tool.WriteStep (SW,anent);
10281     }
10282     
10283     break;
10284   case 161 : 
10285     {
10286       DeclareAndCast(StepShape_Loop, anent, ent);
10287       RWStepShape_RWLoop tool;
10288 //      if (anent.IsNull()) return; 
10289       tool.WriteStep (SW,anent);
10290     }
10291     
10292     break;
10293   case 162 : 
10294     {
10295       DeclareAndCast(StepShape_ManifoldSolidBrep, anent, ent);
10296       RWStepShape_RWManifoldSolidBrep tool;
10297 //      if (anent.IsNull()) return; 
10298       tool.WriteStep (SW,anent);
10299     }
10300     
10301     break;
10302   case 163 : 
10303     {
10304       DeclareAndCast(StepShape_ManifoldSurfaceShapeRepresentation, anent, ent);
10305       RWStepShape_RWManifoldSurfaceShapeRepresentation tool;
10306 //      if (anent.IsNull()) return; 
10307       tool.WriteStep (SW,anent);
10308     }
10309     
10310     break;
10311   case 164 : 
10312     {
10313       DeclareAndCast(StepRepr_MappedItem, anent, ent);
10314       RWStepRepr_RWMappedItem tool;
10315 //      if (anent.IsNull()) return; 
10316       tool.WriteStep (SW,anent);
10317     }
10318     
10319     break;
10320   case 165 : 
10321     {
10322       DeclareAndCast(StepBasic_MeasureWithUnit, anent, ent);
10323       RWStepBasic_RWMeasureWithUnit tool;
10324 //      if (anent.IsNull()) return; 
10325       tool.WriteStep (SW,anent);
10326     }
10327     
10328     break;
10329   case 166 : 
10330     {
10331       DeclareAndCast(StepVisual_MechanicalDesignGeometricPresentationArea, anent, ent);
10332       RWStepVisual_RWMechanicalDesignGeometricPresentationArea tool;
10333 //      if (anent.IsNull()) return; 
10334       tool.WriteStep (SW,anent);
10335     }
10336     
10337     break;
10338   case 167 : 
10339     {
10340       DeclareAndCast(StepVisual_MechanicalDesignGeometricPresentationRepresentation, anent, ent);
10341       RWStepVisual_RWMechanicalDesignGeometricPresentationRepresentation tool;
10342 //      if (anent.IsNull()) return; 
10343       tool.WriteStep (SW,anent);
10344     }
10345     
10346     break;
10347   case 169 : 
10348     {
10349       DeclareAndCast(StepBasic_NamedUnit, anent, ent);
10350       RWStepBasic_RWNamedUnit tool;
10351 //      if (anent.IsNull()) return; 
10352       tool.WriteStep (SW,anent);
10353     }
10354     
10355     break;
10356   case 171 : 
10357     {
10358       DeclareAndCast(StepGeom_OffsetCurve3d, anent, ent);
10359       RWStepGeom_RWOffsetCurve3d tool;
10360 //      if (anent.IsNull()) return; 
10361       tool.WriteStep (SW,anent);
10362     }
10363     
10364     break;
10365   case 172 : 
10366     {
10367       DeclareAndCast(StepGeom_OffsetSurface, anent, ent);
10368       RWStepGeom_RWOffsetSurface tool;
10369 //      if (anent.IsNull()) return; 
10370       tool.WriteStep (SW,anent);
10371     }
10372     
10373     break;
10374   case 174 : 
10375     {
10376       DeclareAndCast(StepShape_OpenShell, anent, ent);
10377       RWStepShape_RWOpenShell tool;
10378 //      if (anent.IsNull()) return; 
10379       tool.WriteStep (SW,anent);
10380     }
10381     
10382     break;
10383   case 175 : 
10384     {
10385       DeclareAndCast(StepBasic_OrdinalDate, anent, ent);
10386       RWStepBasic_RWOrdinalDate tool;
10387 //      if (anent.IsNull()) return; 
10388       tool.WriteStep (SW,anent);
10389     }
10390     
10391     break;
10392   case 176 : 
10393     {
10394       DeclareAndCast(StepBasic_Organization, anent, ent);
10395       RWStepBasic_RWOrganization tool;
10396 //      if (anent.IsNull()) return; 
10397       tool.WriteStep (SW,anent);
10398     }
10399     
10400     break;
10401   case 178 : 
10402     {
10403       DeclareAndCast(StepBasic_OrganizationRole, anent, ent);
10404       RWStepBasic_RWOrganizationRole tool;
10405 //      if (anent.IsNull()) return; 
10406       tool.WriteStep (SW,anent);
10407     }
10408     
10409     break;
10410   case 179 : 
10411     {
10412       DeclareAndCast(StepBasic_OrganizationalAddress, anent, ent);
10413       RWStepBasic_RWOrganizationalAddress tool;
10414 //      if (anent.IsNull()) return; 
10415       tool.WriteStep (SW,anent);
10416     }
10417     
10418     break;
10419   case 180 : 
10420     {
10421       DeclareAndCast(StepShape_OrientedClosedShell, anent, ent);
10422       RWStepShape_RWOrientedClosedShell tool;
10423 //      if (anent.IsNull()) return; 
10424       tool.WriteStep (SW,anent);
10425     }
10426     
10427     break;
10428   case 181 : 
10429     {
10430       DeclareAndCast(StepShape_OrientedEdge, anent, ent);
10431       RWStepShape_RWOrientedEdge tool;
10432 //      if (anent.IsNull()) return; 
10433       tool.WriteStep (SW,anent);
10434     }
10435     
10436     break;
10437   case 182 : 
10438     {
10439       DeclareAndCast(StepShape_OrientedFace, anent, ent);
10440       RWStepShape_RWOrientedFace tool;
10441 //      if (anent.IsNull()) return; 
10442       tool.WriteStep (SW,anent);
10443     }
10444     
10445     break;
10446   case 183 : 
10447     {
10448       DeclareAndCast(StepShape_OrientedOpenShell, anent, ent);
10449       RWStepShape_RWOrientedOpenShell tool;
10450 //      if (anent.IsNull()) return; 
10451       tool.WriteStep (SW,anent);
10452     }
10453     
10454     break;
10455   case 184 : 
10456     {
10457       DeclareAndCast(StepShape_OrientedPath, anent, ent);
10458       RWStepShape_RWOrientedPath tool;
10459 //      if (anent.IsNull()) return; 
10460       tool.WriteStep (SW,anent);
10461     }
10462     
10463     break;
10464   case 185 : 
10465     {
10466       DeclareAndCast(StepGeom_OuterBoundaryCurve, anent, ent);
10467       RWStepGeom_RWOuterBoundaryCurve tool;
10468 //      if (anent.IsNull()) return; 
10469       tool.WriteStep (SW,anent);
10470     }
10471     
10472     break;
10473   case 186 : 
10474     {
10475       DeclareAndCast(StepVisual_OverRidingStyledItem, anent, ent);
10476       RWStepVisual_RWOverRidingStyledItem tool;
10477 //      if (anent.IsNull()) return; 
10478       tool.WriteStep (SW,anent);
10479     }
10480     
10481     break;
10482   case 187 : 
10483     {
10484       DeclareAndCast(StepGeom_Parabola, anent, ent);
10485       RWStepGeom_RWParabola tool;
10486 //      if (anent.IsNull()) return; 
10487       tool.WriteStep (SW,anent);
10488     }
10489     
10490     break;
10491   case 188 : 
10492     {
10493       DeclareAndCast(StepRepr_ParametricRepresentationContext, anent, ent);
10494       RWStepRepr_RWParametricRepresentationContext tool;
10495 //      if (anent.IsNull()) return; 
10496       tool.WriteStep (SW,anent);
10497     }
10498     
10499     break;
10500   case 189 : 
10501     {
10502       DeclareAndCast(StepShape_Path, anent, ent);
10503       RWStepShape_RWPath tool;
10504 //      if (anent.IsNull()) return; 
10505       tool.WriteStep (SW,anent);
10506     }
10507     
10508     break;
10509   case 190 : 
10510     {
10511       DeclareAndCast(StepGeom_Pcurve, anent, ent);
10512       RWStepGeom_RWPcurve tool;
10513 //      if (anent.IsNull()) return; 
10514       tool.WriteStep (SW,anent);
10515     }
10516     
10517     break;
10518   case 191 : 
10519     {
10520       DeclareAndCast(StepBasic_Person, anent, ent);
10521       RWStepBasic_RWPerson tool;
10522 //      if (anent.IsNull()) return; 
10523       tool.WriteStep (SW,anent);
10524     }
10525     
10526     break;
10527   case 192 : 
10528     {
10529       DeclareAndCast(StepBasic_PersonAndOrganization, anent, ent);
10530       RWStepBasic_RWPersonAndOrganization tool;
10531 //      if (anent.IsNull()) return; 
10532       tool.WriteStep (SW,anent);
10533     }
10534     
10535     break;
10536   case 194 : 
10537     {
10538       DeclareAndCast(StepBasic_PersonAndOrganizationRole, anent, ent);
10539       RWStepBasic_RWPersonAndOrganizationRole tool;
10540 //      if (anent.IsNull()) return; 
10541       tool.WriteStep (SW,anent);
10542     }
10543     
10544     break;
10545   case 195 : 
10546     {
10547       DeclareAndCast(StepBasic_PersonalAddress, anent, ent);
10548       RWStepBasic_RWPersonalAddress tool;
10549 //      if (anent.IsNull()) return; 
10550       tool.WriteStep (SW,anent);
10551     }
10552     
10553     break;
10554   case 196 : 
10555     {
10556       DeclareAndCast(StepGeom_Placement, anent, ent);
10557       RWStepGeom_RWPlacement tool;
10558 //      if (anent.IsNull()) return; 
10559       tool.WriteStep (SW,anent);
10560     }
10561     
10562     break;
10563   case 197 : 
10564     {
10565       DeclareAndCast(StepVisual_PlanarBox, anent, ent);
10566       RWStepVisual_RWPlanarBox tool;
10567 //      if (anent.IsNull()) return; 
10568       tool.WriteStep (SW,anent);
10569     }
10570     
10571     break;
10572   case 198 : 
10573     {
10574       DeclareAndCast(StepVisual_PlanarExtent, anent, ent);
10575       RWStepVisual_RWPlanarExtent tool;
10576 //      if (anent.IsNull()) return; 
10577       tool.WriteStep (SW,anent);
10578     }
10579     
10580     break;
10581   case 199 : 
10582     {
10583       DeclareAndCast(StepGeom_Plane, anent, ent);
10584       RWStepGeom_RWPlane tool;
10585 //      if (anent.IsNull()) return; 
10586       tool.WriteStep (SW,anent);
10587     }
10588     
10589     break;
10590   case 200 : 
10591     {
10592       DeclareAndCast(StepBasic_PlaneAngleMeasureWithUnit, anent, ent);
10593       RWStepBasic_RWPlaneAngleMeasureWithUnit tool;
10594 //      if (anent.IsNull()) return; 
10595       tool.WriteStep (SW,anent);
10596     }
10597     
10598     break;
10599   case 201 : 
10600     {
10601       DeclareAndCast(StepBasic_PlaneAngleUnit, anent, ent);
10602       RWStepBasic_RWPlaneAngleUnit tool;
10603 //      if (anent.IsNull()) return; 
10604       tool.WriteStep (SW,anent);
10605     }
10606     
10607     break;
10608   case 202 : 
10609     {
10610       DeclareAndCast(StepGeom_Point, anent, ent);
10611       RWStepGeom_RWPoint tool;
10612 //      if (anent.IsNull()) return; 
10613       tool.WriteStep (SW,anent);
10614     }
10615     
10616     break;
10617   case 203 : 
10618     {
10619       DeclareAndCast(StepGeom_PointOnCurve, anent, ent);
10620       RWStepGeom_RWPointOnCurve tool;
10621 //      if (anent.IsNull()) return; 
10622       tool.WriteStep (SW,anent);
10623     }
10624     
10625     break;
10626   case 204 : 
10627     {
10628       DeclareAndCast(StepGeom_PointOnSurface, anent, ent);
10629       RWStepGeom_RWPointOnSurface tool;
10630 //      if (anent.IsNull()) return; 
10631       tool.WriteStep (SW,anent);
10632     }
10633     
10634     break;
10635   case 205 : 
10636     {
10637       DeclareAndCast(StepGeom_PointReplica, anent, ent);
10638       RWStepGeom_RWPointReplica tool;
10639 //      if (anent.IsNull()) return; 
10640       tool.WriteStep (SW,anent);
10641     }
10642     
10643     break;
10644   case 206 : 
10645     {
10646       DeclareAndCast(StepVisual_PointStyle, anent, ent);
10647       RWStepVisual_RWPointStyle tool;
10648 //      if (anent.IsNull()) return; 
10649       tool.WriteStep (SW,anent);
10650     }
10651     
10652     break;
10653   case 207 : 
10654     {
10655       DeclareAndCast(StepShape_PolyLoop, anent, ent);
10656       RWStepShape_RWPolyLoop tool;
10657 //      if (anent.IsNull()) return; 
10658       tool.WriteStep (SW,anent);
10659     }
10660     
10661     break;
10662   case 208 : 
10663     {
10664       DeclareAndCast(StepGeom_Polyline, anent, ent);
10665       RWStepGeom_RWPolyline tool;
10666 //      if (anent.IsNull()) return; 
10667       tool.WriteStep (SW,anent);
10668     }
10669     
10670     break;
10671   case 209 : 
10672     {
10673       DeclareAndCast(StepVisual_PreDefinedColour, anent, ent);
10674       RWStepVisual_RWPreDefinedColour tool;
10675 //      if (anent.IsNull()) return; 
10676       tool.WriteStep (SW,anent);
10677     }
10678     
10679     break;
10680   case 210 : 
10681     {
10682       DeclareAndCast(StepVisual_PreDefinedCurveFont, anent, ent);
10683       RWStepVisual_RWPreDefinedCurveFont tool;
10684 //      if (anent.IsNull()) return; 
10685       tool.WriteStep (SW,anent);
10686     }
10687     
10688     break;
10689   case 211 : 
10690   case 213 : 
10691     {
10692       DeclareAndCast(StepVisual_PreDefinedItem, anent, ent);
10693       RWStepVisual_RWPreDefinedItem tool;
10694 //      if (anent.IsNull()) return; 
10695       tool.WriteStep (SW,anent);
10696     }
10697     
10698     break;
10699   case 214 : 
10700     {
10701       DeclareAndCast(StepVisual_PresentationArea, anent, ent);
10702       RWStepVisual_RWPresentationArea tool;
10703 //      if (anent.IsNull()) return; 
10704       tool.WriteStep (SW,anent);
10705     }
10706     
10707     break;
10708   case 215 : 
10709     {
10710       DeclareAndCast(StepVisual_PresentationLayerAssignment, anent, ent);
10711       RWStepVisual_RWPresentationLayerAssignment tool;
10712 //      if (anent.IsNull()) return; 
10713       tool.WriteStep (SW,anent);
10714     }
10715     
10716     break;
10717   case 216 : 
10718     {
10719       DeclareAndCast(StepVisual_PresentationRepresentation, anent, ent);
10720       RWStepVisual_RWPresentationRepresentation tool;
10721 //      if (anent.IsNull()) return; 
10722       tool.WriteStep (SW,anent);
10723     }
10724     
10725     break;
10726   case 217 : 
10727     {
10728       DeclareAndCast(StepVisual_PresentationSet, anent, ent);
10729       RWStepVisual_RWPresentationSet tool;
10730 //      if (anent.IsNull()) return; 
10731       tool.WriteStep (SW,anent);
10732     }
10733     
10734     break;
10735   case 218 : 
10736     {
10737       DeclareAndCast(StepVisual_PresentationSize, anent, ent);
10738       RWStepVisual_RWPresentationSize tool;
10739 //      if (anent.IsNull()) return; 
10740       tool.WriteStep (SW,anent);
10741     }
10742     
10743     break;
10744   case 219 : 
10745     {
10746       DeclareAndCast(StepVisual_PresentationStyleAssignment, anent, ent);
10747       RWStepVisual_RWPresentationStyleAssignment tool;
10748 //      if (anent.IsNull()) return; 
10749       tool.WriteStep (SW,anent);
10750     }
10751     
10752     break;
10753   case 220 : 
10754     {
10755       DeclareAndCast(StepVisual_PresentationStyleByContext, anent, ent);
10756       RWStepVisual_RWPresentationStyleByContext tool;
10757 //      if (anent.IsNull()) return; 
10758       tool.WriteStep (SW,anent);
10759     }
10760     
10761     break;
10762   case 221 : 
10763     {
10764       DeclareAndCast(StepVisual_PresentationView, anent, ent);
10765       RWStepVisual_RWPresentationView tool;
10766 //      if (anent.IsNull()) return; 
10767       tool.WriteStep (SW,anent);
10768     }
10769     
10770     break;
10771   case 223 : 
10772     {
10773       DeclareAndCast(StepBasic_Product, anent, ent);
10774       RWStepBasic_RWProduct tool;
10775 //      if (anent.IsNull()) return; 
10776       tool.WriteStep (SW,anent);
10777     }
10778     
10779     break;
10780   case 224 : 
10781     {
10782       DeclareAndCast(StepBasic_ProductCategory, anent, ent);
10783       RWStepBasic_RWProductCategory tool;
10784 //      if (anent.IsNull()) return; 
10785       tool.WriteStep (SW,anent);
10786     }
10787     
10788     break;
10789   case 225 : 
10790     {
10791       DeclareAndCast(StepBasic_ProductContext, anent, ent);
10792       RWStepBasic_RWProductContext tool;
10793 //      if (anent.IsNull()) return; 
10794       tool.WriteStep (SW,anent);
10795     }
10796     
10797     break;
10798   case 227 : 
10799     {
10800       DeclareAndCast(StepBasic_ProductDefinition, anent, ent);
10801       RWStepBasic_RWProductDefinition tool;
10802 //      if (anent.IsNull()) return; 
10803       tool.WriteStep (SW,anent);
10804     }
10805     
10806     break;
10807   case 228 : 
10808     {
10809       DeclareAndCast(StepBasic_ProductDefinitionContext, anent, ent);
10810       RWStepBasic_RWProductDefinitionContext tool;
10811 //      if (anent.IsNull()) return; 
10812       tool.WriteStep (SW,anent);
10813     }
10814     
10815     break;
10816   case 229 : 
10817     {
10818       DeclareAndCast(StepBasic_ProductDefinitionFormation, anent, ent);
10819       RWStepBasic_RWProductDefinitionFormation tool;
10820 //      if (anent.IsNull()) return; 
10821       tool.WriteStep (SW,anent);
10822     }
10823     
10824     break;
10825   case 230 : 
10826     {
10827       DeclareAndCast(StepBasic_ProductDefinitionFormationWithSpecifiedSource, anent, ent);
10828       RWStepBasic_RWProductDefinitionFormationWithSpecifiedSource tool;
10829 //      if (anent.IsNull()) return; 
10830       tool.WriteStep (SW,anent);
10831     }
10832     
10833     break;
10834   case 231 : 
10835     {
10836       DeclareAndCast(StepRepr_ProductDefinitionShape, anent, ent);
10837       RWStepRepr_RWProductDefinitionShape tool;
10838 //      if (anent.IsNull()) return; 
10839       tool.WriteStep (SW,anent);
10840     }
10841     
10842     break;
10843   case 232 : 
10844     {
10845       DeclareAndCast(StepBasic_ProductRelatedProductCategory, anent, ent);
10846       RWStepBasic_RWProductRelatedProductCategory tool;
10847 //      if (anent.IsNull()) return; 
10848       tool.WriteStep (SW,anent);
10849     }
10850     
10851     break;
10852   case 233 : 
10853     {
10854       DeclareAndCast(StepBasic_ProductType, anent, ent);
10855       RWStepBasic_RWProductType tool;
10856 //      if (anent.IsNull()) return; 
10857       tool.WriteStep (SW,anent);
10858     }
10859     
10860     break;
10861   case 234 : 
10862     {
10863       DeclareAndCast(StepRepr_PropertyDefinition, anent, ent);
10864       RWStepRepr_RWPropertyDefinition tool;
10865 //      if (anent.IsNull()) return; 
10866       tool.WriteStep (SW,anent);
10867     }
10868     
10869     break;
10870   case 235 : 
10871     {
10872       DeclareAndCast(StepRepr_PropertyDefinitionRepresentation, anent, ent);
10873       RWStepRepr_RWPropertyDefinitionRepresentation tool;
10874 //      if (anent.IsNull()) return; 
10875       tool.WriteStep (SW,anent);
10876     }
10877     
10878     break;
10879   case 236 : 
10880     {
10881       DeclareAndCast(StepGeom_QuasiUniformCurve, anent, ent);
10882       RWStepGeom_RWQuasiUniformCurve tool;
10883 //      if (anent.IsNull()) return; 
10884       tool.WriteStep (SW,anent);
10885     }
10886     
10887     break;
10888   case 237 : 
10889     {
10890       DeclareAndCast(StepGeom_QuasiUniformSurface, anent, ent);
10891       RWStepGeom_RWQuasiUniformSurface tool;
10892 //      if (anent.IsNull()) return; 
10893       tool.WriteStep (SW,anent);
10894     }
10895     
10896     break;
10897   case 238 : 
10898     {
10899       DeclareAndCast(StepBasic_RatioMeasureWithUnit, anent, ent);
10900       RWStepBasic_RWRatioMeasureWithUnit tool;
10901 //      if (anent.IsNull()) return; 
10902       tool.WriteStep (SW,anent);
10903     }
10904     
10905     break;
10906   case 239 : 
10907     {
10908       DeclareAndCast(StepGeom_RationalBSplineCurve, anent, ent);
10909       RWStepGeom_RWRationalBSplineCurve tool;
10910 //      if (anent.IsNull()) return; 
10911       tool.WriteStep (SW,anent);
10912     }
10913     
10914     break;
10915   case 240 : 
10916     {
10917       DeclareAndCast(StepGeom_RationalBSplineSurface, anent, ent);
10918       RWStepGeom_RWRationalBSplineSurface tool;
10919 //      if (anent.IsNull()) return; 
10920       tool.WriteStep (SW,anent);
10921     }
10922     
10923     break;
10924   case 241 : 
10925     {
10926       DeclareAndCast(StepGeom_RectangularCompositeSurface, anent, ent);
10927       RWStepGeom_RWRectangularCompositeSurface tool;
10928 //      if (anent.IsNull()) return; 
10929       tool.WriteStep (SW,anent);
10930     }
10931     
10932     break;
10933   case 242 : 
10934     {
10935       DeclareAndCast(StepGeom_RectangularTrimmedSurface, anent, ent);
10936       RWStepGeom_RWRectangularTrimmedSurface tool;
10937 //      if (anent.IsNull()) return; 
10938       tool.WriteStep (SW,anent);
10939     }
10940     
10941     break;
10942   case 243 : 
10943     {
10944       DeclareAndCast(StepAP214_RepItemGroup, anent, ent);
10945       RWStepAP214_RWRepItemGroup tool;
10946 //      if (anent.IsNull()) return; 
10947       tool.WriteStep (SW,anent);
10948     }
10949     
10950     break;
10951   case 244 : 
10952     {
10953       DeclareAndCast(StepGeom_ReparametrisedCompositeCurveSegment, anent, ent);
10954       RWStepGeom_RWReparametrisedCompositeCurveSegment tool;
10955 //      if (anent.IsNull()) return; 
10956       tool.WriteStep (SW,anent);
10957     }
10958     
10959     break;
10960   case 245 : 
10961     {
10962       DeclareAndCast(StepRepr_Representation, anent, ent);
10963       RWStepRepr_RWRepresentation tool;
10964 //      if (anent.IsNull()) return; 
10965       tool.WriteStep (SW,anent);
10966     }
10967     
10968     break;
10969   case 246 : 
10970     {
10971       DeclareAndCast(StepRepr_RepresentationContext, anent, ent);
10972       RWStepRepr_RWRepresentationContext tool;
10973 //      if (anent.IsNull()) return; 
10974       tool.WriteStep (SW,anent);
10975     }
10976     
10977     break;
10978   case 247 : 
10979     {
10980       DeclareAndCast(StepRepr_RepresentationItem, anent, ent);
10981       RWStepRepr_RWRepresentationItem tool;
10982 //      if (anent.IsNull()) return; 
10983       tool.WriteStep (SW,anent);
10984     }
10985     
10986     break;
10987   case 248 : 
10988     {
10989       DeclareAndCast(StepRepr_RepresentationMap, anent, ent);
10990       RWStepRepr_RWRepresentationMap tool;
10991 //      if (anent.IsNull()) return; 
10992       tool.WriteStep (SW,anent);
10993     }
10994     
10995     break;
10996   case 249 : 
10997     {
10998       DeclareAndCast(StepRepr_RepresentationRelationship, anent, ent);
10999       RWStepRepr_RWRepresentationRelationship tool;
11000 //      if (anent.IsNull()) return; 
11001       tool.WriteStep (SW,anent);
11002     }
11003     
11004     break;
11005   case 250 : 
11006     {
11007       DeclareAndCast(StepShape_RevolvedAreaSolid, anent, ent);
11008       RWStepShape_RWRevolvedAreaSolid tool;
11009 //      if (anent.IsNull()) return; 
11010       tool.WriteStep (SW,anent);
11011     }
11012     
11013     break;
11014   case 251 : 
11015     {
11016       DeclareAndCast(StepShape_RightAngularWedge, anent, ent);
11017       RWStepShape_RWRightAngularWedge tool;
11018 //      if (anent.IsNull()) return; 
11019       tool.WriteStep (SW,anent);
11020     }
11021     
11022     break;
11023   case 252 : 
11024     {
11025       DeclareAndCast(StepShape_RightCircularCone, anent, ent);
11026       RWStepShape_RWRightCircularCone tool;
11027 //      if (anent.IsNull()) return; 
11028       tool.WriteStep (SW,anent);
11029     }
11030     
11031     break;
11032   case 253 : 
11033     {
11034       DeclareAndCast(StepShape_RightCircularCylinder, anent, ent);
11035       RWStepShape_RWRightCircularCylinder tool;
11036 //      if (anent.IsNull()) return; 
11037       tool.WriteStep (SW,anent);
11038     }
11039     
11040     break;
11041   case 254 : 
11042     {
11043       DeclareAndCast(StepGeom_SeamCurve, anent, ent);
11044       RWStepGeom_RWSeamCurve tool;
11045 //      if (anent.IsNull()) return; 
11046       tool.WriteStep (SW,anent);
11047     }
11048     
11049     break;
11050   case 255 : 
11051     {
11052       DeclareAndCast(StepBasic_SecurityClassification, anent, ent);
11053       RWStepBasic_RWSecurityClassification tool;
11054 //      if (anent.IsNull()) return; 
11055       tool.WriteStep (SW,anent);
11056     }
11057     
11058     break;
11059   case 257 : 
11060     {
11061       DeclareAndCast(StepBasic_SecurityClassificationLevel, anent, ent);
11062       RWStepBasic_RWSecurityClassificationLevel tool;
11063 //      if (anent.IsNull()) return; 
11064       tool.WriteStep (SW,anent);
11065     }
11066     
11067     break;
11068   case 258 : 
11069     {
11070       DeclareAndCast(StepRepr_ShapeAspect, anent, ent);
11071       RWStepRepr_RWShapeAspect tool;
11072 //      if (anent.IsNull()) return; 
11073       tool.WriteStep (SW,anent);
11074     }
11075     
11076     break;
11077   case 259 : 
11078     {
11079       DeclareAndCast(StepRepr_ShapeAspectRelationship, anent, ent);
11080       RWStepRepr_RWShapeAspectRelationship tool;
11081 //      if (anent.IsNull()) return; 
11082       tool.WriteStep (SW,anent);
11083     }
11084     
11085     break;
11086   case 260 : 
11087     {
11088       DeclareAndCast(StepRepr_ShapeAspectTransition, anent, ent);
11089       RWStepRepr_RWShapeAspectTransition tool;
11090 //      if (anent.IsNull()) return; 
11091       tool.WriteStep (SW,anent);
11092     }
11093     
11094     break;
11095   case 261 : 
11096     {
11097       DeclareAndCast(StepShape_ShapeDefinitionRepresentation, anent, ent);
11098       RWStepShape_RWShapeDefinitionRepresentation tool;
11099 //      if (anent.IsNull()) return; 
11100       tool.WriteStep (SW,anent);
11101     }
11102     
11103     break;
11104   case 262 : 
11105     {
11106       DeclareAndCast(StepShape_ShapeRepresentation, anent, ent);
11107       RWStepShape_RWShapeRepresentation tool;
11108 //      if (anent.IsNull()) return; 
11109       tool.WriteStep (SW,anent);
11110     }
11111     
11112     break;
11113   case 263 : 
11114     {
11115       DeclareAndCast(StepShape_ShellBasedSurfaceModel, anent, ent);
11116       RWStepShape_RWShellBasedSurfaceModel tool;
11117 //      if (anent.IsNull()) return; 
11118       tool.WriteStep (SW,anent);
11119     }
11120     
11121     break;
11122   case 264 : 
11123     {
11124       DeclareAndCast(StepBasic_SiUnit, anent, ent);
11125       RWStepBasic_RWSiUnit tool;
11126 //      if (anent.IsNull()) return; 
11127       tool.WriteStep (SW,anent);
11128     }
11129     
11130     break;
11131   case 265 : 
11132     {
11133       DeclareAndCast(StepBasic_SolidAngleMeasureWithUnit, anent, ent);
11134       RWStepBasic_RWSolidAngleMeasureWithUnit tool;
11135 //      if (anent.IsNull()) return; 
11136       tool.WriteStep (SW,anent);
11137     }
11138     
11139     break;
11140   case 266 : 
11141     {
11142       DeclareAndCast(StepShape_SolidModel, anent, ent);
11143       RWStepShape_RWSolidModel tool;
11144 //      if (anent.IsNull()) return; 
11145       tool.WriteStep (SW,anent);
11146     }
11147     
11148     break;
11149   case 267 : 
11150     {
11151       DeclareAndCast(StepShape_SolidReplica, anent, ent);
11152       RWStepShape_RWSolidReplica tool;
11153 //      if (anent.IsNull()) return; 
11154       tool.WriteStep (SW,anent);
11155     }
11156     
11157     break;
11158   case 268 : 
11159     {
11160       DeclareAndCast(StepShape_Sphere, anent, ent);
11161       RWStepShape_RWSphere tool;
11162 //      if (anent.IsNull()) return; 
11163       tool.WriteStep (SW,anent);
11164     }
11165     
11166     break;
11167   case 269 : 
11168     {
11169       DeclareAndCast(StepGeom_SphericalSurface, anent, ent);
11170       RWStepGeom_RWSphericalSurface tool;
11171 //      if (anent.IsNull()) return; 
11172       tool.WriteStep (SW,anent);
11173     }
11174     
11175     break;
11176   case 270 : 
11177     {
11178       DeclareAndCast(StepVisual_StyledItem, anent, ent);
11179       RWStepVisual_RWStyledItem tool;
11180 //      if (anent.IsNull()) return; 
11181       tool.WriteStep (SW,anent);
11182     }
11183     
11184     break;
11185   case 271 : 
11186     {
11187       DeclareAndCast(StepGeom_Surface, anent, ent);
11188       RWStepGeom_RWSurface tool;
11189 //      if (anent.IsNull()) return; 
11190       tool.WriteStep (SW,anent);
11191     }
11192     
11193     break;
11194   case 272 : 
11195     {
11196       DeclareAndCast(StepGeom_SurfaceCurve, anent, ent);
11197       RWStepGeom_RWSurfaceCurve tool;
11198 //      if (anent.IsNull()) return; 
11199       tool.WriteStep (SW,anent);
11200     }
11201     
11202     break;
11203   case 273 : 
11204     {
11205       DeclareAndCast(StepGeom_SurfaceOfLinearExtrusion, anent, ent);
11206       RWStepGeom_RWSurfaceOfLinearExtrusion tool;
11207 //      if (anent.IsNull()) return; 
11208       tool.WriteStep (SW,anent);
11209     }
11210     
11211     break;
11212   case 274 : 
11213     {
11214       DeclareAndCast(StepGeom_SurfaceOfRevolution, anent, ent);
11215       RWStepGeom_RWSurfaceOfRevolution tool;
11216 //      if (anent.IsNull()) return; 
11217       tool.WriteStep (SW,anent);
11218     }
11219     
11220     break;
11221   case 275 : 
11222     {
11223       DeclareAndCast(StepGeom_SurfacePatch, anent, ent);
11224       RWStepGeom_RWSurfacePatch tool;
11225 //      if (anent.IsNull()) return; 
11226       tool.WriteStep (SW,anent);
11227     }
11228     
11229     break;
11230   case 276 : 
11231     {
11232       DeclareAndCast(StepGeom_SurfaceReplica, anent, ent);
11233       RWStepGeom_RWSurfaceReplica tool;
11234 //      if (anent.IsNull()) return; 
11235       tool.WriteStep (SW,anent);
11236     }
11237     
11238     break;
11239   case 277 : 
11240     {
11241       DeclareAndCast(StepVisual_SurfaceSideStyle, anent, ent);
11242       RWStepVisual_RWSurfaceSideStyle tool;
11243 //      if (anent.IsNull()) return; 
11244       tool.WriteStep (SW,anent);
11245     }
11246     
11247     break;
11248   case 278 : 
11249     {
11250       DeclareAndCast(StepVisual_SurfaceStyleBoundary, anent, ent);
11251       RWStepVisual_RWSurfaceStyleBoundary tool;
11252 //      if (anent.IsNull()) return; 
11253       tool.WriteStep (SW,anent);
11254     }
11255     
11256     break;
11257   case 279 : 
11258     {
11259       DeclareAndCast(StepVisual_SurfaceStyleControlGrid, anent, ent);
11260       RWStepVisual_RWSurfaceStyleControlGrid tool;
11261 //      if (anent.IsNull()) return; 
11262       tool.WriteStep (SW,anent);
11263     }
11264     
11265     break;
11266   case 280 : 
11267     {
11268       DeclareAndCast(StepVisual_SurfaceStyleFillArea, anent, ent);
11269       RWStepVisual_RWSurfaceStyleFillArea tool;
11270 //      if (anent.IsNull()) return; 
11271       tool.WriteStep (SW,anent);
11272     }
11273     
11274     break;
11275   case 281 : 
11276     {
11277       DeclareAndCast(StepVisual_SurfaceStyleParameterLine, anent, ent);
11278       RWStepVisual_RWSurfaceStyleParameterLine tool;
11279 //      if (anent.IsNull()) return; 
11280       tool.WriteStep (SW,anent);
11281     }
11282     
11283     break;
11284   case 282 : 
11285     {
11286       DeclareAndCast(StepVisual_SurfaceStyleSegmentationCurve, anent, ent);
11287       RWStepVisual_RWSurfaceStyleSegmentationCurve tool;
11288 //      if (anent.IsNull()) return; 
11289       tool.WriteStep (SW,anent);
11290     }
11291     
11292     break;
11293   case 283 : 
11294     {
11295       DeclareAndCast(StepVisual_SurfaceStyleSilhouette, anent, ent);
11296       RWStepVisual_RWSurfaceStyleSilhouette tool;
11297 //      if (anent.IsNull()) return; 
11298       tool.WriteStep (SW,anent);
11299     }
11300     
11301     break;
11302   case 284 : 
11303     {
11304       DeclareAndCast(StepVisual_SurfaceStyleUsage, anent, ent);
11305       RWStepVisual_RWSurfaceStyleUsage tool;
11306 //      if (anent.IsNull()) return; 
11307       tool.WriteStep (SW,anent);
11308     }
11309     
11310     break;
11311   case 285 : 
11312     {
11313       DeclareAndCast(StepShape_SweptAreaSolid, anent, ent);
11314       RWStepShape_RWSweptAreaSolid tool;
11315 //      if (anent.IsNull()) return; 
11316       tool.WriteStep (SW,anent);
11317     }
11318     
11319     break;
11320   case 286 : 
11321     {
11322       DeclareAndCast(StepGeom_SweptSurface, anent, ent);
11323       RWStepGeom_RWSweptSurface tool;
11324 //      if (anent.IsNull()) return; 
11325       tool.WriteStep (SW,anent);
11326     }
11327     
11328     break;
11329   case 292 : 
11330     {
11331       DeclareAndCast(StepVisual_Template, anent, ent);
11332       RWStepVisual_RWTemplate tool;
11333 //      if (anent.IsNull()) return; 
11334       tool.WriteStep (SW,anent);
11335     }
11336     
11337     break;
11338   case 293 : 
11339     {
11340       DeclareAndCast(StepVisual_TemplateInstance, anent, ent);
11341       RWStepVisual_RWTemplateInstance tool;
11342 //      if (anent.IsNull()) return; 
11343       tool.WriteStep (SW,anent);
11344     }
11345     
11346     break;
11347   case 295 : 
11348     {
11349       DeclareAndCast(StepVisual_TextLiteral, anent, ent);
11350       RWStepVisual_RWTextLiteral tool;
11351 //      if (anent.IsNull()) return; 
11352       tool.WriteStep (SW,anent);
11353     }
11354     
11355     break;
11356   case 300 : 
11357     {
11358       DeclareAndCast(StepVisual_TextStyle, anent, ent);
11359       RWStepVisual_RWTextStyle tool;
11360 //      if (anent.IsNull()) return; 
11361       tool.WriteStep (SW,anent);
11362     }
11363     
11364     break;
11365   case 301 : 
11366     {
11367       DeclareAndCast(StepVisual_TextStyleForDefinedFont, anent, ent);
11368       RWStepVisual_RWTextStyleForDefinedFont tool;
11369 //      if (anent.IsNull()) return; 
11370       tool.WriteStep (SW,anent);
11371     }
11372     
11373     break;
11374   case 302 : 
11375     {
11376       DeclareAndCast(StepVisual_TextStyleWithBoxCharacteristics, anent, ent);
11377       RWStepVisual_RWTextStyleWithBoxCharacteristics tool;
11378 //      if (anent.IsNull()) return; 
11379       tool.WriteStep (SW,anent);
11380     }
11381     
11382     break;
11383   case 304 : 
11384     {
11385       DeclareAndCast(StepShape_TopologicalRepresentationItem, anent, ent);
11386       RWStepShape_RWTopologicalRepresentationItem tool;
11387 //      if (anent.IsNull()) return; 
11388       tool.WriteStep (SW,anent);
11389     }
11390     
11391     break;
11392   case 305 : 
11393     {
11394       DeclareAndCast(StepGeom_ToroidalSurface, anent, ent);
11395       RWStepGeom_RWToroidalSurface tool;
11396 //      if (anent.IsNull()) return; 
11397       tool.WriteStep (SW,anent);
11398     }
11399     
11400     break;
11401   case 306 : 
11402     {
11403       DeclareAndCast(StepShape_Torus, anent, ent);
11404       RWStepShape_RWTorus tool;
11405 //      if (anent.IsNull()) return; 
11406       tool.WriteStep (SW,anent);
11407     }
11408     
11409     break;
11410   case 307 : 
11411     {
11412       DeclareAndCast(StepShape_TransitionalShapeRepresentation, anent, ent);
11413       RWStepShape_RWTransitionalShapeRepresentation tool;
11414 //      if (anent.IsNull()) return; 
11415       tool.WriteStep (SW,anent);
11416     }
11417     
11418     break;
11419   case 308 : 
11420     {
11421       DeclareAndCast(StepGeom_TrimmedCurve, anent, ent);
11422       RWStepGeom_RWTrimmedCurve tool;
11423 //      if (anent.IsNull()) return; 
11424       tool.WriteStep (SW,anent);
11425     }
11426     
11427     break;
11428   case 310 : 
11429     {
11430       DeclareAndCast(StepBasic_UncertaintyMeasureWithUnit, anent, ent);
11431       RWStepBasic_RWUncertaintyMeasureWithUnit tool;
11432 //      if (anent.IsNull()) return; 
11433       tool.WriteStep (SW,anent);
11434     }
11435     
11436     break;
11437   case 311 : 
11438     {
11439       DeclareAndCast(StepGeom_UniformCurve, anent, ent);
11440       RWStepGeom_RWUniformCurve tool;
11441 //      if (anent.IsNull()) return; 
11442       tool.WriteStep (SW,anent);
11443     }
11444     
11445     break;
11446   case 312 : 
11447     {
11448       DeclareAndCast(StepGeom_UniformSurface, anent, ent);
11449       RWStepGeom_RWUniformSurface tool;
11450 //      if (anent.IsNull()) return; 
11451       tool.WriteStep (SW,anent);
11452     }
11453     
11454     break;
11455   case 313 : 
11456     {
11457       DeclareAndCast(StepGeom_Vector, anent, ent);
11458       RWStepGeom_RWVector tool;
11459 //      if (anent.IsNull()) return; 
11460       tool.WriteStep (SW,anent);
11461     }
11462     
11463     break;
11464   case 314 : 
11465     {
11466       DeclareAndCast(StepShape_Vertex, anent, ent);
11467       RWStepShape_RWVertex tool;
11468 //      if (anent.IsNull()) return; 
11469       tool.WriteStep (SW,anent);
11470     }
11471     
11472     break;
11473   case 315 : 
11474     {
11475       DeclareAndCast(StepShape_VertexLoop, anent, ent);
11476       RWStepShape_RWVertexLoop tool;
11477 //      if (anent.IsNull()) return; 
11478       tool.WriteStep (SW,anent);
11479     }
11480     
11481     break;
11482   case 316 : 
11483     {
11484       DeclareAndCast(StepShape_VertexPoint, anent, ent);
11485       RWStepShape_RWVertexPoint tool;
11486 //      if (anent.IsNull()) return; 
11487       tool.WriteStep (SW,anent);
11488     }
11489     
11490     break;
11491   case 317 : 
11492     {
11493       DeclareAndCast(StepVisual_ViewVolume, anent, ent);
11494       RWStepVisual_RWViewVolume tool;
11495 //      if (anent.IsNull()) return; 
11496       tool.WriteStep (SW,anent);
11497     }
11498     
11499     break;
11500   case 318 : 
11501     {
11502       DeclareAndCast(StepBasic_WeekOfYearAndDayDate, anent, ent);
11503       RWStepBasic_RWWeekOfYearAndDayDate tool;
11504 //      if (anent.IsNull()) return; 
11505       tool.WriteStep (SW,anent);
11506     }
11507     
11508     break;
11509   case 319 : 
11510     {
11511       DeclareAndCast(StepGeom_UniformCurveAndRationalBSplineCurve, anent, ent);
11512       RWStepGeom_RWUniformCurveAndRationalBSplineCurve tool;
11513 //      if (anent.IsNull()) return; 
11514       tool.WriteStep (SW,anent);
11515     }
11516     
11517     break;
11518   case 320 : 
11519     {
11520       DeclareAndCast(StepGeom_BSplineCurveWithKnotsAndRationalBSplineCurve, anent, ent);
11521       RWStepGeom_RWBSplineCurveWithKnotsAndRationalBSplineCurve tool;
11522 //      if (anent.IsNull()) return; 
11523       tool.WriteStep (SW,anent);
11524     }
11525     
11526     break;
11527   case 321 : 
11528     {
11529       DeclareAndCast(StepGeom_QuasiUniformCurveAndRationalBSplineCurve, anent, ent);
11530       RWStepGeom_RWQuasiUniformCurveAndRationalBSplineCurve tool;
11531 //      if (anent.IsNull()) return; 
11532       tool.WriteStep (SW,anent);
11533     }
11534     
11535     break;
11536   case 322 : 
11537     {
11538       DeclareAndCast(StepGeom_BezierCurveAndRationalBSplineCurve, anent, ent);
11539       RWStepGeom_RWBezierCurveAndRationalBSplineCurve tool;
11540 //      if (anent.IsNull()) return; 
11541       tool.WriteStep (SW,anent);
11542     }
11543     
11544     break;
11545   case 323 : 
11546     {
11547       DeclareAndCast(StepGeom_BSplineSurfaceWithKnotsAndRationalBSplineSurface, anent, ent);
11548       RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface tool;
11549 //      if (anent.IsNull()) return; 
11550       tool.WriteStep (SW,anent);
11551     }
11552     
11553     break;
11554   case 324 : 
11555     {
11556       DeclareAndCast(StepGeom_UniformSurfaceAndRationalBSplineSurface, anent, ent);
11557       RWStepGeom_RWUniformSurfaceAndRationalBSplineSurface tool;
11558 //      if (anent.IsNull()) return; 
11559       tool.WriteStep (SW,anent);
11560     }
11561     
11562     break;
11563   case 325 : 
11564     {
11565       DeclareAndCast(StepGeom_QuasiUniformSurfaceAndRationalBSplineSurface, anent, ent);
11566       RWStepGeom_RWQuasiUniformSurfaceAndRationalBSplineSurface tool;
11567 //      if (anent.IsNull()) return; 
11568       tool.WriteStep (SW,anent);
11569     }
11570     
11571     break;
11572   case 326 : 
11573     {
11574       DeclareAndCast(StepGeom_BezierSurfaceAndRationalBSplineSurface, anent, ent);
11575       RWStepGeom_RWBezierSurfaceAndRationalBSplineSurface tool;
11576 //      if (anent.IsNull()) return; 
11577       tool.WriteStep (SW,anent);
11578     }
11579     
11580     break;
11581   case 327 : 
11582     {
11583       DeclareAndCast(StepBasic_SiUnitAndLengthUnit, anent, ent);
11584       RWStepBasic_RWSiUnitAndLengthUnit tool;
11585 //      if (anent.IsNull()) return; 
11586       tool.WriteStep (SW,anent);
11587     }
11588     
11589     break;
11590   case 328 : 
11591     {
11592       DeclareAndCast(StepBasic_SiUnitAndPlaneAngleUnit, anent, ent);
11593       RWStepBasic_RWSiUnitAndPlaneAngleUnit tool;
11594 //      if (anent.IsNull()) return; 
11595       tool.WriteStep (SW,anent);
11596     }
11597     
11598     break;
11599   case 329 : 
11600     {
11601       DeclareAndCast(StepBasic_ConversionBasedUnitAndLengthUnit, anent, ent);
11602       RWStepBasic_RWConversionBasedUnitAndLengthUnit tool;
11603 //      if (anent.IsNull()) return; 
11604       tool.WriteStep (SW,anent);
11605     }
11606     
11607     break;
11608   case 330 : 
11609     {
11610       DeclareAndCast(StepBasic_ConversionBasedUnitAndPlaneAngleUnit, anent, ent);
11611       RWStepBasic_RWConversionBasedUnitAndPlaneAngleUnit tool;
11612 //      if (anent.IsNull()) return; 
11613       tool.WriteStep (SW,anent);
11614     }
11615     
11616     break;
11617   case 331 : 
11618     {
11619       DeclareAndCast(StepGeom_GeometricRepresentationContextAndGlobalUnitAssignedContext, anent, ent);
11620       RWStepGeom_RWGeometricRepresentationContextAndGlobalUnitAssignedContext tool;
11621 //      if (anent.IsNull()) return; 
11622       tool.WriteStep (SW,anent);
11623     }
11624     
11625     break;
11626   case 332 : 
11627     {
11628       DeclareAndCast(StepShape_LoopAndPath, anent, ent);
11629       RWStepShape_RWLoopAndPath tool;
11630 //      if (anent.IsNull()) return; 
11631       tool.WriteStep (SW,anent);
11632     }
11633     
11634     break;
11635     
11636     // ------------
11637     // Added by FMA
11638     // ------------
11639     
11640   case 333 :
11641     {
11642       DeclareAndCast(StepGeom_GeomRepContextAndGlobUnitAssCtxAndGlobUncertaintyAssCtx, anent, ent);
11643       RWStepGeom_RWGeomRepContextAndGlobUnitAssCtxAndGlobUncertaintyAssCtx tool;
11644 //      if (anent.IsNull()) return; 
11645       tool.WriteStep (SW,anent);
11646     }
11647     break;
11648     
11649   case 334 :
11650     {
11651       DeclareAndCast(StepBasic_ConversionBasedUnitAndSolidAngleUnit, anent, ent);
11652       RWStepBasic_RWConversionBasedUnitAndSolidAngleUnit tool;
11653 //      if (anent.IsNull()) return; 
11654       tool.WriteStep (SW,anent);
11655     }
11656     break;
11657     
11658   case 335 :
11659     {
11660       DeclareAndCast(StepBasic_SiUnitAndSolidAngleUnit, anent, ent);
11661       RWStepBasic_RWSiUnitAndSolidAngleUnit tool;
11662 //      if (anent.IsNull()) return; 
11663       tool.WriteStep (SW,anent);
11664     }
11665     break;
11666   case 336 :
11667     {
11668       DeclareAndCast(StepBasic_SolidAngleUnit, anent, ent);
11669       RWStepBasic_RWSolidAngleUnit tool;
11670 //      if (anent.IsNull()) return; 
11671       tool.WriteStep (SW,anent);
11672     }
11673     break;
11674   case 337 :
11675     {
11676       DeclareAndCast(StepShape_FacetedBrepAndBrepWithVoids, anent, ent);
11677       RWStepShape_RWFacetedBrepAndBrepWithVoids tool;
11678 //      if (anent.IsNull()) return; 
11679       tool.WriteStep (SW,anent);
11680     }
11681     break;
11682   case 338 : 
11683     {
11684       DeclareAndCast(StepGeom_GeometricRepresentationContextAndParametricRepresentationContext, anent, ent);
11685       RWStepGeom_RWGeometricRepresentationContextAndParametricRepresentationContext tool;
11686 //      if (anent.IsNull()) return; 
11687       tool.WriteStep (SW,anent);
11688     }
11689     break;
11690   case 339 : 
11691     {
11692       DeclareAndCast(StepBasic_MechanicalContext, anent, ent);
11693       RWStepBasic_RWMechanicalContext tool;
11694 //      if (anent.IsNull()) return; 
11695       tool.WriteStep (SW,anent);
11696     }
11697     break;
11698
11699   case 340 :    // added by CKY : DesignContext cf ProductDefinitionContext
11700     {
11701       DeclareAndCast(StepBasic_ProductDefinitionContext, anent, ent);
11702       RWStepBasic_RWProductDefinitionContext tool;
11703 //      if (anent.IsNull()) return; 
11704       tool.WriteStep (SW,anent);
11705       break;
11706     }
11707
11708     // -----------
11709     // Added for Rev4
11710     // -----------
11711     
11712   case 341:  // TimeMeasureWithUnit
11713     {
11714       DeclareAndCast(StepBasic_MeasureWithUnit,anent,ent);
11715       RWStepBasic_RWMeasureWithUnit tool;
11716       tool.WriteStep (SW,anent);
11717     }
11718     break;
11719
11720   case 342:
11721   case 343:  // RatioUnit, TimeUnit
11722     {
11723       DeclareAndCast(StepBasic_NamedUnit,anent,ent);
11724       RWStepBasic_RWNamedUnit tool;
11725       tool.WriteStep (SW,anent);
11726     }
11727     break;
11728   case 344:
11729     {
11730       DeclareAndCast(StepBasic_SiUnitAndRatioUnit,anent,ent);
11731       RWStepBasic_RWSiUnitAndRatioUnit tool;
11732       tool.WriteStep (SW,anent);
11733     }
11734     break;
11735   case 345:
11736     {
11737       DeclareAndCast(StepBasic_SiUnitAndTimeUnit,anent,ent);
11738       RWStepBasic_RWSiUnitAndTimeUnit tool;
11739       tool.WriteStep (SW,anent);
11740     }
11741     break;
11742   case 346:
11743     {
11744       DeclareAndCast(StepBasic_ConversionBasedUnitAndRatioUnit,anent,ent);
11745       RWStepBasic_RWConversionBasedUnitAndRatioUnit tool;
11746       tool.WriteStep (SW,anent);
11747     }
11748     break;
11749   case 347:
11750     {
11751       DeclareAndCast(StepBasic_ConversionBasedUnitAndTimeUnit,anent,ent);
11752       RWStepBasic_RWConversionBasedUnitAndTimeUnit tool;
11753       tool.WriteStep (SW,anent);
11754     }
11755     break;
11756     
11757   case 348:  // ApprovalDateTime
11758     {
11759       DeclareAndCast(StepBasic_ApprovalDateTime,anent,ent);
11760       RWStepBasic_RWApprovalDateTime tool;
11761       tool.WriteStep (SW,anent);
11762     }
11763     break;
11764   case 349: // CameraImage 2d and 3d
11765   case 350:
11766     {
11767       DeclareAndCast(StepVisual_CameraImage,anent,ent);
11768       RWStepVisual_RWCameraImage tool;
11769       tool.WriteStep (SW,anent);
11770     }
11771     break;
11772   case 351:
11773     {
11774       DeclareAndCast(StepGeom_CartesianTransformationOperator,anent,ent);
11775       RWStepGeom_RWCartesianTransformationOperator tool;
11776       tool.WriteStep (SW,anent);
11777     }
11778     break;
11779   case 352:
11780     {
11781       DeclareAndCast(StepBasic_DerivedUnit,anent,ent);
11782       RWStepBasic_RWDerivedUnit tool;
11783       tool.WriteStep (SW,anent);
11784     }
11785     break;
11786   case 353:
11787     {
11788       DeclareAndCast(StepBasic_DerivedUnitElement,anent,ent);
11789       RWStepBasic_RWDerivedUnitElement tool;
11790       tool.WriteStep (SW,anent);
11791     }
11792     break;
11793   case 354:
11794     {
11795       DeclareAndCast(StepRepr_ItemDefinedTransformation,anent,ent);
11796       RWStepRepr_RWItemDefinedTransformation tool;
11797       tool.WriteStep (SW,anent);
11798     }
11799     break;
11800   case 355:
11801     {
11802       DeclareAndCast(StepVisual_PresentedItemRepresentation,anent,ent);
11803       RWStepVisual_RWPresentedItemRepresentation tool;
11804       tool.WriteStep (SW,anent);
11805     }
11806     break;
11807   case 356:
11808     {
11809       DeclareAndCast(StepVisual_PresentationLayerUsage,anent,ent);
11810       RWStepVisual_RWPresentationLayerUsage tool;
11811       tool.WriteStep (SW,anent);
11812     }
11813     break;
11814
11815     //:n5 abv 15 Feb 99: S4132 complex type bounded_curve + surface_curve
11816   case 358 : 
11817     {
11818       DeclareAndCast(StepGeom_SurfaceCurveAndBoundedCurve, anent, ent);
11819       RWStepGeom_RWSurfaceCurveAndBoundedCurve tool;
11820       tool.WriteStep (SW,anent);
11821       break;
11822     }
11823
11824     //  AP214 : CC1 -> CC2
11825   case 366:
11826     {
11827       DeclareAndCast(StepAP214_AutoDesignDocumentReference,anent,ent);
11828       RWStepAP214_RWAutoDesignDocumentReference tool;
11829       tool.WriteStep (SW,anent);
11830     }
11831     break;
11832   case 367:
11833   case 368:
11834     {
11835       DeclareAndCast(StepBasic_Document,anent,ent);
11836       RWStepBasic_RWDocument tool;
11837       tool.WriteStep (SW,anent);
11838     }
11839     break;
11840   case 369:
11841     {
11842       DeclareAndCast(StepBasic_DocumentRelationship,anent,ent);
11843       RWStepBasic_RWDocumentRelationship tool;
11844       tool.WriteStep (SW,anent);
11845     }
11846     break;
11847   case 370:
11848     {
11849       DeclareAndCast(StepBasic_DocumentType,anent,ent);
11850       RWStepBasic_RWDocumentType tool;
11851       tool.WriteStep (SW,anent);
11852     }
11853     break;
11854   case 371:
11855     {
11856       DeclareAndCast(StepBasic_DocumentUsageConstraint,anent,ent);
11857       RWStepBasic_RWDocumentUsageConstraint tool;
11858       tool.WriteStep (SW,anent);
11859     }
11860     break;
11861   case 372:
11862     {
11863       DeclareAndCast(StepBasic_Effectivity,anent,ent);
11864       RWStepBasic_RWEffectivity tool;
11865       tool.WriteStep (SW,anent);
11866     }
11867     break;
11868   case 373:
11869     {
11870       DeclareAndCast(StepBasic_ProductDefinitionEffectivity,anent,ent);
11871       RWStepBasic_RWProductDefinitionEffectivity tool;
11872       tool.WriteStep (SW,anent);
11873     }
11874     break;
11875   case 374:
11876     {
11877       DeclareAndCast(StepBasic_ProductDefinitionRelationship,anent,ent);
11878       RWStepBasic_RWProductDefinitionRelationship tool;
11879       tool.WriteStep (SW,anent);
11880     }
11881     break;
11882   case 375:
11883     {
11884       DeclareAndCast(StepBasic_ProductDefinitionWithAssociatedDocuments,anent,ent);
11885       RWStepBasic_RWProductDefinitionWithAssociatedDocuments tool;
11886       tool.WriteStep (SW,anent);
11887     }
11888     break;
11889   case 376:
11890     {
11891       DeclareAndCast(StepBasic_PhysicallyModeledProductDefinition,anent,ent);
11892       RWStepBasic_RWProductDefinition tool;
11893       tool.WriteStep (SW,anent);
11894     }
11895     break;
11896     
11897   case 377:
11898     {
11899       DeclareAndCast(StepRepr_ProductDefinitionUsage,anent,ent);
11900       RWStepBasic_RWProductDefinitionRelationship tool;
11901       tool.WriteStep (SW,anent);
11902     }
11903     break;
11904   case 378:
11905     {
11906       DeclareAndCast(StepRepr_MakeFromUsageOption,anent,ent);
11907       RWStepRepr_RWMakeFromUsageOption tool;
11908       tool.WriteStep (SW,anent);
11909     }
11910     break;
11911   case 379:
11912   case 380:
11913   case 381:
11914     {
11915       DeclareAndCast(StepRepr_AssemblyComponentUsage,anent,ent);
11916       RWStepRepr_RWAssemblyComponentUsage tool;
11917       tool.WriteStep (SW,anent);
11918     }
11919     break;
11920   case 382:
11921     {
11922       DeclareAndCast(StepRepr_QuantifiedAssemblyComponentUsage,anent,ent);
11923       RWStepRepr_RWQuantifiedAssemblyComponentUsage tool;
11924       tool.WriteStep (SW,anent);
11925     }
11926     break;
11927   case 383:
11928     {
11929       DeclareAndCast(StepRepr_SpecifiedHigherUsageOccurrence,anent,ent);
11930       RWStepRepr_RWSpecifiedHigherUsageOccurrence tool;
11931       tool.WriteStep (SW,anent);
11932     }
11933     break;
11934   case 384:
11935     {
11936       DeclareAndCast(StepRepr_AssemblyComponentUsageSubstitute,anent,ent);
11937       RWStepRepr_RWAssemblyComponentUsageSubstitute tool;
11938       tool.WriteStep (SW,anent);
11939     }
11940     break;
11941   case 385:
11942     {
11943       DeclareAndCast(StepRepr_SuppliedPartRelationship,anent,ent);
11944       RWStepBasic_RWProductDefinitionRelationship tool;
11945       tool.WriteStep (SW,anent);
11946     }
11947     break;
11948   case 386:
11949     {
11950       DeclareAndCast(StepRepr_ExternallyDefinedRepresentation,anent,ent);
11951       RWStepRepr_RWRepresentation tool;
11952       tool.WriteStep (SW,anent);
11953     }
11954     break;
11955   case 387:
11956     {
11957       DeclareAndCast(StepRepr_ShapeRepresentationRelationship,anent,ent);
11958       RWStepRepr_RWRepresentationRelationship tool;
11959       tool.WriteStep (SW,anent);
11960     }
11961     break;
11962   case 388:
11963     {
11964       DeclareAndCast(StepRepr_RepresentationRelationshipWithTransformation,anent,ent);
11965       RWStepRepr_RWRepresentationRelationshipWithTransformation tool;
11966       tool.WriteStep (SW,anent);
11967     }
11968     break;
11969     
11970   case 389:
11971     {
11972       DeclareAndCast(StepRepr_ShapeRepresentationRelationshipWithTransformation,anent,ent);
11973       RWStepRepr_RWShapeRepresentationRelationshipWithTransformation tool;
11974       tool.WriteStep (SW,anent);
11975     }
11976     break;
11977     
11978   case 390:
11979     {
11980       DeclareAndCast(StepRepr_MaterialDesignation,anent,ent);
11981       RWStepRepr_RWMaterialDesignation tool;
11982       tool.WriteStep (SW,anent);
11983     }
11984     break;
11985     
11986   case 391:
11987     {
11988       DeclareAndCast(StepShape_ContextDependentShapeRepresentation,anent,ent);
11989       RWStepShape_RWContextDependentShapeRepresentation tool;
11990       tool.WriteStep (SW,anent);
11991     }
11992     break;
11993
11994     //:S4134: Added from CD to DIS
11995   case 392:
11996     {
11997       DeclareAndCast(StepAP214_AppliedDateAndTimeAssignment,anent,ent);
11998       RWStepAP214_RWAppliedDateAndTimeAssignment tool;
11999       tool.WriteStep (SW,anent);
12000     }
12001     break;
12002   case 393:
12003     {
12004       DeclareAndCast(StepAP214_AppliedDateAssignment,anent,ent);
12005       RWStepAP214_RWAppliedDateAssignment tool;
12006       tool.WriteStep (SW,anent);
12007     }
12008     break;
12009   case 394:
12010     {
12011       DeclareAndCast(StepAP214_AppliedApprovalAssignment,anent,ent);
12012       RWStepAP214_RWAppliedApprovalAssignment tool;
12013       tool.WriteStep (SW,anent);
12014     }
12015     break;
12016   case 395:
12017     {
12018       DeclareAndCast(StepAP214_AppliedGroupAssignment,anent,ent);
12019       RWStepAP214_RWAppliedGroupAssignment tool;
12020       tool.WriteStep (SW,anent);
12021     }
12022     break;
12023   case 396:
12024     {
12025       DeclareAndCast(StepAP214_AppliedOrganizationAssignment,anent,ent);
12026       RWStepAP214_RWAppliedOrganizationAssignment tool;
12027       tool.WriteStep (SW,anent);
12028     }
12029     break;
12030   case 397:
12031     {
12032       DeclareAndCast(StepAP214_AppliedPersonAndOrganizationAssignment,anent,ent);
12033       RWStepAP214_RWAppliedPersonAndOrganizationAssignment tool;
12034       tool.WriteStep (SW,anent);
12035     }
12036     break;
12037   case 398:
12038     {
12039       DeclareAndCast(StepAP214_AppliedPresentedItem,anent,ent);
12040       RWStepAP214_RWAppliedPresentedItem tool;
12041       tool.WriteStep (SW,anent);
12042     }
12043     break;
12044   case 399:
12045     {
12046       DeclareAndCast(StepAP214_AppliedSecurityClassificationAssignment,anent,ent);
12047       RWStepAP214_RWAppliedSecurityClassificationAssignment tool;
12048       tool.WriteStep (SW,anent);
12049     }
12050     break;
12051   case 400:
12052     {
12053       DeclareAndCast(StepAP214_AppliedDocumentReference,anent,ent);
12054       RWStepAP214_RWAppliedDocumentReference tool;
12055       tool.WriteStep (SW,anent);
12056     }
12057     break;
12058   case 401:
12059     {
12060       DeclareAndCast(StepBasic_DocumentFile,anent,ent);
12061       RWStepBasic_RWDocumentFile tool;
12062       tool.WriteStep (SW,anent);
12063     }
12064     break;
12065   case 402:
12066     {
12067       DeclareAndCast(StepBasic_CharacterizedObject,anent,ent);
12068       RWStepBasic_RWCharacterizedObject tool;
12069       tool.WriteStep (SW,anent);
12070     }
12071     break;
12072   case 403:
12073     {
12074       DeclareAndCast(StepShape_ExtrudedFaceSolid,anent,ent);
12075       RWStepShape_RWExtrudedFaceSolid tool;
12076       tool.WriteStep (SW,anent);
12077     }
12078     break;
12079     
12080   case 404:
12081     {
12082       DeclareAndCast(StepShape_RevolvedFaceSolid,anent,ent);
12083       RWStepShape_RWRevolvedFaceSolid tool;
12084         tool.WriteStep (SW,anent);
12085     }
12086     break;
12087   case 405:
12088     {
12089       DeclareAndCast(StepShape_SweptFaceSolid,anent,ent);
12090       RWStepShape_RWSweptFaceSolid tool;
12091       tool.WriteStep (SW,anent);
12092     }
12093     break;
12094     
12095   // Added by ABV 08.09.99 for CAX TRJ 2 (validation properties)
12096   case 406:
12097     {
12098       DeclareAndCast(StepRepr_MeasureRepresentationItem,anent,ent);
12099       RWStepRepr_RWMeasureRepresentationItem tool;
12100       tool.WriteStep (SW,anent);
12101     }
12102     break;
12103   case 407:
12104     {
12105       DeclareAndCast(StepBasic_AreaUnit,anent,ent);
12106       RWStepBasic_RWNamedUnit tool;
12107       tool.WriteStep (SW,anent);
12108     }
12109     break;    
12110   case 408:
12111     {
12112       DeclareAndCast(StepBasic_VolumeUnit,anent,ent);
12113       RWStepBasic_RWNamedUnit tool;
12114       tool.WriteStep (SW,anent);
12115     }
12116     break;    
12117   case 409:
12118     {
12119       DeclareAndCast(StepBasic_SiUnitAndAreaUnit,anent,ent);
12120       RWStepBasic_RWSiUnitAndAreaUnit tool;
12121       tool.WriteStep (SW,anent);
12122     }
12123     break;
12124   case 410:
12125     {
12126       DeclareAndCast(StepBasic_SiUnitAndVolumeUnit,anent,ent);
12127       RWStepBasic_RWSiUnitAndVolumeUnit tool;
12128       tool.WriteStep (SW,anent);
12129     }
12130     break;
12131   case 411:
12132     {
12133       DeclareAndCast(StepBasic_ConversionBasedUnitAndAreaUnit,anent,ent);
12134       RWStepBasic_RWConversionBasedUnitAndAreaUnit tool;
12135       tool.WriteStep (SW,anent);
12136     }
12137     break;
12138   case 412:
12139     {
12140       DeclareAndCast(StepBasic_ConversionBasedUnitAndVolumeUnit,anent,ent);
12141       RWStepBasic_RWConversionBasedUnitAndVolumeUnit tool;
12142       tool.WriteStep (SW,anent);
12143     }
12144     break; 
12145
12146   // Added by ABV 10.11.99 for AP203
12147   case 413:
12148     {
12149       DeclareAndCast(StepBasic_Action,anent,ent);
12150       RWStepBasic_RWAction tool;
12151       tool.WriteStep (SW,anent);
12152     }
12153     break;
12154   case 414:
12155     {
12156       DeclareAndCast(StepBasic_ActionAssignment,anent,ent);
12157       RWStepBasic_RWActionAssignment tool;
12158       tool.WriteStep (SW,anent);
12159     }
12160     break;
12161   case 415:
12162     {
12163       DeclareAndCast(StepBasic_ActionMethod,anent,ent);
12164       RWStepBasic_RWActionMethod tool;
12165       tool.WriteStep (SW,anent);
12166     }
12167     break;
12168   case 416:
12169     {
12170       DeclareAndCast(StepBasic_ActionRequestAssignment,anent,ent);
12171       RWStepBasic_RWActionRequestAssignment tool;
12172       tool.WriteStep (SW,anent);
12173     }
12174     break;
12175   case 417:
12176     {
12177       DeclareAndCast(StepAP203_CcDesignApproval,anent,ent);
12178       RWStepAP203_RWCcDesignApproval tool;
12179       tool.WriteStep (SW,anent);
12180     }
12181     break;
12182   case 418:
12183     {
12184       DeclareAndCast(StepAP203_CcDesignCertification,anent,ent);
12185       RWStepAP203_RWCcDesignCertification tool;
12186       tool.WriteStep (SW,anent);
12187     }
12188     break;
12189   case 419:
12190     {
12191       DeclareAndCast(StepAP203_CcDesignContract,anent,ent);
12192       RWStepAP203_RWCcDesignContract tool;
12193       tool.WriteStep (SW,anent);
12194     }
12195     break;
12196   case 420:
12197     {
12198       DeclareAndCast(StepAP203_CcDesignDateAndTimeAssignment,anent,ent);
12199       RWStepAP203_RWCcDesignDateAndTimeAssignment tool;
12200       tool.WriteStep (SW,anent);
12201     }
12202     break;
12203   case 421:
12204     {
12205       DeclareAndCast(StepAP203_CcDesignPersonAndOrganizationAssignment,anent,ent);
12206       RWStepAP203_RWCcDesignPersonAndOrganizationAssignment tool;
12207       tool.WriteStep (SW,anent);
12208     }
12209     break;
12210   case 422:
12211     {
12212       DeclareAndCast(StepAP203_CcDesignSecurityClassification,anent,ent);
12213       RWStepAP203_RWCcDesignSecurityClassification tool;
12214       tool.WriteStep (SW,anent);
12215     }
12216     break;
12217   case 423:
12218     {
12219       DeclareAndCast(StepAP203_CcDesignSpecificationReference,anent,ent);
12220       RWStepAP203_RWCcDesignSpecificationReference tool;
12221       tool.WriteStep (SW,anent);
12222     }
12223     break;
12224   case 424:
12225     {
12226       DeclareAndCast(StepBasic_Certification,anent,ent);
12227       RWStepBasic_RWCertification tool;
12228       tool.WriteStep (SW,anent);
12229     }
12230     break;
12231   case 425:
12232     {
12233       DeclareAndCast(StepBasic_CertificationAssignment,anent,ent);
12234       RWStepBasic_RWCertificationAssignment tool;
12235       tool.WriteStep (SW,anent);
12236     }
12237     break;
12238   case 426:
12239     {
12240       DeclareAndCast(StepBasic_CertificationType,anent,ent);
12241       RWStepBasic_RWCertificationType tool;
12242       tool.WriteStep (SW,anent);
12243     }
12244     break;
12245   case 427:
12246     {
12247       DeclareAndCast(StepAP203_Change,anent,ent);
12248       RWStepAP203_RWChange tool;
12249       tool.WriteStep (SW,anent);
12250     }
12251     break;
12252   case 428:
12253     {
12254       DeclareAndCast(StepAP203_ChangeRequest,anent,ent);
12255       RWStepAP203_RWChangeRequest tool;
12256       tool.WriteStep (SW,anent);
12257     }
12258     break;
12259   case 429:
12260     {
12261       DeclareAndCast(StepRepr_ConfigurationDesign,anent,ent);
12262       RWStepRepr_RWConfigurationDesign tool;
12263       tool.WriteStep (SW,anent);
12264     }
12265     break;
12266   case 430:
12267     {
12268       DeclareAndCast(StepRepr_ConfigurationEffectivity,anent,ent);
12269       RWStepRepr_RWConfigurationEffectivity tool;
12270       tool.WriteStep (SW,anent);
12271     }
12272     break;
12273   case 431:
12274     {
12275       DeclareAndCast(StepBasic_Contract,anent,ent);
12276       RWStepBasic_RWContract tool;
12277       tool.WriteStep (SW,anent);
12278     }
12279     break;
12280   case 432:
12281     {
12282       DeclareAndCast(StepBasic_ContractAssignment,anent,ent);
12283       RWStepBasic_RWContractAssignment tool;
12284       tool.WriteStep (SW,anent);
12285     }
12286     break;
12287   case 433:
12288     {
12289       DeclareAndCast(StepBasic_ContractType,anent,ent);
12290       RWStepBasic_RWContractType tool;
12291       tool.WriteStep (SW,anent);
12292     }
12293     break;
12294   case 434:
12295     {
12296       DeclareAndCast(StepRepr_ProductConcept,anent,ent);
12297       RWStepRepr_RWProductConcept tool;
12298       tool.WriteStep (SW,anent);
12299     }
12300     break;
12301   case 435:
12302     {
12303       DeclareAndCast(StepBasic_ProductConceptContext,anent,ent);
12304       RWStepBasic_RWProductConceptContext tool;
12305       tool.WriteStep (SW,anent);
12306     }
12307     break;
12308   case 436:
12309     {
12310       DeclareAndCast(StepAP203_StartRequest,anent,ent);
12311       RWStepAP203_RWStartRequest tool;
12312       tool.WriteStep (SW,anent);
12313     }
12314     break;
12315   case 437:
12316     {
12317       DeclareAndCast(StepAP203_StartWork,anent,ent);
12318       RWStepAP203_RWStartWork tool;
12319       tool.WriteStep (SW,anent);
12320     }
12321     break;
12322   case 438:
12323     {
12324       DeclareAndCast(StepBasic_VersionedActionRequest,anent,ent);
12325       RWStepBasic_RWVersionedActionRequest tool;
12326       tool.WriteStep (SW,anent);
12327     }
12328     break;
12329   case 439:
12330     {
12331       DeclareAndCast(StepBasic_ProductCategoryRelationship,anent,ent);
12332       RWStepBasic_RWProductCategoryRelationship tool;
12333       tool.WriteStep (SW,anent);
12334     }
12335     break;
12336   case 440:
12337     {
12338       DeclareAndCast(StepBasic_ActionRequestSolution,anent,ent);
12339       RWStepBasic_RWActionRequestSolution tool;
12340       tool.WriteStep (SW,anent);
12341     }
12342     break;
12343
12344   case 441:
12345     {
12346       DeclareAndCast(StepVisual_DraughtingModel,anent,ent);
12347       RWStepVisual_RWDraughtingModel tool;
12348       tool.WriteStep (SW,anent);
12349     }
12350     break;
12351     
12352   // Added by ABV 18.04.00 for CAX-IF TRJ4
12353   case 442:
12354     {
12355       DeclareAndCast(StepShape_AngularLocation,anent,ent);
12356       RWStepShape_RWAngularLocation tool;
12357       tool.WriteStep (SW,anent);
12358     }
12359     break;
12360   case 443:
12361     {
12362       DeclareAndCast(StepShape_AngularSize,anent,ent);
12363       RWStepShape_RWAngularSize tool;
12364       tool.WriteStep (SW,anent);
12365     }
12366     break;
12367   case 444:
12368     {
12369       DeclareAndCast(StepShape_DimensionalCharacteristicRepresentation,anent,ent);
12370       RWStepShape_RWDimensionalCharacteristicRepresentation tool;
12371       tool.WriteStep (SW,anent);
12372     }
12373     break;
12374   case 445:
12375     {
12376       DeclareAndCast(StepShape_DimensionalLocation,anent,ent);
12377       RWStepShape_RWDimensionalLocation tool;
12378       tool.WriteStep (SW,anent);
12379     }
12380     break;
12381   case 446:
12382     {
12383       DeclareAndCast(StepShape_DimensionalLocationWithPath,anent,ent);
12384       RWStepShape_RWDimensionalLocationWithPath tool;
12385       tool.WriteStep (SW,anent);
12386     }
12387     break;
12388   case 447:
12389     {
12390       DeclareAndCast(StepShape_DimensionalSize,anent,ent);
12391       RWStepShape_RWDimensionalSize tool;
12392       tool.WriteStep (SW,anent);
12393     }
12394     break;
12395   case 448:
12396     {
12397       DeclareAndCast(StepShape_DimensionalSizeWithPath,anent,ent);
12398       RWStepShape_RWDimensionalSizeWithPath tool;
12399       tool.WriteStep (SW,anent);
12400     }
12401     break;
12402   case 449:
12403     {
12404       DeclareAndCast(StepShape_ShapeDimensionRepresentation,anent,ent);
12405       RWStepShape_RWShapeDimensionRepresentation tool;
12406       tool.WriteStep (SW,anent);
12407     }
12408     break;
12409
12410     // Added by ABV 10.05.00 for CAX-IF TRJ4 (external references)
12411   case 450:
12412     {
12413       DeclareAndCast(StepBasic_DocumentRepresentationType,anent,ent);
12414       RWStepBasic_RWDocumentRepresentationType tool;
12415       tool.WriteStep (SW,anent);
12416     }
12417     break;
12418   case 451:
12419     {
12420       DeclareAndCast(StepBasic_ObjectRole,anent,ent);
12421       RWStepBasic_RWObjectRole tool;
12422       tool.WriteStep (SW,anent);
12423     }
12424     break;
12425   case 452:
12426     {
12427       DeclareAndCast(StepBasic_RoleAssociation,anent,ent);
12428       RWStepBasic_RWRoleAssociation tool;
12429       tool.WriteStep (SW,anent);
12430     }
12431     break;
12432   case 453:
12433     {
12434       DeclareAndCast(StepBasic_IdentificationRole,anent,ent);
12435       RWStepBasic_RWIdentificationRole tool;
12436       tool.WriteStep (SW,anent);
12437     }
12438     break;
12439   case 454:
12440     {
12441       DeclareAndCast(StepBasic_IdentificationAssignment,anent,ent);
12442       RWStepBasic_RWIdentificationAssignment tool;
12443       tool.WriteStep (SW,anent);
12444     }
12445     break;
12446   case 455:
12447     {
12448       DeclareAndCast(StepBasic_ExternalIdentificationAssignment,anent,ent);
12449       RWStepBasic_RWExternalIdentificationAssignment tool;
12450       tool.WriteStep (SW,anent);
12451     }
12452     break;
12453   case 456:
12454     {
12455       DeclareAndCast(StepBasic_EffectivityAssignment,anent,ent);
12456       RWStepBasic_RWEffectivityAssignment tool;
12457       tool.WriteStep (SW,anent);
12458     }
12459     break;
12460   case 457:
12461     {
12462       DeclareAndCast(StepBasic_NameAssignment,anent,ent);
12463       RWStepBasic_RWNameAssignment tool;
12464       tool.WriteStep (SW,anent);
12465     }
12466     break;
12467   case 458:
12468     {
12469       DeclareAndCast(StepBasic_GeneralProperty,anent,ent);
12470       RWStepBasic_RWGeneralProperty tool;
12471       tool.WriteStep (SW,anent);
12472     }
12473     break;
12474   case 459:
12475     {
12476       DeclareAndCast(StepAP214_Class,anent,ent);
12477       RWStepAP214_RWClass tool;
12478       tool.WriteStep (SW,anent);
12479     }
12480     break;
12481   case 460:
12482     {
12483       DeclareAndCast(StepAP214_ExternallyDefinedClass,anent,ent);
12484       RWStepAP214_RWExternallyDefinedClass tool;
12485       tool.WriteStep (SW,anent);
12486     }
12487     break;
12488   case 461:
12489     {
12490       DeclareAndCast(StepAP214_ExternallyDefinedGeneralProperty,anent,ent);
12491       RWStepAP214_RWExternallyDefinedGeneralProperty tool;
12492       tool.WriteStep (SW,anent);
12493     }
12494     break;
12495   case 462:
12496     {
12497       DeclareAndCast(StepAP214_AppliedExternalIdentificationAssignment,anent,ent);
12498       RWStepAP214_RWAppliedExternalIdentificationAssignment tool;
12499       tool.WriteStep (SW,anent);
12500     }
12501     break;
12502   case 463:
12503     {
12504       DeclareAndCast(StepShape_DefinitionalRepresentationAndShapeRepresentation,anent,ent);
12505       RWStepShape_RWDefinitionalRepresentationAndShapeRepresentation tool;
12506       tool.WriteStep (SW,anent);
12507     }
12508     break;
12509
12510       // Added by CKY 25 APR 2001 for CAX-IF TRJ7 (dimensional tolerances)
12511   case 470:
12512     {
12513       DeclareAndCast(StepRepr_CompositeShapeAspect,anent,ent);
12514       RWStepRepr_RWCompositeShapeAspect tool;
12515       tool.WriteStep (SW,anent);
12516     }
12517     break;
12518   case 471:
12519     {
12520       DeclareAndCast(StepRepr_DerivedShapeAspect,anent,ent);
12521       RWStepRepr_RWDerivedShapeAspect tool;
12522       tool.WriteStep (SW,anent);
12523     }
12524     break;
12525   case 472:
12526     {
12527       DeclareAndCast(StepRepr_Extension,anent,ent);
12528       RWStepRepr_RWExtension tool;
12529       tool.WriteStep (SW,anent);
12530     }
12531     break;
12532   case 473:  // same as DimensionalLocation
12533     {
12534       DeclareAndCast(StepShape_DirectedDimensionalLocation,anent,ent);
12535       RWStepShape_RWDimensionalLocation tool;
12536       tool.WriteStep (SW,anent);
12537     }
12538     break;
12539   case 474:
12540     {
12541       DeclareAndCast(StepShape_LimitsAndFits,anent,ent);
12542       RWStepShape_RWLimitsAndFits tool;
12543       tool.WriteStep (SW,anent);
12544     }
12545     break;
12546   case 475:
12547     {
12548       DeclareAndCast(StepShape_ToleranceValue,anent,ent);
12549       RWStepShape_RWToleranceValue tool;
12550       tool.WriteStep (SW,anent);
12551     }
12552     break;
12553   case 476:
12554     {
12555       DeclareAndCast(StepShape_MeasureQualification,anent,ent);
12556       RWStepShape_RWMeasureQualification tool;
12557       tool.WriteStep (SW,anent);
12558     }
12559     break;
12560   case 477:
12561     {
12562       DeclareAndCast(StepShape_PlusMinusTolerance,anent,ent);
12563       RWStepShape_RWPlusMinusTolerance tool;
12564       tool.WriteStep (SW,anent);
12565     }
12566     break;
12567   case 478:
12568     {
12569       DeclareAndCast(StepShape_PrecisionQualifier,anent,ent);
12570       RWStepShape_RWPrecisionQualifier tool;
12571       tool.WriteStep (SW,anent);
12572     }
12573     break;
12574   case 479:
12575     {
12576       DeclareAndCast(StepShape_TypeQualifier,anent,ent);
12577       RWStepShape_RWTypeQualifier tool;
12578       tool.WriteStep (SW,anent);
12579     }
12580     break;
12581   case 480:
12582     {
12583       DeclareAndCast(StepShape_QualifiedRepresentationItem,anent,ent);
12584       RWStepShape_RWQualifiedRepresentationItem tool;
12585       tool.WriteStep (SW,anent);
12586     }
12587     break;
12588   case 481:
12589     {
12590       DeclareAndCast(StepShape_MeasureRepresentationItemAndQualifiedRepresentationItem,anent,ent);
12591       RWStepShape_RWMeasureRepresentationItemAndQualifiedRepresentationItem tool;
12592       tool.WriteStep (SW,anent);
12593     }
12594     break;
12595   case 482:
12596   case 483:
12597     {
12598       DeclareAndCast(StepRepr_CompoundRepresentationItem,anent,ent);
12599       RWStepRepr_RWCompoundRepresentationItem tool;
12600       tool.WriteStep (SW,anent);
12601     }
12602     break;
12603
12604   case 484:  // same as ShapeAspectRelationship
12605     {
12606       DeclareAndCast(StepRepr_ShapeAspectRelationship,anent,ent);
12607       RWStepRepr_RWShapeAspectRelationship tool;
12608       tool.WriteStep (SW,anent);
12609     }
12610     break;
12611
12612     // abv 28.12.01
12613   case 485:
12614     {
12615       DeclareAndCast(StepShape_CompoundShapeRepresentation,anent,ent);
12616       RWStepShape_RWCompoundShapeRepresentation tool;
12617       tool.WriteStep (SW,anent);
12618     }
12619     break;
12620   case 486:
12621     {
12622       DeclareAndCast(StepShape_ConnectedEdgeSet,anent,ent);
12623       RWStepShape_RWConnectedEdgeSet tool;
12624       tool.WriteStep (SW,anent);
12625     }
12626     break;
12627   case 487:
12628     {
12629       DeclareAndCast(StepShape_ConnectedFaceShapeRepresentation,anent,ent);
12630       RWStepShape_RWConnectedFaceShapeRepresentation tool;
12631       tool.WriteStep (SW,anent);
12632     }
12633     break;
12634   case 488:
12635     {
12636       DeclareAndCast(StepShape_EdgeBasedWireframeModel,anent,ent);
12637       RWStepShape_RWEdgeBasedWireframeModel tool;
12638       tool.WriteStep (SW,anent);
12639     }
12640     break;
12641   case 489:
12642     {
12643       DeclareAndCast(StepShape_EdgeBasedWireframeShapeRepresentation,anent,ent);
12644       RWStepShape_RWEdgeBasedWireframeShapeRepresentation tool;
12645       tool.WriteStep (SW,anent);
12646     }
12647     break;
12648   case 490:
12649     {
12650       DeclareAndCast(StepShape_FaceBasedSurfaceModel,anent,ent);
12651       RWStepShape_RWFaceBasedSurfaceModel tool;
12652       tool.WriteStep (SW,anent);
12653     }
12654     break;
12655   case 491:
12656     {
12657       DeclareAndCast(StepShape_NonManifoldSurfaceShapeRepresentation,anent,ent);
12658       RWStepShape_RWNonManifoldSurfaceShapeRepresentation tool;
12659       tool.WriteStep (SW,anent);
12660     }
12661     break;
12662    case 492:
12663     {
12664       DeclareAndCast(StepGeom_OrientedSurface,anent,ent);
12665       RWStepGeom_RWOrientedSurface tool;
12666       tool.WriteStep (SW,anent);
12667     }
12668     break;
12669     case 493:
12670     {
12671       DeclareAndCast(StepShape_Subface,anent,ent);
12672       RWStepShape_RWSubface tool;
12673       tool.WriteStep (SW,anent);
12674     }
12675     break;
12676     case 494:
12677     {
12678       DeclareAndCast(StepShape_Subedge,anent,ent);
12679       RWStepShape_RWSubedge tool;
12680       tool.WriteStep (SW,anent);
12681     }
12682     break;
12683     case 495:
12684     {
12685       DeclareAndCast(StepShape_SeamEdge,anent,ent);
12686       RWStepShape_RWSeamEdge tool;
12687       tool.WriteStep (SW,anent);
12688     }
12689     break;
12690     case 496:
12691     {
12692       DeclareAndCast(StepShape_ConnectedFaceSubSet,anent,ent);
12693       RWStepShape_RWConnectedFaceSubSet tool;
12694       tool.WriteStep (SW,anent);
12695     }
12696     break;
12697     case 500:
12698     {
12699       DeclareAndCast(StepBasic_EulerAngles,anent,ent);
12700       RWStepBasic_RWEulerAngles tool;
12701       tool.WriteStep (SW,anent);
12702     }
12703     break;
12704   case 501:
12705     {
12706       DeclareAndCast(StepBasic_MassUnit,anent,ent);
12707       RWStepBasic_RWMassUnit tool;
12708       tool.WriteStep (SW,anent);
12709     }
12710     break;
12711   case 502:
12712     {
12713       DeclareAndCast(StepBasic_ThermodynamicTemperatureUnit,anent,ent);
12714       RWStepBasic_RWThermodynamicTemperatureUnit tool;
12715       tool.WriteStep (SW,anent);
12716     }
12717     break;
12718   case 503:
12719     {
12720       DeclareAndCast(StepElement_AnalysisItemWithinRepresentation,anent,ent);
12721       RWStepElement_RWAnalysisItemWithinRepresentation tool;
12722       tool.WriteStep (SW,anent);
12723     }
12724     break;
12725   case 504:
12726     {
12727       DeclareAndCast(StepElement_Curve3dElementDescriptor,anent,ent);
12728       RWStepElement_RWCurve3dElementDescriptor tool;
12729       tool.WriteStep (SW,anent);
12730     }
12731     break;
12732   case 505:
12733     {
12734       DeclareAndCast(StepElement_CurveElementEndReleasePacket,anent,ent);
12735       RWStepElement_RWCurveElementEndReleasePacket tool;
12736       tool.WriteStep (SW,anent);
12737     }
12738     break;
12739   case 506:
12740     {
12741       DeclareAndCast(StepElement_CurveElementSectionDefinition,anent,ent);
12742       RWStepElement_RWCurveElementSectionDefinition tool;
12743       tool.WriteStep (SW,anent);
12744     }
12745     break;
12746   case 507:
12747     {
12748       DeclareAndCast(StepElement_CurveElementSectionDerivedDefinitions,anent,ent);
12749       RWStepElement_RWCurveElementSectionDerivedDefinitions tool;
12750       tool.WriteStep (SW,anent);
12751     }
12752     break;
12753   case 508:
12754     {
12755       DeclareAndCast(StepElement_ElementDescriptor,anent,ent);
12756       RWStepElement_RWElementDescriptor tool;
12757       tool.WriteStep (SW,anent);
12758     }
12759     break;
12760   case 509:
12761     {
12762       DeclareAndCast(StepElement_ElementMaterial,anent,ent);
12763       RWStepElement_RWElementMaterial tool;
12764       tool.WriteStep (SW,anent);
12765     }
12766     break;
12767   case 510:
12768     {
12769       DeclareAndCast(StepElement_Surface3dElementDescriptor,anent,ent);
12770       RWStepElement_RWSurface3dElementDescriptor tool;
12771       tool.WriteStep (SW,anent);
12772     }
12773     break;
12774   case 511:
12775     {
12776       DeclareAndCast(StepElement_SurfaceElementProperty,anent,ent);
12777       RWStepElement_RWSurfaceElementProperty tool;
12778       tool.WriteStep (SW,anent);
12779     }
12780     break;
12781   case 512:
12782     {
12783       DeclareAndCast(StepElement_SurfaceSection,anent,ent);
12784       RWStepElement_RWSurfaceSection tool;
12785       tool.WriteStep (SW,anent);
12786     }
12787     break;
12788   case 513:
12789     {
12790       DeclareAndCast(StepElement_SurfaceSectionField,anent,ent);
12791       RWStepElement_RWSurfaceSectionField tool;
12792       tool.WriteStep (SW,anent);
12793     }
12794     break;
12795   case 514:
12796     {
12797       DeclareAndCast(StepElement_SurfaceSectionFieldConstant,anent,ent);
12798       RWStepElement_RWSurfaceSectionFieldConstant tool;
12799       tool.WriteStep (SW,anent);
12800     }
12801     break;
12802   case 515:
12803     {
12804       DeclareAndCast(StepElement_SurfaceSectionFieldVarying,anent,ent);
12805       RWStepElement_RWSurfaceSectionFieldVarying tool;
12806       tool.WriteStep (SW,anent);
12807     }
12808     break;
12809   case 516:
12810     {
12811       DeclareAndCast(StepElement_UniformSurfaceSection,anent,ent);
12812       RWStepElement_RWUniformSurfaceSection tool;
12813       tool.WriteStep (SW,anent);
12814     }
12815     break;
12816   case 517:
12817     {
12818       DeclareAndCast(StepElement_Volume3dElementDescriptor,anent,ent);
12819       RWStepElement_RWVolume3dElementDescriptor tool;
12820       tool.WriteStep (SW,anent);
12821     }
12822     break;
12823   case 518:
12824     {
12825       DeclareAndCast(StepFEA_AlignedCurve3dElementCoordinateSystem,anent,ent);
12826       RWStepFEA_RWAlignedCurve3dElementCoordinateSystem tool;
12827       tool.WriteStep (SW,anent);
12828     }
12829     break;
12830   case 519:
12831     {
12832       DeclareAndCast(StepFEA_ArbitraryVolume3dElementCoordinateSystem,anent,ent);
12833       RWStepFEA_RWArbitraryVolume3dElementCoordinateSystem tool;
12834       tool.WriteStep (SW,anent);
12835     }
12836     break;
12837   case 520:
12838     {
12839       DeclareAndCast(StepFEA_Curve3dElementProperty,anent,ent);
12840       RWStepFEA_RWCurve3dElementProperty tool;
12841       tool.WriteStep (SW,anent);
12842     }
12843     break;
12844   case 521:
12845     {
12846       DeclareAndCast(StepFEA_Curve3dElementRepresentation,anent,ent);
12847       RWStepFEA_RWCurve3dElementRepresentation tool;
12848       tool.WriteStep (SW,anent);
12849     }
12850     break;
12851   case 522:
12852     {
12853       DeclareAndCast(StepFEA_Node,anent,ent);
12854       RWStepFEA_RWNode tool;
12855       tool.WriteStep (SW,anent);
12856     }
12857     break;
12858 //case 523:
12859 //    {
12860 //      DeclareAndCast(StepFEA_CurveElementEndCoordinateSystem,anent,ent);
12861 //      RWStepFEA_RWCurveElementEndCoordinateSystem tool;
12862 //      tool.WriteStep (SW,anent);
12863 //    }
12864 //    break;
12865   case 524:
12866     {
12867       DeclareAndCast(StepFEA_CurveElementEndOffset,anent,ent);
12868       RWStepFEA_RWCurveElementEndOffset tool;
12869       tool.WriteStep (SW,anent);
12870     }
12871     break;
12872   case 525:
12873     {
12874       DeclareAndCast(StepFEA_CurveElementEndRelease,anent,ent);
12875       RWStepFEA_RWCurveElementEndRelease tool;
12876       tool.WriteStep (SW,anent);
12877     }
12878     break;
12879   case 526:
12880     {
12881       DeclareAndCast(StepFEA_CurveElementInterval,anent,ent);
12882       RWStepFEA_RWCurveElementInterval tool;
12883       tool.WriteStep (SW,anent);
12884     }
12885     break;
12886   case 527:
12887     {
12888       DeclareAndCast(StepFEA_CurveElementIntervalConstant,anent,ent);
12889       RWStepFEA_RWCurveElementIntervalConstant tool;
12890       tool.WriteStep (SW,anent);
12891     }
12892     break;
12893   case 528:
12894     {
12895       DeclareAndCast(StepFEA_DummyNode,anent,ent);
12896       RWStepFEA_RWDummyNode tool;
12897       tool.WriteStep (SW,anent);
12898     }
12899     break;
12900   case 529:
12901     {
12902       DeclareAndCast(StepFEA_CurveElementLocation,anent,ent);
12903       RWStepFEA_RWCurveElementLocation tool;
12904       tool.WriteStep (SW,anent);
12905     }
12906     break;
12907   case 530:
12908     {
12909       DeclareAndCast(StepFEA_ElementGeometricRelationship,anent,ent);
12910       RWStepFEA_RWElementGeometricRelationship tool;
12911       tool.WriteStep (SW,anent);
12912     }
12913     break;
12914   case 531:
12915     {
12916       DeclareAndCast(StepFEA_ElementGroup,anent,ent);
12917       RWStepFEA_RWElementGroup tool;
12918       tool.WriteStep (SW,anent);
12919     }
12920     break;
12921   case 532:
12922     {
12923       DeclareAndCast(StepFEA_ElementRepresentation,anent,ent);
12924       RWStepFEA_RWElementRepresentation tool;
12925       tool.WriteStep (SW,anent);
12926     }
12927     break;
12928   case 533:
12929     {
12930       DeclareAndCast(StepFEA_FeaAreaDensity,anent,ent);
12931       RWStepFEA_RWFeaAreaDensity tool;
12932       tool.WriteStep (SW,anent);
12933     }
12934     break;
12935   case 534:
12936     {
12937       DeclareAndCast(StepFEA_FeaAxis2Placement3d,anent,ent);
12938       RWStepFEA_RWFeaAxis2Placement3d tool;
12939       tool.WriteStep (SW,anent);
12940     }
12941     break;
12942   case 535:
12943     {
12944       DeclareAndCast(StepFEA_FeaGroup,anent,ent);
12945       RWStepFEA_RWFeaGroup tool;
12946       tool.WriteStep (SW,anent);
12947     }
12948     break;
12949   case 536:
12950     {
12951       DeclareAndCast(StepFEA_FeaLinearElasticity,anent,ent);
12952       RWStepFEA_RWFeaLinearElasticity tool;
12953       tool.WriteStep (SW,anent);
12954     }
12955     break;
12956   case 537:
12957     {
12958       DeclareAndCast(StepFEA_FeaMassDensity,anent,ent);
12959       RWStepFEA_RWFeaMassDensity tool;
12960       tool.WriteStep (SW,anent);
12961     }
12962     break;
12963   case 538:
12964     {
12965       DeclareAndCast(StepFEA_FeaMaterialPropertyRepresentation,anent,ent);
12966       RWStepFEA_RWFeaMaterialPropertyRepresentation tool;
12967       tool.WriteStep (SW,anent);
12968     }
12969     break;
12970   case 539:
12971     {
12972       DeclareAndCast(StepFEA_FeaMaterialPropertyRepresentationItem,anent,ent);
12973       RWStepFEA_RWFeaMaterialPropertyRepresentationItem tool;
12974       tool.WriteStep (SW,anent);
12975     }
12976     break;
12977   case 540:
12978     {
12979       DeclareAndCast(StepFEA_FeaModel,anent,ent);
12980       RWStepFEA_RWFeaModel tool;
12981       tool.WriteStep (SW,anent);
12982     }
12983     break;
12984   case 541:
12985     {
12986       DeclareAndCast(StepFEA_FeaModel3d,anent,ent);
12987       RWStepFEA_RWFeaModel3d tool;
12988       tool.WriteStep (SW,anent);
12989     }
12990     break;
12991   case 542:
12992     {
12993       DeclareAndCast(StepFEA_FeaMoistureAbsorption,anent,ent);
12994       RWStepFEA_RWFeaMoistureAbsorption tool;
12995       tool.WriteStep (SW,anent);
12996     }
12997     break;
12998   case 543:
12999     {
13000       DeclareAndCast(StepFEA_FeaParametricPoint,anent,ent);
13001       RWStepFEA_RWFeaParametricPoint tool;
13002       tool.WriteStep (SW,anent);
13003     }
13004     break;
13005   case 544:
13006     {
13007       DeclareAndCast(StepFEA_FeaRepresentationItem,anent,ent);
13008       RWStepFEA_RWFeaRepresentationItem tool;
13009       tool.WriteStep (SW,anent);
13010     }
13011     break;
13012   case 545:
13013     {
13014       DeclareAndCast(StepFEA_FeaSecantCoefficientOfLinearThermalExpansion,anent,ent);
13015       RWStepFEA_RWFeaSecantCoefficientOfLinearThermalExpansion tool;
13016       tool.WriteStep (SW,anent);
13017     }
13018     break;
13019   case 546:
13020     {
13021       DeclareAndCast(StepFEA_FeaShellBendingStiffness,anent,ent);
13022       RWStepFEA_RWFeaShellBendingStiffness tool;
13023       tool.WriteStep (SW,anent);
13024     }
13025     break;
13026   case 547:
13027     {
13028       DeclareAndCast(StepFEA_FeaShellMembraneBendingCouplingStiffness,anent,ent);
13029       RWStepFEA_RWFeaShellMembraneBendingCouplingStiffness tool;
13030       tool.WriteStep (SW,anent);
13031     }
13032     break;
13033   case 548:
13034     {
13035       DeclareAndCast(StepFEA_FeaShellMembraneStiffness,anent,ent);
13036       RWStepFEA_RWFeaShellMembraneStiffness tool;
13037       tool.WriteStep (SW,anent);
13038     }
13039     break;
13040   case 549:
13041     {
13042       DeclareAndCast(StepFEA_FeaShellShearStiffness,anent,ent);
13043       RWStepFEA_RWFeaShellShearStiffness tool;
13044       tool.WriteStep (SW,anent);
13045     }
13046     break;
13047   case 550:
13048     {
13049       DeclareAndCast(StepFEA_GeometricNode,anent,ent);
13050       RWStepFEA_RWGeometricNode tool;
13051       tool.WriteStep (SW,anent);
13052     }
13053     break;
13054   case 551:
13055     {
13056       DeclareAndCast(StepFEA_FeaTangentialCoefficientOfLinearThermalExpansion,anent,ent);
13057       RWStepFEA_RWFeaTangentialCoefficientOfLinearThermalExpansion tool;
13058       tool.WriteStep (SW,anent);
13059     }
13060     break;
13061   case 552:
13062     {
13063       DeclareAndCast(StepFEA_NodeGroup,anent,ent);
13064       RWStepFEA_RWNodeGroup tool;
13065       tool.WriteStep (SW,anent);
13066     }
13067     break;
13068   case 553:
13069     {
13070       DeclareAndCast(StepFEA_NodeRepresentation,anent,ent);
13071       RWStepFEA_RWNodeRepresentation tool;
13072       tool.WriteStep (SW,anent);
13073     }
13074     break;
13075   case 554:
13076     {
13077       DeclareAndCast(StepFEA_NodeSet,anent,ent);
13078       RWStepFEA_RWNodeSet tool;
13079       tool.WriteStep (SW,anent);
13080     }
13081     break;
13082   case 555:
13083     {
13084       DeclareAndCast(StepFEA_NodeWithSolutionCoordinateSystem,anent,ent);
13085       RWStepFEA_RWNodeWithSolutionCoordinateSystem tool;
13086       tool.WriteStep (SW,anent);
13087     }
13088     break;
13089   case 556:
13090     {
13091       DeclareAndCast(StepFEA_NodeWithVector,anent,ent);
13092       RWStepFEA_RWNodeWithVector tool;
13093       tool.WriteStep (SW,anent);
13094     }
13095     break;
13096   case 557:
13097     {
13098       DeclareAndCast(StepFEA_ParametricCurve3dElementCoordinateDirection,anent,ent);
13099       RWStepFEA_RWParametricCurve3dElementCoordinateDirection tool;
13100       tool.WriteStep (SW,anent);
13101     }
13102     break;
13103   case 558:
13104     {
13105       DeclareAndCast(StepFEA_ParametricCurve3dElementCoordinateSystem,anent,ent);
13106       RWStepFEA_RWParametricCurve3dElementCoordinateSystem tool;
13107       tool.WriteStep (SW,anent);
13108     }
13109     break;
13110   case 559:
13111     {
13112       DeclareAndCast(StepFEA_ParametricSurface3dElementCoordinateSystem,anent,ent);
13113       RWStepFEA_RWParametricSurface3dElementCoordinateSystem tool;
13114       tool.WriteStep (SW,anent);
13115     }
13116     break;
13117   case 560:
13118     {
13119       DeclareAndCast(StepFEA_Surface3dElementRepresentation,anent,ent);
13120       RWStepFEA_RWSurface3dElementRepresentation tool;
13121       tool.WriteStep (SW,anent);
13122     }
13123     break;
13124 //case 561:
13125 //    {
13126 //      DeclareAndCast(StepFEA_SymmetricTensor22d,anent,ent);
13127 //      RWStepFEA_RWSymmetricTensor22d tool;
13128 //      tool.WriteStep (SW,anent);
13129 //    }
13130 //    break;
13131 //case 562:
13132 //    {
13133 //      DeclareAndCast(StepFEA_SymmetricTensor42d,anent,ent);
13134 //      RWStepFEA_RWSymmetricTensor42d tool;
13135 //      tool.WriteStep (SW,anent);
13136 //    }
13137 //    break;
13138 //case 563:
13139 //    {
13140 //      DeclareAndCast(StepFEA_SymmetricTensor43d,anent,ent);
13141 //      RWStepFEA_RWSymmetricTensor43d tool;
13142 //      tool.WriteStep (SW,anent);
13143 //    }
13144 //    break;
13145   case 564:
13146     {
13147       DeclareAndCast(StepFEA_Volume3dElementRepresentation,anent,ent);
13148       RWStepFEA_RWVolume3dElementRepresentation tool;
13149       tool.WriteStep (SW,anent);
13150     }
13151     break;
13152   case 565:
13153     {
13154       DeclareAndCast(StepRepr_DataEnvironment,anent,ent);
13155       RWStepRepr_RWDataEnvironment tool;
13156       tool.WriteStep (SW,anent);
13157     }
13158     break;
13159   case 566:
13160     {
13161       DeclareAndCast(StepRepr_MaterialPropertyRepresentation,anent,ent);
13162       RWStepRepr_RWMaterialPropertyRepresentation tool;
13163       tool.WriteStep (SW,anent);
13164     }
13165     break;
13166   case 567:
13167     {
13168       DeclareAndCast(StepRepr_PropertyDefinitionRelationship,anent,ent);
13169       RWStepRepr_RWPropertyDefinitionRelationship tool;
13170       tool.WriteStep (SW,anent);
13171     }
13172     break;
13173   case 568:
13174     {
13175       DeclareAndCast(StepShape_PointRepresentation,anent,ent);
13176       RWStepShape_RWPointRepresentation tool;
13177       tool.WriteStep (SW,anent);
13178     }
13179     break;
13180   case 569:
13181     {
13182       DeclareAndCast(StepRepr_MaterialProperty,anent,ent);
13183       RWStepRepr_RWMaterialProperty tool;
13184       tool.WriteStep (SW,anent);
13185     }
13186     break;
13187   case 570:
13188     {
13189       DeclareAndCast(StepFEA_FeaModelDefinition,anent,ent);
13190       RWStepFEA_RWFeaModelDefinition tool;
13191       tool.WriteStep (SW,anent);
13192     }
13193     break;
13194   case 571:
13195     {
13196       DeclareAndCast(StepFEA_FreedomAndCoefficient,anent,ent);
13197       RWStepFEA_RWFreedomAndCoefficient tool;
13198       tool.WriteStep (SW,anent);
13199     }
13200     break;
13201   case 572:
13202     {
13203       DeclareAndCast(StepFEA_FreedomsList,anent,ent);
13204       RWStepFEA_RWFreedomsList tool;
13205       tool.WriteStep (SW,anent);
13206     }
13207     break;
13208   case 573:
13209     {
13210       DeclareAndCast(StepBasic_ProductDefinitionFormationRelationship,anent,ent);
13211       RWStepBasic_RWProductDefinitionFormationRelationship tool;
13212       tool.WriteStep (SW,anent);
13213     }
13214     break;
13215   case 574 : 
13216     {
13217       DeclareAndCast(StepBasic_SiUnitAndMassUnit, anent, ent);
13218       RWStepBasic_RWSiUnitAndMassUnit tool;
13219       tool.WriteStep (SW,anent);
13220     }
13221     break;
13222   case 575:
13223     {
13224       DeclareAndCast(StepFEA_NodeDefinition,anent,ent);
13225       RWStepFEA_RWNodeDefinition tool;
13226       tool.WriteStep (SW,anent);
13227     }
13228     break;
13229   case 576:
13230     {
13231       DeclareAndCast(StepRepr_StructuralResponseProperty,anent,ent);
13232       RWStepRepr_RWStructuralResponseProperty tool;
13233       tool.WriteStep (SW,anent);
13234     }
13235     break;
13236   case 577:
13237     {
13238       DeclareAndCast(StepRepr_StructuralResponsePropertyDefinitionRepresentation,anent,ent);
13239       RWStepRepr_RWStructuralResponsePropertyDefinitionRepresentation tool;
13240       tool.WriteStep (SW,anent);
13241     }
13242     break;
13243   case 578 : 
13244     {
13245       DeclareAndCast(StepBasic_SiUnitAndThermodynamicTemperatureUnit, anent, ent);
13246       RWStepBasic_RWSiUnitAndThermodynamicTemperatureUnit tool;
13247       tool.WriteStep (SW,anent);
13248     }
13249     break;
13250   case 579:
13251     {
13252       DeclareAndCast(StepFEA_AlignedSurface3dElementCoordinateSystem,anent,ent);
13253       RWStepFEA_RWAlignedSurface3dElementCoordinateSystem tool;
13254       tool.WriteStep (SW,anent);
13255     }
13256     break;
13257   case 580:
13258     {
13259       DeclareAndCast(StepFEA_ConstantSurface3dElementCoordinateSystem,anent,ent);
13260       RWStepFEA_RWConstantSurface3dElementCoordinateSystem tool;
13261       tool.WriteStep (SW,anent);
13262     }
13263     break;
13264   case 581:
13265     {
13266       DeclareAndCast(StepFEA_CurveElementIntervalLinearlyVarying,anent,ent);
13267       RWStepFEA_RWCurveElementIntervalLinearlyVarying tool;
13268       tool.WriteStep (SW,anent);
13269     }
13270     break;
13271   case 582:
13272     {
13273       DeclareAndCast(StepFEA_FeaCurveSectionGeometricRelationship,anent,ent);
13274       RWStepFEA_RWFeaCurveSectionGeometricRelationship tool;
13275       tool.WriteStep (SW,anent);
13276     }
13277     break;
13278   case 583:
13279     {
13280       DeclareAndCast(StepFEA_FeaSurfaceSectionGeometricRelationship,anent,ent);
13281       RWStepFEA_RWFeaSurfaceSectionGeometricRelationship tool;
13282       tool.WriteStep (SW,anent);
13283     }
13284     break;
13285     case 600:
13286     {
13287       DeclareAndCast(StepBasic_DocumentProductAssociation,anent,ent);
13288       RWStepBasic_RWDocumentProductAssociation tool;
13289       tool.WriteStep (SW,anent);
13290     }
13291     break;
13292     case 601:
13293     {
13294       DeclareAndCast(StepBasic_DocumentProductEquivalence,anent,ent);
13295       RWStepBasic_RWDocumentProductEquivalence tool;
13296       tool.WriteStep (SW,anent);
13297     }
13298     break;
13299   case 609:
13300     {
13301       DeclareAndCast(StepDimTol_CylindricityTolerance,anent,ent);
13302       RWStepDimTol_RWCylindricityTolerance tool;
13303       tool.WriteStep (SW,anent);
13304     }
13305     break;
13306   case 610:
13307     {
13308       DeclareAndCast(StepShape_ShapeRepresentationWithParameters,anent,ent);
13309       RWStepShape_RWShapeRepresentationWithParameters tool;
13310       tool.WriteStep (SW,anent);
13311     }
13312     break;
13313   case 611:
13314     {
13315       DeclareAndCast(StepDimTol_AngularityTolerance,anent,ent);
13316       RWStepDimTol_RWAngularityTolerance tool;
13317       tool.WriteStep (SW,anent);
13318     }
13319     break;
13320   case 612:
13321     {
13322       DeclareAndCast(StepDimTol_ConcentricityTolerance,anent,ent);
13323       RWStepDimTol_RWConcentricityTolerance tool;
13324       tool.WriteStep (SW,anent);
13325     }
13326     break;
13327   case 613:
13328     {
13329       DeclareAndCast(StepDimTol_CircularRunoutTolerance,anent,ent);
13330       RWStepDimTol_RWCircularRunoutTolerance tool;
13331       tool.WriteStep (SW,anent);
13332     }
13333     break;
13334   case 614:
13335     {
13336       DeclareAndCast(StepDimTol_CoaxialityTolerance,anent,ent);
13337       RWStepDimTol_RWCoaxialityTolerance tool;
13338       tool.WriteStep (SW,anent);
13339     }
13340     break;
13341   case 615:
13342     {
13343       DeclareAndCast(StepDimTol_FlatnessTolerance,anent,ent);
13344       RWStepDimTol_RWFlatnessTolerance tool;
13345       tool.WriteStep (SW,anent);
13346     }
13347     break;
13348   case 616:
13349     {
13350       DeclareAndCast(StepDimTol_LineProfileTolerance,anent,ent);
13351       RWStepDimTol_RWLineProfileTolerance tool;
13352       tool.WriteStep (SW,anent);
13353     }
13354     break;
13355   case 617:
13356     {
13357       DeclareAndCast(StepDimTol_ParallelismTolerance,anent,ent);
13358       RWStepDimTol_RWParallelismTolerance tool;
13359       tool.WriteStep (SW,anent);
13360     }
13361     break;
13362   case 618:
13363     {
13364       DeclareAndCast(StepDimTol_PerpendicularityTolerance,anent,ent);
13365       RWStepDimTol_RWPerpendicularityTolerance tool;
13366       tool.WriteStep (SW,anent);
13367     }
13368     break;
13369   case 619:
13370     {
13371       DeclareAndCast(StepDimTol_PositionTolerance,anent,ent);
13372       RWStepDimTol_RWPositionTolerance tool;
13373       tool.WriteStep (SW,anent);
13374     }
13375     break;
13376   case 620:
13377     {
13378       DeclareAndCast(StepDimTol_RoundnessTolerance,anent,ent);
13379       RWStepDimTol_RWRoundnessTolerance tool;
13380       tool.WriteStep (SW,anent);
13381     }
13382     break;
13383   case 621:
13384     {
13385       DeclareAndCast(StepDimTol_StraightnessTolerance,anent,ent);
13386       RWStepDimTol_RWStraightnessTolerance tool;
13387       tool.WriteStep (SW,anent);
13388     }
13389     break;
13390   case 622:
13391     {
13392       DeclareAndCast(StepDimTol_SurfaceProfileTolerance,anent,ent);
13393       RWStepDimTol_RWSurfaceProfileTolerance tool;
13394       tool.WriteStep (SW,anent);
13395     }
13396     break;
13397   case 623:
13398     {
13399       DeclareAndCast(StepDimTol_SymmetryTolerance,anent,ent);
13400       RWStepDimTol_RWSymmetryTolerance tool;
13401       tool.WriteStep (SW,anent);
13402     }
13403     break;
13404   case 624:
13405     {
13406       DeclareAndCast(StepDimTol_TotalRunoutTolerance,anent,ent);
13407       RWStepDimTol_RWTotalRunoutTolerance tool;
13408       tool.WriteStep (SW,anent);
13409     }
13410     break;
13411   case 625:
13412     {
13413       DeclareAndCast(StepDimTol_GeometricTolerance,anent,ent);
13414       RWStepDimTol_RWGeometricTolerance tool;
13415       tool.WriteStep (SW,anent);
13416     }
13417     break;
13418   case 626:
13419     {
13420       DeclareAndCast(StepDimTol_GeometricToleranceRelationship,anent,ent);
13421       RWStepDimTol_RWGeometricToleranceRelationship tool;
13422       tool.WriteStep (SW,anent);
13423     }
13424     break;
13425   case 627:
13426     {
13427       DeclareAndCast(StepDimTol_GeometricToleranceWithDatumReference,anent,ent);
13428       RWStepDimTol_RWGeometricToleranceWithDatumReference tool;
13429       tool.WriteStep (SW,anent);
13430     }
13431     break;
13432   case 628:
13433     {
13434       DeclareAndCast(StepDimTol_ModifiedGeometricTolerance,anent,ent);
13435       RWStepDimTol_RWModifiedGeometricTolerance tool;
13436       tool.WriteStep (SW,anent);
13437     }
13438     break;
13439   case 629:
13440     {
13441       DeclareAndCast(StepDimTol_Datum,anent,ent);
13442       RWStepDimTol_RWDatum tool;
13443       tool.WriteStep (SW,anent);
13444     }
13445     break;
13446   case 630:
13447     {
13448       DeclareAndCast(StepDimTol_DatumFeature,anent,ent);
13449       RWStepDimTol_RWDatumFeature tool;
13450       tool.WriteStep (SW,anent);
13451     }
13452     break;
13453   case 631:
13454     {
13455       DeclareAndCast(StepDimTol_DatumReference,anent,ent);
13456       RWStepDimTol_RWDatumReference tool;
13457       tool.WriteStep (SW,anent);
13458     }
13459     break;
13460   case 632:
13461     {
13462       DeclareAndCast(StepDimTol_CommonDatum,anent,ent);
13463       RWStepDimTol_RWCommonDatum tool;
13464       tool.WriteStep (SW,anent);
13465     }
13466     break;
13467   case 633:
13468     {
13469       DeclareAndCast(StepDimTol_DatumTarget,anent,ent);
13470       RWStepDimTol_RWDatumTarget tool;
13471       tool.WriteStep (SW,anent);
13472     }
13473     break;
13474   case 634:
13475     {
13476       DeclareAndCast(StepDimTol_PlacedDatumTargetFeature,anent,ent);
13477       RWStepDimTol_RWPlacedDatumTargetFeature tool;
13478       tool.WriteStep (SW,anent);
13479     }
13480     break;
13481   case 635:
13482     {
13483       DeclareAndCast(StepRepr_ReprItemAndLengthMeasureWithUnit,anent,ent);
13484       RWStepRepr_RWReprItemAndLengthMeasureWithUnit tool;
13485       tool.WriteStep (SW,anent);
13486     }
13487     break;
13488   case 636:
13489     {
13490       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol,anent,ent);
13491       RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol tool;
13492       tool.WriteStep (SW,anent);
13493     }
13494     break;
13495   case 650 : 
13496     {
13497       DeclareAndCast(StepBasic_ConversionBasedUnitAndMassUnit, anent, ent);
13498       RWStepBasic_RWConversionBasedUnitAndMassUnit tool;
13499       tool.WriteStep (SW,anent);
13500     }
13501     
13502     break;
13503   case 651 : 
13504     {
13505       DeclareAndCast(StepBasic_MassMeasureWithUnit, anent, ent);
13506       RWStepBasic_RWMassMeasureWithUnit tool;
13507       tool.WriteStep (SW,anent);
13508     }
13509     break;
13510   case 660 :
13511     {
13512       DeclareAndCast(StepRepr_Apex, anent, ent);
13513       RWStepRepr_RWApex tool;
13514       tool.WriteStep (SW,anent);
13515     }
13516     break;
13517   case 661 :
13518     {
13519       DeclareAndCast(StepRepr_CentreOfSymmetry, anent, ent);
13520       RWStepRepr_RWCentreOfSymmetry tool;
13521       tool.WriteStep (SW,anent);
13522     }
13523     break;
13524   case 662 :
13525     {
13526       DeclareAndCast(StepRepr_GeometricAlignment, anent, ent);
13527       RWStepRepr_RWGeometricAlignment tool;
13528       tool.WriteStep (SW,anent);
13529     }
13530     break;
13531   case 663 :
13532     {
13533       DeclareAndCast(StepRepr_PerpendicularTo, anent, ent);
13534       RWStepRepr_RWPerpendicularTo tool;
13535       tool.WriteStep (SW,anent);
13536     }
13537     break;
13538   case 664 :
13539     {
13540       DeclareAndCast(StepRepr_Tangent, anent, ent);
13541       RWStepRepr_RWTangent tool;
13542       tool.WriteStep (SW,anent);
13543     }
13544     break;
13545   case 665 :
13546     {
13547       DeclareAndCast(StepRepr_ParallelOffset, anent, ent);
13548       RWStepRepr_RWParallelOffset tool;
13549       tool.WriteStep (SW,anent);
13550     }
13551     break;
13552   case 666 :
13553     {
13554       DeclareAndCast(StepAP242_GeometricItemSpecificUsage, anent, ent);
13555       RWStepAP242_RWGeometricItemSpecificUsage tool;
13556       tool.WriteStep (SW,anent);
13557     }
13558     break;
13559   case 667 :
13560     {
13561       DeclareAndCast(StepAP242_IdAttribute, anent, ent);
13562       RWStepAP242_RWIdAttribute tool;
13563       tool.WriteStep (SW,anent);
13564     }
13565     break;
13566   case 668 :
13567     {
13568       DeclareAndCast(StepAP242_ItemIdentifiedRepresentationUsage, anent, ent);
13569       RWStepAP242_RWItemIdentifiedRepresentationUsage tool;
13570       tool.WriteStep (SW,anent);
13571     }
13572     break;
13573   case 669 :
13574     {
13575       DeclareAndCast(StepRepr_AllAroundShapeAspect, anent, ent);
13576       RWStepRepr_RWAllAroundShapeAspect tool;
13577       tool.WriteStep (SW,anent);
13578     }
13579     break;
13580   case 670 :
13581     {
13582       DeclareAndCast(StepRepr_BetweenShapeAspect, anent, ent);
13583       RWStepRepr_RWBetweenShapeAspect tool;
13584       tool.WriteStep (SW,anent);
13585     }
13586     break;
13587   case 671 :
13588     {
13589       DeclareAndCast(StepRepr_CompositeGroupShapeAspect, anent, ent);
13590       RWStepRepr_RWCompositeGroupShapeAspect tool;
13591       tool.WriteStep (SW,anent);
13592     }
13593     break;
13594   case 672 :
13595     {
13596       DeclareAndCast(StepRepr_ContinuosShapeAspect, anent, ent);
13597       RWStepRepr_RWContinuosShapeAspect tool;
13598       tool.WriteStep (SW,anent);
13599     }
13600     break;
13601   case 673 :
13602     {
13603       DeclareAndCast(StepDimTol_GeometricToleranceWithDefinedAreaUnit, anent, ent);
13604       RWStepDimTol_RWGeometricToleranceWithDefinedAreaUnit tool;
13605       tool.WriteStep (SW,anent);
13606     }
13607     break;
13608   case 674 :
13609     {
13610       DeclareAndCast(StepDimTol_GeometricToleranceWithDefinedUnit, anent, ent);
13611       RWStepDimTol_RWGeometricToleranceWithDefinedUnit tool;
13612       tool.WriteStep (SW,anent);
13613     }
13614     break;
13615   case 675 :
13616     {
13617       DeclareAndCast(StepDimTol_GeometricToleranceWithMaximumTolerance, anent, ent);
13618       RWStepDimTol_RWGeometricToleranceWithMaximumTolerance tool;
13619       tool.WriteStep (SW,anent);
13620     }
13621     break;
13622   case 676 :
13623     {
13624       DeclareAndCast(StepDimTol_GeometricToleranceWithModifiers, anent, ent);
13625       RWStepDimTol_RWGeometricToleranceWithModifiers tool;
13626       tool.WriteStep (SW,anent);
13627     }
13628     break;
13629   case 677 :
13630     {
13631       DeclareAndCast(StepDimTol_UnequallyDisposedGeometricTolerance, anent, ent);
13632       RWStepDimTol_RWUnequallyDisposedGeometricTolerance tool;
13633       tool.WriteStep (SW,anent);
13634     }
13635     break;
13636   case 678 :
13637     {
13638       DeclareAndCast(StepDimTol_NonUniformZoneDefinition, anent, ent);
13639       RWStepDimTol_RWNonUniformZoneDefinition tool;
13640       tool.WriteStep (SW,anent);
13641     }
13642     break;
13643   case 679 :
13644     {
13645       DeclareAndCast(StepDimTol_ProjectedZoneDefinition, anent, ent);
13646       RWStepDimTol_RWProjectedZoneDefinition tool;
13647       tool.WriteStep (SW,anent);
13648     }
13649     break;
13650   case 680 :
13651     {
13652       DeclareAndCast(StepDimTol_RunoutZoneDefinition, anent, ent);
13653       RWStepDimTol_RWRunoutZoneDefinition tool;
13654       tool.WriteStep (SW,anent);
13655     }
13656     break;
13657   case 681 :
13658     {
13659       DeclareAndCast(StepDimTol_RunoutZoneOrientation, anent, ent);
13660       RWStepDimTol_RWRunoutZoneOrientation tool;
13661       tool.WriteStep (SW,anent);
13662     }
13663     break;
13664   case 682 :
13665     {
13666       DeclareAndCast(StepDimTol_ToleranceZone, anent, ent);
13667       RWStepDimTol_RWToleranceZone tool;
13668       tool.WriteStep (SW,anent);
13669     }
13670     break;
13671   case 683 :
13672     {
13673       DeclareAndCast(StepDimTol_ToleranceZoneDefinition, anent, ent);
13674       RWStepDimTol_RWToleranceZoneDefinition tool;
13675       tool.WriteStep (SW,anent);
13676     }
13677     break;
13678   case 684 :
13679     {
13680       DeclareAndCast(StepDimTol_ToleranceZoneForm, anent, ent);
13681       RWStepDimTol_RWToleranceZoneForm tool;
13682       tool.WriteStep (SW,anent);
13683     }
13684     break;
13685   case 685 :
13686     {
13687       DeclareAndCast(StepShape_ValueFormatTypeQualifier, anent, ent);
13688       RWStepShape_RWValueFormatTypeQualifier tool;
13689       tool.WriteStep (SW,anent);
13690     }
13691     break;
13692   case 686 :
13693     {
13694       DeclareAndCast(StepDimTol_DatumReferenceCompartment, anent, ent);
13695       RWStepDimTol_RWDatumReferenceCompartment tool;
13696       tool.WriteStep (SW,anent);
13697     }
13698     break;
13699   case 687 :
13700     {
13701       DeclareAndCast(StepDimTol_DatumReferenceElement, anent, ent);
13702       RWStepDimTol_RWDatumReferenceElement tool;
13703       tool.WriteStep (SW,anent);
13704     }
13705     break;
13706   case 688 :
13707     {
13708       DeclareAndCast(StepDimTol_DatumReferenceModifierWithValue, anent, ent);
13709       RWStepDimTol_RWDatumReferenceModifierWithValue tool;
13710       tool.WriteStep (SW,anent);
13711     }
13712     break;
13713   case 689 :
13714     {
13715       DeclareAndCast(StepDimTol_DatumSystem, anent, ent);
13716       RWStepDimTol_RWDatumSystem tool;
13717       tool.WriteStep (SW,anent);
13718     }
13719     break;
13720   case 690 :
13721     {
13722       DeclareAndCast(StepDimTol_GeneralDatumReference, anent, ent);
13723       RWStepDimTol_RWGeneralDatumReference tool;
13724       tool.WriteStep (SW,anent);
13725     }
13726     break;
13727   case 691:
13728     {
13729       DeclareAndCast(StepRepr_ReprItemAndPlaneAngleMeasureWithUnit,anent,ent);
13730       RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnit tool;
13731       tool.WriteStep (SW,anent);
13732     }
13733     break;
13734   case 692:
13735     {
13736       DeclareAndCast(StepRepr_ReprItemAndLengthMeasureWithUnitAndQRI,anent,ent);
13737       RWStepRepr_RWReprItemAndLengthMeasureWithUnitAndQRI tool;
13738       tool.WriteStep (SW,anent);
13739     }
13740     break;
13741   case 693:
13742     {
13743       DeclareAndCast(StepRepr_ReprItemAndPlaneAngleMeasureWithUnitAndQRI,anent,ent);
13744       RWStepRepr_RWReprItemAndPlaneAngleMeasureWithUnitAndQRI tool;
13745       tool.WriteStep (SW,anent);
13746     }
13747     break;
13748   case 694:
13749     {
13750       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRef,anent,ent);
13751       RWStepDimTol_RWGeoTolAndGeoTolWthDatRef tool;
13752       tool.WriteStep (SW,anent);
13753     }
13754     break;
13755   case 695:
13756     {
13757       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod,anent,ent);
13758       RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndGeoTolWthMod tool;
13759       tool.WriteStep (SW,anent);
13760     }
13761     break;
13762   case 696:
13763     {
13764       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthMod,anent,ent);
13765       RWStepDimTol_RWGeoTolAndGeoTolWthMod tool;
13766       tool.WriteStep (SW,anent);
13767     }
13768     break;
13769   case 697:
13770     {
13771       DeclareAndCast(StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol,anent,ent);
13772       RWStepDimTol_RWGeoTolAndGeoTolWthDatRefAndUneqDisGeoTol tool;
13773       tool.WriteStep (SW,anent);
13774     }
13775     break;
13776   case 698:
13777     {
13778       DeclareAndCast(StepRepr_CompGroupShAspAndCompShAspAndDatumFeatAndShAsp,anent,ent);
13779       RWStepRepr_RWCompGroupShAspAndCompShAspAndDatumFeatAndShAsp tool;
13780       tool.WriteStep (SW,anent);
13781     }
13782     break;
13783   case 699:
13784     {
13785       DeclareAndCast(StepRepr_CompShAspAndDatumFeatAndShAsp,anent,ent);
13786       RWStepRepr_RWCompShAspAndDatumFeatAndShAsp tool;
13787       tool.WriteStep (SW,anent);
13788     }
13789     break;
13790   case 700:
13791     {
13792       DeclareAndCast(StepRepr_IntegerRepresentationItem,anent,ent);
13793       RWStepRepr_RWIntegerRepresentationItem tool;
13794       tool.WriteStep (SW,anent);
13795     }
13796     break;
13797   case 701:
13798     {
13799       DeclareAndCast(StepRepr_ValueRepresentationItem,anent,ent);
13800       RWStepRepr_RWValueRepresentationItem tool;
13801       tool.WriteStep (SW,anent);
13802     }
13803     break;
13804
13805   default: 
13806     return;
13807   }
13808 }