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