#ifndef  SDAICONFIG_CONTROL_DESIGN_INIT_CC
#define  SDAICONFIG_CONTROL_DESIGN_INIT_CC
// This file was generated by fedex_plus.  You probably don't want to edit
// it since your modifications will be lost if fedex_plus is used to
// regenerate it.
/* $Id$ */
#ifndef  SCHEMA_H
#include <schema.h>
#endif
#include <Registry.h>
void 
SdaiCONFIG_CONTROL_DESIGNInit (Registry& reg)
{
	config_control_designt_characterized_definition -> Elements ().AddNode (config_control_designt_characterized_product_definition);
	config_control_designt_characterized_definition -> Elements ().AddNode (config_control_designt_shape_definition);
	reg.AddType (*config_control_designt_characterized_definition);
	config_control_designt_parameter_value->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_parameter_value);
	config_control_designt_plane_angle_measure->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_plane_angle_measure);
	config_control_designt_change_request_item -> Elements ().AddNode (config_control_designe_product_definition_formation);
	reg.AddType (*config_control_designt_change_request_item);
	config_control_designt_text->ReferentType(t_sdaiSTRING);
	reg.AddType (*config_control_designt_text);
	config_control_designt_year_number->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_year_number);
	config_control_designt_characterized_product_definition -> Elements ().AddNode (config_control_designe_product_definition);
	config_control_designt_characterized_product_definition -> Elements ().AddNode (config_control_designe_product_definition_relationship);
	reg.AddType (*config_control_designt_characterized_product_definition);
	config_control_designt_reversible_topology_item -> Elements ().AddNode (config_control_designe_edge);
	config_control_designt_reversible_topology_item -> Elements ().AddNode (config_control_designe_path);
	config_control_designt_reversible_topology_item -> Elements ().AddNode (config_control_designe_face);
	config_control_designt_reversible_topology_item -> Elements ().AddNode (config_control_designe_face_bound);
	config_control_designt_reversible_topology_item -> Elements ().AddNode (config_control_designe_closed_shell);
	config_control_designt_reversible_topology_item -> Elements ().AddNode (config_control_designe_open_shell);
	reg.AddType (*config_control_designt_reversible_topology_item);
	config_control_designt_axis2_placement -> Elements ().AddNode (config_control_designe_axis2_placement_2d);
	config_control_designt_axis2_placement -> Elements ().AddNode (config_control_designe_axis2_placement_3d);
	reg.AddType (*config_control_designt_axis2_placement);
	config_control_designt_set_of_reversible_topology_item->Bound1(0);
	config_control_designt_set_of_reversible_topology_item->Bound2(2147483647);
	config_control_designt_set_of_reversible_topology_item->ReferentType(config_control_designt_reversible_topology_item);
	reg.AddType (*config_control_designt_set_of_reversible_topology_item);
	config_control_designt_week_in_year_number->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_week_in_year_number);
	reg.AddType (*config_control_designt_knot_type);
	config_control_designt_specified_item -> Elements ().AddNode (config_control_designe_product_definition);
	config_control_designt_specified_item -> Elements ().AddNode (config_control_designe_shape_aspect);
	reg.AddType (*config_control_designt_specified_item);
	config_control_designt_minute_in_hour->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_minute_in_hour);
	reg.AddType (*config_control_designt_transition_code);
	config_control_designt_identifier->ReferentType(t_sdaiSTRING);
	reg.AddType (*config_control_designt_identifier);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_length_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_mass_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_plane_angle_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_solid_angle_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_area_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_volume_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_parameter_value);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_context_dependent_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_descriptive_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_positive_length_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_positive_plane_angle_measure);
	config_control_designt_measure_value -> Elements ().AddNode (config_control_designt_count_measure);
	reg.AddType (*config_control_designt_measure_value);
	config_control_designt_person_organization_select -> Elements ().AddNode (config_control_designe_person);
	config_control_designt_person_organization_select -> Elements ().AddNode (config_control_designe_organization);
	config_control_designt_person_organization_select -> Elements ().AddNode (config_control_designe_person_and_organization);
	reg.AddType (*config_control_designt_person_organization_select);
	reg.AddType (*config_control_designt_preferred_surface_curve_representation);
	config_control_designt_dimension_count->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_dimension_count);
	config_control_designt_pcurve_or_surface -> Elements ().AddNode (config_control_designe_pcurve);
	config_control_designt_pcurve_or_surface -> Elements ().AddNode (config_control_designe_surface);
	reg.AddType (*config_control_designt_pcurve_or_surface);
	config_control_designt_positive_length_measure->ReferentType(config_control_designt_length_measure);
	reg.AddType (*config_control_designt_positive_length_measure);
	reg.AddType (*config_control_designt_b_spline_curve_form);
	config_control_designt_hour_in_day->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_hour_in_day);
	config_control_designt_classified_item -> Elements ().AddNode (config_control_designe_product_definition_formation);
	config_control_designt_classified_item -> Elements ().AddNode (config_control_designe_assembly_component_usage);
	reg.AddType (*config_control_designt_classified_item);
	reg.AddType (*config_control_designt_si_unit_name);
	config_control_designt_day_in_month_number->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_day_in_month_number);
	config_control_designt_founded_item_select -> Elements ().AddNode (config_control_designe_founded_item);
	config_control_designt_founded_item_select -> Elements ().AddNode (config_control_designe_representation_item);
	reg.AddType (*config_control_designt_founded_item_select);
	reg.AddType (*config_control_designt_trimming_preference);
	config_control_designt_vector_or_direction -> Elements ().AddNode (config_control_designe_vector);
	config_control_designt_vector_or_direction -> Elements ().AddNode (config_control_designe_direction);
	reg.AddType (*config_control_designt_vector_or_direction);
	config_control_designt_wireframe_model -> Elements ().AddNode (config_control_designe_shell_based_wireframe_model);
	config_control_designt_wireframe_model -> Elements ().AddNode (config_control_designe_edge_based_wireframe_model);
	reg.AddType (*config_control_designt_wireframe_model);
	config_control_designt_volume_measure->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_volume_measure);
	config_control_designt_geometric_set_select -> Elements ().AddNode (config_control_designe_point);
	config_control_designt_geometric_set_select -> Elements ().AddNode (config_control_designe_curve);
	config_control_designt_geometric_set_select -> Elements ().AddNode (config_control_designe_surface);
	reg.AddType (*config_control_designt_geometric_set_select);
	config_control_designt_positive_plane_angle_measure->ReferentType(config_control_designt_plane_angle_measure);
	reg.AddType (*config_control_designt_positive_plane_angle_measure);
	config_control_designt_start_request_item -> Elements ().AddNode (config_control_designe_product_definition_formation);
	reg.AddType (*config_control_designt_start_request_item);
	reg.AddType (*config_control_designt_b_spline_surface_form);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_change);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_start_work);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_change_request);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_start_request);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_configuration_item);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_product);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_product_definition_formation);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_product_definition);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_contract);
	config_control_designt_person_organization_item -> Elements ().AddNode (config_control_designe_security_classification);
	reg.AddType (*config_control_designt_person_organization_item);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_product_definition);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_change_request);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_start_request);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_change);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_start_work);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_approval_person_organization);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_contract);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_security_classification);
	config_control_designt_date_time_item -> Elements ().AddNode (config_control_designe_certification);
	reg.AddType (*config_control_designt_date_time_item);
	config_control_designt_shell -> Elements ().AddNode (config_control_designe_vertex_shell);
	config_control_designt_shell -> Elements ().AddNode (config_control_designe_wire_shell);
	config_control_designt_shell -> Elements ().AddNode (config_control_designe_open_shell);
	config_control_designt_shell -> Elements ().AddNode (config_control_designe_closed_shell);
	reg.AddType (*config_control_designt_shell);
	config_control_designt_transformation -> Elements ().AddNode (config_control_designe_item_defined_transformation);
	config_control_designt_transformation -> Elements ().AddNode (config_control_designe_functionally_defined_transformation);
	reg.AddType (*config_control_designt_transformation);
	config_control_designt_day_in_week_number->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_day_in_week_number);
	config_control_designt_boolean_operand -> Elements ().AddNode (config_control_designe_solid_model);
	reg.AddType (*config_control_designt_boolean_operand);
	config_control_designt_certified_item -> Elements ().AddNode (config_control_designe_supplied_part_relationship);
	reg.AddType (*config_control_designt_certified_item);
	config_control_designt_date_time_select -> Elements ().AddNode (config_control_designe_date);
	config_control_designt_date_time_select -> Elements ().AddNode (config_control_designe_local_time);
	config_control_designt_date_time_select -> Elements ().AddNode (config_control_designe_date_and_time);
	reg.AddType (*config_control_designt_date_time_select);
	config_control_designt_solid_angle_measure->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_solid_angle_measure);
	config_control_designt_curve_on_surface -> Elements ().AddNode (config_control_designe_pcurve);
	config_control_designt_curve_on_surface -> Elements ().AddNode (config_control_designe_surface_curve);
	config_control_designt_curve_on_surface -> Elements ().AddNode (config_control_designe_composite_curve_on_surface);
	reg.AddType (*config_control_designt_curve_on_surface);
	config_control_designt_trimming_select -> Elements ().AddNode (config_control_designe_cartesian_point);
	config_control_designt_trimming_select -> Elements ().AddNode (config_control_designt_parameter_value);
	reg.AddType (*config_control_designt_trimming_select);
	reg.AddType (*config_control_designt_ahead_or_behind);
	config_control_designt_contracted_item -> Elements ().AddNode (config_control_designe_product_definition_formation);
	reg.AddType (*config_control_designt_contracted_item);
	config_control_designt_day_in_year_number->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_day_in_year_number);
	config_control_designt_mass_measure->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_mass_measure);
	config_control_designt_descriptive_measure->ReferentType(t_sdaiSTRING);
	reg.AddType (*config_control_designt_descriptive_measure);
	config_control_designt_area_measure->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_area_measure);
	config_control_designt_month_in_year_number->ReferentType(t_sdaiINTEGER);
	reg.AddType (*config_control_designt_month_in_year_number);
	reg.AddType (*config_control_designt_source);
	config_control_designt_unit -> Elements ().AddNode (config_control_designe_named_unit);
	reg.AddType (*config_control_designt_unit);
	config_control_designt_reversible_topology -> Elements ().AddNode (config_control_designt_reversible_topology_item);
	config_control_designt_reversible_topology -> Elements ().AddNode (config_control_designt_list_of_reversible_topology_item);
	config_control_designt_reversible_topology -> Elements ().AddNode (config_control_designt_set_of_reversible_topology_item);
	reg.AddType (*config_control_designt_reversible_topology);
	config_control_designt_work_item -> Elements ().AddNode (config_control_designe_product_definition_formation);
	reg.AddType (*config_control_designt_work_item);
	config_control_designt_shape_definition -> Elements ().AddNode (config_control_designe_product_definition_shape);
	config_control_designt_shape_definition -> Elements ().AddNode (config_control_designe_shape_aspect);
	config_control_designt_shape_definition -> Elements ().AddNode (config_control_designe_shape_aspect_relationship);
	reg.AddType (*config_control_designt_shape_definition);
	config_control_designt_second_in_minute->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_second_in_minute);
	config_control_designt_label->ReferentType(t_sdaiSTRING);
	reg.AddType (*config_control_designt_label);
	config_control_designt_context_dependent_measure->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_context_dependent_measure);
	config_control_designt_supported_item -> Elements ().AddNode (config_control_designe_action_directive);
	config_control_designt_supported_item -> Elements ().AddNode (config_control_designe_action);
	config_control_designt_supported_item -> Elements ().AddNode (config_control_designe_action_method);
	reg.AddType (*config_control_designt_supported_item);
	reg.AddType (*config_control_designt_si_prefix);
	config_control_designt_length_measure->ReferentType(t_sdaiREAL);
	reg.AddType (*config_control_designt_length_measure);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_product_definition_formation);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_product_definition);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_configuration_effectivity);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_configuration_item);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_security_classification);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_change_request);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_change);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_start_request);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_start_work);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_certification);
	config_control_designt_approved_item -> Elements ().AddNode (config_control_designe_contract);
	reg.AddType (*config_control_designt_approved_item);
	config_control_designt_count_measure->ReferentType(t_sdaiNUMBER);
	reg.AddType (*config_control_designt_count_measure);
	config_control_designt_surface_model -> Elements ().AddNode (config_control_designe_shell_based_surface_model);
	reg.AddType (*config_control_designt_surface_model);
	config_control_designt_list_of_reversible_topology_item->Bound1(0);
	config_control_designt_list_of_reversible_topology_item->Bound2(2147483647);
	config_control_designt_list_of_reversible_topology_item->ReferentType(config_control_designt_reversible_topology_item);
	reg.AddType (*config_control_designt_list_of_reversible_topology_item);

/////////	 ENTITY representation_item

  a_0name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_item);
	config_control_designe_representation_item->AddExplicitAttr (a_0name);
	reg.AddEntity (*config_control_designe_representation_item);
/////////	 END_ENTITY representation_item

/////////	 ENTITY geometric_representation_item

	config_control_designe_geometric_representation_item->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (point,direction,vector,placement,cartesian_transformation_operator,\n        curve,surface,edge_curve,face_surface,poly_loop,vertex_point,\n        solid_model,shell_based_surface_model,shell_based_wireframe_model,\n        edge_based_wireframe_model,geometric_set))");
	config_control_designe_geometric_representation_item->AddSupertype(config_control_designe_representation_item);
	config_control_designe_representation_item->AddSubtype(config_control_designe_geometric_representation_item);
  a_1Ddim =
	  new Derived_attribute("dim",config_control_designt_dimension_count,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddExplicitAttr (a_1Ddim);
	a_1Ddim->initializer_("dimension_of(SELF)");
	reg.AddEntity (*config_control_designe_geometric_representation_item);
/////////	 END_ENTITY geometric_representation_item

/////////	 ENTITY functionally_defined_transformation

  a_2name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_functionally_defined_transformation);
	config_control_designe_functionally_defined_transformation->AddExplicitAttr (a_2name);
  a_3description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_functionally_defined_transformation);
	config_control_designe_functionally_defined_transformation->AddExplicitAttr (a_3description);
	reg.AddEntity (*config_control_designe_functionally_defined_transformation);
/////////	 END_ENTITY functionally_defined_transformation

/////////	 ENTITY cartesian_transformation_operator

	config_control_designe_cartesian_transformation_operator->AddSupertype_Stmt("SUPERTYPE OF (cartesian_transformation_operator_3d)");
	config_control_designe_cartesian_transformation_operator->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_cartesian_transformation_operator);
	config_control_designe_cartesian_transformation_operator->AddSupertype(config_control_designe_functionally_defined_transformation);
	config_control_designe_functionally_defined_transformation->AddSubtype(config_control_designe_cartesian_transformation_operator);
	a_4axis1 =
	  new AttrDescriptor("axis1",config_control_designe_direction,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_cartesian_transformation_operator);
	config_control_designe_cartesian_transformation_operator->AddExplicitAttr (a_4axis1);
	a_5axis2 =
	  new AttrDescriptor("axis2",config_control_designe_direction,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_cartesian_transformation_operator);
	config_control_designe_cartesian_transformation_operator->AddExplicitAttr (a_5axis2);
	a_6local_origin =
	  new AttrDescriptor("local_origin",config_control_designe_cartesian_point,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cartesian_transformation_operator);
	config_control_designe_cartesian_transformation_operator->AddExplicitAttr (a_6local_origin);
  a_7scale =
	  new AttrDescriptor("scale",t_sdaiREAL,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_cartesian_transformation_operator);
	config_control_designe_cartesian_transformation_operator->AddExplicitAttr (a_7scale);
  a_8Dscl =
	  new Derived_attribute("scl",t_sdaiREAL,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_cartesian_transformation_operator);
	config_control_designe_cartesian_transformation_operator->AddExplicitAttr (a_8Dscl);
	a_8Dscl->initializer_("NVL(scale,1)");
	reg.AddEntity (*config_control_designe_cartesian_transformation_operator);
/////////	 END_ENTITY cartesian_transformation_operator

/////////	 ENTITY cartesian_transformation_operator_3d

	config_control_designe_cartesian_transformation_operator_3d->AddSupertype(config_control_designe_cartesian_transformation_operator);
	config_control_designe_cartesian_transformation_operator->AddSubtype(config_control_designe_cartesian_transformation_operator_3d);
	a_9axis3 =
	  new AttrDescriptor("axis3",config_control_designe_direction,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_cartesian_transformation_operator_3d);
	config_control_designe_cartesian_transformation_operator_3d->AddExplicitAttr (a_9axis3);
	ListTypeDescriptor * t_0 = new ListTypeDescriptor;
	t_0->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_0->Bound1(3);
	t_0->Bound2(3);
	t_0->FundamentalType(LIST_TYPE);
	t_0->Description("LIST [3:3] OF direction");
	t_0->OriginatingSchema(s_config_control_design);
	t_0->ReferentType(config_control_designe_direction);
  a_10Du =
	  new Derived_attribute("u",t_0,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_cartesian_transformation_operator_3d);
	config_control_designe_cartesian_transformation_operator_3d->AddExplicitAttr (a_10Du);
	a_10Du->initializer_("base_axis(3,SELF\\cartesian_transformation_operator.axis1,SELF\\\n        cartesian_transformation_operator.axis2,axis3)");
	reg.AddEntity (*config_control_designe_cartesian_transformation_operator_3d);
/////////	 END_ENTITY cartesian_transformation_operator_3d

/////////	 ENTITY versioned_action_request

  a_11id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_versioned_action_request);
	config_control_designe_versioned_action_request->AddExplicitAttr (a_11id);
  a_12version =
	  new AttrDescriptor("version",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_versioned_action_request);
	config_control_designe_versioned_action_request->AddExplicitAttr (a_12version);
  a_13purpose =
	  new AttrDescriptor("purpose",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_versioned_action_request);
	config_control_designe_versioned_action_request->AddExplicitAttr (a_13purpose);
  a_14description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_versioned_action_request);
	config_control_designe_versioned_action_request->AddExplicitAttr (a_14description);
	reg.AddEntity (*config_control_designe_versioned_action_request);
/////////	 END_ENTITY versioned_action_request

/////////	 ENTITY representation

  a_15name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation);
	config_control_designe_representation->AddExplicitAttr (a_15name);
	SetTypeDescriptor * t_1 = new SetTypeDescriptor;
	t_1->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_1->Bound1(1);
	t_1->Bound2(2147483647);
	t_1->FundamentalType(SET_TYPE);
	t_1->Description("SET [1:?] OF representation_item");
	t_1->OriginatingSchema(s_config_control_design);
	t_1->ReferentType(config_control_designe_representation_item);
  a_16items =
	  new AttrDescriptor("items",t_1,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation);
	config_control_designe_representation->AddExplicitAttr (a_16items);
	a_17context_of_items =
	  new AttrDescriptor("context_of_items",config_control_designe_representation_context,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation);
	config_control_designe_representation->AddExplicitAttr (a_17context_of_items);
	reg.AddEntity (*config_control_designe_representation);
/////////	 END_ENTITY representation

/////////	 ENTITY shape_representation

	config_control_designe_shape_representation->AddSupertype(config_control_designe_representation);
	config_control_designe_representation->AddSubtype(config_control_designe_shape_representation);
	reg.AddEntity (*config_control_designe_shape_representation);
/////////	 END_ENTITY shape_representation

/////////	 ENTITY manifold_surface_shape_representation

	config_control_designe_manifold_surface_shape_representation->AddSupertype(config_control_designe_shape_representation);
	config_control_designe_shape_representation->AddSubtype(config_control_designe_manifold_surface_shape_representation);
	reg.AddEntity (*config_control_designe_manifold_surface_shape_representation);
/////////	 END_ENTITY manifold_surface_shape_representation

/////////	 ENTITY certification

  a_18name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_certification);
	config_control_designe_certification->AddExplicitAttr (a_18name);
  a_19purpose =
	  new AttrDescriptor("purpose",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_certification);
	config_control_designe_certification->AddExplicitAttr (a_19purpose);
	a_20kind =
	  new AttrDescriptor("kind",config_control_designe_certification_type,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_certification);
	config_control_designe_certification->AddExplicitAttr (a_20kind);
	reg.AddEntity (*config_control_designe_certification);
/////////	 END_ENTITY certification

/////////	 ENTITY product_definition_relationship

  a_21id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_relationship);
	config_control_designe_product_definition_relationship->AddExplicitAttr (a_21id);
  a_22name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_relationship);
	config_control_designe_product_definition_relationship->AddExplicitAttr (a_22name);
  a_23description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_relationship);
	config_control_designe_product_definition_relationship->AddExplicitAttr (a_23description);
	a_24relating_product_definition =
	  new AttrDescriptor("relating_product_definition",config_control_designe_product_definition,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_relationship);
	config_control_designe_product_definition_relationship->AddExplicitAttr (a_24relating_product_definition);
	a_25related_product_definition =
	  new AttrDescriptor("related_product_definition",config_control_designe_product_definition,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_relationship);
	config_control_designe_product_definition_relationship->AddExplicitAttr (a_25related_product_definition);
	reg.AddEntity (*config_control_designe_product_definition_relationship);
/////////	 END_ENTITY product_definition_relationship

/////////	 ENTITY product_definition_usage

	config_control_designe_product_definition_usage->AddSupertype_Stmt("SUPERTYPE OF (assembly_component_usage)");
	config_control_designe_product_definition_usage->AddSupertype(config_control_designe_product_definition_relationship);
	config_control_designe_product_definition_relationship->AddSubtype(config_control_designe_product_definition_usage);
	reg.AddEntity (*config_control_designe_product_definition_usage);
/////////	 END_ENTITY product_definition_usage

/////////	 ENTITY assembly_component_usage

	config_control_designe_assembly_component_usage->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (next_assembly_usage_occurrence,specified_higher_usage_occurrence,\n        promissory_usage_occurrence))");
	config_control_designe_assembly_component_usage->AddSupertype(config_control_designe_product_definition_usage);
	config_control_designe_product_definition_usage->AddSubtype(config_control_designe_assembly_component_usage);
  a_26reference_designator =
	  new AttrDescriptor("reference_designator",config_control_designt_identifier,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_assembly_component_usage);
	config_control_designe_assembly_component_usage->AddExplicitAttr (a_26reference_designator);
	reg.AddEntity (*config_control_designe_assembly_component_usage);
/////////	 END_ENTITY assembly_component_usage

/////////	 ENTITY quantified_assembly_component_usage

	config_control_designe_quantified_assembly_component_usage->AddSupertype(config_control_designe_assembly_component_usage);
	config_control_designe_assembly_component_usage->AddSubtype(config_control_designe_quantified_assembly_component_usage);
	a_27quantity =
	  new AttrDescriptor("quantity",config_control_designe_measure_with_unit,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_quantified_assembly_component_usage);
	config_control_designe_quantified_assembly_component_usage->AddExplicitAttr (a_27quantity);
	reg.AddEntity (*config_control_designe_quantified_assembly_component_usage);
/////////	 END_ENTITY quantified_assembly_component_usage

/////////	 ENTITY solid_model

	config_control_designe_solid_model->AddSupertype_Stmt("SUPERTYPE OF (manifold_solid_brep)");
	config_control_designe_solid_model->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_solid_model);
	reg.AddEntity (*config_control_designe_solid_model);
/////////	 END_ENTITY solid_model

/////////	 ENTITY manifold_solid_brep

	config_control_designe_manifold_solid_brep->AddSupertype(config_control_designe_solid_model);
	config_control_designe_solid_model->AddSubtype(config_control_designe_manifold_solid_brep);
	a_28outer =
	  new AttrDescriptor("outer",config_control_designe_closed_shell,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_manifold_solid_brep);
	config_control_designe_manifold_solid_brep->AddExplicitAttr (a_28outer);
	reg.AddEntity (*config_control_designe_manifold_solid_brep);
/////////	 END_ENTITY manifold_solid_brep

/////////	 ENTITY faceted_brep

	config_control_designe_faceted_brep->AddSupertype(config_control_designe_manifold_solid_brep);
	config_control_designe_manifold_solid_brep->AddSubtype(config_control_designe_faceted_brep);
	reg.AddEntity (*config_control_designe_faceted_brep);
/////////	 END_ENTITY faceted_brep

/////////	 ENTITY action_directive

  a_29name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_directive);
	config_control_designe_action_directive->AddExplicitAttr (a_29name);
  a_30description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_directive);
	config_control_designe_action_directive->AddExplicitAttr (a_30description);
  a_31analysis =
	  new AttrDescriptor("analysis",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_directive);
	config_control_designe_action_directive->AddExplicitAttr (a_31analysis);
  a_32comment =
	  new AttrDescriptor("comment",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_directive);
	config_control_designe_action_directive->AddExplicitAttr (a_32comment);
	SetTypeDescriptor * t_2 = new SetTypeDescriptor;
	t_2->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_2->Bound1(1);
	t_2->Bound2(2147483647);
	t_2->FundamentalType(SET_TYPE);
	t_2->Description("SET [1:?] OF versioned_action_request");
	t_2->OriginatingSchema(s_config_control_design);
	t_2->ReferentType(config_control_designe_versioned_action_request);
  a_33requests =
	  new AttrDescriptor("requests",t_2,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_directive);
	config_control_designe_action_directive->AddExplicitAttr (a_33requests);
	reg.AddEntity (*config_control_designe_action_directive);
/////////	 END_ENTITY action_directive

/////////	 ENTITY named_unit

	config_control_designe_named_unit->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (si_unit,conversion_based_unit,context_dependent_unit) ANDOR ONEOF (\n        length_unit,mass_unit,plane_angle_unit,solid_angle_unit,area_unit,\n        volume_unit))");
	a_34dimensions =
	  new AttrDescriptor("dimensions",config_control_designe_dimensional_exponents,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_named_unit);
	config_control_designe_named_unit->AddExplicitAttr (a_34dimensions);
	reg.AddEntity (*config_control_designe_named_unit);
/////////	 END_ENTITY named_unit

/////////	 ENTITY plane_angle_unit

	config_control_designe_plane_angle_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_plane_angle_unit);
	reg.AddEntity (*config_control_designe_plane_angle_unit);
/////////	 END_ENTITY plane_angle_unit

/////////	 ENTITY measure_with_unit

	config_control_designe_measure_with_unit->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (length_measure_with_unit,mass_measure_with_unit,\n        plane_angle_measure_with_unit,solid_angle_measure_with_unit,\n        area_measure_with_unit,volume_measure_with_unit))");
  a_35value_component =
	  new AttrDescriptor("value_component",config_control_designt_measure_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddExplicitAttr (a_35value_component);
  a_36unit_component =
	  new AttrDescriptor("unit_component",config_control_designt_unit,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddExplicitAttr (a_36unit_component);
	reg.AddEntity (*config_control_designe_measure_with_unit);
/////////	 END_ENTITY measure_with_unit

/////////	 ENTITY area_measure_with_unit

	config_control_designe_area_measure_with_unit->AddSupertype(config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddSubtype(config_control_designe_area_measure_with_unit);
	reg.AddEntity (*config_control_designe_area_measure_with_unit);
/////////	 END_ENTITY area_measure_with_unit

/////////	 ENTITY effectivity

	config_control_designe_effectivity->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (serial_numbered_effectivity,dated_effectivity,lot_effectivity))");
  a_37id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_effectivity);
	config_control_designe_effectivity->AddExplicitAttr (a_37id);
	reg.AddEntity (*config_control_designe_effectivity);
/////////	 END_ENTITY effectivity

/////////	 ENTITY serial_numbered_effectivity

	config_control_designe_serial_numbered_effectivity->AddSupertype(config_control_designe_effectivity);
	config_control_designe_effectivity->AddSubtype(config_control_designe_serial_numbered_effectivity);
  a_38effectivity_start_id =
	  new AttrDescriptor("effectivity_start_id",config_control_designt_identifier,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_serial_numbered_effectivity);
	config_control_designe_serial_numbered_effectivity->AddExplicitAttr (a_38effectivity_start_id);
  a_39effectivity_end_id =
	  new AttrDescriptor("effectivity_end_id",config_control_designt_identifier,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_serial_numbered_effectivity);
	config_control_designe_serial_numbered_effectivity->AddExplicitAttr (a_39effectivity_end_id);
	reg.AddEntity (*config_control_designe_serial_numbered_effectivity);
/////////	 END_ENTITY serial_numbered_effectivity

/////////	 ENTITY surface

	config_control_designe_surface->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (elementary_surface,swept_surface,bounded_surface,offset_surface,\n        surface_replica))");
	config_control_designe_surface->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_surface);
	reg.AddEntity (*config_control_designe_surface);
/////////	 END_ENTITY surface

/////////	 ENTITY offset_surface

	config_control_designe_offset_surface->AddSupertype(config_control_designe_surface);
	config_control_designe_surface->AddSubtype(config_control_designe_offset_surface);
	a_40basis_surface =
	  new AttrDescriptor("basis_surface",config_control_designe_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_offset_surface);
	config_control_designe_offset_surface->AddExplicitAttr (a_40basis_surface);
  a_41distance =
	  new AttrDescriptor("distance",config_control_designt_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_offset_surface);
	config_control_designe_offset_surface->AddExplicitAttr (a_41distance);
  a_42self_intersect =
	  new AttrDescriptor("self_intersect",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_offset_surface);
	config_control_designe_offset_surface->AddExplicitAttr (a_42self_intersect);
	reg.AddEntity (*config_control_designe_offset_surface);
/////////	 END_ENTITY offset_surface

/////////	 ENTITY placement

	config_control_designe_placement->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (axis1_placement,axis2_placement_2d,axis2_placement_3d))");
	config_control_designe_placement->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_placement);
	a_43location =
	  new AttrDescriptor("location",config_control_designe_cartesian_point,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_placement);
	config_control_designe_placement->AddExplicitAttr (a_43location);
	reg.AddEntity (*config_control_designe_placement);
/////////	 END_ENTITY placement

/////////	 ENTITY axis2_placement_2d

	config_control_designe_axis2_placement_2d->AddSupertype(config_control_designe_placement);
	config_control_designe_placement->AddSubtype(config_control_designe_axis2_placement_2d);
	a_44ref_direction =
	  new AttrDescriptor("ref_direction",config_control_designe_direction,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_axis2_placement_2d);
	config_control_designe_axis2_placement_2d->AddExplicitAttr (a_44ref_direction);
	ListTypeDescriptor * t_3 = new ListTypeDescriptor;
	t_3->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_3->Bound1(2);
	t_3->Bound2(2);
	t_3->FundamentalType(LIST_TYPE);
	t_3->Description("LIST [2:2] OF direction");
	t_3->OriginatingSchema(s_config_control_design);
	t_3->ReferentType(config_control_designe_direction);
  a_45Dp =
	  new Derived_attribute("p",t_3,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_axis2_placement_2d);
	config_control_designe_axis2_placement_2d->AddExplicitAttr (a_45Dp);
	a_45Dp->initializer_("build_2axes(ref_direction)");
	reg.AddEntity (*config_control_designe_axis2_placement_2d);
/////////	 END_ENTITY axis2_placement_2d

/////////	 ENTITY product_category

  a_46name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_category);
	config_control_designe_product_category->AddExplicitAttr (a_46name);
  a_47description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_product_category);
	config_control_designe_product_category->AddExplicitAttr (a_47description);
	reg.AddEntity (*config_control_designe_product_category);
/////////	 END_ENTITY product_category

/////////	 ENTITY product_related_product_category

	config_control_designe_product_related_product_category->AddSupertype(config_control_designe_product_category);
	config_control_designe_product_category->AddSubtype(config_control_designe_product_related_product_category);
	SetTypeDescriptor * t_4 = new SetTypeDescriptor;
	t_4->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_4->Bound1(1);
	t_4->Bound2(2147483647);
	t_4->FundamentalType(SET_TYPE);
	t_4->Description("SET [1:?] OF product");
	t_4->OriginatingSchema(s_config_control_design);
	t_4->ReferentType(config_control_designe_product);
  a_48products =
	  new AttrDescriptor("products",t_4,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_related_product_category);
	config_control_designe_product_related_product_category->AddExplicitAttr (a_48products);
	reg.AddEntity (*config_control_designe_product_related_product_category);
/////////	 END_ENTITY product_related_product_category

/////////	 ENTITY curve

	config_control_designe_curve->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (line,conic,pcurve,surface_curve,offset_curve_3d,curve_replica))");
	config_control_designe_curve->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_curve);
	reg.AddEntity (*config_control_designe_curve);
/////////	 END_ENTITY curve

/////////	 ENTITY conic

	config_control_designe_conic->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (circle,ellipse,hyperbola,parabola))");
	config_control_designe_conic->AddSupertype(config_control_designe_curve);
	config_control_designe_curve->AddSubtype(config_control_designe_conic);
  a_49position =
	  new AttrDescriptor("position",config_control_designt_axis2_placement,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_conic);
	config_control_designe_conic->AddExplicitAttr (a_49position);
	reg.AddEntity (*config_control_designe_conic);
/////////	 END_ENTITY conic

/////////	 ENTITY hyperbola

	config_control_designe_hyperbola->AddSupertype(config_control_designe_conic);
	config_control_designe_conic->AddSubtype(config_control_designe_hyperbola);
  a_50semi_axis =
	  new AttrDescriptor("semi_axis",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_hyperbola);
	config_control_designe_hyperbola->AddExplicitAttr (a_50semi_axis);
  a_51semi_imag_axis =
	  new AttrDescriptor("semi_imag_axis",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_hyperbola);
	config_control_designe_hyperbola->AddExplicitAttr (a_51semi_imag_axis);
	reg.AddEntity (*config_control_designe_hyperbola);
/////////	 END_ENTITY hyperbola

/////////	 ENTITY address

  a_52internal_location =
	  new AttrDescriptor("internal_location",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_52internal_location);
  a_53street_number =
	  new AttrDescriptor("street_number",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_53street_number);
  a_54street =
	  new AttrDescriptor("street",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_54street);
  a_55postal_box =
	  new AttrDescriptor("postal_box",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_55postal_box);
  a_56town =
	  new AttrDescriptor("town",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_56town);
  a_57region =
	  new AttrDescriptor("region",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_57region);
  a_58postal_code =
	  new AttrDescriptor("postal_code",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_58postal_code);
  a_59country =
	  new AttrDescriptor("country",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_59country);
  a_60facsimile_number =
	  new AttrDescriptor("facsimile_number",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_60facsimile_number);
  a_61telephone_number =
	  new AttrDescriptor("telephone_number",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_61telephone_number);
  a_62electronic_mail_address =
	  new AttrDescriptor("electronic_mail_address",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_62electronic_mail_address);
  a_63telex_number =
	  new AttrDescriptor("telex_number",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_address);
	config_control_designe_address->AddExplicitAttr (a_63telex_number);
	reg.AddEntity (*config_control_designe_address);
/////////	 END_ENTITY address

/////////	 ENTITY organizational_address

	config_control_designe_organizational_address->AddSupertype(config_control_designe_address);
	config_control_designe_address->AddSubtype(config_control_designe_organizational_address);
	SetTypeDescriptor * t_5 = new SetTypeDescriptor;
	t_5->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_5->Bound1(1);
	t_5->Bound2(2147483647);
	t_5->FundamentalType(SET_TYPE);
	t_5->Description("SET [1:?] OF organization");
	t_5->OriginatingSchema(s_config_control_design);
	t_5->ReferentType(config_control_designe_organization);
  a_64organizations =
	  new AttrDescriptor("organizations",t_5,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organizational_address);
	config_control_designe_organizational_address->AddExplicitAttr (a_64organizations);
  a_65description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organizational_address);
	config_control_designe_organizational_address->AddExplicitAttr (a_65description);
	reg.AddEntity (*config_control_designe_organizational_address);
/////////	 END_ENTITY organizational_address

/////////	 ENTITY bounded_surface

	config_control_designe_bounded_surface->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (b_spline_surface,rectangular_trimmed_surface,curve_bounded_surface,\n        rectangular_composite_surface))");
	config_control_designe_bounded_surface->AddSupertype(config_control_designe_surface);
	config_control_designe_surface->AddSubtype(config_control_designe_bounded_surface);
	reg.AddEntity (*config_control_designe_bounded_surface);
/////////	 END_ENTITY bounded_surface

/////////	 ENTITY b_spline_surface

	config_control_designe_b_spline_surface->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (b_spline_surface_with_knots,uniform_surface,quasi_uniform_surface,\n        bezier_surface) ANDOR rational_b_spline_surface)");
	config_control_designe_b_spline_surface->AddSupertype(config_control_designe_bounded_surface);
	config_control_designe_bounded_surface->AddSubtype(config_control_designe_b_spline_surface);
  a_66u_degree =
	  new AttrDescriptor("u_degree",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_66u_degree);
  a_67v_degree =
	  new AttrDescriptor("v_degree",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_67v_degree);
	ListTypeDescriptor * t_6 = new ListTypeDescriptor;
	t_6->AssignAggrCreator((AggregateCreator) create_GenericAggregate);	// Creator function 
	t_6->Bound1(2);
	t_6->Bound2(2147483647);
	t_6->FundamentalType(LIST_TYPE);
	t_6->Description("LIST [2:?] OF LIST [2:?] OF cartesian_point");
	t_6->OriginatingSchema(s_config_control_design);
	ListTypeDescriptor * t_7 = new ListTypeDescriptor;
	t_7->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_7->Bound1(2);
	t_7->Bound2(2147483647);
	t_7->FundamentalType(LIST_TYPE);
	t_7->Description("LIST [2:?] OF cartesian_point");
	t_7->OriginatingSchema(s_config_control_design);
	t_7->ReferentType(config_control_designe_cartesian_point);
	t_6->ReferentType(t_7);
  a_68control_points_list =
	  new AttrDescriptor("control_points_list",t_6,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_68control_points_list);
  a_69surface_form =
	  new AttrDescriptor("surface_form",config_control_designt_b_spline_surface_form,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_69surface_form);
  a_70u_closed =
	  new AttrDescriptor("u_closed",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_70u_closed);
  a_71v_closed =
	  new AttrDescriptor("v_closed",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_71v_closed);
  a_72self_intersect =
	  new AttrDescriptor("self_intersect",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_72self_intersect);
  a_73Du_upper =
	  new Derived_attribute("u_upper",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_73Du_upper);
	a_73Du_upper->initializer_("SIZEOF(control_points_list) - 1");
  a_74Dv_upper =
	  new Derived_attribute("v_upper",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_74Dv_upper);
	a_74Dv_upper->initializer_("SIZEOF(control_points_list[1]) - 1");
	ArrayTypeDescriptor * t_8 = new ArrayTypeDescriptor;
	t_8->AssignAggrCreator((AggregateCreator) create_GenericAggregate);	// Creator function 
	t_8->Bound1(0);
	t_8->Bound2(25427644);
	t_8->FundamentalType(ARRAY_TYPE);
	t_8->Description("ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF cartesian_point");
	t_8->OriginatingSchema(s_config_control_design);
	ArrayTypeDescriptor * t_9 = new ArrayTypeDescriptor;
	t_9->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_9->Bound1(0);
	t_9->Bound2(25427672);
	t_9->FundamentalType(ARRAY_TYPE);
	t_9->Description("ARRAY [0:v_upper] OF cartesian_point");
	t_9->OriginatingSchema(s_config_control_design);
	t_9->ReferentType(config_control_designe_cartesian_point);
	t_8->ReferentType(t_9);
  a_75Dcontrol_points =
	  new Derived_attribute("control_points",t_8,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddExplicitAttr (a_75Dcontrol_points);
	a_75Dcontrol_points->initializer_("make_array_of_array(control_points_list,0,u_upper,0,v_upper)");
	reg.AddEntity (*config_control_designe_b_spline_surface);
/////////	 END_ENTITY b_spline_surface

/////////	 ENTITY uniform_surface

	config_control_designe_uniform_surface->AddSupertype(config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddSubtype(config_control_designe_uniform_surface);
	reg.AddEntity (*config_control_designe_uniform_surface);
/////////	 END_ENTITY uniform_surface

/////////	 ENTITY geometrically_bounded_surface_shape_representation

	config_control_designe_geometrically_bounded_surface_shape_representation->AddSupertype(config_control_designe_shape_representation);
	config_control_designe_shape_representation->AddSubtype(config_control_designe_geometrically_bounded_surface_shape_representation);
	reg.AddEntity (*config_control_designe_geometrically_bounded_surface_shape_representation);
/////////	 END_ENTITY geometrically_bounded_surface_shape_representation

/////////	 ENTITY axis1_placement

	config_control_designe_axis1_placement->AddSupertype(config_control_designe_placement);
	config_control_designe_placement->AddSubtype(config_control_designe_axis1_placement);
	a_76axis =
	  new AttrDescriptor("axis",config_control_designe_direction,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_axis1_placement);
	config_control_designe_axis1_placement->AddExplicitAttr (a_76axis);
	a_77Dz =
	  new Derived_attribute("z",config_control_designe_direction,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_axis1_placement);
	config_control_designe_axis1_placement->AddExplicitAttr (a_77Dz);
	a_77Dz->initializer_("NVL(normalise(axis),dummy_gri || direction([0,0,1]))");
	reg.AddEntity (*config_control_designe_axis1_placement);
/////////	 END_ENTITY axis1_placement

/////////	 ENTITY bounded_curve

	config_control_designe_bounded_curve->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (polyline,b_spline_curve,trimmed_curve,bounded_pcurve,\n        bounded_surface_curve,composite_curve))");
	config_control_designe_bounded_curve->AddSupertype(config_control_designe_curve);
	config_control_designe_curve->AddSubtype(config_control_designe_bounded_curve);
	reg.AddEntity (*config_control_designe_bounded_curve);
/////////	 END_ENTITY bounded_curve

/////////	 ENTITY b_spline_curve

	config_control_designe_b_spline_curve->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (uniform_curve,b_spline_curve_with_knots,quasi_uniform_curve,\n        bezier_curve) ANDOR rational_b_spline_curve)");
	config_control_designe_b_spline_curve->AddSupertype(config_control_designe_bounded_curve);
	config_control_designe_bounded_curve->AddSubtype(config_control_designe_b_spline_curve);
  a_78degree =
	  new AttrDescriptor("degree",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddExplicitAttr (a_78degree);
	ListTypeDescriptor * t_10 = new ListTypeDescriptor;
	t_10->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_10->Bound1(2);
	t_10->Bound2(2147483647);
	t_10->FundamentalType(LIST_TYPE);
	t_10->Description("LIST [2:?] OF cartesian_point");
	t_10->OriginatingSchema(s_config_control_design);
	t_10->ReferentType(config_control_designe_cartesian_point);
  a_79control_points_list =
	  new AttrDescriptor("control_points_list",t_10,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddExplicitAttr (a_79control_points_list);
  a_80curve_form =
	  new AttrDescriptor("curve_form",config_control_designt_b_spline_curve_form,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddExplicitAttr (a_80curve_form);
  a_81closed_curve =
	  new AttrDescriptor("closed_curve",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddExplicitAttr (a_81closed_curve);
  a_82self_intersect =
	  new AttrDescriptor("self_intersect",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddExplicitAttr (a_82self_intersect);
  a_83Dupper_index_on_control_points =
	  new Derived_attribute("upper_index_on_control_points",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddExplicitAttr (a_83Dupper_index_on_control_points);
	a_83Dupper_index_on_control_points->initializer_("SIZEOF(control_points_list) - 1");
	ArrayTypeDescriptor * t_11 = new ArrayTypeDescriptor;
	t_11->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_11->Bound1(0);
	t_11->Bound2(25427280);
	t_11->FundamentalType(ARRAY_TYPE);
	t_11->Description("ARRAY [0:upper_index_on_control_points] OF cartesian_point");
	t_11->OriginatingSchema(s_config_control_design);
	t_11->ReferentType(config_control_designe_cartesian_point);
  a_84Dcontrol_points =
	  new Derived_attribute("control_points",t_11,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddExplicitAttr (a_84Dcontrol_points);
	a_84Dcontrol_points->initializer_("list_to_array(control_points_list,0,upper_index_on_control_points)");
	reg.AddEntity (*config_control_designe_b_spline_curve);
/////////	 END_ENTITY b_spline_curve

/////////	 ENTITY rational_b_spline_curve

	config_control_designe_rational_b_spline_curve->AddSupertype(config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddSubtype(config_control_designe_rational_b_spline_curve);
	ListTypeDescriptor * t_12 = new ListTypeDescriptor;
	t_12->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_12->Bound1(2);
	t_12->Bound2(2147483647);
	t_12->FundamentalType(LIST_TYPE);
	t_12->Description("LIST [2:?] OF REAL");
	t_12->OriginatingSchema(s_config_control_design);
	t_12->ReferentType(t_sdaiREAL);
  a_85weights_data =
	  new AttrDescriptor("weights_data",t_12,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rational_b_spline_curve);
	config_control_designe_rational_b_spline_curve->AddExplicitAttr (a_85weights_data);
	ArrayTypeDescriptor * t_13 = new ArrayTypeDescriptor;
	t_13->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_13->Bound1(0);
	t_13->Bound2(25427280);
	t_13->FundamentalType(ARRAY_TYPE);
	t_13->Description("ARRAY [0:upper_index_on_control_points] OF REAL");
	t_13->OriginatingSchema(s_config_control_design);
	t_13->ReferentType(t_sdaiREAL);
  a_86Dweights =
	  new Derived_attribute("weights",t_13,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_rational_b_spline_curve);
	config_control_designe_rational_b_spline_curve->AddExplicitAttr (a_86Dweights);
	a_86Dweights->initializer_("list_to_array(weights_data,0,upper_index_on_control_points)");
	reg.AddEntity (*config_control_designe_rational_b_spline_curve);
/////////	 END_ENTITY rational_b_spline_curve

/////////	 ENTITY action_request_assignment

	config_control_designe_action_request_assignment->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_87assigned_action_request =
	  new AttrDescriptor("assigned_action_request",config_control_designe_versioned_action_request,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_request_assignment);
	config_control_designe_action_request_assignment->AddExplicitAttr (a_87assigned_action_request);
	reg.AddEntity (*config_control_designe_action_request_assignment);
/////////	 END_ENTITY action_request_assignment

/////////	 ENTITY topological_representation_item

	config_control_designe_topological_representation_item->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (vertex,edge,face_bound,face,vertex_shell,wire_shell,\n        connected_edge_set,connected_face_set,loop ANDOR path))");
	config_control_designe_topological_representation_item->AddSupertype(config_control_designe_representation_item);
	config_control_designe_representation_item->AddSubtype(config_control_designe_topological_representation_item);
	reg.AddEntity (*config_control_designe_topological_representation_item);
/////////	 END_ENTITY topological_representation_item

/////////	 ENTITY face_bound

	config_control_designe_face_bound->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_face_bound);
	a_88bound =
	  new AttrDescriptor("bound",config_control_designe_loop,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_face_bound);
	config_control_designe_face_bound->AddExplicitAttr (a_88bound);
  a_89orientation =
	  new AttrDescriptor("orientation",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_face_bound);
	config_control_designe_face_bound->AddExplicitAttr (a_89orientation);
	reg.AddEntity (*config_control_designe_face_bound);
/////////	 END_ENTITY face_bound

/////////	 ENTITY length_measure_with_unit

	config_control_designe_length_measure_with_unit->AddSupertype(config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddSubtype(config_control_designe_length_measure_with_unit);
	reg.AddEntity (*config_control_designe_length_measure_with_unit);
/////////	 END_ENTITY length_measure_with_unit

/////////	 ENTITY dated_effectivity

	config_control_designe_dated_effectivity->AddSupertype(config_control_designe_effectivity);
	config_control_designe_effectivity->AddSubtype(config_control_designe_dated_effectivity);
	a_90effectivity_start_date =
	  new AttrDescriptor("effectivity_start_date",config_control_designe_date_and_time,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_dated_effectivity);
	config_control_designe_dated_effectivity->AddExplicitAttr (a_90effectivity_start_date);
	a_91effectivity_end_date =
	  new AttrDescriptor("effectivity_end_date",config_control_designe_date_and_time,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_dated_effectivity);
	config_control_designe_dated_effectivity->AddExplicitAttr (a_91effectivity_end_date);
	reg.AddEntity (*config_control_designe_dated_effectivity);
/////////	 END_ENTITY dated_effectivity

/////////	 ENTITY direction

	config_control_designe_direction->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_direction);
	ListTypeDescriptor * t_14 = new ListTypeDescriptor;
	t_14->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_14->Bound1(2);
	t_14->Bound2(3);
	t_14->FundamentalType(LIST_TYPE);
	t_14->Description("LIST [2:3] OF REAL");
	t_14->OriginatingSchema(s_config_control_design);
	t_14->ReferentType(t_sdaiREAL);
  a_92direction_ratios =
	  new AttrDescriptor("direction_ratios",t_14,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_direction);
	config_control_designe_direction->AddExplicitAttr (a_92direction_ratios);
	reg.AddEntity (*config_control_designe_direction);
/////////	 END_ENTITY direction

/////////	 ENTITY next_assembly_usage_occurrence

	config_control_designe_next_assembly_usage_occurrence->AddSupertype(config_control_designe_assembly_component_usage);
	config_control_designe_assembly_component_usage->AddSubtype(config_control_designe_next_assembly_usage_occurrence);
	reg.AddEntity (*config_control_designe_next_assembly_usage_occurrence);
/////////	 END_ENTITY next_assembly_usage_occurrence

/////////	 ENTITY edge

	config_control_designe_edge->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (edge_curve,oriented_edge))");
	config_control_designe_edge->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_edge);
	a_93edge_start =
	  new AttrDescriptor("edge_start",config_control_designe_vertex,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_edge);
	config_control_designe_edge->AddExplicitAttr (a_93edge_start);
	a_94edge_end =
	  new AttrDescriptor("edge_end",config_control_designe_vertex,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_edge);
	config_control_designe_edge->AddExplicitAttr (a_94edge_end);
	reg.AddEntity (*config_control_designe_edge);
/////////	 END_ENTITY edge

/////////	 ENTITY oriented_edge

	config_control_designe_oriented_edge->AddSupertype(config_control_designe_edge);
	config_control_designe_edge->AddSubtype(config_control_designe_oriented_edge);
	a_95edge_element =
	  new AttrDescriptor("edge_element",config_control_designe_edge,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_edge);
	config_control_designe_oriented_edge->AddExplicitAttr (a_95edge_element);
  a_96orientation =
	  new AttrDescriptor("orientation",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_edge);
	config_control_designe_oriented_edge->AddExplicitAttr (a_96orientation);
	a_97Dedge_edge_start =
	  new Derived_attribute("edge.edge_start",config_control_designe_vertex,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_oriented_edge);
	config_control_designe_oriented_edge->AddExplicitAttr (a_97Dedge_edge_start);
	a_97Dedge_edge_start->initializer_("boolean_choose(SELF.orientation,SELF.edge_element.edge_start,SELF.\n        edge_element.edge_end)");
	a_98Dedge_edge_end =
	  new Derived_attribute("edge.edge_end",config_control_designe_vertex,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_oriented_edge);
	config_control_designe_oriented_edge->AddExplicitAttr (a_98Dedge_edge_end);
	a_98Dedge_edge_end->initializer_("boolean_choose(SELF.orientation,SELF.edge_element.edge_end,SELF.\n        edge_element.edge_start)");
	reg.AddEntity (*config_control_designe_oriented_edge);
/////////	 END_ENTITY oriented_edge

/////////	 ENTITY person

  a_99id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_person);
	config_control_designe_person->AddExplicitAttr (a_99id);
  a_100last_name =
	  new AttrDescriptor("last_name",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_person);
	config_control_designe_person->AddExplicitAttr (a_100last_name);
  a_101first_name =
	  new AttrDescriptor("first_name",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_person);
	config_control_designe_person->AddExplicitAttr (a_101first_name);
	ListTypeDescriptor * t_15 = new ListTypeDescriptor;
	t_15->AssignAggrCreator((AggregateCreator) create_StringAggregate);	// Creator function 
	t_15->Bound1(1);
	t_15->Bound2(2147483647);
	t_15->FundamentalType(LIST_TYPE);
	t_15->Description("LIST [1:?] OF label");
	t_15->OriginatingSchema(s_config_control_design);
	t_15->ReferentType(config_control_designt_label);
  a_102middle_names =
	  new AttrDescriptor("middle_names",t_15,LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_person);
	config_control_designe_person->AddExplicitAttr (a_102middle_names);
	ListTypeDescriptor * t_16 = new ListTypeDescriptor;
	t_16->AssignAggrCreator((AggregateCreator) create_StringAggregate);	// Creator function 
	t_16->Bound1(1);
	t_16->Bound2(2147483647);
	t_16->FundamentalType(LIST_TYPE);
	t_16->Description("LIST [1:?] OF label");
	t_16->OriginatingSchema(s_config_control_design);
	t_16->ReferentType(config_control_designt_label);
  a_103prefix_titles =
	  new AttrDescriptor("prefix_titles",t_16,LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_person);
	config_control_designe_person->AddExplicitAttr (a_103prefix_titles);
	ListTypeDescriptor * t_17 = new ListTypeDescriptor;
	t_17->AssignAggrCreator((AggregateCreator) create_StringAggregate);	// Creator function 
	t_17->Bound1(1);
	t_17->Bound2(2147483647);
	t_17->FundamentalType(LIST_TYPE);
	t_17->Description("LIST [1:?] OF label");
	t_17->OriginatingSchema(s_config_control_design);
	t_17->ReferentType(config_control_designt_label);
  a_104suffix_titles =
	  new AttrDescriptor("suffix_titles",t_17,LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_person);
	config_control_designe_person->AddExplicitAttr (a_104suffix_titles);
	reg.AddEntity (*config_control_designe_person);
/////////	 END_ENTITY person

/////////	 ENTITY document

  a_105id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_document);
	config_control_designe_document->AddExplicitAttr (a_105id);
  a_106name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document);
	config_control_designe_document->AddExplicitAttr (a_106name);
  a_107description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document);
	config_control_designe_document->AddExplicitAttr (a_107description);
	a_108kind =
	  new AttrDescriptor("kind",config_control_designe_document_type,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document);
	config_control_designe_document->AddExplicitAttr (a_108kind);
	reg.AddEntity (*config_control_designe_document);
/////////	 END_ENTITY document

/////////	 ENTITY document_with_class

	config_control_designe_document_with_class->AddSupertype(config_control_designe_document);
	config_control_designe_document->AddSubtype(config_control_designe_document_with_class);
  a_109class =
	  new AttrDescriptor("class",config_control_designt_identifier,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_with_class);
	config_control_designe_document_with_class->AddExplicitAttr (a_109class);
	reg.AddEntity (*config_control_designe_document_with_class);
/////////	 END_ENTITY document_with_class

/////////	 ENTITY conversion_based_unit

	config_control_designe_conversion_based_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_conversion_based_unit);
  a_110name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_conversion_based_unit);
	config_control_designe_conversion_based_unit->AddExplicitAttr (a_110name);
	a_111conversion_factor =
	  new AttrDescriptor("conversion_factor",config_control_designe_measure_with_unit,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_conversion_based_unit);
	config_control_designe_conversion_based_unit->AddExplicitAttr (a_111conversion_factor);
	reg.AddEntity (*config_control_designe_conversion_based_unit);
/////////	 END_ENTITY conversion_based_unit

/////////	 ENTITY point

	config_control_designe_point->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (cartesian_point,point_on_curve,point_on_surface,point_replica,\n        degenerate_pcurve))");
	config_control_designe_point->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_point);
	reg.AddEntity (*config_control_designe_point);
/////////	 END_ENTITY point

/////////	 ENTITY point_on_surface

	config_control_designe_point_on_surface->AddSupertype(config_control_designe_point);
	config_control_designe_point->AddSubtype(config_control_designe_point_on_surface);
	a_112basis_surface =
	  new AttrDescriptor("basis_surface",config_control_designe_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_point_on_surface);
	config_control_designe_point_on_surface->AddExplicitAttr (a_112basis_surface);
  a_113point_parameter_u =
	  new AttrDescriptor("point_parameter_u",config_control_designt_parameter_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_point_on_surface);
	config_control_designe_point_on_surface->AddExplicitAttr (a_113point_parameter_u);
  a_114point_parameter_v =
	  new AttrDescriptor("point_parameter_v",config_control_designt_parameter_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_point_on_surface);
	config_control_designe_point_on_surface->AddExplicitAttr (a_114point_parameter_v);
	reg.AddEntity (*config_control_designe_point_on_surface);
/////////	 END_ENTITY point_on_surface

/////////	 ENTITY product_definition_formation

  a_115id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_product_definition_formation);
	config_control_designe_product_definition_formation->AddExplicitAttr (a_115id);
  a_116description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_formation);
	config_control_designe_product_definition_formation->AddExplicitAttr (a_116description);
	a_117of_product =
	  new AttrDescriptor("of_product",config_control_designe_product,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_product_definition_formation);
	config_control_designe_product_definition_formation->AddExplicitAttr (a_117of_product);
	reg.AddEntity (*config_control_designe_product_definition_formation);
/////////	 END_ENTITY product_definition_formation

/////////	 ENTITY person_and_organization_assignment

	config_control_designe_person_and_organization_assignment->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_118assigned_person_and_organization =
	  new AttrDescriptor("assigned_person_and_organization",config_control_designe_person_and_organization,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_person_and_organization_assignment);
	config_control_designe_person_and_organization_assignment->AddExplicitAttr (a_118assigned_person_and_organization);
	a_119role =
	  new AttrDescriptor("role",config_control_designe_person_and_organization_role,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_person_and_organization_assignment);
	config_control_designe_person_and_organization_assignment->AddExplicitAttr (a_119role);
	reg.AddEntity (*config_control_designe_person_and_organization_assignment);
/////////	 END_ENTITY person_and_organization_assignment

/////////	 ENTITY cc_design_person_and_organization_assignment

	config_control_designe_cc_design_person_and_organization_assignment->AddSupertype(config_control_designe_person_and_organization_assignment);
	config_control_designe_person_and_organization_assignment->AddSubtype(config_control_designe_cc_design_person_and_organization_assignment);
	SetTypeDescriptor * t_18 = new SetTypeDescriptor;
	t_18->AssignAggrCreator((AggregateCreator) create_SdaiPerson_organization_items);	// Creator function 
	t_18->Bound1(1);
	t_18->Bound2(2147483647);
	t_18->FundamentalType(SET_TYPE);
	t_18->Description("SET [1:?] OF person_organization_item");
	t_18->OriginatingSchema(s_config_control_design);
	t_18->ReferentType(config_control_designt_person_organization_item);
  a_120items =
	  new AttrDescriptor("items",t_18,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cc_design_person_and_organization_assignment);
	config_control_designe_cc_design_person_and_organization_assignment->AddExplicitAttr (a_120items);
	reg.AddEntity (*config_control_designe_cc_design_person_and_organization_assignment);
/////////	 END_ENTITY cc_design_person_and_organization_assignment

/////////	 ENTITY offset_curve_3d

	config_control_designe_offset_curve_3d->AddSupertype(config_control_designe_curve);
	config_control_designe_curve->AddSubtype(config_control_designe_offset_curve_3d);
	a_121basis_curve =
	  new AttrDescriptor("basis_curve",config_control_designe_curve,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_offset_curve_3d);
	config_control_designe_offset_curve_3d->AddExplicitAttr (a_121basis_curve);
  a_122distance =
	  new AttrDescriptor("distance",config_control_designt_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_offset_curve_3d);
	config_control_designe_offset_curve_3d->AddExplicitAttr (a_122distance);
  a_123self_intersect =
	  new AttrDescriptor("self_intersect",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_offset_curve_3d);
	config_control_designe_offset_curve_3d->AddExplicitAttr (a_123self_intersect);
	a_124ref_direction =
	  new AttrDescriptor("ref_direction",config_control_designe_direction,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_offset_curve_3d);
	config_control_designe_offset_curve_3d->AddExplicitAttr (a_124ref_direction);
	reg.AddEntity (*config_control_designe_offset_curve_3d);
/////////	 END_ENTITY offset_curve_3d

/////////	 ENTITY approval

	a_125status =
	  new AttrDescriptor("status",config_control_designe_approval_status,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval);
	config_control_designe_approval->AddExplicitAttr (a_125status);
  a_126level =
	  new AttrDescriptor("level",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval);
	config_control_designe_approval->AddExplicitAttr (a_126level);
	reg.AddEntity (*config_control_designe_approval);
/////////	 END_ENTITY approval

/////////	 ENTITY composite_curve

	config_control_designe_composite_curve->AddSupertype(config_control_designe_bounded_curve);
	config_control_designe_bounded_curve->AddSubtype(config_control_designe_composite_curve);
	ListTypeDescriptor * t_19 = new ListTypeDescriptor;
	t_19->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_19->Bound1(1);
	t_19->Bound2(2147483647);
	t_19->FundamentalType(LIST_TYPE);
	t_19->Description("LIST [1:?] OF composite_curve_segment");
	t_19->OriginatingSchema(s_config_control_design);
	t_19->ReferentType(config_control_designe_composite_curve_segment);
  a_127segments =
	  new AttrDescriptor("segments",t_19,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_composite_curve);
	config_control_designe_composite_curve->AddExplicitAttr (a_127segments);
  a_128self_intersect =
	  new AttrDescriptor("self_intersect",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_composite_curve);
	config_control_designe_composite_curve->AddExplicitAttr (a_128self_intersect);
  a_129Dn_segments =
	  new Derived_attribute("n_segments",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_composite_curve);
	config_control_designe_composite_curve->AddExplicitAttr (a_129Dn_segments);
	a_129Dn_segments->initializer_("SIZEOF(segments)");
  a_130Dclosed_curve =
	  new Derived_attribute("closed_curve",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_composite_curve);
	config_control_designe_composite_curve->AddExplicitAttr (a_130Dclosed_curve);
	a_130Dclosed_curve->initializer_("segments[n_segments].transition <> discontinuous");
	reg.AddEntity (*config_control_designe_composite_curve);
/////////	 END_ENTITY composite_curve

/////////	 ENTITY composite_curve_on_surface

	config_control_designe_composite_curve_on_surface->AddSupertype_Stmt("SUPERTYPE OF (boundary_curve)");
	config_control_designe_composite_curve_on_surface->AddSupertype(config_control_designe_composite_curve);
	config_control_designe_composite_curve->AddSubtype(config_control_designe_composite_curve_on_surface);
	SetTypeDescriptor * t_20 = new SetTypeDescriptor;
	t_20->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_20->Bound1(0);
	t_20->Bound2(2);
	t_20->FundamentalType(SET_TYPE);
	t_20->Description("SET [0:2] OF surface");
	t_20->OriginatingSchema(s_config_control_design);
	t_20->ReferentType(config_control_designe_surface);
  a_131Dbasis_surface =
	  new Derived_attribute("basis_surface",t_20,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_composite_curve_on_surface);
	config_control_designe_composite_curve_on_surface->AddExplicitAttr (a_131Dbasis_surface);
	a_131Dbasis_surface->initializer_("get_basis_surface(SELF)");
	reg.AddEntity (*config_control_designe_composite_curve_on_surface);
/////////	 END_ENTITY composite_curve_on_surface

/////////	 ENTITY boundary_curve

	config_control_designe_boundary_curve->AddSupertype(config_control_designe_composite_curve_on_surface);
	config_control_designe_composite_curve_on_surface->AddSubtype(config_control_designe_boundary_curve);
	reg.AddEntity (*config_control_designe_boundary_curve);
/////////	 END_ENTITY boundary_curve

/////////	 ENTITY representation_context

  a_132context_identifier =
	  new AttrDescriptor("context_identifier",config_control_designt_identifier,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_context);
	config_control_designe_representation_context->AddExplicitAttr (a_132context_identifier);
  a_133context_type =
	  new AttrDescriptor("context_type",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_context);
	config_control_designe_representation_context->AddExplicitAttr (a_133context_type);
	SetTypeDescriptor * t_21 = new SetTypeDescriptor;
	t_21->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_21->Bound1(1);
	t_21->Bound2(2147483647);
	t_21->FundamentalType(SET_TYPE);
	t_21->Description("SET [1:?] OF representation");
	t_21->OriginatingSchema(s_config_control_design);
	t_21->ReferentType(config_control_designe_representation);
  a_134Irepresentations_in_context =
	  new Inverse_attribute("representations_in_context",t_21,LFalse,LFalse,
	  *config_control_designe_representation_context);
	config_control_designe_representation_context->AddInverseAttr (a_134Irepresentations_in_context);
	a_134Irepresentations_in_context->inverted_attr_id_("context_of_items");
	a_134Irepresentations_in_context->inverted_entity_id_("representation");
// inverse entity 3 representation
	reg.AddEntity (*config_control_designe_representation_context);
/////////	 END_ENTITY representation_context

/////////	 ENTITY geometric_representation_context

	config_control_designe_geometric_representation_context->AddSupertype(config_control_designe_representation_context);
	config_control_designe_representation_context->AddSubtype(config_control_designe_geometric_representation_context);
  a_135coordinate_space_dimension =
	  new AttrDescriptor("coordinate_space_dimension",config_control_designt_dimension_count,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_geometric_representation_context);
	config_control_designe_geometric_representation_context->AddExplicitAttr (a_135coordinate_space_dimension);
	reg.AddEntity (*config_control_designe_geometric_representation_context);
/////////	 END_ENTITY geometric_representation_context

/////////	 ENTITY action_status

  a_136status =
	  new AttrDescriptor("status",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_status);
	config_control_designe_action_status->AddExplicitAttr (a_136status);
	a_137assigned_action =
	  new AttrDescriptor("assigned_action",config_control_designe_executed_action,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_status);
	config_control_designe_action_status->AddExplicitAttr (a_137assigned_action);
	reg.AddEntity (*config_control_designe_action_status);
/////////	 END_ENTITY action_status

/////////	 ENTITY application_context

  a_138application =
	  new AttrDescriptor("application",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_application_context);
	config_control_designe_application_context->AddExplicitAttr (a_138application);
	SetTypeDescriptor * t_22 = new SetTypeDescriptor;
	t_22->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_22->Bound1(1);
	t_22->Bound2(2147483647);
	t_22->FundamentalType(SET_TYPE);
	t_22->Description("SET [1:?] OF application_context_element");
	t_22->OriginatingSchema(s_config_control_design);
	t_22->ReferentType(config_control_designe_application_context_element);
  a_139Icontext_elements =
	  new Inverse_attribute("context_elements",t_22,LFalse,LFalse,
	  *config_control_designe_application_context);
	config_control_designe_application_context->AddInverseAttr (a_139Icontext_elements);
	a_139Icontext_elements->inverted_attr_id_("frame_of_reference");
	a_139Icontext_elements->inverted_entity_id_("application_context_element");
// inverse entity 3 application_context_element
	reg.AddEntity (*config_control_designe_application_context);
/////////	 END_ENTITY application_context

/////////	 ENTITY change_request

	config_control_designe_change_request->AddSupertype(config_control_designe_action_request_assignment);
	config_control_designe_action_request_assignment->AddSubtype(config_control_designe_change_request);
	SetTypeDescriptor * t_23 = new SetTypeDescriptor;
	t_23->AssignAggrCreator((AggregateCreator) create_SdaiChange_request_items);	// Creator function 
	t_23->Bound1(1);
	t_23->Bound2(2147483647);
	t_23->FundamentalType(SET_TYPE);
	t_23->Description("SET [1:?] OF change_request_item");
	t_23->OriginatingSchema(s_config_control_design);
	t_23->ReferentType(config_control_designt_change_request_item);
  a_140items =
	  new AttrDescriptor("items",t_23,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_change_request);
	config_control_designe_change_request->AddExplicitAttr (a_140items);
	reg.AddEntity (*config_control_designe_change_request);
/////////	 END_ENTITY change_request

/////////	 ENTITY date_and_time

	a_141date_component =
	  new AttrDescriptor("date_component",config_control_designe_date,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_date_and_time);
	config_control_designe_date_and_time->AddExplicitAttr (a_141date_component);
	a_142time_component =
	  new AttrDescriptor("time_component",config_control_designe_local_time,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_date_and_time);
	config_control_designe_date_and_time->AddExplicitAttr (a_142time_component);
	reg.AddEntity (*config_control_designe_date_and_time);
/////////	 END_ENTITY date_and_time

/////////	 ENTITY approval_date_time

  a_143date_time =
	  new AttrDescriptor("date_time",config_control_designt_date_time_select,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_date_time);
	config_control_designe_approval_date_time->AddExplicitAttr (a_143date_time);
	a_144dated_approval =
	  new AttrDescriptor("dated_approval",config_control_designe_approval,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_date_time);
	config_control_designe_approval_date_time->AddExplicitAttr (a_144dated_approval);
	reg.AddEntity (*config_control_designe_approval_date_time);
/////////	 END_ENTITY approval_date_time

/////////	 ENTITY approval_role

  a_145role =
	  new AttrDescriptor("role",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_role);
	config_control_designe_approval_role->AddExplicitAttr (a_145role);
	reg.AddEntity (*config_control_designe_approval_role);
/////////	 END_ENTITY approval_role

/////////	 ENTITY application_context_element

	config_control_designe_application_context_element->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (product_context,product_definition_context,product_concept_context))");
  a_146name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_application_context_element);
	config_control_designe_application_context_element->AddExplicitAttr (a_146name);
	a_147frame_of_reference =
	  new AttrDescriptor("frame_of_reference",config_control_designe_application_context,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_application_context_element);
	config_control_designe_application_context_element->AddExplicitAttr (a_147frame_of_reference);
	reg.AddEntity (*config_control_designe_application_context_element);
/////////	 END_ENTITY application_context_element

/////////	 ENTITY product_context

	config_control_designe_product_context->AddSupertype(config_control_designe_application_context_element);
	config_control_designe_application_context_element->AddSubtype(config_control_designe_product_context);
  a_148discipline_type =
	  new AttrDescriptor("discipline_type",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_context);
	config_control_designe_product_context->AddExplicitAttr (a_148discipline_type);
	reg.AddEntity (*config_control_designe_product_context);
/////////	 END_ENTITY product_context

/////////	 ENTITY elementary_surface

	config_control_designe_elementary_surface->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (plane,cylindrical_surface,conical_surface,spherical_surface,\n        toroidal_surface))");
	config_control_designe_elementary_surface->AddSupertype(config_control_designe_surface);
	config_control_designe_surface->AddSubtype(config_control_designe_elementary_surface);
	a_149position =
	  new AttrDescriptor("position",config_control_designe_axis2_placement_3d,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_elementary_surface);
	config_control_designe_elementary_surface->AddExplicitAttr (a_149position);
	reg.AddEntity (*config_control_designe_elementary_surface);
/////////	 END_ENTITY elementary_surface

/////////	 ENTITY spherical_surface

	config_control_designe_spherical_surface->AddSupertype(config_control_designe_elementary_surface);
	config_control_designe_elementary_surface->AddSubtype(config_control_designe_spherical_surface);
  a_150radius =
	  new AttrDescriptor("radius",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_spherical_surface);
	config_control_designe_spherical_surface->AddExplicitAttr (a_150radius);
	reg.AddEntity (*config_control_designe_spherical_surface);
/////////	 END_ENTITY spherical_surface

/////////	 ENTITY application_protocol_definition

  a_151status =
	  new AttrDescriptor("status",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_application_protocol_definition);
	config_control_designe_application_protocol_definition->AddExplicitAttr (a_151status);
  a_152application_interpreted_model_schema_name =
	  new AttrDescriptor("application_interpreted_model_schema_name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_application_protocol_definition);
	config_control_designe_application_protocol_definition->AddExplicitAttr (a_152application_interpreted_model_schema_name);
  a_153application_protocol_year =
	  new AttrDescriptor("application_protocol_year",config_control_designt_year_number,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_application_protocol_definition);
	config_control_designe_application_protocol_definition->AddExplicitAttr (a_153application_protocol_year);
	a_154application =
	  new AttrDescriptor("application",config_control_designe_application_context,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_application_protocol_definition);
	config_control_designe_application_protocol_definition->AddExplicitAttr (a_154application);
	reg.AddEntity (*config_control_designe_application_protocol_definition);
/////////	 END_ENTITY application_protocol_definition

/////////	 ENTITY specified_higher_usage_occurrence

	config_control_designe_specified_higher_usage_occurrence->AddSupertype(config_control_designe_assembly_component_usage);
	config_control_designe_assembly_component_usage->AddSubtype(config_control_designe_specified_higher_usage_occurrence);
	a_155upper_usage =
	  new AttrDescriptor("upper_usage",config_control_designe_assembly_component_usage,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_specified_higher_usage_occurrence);
	config_control_designe_specified_higher_usage_occurrence->AddExplicitAttr (a_155upper_usage);
	a_156next_usage =
	  new AttrDescriptor("next_usage",config_control_designe_next_assembly_usage_occurrence,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_specified_higher_usage_occurrence);
	config_control_designe_specified_higher_usage_occurrence->AddExplicitAttr (a_156next_usage);
	reg.AddEntity (*config_control_designe_specified_higher_usage_occurrence);
/////////	 END_ENTITY specified_higher_usage_occurrence

/////////	 ENTITY product_definition_formation_with_specified_source

	config_control_designe_product_definition_formation_with_specified_source->AddSupertype(config_control_designe_product_definition_formation);
	config_control_designe_product_definition_formation->AddSubtype(config_control_designe_product_definition_formation_with_specified_source);
  a_157make_or_buy =
	  new AttrDescriptor("make_or_buy",config_control_designt_source,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_formation_with_specified_source);
	config_control_designe_product_definition_formation_with_specified_source->AddExplicitAttr (a_157make_or_buy);
	reg.AddEntity (*config_control_designe_product_definition_formation_with_specified_source);
/////////	 END_ENTITY product_definition_formation_with_specified_source

/////////	 ENTITY action_request_solution

	a_158method =
	  new AttrDescriptor("method",config_control_designe_action_method,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_request_solution);
	config_control_designe_action_request_solution->AddExplicitAttr (a_158method);
	a_159request =
	  new AttrDescriptor("request",config_control_designe_versioned_action_request,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_request_solution);
	config_control_designe_action_request_solution->AddExplicitAttr (a_159request);
	reg.AddEntity (*config_control_designe_action_request_solution);
/////////	 END_ENTITY action_request_solution

/////////	 ENTITY uncertainty_measure_with_unit

	config_control_designe_uncertainty_measure_with_unit->AddSupertype(config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddSubtype(config_control_designe_uncertainty_measure_with_unit);
  a_160name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_uncertainty_measure_with_unit);
	config_control_designe_uncertainty_measure_with_unit->AddExplicitAttr (a_160name);
  a_161description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_uncertainty_measure_with_unit);
	config_control_designe_uncertainty_measure_with_unit->AddExplicitAttr (a_161description);
	reg.AddEntity (*config_control_designe_uncertainty_measure_with_unit);
/////////	 END_ENTITY uncertainty_measure_with_unit

/////////	 ENTITY edge_based_wireframe_model

	config_control_designe_edge_based_wireframe_model->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_edge_based_wireframe_model);
	SetTypeDescriptor * t_24 = new SetTypeDescriptor;
	t_24->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_24->Bound1(1);
	t_24->Bound2(2147483647);
	t_24->FundamentalType(SET_TYPE);
	t_24->Description("SET [1:?] OF connected_edge_set");
	t_24->OriginatingSchema(s_config_control_design);
	t_24->ReferentType(config_control_designe_connected_edge_set);
  a_162ebwm_boundary =
	  new AttrDescriptor("ebwm_boundary",t_24,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_edge_based_wireframe_model);
	config_control_designe_edge_based_wireframe_model->AddExplicitAttr (a_162ebwm_boundary);
	reg.AddEntity (*config_control_designe_edge_based_wireframe_model);
/////////	 END_ENTITY edge_based_wireframe_model

/////////	 ENTITY path

	config_control_designe_path->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (edge_loop,oriented_path))");
	config_control_designe_path->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_path);
	ListTypeDescriptor * t_25 = new ListTypeDescriptor;
	t_25->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_25->Bound1(1);
	t_25->Bound2(2147483647);
	t_25->UniqueElements(LTrue);
	t_25->FundamentalType(LIST_TYPE);
	t_25->Description("LIST [1:?] OF UNIQUE oriented_edge");
	t_25->OriginatingSchema(s_config_control_design);
	t_25->ReferentType(config_control_designe_oriented_edge);
  a_163edge_list =
	  new AttrDescriptor("edge_list",t_25,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_path);
	config_control_designe_path->AddExplicitAttr (a_163edge_list);
	reg.AddEntity (*config_control_designe_path);
/////////	 END_ENTITY path

/////////	 ENTITY connected_face_set

	config_control_designe_connected_face_set->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (closed_shell,open_shell))");
	config_control_designe_connected_face_set->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_connected_face_set);
	SetTypeDescriptor * t_26 = new SetTypeDescriptor;
	t_26->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_26->Bound1(1);
	t_26->Bound2(2147483647);
	t_26->FundamentalType(SET_TYPE);
	t_26->Description("SET [1:?] OF face");
	t_26->OriginatingSchema(s_config_control_design);
	t_26->ReferentType(config_control_designe_face);
  a_164cfs_faces =
	  new AttrDescriptor("cfs_faces",t_26,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_connected_face_set);
	config_control_designe_connected_face_set->AddExplicitAttr (a_164cfs_faces);
	reg.AddEntity (*config_control_designe_connected_face_set);
/////////	 END_ENTITY connected_face_set

/////////	 ENTITY open_shell

	config_control_designe_open_shell->AddSupertype(config_control_designe_connected_face_set);
	config_control_designe_connected_face_set->AddSubtype(config_control_designe_open_shell);
	reg.AddEntity (*config_control_designe_open_shell);
/////////	 END_ENTITY open_shell

/////////	 ENTITY oriented_open_shell

	config_control_designe_oriented_open_shell->AddSupertype(config_control_designe_open_shell);
	config_control_designe_open_shell->AddSubtype(config_control_designe_oriented_open_shell);
	a_165open_shell_element =
	  new AttrDescriptor("open_shell_element",config_control_designe_open_shell,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_open_shell);
	config_control_designe_oriented_open_shell->AddExplicitAttr (a_165open_shell_element);
  a_166orientation =
	  new AttrDescriptor("orientation",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_open_shell);
	config_control_designe_oriented_open_shell->AddExplicitAttr (a_166orientation);
	SetTypeDescriptor * t_27 = new SetTypeDescriptor;
	t_27->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_27->Bound1(1);
	t_27->Bound2(2147483647);
	t_27->FundamentalType(SET_TYPE);
	t_27->Description("SET [1:?] OF face");
	t_27->OriginatingSchema(s_config_control_design);
	t_27->ReferentType(config_control_designe_face);
  a_167Dconnected_face_set_cfs_faces =
	  new Derived_attribute("connected_face_set.cfs_faces",t_27,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_oriented_open_shell);
	config_control_designe_oriented_open_shell->AddExplicitAttr (a_167Dconnected_face_set_cfs_faces);
	a_167Dconnected_face_set_cfs_faces->initializer_("conditional_reverse(SELF.orientation,SELF.open_shell_element.cfs_faces)");
	reg.AddEntity (*config_control_designe_oriented_open_shell);
/////////	 END_ENTITY oriented_open_shell

/////////	 ENTITY solid_angle_unit

	config_control_designe_solid_angle_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_solid_angle_unit);
	reg.AddEntity (*config_control_designe_solid_angle_unit);
/////////	 END_ENTITY solid_angle_unit

/////////	 ENTITY coordinated_universal_time_offset

  a_168hour_offset =
	  new AttrDescriptor("hour_offset",config_control_designt_hour_in_day,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_coordinated_universal_time_offset);
	config_control_designe_coordinated_universal_time_offset->AddExplicitAttr (a_168hour_offset);
  a_169minute_offset =
	  new AttrDescriptor("minute_offset",config_control_designt_minute_in_hour,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_coordinated_universal_time_offset);
	config_control_designe_coordinated_universal_time_offset->AddExplicitAttr (a_169minute_offset);
  a_170sense =
	  new AttrDescriptor("sense",config_control_designt_ahead_or_behind,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_coordinated_universal_time_offset);
	config_control_designe_coordinated_universal_time_offset->AddExplicitAttr (a_170sense);
	reg.AddEntity (*config_control_designe_coordinated_universal_time_offset);
/////////	 END_ENTITY coordinated_universal_time_offset

/////////	 ENTITY curve_replica

	config_control_designe_curve_replica->AddSupertype(config_control_designe_curve);
	config_control_designe_curve->AddSubtype(config_control_designe_curve_replica);
	a_171parent_curve =
	  new AttrDescriptor("parent_curve",config_control_designe_curve,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_curve_replica);
	config_control_designe_curve_replica->AddExplicitAttr (a_171parent_curve);
	a_172transformation =
	  new AttrDescriptor("transformation",config_control_designe_cartesian_transformation_operator,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_curve_replica);
	config_control_designe_curve_replica->AddExplicitAttr (a_172transformation);
	reg.AddEntity (*config_control_designe_curve_replica);
/////////	 END_ENTITY curve_replica

/////////	 ENTITY quasi_uniform_surface

	config_control_designe_quasi_uniform_surface->AddSupertype(config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddSubtype(config_control_designe_quasi_uniform_surface);
	reg.AddEntity (*config_control_designe_quasi_uniform_surface);
/////////	 END_ENTITY quasi_uniform_surface

/////////	 ENTITY surface_curve

	config_control_designe_surface_curve->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (intersection_curve,seam_curve) ANDOR bounded_surface_curve)");
	config_control_designe_surface_curve->AddSupertype(config_control_designe_curve);
	config_control_designe_curve->AddSubtype(config_control_designe_surface_curve);
	a_173curve_3d =
	  new AttrDescriptor("curve_3d",config_control_designe_curve,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_curve);
	config_control_designe_surface_curve->AddExplicitAttr (a_173curve_3d);
	ListTypeDescriptor * t_28 = new ListTypeDescriptor;
	t_28->AssignAggrCreator((AggregateCreator) create_SdaiPcurve_or_surfaces);	// Creator function 
	t_28->Bound1(1);
	t_28->Bound2(2);
	t_28->FundamentalType(LIST_TYPE);
	t_28->Description("LIST [1:2] OF pcurve_or_surface");
	t_28->OriginatingSchema(s_config_control_design);
	t_28->ReferentType(config_control_designt_pcurve_or_surface);
  a_174associated_geometry =
	  new AttrDescriptor("associated_geometry",t_28,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_curve);
	config_control_designe_surface_curve->AddExplicitAttr (a_174associated_geometry);
  a_175master_representation =
	  new AttrDescriptor("master_representation",config_control_designt_preferred_surface_curve_representation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_curve);
	config_control_designe_surface_curve->AddExplicitAttr (a_175master_representation);
	SetTypeDescriptor * t_29 = new SetTypeDescriptor;
	t_29->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_29->Bound1(1);
	t_29->Bound2(2);
	t_29->FundamentalType(SET_TYPE);
	t_29->Description("SET [1:2] OF surface");
	t_29->OriginatingSchema(s_config_control_design);
	t_29->ReferentType(config_control_designe_surface);
  a_176Dbasis_surface =
	  new Derived_attribute("basis_surface",t_29,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_surface_curve);
	config_control_designe_surface_curve->AddExplicitAttr (a_176Dbasis_surface);
	a_176Dbasis_surface->initializer_("get_basis_surface(SELF)");
	reg.AddEntity (*config_control_designe_surface_curve);
/////////	 END_ENTITY surface_curve

/////////	 ENTITY action_request_status

  a_177status =
	  new AttrDescriptor("status",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_request_status);
	config_control_designe_action_request_status->AddExplicitAttr (a_177status);
	a_178assigned_request =
	  new AttrDescriptor("assigned_request",config_control_designe_versioned_action_request,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_request_status);
	config_control_designe_action_request_status->AddExplicitAttr (a_178assigned_request);
	reg.AddEntity (*config_control_designe_action_request_status);
/////////	 END_ENTITY action_request_status

/////////	 ENTITY founded_item

	reg.AddEntity (*config_control_designe_founded_item);
/////////	 END_ENTITY founded_item

/////////	 ENTITY composite_curve_segment

	config_control_designe_composite_curve_segment->AddSupertype(config_control_designe_founded_item);
	config_control_designe_founded_item->AddSubtype(config_control_designe_composite_curve_segment);
  a_179transition =
	  new AttrDescriptor("transition",config_control_designt_transition_code,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_composite_curve_segment);
	config_control_designe_composite_curve_segment->AddExplicitAttr (a_179transition);
  a_180same_sense =
	  new AttrDescriptor("same_sense",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_composite_curve_segment);
	config_control_designe_composite_curve_segment->AddExplicitAttr (a_180same_sense);
	a_181parent_curve =
	  new AttrDescriptor("parent_curve",config_control_designe_curve,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_composite_curve_segment);
	config_control_designe_composite_curve_segment->AddExplicitAttr (a_181parent_curve);
	BagTypeDescriptor * t_30 = new BagTypeDescriptor;
	t_30->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_30->Bound1(1);
	t_30->Bound2(2147483647);
	t_30->FundamentalType(BAG_TYPE);
	t_30->Description("BAG [1:?] OF composite_curve");
	t_30->OriginatingSchema(s_config_control_design);
	t_30->ReferentType(config_control_designe_composite_curve);
  a_182Iusing_curves =
	  new Inverse_attribute("using_curves",t_30,LFalse,LFalse,
	  *config_control_designe_composite_curve_segment);
	config_control_designe_composite_curve_segment->AddInverseAttr (a_182Iusing_curves);
	a_182Iusing_curves->inverted_attr_id_("segments");
	a_182Iusing_curves->inverted_entity_id_("composite_curve");
// inverse entity 3 composite_curve
	reg.AddEntity (*config_control_designe_composite_curve_segment);
/////////	 END_ENTITY composite_curve_segment

/////////	 ENTITY reparametrised_composite_curve_segment

	config_control_designe_reparametrised_composite_curve_segment->AddSupertype(config_control_designe_composite_curve_segment);
	config_control_designe_composite_curve_segment->AddSubtype(config_control_designe_reparametrised_composite_curve_segment);
  a_183param_length =
	  new AttrDescriptor("param_length",config_control_designt_parameter_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_reparametrised_composite_curve_segment);
	config_control_designe_reparametrised_composite_curve_segment->AddExplicitAttr (a_183param_length);
	reg.AddEntity (*config_control_designe_reparametrised_composite_curve_segment);
/////////	 END_ENTITY reparametrised_composite_curve_segment

/////////	 ENTITY representation_relationship

  a_184name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_relationship);
	config_control_designe_representation_relationship->AddExplicitAttr (a_184name);
  a_185description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_relationship);
	config_control_designe_representation_relationship->AddExplicitAttr (a_185description);
	a_186rep_1 =
	  new AttrDescriptor("rep_1",config_control_designe_representation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_relationship);
	config_control_designe_representation_relationship->AddExplicitAttr (a_186rep_1);
	a_187rep_2 =
	  new AttrDescriptor("rep_2",config_control_designe_representation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_relationship);
	config_control_designe_representation_relationship->AddExplicitAttr (a_187rep_2);
	reg.AddEntity (*config_control_designe_representation_relationship);
/////////	 END_ENTITY representation_relationship

/////////	 ENTITY representation_relationship_with_transformation

	config_control_designe_representation_relationship_with_transformation->AddSupertype(config_control_designe_representation_relationship);
	config_control_designe_representation_relationship->AddSubtype(config_control_designe_representation_relationship_with_transformation);
  a_188transformation_operator =
	  new AttrDescriptor("transformation_operator",config_control_designt_transformation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_relationship_with_transformation);
	config_control_designe_representation_relationship_with_transformation->AddExplicitAttr (a_188transformation_operator);
	reg.AddEntity (*config_control_designe_representation_relationship_with_transformation);
/////////	 END_ENTITY representation_relationship_with_transformation

/////////	 ENTITY person_and_organization_role

  a_189name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_person_and_organization_role);
	config_control_designe_person_and_organization_role->AddExplicitAttr (a_189name);
	reg.AddEntity (*config_control_designe_person_and_organization_role);
/////////	 END_ENTITY person_and_organization_role

/////////	 ENTITY quasi_uniform_curve

	config_control_designe_quasi_uniform_curve->AddSupertype(config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddSubtype(config_control_designe_quasi_uniform_curve);
	reg.AddEntity (*config_control_designe_quasi_uniform_curve);
/////////	 END_ENTITY quasi_uniform_curve

/////////	 ENTITY swept_surface

	config_control_designe_swept_surface->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (surface_of_linear_extrusion,surface_of_revolution))");
	config_control_designe_swept_surface->AddSupertype(config_control_designe_surface);
	config_control_designe_surface->AddSubtype(config_control_designe_swept_surface);
	a_190swept_curve =
	  new AttrDescriptor("swept_curve",config_control_designe_curve,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_swept_surface);
	config_control_designe_swept_surface->AddExplicitAttr (a_190swept_curve);
	reg.AddEntity (*config_control_designe_swept_surface);
/////////	 END_ENTITY swept_surface

/////////	 ENTITY property_definition

  a_191name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_property_definition);
	config_control_designe_property_definition->AddExplicitAttr (a_191name);
  a_192description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_property_definition);
	config_control_designe_property_definition->AddExplicitAttr (a_192description);
  a_193definition =
	  new AttrDescriptor("definition",config_control_designt_characterized_definition,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_property_definition);
	config_control_designe_property_definition->AddExplicitAttr (a_193definition);
	reg.AddEntity (*config_control_designe_property_definition);
/////////	 END_ENTITY property_definition

/////////	 ENTITY global_uncertainty_assigned_context

	config_control_designe_global_uncertainty_assigned_context->AddSupertype(config_control_designe_representation_context);
	config_control_designe_representation_context->AddSubtype(config_control_designe_global_uncertainty_assigned_context);
	SetTypeDescriptor * t_31 = new SetTypeDescriptor;
	t_31->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_31->Bound1(1);
	t_31->Bound2(2147483647);
	t_31->FundamentalType(SET_TYPE);
	t_31->Description("SET [1:?] OF uncertainty_measure_with_unit");
	t_31->OriginatingSchema(s_config_control_design);
	t_31->ReferentType(config_control_designe_uncertainty_measure_with_unit);
  a_194uncertainty =
	  new AttrDescriptor("uncertainty",t_31,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_global_uncertainty_assigned_context);
	config_control_designe_global_uncertainty_assigned_context->AddExplicitAttr (a_194uncertainty);
	reg.AddEntity (*config_control_designe_global_uncertainty_assigned_context);
/////////	 END_ENTITY global_uncertainty_assigned_context

/////////	 ENTITY organization_relationship

  a_195name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organization_relationship);
	config_control_designe_organization_relationship->AddExplicitAttr (a_195name);
  a_196description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organization_relationship);
	config_control_designe_organization_relationship->AddExplicitAttr (a_196description);
	a_197relating_organization =
	  new AttrDescriptor("relating_organization",config_control_designe_organization,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organization_relationship);
	config_control_designe_organization_relationship->AddExplicitAttr (a_197relating_organization);
	a_198related_organization =
	  new AttrDescriptor("related_organization",config_control_designe_organization,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organization_relationship);
	config_control_designe_organization_relationship->AddExplicitAttr (a_198related_organization);
	reg.AddEntity (*config_control_designe_organization_relationship);
/////////	 END_ENTITY organization_relationship

/////////	 ENTITY parabola

	config_control_designe_parabola->AddSupertype(config_control_designe_conic);
	config_control_designe_conic->AddSubtype(config_control_designe_parabola);
  a_199focal_dist =
	  new AttrDescriptor("focal_dist",config_control_designt_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_parabola);
	config_control_designe_parabola->AddExplicitAttr (a_199focal_dist);
	reg.AddEntity (*config_control_designe_parabola);
/////////	 END_ENTITY parabola

/////////	 ENTITY rectangular_composite_surface

	config_control_designe_rectangular_composite_surface->AddSupertype(config_control_designe_bounded_surface);
	config_control_designe_bounded_surface->AddSubtype(config_control_designe_rectangular_composite_surface);
	ListTypeDescriptor * t_32 = new ListTypeDescriptor;
	t_32->AssignAggrCreator((AggregateCreator) create_GenericAggregate);	// Creator function 
	t_32->Bound1(1);
	t_32->Bound2(2147483647);
	t_32->FundamentalType(LIST_TYPE);
	t_32->Description("LIST [1:?] OF LIST [1:?] OF surface_patch");
	t_32->OriginatingSchema(s_config_control_design);
	ListTypeDescriptor * t_33 = new ListTypeDescriptor;
	t_33->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_33->Bound1(1);
	t_33->Bound2(2147483647);
	t_33->FundamentalType(LIST_TYPE);
	t_33->Description("LIST [1:?] OF surface_patch");
	t_33->OriginatingSchema(s_config_control_design);
	t_33->ReferentType(config_control_designe_surface_patch);
	t_32->ReferentType(t_33);
  a_200segments =
	  new AttrDescriptor("segments",t_32,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rectangular_composite_surface);
	config_control_designe_rectangular_composite_surface->AddExplicitAttr (a_200segments);
  a_201Dn_u =
	  new Derived_attribute("n_u",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_rectangular_composite_surface);
	config_control_designe_rectangular_composite_surface->AddExplicitAttr (a_201Dn_u);
	a_201Dn_u->initializer_("SIZEOF(segments)");
  a_202Dn_v =
	  new Derived_attribute("n_v",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_rectangular_composite_surface);
	config_control_designe_rectangular_composite_surface->AddExplicitAttr (a_202Dn_v);
	a_202Dn_v->initializer_("SIZEOF(segments[1])");
	reg.AddEntity (*config_control_designe_rectangular_composite_surface);
/////////	 END_ENTITY rectangular_composite_surface

/////////	 ENTITY lot_effectivity

	config_control_designe_lot_effectivity->AddSupertype(config_control_designe_effectivity);
	config_control_designe_effectivity->AddSubtype(config_control_designe_lot_effectivity);
  a_203effectivity_lot_id =
	  new AttrDescriptor("effectivity_lot_id",config_control_designt_identifier,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_lot_effectivity);
	config_control_designe_lot_effectivity->AddExplicitAttr (a_203effectivity_lot_id);
	a_204effectivity_lot_size =
	  new AttrDescriptor("effectivity_lot_size",config_control_designe_measure_with_unit,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_lot_effectivity);
	config_control_designe_lot_effectivity->AddExplicitAttr (a_204effectivity_lot_size);
	reg.AddEntity (*config_control_designe_lot_effectivity);
/////////	 END_ENTITY lot_effectivity

/////////	 ENTITY surface_of_linear_extrusion

	config_control_designe_surface_of_linear_extrusion->AddSupertype(config_control_designe_swept_surface);
	config_control_designe_swept_surface->AddSubtype(config_control_designe_surface_of_linear_extrusion);
	a_205extrusion_axis =
	  new AttrDescriptor("extrusion_axis",config_control_designe_vector,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_of_linear_extrusion);
	config_control_designe_surface_of_linear_extrusion->AddExplicitAttr (a_205extrusion_axis);
	reg.AddEntity (*config_control_designe_surface_of_linear_extrusion);
/////////	 END_ENTITY surface_of_linear_extrusion

/////////	 ENTITY shell_based_surface_model

	config_control_designe_shell_based_surface_model->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_shell_based_surface_model);
	SetTypeDescriptor * t_34 = new SetTypeDescriptor;
	t_34->AssignAggrCreator((AggregateCreator) create_SdaiShells);	// Creator function 
	t_34->Bound1(1);
	t_34->Bound2(2147483647);
	t_34->FundamentalType(SET_TYPE);
	t_34->Description("SET [1:?] OF shell");
	t_34->OriginatingSchema(s_config_control_design);
	t_34->ReferentType(config_control_designt_shell);
  a_206sbsm_boundary =
	  new AttrDescriptor("sbsm_boundary",t_34,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shell_based_surface_model);
	config_control_designe_shell_based_surface_model->AddExplicitAttr (a_206sbsm_boundary);
	reg.AddEntity (*config_control_designe_shell_based_surface_model);
/////////	 END_ENTITY shell_based_surface_model

/////////	 ENTITY uniform_curve

	config_control_designe_uniform_curve->AddSupertype(config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddSubtype(config_control_designe_uniform_curve);
	reg.AddEntity (*config_control_designe_uniform_curve);
/////////	 END_ENTITY uniform_curve

/////////	 ENTITY bezier_curve

	config_control_designe_bezier_curve->AddSupertype(config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddSubtype(config_control_designe_bezier_curve);
	reg.AddEntity (*config_control_designe_bezier_curve);
/////////	 END_ENTITY bezier_curve

/////////	 ENTITY loop

	config_control_designe_loop->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (vertex_loop,edge_loop,poly_loop))");
	config_control_designe_loop->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_loop);
	reg.AddEntity (*config_control_designe_loop);
/////////	 END_ENTITY loop

/////////	 ENTITY edge_loop

	config_control_designe_edge_loop->AddSupertype(config_control_designe_loop);
	config_control_designe_loop->AddSubtype(config_control_designe_edge_loop);
	config_control_designe_edge_loop->AddSupertype(config_control_designe_path);
	config_control_designe_path->AddSubtype(config_control_designe_edge_loop);
  a_207Dne =
	  new Derived_attribute("ne",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_edge_loop);
	config_control_designe_edge_loop->AddExplicitAttr (a_207Dne);
	a_207Dne->initializer_("SIZEOF(SELF\\path.edge_list)");
	reg.AddEntity (*config_control_designe_edge_loop);
/////////	 END_ENTITY edge_loop

/////////	 ENTITY date

	config_control_designe_date->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (calendar_date,ordinal_date,week_of_year_and_day_date))");
  a_208year_component =
	  new AttrDescriptor("year_component",config_control_designt_year_number,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_date);
	config_control_designe_date->AddExplicitAttr (a_208year_component);
	reg.AddEntity (*config_control_designe_date);
/////////	 END_ENTITY date

/////////	 ENTITY calendar_date

	config_control_designe_calendar_date->AddSupertype(config_control_designe_date);
	config_control_designe_date->AddSubtype(config_control_designe_calendar_date);
  a_209day_component =
	  new AttrDescriptor("day_component",config_control_designt_day_in_month_number,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_calendar_date);
	config_control_designe_calendar_date->AddExplicitAttr (a_209day_component);
  a_210month_component =
	  new AttrDescriptor("month_component",config_control_designt_month_in_year_number,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_calendar_date);
	config_control_designe_calendar_date->AddExplicitAttr (a_210month_component);
	reg.AddEntity (*config_control_designe_calendar_date);
/////////	 END_ENTITY calendar_date

/////////	 ENTITY toroidal_surface

	config_control_designe_toroidal_surface->AddSupertype(config_control_designe_elementary_surface);
	config_control_designe_elementary_surface->AddSubtype(config_control_designe_toroidal_surface);
  a_211major_radius =
	  new AttrDescriptor("major_radius",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_toroidal_surface);
	config_control_designe_toroidal_surface->AddExplicitAttr (a_211major_radius);
  a_212minor_radius =
	  new AttrDescriptor("minor_radius",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_toroidal_surface);
	config_control_designe_toroidal_surface->AddExplicitAttr (a_212minor_radius);
	reg.AddEntity (*config_control_designe_toroidal_surface);
/////////	 END_ENTITY toroidal_surface

/////////	 ENTITY promissory_usage_occurrence

	config_control_designe_promissory_usage_occurrence->AddSupertype(config_control_designe_assembly_component_usage);
	config_control_designe_assembly_component_usage->AddSubtype(config_control_designe_promissory_usage_occurrence);
	reg.AddEntity (*config_control_designe_promissory_usage_occurrence);
/////////	 END_ENTITY promissory_usage_occurrence

/////////	 ENTITY approval_assignment

	config_control_designe_approval_assignment->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_213assigned_approval =
	  new AttrDescriptor("assigned_approval",config_control_designe_approval,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_assignment);
	config_control_designe_approval_assignment->AddExplicitAttr (a_213assigned_approval);
	reg.AddEntity (*config_control_designe_approval_assignment);
/////////	 END_ENTITY approval_assignment

/////////	 ENTITY configuration_item

  a_214id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_configuration_item);
	config_control_designe_configuration_item->AddExplicitAttr (a_214id);
  a_215name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_configuration_item);
	config_control_designe_configuration_item->AddExplicitAttr (a_215name);
  a_216description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_configuration_item);
	config_control_designe_configuration_item->AddExplicitAttr (a_216description);
	a_217item_concept =
	  new AttrDescriptor("item_concept",config_control_designe_product_concept,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_configuration_item);
	config_control_designe_configuration_item->AddExplicitAttr (a_217item_concept);
  a_218purpose =
	  new AttrDescriptor("purpose",config_control_designt_label,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_configuration_item);
	config_control_designe_configuration_item->AddExplicitAttr (a_218purpose);
	reg.AddEntity (*config_control_designe_configuration_item);
/////////	 END_ENTITY configuration_item

/////////	 ENTITY contract_assignment

	config_control_designe_contract_assignment->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_219assigned_contract =
	  new AttrDescriptor("assigned_contract",config_control_designe_contract,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_contract_assignment);
	config_control_designe_contract_assignment->AddExplicitAttr (a_219assigned_contract);
	reg.AddEntity (*config_control_designe_contract_assignment);
/////////	 END_ENTITY contract_assignment

/////////	 ENTITY vector

	config_control_designe_vector->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_vector);
	a_220orientation =
	  new AttrDescriptor("orientation",config_control_designe_direction,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_vector);
	config_control_designe_vector->AddExplicitAttr (a_220orientation);
  a_221magnitude =
	  new AttrDescriptor("magnitude",config_control_designt_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_vector);
	config_control_designe_vector->AddExplicitAttr (a_221magnitude);
	reg.AddEntity (*config_control_designe_vector);
/////////	 END_ENTITY vector

/////////	 ENTITY pcurve

	config_control_designe_pcurve->AddSupertype(config_control_designe_curve);
	config_control_designe_curve->AddSubtype(config_control_designe_pcurve);
	a_222basis_surface =
	  new AttrDescriptor("basis_surface",config_control_designe_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_pcurve);
	config_control_designe_pcurve->AddExplicitAttr (a_222basis_surface);
	a_223reference_to_curve =
	  new AttrDescriptor("reference_to_curve",config_control_designe_definitional_representation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_pcurve);
	config_control_designe_pcurve->AddExplicitAttr (a_223reference_to_curve);
	reg.AddEntity (*config_control_designe_pcurve);
/////////	 END_ENTITY pcurve

/////////	 ENTITY bounded_pcurve

	config_control_designe_bounded_pcurve->AddSupertype(config_control_designe_pcurve);
	config_control_designe_pcurve->AddSubtype(config_control_designe_bounded_pcurve);
	config_control_designe_bounded_pcurve->AddSupertype(config_control_designe_bounded_curve);
	config_control_designe_bounded_curve->AddSubtype(config_control_designe_bounded_pcurve);
	reg.AddEntity (*config_control_designe_bounded_pcurve);
/////////	 END_ENTITY bounded_pcurve

/////////	 ENTITY intersection_curve

	config_control_designe_intersection_curve->AddSupertype(config_control_designe_surface_curve);
	config_control_designe_surface_curve->AddSubtype(config_control_designe_intersection_curve);
	reg.AddEntity (*config_control_designe_intersection_curve);
/////////	 END_ENTITY intersection_curve

/////////	 ENTITY trimmed_curve

	config_control_designe_trimmed_curve->AddSupertype(config_control_designe_bounded_curve);
	config_control_designe_bounded_curve->AddSubtype(config_control_designe_trimmed_curve);
	a_224basis_curve =
	  new AttrDescriptor("basis_curve",config_control_designe_curve,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_trimmed_curve);
	config_control_designe_trimmed_curve->AddExplicitAttr (a_224basis_curve);
	SetTypeDescriptor * t_35 = new SetTypeDescriptor;
	t_35->AssignAggrCreator((AggregateCreator) create_SdaiTrimming_selects);	// Creator function 
	t_35->Bound1(1);
	t_35->Bound2(2);
	t_35->FundamentalType(SET_TYPE);
	t_35->Description("SET [1:2] OF trimming_select");
	t_35->OriginatingSchema(s_config_control_design);
	t_35->ReferentType(config_control_designt_trimming_select);
  a_225trim_1 =
	  new AttrDescriptor("trim_1",t_35,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_trimmed_curve);
	config_control_designe_trimmed_curve->AddExplicitAttr (a_225trim_1);
	SetTypeDescriptor * t_36 = new SetTypeDescriptor;
	t_36->AssignAggrCreator((AggregateCreator) create_SdaiTrimming_selects);	// Creator function 
	t_36->Bound1(1);
	t_36->Bound2(2);
	t_36->FundamentalType(SET_TYPE);
	t_36->Description("SET [1:2] OF trimming_select");
	t_36->OriginatingSchema(s_config_control_design);
	t_36->ReferentType(config_control_designt_trimming_select);
  a_226trim_2 =
	  new AttrDescriptor("trim_2",t_36,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_trimmed_curve);
	config_control_designe_trimmed_curve->AddExplicitAttr (a_226trim_2);
  a_227sense_agreement =
	  new AttrDescriptor("sense_agreement",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_trimmed_curve);
	config_control_designe_trimmed_curve->AddExplicitAttr (a_227sense_agreement);
  a_228master_representation =
	  new AttrDescriptor("master_representation",config_control_designt_trimming_preference,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_trimmed_curve);
	config_control_designe_trimmed_curve->AddExplicitAttr (a_228master_representation);
	reg.AddEntity (*config_control_designe_trimmed_curve);
/////////	 END_ENTITY trimmed_curve

/////////	 ENTITY product_definition_context

	config_control_designe_product_definition_context->AddSupertype(config_control_designe_application_context_element);
	config_control_designe_application_context_element->AddSubtype(config_control_designe_product_definition_context);
  a_229life_cycle_stage =
	  new AttrDescriptor("life_cycle_stage",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_context);
	config_control_designe_product_definition_context->AddExplicitAttr (a_229life_cycle_stage);
	reg.AddEntity (*config_control_designe_product_definition_context);
/////////	 END_ENTITY product_definition_context

/////////	 ENTITY bounded_surface_curve

	config_control_designe_bounded_surface_curve->AddSupertype(config_control_designe_surface_curve);
	config_control_designe_surface_curve->AddSubtype(config_control_designe_bounded_surface_curve);
	config_control_designe_bounded_surface_curve->AddSupertype(config_control_designe_bounded_curve);
	config_control_designe_bounded_curve->AddSubtype(config_control_designe_bounded_surface_curve);
	reg.AddEntity (*config_control_designe_bounded_surface_curve);
/////////	 END_ENTITY bounded_surface_curve

/////////	 ENTITY item_defined_transformation

  a_230name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_item_defined_transformation);
	config_control_designe_item_defined_transformation->AddExplicitAttr (a_230name);
  a_231description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_item_defined_transformation);
	config_control_designe_item_defined_transformation->AddExplicitAttr (a_231description);
	a_232transform_item_1 =
	  new AttrDescriptor("transform_item_1",config_control_designe_representation_item,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_item_defined_transformation);
	config_control_designe_item_defined_transformation->AddExplicitAttr (a_232transform_item_1);
	a_233transform_item_2 =
	  new AttrDescriptor("transform_item_2",config_control_designe_representation_item,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_item_defined_transformation);
	config_control_designe_item_defined_transformation->AddExplicitAttr (a_233transform_item_2);
	reg.AddEntity (*config_control_designe_item_defined_transformation);
/////////	 END_ENTITY item_defined_transformation

/////////	 ENTITY action_method

  a_234name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_method);
	config_control_designe_action_method->AddExplicitAttr (a_234name);
  a_235description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_method);
	config_control_designe_action_method->AddExplicitAttr (a_235description);
  a_236consequence =
	  new AttrDescriptor("consequence",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_method);
	config_control_designe_action_method->AddExplicitAttr (a_236consequence);
  a_237purpose =
	  new AttrDescriptor("purpose",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_method);
	config_control_designe_action_method->AddExplicitAttr (a_237purpose);
	reg.AddEntity (*config_control_designe_action_method);
/////////	 END_ENTITY action_method

/////////	 ENTITY product_category_relationship

  a_238name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_category_relationship);
	config_control_designe_product_category_relationship->AddExplicitAttr (a_238name);
  a_239description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_category_relationship);
	config_control_designe_product_category_relationship->AddExplicitAttr (a_239description);
	a_240category =
	  new AttrDescriptor("category",config_control_designe_product_category,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_category_relationship);
	config_control_designe_product_category_relationship->AddExplicitAttr (a_240category);
	a_241sub_category =
	  new AttrDescriptor("sub_category",config_control_designe_product_category,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_category_relationship);
	config_control_designe_product_category_relationship->AddExplicitAttr (a_241sub_category);
	reg.AddEntity (*config_control_designe_product_category_relationship);
/////////	 END_ENTITY product_category_relationship

/////////	 ENTITY plane_angle_measure_with_unit

	config_control_designe_plane_angle_measure_with_unit->AddSupertype(config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddSubtype(config_control_designe_plane_angle_measure_with_unit);
	reg.AddEntity (*config_control_designe_plane_angle_measure_with_unit);
/////////	 END_ENTITY plane_angle_measure_with_unit

/////////	 ENTITY vertex

	config_control_designe_vertex->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_vertex);
	reg.AddEntity (*config_control_designe_vertex);
/////////	 END_ENTITY vertex

/////////	 ENTITY representation_map

	a_242mapping_origin =
	  new AttrDescriptor("mapping_origin",config_control_designe_representation_item,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_map);
	config_control_designe_representation_map->AddExplicitAttr (a_242mapping_origin);
	a_243mapped_representation =
	  new AttrDescriptor("mapped_representation",config_control_designe_representation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_representation_map);
	config_control_designe_representation_map->AddExplicitAttr (a_243mapped_representation);
	SetTypeDescriptor * t_37 = new SetTypeDescriptor;
	t_37->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_37->Bound1(1);
	t_37->Bound2(2147483647);
	t_37->FundamentalType(SET_TYPE);
	t_37->Description("SET [1:?] OF mapped_item");
	t_37->OriginatingSchema(s_config_control_design);
	t_37->ReferentType(config_control_designe_mapped_item);
  a_244Imap_usage =
	  new Inverse_attribute("map_usage",t_37,LFalse,LFalse,
	  *config_control_designe_representation_map);
	config_control_designe_representation_map->AddInverseAttr (a_244Imap_usage);
	a_244Imap_usage->inverted_attr_id_("mapping_source");
	a_244Imap_usage->inverted_entity_id_("mapped_item");
// inverse entity 3 mapped_item
	reg.AddEntity (*config_control_designe_representation_map);
/////////	 END_ENTITY representation_map

/////////	 ENTITY product_definition_effectivity

	config_control_designe_product_definition_effectivity->AddSupertype(config_control_designe_effectivity);
	config_control_designe_effectivity->AddSubtype(config_control_designe_product_definition_effectivity);
	a_245usage =
	  new AttrDescriptor("usage",config_control_designe_product_definition_relationship,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_product_definition_effectivity);
	config_control_designe_product_definition_effectivity->AddExplicitAttr (a_245usage);
	reg.AddEntity (*config_control_designe_product_definition_effectivity);
/////////	 END_ENTITY product_definition_effectivity

/////////	 ENTITY configuration_effectivity

	config_control_designe_configuration_effectivity->AddSupertype(config_control_designe_product_definition_effectivity);
	config_control_designe_product_definition_effectivity->AddSubtype(config_control_designe_configuration_effectivity);
	a_246configuration =
	  new AttrDescriptor("configuration",config_control_designe_configuration_design,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_configuration_effectivity);
	config_control_designe_configuration_effectivity->AddExplicitAttr (a_246configuration);
	reg.AddEntity (*config_control_designe_configuration_effectivity);
/////////	 END_ENTITY configuration_effectivity

/////////	 ENTITY ellipse

	config_control_designe_ellipse->AddSupertype(config_control_designe_conic);
	config_control_designe_conic->AddSubtype(config_control_designe_ellipse);
  a_247semi_axis_1 =
	  new AttrDescriptor("semi_axis_1",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_ellipse);
	config_control_designe_ellipse->AddExplicitAttr (a_247semi_axis_1);
  a_248semi_axis_2 =
	  new AttrDescriptor("semi_axis_2",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_ellipse);
	config_control_designe_ellipse->AddExplicitAttr (a_248semi_axis_2);
	reg.AddEntity (*config_control_designe_ellipse);
/////////	 END_ENTITY ellipse

/////////	 ENTITY context_dependent_unit

	config_control_designe_context_dependent_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_context_dependent_unit);
  a_249name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_context_dependent_unit);
	config_control_designe_context_dependent_unit->AddExplicitAttr (a_249name);
	reg.AddEntity (*config_control_designe_context_dependent_unit);
/////////	 END_ENTITY context_dependent_unit

/////////	 ENTITY alternate_product_relationship

  a_250name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_alternate_product_relationship);
	config_control_designe_alternate_product_relationship->AddExplicitAttr (a_250name);
  a_251definition =
	  new AttrDescriptor("definition",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_alternate_product_relationship);
	config_control_designe_alternate_product_relationship->AddExplicitAttr (a_251definition);
	a_252alternate =
	  new AttrDescriptor("alternate",config_control_designe_product,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_alternate_product_relationship);
	config_control_designe_alternate_product_relationship->AddExplicitAttr (a_252alternate);
	a_253base =
	  new AttrDescriptor("base",config_control_designe_product,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_alternate_product_relationship);
	config_control_designe_alternate_product_relationship->AddExplicitAttr (a_253base);
  a_254basis =
	  new AttrDescriptor("basis",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_alternate_product_relationship);
	config_control_designe_alternate_product_relationship->AddExplicitAttr (a_254basis);
	reg.AddEntity (*config_control_designe_alternate_product_relationship);
/////////	 END_ENTITY alternate_product_relationship

/////////	 ENTITY document_type

  a_255product_data_type =
	  new AttrDescriptor("product_data_type",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_type);
	config_control_designe_document_type->AddExplicitAttr (a_255product_data_type);
	reg.AddEntity (*config_control_designe_document_type);
/////////	 END_ENTITY document_type

/////////	 ENTITY document_reference

	config_control_designe_document_reference->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_256assigned_document =
	  new AttrDescriptor("assigned_document",config_control_designe_document,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_reference);
	config_control_designe_document_reference->AddExplicitAttr (a_256assigned_document);
  a_257source =
	  new AttrDescriptor("source",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_reference);
	config_control_designe_document_reference->AddExplicitAttr (a_257source);
	reg.AddEntity (*config_control_designe_document_reference);
/////////	 END_ENTITY document_reference

/////////	 ENTITY mechanical_context

	config_control_designe_mechanical_context->AddSupertype(config_control_designe_product_context);
	config_control_designe_product_context->AddSubtype(config_control_designe_mechanical_context);
	reg.AddEntity (*config_control_designe_mechanical_context);
/////////	 END_ENTITY mechanical_context

/////////	 ENTITY shell_based_wireframe_model

	config_control_designe_shell_based_wireframe_model->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_shell_based_wireframe_model);
	SetTypeDescriptor * t_38 = new SetTypeDescriptor;
	t_38->AssignAggrCreator((AggregateCreator) create_SdaiShells);	// Creator function 
	t_38->Bound1(1);
	t_38->Bound2(2147483647);
	t_38->FundamentalType(SET_TYPE);
	t_38->Description("SET [1:?] OF shell");
	t_38->OriginatingSchema(s_config_control_design);
	t_38->ReferentType(config_control_designt_shell);
  a_258sbwm_boundary =
	  new AttrDescriptor("sbwm_boundary",t_38,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shell_based_wireframe_model);
	config_control_designe_shell_based_wireframe_model->AddExplicitAttr (a_258sbwm_boundary);
	reg.AddEntity (*config_control_designe_shell_based_wireframe_model);
/////////	 END_ENTITY shell_based_wireframe_model

/////////	 ENTITY contract

  a_259name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_contract);
	config_control_designe_contract->AddExplicitAttr (a_259name);
  a_260purpose =
	  new AttrDescriptor("purpose",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_contract);
	config_control_designe_contract->AddExplicitAttr (a_260purpose);
	a_261kind =
	  new AttrDescriptor("kind",config_control_designe_contract_type,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_contract);
	config_control_designe_contract->AddExplicitAttr (a_261kind);
	reg.AddEntity (*config_control_designe_contract);
/////////	 END_ENTITY contract

/////////	 ENTITY dimensional_exponents

  a_262length_exponent =
	  new AttrDescriptor("length_exponent",t_sdaiREAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_dimensional_exponents);
	config_control_designe_dimensional_exponents->AddExplicitAttr (a_262length_exponent);
  a_263mass_exponent =
	  new AttrDescriptor("mass_exponent",t_sdaiREAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_dimensional_exponents);
	config_control_designe_dimensional_exponents->AddExplicitAttr (a_263mass_exponent);
  a_264time_exponent =
	  new AttrDescriptor("time_exponent",t_sdaiREAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_dimensional_exponents);
	config_control_designe_dimensional_exponents->AddExplicitAttr (a_264time_exponent);
  a_265electric_current_exponent =
	  new AttrDescriptor("electric_current_exponent",t_sdaiREAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_dimensional_exponents);
	config_control_designe_dimensional_exponents->AddExplicitAttr (a_265electric_current_exponent);
  a_266thermodynamic_temperature_exponent =
	  new AttrDescriptor("thermodynamic_temperature_exponent",t_sdaiREAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_dimensional_exponents);
	config_control_designe_dimensional_exponents->AddExplicitAttr (a_266thermodynamic_temperature_exponent);
  a_267amount_of_substance_exponent =
	  new AttrDescriptor("amount_of_substance_exponent",t_sdaiREAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_dimensional_exponents);
	config_control_designe_dimensional_exponents->AddExplicitAttr (a_267amount_of_substance_exponent);
  a_268luminous_intensity_exponent =
	  new AttrDescriptor("luminous_intensity_exponent",t_sdaiREAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_dimensional_exponents);
	config_control_designe_dimensional_exponents->AddExplicitAttr (a_268luminous_intensity_exponent);
	reg.AddEntity (*config_control_designe_dimensional_exponents);
/////////	 END_ENTITY dimensional_exponents

/////////	 ENTITY start_request

	config_control_designe_start_request->AddSupertype(config_control_designe_action_request_assignment);
	config_control_designe_action_request_assignment->AddSubtype(config_control_designe_start_request);
	SetTypeDescriptor * t_39 = new SetTypeDescriptor;
	t_39->AssignAggrCreator((AggregateCreator) create_SdaiStart_request_items);	// Creator function 
	t_39->Bound1(1);
	t_39->Bound2(2147483647);
	t_39->FundamentalType(SET_TYPE);
	t_39->Description("SET [1:?] OF start_request_item");
	t_39->OriginatingSchema(s_config_control_design);
	t_39->ReferentType(config_control_designt_start_request_item);
  a_269items =
	  new AttrDescriptor("items",t_39,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_start_request);
	config_control_designe_start_request->AddExplicitAttr (a_269items);
	reg.AddEntity (*config_control_designe_start_request);
/////////	 END_ENTITY start_request

/////////	 ENTITY cc_design_specification_reference

	config_control_designe_cc_design_specification_reference->AddSupertype(config_control_designe_document_reference);
	config_control_designe_document_reference->AddSubtype(config_control_designe_cc_design_specification_reference);
	SetTypeDescriptor * t_40 = new SetTypeDescriptor;
	t_40->AssignAggrCreator((AggregateCreator) create_SdaiSpecified_items);	// Creator function 
	t_40->Bound1(1);
	t_40->Bound2(2147483647);
	t_40->FundamentalType(SET_TYPE);
	t_40->Description("SET [1:?] OF specified_item");
	t_40->OriginatingSchema(s_config_control_design);
	t_40->ReferentType(config_control_designt_specified_item);
  a_270items =
	  new AttrDescriptor("items",t_40,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cc_design_specification_reference);
	config_control_designe_cc_design_specification_reference->AddExplicitAttr (a_270items);
	reg.AddEntity (*config_control_designe_cc_design_specification_reference);
/////////	 END_ENTITY cc_design_specification_reference

/////////	 ENTITY supplied_part_relationship

	config_control_designe_supplied_part_relationship->AddSupertype(config_control_designe_product_definition_relationship);
	config_control_designe_product_definition_relationship->AddSubtype(config_control_designe_supplied_part_relationship);
	reg.AddEntity (*config_control_designe_supplied_part_relationship);
/////////	 END_ENTITY supplied_part_relationship

/////////	 ENTITY context_dependent_shape_representation

	a_271representation_relation =
	  new AttrDescriptor("representation_relation",config_control_designe_shape_representation_relationship,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_context_dependent_shape_representation);
	config_control_designe_context_dependent_shape_representation->AddExplicitAttr (a_271representation_relation);
	a_272represented_product_relation =
	  new AttrDescriptor("represented_product_relation",config_control_designe_product_definition_shape,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_context_dependent_shape_representation);
	config_control_designe_context_dependent_shape_representation->AddExplicitAttr (a_272represented_product_relation);
	reg.AddEntity (*config_control_designe_context_dependent_shape_representation);
/////////	 END_ENTITY context_dependent_shape_representation

/////////	 ENTITY degenerate_toroidal_surface

	config_control_designe_degenerate_toroidal_surface->AddSupertype(config_control_designe_toroidal_surface);
	config_control_designe_toroidal_surface->AddSubtype(config_control_designe_degenerate_toroidal_surface);
  a_273select_outer =
	  new AttrDescriptor("select_outer",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_degenerate_toroidal_surface);
	config_control_designe_degenerate_toroidal_surface->AddExplicitAttr (a_273select_outer);
	reg.AddEntity (*config_control_designe_degenerate_toroidal_surface);
/////////	 END_ENTITY degenerate_toroidal_surface

/////////	 ENTITY ordinal_date

	config_control_designe_ordinal_date->AddSupertype(config_control_designe_date);
	config_control_designe_date->AddSubtype(config_control_designe_ordinal_date);
  a_274day_component =
	  new AttrDescriptor("day_component",config_control_designt_day_in_year_number,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_ordinal_date);
	config_control_designe_ordinal_date->AddExplicitAttr (a_274day_component);
	reg.AddEntity (*config_control_designe_ordinal_date);
/////////	 END_ENTITY ordinal_date

/////////	 ENTITY face_outer_bound

	config_control_designe_face_outer_bound->AddSupertype(config_control_designe_face_bound);
	config_control_designe_face_bound->AddSubtype(config_control_designe_face_outer_bound);
	reg.AddEntity (*config_control_designe_face_outer_bound);
/////////	 END_ENTITY face_outer_bound

/////////	 ENTITY mass_measure_with_unit

	config_control_designe_mass_measure_with_unit->AddSupertype(config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddSubtype(config_control_designe_mass_measure_with_unit);
	reg.AddEntity (*config_control_designe_mass_measure_with_unit);
/////////	 END_ENTITY mass_measure_with_unit

/////////	 ENTITY brep_with_voids

	config_control_designe_brep_with_voids->AddSupertype(config_control_designe_manifold_solid_brep);
	config_control_designe_manifold_solid_brep->AddSubtype(config_control_designe_brep_with_voids);
	SetTypeDescriptor * t_41 = new SetTypeDescriptor;
	t_41->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_41->Bound1(1);
	t_41->Bound2(2147483647);
	t_41->FundamentalType(SET_TYPE);
	t_41->Description("SET [1:?] OF oriented_closed_shell");
	t_41->OriginatingSchema(s_config_control_design);
	t_41->ReferentType(config_control_designe_oriented_closed_shell);
  a_275voids =
	  new AttrDescriptor("voids",t_41,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_brep_with_voids);
	config_control_designe_brep_with_voids->AddExplicitAttr (a_275voids);
	reg.AddEntity (*config_control_designe_brep_with_voids);
/////////	 END_ENTITY brep_with_voids

/////////	 ENTITY week_of_year_and_day_date

	config_control_designe_week_of_year_and_day_date->AddSupertype(config_control_designe_date);
	config_control_designe_date->AddSubtype(config_control_designe_week_of_year_and_day_date);
  a_276week_component =
	  new AttrDescriptor("week_component",config_control_designt_week_in_year_number,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_week_of_year_and_day_date);
	config_control_designe_week_of_year_and_day_date->AddExplicitAttr (a_276week_component);
  a_277day_component =
	  new AttrDescriptor("day_component",config_control_designt_day_in_week_number,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_week_of_year_and_day_date);
	config_control_designe_week_of_year_and_day_date->AddExplicitAttr (a_277day_component);
	reg.AddEntity (*config_control_designe_week_of_year_and_day_date);
/////////	 END_ENTITY week_of_year_and_day_date

/////////	 ENTITY point_on_curve

	config_control_designe_point_on_curve->AddSupertype(config_control_designe_point);
	config_control_designe_point->AddSubtype(config_control_designe_point_on_curve);
	a_278basis_curve =
	  new AttrDescriptor("basis_curve",config_control_designe_curve,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_point_on_curve);
	config_control_designe_point_on_curve->AddExplicitAttr (a_278basis_curve);
  a_279point_parameter =
	  new AttrDescriptor("point_parameter",config_control_designt_parameter_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_point_on_curve);
	config_control_designe_point_on_curve->AddExplicitAttr (a_279point_parameter);
	reg.AddEntity (*config_control_designe_point_on_curve);
/////////	 END_ENTITY point_on_curve

/////////	 ENTITY shell_based_wireframe_shape_representation

	config_control_designe_shell_based_wireframe_shape_representation->AddSupertype(config_control_designe_shape_representation);
	config_control_designe_shape_representation->AddSubtype(config_control_designe_shell_based_wireframe_shape_representation);
	reg.AddEntity (*config_control_designe_shell_based_wireframe_shape_representation);
/////////	 END_ENTITY shell_based_wireframe_shape_representation

/////////	 ENTITY face

	config_control_designe_face->AddSupertype_Stmt("SUPERTYPE OF (ONEOF (face_surface,oriented_face))");
	config_control_designe_face->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_face);
	SetTypeDescriptor * t_42 = new SetTypeDescriptor;
	t_42->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_42->Bound1(1);
	t_42->Bound2(2147483647);
	t_42->FundamentalType(SET_TYPE);
	t_42->Description("SET [1:?] OF face_bound");
	t_42->OriginatingSchema(s_config_control_design);
	t_42->ReferentType(config_control_designe_face_bound);
  a_280bounds =
	  new AttrDescriptor("bounds",t_42,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_face);
	config_control_designe_face->AddExplicitAttr (a_280bounds);
	reg.AddEntity (*config_control_designe_face);
/////////	 END_ENTITY face

/////////	 ENTITY face_surface

	config_control_designe_face_surface->AddSupertype(config_control_designe_face);
	config_control_designe_face->AddSubtype(config_control_designe_face_surface);
	config_control_designe_face_surface->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_face_surface);
	a_281face_geometry =
	  new AttrDescriptor("face_geometry",config_control_designe_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_face_surface);
	config_control_designe_face_surface->AddExplicitAttr (a_281face_geometry);
  a_282same_sense =
	  new AttrDescriptor("same_sense",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_face_surface);
	config_control_designe_face_surface->AddExplicitAttr (a_282same_sense);
	reg.AddEntity (*config_control_designe_face_surface);
/////////	 END_ENTITY face_surface

/////////	 ENTITY oriented_face

	config_control_designe_oriented_face->AddSupertype(config_control_designe_face);
	config_control_designe_face->AddSubtype(config_control_designe_oriented_face);
	a_283face_element =
	  new AttrDescriptor("face_element",config_control_designe_face,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_face);
	config_control_designe_oriented_face->AddExplicitAttr (a_283face_element);
  a_284orientation =
	  new AttrDescriptor("orientation",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_face);
	config_control_designe_oriented_face->AddExplicitAttr (a_284orientation);
	SetTypeDescriptor * t_43 = new SetTypeDescriptor;
	t_43->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_43->Bound1(1);
	t_43->Bound2(2147483647);
	t_43->FundamentalType(SET_TYPE);
	t_43->Description("SET [1:?] OF face_bound");
	t_43->OriginatingSchema(s_config_control_design);
	t_43->ReferentType(config_control_designe_face_bound);
  a_285Dface_bounds =
	  new Derived_attribute("face.bounds",t_43,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_oriented_face);
	config_control_designe_oriented_face->AddExplicitAttr (a_285Dface_bounds);
	a_285Dface_bounds->initializer_("conditional_reverse(SELF.orientation,SELF.face_element.bounds)");
	reg.AddEntity (*config_control_designe_oriented_face);
/////////	 END_ENTITY oriented_face

/////////	 ENTITY surface_of_revolution

	config_control_designe_surface_of_revolution->AddSupertype(config_control_designe_swept_surface);
	config_control_designe_swept_surface->AddSubtype(config_control_designe_surface_of_revolution);
	a_286axis_position =
	  new AttrDescriptor("axis_position",config_control_designe_axis1_placement,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_of_revolution);
	config_control_designe_surface_of_revolution->AddExplicitAttr (a_286axis_position);
	a_287Daxis_line =
	  new Derived_attribute("axis_line",config_control_designe_line,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_surface_of_revolution);
	config_control_designe_surface_of_revolution->AddExplicitAttr (a_287Daxis_line);
	a_287Daxis_line->initializer_("dummy_gri || curve() || line(axis_position.location,dummy_gri || vector(\n        axis_position.z,1))");
	reg.AddEntity (*config_control_designe_surface_of_revolution);
/////////	 END_ENTITY surface_of_revolution

/////////	 ENTITY advanced_brep_shape_representation

	config_control_designe_advanced_brep_shape_representation->AddSupertype(config_control_designe_shape_representation);
	config_control_designe_shape_representation->AddSubtype(config_control_designe_advanced_brep_shape_representation);
	reg.AddEntity (*config_control_designe_advanced_brep_shape_representation);
/////////	 END_ENTITY advanced_brep_shape_representation

/////////	 ENTITY edge_curve

	config_control_designe_edge_curve->AddSupertype(config_control_designe_edge);
	config_control_designe_edge->AddSubtype(config_control_designe_edge_curve);
	config_control_designe_edge_curve->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_edge_curve);
	a_288edge_geometry =
	  new AttrDescriptor("edge_geometry",config_control_designe_curve,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_edge_curve);
	config_control_designe_edge_curve->AddExplicitAttr (a_288edge_geometry);
  a_289same_sense =
	  new AttrDescriptor("same_sense",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_edge_curve);
	config_control_designe_edge_curve->AddExplicitAttr (a_289same_sense);
	reg.AddEntity (*config_control_designe_edge_curve);
/////////	 END_ENTITY edge_curve

/////////	 ENTITY point_replica

	config_control_designe_point_replica->AddSupertype(config_control_designe_point);
	config_control_designe_point->AddSubtype(config_control_designe_point_replica);
	a_290parent_pt =
	  new AttrDescriptor("parent_pt",config_control_designe_point,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_point_replica);
	config_control_designe_point_replica->AddExplicitAttr (a_290parent_pt);
	a_291transformation =
	  new AttrDescriptor("transformation",config_control_designe_cartesian_transformation_operator,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_point_replica);
	config_control_designe_point_replica->AddExplicitAttr (a_291transformation);
	reg.AddEntity (*config_control_designe_point_replica);
/////////	 END_ENTITY point_replica

/////////	 ENTITY product

  a_292id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_product);
	config_control_designe_product->AddExplicitAttr (a_292id);
  a_293name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product);
	config_control_designe_product->AddExplicitAttr (a_293name);
  a_294description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product);
	config_control_designe_product->AddExplicitAttr (a_294description);
	SetTypeDescriptor * t_44 = new SetTypeDescriptor;
	t_44->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_44->Bound1(1);
	t_44->Bound2(2147483647);
	t_44->FundamentalType(SET_TYPE);
	t_44->Description("SET [1:?] OF product_context");
	t_44->OriginatingSchema(s_config_control_design);
	t_44->ReferentType(config_control_designe_product_context);
  a_295frame_of_reference =
	  new AttrDescriptor("frame_of_reference",t_44,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product);
	config_control_designe_product->AddExplicitAttr (a_295frame_of_reference);
	reg.AddEntity (*config_control_designe_product);
/////////	 END_ENTITY product

/////////	 ENTITY shape_aspect_relationship

  a_296name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shape_aspect_relationship);
	config_control_designe_shape_aspect_relationship->AddExplicitAttr (a_296name);
  a_297description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shape_aspect_relationship);
	config_control_designe_shape_aspect_relationship->AddExplicitAttr (a_297description);
	a_298relating_shape_aspect =
	  new AttrDescriptor("relating_shape_aspect",config_control_designe_shape_aspect,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shape_aspect_relationship);
	config_control_designe_shape_aspect_relationship->AddExplicitAttr (a_298relating_shape_aspect);
	a_299related_shape_aspect =
	  new AttrDescriptor("related_shape_aspect",config_control_designe_shape_aspect,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shape_aspect_relationship);
	config_control_designe_shape_aspect_relationship->AddExplicitAttr (a_299related_shape_aspect);
	reg.AddEntity (*config_control_designe_shape_aspect_relationship);
/////////	 END_ENTITY shape_aspect_relationship

/////////	 ENTITY rectangular_trimmed_surface

	config_control_designe_rectangular_trimmed_surface->AddSupertype(config_control_designe_bounded_surface);
	config_control_designe_bounded_surface->AddSubtype(config_control_designe_rectangular_trimmed_surface);
	a_300basis_surface =
	  new AttrDescriptor("basis_surface",config_control_designe_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rectangular_trimmed_surface);
	config_control_designe_rectangular_trimmed_surface->AddExplicitAttr (a_300basis_surface);
  a_301u1 =
	  new AttrDescriptor("u1",config_control_designt_parameter_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rectangular_trimmed_surface);
	config_control_designe_rectangular_trimmed_surface->AddExplicitAttr (a_301u1);
  a_302u2 =
	  new AttrDescriptor("u2",config_control_designt_parameter_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rectangular_trimmed_surface);
	config_control_designe_rectangular_trimmed_surface->AddExplicitAttr (a_302u2);
  a_303v1 =
	  new AttrDescriptor("v1",config_control_designt_parameter_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rectangular_trimmed_surface);
	config_control_designe_rectangular_trimmed_surface->AddExplicitAttr (a_303v1);
  a_304v2 =
	  new AttrDescriptor("v2",config_control_designt_parameter_value,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rectangular_trimmed_surface);
	config_control_designe_rectangular_trimmed_surface->AddExplicitAttr (a_304v2);
  a_305usense =
	  new AttrDescriptor("usense",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rectangular_trimmed_surface);
	config_control_designe_rectangular_trimmed_surface->AddExplicitAttr (a_305usense);
  a_306vsense =
	  new AttrDescriptor("vsense",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rectangular_trimmed_surface);
	config_control_designe_rectangular_trimmed_surface->AddExplicitAttr (a_306vsense);
	reg.AddEntity (*config_control_designe_rectangular_trimmed_surface);
/////////	 END_ENTITY rectangular_trimmed_surface

/////////	 ENTITY plane

	config_control_designe_plane->AddSupertype(config_control_designe_elementary_surface);
	config_control_designe_elementary_surface->AddSubtype(config_control_designe_plane);
	reg.AddEntity (*config_control_designe_plane);
/////////	 END_ENTITY plane

/////////	 ENTITY action_assignment

	config_control_designe_action_assignment->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_307assigned_action =
	  new AttrDescriptor("assigned_action",config_control_designe_action,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action_assignment);
	config_control_designe_action_assignment->AddExplicitAttr (a_307assigned_action);
	reg.AddEntity (*config_control_designe_action_assignment);
/////////	 END_ENTITY action_assignment

/////////	 ENTITY change

	config_control_designe_change->AddSupertype(config_control_designe_action_assignment);
	config_control_designe_action_assignment->AddSubtype(config_control_designe_change);
	SetTypeDescriptor * t_45 = new SetTypeDescriptor;
	t_45->AssignAggrCreator((AggregateCreator) create_SdaiWork_items);	// Creator function 
	t_45->Bound1(1);
	t_45->Bound2(2147483647);
	t_45->FundamentalType(SET_TYPE);
	t_45->Description("SET [1:?] OF work_item");
	t_45->OriginatingSchema(s_config_control_design);
	t_45->ReferentType(config_control_designt_work_item);
  a_308items =
	  new AttrDescriptor("items",t_45,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_change);
	config_control_designe_change->AddExplicitAttr (a_308items);
	reg.AddEntity (*config_control_designe_change);
/////////	 END_ENTITY change

/////////	 ENTITY circle

	config_control_designe_circle->AddSupertype(config_control_designe_conic);
	config_control_designe_conic->AddSubtype(config_control_designe_circle);
  a_309radius =
	  new AttrDescriptor("radius",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_circle);
	config_control_designe_circle->AddExplicitAttr (a_309radius);
	reg.AddEntity (*config_control_designe_circle);
/////////	 END_ENTITY circle

/////////	 ENTITY line

	config_control_designe_line->AddSupertype(config_control_designe_curve);
	config_control_designe_curve->AddSubtype(config_control_designe_line);
	a_310pnt =
	  new AttrDescriptor("pnt",config_control_designe_cartesian_point,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_line);
	config_control_designe_line->AddExplicitAttr (a_310pnt);
	a_311dir =
	  new AttrDescriptor("dir",config_control_designe_vector,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_line);
	config_control_designe_line->AddExplicitAttr (a_311dir);
	reg.AddEntity (*config_control_designe_line);
/////////	 END_ENTITY line

/////////	 ENTITY property_definition_representation

	a_312definition =
	  new AttrDescriptor("definition",config_control_designe_property_definition,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_property_definition_representation);
	config_control_designe_property_definition_representation->AddExplicitAttr (a_312definition);
	a_313used_representation =
	  new AttrDescriptor("used_representation",config_control_designe_representation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_property_definition_representation);
	config_control_designe_property_definition_representation->AddExplicitAttr (a_313used_representation);
	reg.AddEntity (*config_control_designe_property_definition_representation);
/////////	 END_ENTITY property_definition_representation

/////////	 ENTITY geometric_set

	config_control_designe_geometric_set->AddSupertype_Stmt("SUPERTYPE OF (geometric_curve_set)");
	config_control_designe_geometric_set->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_geometric_set);
	SetTypeDescriptor * t_46 = new SetTypeDescriptor;
	t_46->AssignAggrCreator((AggregateCreator) create_SdaiGeometric_set_selects);	// Creator function 
	t_46->Bound1(1);
	t_46->Bound2(2147483647);
	t_46->FundamentalType(SET_TYPE);
	t_46->Description("SET [1:?] OF geometric_set_select");
	t_46->OriginatingSchema(s_config_control_design);
	t_46->ReferentType(config_control_designt_geometric_set_select);
  a_314elements =
	  new AttrDescriptor("elements",t_46,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_geometric_set);
	config_control_designe_geometric_set->AddExplicitAttr (a_314elements);
	reg.AddEntity (*config_control_designe_geometric_set);
/////////	 END_ENTITY geometric_set

/////////	 ENTITY geometric_curve_set

	config_control_designe_geometric_curve_set->AddSupertype(config_control_designe_geometric_set);
	config_control_designe_geometric_set->AddSubtype(config_control_designe_geometric_curve_set);
	reg.AddEntity (*config_control_designe_geometric_curve_set);
/////////	 END_ENTITY geometric_curve_set

/////////	 ENTITY personal_address

	config_control_designe_personal_address->AddSupertype(config_control_designe_address);
	config_control_designe_address->AddSubtype(config_control_designe_personal_address);
	SetTypeDescriptor * t_47 = new SetTypeDescriptor;
	t_47->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_47->Bound1(1);
	t_47->Bound2(2147483647);
	t_47->FundamentalType(SET_TYPE);
	t_47->Description("SET [1:?] OF person");
	t_47->OriginatingSchema(s_config_control_design);
	t_47->ReferentType(config_control_designe_person);
  a_315people =
	  new AttrDescriptor("people",t_47,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_personal_address);
	config_control_designe_personal_address->AddExplicitAttr (a_315people);
  a_316description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_personal_address);
	config_control_designe_personal_address->AddExplicitAttr (a_316description);
	reg.AddEntity (*config_control_designe_personal_address);
/////////	 END_ENTITY personal_address

/////////	 ENTITY document_relationship

  a_317name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_relationship);
	config_control_designe_document_relationship->AddExplicitAttr (a_317name);
  a_318description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_relationship);
	config_control_designe_document_relationship->AddExplicitAttr (a_318description);
	a_319relating_document =
	  new AttrDescriptor("relating_document",config_control_designe_document,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_relationship);
	config_control_designe_document_relationship->AddExplicitAttr (a_319relating_document);
	a_320related_document =
	  new AttrDescriptor("related_document",config_control_designe_document,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_relationship);
	config_control_designe_document_relationship->AddExplicitAttr (a_320related_document);
	reg.AddEntity (*config_control_designe_document_relationship);
/////////	 END_ENTITY document_relationship

/////////	 ENTITY outer_boundary_curve

	config_control_designe_outer_boundary_curve->AddSupertype(config_control_designe_boundary_curve);
	config_control_designe_boundary_curve->AddSubtype(config_control_designe_outer_boundary_curve);
	reg.AddEntity (*config_control_designe_outer_boundary_curve);
/////////	 END_ENTITY outer_boundary_curve

/////////	 ENTITY shape_representation_relationship

	config_control_designe_shape_representation_relationship->AddSupertype(config_control_designe_representation_relationship);
	config_control_designe_representation_relationship->AddSubtype(config_control_designe_shape_representation_relationship);
	reg.AddEntity (*config_control_designe_shape_representation_relationship);
/////////	 END_ENTITY shape_representation_relationship

/////////	 ENTITY assembly_component_usage_substitute

  a_321name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_assembly_component_usage_substitute);
	config_control_designe_assembly_component_usage_substitute->AddExplicitAttr (a_321name);
  a_322definition =
	  new AttrDescriptor("definition",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_assembly_component_usage_substitute);
	config_control_designe_assembly_component_usage_substitute->AddExplicitAttr (a_322definition);
	a_323base =
	  new AttrDescriptor("base",config_control_designe_assembly_component_usage,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_assembly_component_usage_substitute);
	config_control_designe_assembly_component_usage_substitute->AddExplicitAttr (a_323base);
	a_324substitute =
	  new AttrDescriptor("substitute",config_control_designe_assembly_component_usage,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_assembly_component_usage_substitute);
	config_control_designe_assembly_component_usage_substitute->AddExplicitAttr (a_324substitute);
	reg.AddEntity (*config_control_designe_assembly_component_usage_substitute);
/////////	 END_ENTITY assembly_component_usage_substitute

/////////	 ENTITY degenerate_pcurve

	config_control_designe_degenerate_pcurve->AddSupertype(config_control_designe_point);
	config_control_designe_point->AddSubtype(config_control_designe_degenerate_pcurve);
	a_325basis_surface =
	  new AttrDescriptor("basis_surface",config_control_designe_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_degenerate_pcurve);
	config_control_designe_degenerate_pcurve->AddExplicitAttr (a_325basis_surface);
	a_326reference_to_curve =
	  new AttrDescriptor("reference_to_curve",config_control_designe_definitional_representation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_degenerate_pcurve);
	config_control_designe_degenerate_pcurve->AddExplicitAttr (a_326reference_to_curve);
	reg.AddEntity (*config_control_designe_degenerate_pcurve);
/////////	 END_ENTITY degenerate_pcurve

/////////	 ENTITY evaluated_degenerate_pcurve

	config_control_designe_evaluated_degenerate_pcurve->AddSupertype(config_control_designe_degenerate_pcurve);
	config_control_designe_degenerate_pcurve->AddSubtype(config_control_designe_evaluated_degenerate_pcurve);
	a_327equivalent_point =
	  new AttrDescriptor("equivalent_point",config_control_designe_cartesian_point,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_evaluated_degenerate_pcurve);
	config_control_designe_evaluated_degenerate_pcurve->AddExplicitAttr (a_327equivalent_point);
	reg.AddEntity (*config_control_designe_evaluated_degenerate_pcurve);
/////////	 END_ENTITY evaluated_degenerate_pcurve

/////////	 ENTITY solid_angle_measure_with_unit

	config_control_designe_solid_angle_measure_with_unit->AddSupertype(config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddSubtype(config_control_designe_solid_angle_measure_with_unit);
	reg.AddEntity (*config_control_designe_solid_angle_measure_with_unit);
/////////	 END_ENTITY solid_angle_measure_with_unit

/////////	 ENTITY connected_edge_set

	config_control_designe_connected_edge_set->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_connected_edge_set);
	SetTypeDescriptor * t_48 = new SetTypeDescriptor;
	t_48->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_48->Bound1(1);
	t_48->Bound2(2147483647);
	t_48->FundamentalType(SET_TYPE);
	t_48->Description("SET [1:?] OF edge");
	t_48->OriginatingSchema(s_config_control_design);
	t_48->ReferentType(config_control_designe_edge);
  a_328ces_edges =
	  new AttrDescriptor("ces_edges",t_48,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_connected_edge_set);
	config_control_designe_connected_edge_set->AddExplicitAttr (a_328ces_edges);
	reg.AddEntity (*config_control_designe_connected_edge_set);
/////////	 END_ENTITY connected_edge_set

/////////	 ENTITY action

  a_329name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action);
	config_control_designe_action->AddExplicitAttr (a_329name);
  a_330description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action);
	config_control_designe_action->AddExplicitAttr (a_330description);
	a_331chosen_method =
	  new AttrDescriptor("chosen_method",config_control_designe_action_method,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_action);
	config_control_designe_action->AddExplicitAttr (a_331chosen_method);
	reg.AddEntity (*config_control_designe_action);
/////////	 END_ENTITY action

/////////	 ENTITY executed_action

	config_control_designe_executed_action->AddSupertype(config_control_designe_action);
	config_control_designe_action->AddSubtype(config_control_designe_executed_action);
	reg.AddEntity (*config_control_designe_executed_action);
/////////	 END_ENTITY executed_action

/////////	 ENTITY directed_action

	config_control_designe_directed_action->AddSupertype(config_control_designe_executed_action);
	config_control_designe_executed_action->AddSubtype(config_control_designe_directed_action);
	a_332directive =
	  new AttrDescriptor("directive",config_control_designe_action_directive,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_directed_action);
	config_control_designe_directed_action->AddExplicitAttr (a_332directive);
	reg.AddEntity (*config_control_designe_directed_action);
/////////	 END_ENTITY directed_action

/////////	 ENTITY organizational_project

  a_333name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organizational_project);
	config_control_designe_organizational_project->AddExplicitAttr (a_333name);
  a_334description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organizational_project);
	config_control_designe_organizational_project->AddExplicitAttr (a_334description);
	SetTypeDescriptor * t_49 = new SetTypeDescriptor;
	t_49->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_49->Bound1(1);
	t_49->Bound2(2147483647);
	t_49->FundamentalType(SET_TYPE);
	t_49->Description("SET [1:?] OF organization");
	t_49->OriginatingSchema(s_config_control_design);
	t_49->ReferentType(config_control_designe_organization);
  a_335responsible_organizations =
	  new AttrDescriptor("responsible_organizations",t_49,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organizational_project);
	config_control_designe_organizational_project->AddExplicitAttr (a_335responsible_organizations);
	reg.AddEntity (*config_control_designe_organizational_project);
/////////	 END_ENTITY organizational_project

/////////	 ENTITY date_time_role

  a_336name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_date_time_role);
	config_control_designe_date_time_role->AddExplicitAttr (a_336name);
	reg.AddEntity (*config_control_designe_date_time_role);
/////////	 END_ENTITY date_time_role

/////////	 ENTITY curve_bounded_surface

	config_control_designe_curve_bounded_surface->AddSupertype(config_control_designe_bounded_surface);
	config_control_designe_bounded_surface->AddSubtype(config_control_designe_curve_bounded_surface);
	a_337basis_surface =
	  new AttrDescriptor("basis_surface",config_control_designe_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_curve_bounded_surface);
	config_control_designe_curve_bounded_surface->AddExplicitAttr (a_337basis_surface);
	SetTypeDescriptor * t_50 = new SetTypeDescriptor;
	t_50->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_50->Bound1(1);
	t_50->Bound2(2147483647);
	t_50->FundamentalType(SET_TYPE);
	t_50->Description("SET [1:?] OF boundary_curve");
	t_50->OriginatingSchema(s_config_control_design);
	t_50->ReferentType(config_control_designe_boundary_curve);
  a_338boundaries =
	  new AttrDescriptor("boundaries",t_50,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_curve_bounded_surface);
	config_control_designe_curve_bounded_surface->AddExplicitAttr (a_338boundaries);
  a_339implicit_outer =
	  new AttrDescriptor("implicit_outer",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_curve_bounded_surface);
	config_control_designe_curve_bounded_surface->AddExplicitAttr (a_339implicit_outer);
	reg.AddEntity (*config_control_designe_curve_bounded_surface);
/////////	 END_ENTITY curve_bounded_surface

/////////	 ENTITY closed_shell

	config_control_designe_closed_shell->AddSupertype(config_control_designe_connected_face_set);
	config_control_designe_connected_face_set->AddSubtype(config_control_designe_closed_shell);
	reg.AddEntity (*config_control_designe_closed_shell);
/////////	 END_ENTITY closed_shell

/////////	 ENTITY design_make_from_relationship

	config_control_designe_design_make_from_relationship->AddSupertype(config_control_designe_product_definition_relationship);
	config_control_designe_product_definition_relationship->AddSubtype(config_control_designe_design_make_from_relationship);
	reg.AddEntity (*config_control_designe_design_make_from_relationship);
/////////	 END_ENTITY design_make_from_relationship

/////////	 ENTITY definitional_representation

	config_control_designe_definitional_representation->AddSupertype(config_control_designe_representation);
	config_control_designe_representation->AddSubtype(config_control_designe_definitional_representation);
	reg.AddEntity (*config_control_designe_definitional_representation);
/////////	 END_ENTITY definitional_representation

/////////	 ENTITY product_definition_shape

	config_control_designe_product_definition_shape->AddSupertype(config_control_designe_property_definition);
	config_control_designe_property_definition->AddSubtype(config_control_designe_product_definition_shape);
	reg.AddEntity (*config_control_designe_product_definition_shape);
/////////	 END_ENTITY product_definition_shape

/////////	 ENTITY si_unit

	config_control_designe_si_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_si_unit);
  a_340prefix =
	  new AttrDescriptor("prefix",config_control_designt_si_prefix,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_si_unit);
	config_control_designe_si_unit->AddExplicitAttr (a_340prefix);
  a_341name =
	  new AttrDescriptor("name",config_control_designt_si_unit_name,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_si_unit);
	config_control_designe_si_unit->AddExplicitAttr (a_341name);
	a_342Dnamed_unit_dimensions =
	  new Derived_attribute("named_unit.dimensions",config_control_designe_dimensional_exponents,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_si_unit);
	config_control_designe_si_unit->AddExplicitAttr (a_342Dnamed_unit_dimensions);
	a_342Dnamed_unit_dimensions->initializer_("dimensions_for_si_unit(SELF.name)");
	reg.AddEntity (*config_control_designe_si_unit);
/////////	 END_ENTITY si_unit

/////////	 ENTITY bezier_surface

	config_control_designe_bezier_surface->AddSupertype(config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddSubtype(config_control_designe_bezier_surface);
	reg.AddEntity (*config_control_designe_bezier_surface);
/////////	 END_ENTITY bezier_surface

/////////	 ENTITY certification_assignment

	config_control_designe_certification_assignment->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_343assigned_certification =
	  new AttrDescriptor("assigned_certification",config_control_designe_certification,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_certification_assignment);
	config_control_designe_certification_assignment->AddExplicitAttr (a_343assigned_certification);
	reg.AddEntity (*config_control_designe_certification_assignment);
/////////	 END_ENTITY certification_assignment

/////////	 ENTITY start_work

	config_control_designe_start_work->AddSupertype(config_control_designe_action_assignment);
	config_control_designe_action_assignment->AddSubtype(config_control_designe_start_work);
	SetTypeDescriptor * t_51 = new SetTypeDescriptor;
	t_51->AssignAggrCreator((AggregateCreator) create_SdaiWork_items);	// Creator function 
	t_51->Bound1(1);
	t_51->Bound2(2147483647);
	t_51->FundamentalType(SET_TYPE);
	t_51->Description("SET [1:?] OF work_item");
	t_51->OriginatingSchema(s_config_control_design);
	t_51->ReferentType(config_control_designt_work_item);
  a_344items =
	  new AttrDescriptor("items",t_51,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_start_work);
	config_control_designe_start_work->AddExplicitAttr (a_344items);
	reg.AddEntity (*config_control_designe_start_work);
/////////	 END_ENTITY start_work

/////////	 ENTITY contract_type

  a_345description =
	  new AttrDescriptor("description",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_contract_type);
	config_control_designe_contract_type->AddExplicitAttr (a_345description);
	reg.AddEntity (*config_control_designe_contract_type);
/////////	 END_ENTITY contract_type

/////////	 ENTITY b_spline_curve_with_knots

	config_control_designe_b_spline_curve_with_knots->AddSupertype(config_control_designe_b_spline_curve);
	config_control_designe_b_spline_curve->AddSubtype(config_control_designe_b_spline_curve_with_knots);
	ListTypeDescriptor * t_52 = new ListTypeDescriptor;
	t_52->AssignAggrCreator((AggregateCreator) create_IntAggregate);	// Creator function 
	t_52->Bound1(2);
	t_52->Bound2(2147483647);
	t_52->FundamentalType(LIST_TYPE);
	t_52->Description("LIST [2:?] OF INTEGER");
	t_52->OriginatingSchema(s_config_control_design);
	t_52->ReferentType(t_sdaiINTEGER);
  a_346knot_multiplicities =
	  new AttrDescriptor("knot_multiplicities",t_52,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_curve_with_knots);
	config_control_designe_b_spline_curve_with_knots->AddExplicitAttr (a_346knot_multiplicities);
	ListTypeDescriptor * t_53 = new ListTypeDescriptor;
	t_53->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_53->Bound1(2);
	t_53->Bound2(2147483647);
	t_53->FundamentalType(LIST_TYPE);
	t_53->Description("LIST [2:?] OF parameter_value");
	t_53->OriginatingSchema(s_config_control_design);
	t_53->ReferentType(config_control_designt_parameter_value);
  a_347knots =
	  new AttrDescriptor("knots",t_53,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_curve_with_knots);
	config_control_designe_b_spline_curve_with_knots->AddExplicitAttr (a_347knots);
  a_348knot_spec =
	  new AttrDescriptor("knot_spec",config_control_designt_knot_type,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_curve_with_knots);
	config_control_designe_b_spline_curve_with_knots->AddExplicitAttr (a_348knot_spec);
  a_349Dupper_index_on_knots =
	  new Derived_attribute("upper_index_on_knots",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_b_spline_curve_with_knots);
	config_control_designe_b_spline_curve_with_knots->AddExplicitAttr (a_349Dupper_index_on_knots);
	a_349Dupper_index_on_knots->initializer_("SIZEOF(knots)");
	reg.AddEntity (*config_control_designe_b_spline_curve_with_knots);
/////////	 END_ENTITY b_spline_curve_with_knots

/////////	 ENTITY cc_design_approval

	config_control_designe_cc_design_approval->AddSupertype(config_control_designe_approval_assignment);
	config_control_designe_approval_assignment->AddSubtype(config_control_designe_cc_design_approval);
	SetTypeDescriptor * t_54 = new SetTypeDescriptor;
	t_54->AssignAggrCreator((AggregateCreator) create_SdaiApproved_items);	// Creator function 
	t_54->Bound1(1);
	t_54->Bound2(2147483647);
	t_54->FundamentalType(SET_TYPE);
	t_54->Description("SET [1:?] OF approved_item");
	t_54->OriginatingSchema(s_config_control_design);
	t_54->ReferentType(config_control_designt_approved_item);
  a_350items =
	  new AttrDescriptor("items",t_54,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cc_design_approval);
	config_control_designe_cc_design_approval->AddExplicitAttr (a_350items);
	reg.AddEntity (*config_control_designe_cc_design_approval);
/////////	 END_ENTITY cc_design_approval

/////////	 ENTITY edge_based_wireframe_shape_representation

	config_control_designe_edge_based_wireframe_shape_representation->AddSupertype(config_control_designe_shape_representation);
	config_control_designe_shape_representation->AddSubtype(config_control_designe_edge_based_wireframe_shape_representation);
	reg.AddEntity (*config_control_designe_edge_based_wireframe_shape_representation);
/////////	 END_ENTITY edge_based_wireframe_shape_representation

/////////	 ENTITY geometrically_bounded_wireframe_shape_representation

	config_control_designe_geometrically_bounded_wireframe_shape_representation->AddSupertype(config_control_designe_shape_representation);
	config_control_designe_shape_representation->AddSubtype(config_control_designe_geometrically_bounded_wireframe_shape_representation);
	reg.AddEntity (*config_control_designe_geometrically_bounded_wireframe_shape_representation);
/////////	 END_ENTITY geometrically_bounded_wireframe_shape_representation

/////////	 ENTITY product_concept

  a_351id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_product_concept);
	config_control_designe_product_concept->AddExplicitAttr (a_351id);
  a_352name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_concept);
	config_control_designe_product_concept->AddExplicitAttr (a_352name);
  a_353description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_concept);
	config_control_designe_product_concept->AddExplicitAttr (a_353description);
	a_354market_context =
	  new AttrDescriptor("market_context",config_control_designe_product_concept_context,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_concept);
	config_control_designe_product_concept->AddExplicitAttr (a_354market_context);
	reg.AddEntity (*config_control_designe_product_concept);
/////////	 END_ENTITY product_concept

/////////	 ENTITY cc_design_contract

	config_control_designe_cc_design_contract->AddSupertype(config_control_designe_contract_assignment);
	config_control_designe_contract_assignment->AddSubtype(config_control_designe_cc_design_contract);
	SetTypeDescriptor * t_55 = new SetTypeDescriptor;
	t_55->AssignAggrCreator((AggregateCreator) create_SdaiContracted_items);	// Creator function 
	t_55->Bound1(1);
	t_55->Bound2(2147483647);
	t_55->FundamentalType(SET_TYPE);
	t_55->Description("SET [1:?] OF contracted_item");
	t_55->OriginatingSchema(s_config_control_design);
	t_55->ReferentType(config_control_designt_contracted_item);
  a_355items =
	  new AttrDescriptor("items",t_55,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cc_design_contract);
	config_control_designe_cc_design_contract->AddExplicitAttr (a_355items);
	reg.AddEntity (*config_control_designe_cc_design_contract);
/////////	 END_ENTITY cc_design_contract

/////////	 ENTITY seam_curve

	config_control_designe_seam_curve->AddSupertype(config_control_designe_surface_curve);
	config_control_designe_surface_curve->AddSubtype(config_control_designe_seam_curve);
	reg.AddEntity (*config_control_designe_seam_curve);
/////////	 END_ENTITY seam_curve

/////////	 ENTITY axis2_placement_3d

	config_control_designe_axis2_placement_3d->AddSupertype(config_control_designe_placement);
	config_control_designe_placement->AddSubtype(config_control_designe_axis2_placement_3d);
	a_356axis =
	  new AttrDescriptor("axis",config_control_designe_direction,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_axis2_placement_3d);
	config_control_designe_axis2_placement_3d->AddExplicitAttr (a_356axis);
	a_357ref_direction =
	  new AttrDescriptor("ref_direction",config_control_designe_direction,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_axis2_placement_3d);
	config_control_designe_axis2_placement_3d->AddExplicitAttr (a_357ref_direction);
	ListTypeDescriptor * t_56 = new ListTypeDescriptor;
	t_56->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_56->Bound1(3);
	t_56->Bound2(3);
	t_56->FundamentalType(LIST_TYPE);
	t_56->Description("LIST [3:3] OF direction");
	t_56->OriginatingSchema(s_config_control_design);
	t_56->ReferentType(config_control_designe_direction);
  a_358Dp =
	  new Derived_attribute("p",t_56,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_axis2_placement_3d);
	config_control_designe_axis2_placement_3d->AddExplicitAttr (a_358Dp);
	a_358Dp->initializer_("build_axes(axis,ref_direction)");
	reg.AddEntity (*config_control_designe_axis2_placement_3d);
/////////	 END_ENTITY axis2_placement_3d

/////////	 ENTITY rational_b_spline_surface

	config_control_designe_rational_b_spline_surface->AddSupertype(config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddSubtype(config_control_designe_rational_b_spline_surface);
	ListTypeDescriptor * t_57 = new ListTypeDescriptor;
	t_57->AssignAggrCreator((AggregateCreator) create_GenericAggregate);	// Creator function 
	t_57->Bound1(2);
	t_57->Bound2(2147483647);
	t_57->FundamentalType(LIST_TYPE);
	t_57->Description("LIST [2:?] OF LIST [2:?] OF REAL");
	t_57->OriginatingSchema(s_config_control_design);
	ListTypeDescriptor * t_58 = new ListTypeDescriptor;
	t_58->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_58->Bound1(2);
	t_58->Bound2(2147483647);
	t_58->FundamentalType(LIST_TYPE);
	t_58->Description("LIST [2:?] OF REAL");
	t_58->OriginatingSchema(s_config_control_design);
	t_58->ReferentType(t_sdaiREAL);
	t_57->ReferentType(t_58);
  a_359weights_data =
	  new AttrDescriptor("weights_data",t_57,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_rational_b_spline_surface);
	config_control_designe_rational_b_spline_surface->AddExplicitAttr (a_359weights_data);
	ArrayTypeDescriptor * t_59 = new ArrayTypeDescriptor;
	t_59->AssignAggrCreator((AggregateCreator) create_GenericAggregate);	// Creator function 
	t_59->Bound1(0);
	t_59->Bound2(25427644);
	t_59->FundamentalType(ARRAY_TYPE);
	t_59->Description("ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF REAL");
	t_59->OriginatingSchema(s_config_control_design);
	ArrayTypeDescriptor * t_60 = new ArrayTypeDescriptor;
	t_60->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_60->Bound1(0);
	t_60->Bound2(25427672);
	t_60->FundamentalType(ARRAY_TYPE);
	t_60->Description("ARRAY [0:v_upper] OF REAL");
	t_60->OriginatingSchema(s_config_control_design);
	t_60->ReferentType(t_sdaiREAL);
	t_59->ReferentType(t_60);
  a_360Dweights =
	  new Derived_attribute("weights",t_59,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_rational_b_spline_surface);
	config_control_designe_rational_b_spline_surface->AddExplicitAttr (a_360Dweights);
	a_360Dweights->initializer_("make_array_of_array(weights_data,0,u_upper,0,v_upper)");
	reg.AddEntity (*config_control_designe_rational_b_spline_surface);
/////////	 END_ENTITY rational_b_spline_surface

/////////	 ENTITY configuration_design

	a_361configuration =
	  new AttrDescriptor("configuration",config_control_designe_configuration_item,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_configuration_design);
	config_control_designe_configuration_design->AddExplicitAttr (a_361configuration);
	a_362design =
	  new AttrDescriptor("design",config_control_designe_product_definition_formation,
	  LFalse,LTrue, AttrType_Explicit,
	  *config_control_designe_configuration_design);
	config_control_designe_configuration_design->AddExplicitAttr (a_362design);
	reg.AddEntity (*config_control_designe_configuration_design);
/////////	 END_ENTITY configuration_design

/////////	 ENTITY design_context

	config_control_designe_design_context->AddSupertype(config_control_designe_product_definition_context);
	config_control_designe_product_definition_context->AddSubtype(config_control_designe_design_context);
	reg.AddEntity (*config_control_designe_design_context);
/////////	 END_ENTITY design_context

/////////	 ENTITY product_definition

  a_363id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition);
	config_control_designe_product_definition->AddExplicitAttr (a_363id);
  a_364description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition);
	config_control_designe_product_definition->AddExplicitAttr (a_364description);
	a_365formation =
	  new AttrDescriptor("formation",config_control_designe_product_definition_formation,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition);
	config_control_designe_product_definition->AddExplicitAttr (a_365formation);
	a_366frame_of_reference =
	  new AttrDescriptor("frame_of_reference",config_control_designe_product_definition_context,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition);
	config_control_designe_product_definition->AddExplicitAttr (a_366frame_of_reference);
	reg.AddEntity (*config_control_designe_product_definition);
/////////	 END_ENTITY product_definition

/////////	 ENTITY product_definition_with_associated_documents

	config_control_designe_product_definition_with_associated_documents->AddSupertype(config_control_designe_product_definition);
	config_control_designe_product_definition->AddSubtype(config_control_designe_product_definition_with_associated_documents);
	SetTypeDescriptor * t_61 = new SetTypeDescriptor;
	t_61->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_61->Bound1(1);
	t_61->Bound2(2147483647);
	t_61->FundamentalType(SET_TYPE);
	t_61->Description("SET [1:?] OF document");
	t_61->OriginatingSchema(s_config_control_design);
	t_61->ReferentType(config_control_designe_document);
  a_367documentation_ids =
	  new AttrDescriptor("documentation_ids",t_61,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_definition_with_associated_documents);
	config_control_designe_product_definition_with_associated_documents->AddExplicitAttr (a_367documentation_ids);
	reg.AddEntity (*config_control_designe_product_definition_with_associated_documents);
/////////	 END_ENTITY product_definition_with_associated_documents

/////////	 ENTITY organization

  a_368id =
	  new AttrDescriptor("id",config_control_designt_identifier,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_organization);
	config_control_designe_organization->AddExplicitAttr (a_368id);
  a_369name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organization);
	config_control_designe_organization->AddExplicitAttr (a_369name);
  a_370description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_organization);
	config_control_designe_organization->AddExplicitAttr (a_370description);
	reg.AddEntity (*config_control_designe_organization);
/////////	 END_ENTITY organization

/////////	 ENTITY cc_design_certification

	config_control_designe_cc_design_certification->AddSupertype(config_control_designe_certification_assignment);
	config_control_designe_certification_assignment->AddSubtype(config_control_designe_cc_design_certification);
	SetTypeDescriptor * t_62 = new SetTypeDescriptor;
	t_62->AssignAggrCreator((AggregateCreator) create_SdaiCertified_items);	// Creator function 
	t_62->Bound1(1);
	t_62->Bound2(2147483647);
	t_62->FundamentalType(SET_TYPE);
	t_62->Description("SET [1:?] OF certified_item");
	t_62->OriginatingSchema(s_config_control_design);
	t_62->ReferentType(config_control_designt_certified_item);
  a_371items =
	  new AttrDescriptor("items",t_62,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cc_design_certification);
	config_control_designe_cc_design_certification->AddExplicitAttr (a_371items);
	reg.AddEntity (*config_control_designe_cc_design_certification);
/////////	 END_ENTITY cc_design_certification

/////////	 ENTITY b_spline_surface_with_knots

	config_control_designe_b_spline_surface_with_knots->AddSupertype(config_control_designe_b_spline_surface);
	config_control_designe_b_spline_surface->AddSubtype(config_control_designe_b_spline_surface_with_knots);
	ListTypeDescriptor * t_63 = new ListTypeDescriptor;
	t_63->AssignAggrCreator((AggregateCreator) create_IntAggregate);	// Creator function 
	t_63->Bound1(2);
	t_63->Bound2(2147483647);
	t_63->FundamentalType(LIST_TYPE);
	t_63->Description("LIST [2:?] OF INTEGER");
	t_63->OriginatingSchema(s_config_control_design);
	t_63->ReferentType(t_sdaiINTEGER);
  a_372u_multiplicities =
	  new AttrDescriptor("u_multiplicities",t_63,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface_with_knots);
	config_control_designe_b_spline_surface_with_knots->AddExplicitAttr (a_372u_multiplicities);
	ListTypeDescriptor * t_64 = new ListTypeDescriptor;
	t_64->AssignAggrCreator((AggregateCreator) create_IntAggregate);	// Creator function 
	t_64->Bound1(2);
	t_64->Bound2(2147483647);
	t_64->FundamentalType(LIST_TYPE);
	t_64->Description("LIST [2:?] OF INTEGER");
	t_64->OriginatingSchema(s_config_control_design);
	t_64->ReferentType(t_sdaiINTEGER);
  a_373v_multiplicities =
	  new AttrDescriptor("v_multiplicities",t_64,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface_with_knots);
	config_control_designe_b_spline_surface_with_knots->AddExplicitAttr (a_373v_multiplicities);
	ListTypeDescriptor * t_65 = new ListTypeDescriptor;
	t_65->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_65->Bound1(2);
	t_65->Bound2(2147483647);
	t_65->FundamentalType(LIST_TYPE);
	t_65->Description("LIST [2:?] OF parameter_value");
	t_65->OriginatingSchema(s_config_control_design);
	t_65->ReferentType(config_control_designt_parameter_value);
  a_374u_knots =
	  new AttrDescriptor("u_knots",t_65,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface_with_knots);
	config_control_designe_b_spline_surface_with_knots->AddExplicitAttr (a_374u_knots);
	ListTypeDescriptor * t_66 = new ListTypeDescriptor;
	t_66->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_66->Bound1(2);
	t_66->Bound2(2147483647);
	t_66->FundamentalType(LIST_TYPE);
	t_66->Description("LIST [2:?] OF parameter_value");
	t_66->OriginatingSchema(s_config_control_design);
	t_66->ReferentType(config_control_designt_parameter_value);
  a_375v_knots =
	  new AttrDescriptor("v_knots",t_66,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface_with_knots);
	config_control_designe_b_spline_surface_with_knots->AddExplicitAttr (a_375v_knots);
  a_376knot_spec =
	  new AttrDescriptor("knot_spec",config_control_designt_knot_type,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_b_spline_surface_with_knots);
	config_control_designe_b_spline_surface_with_knots->AddExplicitAttr (a_376knot_spec);
  a_377Dknot_u_upper =
	  new Derived_attribute("knot_u_upper",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_b_spline_surface_with_knots);
	config_control_designe_b_spline_surface_with_knots->AddExplicitAttr (a_377Dknot_u_upper);
	a_377Dknot_u_upper->initializer_("SIZEOF(u_knots)");
  a_378Dknot_v_upper =
	  new Derived_attribute("knot_v_upper",t_sdaiINTEGER,
	  LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_b_spline_surface_with_knots);
	config_control_designe_b_spline_surface_with_knots->AddExplicitAttr (a_378Dknot_v_upper);
	a_378Dknot_v_upper->initializer_("SIZEOF(v_knots)");
	reg.AddEntity (*config_control_designe_b_spline_surface_with_knots);
/////////	 END_ENTITY b_spline_surface_with_knots

/////////	 ENTITY certification_type

  a_379description =
	  new AttrDescriptor("description",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_certification_type);
	config_control_designe_certification_type->AddExplicitAttr (a_379description);
	reg.AddEntity (*config_control_designe_certification_type);
/////////	 END_ENTITY certification_type

/////////	 ENTITY oriented_path

	config_control_designe_oriented_path->AddSupertype(config_control_designe_path);
	config_control_designe_path->AddSubtype(config_control_designe_oriented_path);
	a_380path_element =
	  new AttrDescriptor("path_element",config_control_designe_path,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_path);
	config_control_designe_oriented_path->AddExplicitAttr (a_380path_element);
  a_381orientation =
	  new AttrDescriptor("orientation",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_path);
	config_control_designe_oriented_path->AddExplicitAttr (a_381orientation);
	ListTypeDescriptor * t_67 = new ListTypeDescriptor;
	t_67->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_67->Bound1(1);
	t_67->Bound2(2147483647);
	t_67->UniqueElements(LTrue);
	t_67->FundamentalType(LIST_TYPE);
	t_67->Description("LIST [1:?] OF UNIQUE oriented_edge");
	t_67->OriginatingSchema(s_config_control_design);
	t_67->ReferentType(config_control_designe_oriented_edge);
  a_382Dpath_edge_list =
	  new Derived_attribute("path.edge_list",t_67,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_oriented_path);
	config_control_designe_oriented_path->AddExplicitAttr (a_382Dpath_edge_list);
	a_382Dpath_edge_list->initializer_("conditional_reverse(SELF.orientation,SELF.path_element.edge_list)");
	reg.AddEntity (*config_control_designe_oriented_path);
/////////	 END_ENTITY oriented_path

/////////	 ENTITY security_classification

  a_383name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_security_classification);
	config_control_designe_security_classification->AddExplicitAttr (a_383name);
  a_384purpose =
	  new AttrDescriptor("purpose",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_security_classification);
	config_control_designe_security_classification->AddExplicitAttr (a_384purpose);
	a_385security_level =
	  new AttrDescriptor("security_level",config_control_designe_security_classification_level,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_security_classification);
	config_control_designe_security_classification->AddExplicitAttr (a_385security_level);
	reg.AddEntity (*config_control_designe_security_classification);
/////////	 END_ENTITY security_classification

/////////	 ENTITY vertex_loop

	config_control_designe_vertex_loop->AddSupertype(config_control_designe_loop);
	config_control_designe_loop->AddSubtype(config_control_designe_vertex_loop);
	a_386loop_vertex =
	  new AttrDescriptor("loop_vertex",config_control_designe_vertex,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_vertex_loop);
	config_control_designe_vertex_loop->AddExplicitAttr (a_386loop_vertex);
	reg.AddEntity (*config_control_designe_vertex_loop);
/////////	 END_ENTITY vertex_loop

/////////	 ENTITY approval_status

  a_387name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_status);
	config_control_designe_approval_status->AddExplicitAttr (a_387name);
	reg.AddEntity (*config_control_designe_approval_status);
/////////	 END_ENTITY approval_status

/////////	 ENTITY cartesian_point

	config_control_designe_cartesian_point->AddSupertype(config_control_designe_point);
	config_control_designe_point->AddSubtype(config_control_designe_cartesian_point);
	ListTypeDescriptor * t_68 = new ListTypeDescriptor;
	t_68->AssignAggrCreator((AggregateCreator) create_RealAggregate);	// Creator function 
	t_68->Bound1(1);
	t_68->Bound2(3);
	t_68->FundamentalType(LIST_TYPE);
	t_68->Description("LIST [1:3] OF length_measure");
	t_68->OriginatingSchema(s_config_control_design);
	t_68->ReferentType(config_control_designt_length_measure);
  a_388coordinates =
	  new AttrDescriptor("coordinates",t_68,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cartesian_point);
	config_control_designe_cartesian_point->AddExplicitAttr (a_388coordinates);
	reg.AddEntity (*config_control_designe_cartesian_point);
/////////	 END_ENTITY cartesian_point

/////////	 ENTITY date_and_time_assignment

	config_control_designe_date_and_time_assignment->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_389assigned_date_and_time =
	  new AttrDescriptor("assigned_date_and_time",config_control_designe_date_and_time,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_date_and_time_assignment);
	config_control_designe_date_and_time_assignment->AddExplicitAttr (a_389assigned_date_and_time);
	a_390role =
	  new AttrDescriptor("role",config_control_designe_date_time_role,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_date_and_time_assignment);
	config_control_designe_date_and_time_assignment->AddExplicitAttr (a_390role);
	reg.AddEntity (*config_control_designe_date_and_time_assignment);
/////////	 END_ENTITY date_and_time_assignment

/////////	 ENTITY parametric_representation_context

	config_control_designe_parametric_representation_context->AddSupertype(config_control_designe_representation_context);
	config_control_designe_representation_context->AddSubtype(config_control_designe_parametric_representation_context);
	reg.AddEntity (*config_control_designe_parametric_representation_context);
/////////	 END_ENTITY parametric_representation_context

/////////	 ENTITY product_concept_context

	config_control_designe_product_concept_context->AddSupertype(config_control_designe_application_context_element);
	config_control_designe_application_context_element->AddSubtype(config_control_designe_product_concept_context);
  a_391market_segment_type =
	  new AttrDescriptor("market_segment_type",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_product_concept_context);
	config_control_designe_product_concept_context->AddExplicitAttr (a_391market_segment_type);
	reg.AddEntity (*config_control_designe_product_concept_context);
/////////	 END_ENTITY product_concept_context

/////////	 ENTITY surface_patch

	config_control_designe_surface_patch->AddSupertype(config_control_designe_founded_item);
	config_control_designe_founded_item->AddSubtype(config_control_designe_surface_patch);
	a_392parent_surface =
	  new AttrDescriptor("parent_surface",config_control_designe_bounded_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_patch);
	config_control_designe_surface_patch->AddExplicitAttr (a_392parent_surface);
  a_393u_transition =
	  new AttrDescriptor("u_transition",config_control_designt_transition_code,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_patch);
	config_control_designe_surface_patch->AddExplicitAttr (a_393u_transition);
  a_394v_transition =
	  new AttrDescriptor("v_transition",config_control_designt_transition_code,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_patch);
	config_control_designe_surface_patch->AddExplicitAttr (a_394v_transition);
  a_395u_sense =
	  new AttrDescriptor("u_sense",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_patch);
	config_control_designe_surface_patch->AddExplicitAttr (a_395u_sense);
  a_396v_sense =
	  new AttrDescriptor("v_sense",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_patch);
	config_control_designe_surface_patch->AddExplicitAttr (a_396v_sense);
	BagTypeDescriptor * t_69 = new BagTypeDescriptor;
	t_69->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_69->Bound1(1);
	t_69->Bound2(2147483647);
	t_69->FundamentalType(BAG_TYPE);
	t_69->Description("BAG [1:?] OF rectangular_composite_surface");
	t_69->OriginatingSchema(s_config_control_design);
	t_69->ReferentType(config_control_designe_rectangular_composite_surface);
  a_397Iusing_surfaces =
	  new Inverse_attribute("using_surfaces",t_69,LFalse,LFalse,
	  *config_control_designe_surface_patch);
	config_control_designe_surface_patch->AddInverseAttr (a_397Iusing_surfaces);
	a_397Iusing_surfaces->inverted_attr_id_("segments");
	a_397Iusing_surfaces->inverted_entity_id_("rectangular_composite_surface");
// inverse entity 3 rectangular_composite_surface
	reg.AddEntity (*config_control_designe_surface_patch);
/////////	 END_ENTITY surface_patch

/////////	 ENTITY length_unit

	config_control_designe_length_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_length_unit);
	reg.AddEntity (*config_control_designe_length_unit);
/////////	 END_ENTITY length_unit

/////////	 ENTITY shape_aspect

  a_398name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shape_aspect);
	config_control_designe_shape_aspect->AddExplicitAttr (a_398name);
  a_399description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shape_aspect);
	config_control_designe_shape_aspect->AddExplicitAttr (a_399description);
	a_400of_shape =
	  new AttrDescriptor("of_shape",config_control_designe_product_definition_shape,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shape_aspect);
	config_control_designe_shape_aspect->AddExplicitAttr (a_400of_shape);
  a_401product_definitional =
	  new AttrDescriptor("product_definitional",t_sdaiLOGICAL,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_shape_aspect);
	config_control_designe_shape_aspect->AddExplicitAttr (a_401product_definitional);
	reg.AddEntity (*config_control_designe_shape_aspect);
/////////	 END_ENTITY shape_aspect

/////////	 ENTITY volume_measure_with_unit

	config_control_designe_volume_measure_with_unit->AddSupertype(config_control_designe_measure_with_unit);
	config_control_designe_measure_with_unit->AddSubtype(config_control_designe_volume_measure_with_unit);
	reg.AddEntity (*config_control_designe_volume_measure_with_unit);
/////////	 END_ENTITY volume_measure_with_unit

/////////	 ENTITY advanced_face

	config_control_designe_advanced_face->AddSupertype(config_control_designe_face_surface);
	config_control_designe_face_surface->AddSubtype(config_control_designe_advanced_face);
	reg.AddEntity (*config_control_designe_advanced_face);
/////////	 END_ENTITY advanced_face

/////////	 ENTITY security_classification_level

  a_402name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_security_classification_level);
	config_control_designe_security_classification_level->AddExplicitAttr (a_402name);
	reg.AddEntity (*config_control_designe_security_classification_level);
/////////	 END_ENTITY security_classification_level

/////////	 ENTITY approval_relationship

  a_403name =
	  new AttrDescriptor("name",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_relationship);
	config_control_designe_approval_relationship->AddExplicitAttr (a_403name);
  a_404description =
	  new AttrDescriptor("description",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_relationship);
	config_control_designe_approval_relationship->AddExplicitAttr (a_404description);
	a_405relating_approval =
	  new AttrDescriptor("relating_approval",config_control_designe_approval,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_relationship);
	config_control_designe_approval_relationship->AddExplicitAttr (a_405relating_approval);
	a_406related_approval =
	  new AttrDescriptor("related_approval",config_control_designe_approval,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_relationship);
	config_control_designe_approval_relationship->AddExplicitAttr (a_406related_approval);
	reg.AddEntity (*config_control_designe_approval_relationship);
/////////	 END_ENTITY approval_relationship

/////////	 ENTITY polyline

	config_control_designe_polyline->AddSupertype(config_control_designe_bounded_curve);
	config_control_designe_bounded_curve->AddSubtype(config_control_designe_polyline);
	ListTypeDescriptor * t_70 = new ListTypeDescriptor;
	t_70->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_70->Bound1(2);
	t_70->Bound2(2147483647);
	t_70->FundamentalType(LIST_TYPE);
	t_70->Description("LIST [2:?] OF cartesian_point");
	t_70->OriginatingSchema(s_config_control_design);
	t_70->ReferentType(config_control_designe_cartesian_point);
  a_407points =
	  new AttrDescriptor("points",t_70,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_polyline);
	config_control_designe_polyline->AddExplicitAttr (a_407points);
	reg.AddEntity (*config_control_designe_polyline);
/////////	 END_ENTITY polyline

/////////	 ENTITY approval_person_organization

  a_408person_organization =
	  new AttrDescriptor("person_organization",config_control_designt_person_organization_select,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_person_organization);
	config_control_designe_approval_person_organization->AddExplicitAttr (a_408person_organization);
	a_409authorized_approval =
	  new AttrDescriptor("authorized_approval",config_control_designe_approval,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_person_organization);
	config_control_designe_approval_person_organization->AddExplicitAttr (a_409authorized_approval);
	a_410role =
	  new AttrDescriptor("role",config_control_designe_approval_role,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_approval_person_organization);
	config_control_designe_approval_person_organization->AddExplicitAttr (a_410role);
	reg.AddEntity (*config_control_designe_approval_person_organization);
/////////	 END_ENTITY approval_person_organization

/////////	 ENTITY surface_replica

	config_control_designe_surface_replica->AddSupertype(config_control_designe_surface);
	config_control_designe_surface->AddSubtype(config_control_designe_surface_replica);
	a_411parent_surface =
	  new AttrDescriptor("parent_surface",config_control_designe_surface,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_replica);
	config_control_designe_surface_replica->AddExplicitAttr (a_411parent_surface);
	a_412transformation =
	  new AttrDescriptor("transformation",config_control_designe_cartesian_transformation_operator_3d,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_surface_replica);
	config_control_designe_surface_replica->AddExplicitAttr (a_412transformation);
	reg.AddEntity (*config_control_designe_surface_replica);
/////////	 END_ENTITY surface_replica

/////////	 ENTITY security_classification_assignment

	config_control_designe_security_classification_assignment->AddSupertype_Stmt("ABSTRACT SUPERTYPE");
	a_413assigned_security_classification =
	  new AttrDescriptor("assigned_security_classification",config_control_designe_security_classification,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_security_classification_assignment);
	config_control_designe_security_classification_assignment->AddExplicitAttr (a_413assigned_security_classification);
	reg.AddEntity (*config_control_designe_security_classification_assignment);
/////////	 END_ENTITY security_classification_assignment

/////////	 ENTITY cc_design_security_classification

	config_control_designe_cc_design_security_classification->AddSupertype(config_control_designe_security_classification_assignment);
	config_control_designe_security_classification_assignment->AddSubtype(config_control_designe_cc_design_security_classification);
	SetTypeDescriptor * t_71 = new SetTypeDescriptor;
	t_71->AssignAggrCreator((AggregateCreator) create_SdaiClassified_items);	// Creator function 
	t_71->Bound1(1);
	t_71->Bound2(2147483647);
	t_71->FundamentalType(SET_TYPE);
	t_71->Description("SET [1:?] OF classified_item");
	t_71->OriginatingSchema(s_config_control_design);
	t_71->ReferentType(config_control_designt_classified_item);
  a_414items =
	  new AttrDescriptor("items",t_71,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cc_design_security_classification);
	config_control_designe_cc_design_security_classification->AddExplicitAttr (a_414items);
	reg.AddEntity (*config_control_designe_cc_design_security_classification);
/////////	 END_ENTITY cc_design_security_classification

/////////	 ENTITY faceted_brep_shape_representation

	config_control_designe_faceted_brep_shape_representation->AddSupertype(config_control_designe_shape_representation);
	config_control_designe_shape_representation->AddSubtype(config_control_designe_faceted_brep_shape_representation);
	reg.AddEntity (*config_control_designe_faceted_brep_shape_representation);
/////////	 END_ENTITY faceted_brep_shape_representation

/////////	 ENTITY document_usage_constraint

	a_415source =
	  new AttrDescriptor("source",config_control_designe_document,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_usage_constraint);
	config_control_designe_document_usage_constraint->AddExplicitAttr (a_415source);
  a_416subject_element =
	  new AttrDescriptor("subject_element",config_control_designt_label,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_usage_constraint);
	config_control_designe_document_usage_constraint->AddExplicitAttr (a_416subject_element);
  a_417subject_element_value =
	  new AttrDescriptor("subject_element_value",config_control_designt_text,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_document_usage_constraint);
	config_control_designe_document_usage_constraint->AddExplicitAttr (a_417subject_element_value);
	reg.AddEntity (*config_control_designe_document_usage_constraint);
/////////	 END_ENTITY document_usage_constraint

/////////	 ENTITY vertex_point

	config_control_designe_vertex_point->AddSupertype(config_control_designe_vertex);
	config_control_designe_vertex->AddSubtype(config_control_designe_vertex_point);
	config_control_designe_vertex_point->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_vertex_point);
	a_418vertex_geometry =
	  new AttrDescriptor("vertex_geometry",config_control_designe_point,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_vertex_point);
	config_control_designe_vertex_point->AddExplicitAttr (a_418vertex_geometry);
	reg.AddEntity (*config_control_designe_vertex_point);
/////////	 END_ENTITY vertex_point

/////////	 ENTITY cc_design_date_and_time_assignment

	config_control_designe_cc_design_date_and_time_assignment->AddSupertype(config_control_designe_date_and_time_assignment);
	config_control_designe_date_and_time_assignment->AddSubtype(config_control_designe_cc_design_date_and_time_assignment);
	SetTypeDescriptor * t_72 = new SetTypeDescriptor;
	t_72->AssignAggrCreator((AggregateCreator) create_SdaiDate_time_items);	// Creator function 
	t_72->Bound1(1);
	t_72->Bound2(2147483647);
	t_72->FundamentalType(SET_TYPE);
	t_72->Description("SET [1:?] OF date_time_item");
	t_72->OriginatingSchema(s_config_control_design);
	t_72->ReferentType(config_control_designt_date_time_item);
  a_419items =
	  new AttrDescriptor("items",t_72,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cc_design_date_and_time_assignment);
	config_control_designe_cc_design_date_and_time_assignment->AddExplicitAttr (a_419items);
	reg.AddEntity (*config_control_designe_cc_design_date_and_time_assignment);
/////////	 END_ENTITY cc_design_date_and_time_assignment

/////////	 ENTITY oriented_closed_shell

	config_control_designe_oriented_closed_shell->AddSupertype(config_control_designe_closed_shell);
	config_control_designe_closed_shell->AddSubtype(config_control_designe_oriented_closed_shell);
	a_420closed_shell_element =
	  new AttrDescriptor("closed_shell_element",config_control_designe_closed_shell,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_closed_shell);
	config_control_designe_oriented_closed_shell->AddExplicitAttr (a_420closed_shell_element);
  a_421orientation =
	  new AttrDescriptor("orientation",t_sdaiBOOLEAN,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_oriented_closed_shell);
	config_control_designe_oriented_closed_shell->AddExplicitAttr (a_421orientation);
	SetTypeDescriptor * t_73 = new SetTypeDescriptor;
	t_73->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_73->Bound1(1);
	t_73->Bound2(2147483647);
	t_73->FundamentalType(SET_TYPE);
	t_73->Description("SET [1:?] OF face");
	t_73->OriginatingSchema(s_config_control_design);
	t_73->ReferentType(config_control_designe_face);
  a_422Dconnected_face_set_cfs_faces =
	  new Derived_attribute("connected_face_set.cfs_faces",t_73,LFalse,LFalse, AttrType_Deriving,
	  *config_control_designe_oriented_closed_shell);
	config_control_designe_oriented_closed_shell->AddExplicitAttr (a_422Dconnected_face_set_cfs_faces);
	a_422Dconnected_face_set_cfs_faces->initializer_("conditional_reverse(SELF.orientation,SELF.closed_shell_element.cfs_faces)");
	reg.AddEntity (*config_control_designe_oriented_closed_shell);
/////////	 END_ENTITY oriented_closed_shell

/////////	 ENTITY person_and_organization

	a_423the_person =
	  new AttrDescriptor("the_person",config_control_designe_person,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_person_and_organization);
	config_control_designe_person_and_organization->AddExplicitAttr (a_423the_person);
	a_424the_organization =
	  new AttrDescriptor("the_organization",config_control_designe_organization,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_person_and_organization);
	config_control_designe_person_and_organization->AddExplicitAttr (a_424the_organization);
	reg.AddEntity (*config_control_designe_person_and_organization);
/////////	 END_ENTITY person_and_organization

/////////	 ENTITY cylindrical_surface

	config_control_designe_cylindrical_surface->AddSupertype(config_control_designe_elementary_surface);
	config_control_designe_elementary_surface->AddSubtype(config_control_designe_cylindrical_surface);
  a_425radius =
	  new AttrDescriptor("radius",config_control_designt_positive_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_cylindrical_surface);
	config_control_designe_cylindrical_surface->AddExplicitAttr (a_425radius);
	reg.AddEntity (*config_control_designe_cylindrical_surface);
/////////	 END_ENTITY cylindrical_surface

/////////	 ENTITY local_time

  a_426hour_component =
	  new AttrDescriptor("hour_component",config_control_designt_hour_in_day,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_local_time);
	config_control_designe_local_time->AddExplicitAttr (a_426hour_component);
  a_427minute_component =
	  new AttrDescriptor("minute_component",config_control_designt_minute_in_hour,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_local_time);
	config_control_designe_local_time->AddExplicitAttr (a_427minute_component);
  a_428second_component =
	  new AttrDescriptor("second_component",config_control_designt_second_in_minute,
	  LTrue,LFalse, AttrType_Explicit,
	  *config_control_designe_local_time);
	config_control_designe_local_time->AddExplicitAttr (a_428second_component);
	a_429zone =
	  new AttrDescriptor("zone",config_control_designe_coordinated_universal_time_offset,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_local_time);
	config_control_designe_local_time->AddExplicitAttr (a_429zone);
	reg.AddEntity (*config_control_designe_local_time);
/////////	 END_ENTITY local_time

/////////	 ENTITY mass_unit

	config_control_designe_mass_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_mass_unit);
	reg.AddEntity (*config_control_designe_mass_unit);
/////////	 END_ENTITY mass_unit

/////////	 ENTITY vertex_shell

	config_control_designe_vertex_shell->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_vertex_shell);
	a_430vertex_shell_extent =
	  new AttrDescriptor("vertex_shell_extent",config_control_designe_vertex_loop,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_vertex_shell);
	config_control_designe_vertex_shell->AddExplicitAttr (a_430vertex_shell_extent);
	reg.AddEntity (*config_control_designe_vertex_shell);
/////////	 END_ENTITY vertex_shell

/////////	 ENTITY poly_loop

	config_control_designe_poly_loop->AddSupertype(config_control_designe_loop);
	config_control_designe_loop->AddSubtype(config_control_designe_poly_loop);
	config_control_designe_poly_loop->AddSupertype(config_control_designe_geometric_representation_item);
	config_control_designe_geometric_representation_item->AddSubtype(config_control_designe_poly_loop);
	ListTypeDescriptor * t_74 = new ListTypeDescriptor;
	t_74->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_74->Bound1(3);
	t_74->Bound2(2147483647);
	t_74->UniqueElements(LTrue);
	t_74->FundamentalType(LIST_TYPE);
	t_74->Description("LIST [3:?] OF UNIQUE cartesian_point");
	t_74->OriginatingSchema(s_config_control_design);
	t_74->ReferentType(config_control_designe_cartesian_point);
  a_431polygon =
	  new AttrDescriptor("polygon",t_74,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_poly_loop);
	config_control_designe_poly_loop->AddExplicitAttr (a_431polygon);
	reg.AddEntity (*config_control_designe_poly_loop);
/////////	 END_ENTITY poly_loop

/////////	 ENTITY wire_shell

	config_control_designe_wire_shell->AddSupertype(config_control_designe_topological_representation_item);
	config_control_designe_topological_representation_item->AddSubtype(config_control_designe_wire_shell);
	SetTypeDescriptor * t_75 = new SetTypeDescriptor;
	t_75->AssignAggrCreator((AggregateCreator) create_EntityAggregate);	// Creator function 
	t_75->Bound1(1);
	t_75->Bound2(2147483647);
	t_75->FundamentalType(SET_TYPE);
	t_75->Description("SET [1:?] OF loop");
	t_75->OriginatingSchema(s_config_control_design);
	t_75->ReferentType(config_control_designe_loop);
  a_432wire_shell_extent =
	  new AttrDescriptor("wire_shell_extent",t_75,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_wire_shell);
	config_control_designe_wire_shell->AddExplicitAttr (a_432wire_shell_extent);
	reg.AddEntity (*config_control_designe_wire_shell);
/////////	 END_ENTITY wire_shell

/////////	 ENTITY area_unit

	config_control_designe_area_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_area_unit);
	reg.AddEntity (*config_control_designe_area_unit);
/////////	 END_ENTITY area_unit

/////////	 ENTITY mapped_item

	config_control_designe_mapped_item->AddSupertype(config_control_designe_representation_item);
	config_control_designe_representation_item->AddSubtype(config_control_designe_mapped_item);
	a_433mapping_source =
	  new AttrDescriptor("mapping_source",config_control_designe_representation_map,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_mapped_item);
	config_control_designe_mapped_item->AddExplicitAttr (a_433mapping_source);
	a_434mapping_target =
	  new AttrDescriptor("mapping_target",config_control_designe_representation_item,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_mapped_item);
	config_control_designe_mapped_item->AddExplicitAttr (a_434mapping_target);
	reg.AddEntity (*config_control_designe_mapped_item);
/////////	 END_ENTITY mapped_item

/////////	 ENTITY shape_definition_representation

	config_control_designe_shape_definition_representation->AddSupertype(config_control_designe_property_definition_representation);
	config_control_designe_property_definition_representation->AddSubtype(config_control_designe_shape_definition_representation);
	reg.AddEntity (*config_control_designe_shape_definition_representation);
/////////	 END_ENTITY shape_definition_representation

/////////	 ENTITY volume_unit

	config_control_designe_volume_unit->AddSupertype(config_control_designe_named_unit);
	config_control_designe_named_unit->AddSubtype(config_control_designe_volume_unit);
	reg.AddEntity (*config_control_designe_volume_unit);
/////////	 END_ENTITY volume_unit

/////////	 ENTITY conical_surface

	config_control_designe_conical_surface->AddSupertype(config_control_designe_elementary_surface);
	config_control_designe_elementary_surface->AddSubtype(config_control_designe_conical_surface);
  a_435radius =
	  new AttrDescriptor("radius",config_control_designt_length_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_conical_surface);
	config_control_designe_conical_surface->AddExplicitAttr (a_435radius);
  a_436semi_angle =
	  new AttrDescriptor("semi_angle",config_control_designt_plane_angle_measure,
	  LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_conical_surface);
	config_control_designe_conical_surface->AddExplicitAttr (a_436semi_angle);
	reg.AddEntity (*config_control_designe_conical_surface);
/////////	 END_ENTITY conical_surface

/////////	 ENTITY global_unit_assigned_context

	config_control_designe_global_unit_assigned_context->AddSupertype(config_control_designe_representation_context);
	config_control_designe_representation_context->AddSubtype(config_control_designe_global_unit_assigned_context);
	SetTypeDescriptor * t_76 = new SetTypeDescriptor;
	t_76->AssignAggrCreator((AggregateCreator) create_SdaiUnits);	// Creator function 
	t_76->Bound1(1);
	t_76->Bound2(2147483647);
	t_76->FundamentalType(SET_TYPE);
	t_76->Description("SET [1:?] OF unit");
	t_76->OriginatingSchema(s_config_control_design);
	t_76->ReferentType(config_control_designt_unit);
  a_437units =
	  new AttrDescriptor("units",t_76,LFalse,LFalse, AttrType_Explicit,
	  *config_control_designe_global_unit_assigned_context);
	config_control_designe_global_unit_assigned_context->AddExplicitAttr (a_437units);
	reg.AddEntity (*config_control_designe_global_unit_assigned_context);
/////////	 END_ENTITY global_unit_assigned_context

}
#endif
