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