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