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