(************************************************************************)
(* Mon May 31 16:50:08 2010                                             *)
(* This HTML file is produced by                                        *)
(*     The EXPRESS Data Manager EXPRESS Compiler version 9.8.1B.20090502*)
(************************************************************************)



-- AIM longform EXPRESS of ISO/DIS 10303-214:2007 -- -- -- Title: Core data for automotive mechanical design processes -- Author: MSc. Antonio Alvaro de Assis Moura -- Dr. Guenter Staub -- SCPM, Methodist University of Piracicaba -- Rod. Luis Ometto (SP 306), Km 1 -- 13451-900 Santa Barbara d'Oeste, SP - Brazil -- Telephone: +55 19 31241792 or 31241810 -- Telefacsimile: +55 19 31241788 or 34551361 -- Email: labscpm@unimep.br -- Internet: http://www.unimep.br/feau/scpm -- Tool used: PDTec LongformGenerator V 3.1-15 -- Date: 2009-06-30 -- -- Information object registration: Schema identification: -- { iso standard 10303 part(214) version(3) object(1) automotive-design-schema(1) } -- SCHEMA Automotive_Design;
(* Original schemas: schema = action_schema ; schema = aic_advanced_brep ; schema = aic_associative_draughting_elements ; schema = aic_csg ; schema = aic_curve_swept_solid ; schema = aic_draughting_annotation ; schema = aic_draughting_elements ; schema = aic_edge_based_wireframe ; schema = aic_faceted_brep ; schema = aic_geometric_tolerances ; schema = aic_geometrically_bounded_2d_wireframe ; schema = aic_geometrically_bounded_surface ; schema = aic_geometrically_bounded_wireframe ; schema = aic_manifold_subsurface ; schema = aic_manifold_surface ; schema = aic_mechanical_design_geometric_presentation ; schema = aic_non_manifold_surface ; schema = aic_topologically_bounded_surface ; schema = application_context_schema ; schema = approval_schema ; schema = automotive_design ; schema = basic_attribute_schema ; schema = certification_schema ; schema = configuration_management_schema ; schema = contract_schema ; schema = date_time_schema ; schema = document_schema ; schema = draughting_dimension_schema ; schema = draughting_element_schema ; schema = drawing_definition_schema ; schema = effectivity_schema ; schema = external_reference_schema ; schema = geometric_model_schema ; schema = geometry_schema ; schema = group_schema ; schema = iso13584_expressions_schema ; schema = iso13584_generic_expressions_schema ; schema = kinematic_analysis_control_and_result_schema ; schema = kinematic_motion_representation_schema ; schema = kinematic_structure_schema ; schema = management_resources_schema ; schema = material_property_definition_schema ; schema = material_property_representation_schema ; schema = measure_schema ; schema = person_organization_schema ; schema = presentation_appearance_schema ; schema = presentation_definition_schema ; schema = presentation_organization_schema ; schema = presentation_resource_schema ; schema = process_property_representation_schema ; schema = process_property_schema ; schema = product_concept_schema ; schema = product_definition_schema ; schema = product_property_definition_schema ; schema = product_property_representation_schema ; schema = product_structure_schema ; schema = qualified_measure_schema ; schema = representation_schema ; schema = security_classification_schema ; schema = shape_aspect_definition_schema ; schema = shape_dimension_schema ; schema = shape_tolerance_schema ; schema = support_resource_schema ; schema = topology_schema ; *) CONSTANT Dummy_Gri : Geometric_Representation_Item := Representation_Item('')|| Geometric_Representation_Item(); -- 10303-42: geometry_schema Dummy_Tri : Topological_Representation_Item := Representation_Item('')|| Topological_Representation_Item(); -- 10303-42: topology_schema END_CONSTANT;
TYPE Action_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Action_Request_Solution, Alternate_Product_Relationship , Applied_Action_Assignment, Applied_Classification_Assignment, Applied_Person_And_Organization_Assignment, Approval_Status, Assembly_Component_Usage_Substitute, Certification, Class, Class_System, Configuration_Design, Configuration_Effectivity, Configuration_Item, Configured_Effectivity_Assignment, Contract, Document_File, Draughting_Model , Drawing_Revision, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organization_Relationship, Organizational_Project, Person_And_Organization, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Requirement_For_Action_Resource, Resource_Property, Security_Classification, Security_Classification_Level, Shape_Aspect, Shape_Representation, Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Action_Request_Item = SELECT (Action, Action_Method, Action_Property, Action_Relationship, Alternate_Product_Relationship, Assembly_Component_Usage_Substitute, Configuration_Design, Configuration_Effectivity, Configuration_Item, Configured_Effectivity_Assignment, Document_File, Draughting_Model, Drawing_Revision, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organizational_Project, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Resource_Property, Shape_Aspect, Shape_Representation); END_TYPE; -- 10303-214: automotive_design
TYPE Ahead_Or_Behind = ENUMERATION OF (Ahead, Exact, Behind); END_TYPE; -- 10303-41: date_time_schema
TYPE Amount_Of_Substance_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Angle_Relator = ENUMERATION OF (Equal, Large, Small); END_TYPE; -- 10303-47: shape_dimension_schema
TYPE Annotation_Plane_Element = SELECT (Draughting_Callout, Styled_Item); END_TYPE; -- 10303-101: draughting_element_schema
TYPE Annotation_Symbol_Occurrence_Item = SELECT (Annotation_Symbol, Defined_Symbol); END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Annotation_Text_Occurrence_Item = SELECT (Text_Literal, Annotation_Text, Annotation_Text_Character, Defined_Character_Glyph, Composite_Text); END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Approval_Item = SELECT (Action, Action_Directive, Action_Property, Action_Request_Solution, Alternate_Product_Relationship, Applied_Action_Assignment, Applied_Classification_Assignment, Assembly_Component_Usage_Substitute, Certification, Class, Class_System, Configuration_Design, Configuration_Effectivity, Configured_Effectivity_Assignment, Contract, Document_File, Draughting_Model, Drawing_Revision, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organizational_Project, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Resource_Property, Shape_Representation, Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Approximation_Method = ENUMERATION OF (Chordal_Deviation, Chordal_Length); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Area_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Area_Or_View = SELECT (Presentation_Area, Presentation_View); END_TYPE; -- 10303-46: presentation_organization_schema
TYPE Attribute_Language_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Alternate_Product_Relationship, Application_Context, Approval_Relationship, Assembly_Component_Usage_Substitute, Attribute_Value_Assignment, Certification, Configuration_Design, Configuration_Item, Contract, Data_Environment, Date_Role, Date_Time_Role, Descriptive_Representation_Item, Document_Relationship, Draughting_Title, Effectivity, Effectivity_Relationship, Event_Occurrence, External_Source, General_Property, General_Property_Relationship, Geometric_Representation_Item, Geometric_Tolerance, Group, Group_Relationship , Identification_Role, Kinematic_Pair, Mapped_Item, Name_Assignment, Organization_Relationship, Organization_Role, Organizational_Project, Organizational_Project_Relationship, Pair_Actuator, Person_And_Organization_Role, Presentation_Layer_Assignment, Process_Product_Association, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Relationship, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Product_Related_Product_Category, Property_Definition, Property_Definition_Relationship, Representation, Representation_Relationship , Requirement_For_Action_Resource, Resource_Property, Resource_Requirement_Type, Security_Classification, Shape_Aspect, Shape_Aspect_Relationship, Styled_Item, Time_Interval_Role, Topological_Representation_Item, Uncertainty_Measure_With_Unit, Uncertainty_Qualifier, Versioned_Action_Request, Versioned_Action_Request_Relationship); END_TYPE; -- 10303-214: automotive_design
TYPE Attribute_Type = SELECT (Label, Text); END_TYPE; -- 10303-41: management_resources_schema
TYPE Axis2_Placement = SELECT (Axis2_Placement_2d, Axis2_Placement_3d); END_TYPE; -- 10303-42: geometry_schema
TYPE B_Spline_Curve_Form = ENUMERATION OF (Polyline_Form, Circular_Arc, Elliptic_Arc, Parabolic_Arc, Hyperbolic_Arc, Unspecified); END_TYPE; -- 10303-42: geometry_schema
TYPE B_Spline_Surface_Form = ENUMERATION OF (Plane_Surf, Cylindrical_Surf, Conical_Surf, Spherical_Surf, Toroidal_Surf, Surf_Of_Revolution, Ruled_Surf, Generalised_Cone, Quadric_Surf, Surf_Of_Linear_Extrusion, Unspecified); END_TYPE; -- 10303-42: geometry_schema
TYPE Boolean_Operand = SELECT (Solid_Model, Half_Space_Solid, Csg_Primitive, Boolean_Result); END_TYPE; -- 10303-42: geometric_model_schema
TYPE Boolean_Operator = ENUMERATION OF (Union, Intersection, Difference); END_TYPE; -- 10303-42: geometric_model_schema
TYPE Box_Characteristic_Select = SELECT (Box_Height, Box_Width, Box_Slant_Angle, Box_Rotate_Angle); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Box_Height = Positive_Ratio_Measure; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Box_Rotate_Angle = Plane_Angle_Measure; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Box_Slant_Angle = Plane_Angle_Measure; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Box_Width = Positive_Ratio_Measure; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Category_Usage_Item = SELECT (Product_Class); END_TYPE; -- 10303-214: automotive_design
TYPE Celsius_Temperature_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Central_Or_Parallel = ENUMERATION OF (Central, Parallel); END_TYPE; -- 10303-46: presentation_organization_schema
TYPE Certification_Item = SELECT (Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship); END_TYPE; -- 10303-214: automotive_design
TYPE Character_Spacing_Select = SELECT (Length_Measure, Ratio_Measure, Measure_With_Unit, Descriptive_Measure); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Character_Style_Select = SELECT (Text_Style_For_Defined_Font); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Characterized_Action_Definition = SELECT (Action, Action_Method, Action_Method_Relationship, Action_Relationship); END_TYPE; -- 10303-49: process_property_schema
TYPE Characterized_Definition = SELECT (Characterized_Object, Characterized_Product_Definition, Shape_Definition); END_TYPE; -- 10303-41: product_property_definition_schema
TYPE Characterized_Material_Property = SELECT (Material_Property_Representation); END_TYPE; -- 10303-45: material_property_definition_schema
TYPE Characterized_Product_Definition = SELECT (Product_Definition, Product_Definition_Relationship); END_TYPE; -- 10303-41: product_property_definition_schema
TYPE Characterized_Resource_Definition = SELECT (Action_Resource, Action_Resource_Requirement); END_TYPE; -- 10303-49: process_property_schema
TYPE Class_Usage_Effectivity_Context_Item = SELECT (Product_Definition); END_TYPE; -- 10303-214: automotive_design
TYPE Classification_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Approval_Status, Class, Configuration_Item, Contract, Descriptive_Representation_Item, Document_File, Document_Type, Effectivity, Executed_Action, Feature_Definition, General_Feature, General_Property, Material_Designation, Organizational_Project, Plus_Minus_Tolerance, Process_Operation, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Category, Product_Definition, Product_Definition_Formation, Product_Definition_Relationship, Property_Definition, Resource_Property, Security_Classification_Level, Shape_Aspect, Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Compound_Item_Definition = SELECT (List_Representation_Item, Set_Representation_Item); END_TYPE; -- 10303-43: representation_schema
TYPE Configuration_Design_Item = SELECT (Product_Definition, Product_Definition_Formation); END_TYPE; -- 10303-44: configuration_management_schema
TYPE Configured_Effectivity_Context_Item = SELECT (Product_Concept_Feature_Association); END_TYPE; -- 10303-214: automotive_design
TYPE Configured_Effectivity_Item = SELECT (Action_Relationship, Process_Plan, Product_Definition, Product_Process_Plan) ; END_TYPE; -- 10303-214: automotive_design
TYPE Context_Dependent_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Contract_Item = SELECT (Drawing_Revision, Executed_Action, Product_Definition_Formation); END_TYPE; -- 10303-214: automotive_design
TYPE Count_Measure = NUMBER; END_TYPE; -- 10303-41: measure_schema
TYPE Csg_Primitive = SELECT (Sphere, Block, Right_Angular_Wedge, Torus, Right_Circular_Cone, Right_Circular_Cylinder); END_TYPE; -- 10303-42: geometric_model_schema
TYPE Csg_Select = SELECT (Boolean_Result, Csg_Primitive); END_TYPE; -- 10303-42: geometric_model_schema
TYPE Curve_Font_Or_Scaled_Curve_Font_Select = SELECT (Curve_Style_Font_Select); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Curve_On_Surface = SELECT (Pcurve, Surface_Curve, Composite_Curve_On_Surface); END_TYPE; -- 10303-42: geometry_schema
TYPE Curve_Or_Render = SELECT (Curve_Style, Curve_Style_Rendering); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Curve_Style_Font_Select = SELECT (Curve_Style_Font, Pre_Defined_Curve_Font, Externally_Defined_Curve_Font); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Curve_Tolerance_Deviation = Positive_Length_Measure; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Curve_Tolerance_Parameter = REAL; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Date_And_Time_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Action_Request_Solution, Alternate_Product_Relationship , Applied_Action_Assignment, Applied_Classification_Assignment, Applied_Organization_Assignment, Applied_Person_And_Organization_Assignment, Approval_Person_Organization, Approval_Status, Assembly_Component_Usage_Substitute, Certification, Class, Class_System, Configuration_Design, Configuration_Item, Configured_Effectivity_Assignment, Contract, Document_File, Draughting_Model, Drawing_Revision, Effectivity, Event_Occurrence, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organization_Relationship, Organizational_Project, Person_And_Organization, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Requirement_For_Action_Resource, Resource_Property, Security_Classification, Security_Classification_Level, Shape_Representation , Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Date_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Action_Request_Solution, Alternate_Product_Relationship , Applied_Action_Assignment, Applied_Classification_Assignment, Applied_Organization_Assignment, Applied_Person_And_Organization_Assignment, Approval_Person_Organization, Approval_Status, Assembly_Component_Usage_Substitute, Certification, Class, Class_System, Configuration_Design, Configuration_Item, Configured_Effectivity_Assignment, Contract, Document_File, Draughting_Model, Drawing_Revision, Effectivity, Event_Occurrence, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organization_Relationship, Organizational_Project, Person_And_Organization, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Requirement_For_Action_Resource, Resource_Property, Security_Classification, Security_Classification_Level, Shape_Representation , Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Date_Time_Or_Event_Occurrence = SELECT (Date_Time_Select, Event_Occurrence); END_TYPE; -- 10303-41: date_time_schema
TYPE Date_Time_Select = SELECT (Date, Date_And_Time, Local_Time); END_TYPE; -- 10303-41: date_time_schema
TYPE Day_In_Month_Number = INTEGER; WHERE wr1 : {1 <= SELF <= 31}; END_TYPE; -- 10303-41: date_time_schema
TYPE Defined_Glyph_Select = SELECT (Externally_Defined_Character_Glyph); END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Defined_Symbol_Select = SELECT (Pre_Defined_Symbol, Externally_Defined_Symbol); END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Derived_Property_Select = SELECT (Property_Definition, Action_Property, Resource_Property); END_TYPE; -- 10303-41: product_property_definition_schema
TYPE Description_Attribute_Select = SELECT (Action_Request_Solution, Application_Context, Approval_Role, Configuration_Design, Date_Role, Date_Time_Role, Context_Dependent_Shape_Representation, Effectivity, External_Source, Organization_Role, Person_And_Organization_Role, Person_And_Organization, Property_Definition_Representation, Representation); END_TYPE; -- 10303-41: basic_attribute_schema
TYPE Descriptive_Measure = STRING; END_TYPE; -- 10303-41: measure_schema
TYPE Dimension_Count = INTEGER; WHERE wr1 : SELF > 0; END_TYPE; -- 10303-42: geometry_schema
TYPE Dimension_Extent_Usage = ENUMERATION OF (Origin, Target); END_TYPE; -- 10303-101: draughting_element_schema
TYPE Dimensional_Characteristic = SELECT (Dimensional_Location, Dimensional_Size); END_TYPE; -- 10303-47: shape_dimension_schema
TYPE Direction_Count_Select = SELECT (U_Direction_Count, V_Direction_Count); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Document_Reference_Item = SELECT (Action_Directive, Action_Method, Action_Relationship, Applied_Action_Assignment, Approval, Certification, Class, Class_System, Configuration_Design, Configuration_Item, Contract, Descriptive_Representation_Item, Executed_Action, Externally_Defined_Dimension_Definition, Feature_Definition, General_Property , Material_Designation, Organization, Organizational_Project, Person, Presentation_Area, Process_Plan, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Category, Product_Definition , Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Process, Product_Definition_Relationship, Product_Definition_Substitute, Product_Related_Product_Category, Property_Definition, Representation, Resource_Requirement_Type, Retention, Security_Classification, Shape_Aspect, Shape_Aspect_Relationship, Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Draughting_Callout_Element = SELECT (Annotation_Text_Occurrence, Annotation_Symbol_Occurrence, Annotation_Curve_Occurrence); END_TYPE; -- 10303-101: draughting_element_schema
TYPE Draughting_Model_Item_Association_Select = SELECT (Annotation_Occurrence, Draughting_Callout); END_TYPE; -- 10303-214: automotive_design
TYPE Draughting_Titled_Item = SELECT (Drawing_Revision, Drawing_Sheet_Revision); END_TYPE; -- 10303-101: drawing_definition_schema
TYPE Effectivity_Item = SELECT (Action, Action_Method, Action_Method_Relationship, Action_Property, Action_Relationship, Assembly_Component_Usage_Substitute, Class, Class_System , Configuration_Design, Configuration_Item, Configured_Effectivity_Assignment , Document_File, Draughting_Model, Drawing_Revision, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation , Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Requirement_For_Action_Resource, Resource_Property, Security_Classification, Shape_Aspect, Shape_Representation); END_TYPE; -- 10303-214: automotive_design
TYPE Electric_Current_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Event_Occurrence_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Action_Request_Solution, Alternate_Product_Relationship , Applied_Action_Assignment, Applied_Classification_Assignment, Applied_Person_And_Organization_Assignment, Approval_Status, Assembly_Component_Usage_Substitute, Certification, Class, Class_System, Configuration_Design, Configuration_Effectivity, Configuration_Item, Configured_Effectivity_Assignment, Contract, Document_File, Draughting_Model , Drawing_Revision, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organization_Relationship, Organizational_Project, Person_And_Organization, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Requirement_For_Action_Resource, Resource_Property, Security_Classification, Security_Classification_Level, Shape_Representation , Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE External_Identification_Item = SELECT (Document_File, Externally_Defined_Class, Externally_Defined_General_Property , Product_Definition); END_TYPE; -- 10303-214: automotive_design
TYPE Fill_Area_Style_Tile_Shape_Select = SELECT (Fill_Area_Style_Tile_Symbol_With_Style); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Fill_Style_Select = SELECT (Fill_Area_Style_Colour, Externally_Defined_Tile_Style, Fill_Area_Style_Tiles , Externally_Defined_Hatch_Style, Fill_Area_Style_Hatching); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Font_Select = SELECT (Pre_Defined_Text_Font, Externally_Defined_Text_Font); END_TYPE; -- 10303-46: presentation_resource_schema
TYPE Founded_Item_Select = SELECT (Founded_Item, Representation_Item); END_TYPE; -- 10303-43: representation_schema
TYPE Geometric_Set_Select = SELECT (Point, Curve, Surface); END_TYPE; -- 10303-42: geometric_model_schema
TYPE Group_Item = SELECT (Geometric_Representation_Item, Mapped_Item, Product_Concept_Feature, Shape_Aspect, Styled_Item, Topological_Representation_Item); END_TYPE; -- 10303-214: automotive_design
TYPE Hour_In_Day = INTEGER; WHERE wr1 : {0 <= SELF < 24}; END_TYPE; -- 10303-41: date_time_schema
TYPE Id_Attribute_Select = SELECT (Action, Address, Product_Category, Property_Definition, Shape_Aspect, Shape_Aspect_Relationship, Application_Context, Group, Organizational_Project , Representation); END_TYPE; -- 10303-41: basic_attribute_schema
TYPE Identification_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Applied_Identification_Assignment, Approval_Status, Class, Class_System, Configuration_Item, Dimensional_Size, Document_File, Document_Type, Draughting_Model, Effectivity, General_Property, Measure_Representation_Item , Mechanical_Design_Geometric_Presentation_Representation, Organization, Organizational_Project, Person_And_Organization, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Category, Product_Definition, Product_Definition_Formation, Product_Definition_Relationship, Property_Definition, Property_Definition_Relationship, Security_Classification_Level, Shape_Aspect_Relationship, Shape_Representation, Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Identifier = STRING; END_TYPE; -- 10303-41: support_resource_schema
TYPE Interpolation_Type = ENUMERATION OF (Undefined, Synchronous, Linear); END_TYPE; -- 10303-105: kinematic_analysis_control_and_result_schema
TYPE Invisibility_Context = SELECT (Presentation_Representation, Presentation_Set); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Invisible_Item = SELECT (Draughting_Callout, Presentation_Layer_Assignment, Representation, Styled_Item); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Kinematic_Analysis_Definition = SELECT (Interpolated_Configuration_Sequence); END_TYPE; -- 10303-105: kinematic_analysis_control_and_result_schema
TYPE Kinematic_Frame_Background = SELECT (Point, Curve, Surface); END_TYPE; -- 10303-105: kinematic_structure_schema
TYPE Kinematic_Result = SELECT (Interpolated_Configuration_Sequence, Resulting_Path); END_TYPE; -- 10303-105: kinematic_analysis_control_and_result_schema
TYPE Knot_Type = ENUMERATION OF (Uniform_Knots, Quasi_Uniform_Knots, Piecewise_Bezier_Knots, Unspecified); END_TYPE; -- 10303-42: geometry_schema
TYPE Label = STRING; END_TYPE; -- 10303-41: support_resource_schema
TYPE Language_Item = SELECT (Representation); END_TYPE; -- 10303-214: automotive_design
TYPE Layered_Item = SELECT (Presentation_Representation, Representation_Item); END_TYPE; -- 10303-46: presentation_organization_schema
TYPE Length_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Limit_Condition = ENUMERATION OF (Maximum_Material_Condition, Least_Material_Condition, Regardless_Of_Feature_Size); END_TYPE; -- 10303-47: shape_aspect_definition_schema
TYPE List_Of_Reversible_Topology_Item = LIST OF Reversible_Topology_Item; END_TYPE; -- 10303-42: topology_schema
TYPE List_Representation_Item = LIST [1:?] OF Representation_Item; END_TYPE; -- 10303-43: representation_schema
TYPE Luminous_Intensity_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Marker_Select = SELECT (Marker_Type, Pre_Defined_Marker); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Marker_Type = ENUMERATION OF (Dot, X, Plus, Asterisk, Ring, Square, Triangle); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Mass_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Measure_Value = SELECT (Amount_Of_Substance_Measure, Area_Measure, Celsius_Temperature_Measure, Context_Dependent_Measure, Count_Measure, Descriptive_Measure, Electric_Current_Measure, Length_Measure, Luminous_Intensity_Measure, Mass_Measure, Numeric_Measure, Non_Negative_Length_Measure, Parameter_Value, Plane_Angle_Measure, Positive_Length_Measure, Positive_Plane_Angle_Measure, Positive_Ratio_Measure, Ratio_Measure, Solid_Angle_Measure, Thermodynamic_Temperature_Measure, Time_Measure, Volume_Measure); END_TYPE; -- 10303-41: measure_schema
TYPE Minute_In_Hour = INTEGER; WHERE wr1 : {0 <= SELF <= 59}; END_TYPE; -- 10303-41: date_time_schema
TYPE Month_In_Year_Number = INTEGER; WHERE wr1 : {1 <= SELF <= 12}; END_TYPE; -- 10303-41: date_time_schema
TYPE Motion_Parameter_Measure = SELECT (Parameter_Value, Measure_With_Unit); END_TYPE; (* declared in: kinematic_motion_representation_schema *)
TYPE Multi_Language_Attribute_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Alternate_Product_Relationship, Application_Context, Approval_Relationship, Assembly_Component_Usage_Substitute, Certification, Configuration_Design, Configuration_Item, Contract, Data_Environment, Date_Role, Date_Time_Role, Descriptive_Representation_Item, Document_Relationship, Draughting_Title, Effectivity, Effectivity_Relationship, Event_Occurrence, External_Source, General_Property , General_Property_Relationship, Geometric_Representation_Item, Geometric_Tolerance, Group, Group_Relationship, Identification_Role, Kinematic_Pair, Mapped_Item, Name_Assignment, Organization_Relationship, Organization_Role, Organizational_Project, Organizational_Project_Relationship, Pair_Actuator, Person_And_Organization_Role, Presentation_Layer_Assignment, Process_Product_Association, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Relationship, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Product_Related_Product_Category, Property_Definition, Property_Definition_Relationship, Representation, Representation_Relationship , Requirement_For_Action_Resource, Resource_Property, Resource_Requirement_Type, Security_Classification, Shape_Aspect, Shape_Aspect_Relationship, Styled_Item, Time_Interval_Role, Topological_Representation_Item, Uncertainty_Measure_With_Unit, Uncertainty_Qualifier, Versioned_Action_Request, Versioned_Action_Request_Relationship); END_TYPE; -- 10303-214: automotive_design
TYPE Name_Attribute_Select = SELECT (Action_Request_Solution, Address, Configuration_Design, Context_Dependent_Shape_Representation, Derived_Unit, Effectivity, Person_And_Organization, Product_Definition, Product_Definition_Substitute, Property_Definition_Representation); END_TYPE; -- 10303-41: basic_attribute_schema
TYPE Name_Item = SELECT (Kinematic_Joint, Kinematic_Link, Kinematic_Structure); END_TYPE; -- 10303-214: automotive_design
TYPE Non_Negative_Length_Measure = Length_Measure; WHERE wr1 : SELF >= 0.0; END_TYPE; -- 10303-41: measure_schema
TYPE Null_Style = ENUMERATION OF (Null); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Numeric_Measure = NUMBER; END_TYPE; -- 10303-41: measure_schema
TYPE Organization_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Action_Request_Solution, Alternate_Product_Relationship , Applied_Action_Assignment, Applied_Classification_Assignment, Applied_Identification_Assignment, Applied_Organization_Assignment, Applied_Person_And_Organization_Assignment, Approval, Approval_Status, Assembly_Component_Usage_Substitute, Certification, Class, Class_System, Configuration_Design, Configuration_Effectivity, Configuration_Item, Configured_Effectivity_Assignment, Contract, Document_File, Document_Type, Draughting_Model, Drawing_Revision, Effectivity, Event_Occurrence, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organization, Organization_Relationship, Organizational_Project, Person_And_Organization, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Requirement_For_Action_Resource, Resource_Property, Security_Classification, Security_Classification_Level, Shape_Representation , Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Organizational_Project_Item = SELECT (Assembly_Component_Usage, Configuration_Item, Executed_Action, Product, Product_Concept, Product_Definition, Product_Definition_Formation); END_TYPE; -- 10303-214: automotive_design
TYPE Parameter_Value = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Pcurve_Or_Surface = SELECT (Pcurve, Surface); END_TYPE; -- 10303-42: geometry_schema
TYPE Person_And_Organization_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Action_Request_Solution, Alternate_Product_Relationship , Applied_Action_Assignment, Applied_Classification_Assignment, Applied_Organization_Assignment, Applied_Person_And_Organization_Assignment, Approval_Status, Assembly_Component_Usage_Substitute, Certification, Class, Class_System, Configuration_Design, Configuration_Effectivity, Configuration_Item, Configured_Effectivity_Assignment, Contract, Document_File, Document_Type, Draughting_Model, Drawing_Revision, Event_Occurrence, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organization, Organization_Relationship, Organizational_Project, Person_And_Organization, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Requirement_For_Action_Resource, Resource_Property, Security_Classification, Security_Classification_Level, Shape_Representation , Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Person_Organization_Select = SELECT (Person, Organization, Person_And_Organization); END_TYPE; -- 10303-41: person_organization_schema
TYPE Plane_Angle_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Plane_Or_Planar_Box = SELECT (Plane, Planar_Box); END_TYPE; -- 10303-101: draughting_element_schema
TYPE Positive_Length_Measure = Non_Negative_Length_Measure; WHERE wr1 : SELF > 0.0; END_TYPE; -- 10303-41: measure_schema
TYPE Positive_Plane_Angle_Measure = Plane_Angle_Measure; WHERE wr1 : SELF > 0.0; END_TYPE; -- 10303-41: measure_schema
TYPE Positive_Ratio_Measure = Ratio_Measure; WHERE wr1 : SELF > 0.0; END_TYPE; -- 10303-41: measure_schema
TYPE Preferred_Surface_Curve_Representation = ENUMERATION OF (Curve_3d, Pcurve_S1, Pcurve_S2); END_TYPE; -- 10303-42: geometry_schema
TYPE Presentable_Text = STRING; WHERE wr1 : Control_Characters_Free(SELF); END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Presentation_Representation_Select = SELECT (Presentation_Representation, Presentation_Set); END_TYPE; -- 10303-46: presentation_organization_schema
TYPE Presentation_Size_Assignment_Select = SELECT (Presentation_View, Presentation_Area, Area_In_Set); END_TYPE; -- 10303-46: presentation_organization_schema
TYPE Presentation_Style_Select = SELECT (Pre_Defined_Presentation_Style, Point_Style, Curve_Style, Surface_Style_Usage, Symbol_Style, Fill_Area_Style, Text_Style, Approximation_Tolerance, Externally_Defined_Style, Null_Style); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Presented_Item_Select = SELECT (Action, Action_Method, Action_Relationship, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Category, Product_Definition , Product_Definition_Formation, Product_Definition_Relationship); END_TYPE; -- 10303-214: automotive_design
TYPE Product_Or_Formation_Or_Definition = SELECT (Product, Product_Definition_Formation, Product_Definition); END_TYPE; -- 10303-41: document_schema
TYPE Product_Or_Presentation_Space = ENUMERATION OF (Product_Shape_Space, Presentation_Area_Space); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Property_Or_Shape_Select = SELECT (Property_Definition, Shape_Definition); END_TYPE; -- 10303-49: process_property_schema
TYPE Ratio_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Rendering_Properties_Select = SELECT (Surface_Style_Reflectance_Ambient, Surface_Style_Transparent); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Represented_Definition = SELECT (General_Property, Property_Definition, Property_Definition_Relationship, Shape_Aspect, Shape_Aspect_Relationship); END_TYPE; -- 10303-41: product_property_representation_schema
TYPE Reversible_Topology = SELECT (Reversible_Topology_Item, List_Of_Reversible_Topology_Item, Set_Of_Reversible_Topology_Item); END_TYPE; -- 10303-42: topology_schema
TYPE Reversible_Topology_Item = SELECT (Edge, Path, Face, Face_Bound, Closed_Shell, Open_Shell); END_TYPE; -- 10303-42: topology_schema
TYPE Rigid_Placement = SELECT (Axis2_Placement_3d); END_TYPE; -- 10303-105: kinematic_structure_schema
TYPE Role_Select = SELECT (Action_Assignment, Action_Request_Assignment, Approval_Assignment, Approval_Date_Time, Certification_Assignment, Contract_Assignment, Document_Reference, Effectivity_Assignment, Group_Assignment, Name_Assignment , Security_Classification_Assignment); END_TYPE; -- 10303-41: basic_attribute_schema
TYPE Rotational_Range_Measure = SELECT (Plane_Angle_Measure, Unlimited_Range); END_TYPE; -- 10303-105: kinematic_structure_schema
TYPE Second_In_Minute = REAL; WHERE wr1 : {0 <= SELF <= 60.0}; END_TYPE; -- 10303-41: date_time_schema
TYPE Security_Classification_Item = SELECT (Action, Action_Directive, Action_Property, Applied_Action_Assignment, Assembly_Component_Usage_Substitute, Class_System, Configuration_Design, Configuration_Effectivity, Configured_Effectivity_Assignment, Document_File, Draughting_Model, Drawing_Revision, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation , Organizational_Project, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Category, Product_Definition , Product_Definition_Formation, Product_Definition_Relationship, Property_Definition, Resource_Property, Shape_Representation, Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Set_Of_Reversible_Topology_Item = SET OF Reversible_Topology_Item; END_TYPE; -- 10303-42: topology_schema
TYPE Set_Representation_Item = SET [1:?] OF Representation_Item; END_TYPE; -- 10303-43: representation_schema
TYPE Shading_Curve_Method = ENUMERATION OF (Constant_Colour, Linear_Colour); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Shading_Surface_Method = ENUMERATION OF (Constant_Shading, Colour_Shading, Dot_Shading, Normal_Shading); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Shape_Definition = SELECT (Product_Definition_Shape, Shape_Aspect, Shape_Aspect_Relationship); END_TYPE; -- 10303-41: product_property_definition_schema
TYPE Shell = SELECT (Open_Shell, Closed_Shell); END_TYPE; -- 10303-42: topology_schema
TYPE Si_Prefix = ENUMERATION OF (Exa, Peta, Tera, Giga, Mega, Kilo, Hecto, Deca, Deci, Centi, Milli, Micro, Nano, Pico, Femto, Atto); END_TYPE; -- 10303-41: measure_schema
TYPE Si_Unit_Name = ENUMERATION OF (Metre, Gram, Second, Ampere, Kelvin, Mole, Candela, Radian, Steradian, Hertz , Newton, Pascal, Joule, Watt, Coulomb, Volt, Farad, Ohm, Siemens, Weber, Tesla, Henry, Degree_Celsius, Lumen, Lux, Becquerel, Gray, Sievert); END_TYPE; -- 10303-41: measure_schema
TYPE Size_Select = SELECT (Positive_Length_Measure, Measure_With_Unit, Descriptive_Measure); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Solid_Angle_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Source = ENUMERATION OF (Made, Bought, Not_Known); END_TYPE; -- 10303-41: product_definition_schema
TYPE Source_Item = SELECT (Identifier); END_TYPE; -- 10303-41: external_reference_schema
TYPE Spatial_Rotation = SELECT (Ypr_Rotation, Rotation_About_Direction); END_TYPE; -- 10303-105: kinematic_structure_schema
TYPE Specified_Item = SELECT (Drawing_Revision); END_TYPE; -- 10303-214: automotive_design
TYPE Style_Context_Select = SELECT (Group, Presentation_Layer_Assignment, Presentation_Set, Representation, Representation_Item, Shape_Representation_Relationship); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Supported_Item = SELECT (Action_Directive, Action, Action_Method); END_TYPE; -- 10303-41: action_schema
TYPE Surface_Side = ENUMERATION OF (Positive, Negative, Both); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Surface_Side_Style_Select = SELECT (Surface_Side_Style); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Surface_Style_Element_Select = SELECT (Surface_Style_Fill_Area, Surface_Style_Boundary, Surface_Style_Silhouette, Surface_Style_Segmentation_Curve, Surface_Style_Control_Grid, Surface_Style_Parameter_Line, Surface_Style_Rendering); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Surface_Tolerance_Deviation = Positive_Length_Measure; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Surface_Tolerance_Parameter = REAL; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Symbol_Style_Select = SELECT (Symbol_Colour); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Text = STRING; END_TYPE; -- 10303-41: support_resource_schema
TYPE Text_Alignment = Label; END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Text_Delineation = Label; END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Text_Or_Character = SELECT (Annotation_Text, Annotation_Text_Character, Defined_Character_Glyph, Composite_Text, Text_Literal); END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Text_Path = ENUMERATION OF (Left, Right, Up, Down); END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Text_String_Representation_Item = SELECT (Text_Literal, Annotation_Text, Annotation_Text_Character, Defined_Character_Glyph, Composite_Text, Axis2_Placement); END_TYPE; -- 10303-46: presentation_definition_schema
TYPE Thermodynamic_Temperature_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Time_Interval_Item = SELECT (Action, Action_Directive, Action_Method, Action_Property, Action_Relationship, Action_Request_Solution, Alternate_Product_Relationship , Applied_Action_Assignment, Applied_Classification_Assignment, Applied_Person_And_Organization_Assignment, Approval_Status, Assembly_Component_Usage_Substitute, Certification, Class, Class_System, Configuration_Design, Configuration_Effectivity, Configuration_Item, Configured_Effectivity_Assignment, Contract, Document_File, Draughting_Model , Drawing_Revision, Executed_Action, General_Property, Material_Designation, Mechanical_Design_Geometric_Presentation_Representation, Organization_Relationship, Organizational_Project, Person_And_Organization, Presentation_Area, Product, Product_Concept, Product_Concept_Feature, Product_Concept_Feature_Association, Product_Concept_Feature_Category, Product_Concept_Feature_Category_Usage, Product_Definition, Product_Definition_Formation, Product_Definition_Formation_Relationship, Product_Definition_Relationship, Product_Definition_Substitute, Property_Definition, Requirement_For_Action_Resource, Resource_Property, Security_Classification, Security_Classification_Level, Shape_Representation , Versioned_Action_Request); END_TYPE; -- 10303-214: automotive_design
TYPE Time_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Tolerance_Deviation_Select = SELECT (Curve_Tolerance_Deviation, Surface_Tolerance_Deviation); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Tolerance_Method_Definition = SELECT (Tolerance_Value, Limits_And_Fits); END_TYPE; -- 10303-47: shape_tolerance_schema
TYPE Tolerance_Parameter_Select = SELECT (Curve_Tolerance_Parameter, Surface_Tolerance_Parameter); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Tolerance_Select = SELECT (Approximation_Tolerance_Deviation, Approximation_Tolerance_Parameter); END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Transformation = SELECT (Item_Defined_Transformation, Functionally_Defined_Transformation); END_TYPE; -- 10303-43: representation_schema
TYPE Transition_Code = ENUMERATION OF (Discontinuous, Continuous, Cont_Same_Gradient, Cont_Same_Gradient_Same_Curvature); END_TYPE; -- 10303-42: geometry_schema
TYPE Translational_Range_Measure = SELECT (Length_Measure, Unlimited_Range); END_TYPE; -- 10303-105: kinematic_structure_schema
TYPE Trimming_Preference = ENUMERATION OF (Cartesian, Parameter, Unspecified); END_TYPE; -- 10303-42: geometry_schema
TYPE Trimming_Select = SELECT (Cartesian_Point, Parameter_Value); END_TYPE; -- 10303-42: geometry_schema
TYPE U_Direction_Count = INTEGER; WHERE wr1 : SELF > 1; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Unit = SELECT (Derived_Unit, Named_Unit); END_TYPE; -- 10303-41: measure_schema
TYPE Unlimited_Range = ENUMERATION OF (Unlimited); END_TYPE; -- 10303-105: kinematic_structure_schema
TYPE V_Direction_Count = INTEGER; WHERE wr1 : SELF > 1; END_TYPE; -- 10303-46: presentation_appearance_schema
TYPE Value_Qualifier = SELECT (Precision_Qualifier, Type_Qualifier, Uncertainty_Qualifier); END_TYPE; -- 10303-45: qualified_measure_schema
TYPE Vector_Or_Direction = SELECT (Vector, Direction); END_TYPE; -- 10303-42: geometry_schema
TYPE Volume_Measure = REAL; END_TYPE; -- 10303-41: measure_schema
TYPE Year_Number = INTEGER; END_TYPE; -- 10303-41: date_time_schema
TYPE Ypr_Enumeration = ENUMERATION OF (Yaw, Pitch, Roll); END_TYPE; -- 10303-105: kinematic_structure_schema
TYPE Ypr_Rotation = ARRAY [Ypr_Index(yaw) : Ypr_Index(roll)] OF Plane_Angle_Measure; END_TYPE; -- 10303-105: kinematic_structure_schema
ENTITY Abs_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Acos_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Action; name : Label; description : OPTIONAL Text; chosen_method : Action_Method; DERIVE id : Identifier := Get_Id_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Assignment ABSTRACT SUPERTYPE; assigned_action : Action; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Action_Directive; name : Label; description : OPTIONAL Text; analysis : Text; comment : Text; requests : SET [1:?] OF Versioned_Action_Request; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Method; name : Label; description : OPTIONAL Text; consequence : Text; purpose : Text; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Method_Relationship; name : Label; description : OPTIONAL Text; relating_method : Action_Method; related_method : Action_Method; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Property; name : Label; description : Text; definition : Characterized_Action_Definition; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Action_Property_Representation; name : Label; description : Text; property : Action_Property; representation : Representation; END_ENTITY; -- 10303-49: process_property_representation_schema
ENTITY Action_Relationship; name : Label; description : OPTIONAL Text; relating_action : Action; related_action : Action; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Request_Assignment ABSTRACT SUPERTYPE; assigned_action_request : Versioned_Action_Request; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Action_Request_Solution; method : Action_Method; request : Versioned_Action_Request; DERIVE description : Text := Get_Description_Value(SELF); name : Label := Get_Name_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Request_Status; status : Label; assigned_request : Versioned_Action_Request; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Resource; name : Label; description : OPTIONAL Text; usage : SET [1:?] OF Supported_Item; kind : Action_Resource_Type; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Resource_Requirement; name : Label; description : Text; kind : Resource_Requirement_Type; OPERATIONS : SET [1:?] OF Characterized_Action_Definition; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Action_Resource_Type; name : Label; END_ENTITY; -- 10303-41: action_schema
ENTITY Action_Status; status : Label; assigned_action : Executed_Action; END_ENTITY; -- 10303-41: action_schema
ENTITY Address; internal_location : OPTIONAL Label; street_number : OPTIONAL Label; street : OPTIONAL Label; postal_box : OPTIONAL Label; town : OPTIONAL Label; region : OPTIONAL Label; postal_code : OPTIONAL Label; country : OPTIONAL Label; facsimile_number : OPTIONAL Label; telephone_number : OPTIONAL Label; electronic_mail_address : OPTIONAL Label; telex_number : OPTIONAL Label; DERIVE name : Label := Get_Name_Value(SELF); url : Identifier := Get_Id_Value(SELF); WHERE wr1 : EXISTS(internal_location) OR EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region) OR EXISTS(postal_code ) OR EXISTS(country) OR EXISTS(facsimile_number) OR EXISTS(telephone_number ) OR EXISTS(electronic_mail_address) OR EXISTS(telex_number); END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Advanced_Brep_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.MANIFOLD_SOLID_BREP', 'AUTOMOTIVE_DESIGN.FACETED_BREP', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.MANIFOLD_SOLID_BREP', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; wr3 : SIZEOF(QUERY(msb <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(csh <* Msb_Shells(msb) | NOT (SIZEOF(QUERY(fcs <* csh\ Connected_Face_Set.cfs_faces | NOT ('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fcs)))) = 0))) = 0))) = 0; wr4 : SIZEOF(QUERY(msb <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 'AUTOMOTIVE_DESIGN.ORIENTED_CLOSED_SHELL' IN TYPEOF(msb\ Manifold_Solid_Brep.outer))) = 0; wr5 : SIZEOF(QUERY(brv <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.BREP_WITH_VOIDS' IN TYPEOF(it)) | NOT (SIZEOF(QUERY( csh <* brv\Brep_With_Voids.voids | csh\Oriented_Closed_Shell.orientation)) = 0))) = 0; wr6 : SIZEOF(QUERY(mi <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT ( 'AUTOMOTIVE_DESIGN.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF(mi\ Mapped_Item.mapping_source.mapped_representation)))) = 0; END_ENTITY; (* declared in: aic_advanced_brep *)
ENTITY Advanced_Face SUBTYPE OF (Face_Surface); WHERE wr1 : SIZEOF(['AUTOMOTIVE_DESIGN.ELEMENTARY_SURFACE', 'AUTOMOTIVE_DESIGN.B_SPLINE_SURFACE', 'AUTOMOTIVE_DESIGN.SWEPT_SURFACE'] * TYPEOF(face_geometry)) = 1; wr2 : SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe <* elp_fbnds.bound\Path.edge_list | NOT ( 'AUTOMOTIVE_DESIGN.EDGE_CURVE' IN TYPEOF(oe\Oriented_Edge.edge_element)) )) = 0))) = 0; wr3 : SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe <* elp_fbnds.bound\Path.edge_list | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.POLYLINE', 'AUTOMOTIVE_DESIGN.SURFACE_CURVE', 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE'] * TYPEOF(oe.edge_element\Edge_Curve. edge_geometry)) = 1))) = 0))) = 0; wr4 : SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe <* elp_fbnds.bound\Path.edge_list | NOT (( 'AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(oe\Edge.edge_start)) AND ( 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT' IN TYPEOF(oe\Edge.edge_start\ Vertex_Point.vertex_geometry)) AND ('AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(oe\Edge.edge_end)) AND ('AUTOMOTIVE_DESIGN.CARTESIAN_POINT' IN TYPEOF(oe\Edge.edge_end\Vertex_Point.vertex_geometry))))) = 0))) = 0; wr5 : SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | 'AUTOMOTIVE_DESIGN.ORIENTED_PATH' IN TYPEOF(elp_fbnds.bound))) = 0; wr6 : NOT ('AUTOMOTIVE_DESIGN.SWEPT_SURFACE' IN TYPEOF(face_geometry)) OR (SIZEOF(['AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.POLYLINE', 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE'] * TYPEOF(face_geometry\Swept_Surface.swept_curve)) = 1); wr7 : SIZEOF(QUERY(vlp_fbnds <* QUERY(bnds <* bounds | 'AUTOMOTIVE_DESIGN.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | NOT (( 'AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(vlp_fbnds\Face_Bound.bound\ Vertex_Loop.loop_vertex)) AND ('AUTOMOTIVE_DESIGN.CARTESIAN_POINT' IN TYPEOF(vlp_fbnds\Face_Bound.bound\Vertex_Loop.loop_vertex\Vertex_Point. vertex_geometry))))) = 0; wr8 : SIZEOF(QUERY(bnd <* bounds | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.EDGE_LOOP', 'AUTOMOTIVE_DESIGN.VERTEX_LOOP'] * TYPEOF(bnd.bound)) = 1))) = 0; wr9 : SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe <* elp_fbnds.bound\Path.edge_list | ( 'AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(oe\Oriented_Edge. edge_element\Edge_Curve.edge_geometry)) AND NOT (SIZEOF(QUERY(sc_ag <* oe. edge_element\Edge_Curve.edge_geometry\Surface_Curve.associated_geometry | NOT ('AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(sc_ag)))) = 0))) = 0))) = 0; wr10 : (NOT ('AUTOMOTIVE_DESIGN.SWEPT_SURFACE' IN TYPEOF(face_geometry)) OR NOT ('AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(face_geometry\ Swept_Surface.swept_curve)) OR (SIZEOF(face_geometry\Swept_Surface. swept_curve\Polyline.points) >= 3)) AND (SIZEOF(QUERY(elp_fbnds <* QUERY( bnds <* bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds.bound\Path.edge_list | ( 'AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(oe\Oriented_Edge.edge_element\ Edge_Curve.edge_geometry)) AND NOT (SIZEOF(oe\Oriented_Edge.edge_element\ Edge_Curve.edge_geometry\Polyline.points) >= 3))) = 0))) = 0); END_ENTITY; (* declared in: aic_topologically_bounded_surface *)
ENTITY Alternate_Product_Relationship; name : Label; definition : OPTIONAL Text; alternate : Product; base : Product; basis : Text; UNIQUE ur1 : alternate, base; WHERE wr1 : alternate :<>: base; END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Amount_Of_Substance_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF(SELF\ Measure_With_Unit.unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Amount_Of_Substance_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 1.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY And_Expression SUBTYPE OF (Multiple_Arity_Boolean_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Angular_Dimension SUBTYPE OF (Dimension_Curve_Directed_Callout); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Angular_Location SUBTYPE OF (Dimensional_Location); angle_selection : Angle_Relator; END_ENTITY; -- 10303-47: shape_dimension_schema
ENTITY Angular_Size SUBTYPE OF (Dimensional_Size); angle_selection : Angle_Relator; END_ENTITY; -- 10303-47: shape_dimension_schema
ENTITY Angularity_Tolerance SUBTYPE OF (Geometric_Tolerance_With_Datum_Reference); WHERE wr1 : SIZEOF(SELF\Geometric_Tolerance_With_Datum_Reference.datum_system) < 3; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Annotation_Curve_Occurrence SUBTYPE OF (Annotation_Occurrence); SELF\styled_item.item : Curve; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Fill_Area SUBTYPE OF (Geometric_Representation_Item); boundaries : SET [1:?] OF Curve; WHERE wr1 : (SELF\Geometric_Representation_Item.dim = 3) OR (SIZEOF(QUERY(Curve <* SELF.boundaries | NOT (('AUTOMOTIVE_DESIGN.CIRCLE' IN TYPEOF(Curve)) OR ('AUTOMOTIVE_DESIGN.ELLIPSE' IN TYPEOF(Curve)) OR ( 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE' IN TYPEOF(Curve)) AND (Curve\ B_Spline_Curve.closed_curve = TRUE) OR ( 'AUTOMOTIVE_DESIGN.COMPOSITE_CURVE' IN TYPEOF(Curve)) AND (Curve\ Composite_Curve.closed_curve = TRUE) OR ('AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(Curve)) AND (Curve\Polyline.points[LOINDEX(Curve\Polyline.points)] = Curve\Polyline.points[HIINDEX(Curve\Polyline.points)])))) = 0); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Fill_Area_Occurrence SUBTYPE OF (Annotation_Occurrence); fill_style_target : Point; SELF\styled_item.item : Annotation_Fill_Area; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Occurrence SUPERTYPE OF (ONEOF (Annotation_Curve_Occurrence, Annotation_Fill_Area_Occurrence, Annotation_Text_Occurrence, Annotation_Symbol_Occurrence)) SUBTYPE OF (Styled_Item); WHERE wr1 : 'AUTOMOTIVE_DESIGN.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(SELF); wr2 : SIZEOF(QUERY(reps <* Using_Representations(SELF) | NOT ( 'AUTOMOTIVE_DESIGN.ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF(reps)))) = 0; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Occurrence_Associativity SUBTYPE OF (Annotation_Occurrence_Relationship); WHERE wr1 : SIZEOF(TYPEOF(SELF.related_annotation_occurrence) * [ 'AUTOMOTIVE_DESIGN.ANNOTATION_FILL_AREA_OCCURRENCE', 'AUTOMOTIVE_DESIGN.PROJECTION_CURVE', 'AUTOMOTIVE_DESIGN.LEADER_CURVE']) = 1; END_ENTITY; (* declared in: aic_associative_draughting_elements *)
ENTITY Annotation_Occurrence_Relationship; name : Label; description : Text; relating_annotation_occurrence : Annotation_Occurrence; related_annotation_occurrence : Annotation_Occurrence; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Plane SUBTYPE OF (Annotation_Occurrence, Geometric_Representation_Item); elements : OPTIONAL SET [1:?] OF Annotation_Plane_Element; SELF\styled_item.item : Plane_Or_Planar_Box; WHERE wr1 : SELF\Geometric_Representation_Item.dim = 3; wr2 : NOT ('AUTOMOTIVE_DESIGN.' + 'PLANAR_BOX' IN TYPEOF(SELF\Styled_Item. item)) OR ('AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\ Styled_Item.item\Planar_Box.Placement)); wr3 : ('AUTOMOTIVE_DESIGN.' + 'PLANAR_BOX' IN TYPEOF(SELF\Styled_Item.item )) AND ('AUTOMOTIVE_DESIGN.' + 'CURVE_STYLE' IN TYPEOF(SELF\Styled_Item. styles[1]\Presentation_Style_Assignment.styles[1])) OR ( 'AUTOMOTIVE_DESIGN.' + 'PLANE' IN TYPEOF(SELF\Styled_Item.item)) AND ( 'AUTOMOTIVE_DESIGN.' + 'FILL_AREA_STYLE' IN TYPEOF(SELF\Styled_Item. styles[1]\Presentation_Style_Assignment.styles[1])); wr4 : (SIZEOF(SELF\Styled_Item.styles) = 1) AND (SIZEOF(SELF\Styled_Item. styles[1]\Presentation_Style_Assignment.styles) = 1); END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Annotation_Subfigure_Occurrence SUBTYPE OF (Annotation_Symbol_Occurrence); WHERE wr1 : SIZEOF(QUERY(sty <* SELF.styles | NOT (SIZEOF(sty.styles) = 1))) = 0; wr2 : SIZEOF(QUERY(sty <* SELF.styles | NOT ( 'AUTOMOTIVE_DESIGN.NULL_STYLE' IN TYPEOF(sty.styles[1])))) = 0; wr3 : 'AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL' IN TYPEOF(SELF.item); wr4 : 'AUTOMOTIVE_DESIGN.DRAUGHTING_SUBFIGURE_REPRESENTATION' IN TYPEOF( SELF.item\Mapped_Item.mapping_source.mapped_representation); END_ENTITY; (* declared in: aic_draughting_annotation *)
ENTITY Annotation_Symbol SUBTYPE OF (Mapped_Item); SELF\mapped_item.mapping_source : Symbol_Representation_Map; SELF\mapped_item.mapping_target : Symbol_Target; WHERE wr1 : 'AUTOMOTIVE_DESIGN.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(SELF); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Symbol_Occurrence SUBTYPE OF (Annotation_Occurrence); SELF\styled_item.item : Annotation_Symbol_Occurrence_Item; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Text SUBTYPE OF (Mapped_Item); SELF\mapped_item.mapping_target : Axis2_Placement; WHERE wr1 : 'AUTOMOTIVE_DESIGN.TEXT_STRING_REPRESENTATION' IN TYPEOF(SELF\ Mapped_Item.mapping_source.mapped_representation); wr2 : 'AUTOMOTIVE_DESIGN.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(SELF); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Text_Character SUBTYPE OF (Mapped_Item); alignment : Text_Alignment; SELF\mapped_item.mapping_target : Axis2_Placement; WHERE wr1 : 'AUTOMOTIVE_DESIGN.CHARACTER_GLYPH_SYMBOL' IN TYPEOF(SELF\ Mapped_Item.mapping_source.mapped_representation); wr2 : 'AUTOMOTIVE_DESIGN.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(SELF); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Annotation_Text_Occurrence SUBTYPE OF (Annotation_Occurrence); SELF\styled_item.item : Annotation_Text_Occurrence_Item; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Apex SUBTYPE OF (Derived_Shape_Aspect); END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Application_Context; application : Label; DERIVE description : Text := Get_Description_Value(SELF); id : Identifier := Get_Id_Value(SELF); INVERSE context_elements : SET [1:?] OF Application_Context_Element FOR frame_of_reference; WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; END_ENTITY; -- 10303-41: application_context_schema
ENTITY Application_Context_Element SUPERTYPE OF (ONEOF (Product_Concept_Context, Product_Context, Product_Definition_Context)); name : Label; frame_of_reference : Application_Context; END_ENTITY; -- 10303-41: application_context_schema
ENTITY Application_Context_Relationship; name : Label; description : OPTIONAL Text; relating_context : Application_Context; related_context : Application_Context; END_ENTITY; -- 10303-41: application_context_schema
ENTITY Application_Protocol_Definition; status : Label; application_interpreted_model_schema_name : Label; application_protocol_year : Year_Number; application : Application_Context; END_ENTITY; -- 10303-41: application_context_schema
ENTITY Applied_Action_Assignment SUBTYPE OF (Action_Assignment); items : SET [1:?] OF Action_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Action_Request_Assignment SUBTYPE OF (Action_Request_Assignment); items : SET [1:?] OF Action_Request_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Approval_Assignment SUBTYPE OF (Approval_Assignment); items : SET [1:?] OF Approval_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Area SUBTYPE OF (Shape_Aspect); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {2 <= SIZEOF(pdr.used_representation.items) <= 3})) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'effective length', 'maximum length' ]))) > 0))) = 0; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'orientation') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'effective length') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'effective length') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr7 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'applied area usage') AND (('AUTOMOTIVE_DESIGN.' + 'THREAD' IN TYPEOF(sar.relating_shape_aspect.of_shape.definition)) OR ( 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_FEATURE_DEFINITION' IN TYPEOF (sar.relating_shape_aspect.of_shape.definition)) AND (sar. relating_shape_aspect.of_shape.definition\Externally_Defined_Item.item_id = 'external thread') AND (sar.relating_shape_aspect.of_shape.definition\ Externally_Defined_Item.Source.source_id = 'external thread specification') ) AND (sar.relating_shape_aspect.of_shape.definition.description = 'partial area occurrence'))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Certification_Assignment SUBTYPE OF (Certification_Assignment); items : SET [1:?] OF Certification_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Classification_Assignment SUBTYPE OF (Classification_Assignment); items : SET [1:?] OF Classification_Item; WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'CLASS' IN TYPEOF(SELF.assigned_class)) OR (SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'ACTION', 'AUTOMOTIVE_DESIGN.' + 'ACTION_DIRECTIVE', 'AUTOMOTIVE_DESIGN.' + 'ACTION_METHOD', 'AUTOMOTIVE_DESIGN.' + 'ACTION_PROPERTY', 'AUTOMOTIVE_DESIGN.' + 'ACTION_RELATIONSHIP', 'AUTOMOTIVE_DESIGN.' + 'APPROVAL_STATUS', 'AUTOMOTIVE_DESIGN.' + 'ASSEMBLY_COMPONENT_USAGE', 'AUTOMOTIVE_DESIGN.' + 'CONFIGURATION_ITEM' , 'AUTOMOTIVE_DESIGN.' + 'CONTRACT', 'AUTOMOTIVE_DESIGN.' + 'DOCUMENT_FILE', 'AUTOMOTIVE_DESIGN.' + 'DOCUMENT_TYPE', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'GENERAL_PROPERTY', 'AUTOMOTIVE_DESIGN.' + 'MATERIAL_DESIGNATION', 'AUTOMOTIVE_DESIGN.' + 'ORGANIZATIONAL_PROJECT', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_FORMATION', 'AUTOMOTIVE_DESIGN.' + 'PROPERTY_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'RESOURCE_PROPERTY', 'AUTOMOTIVE_DESIGN.' + 'SECURITY_CLASSIFICATION_LEVEL', 'AUTOMOTIVE_DESIGN.' + 'SHAPE_ASPECT', 'AUTOMOTIVE_DESIGN.' + 'VERSIONED_ACTION_REQUEST'] * TYPEOF(i)) <> 1)) = 0); wr2 : NOT (('AUTOMOTIVE_DESIGN.' + 'GROUP' IN TYPEOF(SELF.assigned_class)) AND (SELF.assigned_class\Group.name = 'E') AND (SELF.assigned_class\Group. description = 'dimensioning principle')) OR (SIZEOF(QUERY(i <* SELF.items | NOT ('AUTOMOTIVE_DESIGN.' + 'PLUS_MINUS_TOLERANCE' IN TYPEOF(i)))) = 0); wr3 : NOT (('AUTOMOTIVE_DESIGN.' + 'CLASS_SYSTEM' IN TYPEOF(SELF. assigned_class)) AND (SELF.role.name = 'class system membership')) OR ( SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'APPROVAL_STATUS', 'AUTOMOTIVE_DESIGN.' + 'CLASS', 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'DOCUMENT_TYPE', 'AUTOMOTIVE_DESIGN.' + 'PLANAR_EXTENT', 'AUTOMOTIVE_DESIGN.' + 'SECURITY_CLASSIFICATION_LEVEL'] * TYPEOF(i)) <> 1)) = 0); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Contract_Assignment SUBTYPE OF (Contract_Assignment); items : SET [1:?] OF Contract_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Date_And_Time_Assignment SUBTYPE OF (Date_And_Time_Assignment); items : SET [1:?] OF Date_And_Time_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Date_Assignment SUBTYPE OF (Date_Assignment); items : SET [1:?] OF Date_Item; WHERE wr1 : NOT (SELF.role.name = 'actual end') OR Item_Correlation(SELF.items, [ 'ACTION', 'ORGANIZATIONAL_PROJECT', 'EFFECTIVITY']); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Document_Reference SUBTYPE OF (Document_Reference); items : SET [1:?] OF Document_Reference_Item; WHERE wr1 : NOT (SELF.role.name = 'general tolerance definition') OR Item_Correlation(SELF.items, ['REPRESENTATION']); wr2 : (SELF.role.name = 'general tolerance definition') OR Item_Correlation( SELF.items, ['ACTION', 'ACTION_DIRECTIVE', 'ACTION_METHOD', 'ACTION_RELATIONSHIP', 'APPLIED_ACTION_ASSIGNMENT', 'APPROVAL', 'CERTIFICATION', 'CLASS', 'CLASS_SYSTEM', 'CONFIGURATION_DESIGN', 'CONFIGURATION_ITEM', 'CONTRACT', 'FEATURE_DEFINITION', 'GENERAL_PROPERTY' , 'MATERIAL_DESIGNATION', 'ORGANIZATION', 'ORGANIZATIONAL_PROJECT', 'PERSON', 'PRODUCT_CONCEPT', 'PRODUCT_CONCEPT_FEATURE', 'PRODUCT_CONCEPT_FEATURE_CATEGORY', 'PRODUCT_DEFINITION', 'PRODUCT_DEFINITION_FORMATION', 'PRODUCT_DEFINITION_FORMATION_RELATIONSHIP' , 'PRODUCT_DEFINITION_RELATIONSHIP', 'PRODUCT_DEFINITION_SUBSTITUTE', 'PRODUCT_RELATED_PRODUCT_CATEGORY', 'PROPERTY_DEFINITION', 'REPRESENTATION' , 'RESOURCE_REQUIREMENT_TYPE', 'SECURITY_CLASSIFICATION', 'SHAPE_ASPECT', 'SHAPE_ASPECT_RELATIONSHIP', 'VERSIONED_ACTION_REQUEST']); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Document_Usage_Constraint_Assignment SUBTYPE OF (Document_Usage_Constraint_Assignment); items : SET [1:?] OF Document_Reference_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Effectivity_Assignment SUBTYPE OF (Effectivity_Assignment); items : SET [1:?] OF Effectivity_Item; WHERE wr1 : SIZEOF(['AUTOMOTIVE_DESIGN.' + 'LOT_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'SERIAL_NUMBERED_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_EFFECTIVITY'] * TYPEOF(SELF. assigned_effectivity)) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Event_Occurrence_Assignment SUBTYPE OF (Event_Occurrence_Assignment); items : SET [1:?] OF Event_Occurrence_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_External_Identification_Assignment SUBTYPE OF (External_Identification_Assignment); items : SET [1:?] OF External_Identification_Item; WHERE wr1 : NOT (SELF.role.name = 'alternative document id and location') OR Item_Correlation(SELF.items, ['DOCUMENT_FILE']); wr2 : NOT (SELF.role.name = 'version') OR Item_Correlation(SELF.items, [ 'EXTERNALLY_DEFINED_CLASS', 'EXTERNALLY_DEFINED_GENERAL_PROPERTY']); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Group_Assignment SUBTYPE OF (Group_Assignment); items : SET [1:?] OF Group_Item; WHERE wr1 : NOT (SELF.role.name = 'exclusiveness') OR Item_Correlation(SELF.items, ['ACTION']); wr2 : NOT (SELF.role.name = 'simultaneity') OR Item_Correlation(SELF.items, [ 'ACTION']); wr3 : NOT (SELF.role.name = 'specification category member') OR Item_Correlation(SELF.items, ['PRODUCT_CONCEPT_FEATURE']); wr4 : NOT (SELF.role.name = 'group membership') OR Item_Correlation(SELF. items, ['GEOMETRIC_REPRESENTATION_ITEM', 'SHAPE_ASPECT']); wr5 : NOT (SELF.role.name = 'group membership') OR (SIZEOF(SELF.items) = SIZEOF(QUERY(i <* SELF.items | 'AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(i)))) OR (SIZEOF(SELF.items) = SIZEOF(QUERY(i <* SELF.items | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_ASPECT' IN TYPEOF(i)))); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Identification_Assignment SUBTYPE OF (Identification_Assignment); items : SET [1:?] OF Identification_Item; WHERE wr1 : NOT (SELF.role.name = 'version') OR Item_Correlation(SELF.items, [ 'ACTION', 'ACTION_DIRECTIVE', 'SHAPE_REPRESENTATION', 'EFFECTIVITY', 'PRODUCT_CONCEPT', 'CONFIGURATION_ITEM', 'PRODUCT_DEFINITION', 'PRODUCT_CONCEPT_FEATURE', 'DOCUMENT_FILE', 'CLASS', 'APPLIED_IDENTIFICATION_ASSIGNMENT', 'DRAUGHTING_MODEL', 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION', 'PRESENTATION_AREA']); wr2 : NOT (SELF.role.name = 'lot context') OR Item_Correlation(SELF.items, [ 'PRODUCT']); wr3 : NOT (SELF.role.name = 'property change id context') OR Item_Correlation (SELF.items, ['PROPERTY_DEFINITION_RELATIONSHIP', 'SHAPE_ASPECT_RELATIONSHIP', 'ACTION_PROPERTY']); wr4 : NOT (SELF.role.name = 'size id') OR Item_Correlation(SELF.items, [ 'DIMENSIONAL_SIZE']); wr5 : NOT (SELF.role.name = 'model change id') OR Item_Correlation(SELF.items , ['PROPERTY_DEFINITION', 'ACTION_PROPERTY']); wr6 : NOT (SELF.role.name = 'alias') OR Item_Correlation(SELF.items, [ 'APPLICATION_CONTEXT', 'APPROVAL_STATUS', 'ASSEMBLY_COMPONENT_USAGE', 'CLASS', 'CLASS_SYSTEM', 'DOCUMENT_TYPE', 'DRAUGHTING_MODEL', 'GENERAL_PROPERTY', 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION', 'ORGANIZATION', 'PRODUCT', 'PRODUCT_CONCEPT', 'PRODUCT_CONCEPT_FEATURE', 'PRODUCT_CONCEPT_FEATURE_CATEGORY', 'PRODUCT_DEFINITION', 'PRODUCT_DEFINITION_FORMATION', 'PROPERTY_DEFINITION', 'SECURITY_CLASSIFICATION_LEVEL', 'SHAPE_REPRESENTATION']); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Ineffectivity_Assignment SUBTYPE OF (Effectivity_Assignment); items : SET [1:?] OF Effectivity_Item; WHERE wr1 : SIZEOF(['AUTOMOTIVE_DESIGN.' + 'LOT_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'SERIAL_NUMBERED_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_EFFECTIVITY'] * TYPEOF(SELF. assigned_effectivity)) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Name_Assignment SUBTYPE OF (Name_Assignment); items : SET [1:?] OF Name_Item; WHERE wr1 : NOT (SELF.role.name = 'kinematic element name') OR Item_Correlation( SELF.items, ['KINEMATIC_STRUCTURE', 'KINEMATIC_JOINT', 'KINEMATIC_LINK']); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Organization_Assignment SUBTYPE OF (Organization_Assignment); items : SET [1:?] OF Organization_Item; WHERE wr1 : NOT (SELF.role.name = 'organization in contract') OR Item_Correlation( SELF.items, ['CONTRACT']); wr2 : NOT (SELF.role.name = 'signing for contract') OR Item_Correlation(SELF. items, ['APPLIED_ORGANIZATION_ASSIGNMENT']); wr3 : NOT (SELF.role.name = 'validity context') OR Item_Correlation(SELF. items, ['ACTION_PROPERTY', 'RESOURCE_PROPERTY', 'PROPERTY_DEFINITION']); wr4 : NOT (SELF.role.name = 'alias scope') OR Item_Correlation(SELF.items, [ 'APPLIED_IDENTIFICATION_ASSIGNMENT']); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Organizational_Project_Assignment SUBTYPE OF (Organizational_Project_Assignment); items : SET [1:?] OF Organizational_Project_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Person_And_Organization_Assignment SUBTYPE OF (Person_And_Organization_Assignment); items : SET [1:?] OF Person_And_Organization_Item; WHERE wr1 : NOT (SELF.role.name = 'signing for contract') OR Item_Correlation(SELF. items, ['APPLIED_ORGANIZATION_ASSIGNMENT']); END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Presented_Item SUBTYPE OF (Presented_Item); items : SET [1:?] OF Presented_Item_Select; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Security_Classification_Assignment SUBTYPE OF (Security_Classification_Assignment); items : SET [1:?] OF Security_Classification_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Applied_Time_Interval_Assignment SUBTYPE OF (Time_Interval_Assignment); items : SET [1:?] OF Time_Interval_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Approval; status : Approval_Status; level : Label; END_ENTITY; -- 10303-41: approval_schema
ENTITY Approval_Assignment ABSTRACT SUPERTYPE; assigned_approval : Approval; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Approval_Date_Time; date_time : Date_Time_Select; dated_approval : Approval; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: approval_schema
ENTITY Approval_Person_Organization; person_organization : Person_Organization_Select; authorized_approval : Approval; role : Approval_Role; END_ENTITY; -- 10303-41: approval_schema
ENTITY Approval_Relationship; name : Label; description : OPTIONAL Text; relating_approval : Approval; related_approval : Approval; END_ENTITY; -- 10303-41: approval_schema
ENTITY Approval_Role; role : Label; DERIVE description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-41: approval_schema
ENTITY Approval_Status; name : Label; END_ENTITY; -- 10303-41: approval_schema
ENTITY Approximation_Tolerance SUBTYPE OF (Founded_Item); tolerance : Tolerance_Select; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Approximation_Tolerance_Deviation SUBTYPE OF (Founded_Item); tessellation_type : Approximation_Method; tolerances : SET [1:2] OF Tolerance_Deviation_Select; definition_space : Product_Or_Presentation_Space; WHERE wr1 : (HIINDEX(SELF.tolerances) = 1) XOR (TYPEOF(SELF.tolerances[1]) <> TYPEOF(SELF.tolerances[2])); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Approximation_Tolerance_Parameter SUBTYPE OF (Founded_Item); tolerances : SET [1:2] OF Tolerance_Parameter_Select; WHERE wr1 : (HIINDEX(SELF.tolerances) = 1) XOR (TYPEOF(SELF.tolerances[1]) <> TYPEOF(SELF.tolerances[2])); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Area_In_Set; area : Presentation_Area; in_set : Presentation_Set; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Area_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.AREA_UNIT' IN TYPEOF(SELF\Measure_With_Unit. unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Area_Unit SUBTYPE OF (Derived_Unit); WHERE wr1 : Derive_Dimensional_Exponents(SELF) = Dimensional_Exponents(2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Asin_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Assembly_Component_Usage SUPERTYPE OF (ONEOF (Next_Assembly_Usage_Occurrence, Specified_Higher_Usage_Occurrence, Promissory_Usage_Occurrence)) SUBTYPE OF (Product_Definition_Usage); reference_designator : OPTIONAL Identifier; END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Assembly_Component_Usage_Substitute; name : Label; definition : OPTIONAL Text; base : Assembly_Component_Usage; substitute : Assembly_Component_Usage; UNIQUE ur1 : base, substitute; WHERE wr1 : base.relating_product_definition :=: substitute. relating_product_definition; wr2 : base :<>: substitute; END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Atan_Function SUBTYPE OF (Binary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Attribute_Classification_Assignment ABSTRACT SUPERTYPE; assigned_class : Group; attribute_name : Label; role : Classification_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Attribute_Language_Assignment SUBTYPE OF (Attribute_Classification_Assignment); items : SET [1:?] OF Attribute_Language_Item; DERIVE language : Label := SELF\Attribute_Classification_Assignment.assigned_class. name; WHERE wr1 : SELF\Attribute_Classification_Assignment.role.name IN ['primary', 'translated']; wr2 : 'AUTOMOTIVE_DESIGN.' + 'LANGUAGE' IN TYPEOF(SELF\ Attribute_Classification_Assignment.assigned_class); END_ENTITY; -- 10303-214: automotive_design
ENTITY Attribute_Value_Assignment ABSTRACT SUPERTYPE; attribute_name : Label; attribute_value : Attribute_Type; role : Attribute_Value_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Attribute_Value_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Axis1_Placement SUBTYPE OF (Placement); axis : OPTIONAL Direction; DERIVE z : Direction := NVL(Normalise(axis), Dummy_Gri||Direction([0.0, 0.0, 1.0])); WHERE wr1 : SELF\Geometric_Representation_Item.dim = 3; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Axis2_Placement_2d SUBTYPE OF (Placement); ref_direction : OPTIONAL Direction; DERIVE p : LIST [2:2] OF Direction := Build_2axes(ref_direction); WHERE wr1 : SELF\Geometric_Representation_Item.dim = 2; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Axis2_Placement_3d SUBTYPE OF (Placement); axis : OPTIONAL Direction; ref_direction : OPTIONAL Direction; DERIVE p : LIST [3:3] OF Direction := Build_Axes(axis, ref_direction); WHERE wr1 : SELF\Placement.location.dim = 3; wr2 : NOT EXISTS(axis) OR (axis.dim = 3); wr3 : NOT EXISTS(ref_direction) OR (ref_direction.dim = 3); wr4 : NOT EXISTS(axis) OR NOT EXISTS(ref_direction) OR (Cross_Product(axis, ref_direction).magnitude > 0.0); END_ENTITY; -- 10303-42: geometry_schema
ENTITY B_Spline_Curve SUPERTYPE OF (ONEOF (Uniform_Curve, B_Spline_Curve_With_Knots, Quasi_Uniform_Curve, Bezier_Curve) ANDOR Rational_B_Spline_Curve) SUBTYPE OF (Bounded_Curve); degree : INTEGER; control_points_list : LIST [2:?] OF Cartesian_Point; curve_form : B_Spline_Curve_Form; closed_curve : LOGICAL; self_intersect : LOGICAL; DERIVE upper_index_on_control_points : INTEGER := SIZEOF(control_points_list) - 1; control_points : ARRAY [0 : upper_index_on_control_points] OF Cartesian_Point := List_To_Array(control_points_list, 0, upper_index_on_control_points); WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNIFORM_CURVE' IN TYPEOF(SELF)) OR ( 'AUTOMOTIVE_DESIGN.QUASI_UNIFORM_CURVE' IN TYPEOF(SELF)) OR ( 'AUTOMOTIVE_DESIGN.BEZIER_CURVE' IN TYPEOF(SELF)) OR ( 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(SELF)); END_ENTITY; -- 10303-42: geometry_schema
ENTITY B_Spline_Curve_With_Knots SUBTYPE OF (B_Spline_Curve); knot_multiplicities : LIST [2:?] OF INTEGER; knots : LIST [2:?] OF Parameter_Value; knot_spec : Knot_Type; DERIVE upper_index_on_knots : INTEGER := SIZEOF(knots); WHERE wr1 : Constraints_Param_B_Spline(degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots); wr2 : SIZEOF(knot_multiplicities) = upper_index_on_knots; END_ENTITY; -- 10303-42: geometry_schema
ENTITY B_Spline_Surface SUPERTYPE OF (ONEOF (B_Spline_Surface_With_Knots, Uniform_Surface, Quasi_Uniform_Surface, Bezier_Surface) ANDOR Rational_B_Spline_Surface) SUBTYPE OF (Bounded_Surface); u_degree : INTEGER; v_degree : INTEGER; control_points_list : LIST [2:?] OF LIST [2:?] OF Cartesian_Point; surface_form : B_Spline_Surface_Form; u_closed : LOGICAL; v_closed : LOGICAL; self_intersect : LOGICAL; DERIVE u_upper : INTEGER := SIZEOF(control_points_list) - 1; v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1; control_points : ARRAY [0 : u_upper] OF ARRAY [0 : v_upper] OF Cartesian_Point := Make_Array_Of_Array(control_points_list, 0, u_upper, 0, v_upper); WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ( 'AUTOMOTIVE_DESIGN.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ( 'AUTOMOTIVE_DESIGN.BEZIER_SURFACE' IN TYPEOF(SELF)) OR ( 'AUTOMOTIVE_DESIGN.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF)); END_ENTITY; -- 10303-42: geometry_schema
ENTITY B_Spline_Surface_With_Knots SUBTYPE OF (B_Spline_Surface); u_multiplicities : LIST [2:?] OF INTEGER; v_multiplicities : LIST [2:?] OF INTEGER; u_knots : LIST [2:?] OF Parameter_Value; v_knots : LIST [2:?] OF Parameter_Value; knot_spec : Knot_Type; DERIVE knot_u_upper : INTEGER := SIZEOF(u_knots); knot_v_upper : INTEGER := SIZEOF(v_knots); WHERE wr1 : Constraints_Param_B_Spline(SELF\B_Spline_Surface.u_degree, knot_u_upper , SELF\B_Spline_Surface.u_upper, u_multiplicities, u_knots); wr2 : Constraints_Param_B_Spline(SELF\B_Spline_Surface.v_degree, knot_v_upper , SELF\B_Spline_Surface.v_upper, v_multiplicities, v_knots); wr3 : SIZEOF(u_multiplicities) = knot_u_upper; wr4 : SIZEOF(v_multiplicities) = knot_v_upper; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Background_Colour SUBTYPE OF (Colour); presentation : Area_Or_View; UNIQUE ur1 : presentation; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Barring_Hole SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'hole profile') AND (sa.description = 'closed profile occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CIRCULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'NGON_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'CLOSED_PATH_PROFILE'] * TYPEOF(sar.relating_shape_aspect)) = 1))) = 1))) = 1; wr2 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'barring profile') AND (sa.description = 'closed profile occurrence') AND ( SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage'))) = 1))) = 1; wr3 : (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1) AND (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ('AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)) AND {1 <= SIZEOF(pdr.used_representation.items) <= 2})) = 1); wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'base radius']))) > 0))) = 0; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'base radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) <> 1))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Bead SUBTYPE OF (Feature_Definition); WHERE wr1 : (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ('AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) > 2))) = 0); wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'base radius']))) > 0))) = 0; wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'base radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) > 1))) = 0; wr4 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'sweep path') AND (sa.description = 'path feature component occurrence') AND (SIZEOF( QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'path feature component usage') AND ( 'AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(sar. relating_shape_aspect)))) = 1))) = 1; wr5 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'bead profile') AND (sa.description = 'open profile occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'OPEN_PATH_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'PARTIAL_CIRCULAR_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'ROUNDED_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'SQUARE_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'TEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'VEE_PROFILE'] * TYPEOF(sar. relating_shape_aspect)) = 1))) = 1))) = 1; wr6 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'end condition' ) AND (sa.description = 'bead end occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'bead end usage') AND (sar.description = 'starting') AND ( 'AUTOMOTIVE_DESIGN.' + 'BEAD_END' IN TYPEOF(sar.relating_shape_aspect))) ) = 1))) = 1; wr7 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'end condition' ) AND (sa.description = 'bead end occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'bead end usage') AND (sar.description = 'ending') AND ( 'AUTOMOTIVE_DESIGN.' + 'BEAD_END' IN TYPEOF(sar.relating_shape_aspect))) ) = 1))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Bead_End SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SELF.description IN ['linear', 'open', 'radiused']; wr3 : (SELF.description <> 'linear') XOR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) > 0); wr4 : (SELF.description <> 'linear') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1); wr5 : (SELF.description <> 'linear') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'end length') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr6 : (SELF.description <> 'linear') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'end shape') AND (i\Descriptive_Representation_Item. description IN ['straight', 'tapered']) AND ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) = 1))) = 1); wr7 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'bead end usage') AND (sar.description IN ['starting', 'ending']) AND ('AUTOMOTIVE_DESIGN.' + 'BEAD' IN TYPEOF(sar. related_shape_aspect.of_shape.definition)) AND (sar.related_shape_aspect. of_shape.definition\Characterized_Object.name = 'end condition') AND (sar. related_shape_aspect.of_shape.definition\Characterized_Object.description = 'bead end occurrence'))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Bezier_Curve SUBTYPE OF (B_Spline_Curve); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Bezier_Surface SUBTYPE OF (B_Spline_Surface); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Binary_Boolean_Expression ABSTRACT SUPERTYPE OF (ONEOF (Xor_Expression, Equals_Expression)) SUBTYPE OF (Boolean_Expression, Binary_Generic_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Binary_Function_Call ABSTRACT SUPERTYPE OF (ONEOF (Atan_Function)) SUBTYPE OF (Binary_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Binary_Generic_Expression ABSTRACT SUPERTYPE SUBTYPE OF (Generic_Expression); operands : LIST [2:2] OF Generic_Expression; END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Binary_Numeric_Expression ABSTRACT SUPERTYPE OF (ONEOF (Minus_Expression, Div_Expression, Mod_Expression , Slash_Expression, Power_Expression, Binary_Function_Call)) SUBTYPE OF (Numeric_Expression, Binary_Generic_Expression); SELF\binary_generic_expression.operands : LIST [2:2] OF Numeric_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Block SUBTYPE OF (Geometric_Representation_Item); position : Axis2_Placement_3d; x : Positive_Length_Measure; y : Positive_Length_Measure; z : Positive_Length_Measure; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Boolean_Defined_Function ABSTRACT SUPERTYPE SUBTYPE OF (Defined_Function, Boolean_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Boolean_Expression ABSTRACT SUPERTYPE OF (ONEOF (Simple_Boolean_Expression, Unary_Boolean_Expression, Binary_Boolean_Expression, Multiple_Arity_Boolean_Expression, Comparison_Expression, Interval_Expression, Boolean_Defined_Function)) SUBTYPE OF (Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Boolean_Literal SUBTYPE OF (Simple_Boolean_Expression, Generic_Literal); the_value : BOOLEAN; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Boolean_Result SUBTYPE OF (Geometric_Representation_Item); operator : Boolean_Operator; first_operand : Boolean_Operand; second_operand : Boolean_Operand; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Boolean_Variable SUBTYPE OF (Simple_Boolean_Expression, Variable); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Boss SUBTYPE OF (Feature_Definition); WHERE wr1 : SELF.description IN ['circular', 'rectangular', 'complex']; wr2 : (SELF.description <> 'circular') OR (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'circular profile occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND ('AUTOMOTIVE_DESIGN.' + 'CIRCULAR_CLOSED_PROFILE' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1); wr3 : (SELF.description <> 'complex') OR (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'enclosed boundary occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CLOSED_PATH_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'NGON_CLOSED_PROFILE'] * TYPEOF(sar.relating_shape_aspect)) = 1))) = 1))) = 1); wr4 : (SELF.description <> 'rectangular') OR (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'rectangular profile occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_CLOSED_PROFILE' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1); wr5 : (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ('AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)) AND NOT ({1 <= SIZEOF(pdr.used_representation.items) <= 2}))) = 0); wr6 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'fillet radius']))) > 0))) = 0; wr7 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'fillet radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) > 1))) = 0; wr8 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'boss hight occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'boss hight') AND (sar.description = 'path feature component usage') AND ('AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(sar.relating_shape_aspect)) AND (sar. relating_shape_aspect.description = 'linear'))) = 1))) = 1; wr9 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'top condition occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'boss top usage') AND ('AUTOMOTIVE_DESIGN.' + 'BOSS_TOP' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1; wr10 : NOT (SELF.description IN ['rectangular', 'complex']) OR (SIZEOF(QUERY( sa <* Get_Shape_Aspects(SELF) | (sa.description = 'change in boundary occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'taper usage') AND ('AUTOMOTIVE_DESIGN.' + 'TAPER' IN TYPEOF(sar.relating_shape_aspect)) AND (sar. relating_shape_aspect.description IN ['angle taper', 'directed taper']))) = 1))) <= 1); wr11 : (SELF.description <> 'circular') OR (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'change in diameter occurrence' ) AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'taper usage') AND ('AUTOMOTIVE_DESIGN.' + 'TAPER' IN TYPEOF(sar.relating_shape_aspect)) AND (sar. relating_shape_aspect.description IN ['angle taper', 'diameter taper']))) = 1))) <= 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Boss_Top SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SELF.description IN ['planar', 'complex']; wr3 : (SELF.description <> 'planar') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1); wr4 : (SELF.description <> 'planar') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'LOCATION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1); wr5 : (SELF.description <> 'complex') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1); wr6 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'boss top usage') AND (sar.description IN ['starting', 'ending']) AND ('AUTOMOTIVE_DESIGN.' + 'BOSS' IN TYPEOF(sar. related_shape_aspect)) AND (sar.related_shape_aspect.name = 'top condition occurrence'))) = 1; wr7 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) > 1))) = 0); wr8 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND ((SIZEOF(pdr.used_representation.items) = 0) XOR (SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'top radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1)))) <= 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Boundary_Curve SUBTYPE OF (Composite_Curve_On_Surface); WHERE wr1 : SELF\Composite_Curve.closed_curve; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Bounded_Curve SUPERTYPE OF (ONEOF (Polyline, B_Spline_Curve, Trimmed_Curve, Bounded_Pcurve, Bounded_Surface_Curve, Composite_Curve)) SUBTYPE OF (Curve); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Bounded_Pcurve SUBTYPE OF (Pcurve, Bounded_Curve); WHERE wr1 : 'AUTOMOTIVE_DESIGN.BOUNDED_CURVE' IN TYPEOF(SELF\Pcurve. reference_to_curve.items[1]); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Bounded_Surface SUPERTYPE OF (ONEOF (B_Spline_Surface, Rectangular_Trimmed_Surface, Curve_Bounded_Surface, Rectangular_Composite_Surface)) SUBTYPE OF (Surface); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Bounded_Surface_Curve SUBTYPE OF (Surface_Curve, Bounded_Curve); WHERE wr1 : 'AUTOMOTIVE_DESIGN.BOUNDED_CURVE' IN TYPEOF(SELF\Surface_Curve. Curve_3d); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Box_Domain SUBTYPE OF (Founded_Item); corner : Cartesian_Point; xlength : Positive_Length_Measure; ylength : Positive_Length_Measure; zlength : Positive_Length_Measure; WHERE wr1 : SIZEOF(QUERY(item <* USEDIN(SELF, '') | NOT ( 'AUTOMOTIVE_DESIGN.BOXED_HALF_SPACE' IN TYPEOF(item)))) = 0; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Boxed_Half_Space SUBTYPE OF (Half_Space_Solid); enclosure : Box_Domain; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Brep_With_Voids SUBTYPE OF (Manifold_Solid_Brep); voids : SET [1:?] OF Oriented_Closed_Shell; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Calendar_Date SUBTYPE OF (Date); day_component : Day_In_Month_Number; month_component : Month_In_Year_Number; WHERE wr1 : Valid_Calendar_Date(SELF); END_ENTITY; -- 10303-41: date_time_schema
ENTITY Camera_Image SUPERTYPE OF (Camera_Image_3d_With_Scale) SUBTYPE OF (Mapped_Item); SELF\mapped_item.mapping_source : Camera_Usage; SELF\mapped_item.mapping_target : Planar_Box; WHERE wr1 : 'AUTOMOTIVE_DESIGN.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(SELF); END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Camera_Image_2d_With_Scale SUBTYPE OF (Camera_Image); DERIVE scale : Positive_Ratio_Measure := SELF\Mapped_Item.mapping_target\ Planar_Extent.size_in_x/SELF\Mapped_Item.mapping_source.mapping_origin\ Camera_Model_D2.view_window\Planar_Extent.size_in_x; WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'CAMERA_MODEL_D2' IN TYPEOF(SELF\Mapped_Item. mapping_source.mapping_origin); wr2 : Aspect_Ratio(SELF\Mapped_Item.mapping_target) = Aspect_Ratio(SELF\ Mapped_Item.mapping_source.mapping_origin\Camera_Model_D2.view_window); wr3 : SELF\Mapped_Item.mapping_source.mapping_origin\Camera_Model_D2. view_window_clipping; END_ENTITY; -- 10303-214: automotive_design
ENTITY Camera_Image_3d_With_Scale SUBTYPE OF (Camera_Image); DERIVE scale : Positive_Ratio_Measure := SELF\Mapped_Item.mapping_target\ Planar_Extent.size_in_x/SELF\Mapped_Item.mapping_source.mapping_origin\ Camera_Model_D3.perspective_of_volume.view_window.size_in_x; WHERE wr1 : 'AUTOMOTIVE_DESIGN.CAMERA_MODEL_D3' IN TYPEOF(SELF\Mapped_Item. mapping_source.mapping_origin); wr2 : Aspect_Ratio(SELF\Mapped_Item.mapping_target) = Aspect_Ratio(SELF\ Mapped_Item.mapping_source.mapping_origin\Camera_Model_D3. perspective_of_volume.view_window); wr3 : SELF\Mapped_Item.mapping_source.mapping_origin\Camera_Model_D3. perspective_of_volume.front_plane_clipping AND SELF\Mapped_Item. mapping_source.mapping_origin\Camera_Model_D3.perspective_of_volume. view_volume_sides_clipping; wr4 : (SELF\Mapped_Item.mapping_target\Planar_Extent.size_in_x > 0) AND (SELF \Mapped_Item.mapping_target\Planar_Extent.size_in_y > 0); wr5 : (SELF\Mapped_Item.mapping_source.mapping_origin\Camera_Model_D3. perspective_of_volume.view_window.size_in_x > 0) AND (SELF\Mapped_Item. mapping_source.mapping_origin\Camera_Model_D3.perspective_of_volume. view_window.size_in_y > 0); wr6 : ('AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_2D' IN TYPEOF(SELF\ Mapped_Item.mapping_target\Planar_Box.Placement)) AND NOT ( 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\Mapped_Item. mapping_target\Planar_Box.Placement)); END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Camera_Model ABSTRACT SUPERTYPE OF (ONEOF (Camera_Model_D2, Camera_Model_D3)) SUBTYPE OF (Geometric_Representation_Item); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ITEM_DEFINED_TRANSFORMATION.TRANSFORM_ITEM_1')) + SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPING_ORIGIN')) > 0; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM')) = 0; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Camera_Model_D2 SUBTYPE OF (Camera_Model); view_window : Planar_Box; view_window_clipping : BOOLEAN; WHERE wr1 : SELF\Geometric_Representation_Item.dim = 2; wr2 : NOT ('AUTOMOTIVE_DESIGN.CAMERA_IMAGE_2D_WITH_SCALE' IN TYPEOF(SELF)) ; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Camera_Model_D3 SUBTYPE OF (Camera_Model); view_reference_system : Axis2_Placement_3d; perspective_of_volume : View_Volume; WHERE wr1 : (Dot_Product(SELF.view_reference_system.p[3], SELF. perspective_of_volume.view_window.Placement.p[3]) = 1.0) AND (SELF. view_reference_system.location.coordinates[3] = SELF.perspective_of_volume. view_window.Placement.location.coordinates[3]); wr2 : SELF\Geometric_Representation_Item.dim = 3; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Camera_Model_D3_With_Hlhsr SUBTYPE OF (Camera_Model_D3); hidden_line_surface_removal : BOOLEAN; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Camera_Usage SUBTYPE OF (Representation_Map); SELF\representation_map.mapping_origin : Camera_Model; WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.PRESENTATION_REPRESENTATION' IN TYPEOF(SELF\ Representation_Map.mapped_representation)); END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Cartesian_Point SUBTYPE OF (Point); coordinates : LIST [1:3] OF Length_Measure; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Cartesian_Transformation_Operator SUPERTYPE OF (ONEOF (Cartesian_Transformation_Operator_2d, Cartesian_Transformation_Operator_3d)) SUBTYPE OF (Geometric_Representation_Item, Functionally_Defined_Transformation) ; axis1 : OPTIONAL Direction; axis2 : OPTIONAL Direction; local_origin : Cartesian_Point; scale : OPTIONAL REAL; DERIVE scl : REAL := NVL(scale, 1.0); WHERE wr1 : scl > 0.0; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Cartesian_Transformation_Operator_2d SUBTYPE OF (Cartesian_Transformation_Operator); DERIVE u : LIST [2:2] OF Direction := Base_Axis(2, SELF\ Cartesian_Transformation_Operator.axis1, SELF\ Cartesian_Transformation_Operator.axis2, ?); WHERE wr1 : SELF\Geometric_Representation_Item.dim = 2; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Cartesian_Transformation_Operator_3d SUBTYPE OF (Cartesian_Transformation_Operator); axis3 : OPTIONAL Direction; DERIVE u : LIST [3:3] OF Direction := Base_Axis(3, SELF\ Cartesian_Transformation_Operator.axis1, SELF\ Cartesian_Transformation_Operator.axis2, axis3); WHERE wr1 : SELF\Geometric_Representation_Item.dim = 3; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Celsius_Temperature_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\ Measure_With_Unit.unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Centre_Of_Symmetry SUBTYPE OF (Derived_Shape_Aspect); WHERE wr1 : SIZEOF(QUERY(sadr <* SELF\Derived_Shape_Aspect.deriving_relationships | NOT ('AUTOMOTIVE_DESIGN.SYMMETRIC_SHAPE_ASPECT' IN TYPEOF(sadr\ Shape_Aspect_Relationship.related_shape_aspect)))) = 0; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Certification; name : Label; purpose : Text; kind : Certification_Type; END_ENTITY; -- 10303-41: certification_schema
ENTITY Certification_Assignment ABSTRACT SUPERTYPE; assigned_certification : Certification; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Certification_Type; description : Label; END_ENTITY; -- 10303-41: certification_schema
ENTITY Chamfer SUBTYPE OF (Transition_Feature); WHERE wr1 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND ('AUTOMOTIVE_DESIGN.' + 'CHAMFER_OFFSET' IN TYPEOF(sar. related_shape_aspect)) AND (sar.related_shape_aspect.description = 'first offset'))) = 1; wr2 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND ('AUTOMOTIVE_DESIGN.' + 'CHAMFER_OFFSET' IN TYPEOF(sar. related_shape_aspect)) AND (sar.related_shape_aspect.description = 'second offset'))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'chamfer face'))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Chamfer_Offset SUBTYPE OF (Shape_Aspect); WHERE wr1 : SELF.description IN ['first offset', 'second offset']; wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1; wr4 : (SELF.description <> 'first offset') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'offset amount') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr5 : (SELF.description <> 'second offset') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND ((SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'offset amount') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1) OR (SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'offset angle') AND ( 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF(i)))) = 1)))) = 1); wr6 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND ('AUTOMOTIVE_DESIGN.' + 'CHAMFER' IN TYPEOF(sar. relating_shape_aspect)))) >= 1; wr7 : (SELF.description <> 'first offset') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'first face shape'))) = 1); wr8 : (SELF.description <> 'second offset') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'second face shape'))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Character_Glyph_Symbol SUBTYPE OF (Generic_Character_Glyph_Symbol); character_box : Planar_Extent; baseline_ratio : Ratio_Measure; DERIVE box_height : Length_Measure := character_box.size_in_y; WHERE wr1 : {0.0 <= baseline_ratio <= 1.0}; wr2 : Item_In_Context(SELF.character_box, SELF\Representation. context_of_items); wr3 : 'AUTOMOTIVE_DESIGN.POSITIVE_LENGTH_MEASURE' IN TYPEOF(SELF. Box_Height); END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Characterized_Class SUBTYPE OF (Characterized_Object, Class); END_ENTITY; -- 10303-214: automotive_design
ENTITY Characterized_Object; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: product_property_definition_schema
ENTITY Circle SUBTYPE OF (Conic); radius : Positive_Length_Measure; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Circular_Closed_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'orientation') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Circular_Pattern SUBTYPE OF (Replicate_Feature); WHERE wr1 : (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1) AND (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ('AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)) AND {2 <= SIZEOF(pdr.used_representation.items) <= 5})) = 1); wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'base feature rotation') AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ))) = 1))) <= 1; wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'number of features') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\Measure_With_Unit.value_component)))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'angular spacing') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Circular_Runout_Tolerance SUBTYPE OF (Geometric_Tolerance_With_Datum_Reference); WHERE wr1 : SIZEOF(SELF\Geometric_Tolerance_With_Datum_Reference.datum_system) <= 2 ; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Class SUBTYPE OF (Group); END_ENTITY; -- 10303-214: automotive_design
ENTITY Class_System SUBTYPE OF (Group); END_ENTITY; -- 10303-214: automotive_design
ENTITY Class_Usage_Effectivity_Context_Assignment SUBTYPE OF (Effectivity_Context_Assignment); items : SET [1:?] OF Class_Usage_Effectivity_Context_Item; WHERE wr1 : SELF.role.name = 'class usage influence'; wr2 : SIZEOF(QUERY(i <* SELF.items | NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(i)))) = 0; wr3 : ('AUTOMOTIVE_DESIGN.' + 'APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF( SELF.assigned_effectivity_assignment)) AND (SIZEOF(TYPEOF(SELF. assigned_effectivity_assignment.assigned_effectivity)) = 1) AND (SELF. assigned_effectivity_assignment.assigned_effectivity.id = 'class usage') AND (SIZEOF(QUERY(i <* SELF.assigned_effectivity_assignment\ Applied_Effectivity_Assignment.items | NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)))) = 0); END_ENTITY; -- 10303-214: automotive_design
ENTITY Classification_Assignment ABSTRACT SUPERTYPE; assigned_class : Group; role : Classification_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Classification_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Closed_Path_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'orientation') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | i.name = 'profile shape')) = 1))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Closed_Shell SUBTYPE OF (Connected_Face_Set); END_ENTITY; -- 10303-42: topology_schema
ENTITY Coaxiality_Tolerance SUBTYPE OF (Geometric_Tolerance_With_Datum_Reference); WHERE wr1 : SIZEOF(SELF\Geometric_Tolerance_With_Datum_Reference.datum_system) <= 2 ; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Colour; END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Colour_Rgb SUBTYPE OF (Colour_Specification); red : REAL; green : REAL; blue : REAL; WHERE wr1 : {0.0 <= red <= 1.0}; wr2 : {0.0 <= green <= 1.0}; wr3 : {0.0 <= blue <= 1.0}; END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Colour_Specification SUBTYPE OF (Colour); name : Label; END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Common_Datum SUBTYPE OF (Composite_Shape_Aspect, Datum); WHERE wr1 : SIZEOF(SELF.component_relationships) = 2; wr2 : SIZEOF(QUERY(sar <* SELF.component_relationships | NOT (( 'AUTOMOTIVE_DESIGN.DATUM' IN TYPEOF(sar.related_shape_aspect)) AND NOT ( 'AUTOMOTIVE_DESIGN.COMMON_DATUM' IN TYPEOF(sar.related_shape_aspect))))) = 0; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Comparison_Equal SUBTYPE OF (Comparison_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Comparison_Expression ABSTRACT SUPERTYPE OF (ONEOF (Comparison_Equal, Comparison_Greater, Comparison_Greater_Equal, Comparison_Less, Comparison_Less_Equal, Comparison_Not_Equal, Like_Expression)) SUBTYPE OF (Boolean_Expression, Binary_Generic_Expression); SELF\binary_generic_expression.operands : LIST [2:2] OF Expression; WHERE wr1 : ('AUTOMOTIVE_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF(SELF\ Binary_Generic_Expression.operands[1])) AND ( 'AUTOMOTIVE_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF(SELF\ Binary_Generic_Expression.operands[2])) OR ( 'AUTOMOTIVE_DESIGN.BOOLEAN_EXPRESSION' IN TYPEOF(SELF\ Binary_Generic_Expression.operands[1])) AND ( 'AUTOMOTIVE_DESIGN.BOOLEAN_EXPRESSION' IN TYPEOF(SELF\ Binary_Generic_Expression.operands[2])) OR ( 'AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(SELF\ Binary_Generic_Expression.operands[1])) AND ( 'AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(SELF\ Binary_Generic_Expression.operands[2])); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Comparison_Greater SUBTYPE OF (Comparison_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Comparison_Greater_Equal SUBTYPE OF (Comparison_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Comparison_Less SUBTYPE OF (Comparison_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Comparison_Less_Equal SUBTYPE OF (Comparison_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Comparison_Not_Equal SUBTYPE OF (Comparison_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Composite_Curve SUBTYPE OF (Bounded_Curve); segments : LIST [1:?] OF Composite_Curve_Segment; self_intersect : LOGICAL; DERIVE n_segments : INTEGER := SIZEOF(segments); closed_curve : LOGICAL := segments[n_segments].transition <> Discontinuous; WHERE wr1 : NOT closed_curve AND (SIZEOF(QUERY(temp <* segments | temp.transition = Discontinuous)) = 1) OR closed_curve AND (SIZEOF(QUERY(temp <* segments | temp.transition = Discontinuous)) = 0); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Composite_Curve_On_Surface SUPERTYPE OF (Boundary_Curve) SUBTYPE OF (Composite_Curve); DERIVE basis_surface : SET [0:2] OF Surface := Get_Basis_Surface(SELF); WHERE wr1 : SIZEOF(basis_surface) > 0; wr2 : Constraints_Composite_Curve_On_Surface(SELF); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Composite_Curve_Segment SUBTYPE OF (Founded_Item); transition : Transition_Code; same_sense : BOOLEAN; parent_curve : Curve; INVERSE using_curves : BAG [1:?] OF Composite_Curve FOR segments; WHERE wr1 : 'AUTOMOTIVE_DESIGN.BOUNDED_CURVE' IN TYPEOF(parent_curve); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Composite_Hole SUBTYPE OF (Compound_Feature); WHERE wr1 : SELF\Characterized_Object.description IN ['counterbore', 'countersunk'] ; wr2 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (sa.name = 'compound feature in solid') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar))) = 2))) = 1; wr3 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (sa.name = 'compound feature in solid') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar))) = 2) AND (SIZEOF(Get_Round_Holes_For_Composite_Hole(Bag_To_Set(USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT')))) = 2))) = 1; wr4 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (sa.name = 'compound feature in solid') AND (SIZEOF(QUERY(rh1 <* Get_Round_Holes_For_Composite_Hole(Bag_To_Set(USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT'))) | SIZEOF(QUERY(rh2 <* Get_Round_Holes_For_Composite_Hole(Bag_To_Set(USEDIN (sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ))) | (rh1 :<>: rh2) AND (Get_Diameter_For_Round_Hole(rh1) = Get_Diameter_For_Round_Hole(rh2)))) = 0)) = 0))) = 1; wr5 : (SELF.description <> 'countersunk') OR (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (sa.name = 'compound feature in solid') AND (SIZEOF(QUERY(rh <* Get_Round_Holes_For_Composite_Hole(Bag_To_Set(USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT'))) | SIZEOF(QUERY(sa1 <* Get_Shape_Aspects(rh) | (sa.description = 'change in diameter occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa1, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( sar.description = 'taper usage') AND ('AUTOMOTIVE_DESIGN.' + 'TAPER' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1)) = 1))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Composite_Shape_Aspect SUBTYPE OF (Shape_Aspect); INVERSE component_relationships : SET [2:?] OF Shape_Aspect_Relationship FOR relating_shape_aspect; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Composite_Text SUBTYPE OF (Geometric_Representation_Item); collected_text : SET [2:?] OF Text_Or_Character; WHERE wr1 : Acyclic_Composite_Text(SELF, SELF.collected_text); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Composite_Text_With_Associated_Curves SUBTYPE OF (Composite_Text); associated_curves : SET [1:?] OF Curve; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Composite_Text_With_Blanking_Box SUBTYPE OF (Composite_Text); blanking : Planar_Box; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Composite_Text_With_Extent SUBTYPE OF (Composite_Text); extent : Planar_Extent; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Compound_Feature SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name IN [ 'compound feature in solid', 'compound feature in panel']) AND ( 'AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)))) = 1; wr2 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (SIZEOF(QUERY(sar <* USEDIN( sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | NOT ('AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)))) > 0))) = 0; wr3 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (SIZEOF(QUERY(sar <* USEDIN( sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | NOT (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'INSTANCED_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'PLACED_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'APPLIED_AREA', 'AUTOMOTIVE_DESIGN.' + 'TRANSITION_FEATURE'] * TYPEOF( sar.related_shape_aspect)) = 1))) > 0))) = 0; wr4 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (SIZEOF(QUERY(sar <* USEDIN( sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ('AUTOMOTIVE_DESIGN.' + 'PLACED_FEATURE' IN TYPEOF(sar. related_shape_aspect)) AND (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(sar.related_shape_aspect.of_shape. definition) | ('AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'element placement') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i )))) <> 1))) > 0))) > 0))) = 0; wr5 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'compound feature in solid') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'TRANSITION_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'BOSS', 'AUTOMOTIVE_DESIGN.' + 'APPLIED_AREA'] * TYPEOF(sar.related_shape_aspect)) + SIZEOF(['AUTOMOTIVE_DESIGN.' + 'SLOT', 'AUTOMOTIVE_DESIGN.' + 'POCKET', 'AUTOMOTIVE_DESIGN.' + 'ROUND_HOLE', 'AUTOMOTIVE_DESIGN.' + 'RIB', 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_FEATURE'] * TYPEOF(sar.related_shape_aspect.of_shape.definition)) = 0)) > 0))) = 0; wr6 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'compound feature in panel') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'TRANSITION_FEATURE'] * TYPEOF(sar. related_shape_aspect)) + SIZEOF(['AUTOMOTIVE_DESIGN.' + 'BEAD', 'AUTOMOTIVE_DESIGN.' + 'HOLE_IN_PANEL', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_IN_PANEL', 'AUTOMOTIVE_DESIGN.' + 'JOGGLE', 'AUTOMOTIVE_DESIGN.' + 'LOCATOR', 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_FEATURE'] * TYPEOF(sar.related_shape_aspect.of_shape.definition)) = 0)) > 0))) = 0; wr7 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'compound feature in panel') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_FEATURE' IN TYPEOF(sar. related_shape_aspect.of_shape.definition)) AND (sar.related_shape_aspect. name = 'compound feature in solid'))) > 0))) + SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'compound feature in solid') AND ( SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_FEATURE' IN TYPEOF(sar. related_shape_aspect.of_shape.definition)) AND (sar.related_shape_aspect. name = 'compound feature in panel'))) > 0))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Compound_Representation_Item SUBTYPE OF (Representation_Item); item_element : Compound_Item_Definition; END_ENTITY; -- 10303-43: representation_schema
ENTITY Compound_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (SELF.context_of_items)) AND (SELF.context_of_items\ Geometric_Representation_Context.coordinate_space_dimension = 3); wr2 : SIZEOF(QUERY(cbsr_i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'EDGE_BASED_WIREFRAME_MODEL', 'AUTOMOTIVE_DESIGN.' + 'FACE_BASED_SURFACE_MODEL', 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_3D'] * TYPEOF(cbsr_i)) <> 1)) = 0; wr3 : SIZEOF(QUERY(cbsr_i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'EDGE_BASED_WIREFRAME_MODEL', 'AUTOMOTIVE_DESIGN.' + 'FACE_BASED_SURFACE_MODEL', 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM'] * TYPEOF(cbsr_i)) = 1)) > 0; wr4 : SIZEOF(QUERY(cbsr_i <* SELF.items | ('AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM' IN TYPEOF(cbsr_i)) AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'COMPOUND_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF(cbsr_i\Mapped_Item. mapping_source)) <> 1))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Concat_Expression SUBTYPE OF (String_Expression, Multiple_Arity_Generic_Expression); SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF String_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Concentricity_Tolerance SUBTYPE OF (Geometric_Tolerance_With_Datum_Reference); WHERE wr1 : SIZEOF(SELF\Geometric_Tolerance_With_Datum_Reference.datum_system) = 1; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Concept_Feature_Operator; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-44: product_concept_schema
ENTITY Concept_Feature_Relationship; name : Label; description : OPTIONAL Text; relating_product_concept_feature : Product_Concept_Feature; related_product_concept_feature : Product_Concept_Feature; END_ENTITY; -- 10303-44: product_concept_schema
ENTITY Concept_Feature_Relationship_With_Condition SUBTYPE OF (Concept_Feature_Relationship); conditional_operator : Concept_Feature_Operator; END_ENTITY; -- 10303-44: product_concept_schema
ENTITY Conditional_Concept_Feature SUBTYPE OF (Product_Concept_Feature); condition : Concept_Feature_Relationship_With_Condition; END_ENTITY; -- 10303-44: product_concept_schema
ENTITY Configurable_Item SUBTYPE OF (Configuration_Item); item_concept_feature : SET [1:?] OF Product_Concept_Feature_Association; END_ENTITY; -- 10303-44: configuration_management_schema
ENTITY Configuration_Definition; pair_values : SET [1:?] OF Pair_Value; t_parameter : Motion_Parameter_Measure; END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Configuration_Design; configuration : Configuration_Item; design : Configuration_Design_Item; DERIVE name : Label := Get_Name_Value(SELF); description : Text := Get_Description_Value(SELF); UNIQUE ur1 : configuration, design; WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-44: configuration_management_schema
ENTITY Configuration_Effectivity SUBTYPE OF (Product_Definition_Effectivity); configuration : Configuration_Design; UNIQUE ur1 : configuration, usage, id; WHERE wr1 : 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_USAGE' IN TYPEOF(SELF\ Product_Definition_Effectivity.usage); END_ENTITY; -- 10303-44: configuration_management_schema
ENTITY Configuration_Interpolation; previous_configuration_definition : Configuration_Definition; next_configuration_definition : Configuration_Definition; interpolation : Interpolation_Type; END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Configuration_Item; id : Identifier; name : Label; description : OPTIONAL Text; item_concept : Product_Concept; purpose : OPTIONAL Label; END_ENTITY; -- 10303-44: configuration_management_schema
ENTITY Configured_Effectivity_Assignment SUBTYPE OF (Effectivity_Assignment); items : SET [1:?] OF Configured_Effectivity_Item; WHERE wr1 : (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'EFFECTIVITY'] * TYPEOF(SELF. assigned_effectivity)) = 1) AND (SELF.assigned_effectivity.id = 'configuration validity'); wr2 : SIZEOF(SELF.items) = 1; wr3 : SIZEOF(QUERY(i <* SELF.items | NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(i)) OR NOT (i\Product_Definition. frame_of_reference.name IN ['conceptual definition', 'part occurrence', 'functional definition', 'alternative definition']))) = 0; wr4 : SELF.role.name IN ['design', 'usage']; wr5 : (SELF.role.name <> 'design') OR (SIZEOF(QUERY(i <* SELF.items | ( 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\ Product_Definition.frame_of_reference.name = 'part occurrence'))) = 0); wr6 : (SELF.role.name <> 'usage') OR (SIZEOF(QUERY(i <* SELF.items | ( 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\ Product_Definition.frame_of_reference.name = 'conceptual definition'))) = 0 ); wr7 : SELF.role.description IN ['exception', 'inherited', 'local']; wr8 : SIZEOF(QUERY(X <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT' ) | 'AUTOMOTIVE_DESIGN.' + 'CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(X))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Configured_Effectivity_Context_Assignment SUBTYPE OF (Effectivity_Context_Assignment); items : SET [1:?] OF Configured_Effectivity_Context_Item; WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'CONFIGURED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF (SELF.assigned_effectivity_assignment); wr2 : SIZEOF(SELF.items) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Conic SUPERTYPE OF (ONEOF (Circle, Ellipse, Hyperbola, Parabola)) SUBTYPE OF (Curve); position : Axis2_Placement; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Conical_Surface SUBTYPE OF (Elementary_Surface); radius : Length_Measure; semi_angle : Plane_Angle_Measure; WHERE wr1 : radius >= 0.0; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Connected_Edge_Set SUBTYPE OF (Topological_Representation_Item); ces_edges : SET [1:?] OF Edge; END_ENTITY; -- 10303-42: topology_schema
ENTITY Connected_Face_Set SUPERTYPE OF (ONEOF (Closed_Shell, Open_Shell)) SUBTYPE OF (Topological_Representation_Item); cfs_faces : SET [1:?] OF Face; END_ENTITY; -- 10303-42: topology_schema
ENTITY Connected_Face_Sub_Set SUBTYPE OF (Connected_Face_Set); parent_face_set : Connected_Face_Set; END_ENTITY; -- 10303-42: topology_schema
ENTITY Constructive_Geometry_Representation SUBTYPE OF (Representation); WHERE wr1 : ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (SELF.context_of_items)) AND {2 <= SELF.context_of_items\ Geometric_Representation_Context.coordinate_space_dimension <= 3}; wr2 : SIZEOF(QUERY(cgr_i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'PLACEMENT', 'AUTOMOTIVE_DESIGN.' + 'CURVE', 'AUTOMOTIVE_DESIGN.' + 'EDGE', 'AUTOMOTIVE_DESIGN.' + 'FACE', 'AUTOMOTIVE_DESIGN.' + 'POINT' , 'AUTOMOTIVE_DESIGN.' + 'SURFACE', 'AUTOMOTIVE_DESIGN.' + 'FACE_SURFACE', 'AUTOMOTIVE_DESIGN.' + 'VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1)) = 0; wr3 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_2')) > 0; wr4 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPED_REPRESENTATION')) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Constructive_Geometry_Representation_Relationship SUBTYPE OF (Representation_Relationship); WHERE wr1 : (SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items) AND ( 'AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF .rep_1.context_of_items)); wr2 : 'AUTOMOTIVE_DESIGN.' + 'CONSTRUCTIVE_GEOMETRY_REPRESENTATION' IN TYPEOF(SELF.rep_2); wr3 : SIZEOF(['AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'CONSTRUCTIVE_GEOMETRY_REPRESENTATION'] * TYPEOF( SELF.rep_1)) = 1; wr4 : NOT ('AUTOMOTIVE_DESIGN.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); END_ENTITY; -- 10303-214: automotive_design
ENTITY Contact_Ratio_Representation SUBTYPE OF (Representation); WHERE wr1 : (SIZEOF(SELF.items) = 1) AND (SIZEOF(QUERY(i <* SELF.items | (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE'] * TYPEOF(i)) = 1) AND (i.name = 'ratio value'))) = 1); wr2 : (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | pdr.name = 'contact ratio reference')) = 1) AND (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | (pdr.name = 'contact ratio reference') AND ('AUTOMOTIVE_DESIGN.' + 'PHYSICALLY_MODELLED_PRODUCT_DEFINITION' IN TYPEOF(pdr.definition. definition)))) = 1); wr3 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' )) = 1) AND (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | SIZEOF(QUERY(gpa <* USEDIN(pdr.definition, 'AUTOMOTIVE_DESIGN.GENERAL_PROPERTY_ASSOCIATION.DERIVED_DEFINITION') | ( 'AUTOMOTIVE_DESIGN.' + 'GENERAL_PROPERTY' IN TYPEOF(gpa.base_definition) ) AND (gpa.base_definition.name = 'surface_texture'))) = 1)) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Context_Dependent_Invisibility SUBTYPE OF (Invisibility); presentation_context : Invisibility_Context; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Context_Dependent_Over_Riding_Styled_Item SUBTYPE OF (Over_Riding_Styled_Item); style_context : LIST [1:?] OF Style_Context_Select; WHERE wr1 : (SIZEOF(QUERY(sc <* SELF.style_context | 'AUTOMOTIVE_DESIGN.REPRESENTATION_ITEM' IN TYPEOF(sc))) = 1) OR (SIZEOF( QUERY(sc <* SELF.style_context | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(sc))) = SIZEOF(style_context)) OR (SIZEOF(QUERY(sc <* SELF. style_context | 'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION_RELATIONSHIP' IN TYPEOF(sc))) = SIZEOF(style_context)); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Context_Dependent_Shape_Representation; representation_relation : Shape_Representation_Relationship; represented_product_relation : Product_Definition_Shape; DERIVE description : Text := Get_Description_Value(SELF); name : Label := Get_Name_Value(SELF); WHERE wr1 : 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF. represented_product_relation.definition); wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; wr3 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; -- 10303-41: product_property_representation_schema
ENTITY Context_Dependent_Unit SUBTYPE OF (Named_Unit); name : Label; END_ENTITY; -- 10303-41: measure_schema
ENTITY Contract; name : Label; purpose : Text; kind : Contract_Type; END_ENTITY; -- 10303-41: contract_schema
ENTITY Contract_Assignment ABSTRACT SUPERTYPE; assigned_contract : Contract; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Contract_Type; description : Label; END_ENTITY; -- 10303-41: contract_schema
ENTITY Conversion_Based_Unit SUBTYPE OF (Named_Unit); name : Label; conversion_factor : Measure_With_Unit; DERIVE SELF\named_unit.dimensions : Dimensional_Exponents := Derive_Dimensional_Exponents(conversion_factor\Measure_With_Unit. unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Coordinated_Universal_Time_Offset; hour_offset : INTEGER; minute_offset : OPTIONAL INTEGER; sense : Ahead_Or_Behind; DERIVE actual_minute_offset : INTEGER := NVL(minute_offset, 0); WHERE wr1 : {0 <= hour_offset < 24}; wr2 : {0 <= actual_minute_offset <= 59}; wr3 : NOT (((hour_offset <> 0) OR (actual_minute_offset <> 0)) AND (sense = Exact)); END_ENTITY; -- 10303-41: date_time_schema
ENTITY Cos_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Csg_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SELF.context_of_items\Geometric_Representation_Context. coordinate_space_dimension = 3; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.CSG_SOLID', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D', 'AUTOMOTIVE_DESIGN.SOLID_REPLICA', 'AUTOMOTIVE_DESIGN.REVOLVED_FACE_SOLID', 'AUTOMOTIVE_DESIGN.EXTRUDED_FACE_SOLID'] * TYPEOF(it)) <> 1)) = 0; wr3 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT ( 'AUTOMOTIVE_DESIGN.CSG_SHAPE_REPRESENTATION' IN TYPEOF(mi\Mapped_Item. mapping_source.mapped_representation)))) = 0; wr4 : SIZEOF(QUERY(sr <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SOLID_REPLICA' IN TYPEOF(it)) | SIZEOF([ 'AUTOMOTIVE_DESIGN.CSG_SOLID', 'AUTOMOTIVE_DESIGN.REVOLVED_FACE_SOLID', 'AUTOMOTIVE_DESIGN.EXTRUDED_FACE_SOLID'] * TYPEOF(sr\Solid_Replica. parent_solid)) = 0)) = 0; wr5 : SIZEOF(QUERY(it <* SELF.items | NOT ( 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D' IN TYPEOF(it)))) > 0; END_ENTITY; (* declared in: aic_csg *)
ENTITY Csg_Solid SUBTYPE OF (Solid_Model); tree_root_expression : Csg_Select; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Curve SUPERTYPE OF (ONEOF (Line, Conic, Pcurve, Surface_Curve, Offset_Curve_2d, Offset_Curve_3d, Curve_Replica)) SUBTYPE OF (Geometric_Representation_Item); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Curve_Bounded_Surface SUBTYPE OF (Bounded_Surface); basis_surface : Surface; boundaries : SET [1:?] OF Boundary_Curve; implicit_outer : BOOLEAN; WHERE wr1 : NOT implicit_outer OR (SIZEOF(QUERY(temp <* boundaries | 'AUTOMOTIVE_DESIGN.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0); wr2 : NOT implicit_outer OR ('AUTOMOTIVE_DESIGN.BOUNDED_SURFACE' IN TYPEOF (basis_surface)); wr3 : SIZEOF(QUERY(temp <* boundaries | 'AUTOMOTIVE_DESIGN.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) <= 1; wr4 : SIZEOF(QUERY(temp <* boundaries | temp\Composite_Curve_On_Surface. basis_surface[1] <> SELF.basis_surface)) = 0; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Curve_Dimension SUBTYPE OF (Dimension_Curve_Directed_Callout); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Curve_Replica SUBTYPE OF (Curve); parent_curve : Curve; transformation : Cartesian_Transformation_Operator; WHERE wr1 : Transformation.dim = parent_curve.dim; wr2 : Acyclic_Curve_Replica(SELF, parent_curve); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Curve_Style SUBTYPE OF (Founded_Item); name : Label; curve_font : Curve_Font_Or_Scaled_Curve_Font_Select; curve_width : Size_Select; curve_colour : Colour; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Curve_Style_Font SUBTYPE OF (Founded_Item); name : Label; pattern_list : LIST [1:?] OF Curve_Style_Font_Pattern; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Curve_Style_Font_Pattern SUBTYPE OF (Founded_Item); visible_segment_length : Positive_Length_Measure; invisible_segment_length : Positive_Length_Measure; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Curve_Style_Rendering; rendering_method : Shading_Curve_Method; rendering_properties : Surface_Rendering_Properties; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Curve_Swept_Solid_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.SWEPT_AREA_SOLID', 'AUTOMOTIVE_DESIGN.SWEPT_DISK_SOLID', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' , 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.SWEPT_AREA_SOLID', 'AUTOMOTIVE_DESIGN.SWEPT_DISK_SOLID', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' ] * TYPEOF(it)) = 1)) > 0; wr3 : SIZEOF(QUERY(mi <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT ( 'AUTOMOTIVE_DESIGN.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN TYPEOF(mi\ Mapped_Item.mapping_source.mapped_representation)))) = 0; wr4 : SIZEOF(QUERY(scsas <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SURFACE_CURVE_SWEPT_AREA_SOLID' IN TYPEOF(it)) | NOT (('AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(scsas.directrix)) OR ( 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(scsas.directrix))))) = 0; END_ENTITY; (* declared in: aic_curve_swept_solid *)
ENTITY Cylindrical_Pair SUBTYPE OF (Kinematic_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Cylindrical_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Cylindrical_Pair; lower_limit_actual_translation : Translational_Range_Measure; upper_limit_actual_translation : Translational_Range_Measure; lower_limit_actual_rotation : Rotational_Range_Measure; upper_limit_actual_rotation : Rotational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_translation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_actual_translation)) XOR ( lower_limit_actual_translation < upper_limit_actual_translation); wr2 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_rotation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_actual_rotation)) XOR (lower_limit_actual_rotation < upper_limit_actual_rotation); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Cylindrical_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Cylindrical_Pair; actual_translation : Length_Measure; actual_rotation : Plane_Angle_Measure; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Cylindrical_Surface SUBTYPE OF (Elementary_Surface); radius : Positive_Length_Measure; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Cylindricity_Tolerance SUBTYPE OF (Geometric_Tolerance); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF(SELF)); END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Data_Environment; name : Label; description : Text; elements : SET [1:?] OF Property_Definition_Representation; END_ENTITY; -- 10303-45: material_property_representation_schema
ENTITY Date SUPERTYPE OF (Calendar_Date); year_component : Year_Number; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Date_And_Time; date_component : Date; time_component : Local_Time; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Date_And_Time_Assignment ABSTRACT SUPERTYPE; assigned_date_and_time : Date_And_Time; role : Date_Time_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Date_Assignment ABSTRACT SUPERTYPE; assigned_date : Date; role : Date_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Date_Role; name : Label; DERIVE description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Date_Time_Role; name : Label; DERIVE description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Dated_Effectivity SUBTYPE OF (Effectivity); effectivity_end_date : OPTIONAL Date_Time_Or_Event_Occurrence; effectivity_start_date : Date_Time_Or_Event_Occurrence; END_ENTITY; -- 10303-41: effectivity_schema
ENTITY Datum SUBTYPE OF (Shape_Aspect); identification : Identifier; INVERSE established_by_relationships : SET [1:?] OF Shape_Aspect_Relationship FOR related_shape_aspect; WHERE wr1 : SIZEOF(QUERY(X <* SELF\Datum.established_by_relationships | SIZEOF( TYPEOF(X\Shape_Aspect_Relationship.relating_shape_aspect) * [ 'AUTOMOTIVE_DESIGN.DATUM_FEATURE', 'AUTOMOTIVE_DESIGN.DATUM_TARGET']) <> 1)) = 0; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Datum_Feature SUBTYPE OF (Shape_Aspect); INVERSE feature_basis_relationship : Shape_Aspect_Relationship FOR relating_shape_aspect; WHERE wr1 : SIZEOF(QUERY(sar <* Bag_To_Set(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT')) | NOT ('AUTOMOTIVE_DESIGN.DATUM' IN TYPEOF(sar\Shape_Aspect_Relationship. related_shape_aspect)))) = 0; wr2 : SELF\Shape_Aspect.product_definitional = TRUE; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Datum_Feature_Callout SUBTYPE OF (Draughting_Callout); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Datum_Reference; precedence : INTEGER; referenced_datum : Datum; WHERE wr1 : precedence > 0; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Datum_Target SUBTYPE OF (Shape_Aspect); target_id : Identifier; INVERSE target_basis_relationship : Shape_Aspect_Relationship FOR relating_shape_aspect; WHERE wr1 : SIZEOF(QUERY(sar <* Bag_To_Set(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT')) | NOT ('AUTOMOTIVE_DESIGN.DATUM' IN TYPEOF(sar\Shape_Aspect_Relationship. related_shape_aspect)))) = 0; wr2 : SELF\Shape_Aspect.product_definitional = TRUE; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Datum_Target_Callout SUBTYPE OF (Draughting_Callout); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Default_Tolerance_Table SUBTYPE OF (Representation); WHERE wr1 : SIZEOF(QUERY(i <* SELF.items | NOT ('AUTOMOTIVE_DESIGN.' + 'DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)))) = 0; wr2 : (SIZEOF(QUERY(rr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_1') | rr.name <> 'general tolerance definition')) = 0) AND (SIZEOF(QUERY(rr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_1') | (rr.name = 'general tolerance definition') AND (rr.rep_2.name <> 'default tolerances') )) = 0) AND (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_2')) = 0); END_ENTITY; -- 10303-214: automotive_design
ENTITY Default_Tolerance_Table_Cell SUBTYPE OF (Compound_Representation_Item); WHERE wr1 : SIZEOF(QUERY(X <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | 'AUTOMOTIVE_DESIGN.' + 'DEFAULT_TOLERANCE_TABLE' IN TYPEOF(X))) = 1; wr2 : Default_Tolerance_Table_Cell_Wr2(SELF\Compound_Representation_Item. item_element); wr3 : Default_Tolerance_Table_Cell_Wr3(SELF\Compound_Representation_Item. item_element); wr4 : Default_Tolerance_Table_Cell_Wr4(SELF\Compound_Representation_Item. item_element); wr5 : Default_Tolerance_Table_Cell_Wr5(SELF\Compound_Representation_Item. item_element); END_ENTITY; -- 10303-214: automotive_design
ENTITY Defined_Character_Glyph SUBTYPE OF (Geometric_Representation_Item); definition : Defined_Glyph_Select; placement : Axis2_Placement; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Defined_Function ABSTRACT SUPERTYPE OF (ONEOF (Numeric_Defined_Function, String_Defined_Function , Boolean_Defined_Function) ANDOR Sql_Mappable_Defined_Function); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Defined_Symbol SUBTYPE OF (Geometric_Representation_Item); definition : Defined_Symbol_Select; target : Symbol_Target; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Definitional_Representation SUBTYPE OF (Representation); WHERE wr1 : 'AUTOMOTIVE_DESIGN.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF \Representation.context_of_items); END_ENTITY; -- 10303-43: representation_schema
ENTITY Degenerate_Pcurve SUBTYPE OF (Point); basis_surface : Surface; reference_to_curve : Definitional_Representation; WHERE wr1 : SIZEOF(reference_to_curve\Representation.items) = 1; wr2 : 'AUTOMOTIVE_DESIGN.CURVE' IN TYPEOF(reference_to_curve\ Representation.items[1]); wr3 : reference_to_curve\Representation.items[1]\ Geometric_Representation_Item.dim = 2; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Degenerate_Toroidal_Surface SUBTYPE OF (Toroidal_Surface); select_outer : BOOLEAN; WHERE wr1 : major_radius < minor_radius; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Derived_Shape_Aspect SUPERTYPE OF (ONEOF (Apex, Centre_Of_Symmetry, Geometric_Alignment, Geometric_Intersection, Parallel_Offset, Perpendicular_To, Extension, Tangent)) SUBTYPE OF (Shape_Aspect); INVERSE deriving_relationships : SET [1:?] OF Shape_Aspect_Relationship FOR relating_shape_aspect; WHERE wr1 : SIZEOF(QUERY(dr <* SELF\Derived_Shape_Aspect.deriving_relationships | NOT ('AUTOMOTIVE_DESIGN.' + 'SHAPE_ASPECT_DERIVING_RELATIONSHIP' IN TYPEOF(dr)))) = 0; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Derived_Unit SUPERTYPE OF (ONEOF (Area_Unit, Volume_Unit)); elements : SET [1:?] OF Derived_Unit_Element; DERIVE name : Label := Get_Name_Value(SELF); WHERE wr1 : (SIZEOF(elements) > 1) OR (SIZEOF(elements) = 1) AND (elements[1]. exponent <> 1.0); wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; -- 10303-41: measure_schema
ENTITY Derived_Unit_Element; unit : Named_Unit; exponent : REAL; END_ENTITY; -- 10303-41: measure_schema
ENTITY Derived_Unit_Variable SUBTYPE OF (Derived_Unit, Variable_Semantics); INVERSE associated_variable_environment : Environment FOR semantics; END_ENTITY; -- 10303-214: automotive_design
ENTITY Description_Attribute; attribute_value : Text; described_item : Description_Attribute_Select; END_ENTITY; -- 10303-41: basic_attribute_schema
ENTITY Descriptive_Representation_Item SUBTYPE OF (Representation_Item); description : Text; END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Diameter_Dimension SUBTYPE OF (Dimension_Curve_Directed_Callout); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Dimension_Callout SUBTYPE OF (Draughting_Callout); WHERE wr1 : ('AUTOMOTIVE_DESIGN.LEADER_DIRECTED_CALLOUT' IN TYPEOF(SELF)) XOR ( SIZEOF(QUERY(dce_1 <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.LEADER_CURVE' IN TYPEOF(dce_1))) = 0); wr2 : ('AUTOMOTIVE_DESIGN.PROJECTION_DIRECTED_CALLOUT' IN TYPEOF(SELF)) XOR (SIZEOF(QUERY(dce_1 <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.PROJECTION_CURVE' IN TYPEOF(dce_1))) = 0); wr3 : ('AUTOMOTIVE_DESIGN.DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(SELF )) XOR (SIZEOF(QUERY(dce_1 <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.DIMENSION_CURVE' IN TYPEOF(dce_1))) = 0); END_ENTITY; -- 10303-101: draughting_dimension_schema
ENTITY Dimension_Callout_Component_Relationship SUBTYPE OF (Draughting_Callout_Relationship); WHERE wr1 : SELF.name IN ['prefix', 'suffix']; wr2 : 'AUTOMOTIVE_DESIGN.STRUCTURED_DIMENSION_CALLOUT' IN TYPEOF(SELF. relating_draughting_callout); wr3 : SIZEOF(TYPEOF(SELF.related_draughting_callout) * [ 'AUTOMOTIVE_DESIGN.LEADER_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.PROJECTION_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.DIMENSION_CURVE_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.STRUCTURED_DIMENSION_CALLOUT']) = 0; wr4 : SELF.related_draughting_callout.contents * SELF. relating_draughting_callout.contents = SELF.related_draughting_callout. contents; wr5 : (SELF.name = 'prefix') AND (SIZEOF(QUERY(ato <* QUERY(con <* SELF. related_draughting_callout.contents | 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(con)) | NOT ( ato.name = 'prefix text'))) = 0); wr6 : (SELF.name = 'suffix') AND (SIZEOF(QUERY(ato <* QUERY(con <* SELF. related_draughting_callout.contents | 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(con)) | NOT ( ato.name = 'suffix text'))) = 0); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Dimension_Callout_Relationship SUBTYPE OF (Draughting_Callout_Relationship); WHERE wr1 : SELF.name IN ['primary', 'secondary']; wr2 : SIZEOF(TYPEOF(SELF.relating_draughting_callout) * [ 'AUTOMOTIVE_DESIGN.ANGULAR_DIMENSION', 'AUTOMOTIVE_DESIGN.CURVE_DIMENSION', 'AUTOMOTIVE_DESIGN.DIAMETER_DIMENSION', 'AUTOMOTIVE_DESIGN.LEADER_DIRECTED_DIMENSION', 'AUTOMOTIVE_DESIGN.LINEAR_DIMENSION', 'AUTOMOTIVE_DESIGN.ORDINATE_DIMENSION', 'AUTOMOTIVE_DESIGN.RADIUS_DIMENSION']) >= 1; wr3 : SIZEOF(TYPEOF(SELF.related_draughting_callout) * [ 'AUTOMOTIVE_DESIGN.DIMENSION_CURVE_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.PROJECTION_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.LEADER_DIRECTED_CALLOUT']) = 0; wr4 : SELF.related_draughting_callout.contents * SELF. relating_draughting_callout.contents = SELF.related_draughting_callout. contents; END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Dimension_Curve SUBTYPE OF (Annotation_Curve_Occurrence); WHERE wr1 : SIZEOF(QUERY(dct <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.TERMINATOR_SYMBOL.ANNOTATED_CURVE') | 'AUTOMOTIVE_DESIGN.' + 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct))) <= 2; wr2 : SIZEOF(QUERY(dcdc <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT.CONTENTS') | 'AUTOMOTIVE_DESIGN.' + 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(dcdc ))) >= 1; wr3 : (SIZEOF(QUERY(dct1 <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.TERMINATOR_SYMBOL.ANNOTATED_CURVE') | ( 'AUTOMOTIVE_DESIGN.' + 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct1)) AND (dct1\Dimension_Curve_Terminator.role = Dimension_Extent_Usage.Origin))) <= 1) AND (SIZEOF(QUERY(dct2 <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.TERMINATOR_SYMBOL.ANNOTATED_CURVE') | ( 'AUTOMOTIVE_DESIGN.' + 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct2)) AND (dct2\Dimension_Curve_Terminator.role = Dimension_Extent_Usage.Target))) <= 1); END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Dimension_Curve_Directed_Callout SUBTYPE OF (Draughting_Callout); WHERE wr1 : SIZEOF(QUERY(d_c <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.DIMENSION_CURVE' IN TYPEOF(d_c))) = 1; wr2 : SIZEOF(SELF\Draughting_Callout.contents) >= 2; END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Dimension_Curve_Terminator SUBTYPE OF (Terminator_Symbol); role : Dimension_Extent_Usage; WHERE wr1 : 'AUTOMOTIVE_DESIGN.DIMENSION_CURVE' IN TYPEOF(SELF\Terminator_Symbol .annotated_curve); END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Dimension_Pair SUBTYPE OF (Draughting_Callout_Relationship); WHERE wr1 : SELF.name IN ['chained', 'parallel']; wr2 : SIZEOF(TYPEOF(SELF.relating_draughting_callout) * [ 'AUTOMOTIVE_DESIGN.ANGULAR_DIMENSION', 'AUTOMOTIVE_DESIGN.CURVE_DIMENSION', 'AUTOMOTIVE_DESIGN.DIAMETER_DIMENSION', 'AUTOMOTIVE_DESIGN.LINEAR_DIMENSION', 'AUTOMOTIVE_DESIGN.ORDINATE_DIMENSION', 'AUTOMOTIVE_DESIGN.RADIUS_DIMENSION']) = 1; wr3 : SIZEOF(TYPEOF(SELF.related_draughting_callout) * [ 'AUTOMOTIVE_DESIGN.ANGULAR_DIMENSION', 'AUTOMOTIVE_DESIGN.CURVE_DIMENSION', 'AUTOMOTIVE_DESIGN.DIAMETER_DIMENSION', 'AUTOMOTIVE_DESIGN.LINEAR_DIMENSION', 'AUTOMOTIVE_DESIGN.ORDINATE_DIMENSION', 'AUTOMOTIVE_DESIGN.RADIUS_DIMENSION']) = 1; END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Dimension_Related_Tolerance_Zone_Element; related_dimension : Dimensional_Location; related_element : Tolerance_Zone_Definition; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Dimension_Text_Associativity SUBTYPE OF (Text_Literal, Mapped_Item); WHERE wr1 : 'AUTOMOTIVE_DESIGN.SHAPE_DIMENSION_REPRESENTATION' IN TYPEOF(SELF\ Mapped_Item.mapping_source.mapped_representation); wr2 : 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT' IN TYPEOF(SELF\Mapped_Item. mapping_target); wr3 : SIZEOF(QUERY(ato <* QUERY(si <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM') | 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(si)) | NOT ( SIZEOF(QUERY(dc <* USEDIN(ato, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT.CONTENTS') | 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT' IN TYPEOF(dc)) * [SELF\ Mapped_Item.mapping_target]) = 1))) = 0; END_ENTITY; (* declared in: aic_associative_draughting_elements *)
ENTITY Dimensional_Characteristic_Representation; dimension : Dimensional_Characteristic; representation : Shape_Dimension_Representation; END_ENTITY; -- 10303-47: shape_dimension_schema
ENTITY Dimensional_Exponents; length_exponent : REAL; mass_exponent : REAL; time_exponent : REAL; electric_current_exponent : REAL; thermodynamic_temperature_exponent : REAL; amount_of_substance_exponent : REAL; luminous_intensity_exponent : REAL; END_ENTITY; -- 10303-41: measure_schema
ENTITY Dimensional_Location SUPERTYPE OF (ONEOF (Angular_Location, Dimensional_Location_With_Path)) SUBTYPE OF (Shape_Aspect_Relationship); END_ENTITY; -- 10303-47: shape_dimension_schema
ENTITY Dimensional_Location_With_Path SUBTYPE OF (Dimensional_Location); path : Shape_Aspect; END_ENTITY; -- 10303-47: shape_dimension_schema
ENTITY Dimensional_Size SUPERTYPE OF (ONEOF (Angular_Size, Dimensional_Size_With_Path)); applies_to : Shape_Aspect; name : Label; WHERE wr1 : applies_to.product_definitional = TRUE; END_ENTITY; -- 10303-47: shape_dimension_schema
ENTITY Dimensional_Size_With_Path SUBTYPE OF (Dimensional_Size); path : Shape_Aspect; END_ENTITY; -- 10303-47: shape_dimension_schema
ENTITY Directed_Action SUBTYPE OF (Executed_Action); directive : Action_Directive; END_ENTITY; -- 10303-41: action_schema
ENTITY Directed_Angle SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1; wr4 : SELF.description IN ['punch direction', 'profile normal', 'surface normal']; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'angle') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Directed_Dimensional_Location SUBTYPE OF (Dimensional_Location); END_ENTITY; -- 10303-214: automotive_design
ENTITY Direction SUBTYPE OF (Geometric_Representation_Item); direction_ratios : LIST [2:3] OF REAL; WHERE wr1 : SIZEOF(QUERY(tmp <* direction_ratios | tmp <> 0.0)) > 0; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Direction_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(SELF.items) = 1; wr2 : SIZEOF(QUERY(i <* SELF.items | 'AUTOMOTIVE_DESIGN.' + 'DIRECTION' IN TYPEOF(i))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Div_Expression SUBTYPE OF (Binary_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Document; id : Identifier; name : Label; description : OPTIONAL Text; kind : Document_Type; INVERSE representation_types : SET OF Document_Representation_Type FOR represented_document; END_ENTITY; -- 10303-41: document_schema
ENTITY Document_File SUBTYPE OF (Document, Characterized_Object); WHERE wr1 : SELF\Characterized_Object.name = ''; wr2 : NOT EXISTS(SELF\Characterized_Object.description); wr3 : SIZEOF(QUERY(drt <* SELF\Document.representation_types | drt.name IN [ 'digital', 'physical'])) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Document_Product_Association; name : Label; description : OPTIONAL Text; relating_document : Document; related_product : Product_Or_Formation_Or_Definition; END_ENTITY; -- 10303-41: document_schema
ENTITY Document_Product_Equivalence SUBTYPE OF (Document_Product_Association); WHERE wr1 : SELF.name = 'equivalence'; wr2 : NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT' IN TYPEOF(SELF.related_product )) OR (SELF.relating_document.kind.product_data_type = 'configuration controlled document') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF. related_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'document')) = 1); wr3 : NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF (SELF.related_product)) OR (SELF.relating_document.kind.product_data_type = 'configuration controlled document version') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF.related_product\Product_Definition_Formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'document')) = 1); wr4 : NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(SELF. related_product)) OR (SELF.relating_document.kind.product_data_type = 'configuration controlled document definition') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF.related_product\Product_Definition.formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'document')) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Document_Reference ABSTRACT SUPERTYPE; assigned_document : Document; source : Label; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Document_Relationship; name : Label; description : OPTIONAL Text; relating_document : Document; related_document : Document; END_ENTITY; -- 10303-41: document_schema
ENTITY Document_Representation_Type; name : Label; represented_document : Document; END_ENTITY; -- 10303-41: document_schema
ENTITY Document_Type; product_data_type : Label; END_ENTITY; -- 10303-41: document_schema
ENTITY Document_Usage_Constraint; source : Document; subject_element : Label; subject_element_value : Text; END_ENTITY; -- 10303-41: document_schema
ENTITY Document_Usage_Constraint_Assignment ABSTRACT SUPERTYPE; assigned_document_usage : Document_Usage_Constraint; role : Document_Usage_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Document_Usage_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Draughting_Annotation_Occurrence SUBTYPE OF (Annotation_Occurrence); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF(SELF) ) OR (SIZEOF(QUERY(sty <* SELF.styles | NOT ((SIZEOF(sty.styles) = 1) AND ( 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(sty.styles[1]))))) = 0); wr2 : NOT ('AUTOMOTIVE_DESIGN.ANNOTATION_FILL_AREA_OCCURRENCE' IN TYPEOF( SELF)) OR (SIZEOF(QUERY(sty <* SELF.styles | NOT ((SIZEOF(sty.styles) = 1) AND ('AUTOMOTIVE_DESIGN.FILL_AREA_STYLE' IN TYPEOF(sty.styles[1]))))) = 0); wr3 : NOT ('AUTOMOTIVE_DESIGN.ANNOTATION_FILL_AREA_OCCURRENCE' IN TYPEOF( SELF)) OR (SIZEOF(QUERY(bound <* SELF.item\Annotation_Fill_Area.boundaries | NOT (SIZEOF(QUERY(si <* USEDIN(bound, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM') | 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF(si))) > 0))) = 0); wr4 : NOT ('AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL_OCCURRENCE' IN TYPEOF(SELF )) OR (SIZEOF(QUERY(sty <* SELF.styles | NOT ((SIZEOF(sty.styles) = 1) AND (SIZEOF(TYPEOF(sty.styles[1]) * ['AUTOMOTIVE_DESIGN.SYMBOL_STYLE', 'AUTOMOTIVE_DESIGN.NULL_STYLE']) = 1)))) = 0); wr5 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL_OCCURRENCE' IN TYPEOF( SELF)) AND ('AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL' IN TYPEOF(SELF.item))) OR (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_SYMBOL_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] * TYPEOF( SELF.item\Mapped_Item.mapping_source.mapped_representation)) = 1); wr6 : NOT ('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF)) OR (SIZEOF(QUERY(sty <* SELF.styles | NOT ((SIZEOF(sty.styles) = 1) AND ( 'AUTOMOTIVE_DESIGN.TEXT_STYLE' IN TYPEOF(sty.styles[1]))))) = 0); wr7 : ('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF)) OR (SIZEOF(TYPEOF(SELF.item) * ['AUTOMOTIVE_DESIGN.COMPOSITE_TEXT', 'AUTOMOTIVE_DESIGN.TEXT_LITERAL']) = 1); wr8 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF) ) AND ('AUTOMOTIVE_DESIGN.COMPOSITE_TEXT' IN TYPEOF(SELF.item))) OR ( SIZEOF(QUERY(tl <* SELF.item\Composite_Text.collected_text | NOT ( 'AUTOMOTIVE_DESIGN.TEXT_LITERAL' IN TYPEOF(tl)))) = 0); wr9 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF) ) AND ('AUTOMOTIVE_DESIGN.TEXT_LITERAL' IN TYPEOF(SELF.item))) OR (SELF. item\Text_Literal.alignment IN ['baseline left', 'baseline centre', 'baseline right']); wr10 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF )) AND ('AUTOMOTIVE_DESIGN.COMPOSITE_TEXT' IN TYPEOF(SELF.item))) OR ( SIZEOF(QUERY(tl <* QUERY(Text <* SELF.item\Composite_Text.collected_text | 'AUTOMOTIVE_DESIGN.TEXT_LITERAL' IN TYPEOF(Text)) | NOT (tl\Text_Literal .alignment IN ['baseline left', 'baseline centre', 'baseline right']))) = 0 ); wr11 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF )) AND ('AUTOMOTIVE_DESIGN.COMPOSITE_TEXT' IN TYPEOF(SELF.item))) OR Check_Text_Alignment(SELF.item); wr12 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF )) AND ('AUTOMOTIVE_DESIGN.COMPOSITE_TEXT' IN TYPEOF(SELF.item))) OR Check_Text_Font(SELF.item); wr13 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF )) AND ('AUTOMOTIVE_DESIGN.COMPOSITE_TEXT' IN TYPEOF(SELF.item))) OR ( SIZEOF(QUERY(tl <* QUERY(Text <* SELF.item\Composite_Text.collected_text | 'AUTOMOTIVE_DESIGN.TEXT_LITERAL' IN TYPEOF(Text)) | NOT (SIZEOF(TYPEOF( tl) * ['AUTOMOTIVE_DESIGN.' + 'TEXT_LITERAL_WITH_BLANKING_BOX', 'AUTOMOTIVE_DESIGN.' + 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0))) = 0); wr14 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF )) AND ('AUTOMOTIVE_DESIGN.TEXT_LITERAL_WITH_ASSOCIATED_CURVES' IN TYPEOF(SELF.item))) OR (SIZEOF(QUERY(crv <* SELF.item\ Text_Literal_With_Associated_Curves.associated_curves | NOT (SIZEOF(QUERY( si <* USEDIN(crv, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM') | 'AUTOMOTIVE_DESIGN.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF(si))) > 0))) = 0); wr15 : NOT (('AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(SELF )) AND ('AUTOMOTIVE_DESIGN.COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES' IN TYPEOF(SELF.item))) OR (SIZEOF(QUERY(crv <* SELF.item\ Composite_Text_With_Associated_Curves.associated_curves | NOT (SIZEOF( QUERY(si <* USEDIN(crv, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM') | 'AUTOMOTIVE_DESIGN.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF(si))) > 0))) = 0); wr16 : SIZEOF(QUERY(cs <* QUERY(sty <* SELF.styles | 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(sty.styles[1])) | NOT (( 'AUTOMOTIVE_DESIGN.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(cs.styles[1]\ Curve_Style.curve_width)) AND ( 'AUTOMOTIVE_DESIGN.POSITIVE_LENGTH_MEASURE' IN TYPEOF(cs.styles[1]\ Curve_Style.curve_width\Measure_With_Unit.value_component))))) = 0; wr17 : SIZEOF(QUERY(fas <* QUERY(sty <* SELF.styles | 'AUTOMOTIVE_DESIGN.FILL_AREA_STYLE' IN TYPEOF(sty.styles[1])) | NOT (( SIZEOF(QUERY(fs <* fas.styles[1]\Fill_Area_Style.fill_styles | 'AUTOMOTIVE_DESIGN.FILL_AREA_STYLE_TILES' IN TYPEOF(fs))) <= 1) AND ( SIZEOF(QUERY(fst <* QUERY(fs <* fas.styles[1]\Fill_Area_Style.fill_styles | 'AUTOMOTIVE_DESIGN.FILL_AREA_STYLE_TILES' IN TYPEOF(fs)) | NOT ( SIZEOF(fst\Fill_Area_Style_Tiles.tiles) = 1))) = 0)))) = 0; wr18 : SIZEOF(QUERY(fas <* QUERY(sty <* SELF.styles | 'AUTOMOTIVE_DESIGN.FILL_AREA_STYLE' IN TYPEOF(sty.styles[1])) | NOT ( SIZEOF(QUERY(fsh <* QUERY(fs <* fas.styles[1]\Fill_Area_Style.fill_styles | 'AUTOMOTIVE_DESIGN.FILL_AREA_STYLE_HATCHING' IN TYPEOF(fs)) | NOT ( fsh\Fill_Area_Style_Hatching.point_of_reference_hatch_line :=: fsh\ Fill_Area_Style_Hatching.pattern_start))) = 0))) = 0; wr19 : SIZEOF(QUERY(ts <* QUERY(sty <* SELF.styles | 'AUTOMOTIVE_DESIGN.TEXT_STYLE' IN TYPEOF(sty.styles[1])) | NOT ( 'AUTOMOTIVE_DESIGN.' + 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' IN TYPEOF( ts.styles[1])))) = 0; wr20 : SIZEOF(QUERY(ts <* QUERY(sty <* SELF.styles | 'AUTOMOTIVE_DESIGN.TEXT_STYLE_WITH_BOX_CHARACTERISTICS' IN TYPEOF(sty. styles[1])) | NOT (SIZEOF(ts.styles[1]\Text_Style_With_Box_Characteristics. characteristics) = 4))) = 0; END_ENTITY; (* declared in: aic_draughting_annotation *)
ENTITY Draughting_Callout SUBTYPE OF (Geometric_Representation_Item); contents : SET [1:?] OF Draughting_Callout_Element; WHERE wr1 : (SIZEOF(QUERY(l_1 <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.LEADER_CURVE' IN TYPEOF(l_1))) = 0) OR ( 'AUTOMOTIVE_DESIGN.LEADER_DIRECTED_CALLOUT' IN TYPEOF(SELF)) AND (SIZEOF (QUERY(l_1 <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.PROJECTION_CURVE' IN TYPEOF(l_1))) = 0) OR ( 'AUTOMOTIVE_DESIGN.PROJECTION_DIRECTED_CALLOUT' IN TYPEOF(SELF)) AND ( SIZEOF(QUERY(l_1 <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.DIMENSION_CURVE' IN TYPEOF(l_1))) = 0) OR ( 'AUTOMOTIVE_DESIGN.DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(SELF)); END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Draughting_Callout_Relationship; name : Label; description : Text; relating_draughting_callout : Draughting_Callout; related_draughting_callout : Draughting_Callout; END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Draughting_Elements SUBTYPE OF (Draughting_Callout); WHERE wr1 : SIZEOF(QUERY(l_c <* QUERY(con <* SELF.contents | 'AUTOMOTIVE_DESIGN.LEADER_CURVE' IN TYPEOF(con)) | NOT (SIZEOF(QUERY(ldc <* USEDIN(l_c, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT.CONTENTS') | 'AUTOMOTIVE_DESIGN.LEADER_DIRECTED_CALLOUT' IN TYPEOF(ldc))) <= 1))) = 0 ; wr2 : NOT ('AUTOMOTIVE_DESIGN.DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF( SELF)) OR (SIZEOF(QUERY(con <* SELF.contents | 'AUTOMOTIVE_DESIGN.PROJECTION_CURVE' IN TYPEOF(con))) <= 2); wr3 : SIZEOF(QUERY(rc <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT_RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ('AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF( rc)) AND (rc.name = 'primary'))) <= 1; wr4 : SIZEOF(QUERY(rc <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT_RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ('AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF( rc)) AND (rc.name = 'secondary'))) <= 1; wr5 : SIZEOF(QUERY(sec <* QUERY(rc <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT_RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ('AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF( rc)) AND (rc.name = 'secondary')) | NOT (SIZEOF(QUERY(prim <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT_RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ('AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF( prim)) AND (prim.name = 'primary'))) = 1))) = 0; END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Draughting_Model SUBTYPE OF (Representation); UNIQUE ur1 : SELF\Representation.name; WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.STYLED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT', 'AUTOMOTIVE_DESIGN.CAMERA_MODEL' ] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.DRAUGHTING_MODEL'] * TYPEOF(mi\Mapped_Item. mapping_source.mapped_representation)) = 1))) = 0; wr3 : SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(si\Styled_Item.item)) | NOT (( 'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION' IN TYPEOF(smi\Styled_Item.item\ Mapped_Item.mapping_source.mapped_representation)) AND (SIZEOF(QUERY(sty <* smi\Styled_Item.styles | NOT (SIZEOF(QUERY(psa <* sty.styles | NOT ( 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(psa)))) = 1))) = 1)))) = 0; END_ENTITY; (* declared in: aic_associative_draughting_elements *)
ENTITY Draughting_Model_Item_Association SUBTYPE OF (Item_Identified_Representation_Usage); SELF\item_identified_representation_usage.definition : Shape_Aspect; SELF\item_identified_representation_usage.used_representation : Draughting_Model; SELF\item_identified_representation_usage.identified_item : Draughting_Model_Item_Association_Select; WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'DATUM_FEATURE_CALLOUT' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'DATUM_FEATURE' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)); wr2 : NOT ('AUTOMOTIVE_DESIGN.' + 'DATUM_TARGET_CALLOUT' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'DATUM_TARGET' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)); wr3 : NOT ('AUTOMOTIVE_DESIGN.' + 'ANGULAR_DIMENSION' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'ANGULAR_SIZE' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)); wr4 : NOT ('AUTOMOTIVE_DESIGN.' + 'CURVE_DIMENSION' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'DIMENSIONAL_SIZE' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)) AND (SELF\ Item_Identified_Representation_Usage.definition.name = 'curve dimension'); wr5 : NOT ('AUTOMOTIVE_DESIGN.' + 'DIAMETER_DIMENSION' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'DIMENSIONAL_SIZE' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)) AND (SELF\ Item_Identified_Representation_Usage.definition.name = 'diameter'); wr6 : NOT ('AUTOMOTIVE_DESIGN.' + 'LINEAR_DIMENSION' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'DIMENSIONAL_SIZE' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)) AND ((SELF\ Item_Identified_Representation_Usage.definition.name = 'heigth') OR (SELF\ Item_Identified_Representation_Usage.definition.name = 'length') OR (SELF\ Item_Identified_Representation_Usage.definition.name = 'width')); wr7 : NOT ('AUTOMOTIVE_DESIGN.' + 'RADIUS_DIMENSION' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'DIMENSIONAL_SIZE' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)) AND (SELF\ Item_Identified_Representation_Usage.definition.name = 'radius'); wr8 : NOT ('AUTOMOTIVE_DESIGN.' + 'GEOMETRICAL_TOLERANCE_CALLOUT' IN TYPEOF(SELF\Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_TOLERANCE' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)); wr9 : NOT ('AUTOMOTIVE_DESIGN.' + 'DIMENSIONAL_SIZE' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.definition)) OR ( 'AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(SELF \Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'LEADER_DIRECTED_DIMENSION' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'ORDINATE_DIMENSION' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)) OR ( 'AUTOMOTIVE_DESIGN.' + 'STRUCTURED_DIMENSION_CALLOUT' IN TYPEOF(SELF\ Item_Identified_Representation_Usage.identified_item)); END_ENTITY; -- 10303-214: automotive_design
ENTITY Draughting_Pre_Defined_Colour SUBTYPE OF (Pre_Defined_Colour); WHERE wr1 : SELF.name IN ['red', 'green', 'blue', 'yellow', 'magenta', 'cyan', 'black', 'white']; END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Draughting_Pre_Defined_Curve_Font SUBTYPE OF (Pre_Defined_Curve_Font); WHERE wr1 : SELF.name IN ['continuous', 'chain', 'chain double dash', 'dashed', 'dotted']; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Draughting_Pre_Defined_Text_Font SUBTYPE OF (Pre_Defined_Text_Font); WHERE wr1 : SELF.name IN ['ISO 3098']; END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Draughting_Specification_Reference SUBTYPE OF (Document_Reference); specified_items : SET [1:?] OF Specified_Item; WHERE wr1 : SELF.assigned_document.kind.product_data_type = 'draughting specification'; END_ENTITY; -- 10303-214: automotive_design
ENTITY Draughting_Subfigure_Representation SUBTYPE OF (Symbol_Representation); WHERE wr1 : SIZEOF(QUERY(item <* SELF\Representation.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.ANNOTATION_OCCURRENCE', 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT'] * TYPEOF(item)) = 1))) = 0; wr2 : SIZEOF(QUERY(item <* SELF\Representation.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.ANNOTATION_OCCURRENCE', 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT'] * TYPEOF(item)) = 1)) >= 1; wr3 : SIZEOF(QUERY(srm <* QUERY(rm <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPED_REPRESENTATION') | 'AUTOMOTIVE_DESIGN.SYMBOL_REPRESENTATION_MAP' IN TYPEOF(rm)) | NOT ( SIZEOF(QUERY(a_s <* QUERY(mi <* srm.map_usage | 'AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL' IN TYPEOF(mi)) | NOT (SIZEOF( QUERY(aso <* USEDIN(a_s, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM') | NOT ( 'AUTOMOTIVE_DESIGN.ANNOTATION_SUBFIGURE_OCCURRENCE' IN TYPEOF(aso)))) = 0))) = 0))) > 0; wr4 : NOT Acyclic_Mapped_Item_Usage(SELF); wr5 : SIZEOF(SELF.context_of_items.representations_in_context) = 1; END_ENTITY; (* declared in: aic_draughting_annotation *)
ENTITY Draughting_Symbol_Representation SUBTYPE OF (Symbol_Representation); UNIQUE ur1 : SELF\Representation.name; WHERE wr1 : SIZEOF(QUERY(item <* SELF\Representation.items | NOT (SIZEOF(TYPEOF( item) * ['AUTOMOTIVE_DESIGN.ANNOTATION_CURVE_OCCURRENCE', 'AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL_OCCURRENCE', 'AUTOMOTIVE_DESIGN.ANNOTATION_FILL_AREA_OCCURRENCE', 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT']) = 1))) = 0; wr2 : SIZEOF(QUERY(item <* SELF\Representation.items | SIZEOF(TYPEOF(item) * ['AUTOMOTIVE_DESIGN.ANNOTATION_CURVE_OCCURRENCE', 'AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL_OCCURRENCE', 'AUTOMOTIVE_DESIGN.ANNOTATION_FILL_AREA_OCCURRENCE', 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE']) = 1)) >= 1; wr3 : SIZEOF(QUERY(item <* SELF\Representation.items | 'AUTOMOTIVE_DESIGN.ANNOTATION_SUBFIGURE_OCCURRENCE' IN TYPEOF(item))) = 0; wr4 : SIZEOF(QUERY(srm <* QUERY(rm <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPED_REPRESENTATION') | 'AUTOMOTIVE_DESIGN.SYMBOL_REPRESENTATION_MAP' IN TYPEOF(rm)) | NOT ( SIZEOF(QUERY(a_s <* QUERY(mi <* srm.map_usage | 'AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL' IN TYPEOF(mi)) | NOT (SIZEOF( QUERY(aso <* USEDIN(a_s, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM') | NOT ( 'AUTOMOTIVE_DESIGN.ANNOTATION_SYMBOL_OCCURRENCE' IN TYPEOF(aso)))) = 0)) ) = 0))) > 0; wr5 : NOT Acyclic_Mapped_Item_Usage(SELF); wr6 : SIZEOF(SELF.context_of_items.representations_in_context) = 1; END_ENTITY; (* declared in: aic_draughting_annotation *)
ENTITY Draughting_Text_Literal_With_Delineation SUBTYPE OF (Text_Literal_With_Delineation); WHERE wr1 : SELF.delineation IN ['underline', 'overline']; END_ENTITY; (* declared in: aic_draughting_annotation *)
ENTITY Draughting_Title; items : SET [1:?] OF Draughting_Titled_Item; language : Label; contents : Text; END_ENTITY; -- 10303-101: drawing_definition_schema
ENTITY Drawing_Definition; drawing_number : Identifier; drawing_type : OPTIONAL Label; END_ENTITY; -- 10303-101: drawing_definition_schema
ENTITY Drawing_Revision SUBTYPE OF (Presentation_Set); revision_identifier : Identifier; drawing_identifier : Drawing_Definition; intended_scale : OPTIONAL Text; UNIQUE ur1 : revision_identifier, drawing_identifier; END_ENTITY; -- 10303-101: drawing_definition_schema
ENTITY Drawing_Revision_Sequence; predecessor : Drawing_Revision; successor : Drawing_Revision; WHERE wr1 : predecessor :<>: successor; END_ENTITY; -- 10303-101: drawing_definition_schema
ENTITY Drawing_Sheet_Layout SUBTYPE OF (Draughting_Symbol_Representation); END_ENTITY; -- 10303-214: automotive_design
ENTITY Drawing_Sheet_Revision SUBTYPE OF (Presentation_Area); revision_identifier : Identifier; WHERE wr1 : SIZEOF(QUERY(item <* SELF\Representation.items | ( 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(item)) AND ( 'AUTOMOTIVE_DESIGN.DRAWING_SHEET_REVISION' IN TYPEOF(item\Mapped_Item. mapping_source.mapped_representation)))) = 0; END_ENTITY; -- 10303-101: drawing_definition_schema
ENTITY Drawing_Sheet_Revision_Usage SUBTYPE OF (Area_In_Set); sheet_number : Identifier; UNIQUE ur1 : sheet_number, in_set; WHERE wr1 : ('AUTOMOTIVE_DESIGN.DRAWING_SHEET_REVISION' IN TYPEOF(SELF\ Area_In_Set.area)) AND ('AUTOMOTIVE_DESIGN.DRAWING_REVISION' IN TYPEOF( SELF\Area_In_Set.in_set)); END_ENTITY; -- 10303-101: drawing_definition_schema
ENTITY Edge SUPERTYPE OF (ONEOF (Edge_Curve, Oriented_Edge, Subedge)) SUBTYPE OF (Topological_Representation_Item); edge_start : Vertex; edge_end : Vertex; END_ENTITY; -- 10303-42: topology_schema
ENTITY Edge_Based_Wireframe_Model SUBTYPE OF (Geometric_Representation_Item); ebwm_boundary : SET [1:?] OF Connected_Edge_Set; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Edge_Based_Wireframe_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.EDGE_BASED_WIREFRAME_MODEL', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.EDGE_BASED_WIREFRAME_MODEL', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1)) >= 1; wr3 : SIZEOF(QUERY(ebwm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(eb <* ebwm\Edge_Based_Wireframe_Model.ebwm_boundary | NOT ( SIZEOF(QUERY(edges <* eb.ces_edges | NOT ('AUTOMOTIVE_DESIGN.EDGE_CURVE' IN TYPEOF(edges)))) = 0))) = 0))) = 0; wr4 : SIZEOF(QUERY(ebwm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(eb <* ebwm\Edge_Based_Wireframe_Model.ebwm_boundary | NOT ( SIZEOF(QUERY(pline_edges <* QUERY(edges <* eb.ces_edges | 'AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(edges\Edge_Curve.edge_geometry)) | NOT (SIZEOF(pline_edges\Edge_Curve.edge_geometry\Polyline.points) > 2))) = 0))) = 0))) = 0; wr5 : SIZEOF(QUERY(ebwm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(eb <* ebwm\Edge_Based_Wireframe_Model.ebwm_boundary | NOT ( SIZEOF(QUERY(edges <* eb.ces_edges | NOT (( 'AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(edges.edge_start)) AND ( 'AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(edges.edge_end))))) = 0))) = 0))) = 0; wr6 : SIZEOF(QUERY(ebwm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(eb <* ebwm\Edge_Based_Wireframe_Model.ebwm_boundary | NOT ( SIZEOF(QUERY(edges <* eb.ces_edges | NOT Valid_Wireframe_Edge_Curve(edges\ Edge_Curve.edge_geometry))) = 0))) = 0))) = 0; wr7 : SIZEOF(QUERY(ebwm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(eb <* ebwm\Edge_Based_Wireframe_Model.ebwm_boundary | NOT ( SIZEOF(QUERY(edges <* eb.ces_edges | NOT (Valid_Wireframe_Vertex_Point( edges.edge_start\Vertex_Point.vertex_geometry) AND Valid_Wireframe_Vertex_Point(edges.edge_end\Vertex_Point.vertex_geometry))) ) = 0))) = 0))) = 0; wr8 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT ( 'AUTOMOTIVE_DESIGN.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF(mi\Mapped_Item.mapping_source.mapped_representation)))) = 0; wr9 : SELF.context_of_items\Geometric_Representation_Context. coordinate_space_dimension = 3; END_ENTITY; (* declared in: aic_edge_based_wireframe *)
ENTITY Edge_Curve SUBTYPE OF (Edge, Geometric_Representation_Item); edge_geometry : Curve; same_sense : BOOLEAN; END_ENTITY; -- 10303-42: topology_schema
ENTITY Edge_Loop SUBTYPE OF (Loop, Path); DERIVE ne : INTEGER := SIZEOF(SELF\Path.edge_list); WHERE wr1 : SELF\Path.edge_list[1].edge_start :=: SELF\Path.edge_list[ne].edge_end; END_ENTITY; -- 10303-42: topology_schema
ENTITY Edge_Round SUBTYPE OF (Transition_Feature); WHERE wr1 : (SELF.description <> 'constant radius') XOR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1); wr2 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {1 <= SIZEOF(pdr.used_representation.items) <= 3})) = 1); wr3 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['radius', 'first offset', 'second offset']))) > 0)) ) = 0); wr4 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr5 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'first offset') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) <= 1))) = 1); wr6 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'second offset') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) <= 1))) = 1); wr7 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'first face shape'))) = 1; wr8 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'second face shape'))) = 1; wr9 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'edge round face' ))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Effectivity SUPERTYPE OF (ONEOF (Serial_Numbered_Effectivity, Dated_Effectivity, Lot_Effectivity, Time_Interval_Based_Effectivity)); id : Identifier; DERIVE name : Label := Get_Name_Value(SELF); description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-41: effectivity_schema
ENTITY Effectivity_Assignment ABSTRACT SUPERTYPE; assigned_effectivity : Effectivity; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Effectivity_Context_Assignment ABSTRACT SUPERTYPE; assigned_effectivity_assignment : Effectivity_Assignment; role : Effectivity_Context_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Effectivity_Context_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Effectivity_Relationship; name : Label; description : OPTIONAL Text; related_effectivity : Effectivity; relating_effectivity : Effectivity; END_ENTITY; -- 10303-41: effectivity_schema
ENTITY Electric_Current_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.ELECTRIC_CURRENT_UNIT' IN TYPEOF(SELF\ Measure_With_Unit.unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Electric_Current_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 1.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Element_Delivery SUBTYPE OF (Action); WHERE wr1 : (SIZEOF(QUERY(aa <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_ASSIGNMENT.ASSIGNED_ACTION') | 'AUTOMOTIVE_DESIGN.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(aa))) = 1) AND (SIZEOF(QUERY(aaa <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_ASSIGNMENT.ASSIGNED_ACTION') | ( 'AUTOMOTIVE_DESIGN.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(aaa)) AND ( aaa.role.name = 'deliverable element') AND (SIZEOF(aaa.items) = 1) AND ( SIZEOF(QUERY(i <* aaa.items | ('AUTOMOTIVE_DESIGN.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(i)) AND (SIZEOF(i\ Applied_Action_Assignment.items) = 1) AND (SIZEOF(QUERY(i1 <* aaa\ Applied_Action_Assignment.items | ('AUTOMOTIVE_DESIGN.' + 'CONFIGURATION_ITEM' IN TYPEOF(i1)) OR ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(i1)) AND (i1\Product_Definition. frame_of_reference.name = 'physical occurrence') OR ( 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF(i1)) AND (SIZEOF(QUERY(prpc <* USEDIN(i1, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc\ Product_Category.name IN ['part', 'raw material', 'tool'])) = 1))) = 1))) = 1))) = 1); wr2 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS')) = 1) AND ( SIZEOF(QUERY(aoa <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS') | aoa.role. name = 'destination')) = 1); wr3 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY.DEFINITION') ) = 1) AND (SIZEOF(QUERY(ap <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY.DEFINITION') | SIZEOF(USEDIN(ap, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY_REPRESENTATION.PROPERTY')) = 1)) = 1) AND (SIZEOF(QUERY(ap <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY.DEFINITION') | SIZEOF(QUERY(apr <* USEDIN(ap, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (apr.Representation.name = 'delivery quantity') AND (SIZEOF(apr. Representation.items) = 1) AND (SIZEOF(QUERY(i <* apr.Representation.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE'] * TYPEOF(i)) = 1)) = 1))) = 1)) = 1); wr4 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATING_ACTION')) + SIZEOF( USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATED_ACTION')) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Elementary_Surface SUPERTYPE OF (ONEOF (Plane, Cylindrical_Surface, Conical_Surface, Spherical_Surface, Toroidal_Surface)) SUBTYPE OF (Surface); position : Axis2_Placement_3d; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Ellipse SUBTYPE OF (Conic); semi_axis_1 : Positive_Length_Measure; semi_axis_2 : Positive_Length_Measure; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Environment; syntactic_representation : Generic_Variable; semantics : Variable_Semantics; END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Equals_Expression SUBTYPE OF (Binary_Boolean_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Evaluated_Degenerate_Pcurve SUBTYPE OF (Degenerate_Pcurve); equivalent_point : Cartesian_Point; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Event_Occurrence; id : Identifier; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Event_Occurrence_Assignment ABSTRACT SUPERTYPE; assigned_event_occurrence : Event_Occurrence; role : Event_Occurrence_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Event_Occurrence_Context_Assignment ABSTRACT SUPERTYPE; assigned_event_occurrence_assignment : Event_Occurrence_Assignment; role : Event_Occurrence_Context_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Event_Occurrence_Context_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Event_Occurrence_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Exclusive_Product_Concept_Feature_Category SUBTYPE OF (Product_Concept_Feature_Category); END_ENTITY; -- 10303-214: automotive_design
ENTITY Executed_Action SUBTYPE OF (Action); END_ENTITY; -- 10303-41: action_schema
ENTITY Exp_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Expression ABSTRACT SUPERTYPE OF (ONEOF (Numeric_Expression, Boolean_Expression, String_Expression)) SUBTYPE OF (Generic_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Expression_Conversion_Based_Unit SUBTYPE OF (Context_Dependent_Unit, Variable_Semantics); INVERSE associated_variable_environment : Environment FOR semantics; END_ENTITY; -- 10303-214: automotive_design
ENTITY Extension SUBTYPE OF (Derived_Shape_Aspect); WHERE wr1 : SIZEOF(SELF\Derived_Shape_Aspect.deriving_relationships) = 1; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY External_Identification_Assignment ABSTRACT SUPERTYPE SUBTYPE OF (Identification_Assignment); source : External_Source; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY External_Source; source_id : Source_Item; DERIVE description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-41: external_reference_schema
ENTITY Externally_Defined_Character_Glyph SUBTYPE OF (Externally_Defined_Item); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Externally_Defined_Class SUBTYPE OF (Class, Externally_Defined_Item); END_ENTITY; -- 10303-214: automotive_design
ENTITY Externally_Defined_Curve_Font SUBTYPE OF (Externally_Defined_Item); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Externally_Defined_Dimension_Definition SUBTYPE OF (Dimensional_Size, Externally_Defined_Item); WHERE wr1 : (SELF\Externally_Defined_Item.item_id = 'external size dimension') AND (SELF\Externally_Defined_Item.Source.source_id = 'external size dimension specification'); wr2 : 1 >= SIZEOF(QUERY(adr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_DOCUMENT_REFERENCE.ITEMS') | adr. assigned_document.description = 'external size dimension specification')); END_ENTITY; -- 10303-214: automotive_design
ENTITY Externally_Defined_Feature_Definition SUBTYPE OF (Feature_Definition, Externally_Defined_Item); WHERE wr1 : (SELF\Externally_Defined_Item.item_id = 'external thread') AND (SELF\ Externally_Defined_Item.Source.source_id = 'external feature specification' ); wr2 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS')) = 1) OR ( SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_DOCUMENT_REFERENCE.ITEMS' )) + SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_DOCUMENT_USAGE_CONSTRAINT_ASSIGNMENT.ITEMS')) = 1); wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND NOT ({6 <= SIZEOF(pdr.used_representation. items) <= 7}))) = 0; wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'thread side') AND (i\ Descriptive_Representation_Item.description IN ['internal', 'external']))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'major diameter'))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'RATIO_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'number of threads'))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'fit class'))) = 1))) = 1; wr8 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'form'))) = 1))) = 1; wr9 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'hand') AND (i\Descriptive_Representation_Item. description IN ['left hand', 'right hand']))) = 1))) = 1; wr10 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'qualifier'))) = 1))) <= 1; wr11 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['thread side', 'major diameter', 'number of threads', 'fit class', 'form', 'hand', 'qualifier']))) > 0))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Externally_Defined_General_Property SUBTYPE OF (General_Property, Externally_Defined_Item); END_ENTITY; -- 10303-214: automotive_design
ENTITY Externally_Defined_Hatch_Style SUBTYPE OF (Externally_Defined_Item, Geometric_Representation_Item); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Externally_Defined_Item; item_id : Source_Item; source : External_Source; END_ENTITY; -- 10303-41: external_reference_schema
ENTITY Externally_Defined_Item_Relationship; name : Label; description : OPTIONAL Text; relating_item : Externally_Defined_Item; related_item : Externally_Defined_Item; END_ENTITY; -- 10303-41: external_reference_schema
ENTITY Externally_Defined_Style SUBTYPE OF (Externally_Defined_Item, Founded_Item); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Externally_Defined_Symbol SUBTYPE OF (Externally_Defined_Item); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Externally_Defined_Text_Font SUBTYPE OF (Externally_Defined_Item); END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Externally_Defined_Tile_Style SUBTYPE OF (Externally_Defined_Item, Geometric_Representation_Item); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Extruded_Area_Solid SUBTYPE OF (Swept_Area_Solid); extruded_direction : Direction; depth : Positive_Length_Measure; WHERE wr1 : Dot_Product(SELF\Swept_Area_Solid.swept_area.basis_surface\ Elementary_Surface.position.p[3], extruded_direction) <> 0.0; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Extruded_Face_Solid SUBTYPE OF (Swept_Face_Solid); extruded_direction : Direction; depth : Positive_Length_Measure; WHERE wr1 : Dot_Product(SELF\Swept_Face_Solid.swept_face.face_geometry\ Elementary_Surface.position.p[3], extruded_direction) <> 0.0; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Face SUPERTYPE OF (ONEOF (Face_Surface, Subface, Oriented_Face)) SUBTYPE OF (Topological_Representation_Item); bounds : SET [1:?] OF Face_Bound; WHERE wr1 : NOT Mixed_Loop_Type_Set(List_To_Set(List_Face_Loops(SELF))); wr2 : SIZEOF(QUERY(temp <* bounds | 'AUTOMOTIVE_DESIGN.FACE_OUTER_BOUND' IN TYPEOF(temp))) <= 1; END_ENTITY; -- 10303-42: topology_schema
ENTITY Face_Based_Surface_Model SUBTYPE OF (Geometric_Representation_Item); fbsm_faces : SET [1:?] OF Connected_Face_Set; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Face_Bound SUBTYPE OF (Topological_Representation_Item); bound : Loop; orientation : BOOLEAN; END_ENTITY; -- 10303-42: topology_schema
ENTITY Face_Outer_Bound SUBTYPE OF (Face_Bound); END_ENTITY; -- 10303-42: topology_schema
ENTITY Face_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(SELF.items) = 1; wr2 : SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'FACE' , 'AUTOMOTIVE_DESIGN.' + 'CLOSED_SHELL', 'AUTOMOTIVE_DESIGN.' + 'OPEN_SHELL'] * TYPEOF(i)) = 1)) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Face_Surface SUBTYPE OF (Face, Geometric_Representation_Item); face_geometry : Surface; same_sense : BOOLEAN; WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.ORIENTED_SURFACE' IN TYPEOF(face_geometry)); END_ENTITY; -- 10303-42: topology_schema
ENTITY Faceted_Brep SUBTYPE OF (Manifold_Solid_Brep); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Faceted_Brep_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.FACETED_BREP', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* items | SIZEOF(['AUTOMOTIVE_DESIGN.FACETED_BREP' , 'AUTOMOTIVE_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; wr3 : SIZEOF(QUERY(fbrep <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.FACETED_BREP' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(csh <* Msb_Shells(fbrep) | NOT (SIZEOF(QUERY(fcs <* csh\Connected_Face_Set. cfs_faces | NOT (('AUTOMOTIVE_DESIGN.FACE_SURFACE' IN TYPEOF(fcs)) AND ( 'AUTOMOTIVE_DESIGN.PLANE' IN TYPEOF(fcs\Face_Surface.face_geometry)) AND ('AUTOMOTIVE_DESIGN.CARTESIAN_POINT' IN TYPEOF(fcs\Face_Surface. face_geometry\Elementary_Surface.position.location))))) = 0))) = 0))) = 0; wr4 : SIZEOF(QUERY(fbrep <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.FACETED_BREP' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(csh <* Msb_Shells(fbrep) | NOT (SIZEOF(QUERY(fcs <* csh\Connected_Face_Set. cfs_faces | NOT (SIZEOF(QUERY(bnds <* fcs.bounds | 'AUTOMOTIVE_DESIGN.FACE_OUTER_BOUND' IN TYPEOF(bnds))) = 1))) = 0))) = 0 ))) = 0; wr5 : SIZEOF(QUERY(msb <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | 'AUTOMOTIVE_DESIGN.ORIENTED_CLOSED_SHELL' IN TYPEOF(msb\ Manifold_Solid_Brep.outer))) = 0; wr6 : SIZEOF(QUERY(brv <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.BREP_WITH_VOIDS' IN TYPEOF(it)) | NOT (SIZEOF(QUERY( csh <* brv\Brep_With_Voids.voids | csh\Oriented_Closed_Shell.orientation)) = 0))) = 0; wr7 : SIZEOF(QUERY(mi <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT ( 'AUTOMOTIVE_DESIGN.FACETED_BREP_SHAPE_REPRESENTATION' IN TYPEOF(mi\ Mapped_Item.mapping_source.mapped_representation)))) = 0; END_ENTITY; (* declared in: aic_faceted_brep *)
ENTITY Feature_Component_Definition SUBTYPE OF (Characterized_Object); WHERE wr1 : SIZEOF(Get_Shape_Aspects(SELF)) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Feature_Component_Relationship SUBTYPE OF (Shape_Aspect_Relationship); WHERE wr1 : ('AUTOMOTIVE_DESIGN.' + 'TRANSITION_FEATURE' IN TYPEOF(SELF. related_shape_aspect)) OR (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'FEATURE_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION'] * TYPEOF(SELF.related_shape_aspect.of_shape .definition)) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Feature_Definition SUBTYPE OF (Characterized_Object); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) <= 1; wr2 : (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 0) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ('AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'orientation') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) <= 1))) = 1); wr3 : NOT ((SIZEOF(['AUTOMOTIVE_DESIGN.' + 'BARRING_HOLE', 'AUTOMOTIVE_DESIGN.' + 'BEAD', 'AUTOMOTIVE_DESIGN.' + 'HOLE_IN_PANEL' , 'AUTOMOTIVE_DESIGN.' + 'FEATURE_IN_PANEL', 'AUTOMOTIVE_DESIGN.' + 'JOGGLE', 'AUTOMOTIVE_DESIGN.' + 'LOCATOR'] * TYPEOF(SELF)) = 1) OR ( 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_FEATURE' IN TYPEOF(SELF)) AND (SIZEOF( QUERY(sa <* Get_Shape_Aspects(SELF) | sa.name = 'compound feature in panel' )) = 1)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations( SELF) | 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr.used_representation))) <= 1) AND ((SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr.used_representation))) = 0) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'punch direction' ))) = 1)); wr4 : (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 0) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ('AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)) AND ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (pdr.used_representation.context_of_items)) AND (pdr.used_representation. context_of_items\Geometric_Representation_Context. coordinate_space_dimension = 3))) = 1); wr5 : NOT ((SIZEOF(['AUTOMOTIVE_DESIGN.' + 'BOSS', 'AUTOMOTIVE_DESIGN.' + 'RIB', 'AUTOMOTIVE_DESIGN.' + 'SLOT', 'AUTOMOTIVE_DESIGN.' + 'ROUND_HOLE', 'AUTOMOTIVE_DESIGN.' + 'POCKET'] * TYPEOF(SELF)) = 1) OR ( 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_FEATURE' IN TYPEOF(SELF)) AND (SIZEOF( QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (sa.name = 'compound feature in solid'))) = 1)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr.used_representation))) = 1) AND (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'orientation') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) = 1))) = 1); wr6 : SIZEOF(['AUTOMOTIVE_DESIGN.' + 'BEAD', 'AUTOMOTIVE_DESIGN.' + 'BARRING_HOLE', 'AUTOMOTIVE_DESIGN.' + 'BOSS', 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_FEATURE_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_IN_PANEL', 'AUTOMOTIVE_DESIGN.' + 'GENERAL_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'HOLE_IN_PANEL', 'AUTOMOTIVE_DESIGN.' + 'JOGGLE', 'AUTOMOTIVE_DESIGN.' + 'LOCATOR', 'AUTOMOTIVE_DESIGN.' + 'POCKET', 'AUTOMOTIVE_DESIGN.' + 'RIB', 'AUTOMOTIVE_DESIGN.' + 'REPLICATE_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'ROUND_HOLE', 'AUTOMOTIVE_DESIGN.' + 'SLOT', 'AUTOMOTIVE_DESIGN.' + 'THREAD'] * TYPEOF(SELF)) <= 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Feature_In_Panel SUBTYPE OF (Feature_Definition); WHERE wr1 : SELF.description IN ['pocket', 'boss', 'stairstep']; wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND NOT ({2 <= SIZEOF(pdr.used_representation. items) <= 3}))) = 0; wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'base radius', 'target radius']))) > 0))) = 0; wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'base radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'target radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr6 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'base boundary' ) AND (sa.description IN ['directed angle occurrence', 'closed profile occurrence']))) = 1; wr7 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'target boundary') AND (sa.description IN ['directed angle occurrence', 'closed profile occurrence']))) = 1; wr8 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | sa.description = 'directed angle occurrence')) <= 1; wr9 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'directed angle occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'directed angle usage') AND ('AUTOMOTIVE_DESIGN.' + 'DIRECTED_ANGLE' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = SIZEOF( QUERY(sa <* Get_Shape_Aspects(SELF) | sa.description = 'directed angle occurrence')); wr10 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'closed profile occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CIRCULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'NGON_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'CLOSED_PATH_PROFILE'] * TYPEOF(sar.relating_shape_aspect)) = 1))) = 1))) = SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | sa.description = 'closed profile occurrence')); wr11 : (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ('AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr.used_representation)) AND NOT ( pdr.used_representation.name = 'target face'))) = 0); wr12 : (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'target boundary') AND (sa.description = 'directed angle occurrence'))) = 0 ) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Feature_Pattern SUBTYPE OF (Replicate_Feature); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'added instance placement') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) > 1))) = 1; wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) > 0))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Featured_Shape SUBTYPE OF (Product_Definition_Shape); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(SELF. definition); wr2 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_RELATIONSHIP.RELATED_PROPERTY_DEFINITION' )) = 1) AND (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_RELATIONSHIP.RELATED_PROPERTY_DEFINITION' ) | (pdr.name = 'featured shape sequence') AND ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pdr.relating_property_definition)) AND (pdr.relating_property_definition :<>: SELF))) = 1); wr3 : SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_RELATIONSHIP.RELATED_PROPERTY_DEFINITION' ) | SELF.definition :=: pdr.relating_property_definition.definition)) = 1; wr4 : SIZEOF(QUERY(sa <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT.OF_SHAPE') | SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'PLACED_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'INSTANCED_FEATURE'] * TYPEOF(sa)) = 1)) >= 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Fill_Area_Style SUBTYPE OF (Founded_Item); name : Label; fill_styles : SET [1:?] OF Fill_Style_Select; WHERE wr1 : SIZEOF(QUERY(fill_style <* SELF.fill_styles | 'AUTOMOTIVE_DESIGN.' + 'FILL_AREA_STYLE_COLOUR' IN TYPEOF(fill_style))) <= 1; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Fill_Area_Style_Colour; name : Label; fill_colour : Colour; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Fill_Area_Style_Hatching SUBTYPE OF (Geometric_Representation_Item); hatch_line_appearance : Curve_Style; start_of_next_hatch_line : One_Direction_Repeat_Factor; point_of_reference_hatch_line : Cartesian_Point; pattern_start : Cartesian_Point; hatch_line_angle : Plane_Angle_Measure; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Fill_Area_Style_Tile_Symbol_With_Style SUBTYPE OF (Geometric_Representation_Item); symbol : Annotation_Symbol_Occurrence; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Fill_Area_Style_Tiles SUBTYPE OF (Geometric_Representation_Item); tiling_pattern : Two_Direction_Repeat_Factor; tiles : SET [1:?] OF Fill_Area_Style_Tile_Shape_Select; tiling_scale : Positive_Ratio_Measure; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Fillet SUBTYPE OF (Transition_Feature); WHERE wr1 : (SELF.description <> 'constant radius') XOR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1); wr2 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {1 <= SIZEOF(pdr.used_representation.items) <= 3})) = 1); wr3 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['radius', 'first offset', 'second offset']))) > 0)) ) = 0); wr4 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr5 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'first offset') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) <= 1))) = 1); wr6 : (SELF.description <> 'constant radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'second offset') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) <= 1))) = 1); wr7 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | i.name = 'first face shape')) = 1))) = 1; wr8 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | i.name = 'second face shape')) = 1))) = 1; wr9 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | i.name = 'fillet face')) = 1))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Flatness_Tolerance SUBTYPE OF (Geometric_Tolerance); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF(SELF)); END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Format_Function SUBTYPE OF (String_Expression, Binary_Generic_Expression); DERIVE value_to_format : Generic_Expression := SELF\Binary_Generic_Expression. operands[1]; format_string : Generic_Expression := SELF\Binary_Generic_Expression.operands [2]; WHERE wr1 : ('AUTOMOTIVE_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF(value_to_format)) AND ('AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(format_string)); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Founded_Item; DERIVE users : SET OF Founded_Item_Select := Using_Items(SELF, []); WHERE wr1 : SIZEOF(users) > 0; wr2 : NOT (SELF IN users); END_ENTITY; -- 10303-43: representation_schema
ENTITY Founded_Kinematic_Path SUBTYPE OF (Representation); SELF\representation.items : SET [1:?] OF Kinematic_Path; SELF\representation.context_of_items : Geometric_Representation_Context; DERIVE paths : SET [1:?] OF Kinematic_Path := SELF\Representation.items; founding : Geometric_Representation_Context := SELF\Representation. context_of_items; END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Fully_Constrained_Pair SUBTYPE OF (Kinematic_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Functionally_Defined_Transformation; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-43: representation_schema
ENTITY Gear_Pair SUBTYPE OF (Kinematic_Pair); radius_first_link : Length_Measure; radius_second_link : Length_Measure; bevel : Plane_Angle_Measure; helical_angle : Plane_Angle_Measure; gear_ratio : REAL; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Gear_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Gear_Pair; lower_limit_actual_rotation_1 : Rotational_Range_Measure; upper_limit_actual_rotation_1 : Rotational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_rotation_1)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_actual_rotation_1)) XOR ( lower_limit_actual_rotation_1 < upper_limit_actual_rotation_1); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Gear_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Gear_Pair; actual_rotation_1 : Plane_Angle_Measure; DERIVE actual_rotation_2 : Plane_Angle_Measure := -actual_rotation_1 * SELF\ Pair_Value.applies_to_pair\Gear_Pair.gear_ratio; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY General_Feature SUBTYPE OF (Feature_Definition); WHERE wr1 : (SIZEOF(Get_Property_Definition_Representations(SELF)) <= 1) AND ( SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) <= 1); wr2 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | sa.description = 'course of travel occurrence')) = SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF ) | (sa.description = 'course of travel occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'course of travel'))) = 1))); wr3 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | sa.description = 'course of travel occurrence')) = SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF ) | (sa.description = 'course of travel occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND ('AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(sar. relating_shape_aspect)))) = 1))); wr4 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | sa.description = 'boundary occurrence')) = SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa. description = 'boundary occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage'))) = 1))); wr5 : (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | 'AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa))) <= 1) AND (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (sa.name = 'general compound feature') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND ('AUTOMOTIVE_DESIGN.' + 'INSTANCED_FEATURE' IN TYPEOF(sar. related_shape_aspect)))) >= 2))) <= 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY General_Material_Property SUBTYPE OF (General_Property); WHERE wr1 : SIZEOF(QUERY(gpa <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION') | NOT ('AUTOMOTIVE_DESIGN.' + 'MATERIAL_PROPERTY' IN TYPEOF(gpa. derived_definition)))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY General_Property; id : Identifier; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: product_property_definition_schema
ENTITY General_Property_Association; name : Label; description : OPTIONAL Text; base_definition : General_Property; derived_definition : Derived_Property_Select; WHERE wr1 : SIZEOF(USEDIN(derived_definition, 'AUTOMOTIVE_DESIGN.GENERAL_PROPERTY_ASSOCIATION.DERIVED_DEFINITION')) = 1; wr2 : derived_definition.name = base_definition.name; END_ENTITY; -- 10303-41: product_property_definition_schema
ENTITY General_Property_Relationship; name : Label; description : OPTIONAL Text; relating_property : General_Property; related_property : General_Property; END_ENTITY; -- 10303-41: product_property_definition_schema
ENTITY Generic_Character_Glyph_Symbol ABSTRACT SUPERTYPE SUBTYPE OF (Symbol_Representation); END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Generic_Expression ABSTRACT SUPERTYPE OF (ONEOF (Simple_Generic_Expression, Unary_Generic_Expression, Binary_Generic_Expression, Multiple_Arity_Generic_Expression)); WHERE wr1 : Is_Acyclic(SELF); END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Generic_Literal ABSTRACT SUPERTYPE SUBTYPE OF (Simple_Generic_Expression); END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Generic_Variable ABSTRACT SUPERTYPE SUBTYPE OF (Simple_Generic_Expression); INVERSE interpretation : Environment FOR syntactic_representation; END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Geometric_Alignment SUBTYPE OF (Derived_Shape_Aspect); WHERE wr1 : SIZEOF(SELF\Derived_Shape_Aspect.deriving_relationships) > 1; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Geometric_Curve_Set SUBTYPE OF (Geometric_Set); WHERE wr1 : SIZEOF(QUERY(temp <* SELF\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.SURFACE' IN TYPEOF(temp))) = 0; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Geometric_Intersection SUBTYPE OF (Derived_Shape_Aspect); WHERE wr1 : SIZEOF(SELF\Derived_Shape_Aspect.deriving_relationships) > 1; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Geometric_Item_Specific_Usage SUBTYPE OF (Item_Identified_Representation_Usage); SELF\item_identified_representation_usage.definition : Shape_Aspect; SELF\item_identified_representation_usage.used_representation : Shape_Representation; SELF\item_identified_representation_usage.identified_item : Geometric_Representation_Item; END_ENTITY; -- 10303-214: automotive_design
ENTITY Geometric_Representation_Context SUBTYPE OF (Representation_Context); coordinate_space_dimension : Dimension_Count; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Geometric_Representation_Item SUPERTYPE OF (ONEOF (Point, Direction, Vector, Placement, Cartesian_Transformation_Operator, Curve, Surface, Edge_Curve, Face_Surface, Poly_Loop, Vertex_Point, Solid_Model, Boolean_Result, Sphere, Right_Circular_Cone, Right_Circular_Cylinder, Torus, Block, Right_Angular_Wedge , Half_Space_Solid, Shell_Based_Surface_Model, Face_Based_Surface_Model, Edge_Based_Wireframe_Model, Geometric_Set)) SUBTYPE OF (Representation_Item); DERIVE dim : Dimension_Count := Dimension_Of(SELF); WHERE wr1 : SIZEOF(QUERY(using_rep <* Using_Representations(SELF) | NOT ( 'AUTOMOTIVE_DESIGN.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(using_rep .context_of_items)))) = 0; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Geometric_Set SUPERTYPE OF (Geometric_Curve_Set) SUBTYPE OF (Geometric_Representation_Item); elements : SET [1:?] OF Geometric_Set_Select; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Geometric_Tolerance; name : Label; description : Text; magnitude : Measure_With_Unit; toleranced_shape_aspect : Shape_Aspect; WHERE wr1 : ('NUMBER' IN TYPEOF(magnitude\Measure_With_Unit.value_component)) AND ( magnitude\Measure_With_Unit.value_component >= 0.0); END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Geometric_Tolerance_Relationship; name : Label; description : Text; relating_geometric_tolerance : Geometric_Tolerance; related_geometric_tolerance : Geometric_Tolerance; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Geometric_Tolerance_With_Datum_Reference SUBTYPE OF (Geometric_Tolerance); datum_system : SET [1:?] OF Datum_Reference; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Geometric_Tolerance_With_Defined_Unit SUBTYPE OF (Geometric_Tolerance); unit_size : Measure_With_Unit; WHERE wr1 : ('NUMBER' IN TYPEOF(unit_size\Measure_With_Unit.value_component)) AND ( unit_size\Measure_With_Unit.value_component > 0.0); END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Geometrical_Tolerance_Callout SUBTYPE OF (Draughting_Callout); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Geometrically_Bounded_2d_Wireframe_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SELF.context_of_items\Geometric_Representation_Context. coordinate_space_dimension = 2; wr2 : SIZEOF(QUERY(item <* SELF.items | NOT (SIZEOF(TYPEOF(item) * [ 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_2D', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM']) = 1))) = 0; wr3 : SIZEOF(QUERY(item <* SELF.items | SIZEOF(TYPEOF(item) * [ 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM']) = 1)) >= 1; wr4 : SIZEOF(QUERY(mi <* QUERY(item <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(item)) | NOT ( 'AUTOMOTIVE_DESIGN.' + 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' IN TYPEOF(mi\ Mapped_Item.mapping_source.mapped_representation)))) = 0; wr5 : SIZEOF(QUERY(gcs <* QUERY(item <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET' IN TYPEOF(item)) | NOT (SIZEOF( QUERY(elem <* gcs\Geometric_Set.elements | NOT (SIZEOF(TYPEOF(elem) * [ 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE', 'AUTOMOTIVE_DESIGN.CIRCLE', 'AUTOMOTIVE_DESIGN.COMPOSITE_CURVE', 'AUTOMOTIVE_DESIGN.ELLIPSE', 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_2D', 'AUTOMOTIVE_DESIGN.POINT', 'AUTOMOTIVE_DESIGN.POLYLINE', 'AUTOMOTIVE_DESIGN.TRIMMED_CURVE']) = 1 ))) = 0))) = 0; wr6 : SIZEOF(QUERY(gcs <* QUERY(item <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET' IN TYPEOF(item)) | NOT (SIZEOF( QUERY(crv <* QUERY(elem <* gcs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.CURVE' IN TYPEOF(elem)) | NOT Valid_Basis_Curve_In_2d_Wireframe(crv))) = 0))) = 0; wr7 : SIZEOF(QUERY(gcs <* QUERY(item <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET' IN TYPEOF(item)) | NOT (SIZEOF( QUERY(pnt <* QUERY(elem <* gcs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.POINT' IN TYPEOF(elem)) | NOT (SIZEOF(TYPEOF(pnt) * [ 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT', 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE']) = 1))) = 0))) = 0; END_ENTITY; (* declared in: aic_geometrically_bounded_2d_wireframe *)
ENTITY Geometrically_Bounded_Surface_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.GEOMETRIC_SET', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.GEOMETRIC_SET', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; wr3 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT (( 'AUTOMOTIVE_DESIGN.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF(mi\ Mapped_Item.mapping_source.mapped_representation)) AND (SIZEOF(QUERY(mr_it <* mi\Mapped_Item.mapping_source.mapped_representation.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_SET' IN TYPEOF(mr_it))) > 0)))) = 0; wr4 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(pnt <* QUERY(gsel <* gs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.POINT' IN TYPEOF(gsel)) | NOT Gbsf_Check_Point(pnt))) = 0))) = 0; wr5 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(cv <* QUERY(gsel <* gs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.CURVE' IN TYPEOF(gsel)) | NOT Gbsf_Check_Curve(cv))) = 0))) = 0; wr6 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(sf <* QUERY(gsel <* gs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.SURFACE' IN TYPEOF(gsel)) | NOT Gbsf_Check_Surface(sf ))) = 0))) = 0; wr7 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_SET' IN TYPEOF(it)) | SIZEOF(QUERY(gsel <* gs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.SURFACE' IN TYPEOF(gsel)) ) > 0)) > 0; END_ENTITY; (* declared in: aic_geometrically_bounded_surface *)
ENTITY Geometrically_Bounded_Wireframe_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF(TYPEOF(it) * [ 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM']) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF(TYPEOF(it) * [ 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM']) = 1)) >= 1; wr3 : SIZEOF(QUERY(gcs <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(crv <* QUERY(elem <* gcs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.CURVE' IN TYPEOF(elem)) | NOT Valid_Geometrically_Bounded_Wf_Curve(crv))) = 0))) = 0; wr4 : SIZEOF(QUERY(gcs <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(pnts <* QUERY(elem <* gcs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.POINT' IN TYPEOF(elem)) | NOT Valid_Geometrically_Bounded_Wf_Point(pnts))) = 0))) = 0; wr5 : SIZEOF(QUERY(gcs <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(cnc <* QUERY(elem <* gcs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.CONIC' IN TYPEOF(elem)) | NOT ( 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D' IN TYPEOF(cnc\Conic.position)))) = 0))) = 0; wr6 : SIZEOF(QUERY(gcs <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.GEOMETRIC_CURVE_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(pline <* QUERY(elem <* gcs\Geometric_Set.elements | 'AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(elem)) | NOT (SIZEOF(pline\ Polyline.points) > 2))) = 0))) = 0; wr7 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT ( 'AUTOMOTIVE_DESIGN.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF(mi\ Mapped_Item.mapping_source.mapped_representation)))) = 0; END_ENTITY; (* declared in: aic_geometrically_bounded_wireframe *)
ENTITY Global_Uncertainty_Assigned_Context SUBTYPE OF (Representation_Context); uncertainty : SET [1:?] OF Uncertainty_Measure_With_Unit; END_ENTITY; -- 10303-43: representation_schema
ENTITY Global_Unit_Assigned_Context SUBTYPE OF (Representation_Context); units : SET [1:?] OF Unit; END_ENTITY; -- 10303-41: measure_schema
ENTITY Group; name : Label; description : OPTIONAL Text; DERIVE id : Identifier := Get_Id_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; END_ENTITY; -- 10303-41: group_schema
ENTITY Group_Assignment ABSTRACT SUPERTYPE; assigned_group : Group; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Group_Relationship; name : Label; description : OPTIONAL Text; relating_group : Group; related_group : Group; END_ENTITY; -- 10303-41: group_schema
ENTITY Half_Space_Solid SUBTYPE OF (Geometric_Representation_Item); base_surface : Surface; agreement_flag : BOOLEAN; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Hardness_Representation SUBTYPE OF (Representation); WHERE wr1 : {2 <= SIZEOF(SELF.items) <= 4} AND (SIZEOF(QUERY(i <* items | ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name IN ['measuring method', 'measuring position']))) + SIZEOF( QUERY(i <* items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE'] * TYPEOF(i)) = 1) AND (i.name IN ['depth', 'hardness']))) = SIZEOF(SELF.items )); wr2 : SIZEOF(QUERY(i <* SELF.items | i.name = 'measuring method')) = 1; wr3 : SIZEOF(QUERY(i <* SELF.items | i.name = 'hardness')) = 1; wr4 : SIZEOF(QUERY(i <* SELF.items | i.name = 'measuring position')) <= 1; wr5 : SIZEOF(QUERY(i <* SELF.items | i.name = 'depth')) <= 1; wr6 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' )) = 1) AND (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | SIZEOF(QUERY(gpa <* USEDIN(pdr.definition, 'AUTOMOTIVE_DESIGN.GENERAL_PROPERTY_ASSOCIATION.DERIVED_DEFINITION') | ( 'AUTOMOTIVE_DESIGN.' + 'GENERAL_PROPERTY' IN TYPEOF(gpa.base_definition) ) AND (gpa.base_definition.name = 'surface_texture'))) = 1)) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Hidden_Element_Over_Riding_Styled_Item SUBTYPE OF (Context_Dependent_Over_Riding_Styled_Item); WHERE wr1 : SIZEOF(SELF.style_context) = 1; wr2 : 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_VIEW' IN TYPEOF(SELF. style_context[1]); wr3 : 'AUTOMOTIVE_DESIGN.' + 'CAMERA_IMAGE' IN TYPEOF(SELF.item); wr4 : 'AUTOMOTIVE_DESIGN.' + 'CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF(SELF. item\Mapped_Item.mapping_source.mapping_origin); wr5 : SIZEOF(QUERY(rep <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_VIEW' IN TYPEOF(rep))) > 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Hole_Bottom SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SELF.description IN ['through', 'flat', 'flat with taper', 'flat with radius', 'spherical', 'conical']; wr3 : NOT (SELF.description IN ['through', 'flat']) OR (SIZEOF( Get_Shape_Aspect_Property_Definition_Representations(SELF)) = 0); wr4 : NOT (SELF.description IN ['flat with radius', 'flat with taper', 'spherical', 'conical']) OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1); wr5 : (SELF.description <> 'flat with taper') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1); wr6 : (SELF.description <> 'conical') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {1 <= SIZEOF(pdr.used_representation.items) <= 2})) = 1); wr7 : NOT (SELF.description IN ['flat with radius', 'spherical']) OR (SIZEOF( QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1); wr8 : (SELF.description <> 'flat with radius') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'corner radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr9 : (SELF.description <> 'spherical') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr10 : (SELF.description <> 'conical') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'tip radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) <= 1))) = 1); wr11 : (SELF.description <> 'conical') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'tip angle') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr12 : (SELF.description <> 'flat with taper') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'final diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr13 : (SELF.description <> 'flat with taper') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'taper diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr14 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'hole bottom usage') AND (sar.related_shape_aspect. description = 'bottom condition occurrence'))) = 1; wr15 : (SELF.description = 'through') OR (SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name IN ['starting', 'ending']))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Hole_In_Panel SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'hole profile') AND (sa.description = 'closed profile occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CIRCULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'NGON_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'CLOSED_PATH_PROFILE'] * TYPEOF(sar.relating_shape_aspect)) = 1))) = 1))) = 1; wr2 : SIZEOF(Get_Property_Definition_Representations(SELF)) = SIZEOF(QUERY( pdr <* Get_Property_Definition_Representations(SELF) | SIZEOF(pdr. used_representation.items) = 1)); END_ENTITY; -- 10303-214: automotive_design
ENTITY Homokinetic_Pair SUBTYPE OF (Universal_Pair); WHERE wr1 : NOT EXISTS(SELF.input_skew_angle); END_ENTITY; -- 10303-214: automotive_design
ENTITY Hyperbola SUBTYPE OF (Conic); semi_axis : Positive_Length_Measure; semi_imag_axis : Positive_Length_Measure; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Id_Attribute; attribute_value : Identifier; identified_item : Id_Attribute_Select; END_ENTITY; -- 10303-41: basic_attribute_schema
ENTITY Identification_Assignment ABSTRACT SUPERTYPE; assigned_id : Identifier; role : Identification_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Identification_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Inclusion_Product_Concept_Feature SUBTYPE OF (Conditional_Concept_Feature); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' IN TYPEOF(SELF)); wr2 : SIZEOF(QUERY(cfr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) | 'AUTOMOTIVE_DESIGN.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr))) + SIZEOF(QUERY(cfr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' ) | 'AUTOMOTIVE_DESIGN.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr))) = 0; wr3 : SELF.condition.conditional_operator.name = 'implication'; END_ENTITY; -- 10303-214: automotive_design
ENTITY Index_Expression SUBTYPE OF (String_Expression, Binary_Generic_Expression); DERIVE operand : Generic_Expression := SELF\Binary_Generic_Expression.operands[1]; index : Generic_Expression := SELF\Binary_Generic_Expression.operands[2]; WHERE wr1 : ('AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(operand)) AND ( 'AUTOMOTIVE_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF(index)); wr2 : Is_Int_Expr(index); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Initial_State; applies_to_mechanism : Mechanism; pair_values : SET [1:?] OF Pair_Value; WHERE wr1 : SIZEOF(QUERY(joint <* applies_to_mechanism.structure_definition.joints | SIZEOF(QUERY(init_val <* pair_values | init_val.applies_to_pair.joint :=: joint)) <> 1)) = 0; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Instanced_Feature SUBTYPE OF (Shape_Aspect, Feature_Definition); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(SELF.of_shape. definition); wr2 : SELF.product_definitional; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'maximum feature limit'))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Int_Literal SUBTYPE OF (Literal_Number); SELF\literal_number.the_value : INTEGER; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Int_Numeric_Variable SUBTYPE OF (Numeric_Variable); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Int_Value_Function SUBTYPE OF (Value_Function); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Integer_Defined_Function ABSTRACT SUPERTYPE SUBTYPE OF (Numeric_Defined_Function); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Interpolated_Configuration_Sequence; interpolation : SET [1:?] OF Configuration_Interpolation; END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Intersection_Curve SUBTYPE OF (Surface_Curve); WHERE wr1 : SIZEOF(SELF\Surface_Curve.associated_geometry) = 2; wr2 : Associated_Surface(SELF\Surface_Curve.associated_geometry[1]) <> Associated_Surface(SELF\Surface_Curve.associated_geometry[2]); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Interval_Expression SUBTYPE OF (Boolean_Expression, Multiple_Arity_Generic_Expression); DERIVE interval_low : Generic_Expression := SELF\Multiple_Arity_Generic_Expression. operands[1]; interval_item : Generic_Expression := SELF\Multiple_Arity_Generic_Expression. operands[2]; interval_high : Generic_Expression := SELF\Multiple_Arity_Generic_Expression. operands[3]; WHERE wr1 : ('AUTOMOTIVE_DESIGN.EXPRESSION' IN TYPEOF(interval_low)) AND ( 'AUTOMOTIVE_DESIGN.EXPRESSION' IN TYPEOF(interval_item)) AND ( 'AUTOMOTIVE_DESIGN.EXPRESSION' IN TYPEOF(interval_high)); wr2 : ('AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(SELF.interval_low)) AND ('AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(SELF.interval_high )) AND ('AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(SELF. interval_item)) OR ('AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(SELF .interval_low)) AND ('AUTOMOTIVE_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF( SELF.interval_item)) AND ('AUTOMOTIVE_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF(SELF.interval_high)); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Invisibility; invisible_items : SET [1:?] OF Invisible_Item; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Item_Defined_Transformation; name : Label; description : OPTIONAL Text; transform_item_1 : Representation_Item; transform_item_2 : Representation_Item; END_ENTITY; -- 10303-43: representation_schema
ENTITY Item_Identified_Representation_Usage; name : Label; description : OPTIONAL Text; definition : Represented_Definition; used_representation : Representation; identified_item : Representation_Item; WHERE wr1 : SELF.used_representation IN Using_Representations(SELF.identified_item) ; END_ENTITY; -- 10303-41: product_property_representation_schema
ENTITY Joggle SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND NOT ({5 <= SIZEOF(pdr.used_representation. items) <= 10}))) = 0; wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'base radius 1', 'base radius 2', 'direction angle 1', 'direction angle 2', 'height', 'slope angle 1', 'slope angle 2', 'top radius 1', 'top radius 2']))) > 0))) = 0; wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'direction angle 1') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'direction angle 2') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'height') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr6 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'slope angle 1') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'slope angle 2') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr8 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'defining path' ) AND (sa.description = 'path feature component occurrence') AND (SIZEOF( QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'path feature component usage') AND ( 'AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(sar. relating_shape_aspect)) AND (sar.relating_shape_aspect.description = 'linear'))) = 1))) = 1; wr9 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.name = 'termination') AND (sa.description = 'joggle termination occurrence') AND (SIZEOF(QUERY( sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'joggle termination usage') AND ('AUTOMOTIVE_DESIGN.' + 'JOGGLE_TERMINATION' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1; wr10 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'base radius 1') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr11 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'base radius 2') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr12 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'top radius 1') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr13 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'top radius 2') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Joggle_Termination SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SELF.description IN ['value termination', 'face termination']; wr3 : (SELF.description = 'value termination') XOR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 0); wr4 : (SELF.description <> 'value termination') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1); wr5 : (SELF.description <> 'value termination') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'depth') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr6 : (SELF.description <> 'value termination') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'angle') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr7 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'joggle termination usage') AND ('AUTOMOTIVE_DESIGN.' + 'JOGGLE' IN TYPEOF(sar.related_shape_aspect.of_shape.definition)) AND (sar. related_shape_aspect.of_shape.definition\Characterized_Object.name = 'termination') AND (sar.related_shape_aspect.of_shape.definition\ Characterized_Object.description = 'joggle termination occurrence'))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Kinematic_Analysis_Consistency; control : Kinematic_Control; result : Kinematic_Analysis_Result; WHERE wr1 : control.controlled_mechanism :=: result.analysed_mechanism; END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Kinematic_Analysis_Result; analysed_mechanism : Mechanism; contained_kinematic_results : SET [1:?] OF Kinematic_Result; WHERE wr1 : (SIZEOF(QUERY(result <* contained_kinematic_results | 'AUTOMOTIVE_DESIGN.RESULTING_PATH' IN TYPEOF(result))) > 0) XOR (SIZEOF( QUERY(result <* contained_kinematic_results | ('AUTOMOTIVE_DESIGN.' + 'INTERPOLATED_CONFIGURATION_SEQUENCE' IN TYPEOF(result)) AND (SIZEOF(QUERY( sequence <* result\Interpolated_Configuration_Sequence.interpolation | sequence.interpolation <> Undefined)) > 0))) = 0); END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Kinematic_Control; controlled_mechanism : Mechanism; contained_kinematic_programs : SET [1:?] OF Kinematic_Analysis_Definition; END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Kinematic_Frame_Background_Representation SUBTYPE OF (Representation); SELF\representation.items : SET [1:?] OF Kinematic_Frame_Background; SELF\representation.context_of_items : Geometric_Representation_Context; WHERE wr1 : SELF\Representation.context_of_items\Geometric_Representation_Context. coordinate_space_dimension = 3; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Frame_Background_Representation_Association SUBTYPE OF (Representation_Relationship_With_Transformation); SELF\Representation_Relationship_With_Transformation.transformation_operator : Kinematic_Frame_Based_Transformation; WHERE wr1 : 'AUTOMOTIVE_DESIGN.KINEMATIC_LINK_REPRESENTATION' IN TYPEOF(SELF\ Representation_Relationship.rep_1); wr2 : 'AUTOMOTIVE_DESIGN.KINEMATIC_FRAME_BACKGROUND_REPRESENTATION' IN TYPEOF(SELF\Representation_Relationship.rep_2); wr3 : SELF\Representation_Relationship_With_Transformation. transformation_operator\Kinematic_Frame_Based_Transformation.transformator IN SELF\Representation_Relationship.rep_1.items; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Frame_Based_Transformation SUBTYPE OF (Geometric_Representation_Item, Functionally_Defined_Transformation) ; transformator : Rigid_Placement; WHERE wr1 : SELF\Geometric_Representation_Item.dim = 3; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Ground_Representation SUBTYPE OF (Representation); INVERSE property : Kinematic_Property_Representation_Relation FOR used_representation ; WHERE wr1 : 'AUTOMOTIVE_DESIGN.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF\ Representation.context_of_items); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Joint; first_link : Kinematic_Link; second_link : Kinematic_Link; INVERSE structure : Kinematic_Structure FOR joints; WHERE wr1 : first_link :<>: second_link; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Link; WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.KINEMATIC_JOINT.FIRST_LINK') + USEDIN(SELF, 'AUTOMOTIVE_DESIGN.KINEMATIC_JOINT.SECOND_LINK')) > 0; wr2 : Unique_Link_Usage(SELF); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Link_Representation SUBTYPE OF (Representation); SELF\representation.context_of_items : Geometric_Representation_Context; DERIVE link_frame : Geometric_Representation_Context := SELF\Representation. context_of_items; INVERSE link_representation_relation : Kinematic_Link_Representation_Relation FOR geometric_aspects; WHERE wr1 : SIZEOF(QUERY(item <* SELF\Representation.items | NOT (( 'AUTOMOTIVE_DESIGN.RIGID_PLACEMENT' IN TYPEOF(item)) OR ( 'AUTOMOTIVE_DESIGN.CARTESIAN_TRANSFORMATION_OPERATOR_3D' IN TYPEOF(item) )))) = 0; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Link_Representation_Association SUBTYPE OF (Representation_Relationship); SELF\representation_relationship.rep_1 : Kinematic_Link_Representation; WHERE wr1 : SELF\Representation_Relationship.rep_2.context_of_items :=: SELF\ Representation_Relationship.rep_1\Representation.context_of_items; wr2 : SIZEOF(['AUTOMOTIVE_DESIGN.KINEMATIC_GROUND_REPRESENTATION', 'AUTOMOTIVE_DESIGN.KINEMATIC_LINK_REPRESENTATION'] * TYPEOF(SELF\ Representation_Relationship.rep_2)) = 0; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Link_Representation_Relation; topological_aspects : Kinematic_Link; geometric_aspects : Kinematic_Link_Representation; UNIQUE ur1 : topological_aspects; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Pair SUBTYPE OF (Item_Defined_Transformation); joint : Kinematic_Joint; DERIVE pair_placement_in_first_link_context : Rigid_Placement := SELF\ Item_Defined_Transformation.transform_item_1; pair_placement_in_second_link_context : Rigid_Placement := SELF\ Item_Defined_Transformation.transform_item_2; UNIQUE ur1 : joint; WHERE wr1 : Coordinated_Pair_Link_Representation(joint.first_link, pair_placement_in_first_link_context); wr2 : Coordinated_Pair_Link_Representation(joint.second_link, pair_placement_in_second_link_context); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Path SUBTYPE OF (Representation_Item); END_ENTITY; (* declared in: kinematic_motion_representation_schema *)
ENTITY Kinematic_Property_Definition SUBTYPE OF (Property_Definition); ground_definition : Characterized_Definition; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Property_Representation_Relation SUBTYPE OF (Property_Definition_Representation); UNIQUE ur1 : SELF\Property_Definition_Representation.definition; WHERE wr1 : 'AUTOMOTIVE_DESIGN.KINEMATIC_PROPERTY_DEFINITION' IN TYPEOF(SELF\ Property_Definition_Representation.definition); wr2 : 'AUTOMOTIVE_DESIGN.KINEMATIC_GROUND_REPRESENTATION' IN TYPEOF(SELF\ Property_Definition_Representation.used_representation); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Kinematic_Structure; joints : SET [1:?] OF Kinematic_Joint; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Known_Source SUBTYPE OF (External_Source, Pre_Defined_Item); END_ENTITY; -- 10303-214: automotive_design
ENTITY Language SUBTYPE OF (Group); END_ENTITY; -- 10303-214: automotive_design
ENTITY Language_Assignment SUBTYPE OF (Classification_Assignment); items : SET [1:?] OF Language_Item; WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'LANGUAGE' IN TYPEOF(SELF.assigned_class); wr2 : SELF.role.name = 'language'; wr3 : SIZEOF(SELF.items) = SIZEOF(QUERY(i <* SELF.items | ( 'AUTOMOTIVE_DESIGN.' + 'REPRESENTATION' IN TYPEOF(i)) AND (i\ Representation.name = 'document content'))); END_ENTITY; -- 10303-214: automotive_design
ENTITY Leader_Curve SUBTYPE OF (Annotation_Curve_Occurrence); WHERE wr1 : SIZEOF(QUERY(ldc <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT.CONTENTS') | 'AUTOMOTIVE_DESIGN.' + 'LEADER_DIRECTED_CALLOUT' IN TYPEOF(ldc))) >= 1; END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Leader_Directed_Callout SUBTYPE OF (Draughting_Callout); WHERE wr1 : SIZEOF(QUERY(l_1 <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.LEADER_CURVE' IN TYPEOF(l_1))) >= 1; wr2 : SIZEOF(SELF\Draughting_Callout.contents) >= 2; END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Leader_Directed_Dimension SUBTYPE OF (Leader_Directed_Callout); WHERE wr1 : SIZEOF(QUERY(con <* SELF.contents | 'AUTOMOTIVE_DESIGN.LEADER_CURVE' IN TYPEOF(con))) = 1; END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Leader_Terminator SUBTYPE OF (Terminator_Symbol); WHERE wr1 : 'AUTOMOTIVE_DESIGN.LEADER_CURVE' IN TYPEOF(SELF\Terminator_Symbol. annotated_curve); END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Length_Function SUBTYPE OF (Numeric_Expression, Unary_Generic_Expression); SELF\unary_generic_expression.operand : String_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Length_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.LENGTH_UNIT' IN TYPEOF(SELF\Measure_With_Unit. unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Length_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 1.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Light_Source SUPERTYPE OF (ONEOF (Light_Source_Ambient, Light_Source_Directional, Light_Source_Positional, Light_Source_Spot)) SUBTYPE OF (Geometric_Representation_Item); light_colour : Colour; WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM')) = 0; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Light_Source_Ambient SUBTYPE OF (Light_Source); END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Light_Source_Directional SUBTYPE OF (Light_Source); orientation : Direction; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Light_Source_Positional SUBTYPE OF (Light_Source); position : Cartesian_Point; constant_attenuation : REAL; distance_attenuation : REAL; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Light_Source_Spot SUBTYPE OF (Light_Source); position : Cartesian_Point; orientation : Direction; concentration_exponent : REAL; constant_attenuation : REAL; distance_attenuation : REAL; spread_angle : Positive_Plane_Angle_Measure; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Like_Expression SUBTYPE OF (Comparison_Expression); WHERE wr1 : ('AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(SELF\ Comparison_Expression.operands[1])) AND ( 'AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(SELF\ Comparison_Expression.operands[2])); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Limits_And_Fits; form_variance : Label; zone_variance : Label; grade : Label; source : Text; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Line SUBTYPE OF (Curve); pnt : Cartesian_Point; dir : Vector; WHERE wr1 : dir.dim = pnt.dim; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Line_Profile_Tolerance SUBTYPE OF (Geometric_Tolerance); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF(SELF)) OR (SIZEOF(SELF \Geometric_Tolerance_With_Datum_Reference.datum_system) <= 3); wr2 : SIZEOF(QUERY(sar <* USEDIN(SELF\Geometric_Tolerance. toleranced_shape_aspect, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | sar.name IN ['affected plane association', 'resulting intersection curve association'])) = 1; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Linear_Dimension SUBTYPE OF (Dimension_Curve_Directed_Callout); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Literal_Number ABSTRACT SUPERTYPE OF (ONEOF (Int_Literal, Real_Literal)) SUBTYPE OF (Simple_Numeric_Expression, Generic_Literal); the_value : NUMBER; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Local_Time; hour_component : Hour_In_Day; minute_component : OPTIONAL Minute_In_Hour; second_component : OPTIONAL Second_In_Minute; zone : Coordinated_Universal_Time_Offset; WHERE wr1 : Valid_Time(SELF); END_ENTITY; -- 10303-41: date_time_schema
ENTITY Location_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(SELF.items) = 1; wr2 : SIZEOF(QUERY(i <* SELF.items | 'AUTOMOTIVE_DESIGN.' + 'POINT' IN TYPEOF(i))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Locator SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND NOT ({2 <= SIZEOF(pdr.used_representation. items) <= 5}))) = 0; wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'tip radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'tip angle') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'base radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Log10_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Log2_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Log_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Loop SUPERTYPE OF (ONEOF (Vertex_Loop, Edge_Loop, Poly_Loop)) SUBTYPE OF (Topological_Representation_Item); END_ENTITY; -- 10303-42: topology_schema
ENTITY Lot_Effectivity SUBTYPE OF (Effectivity); effectivity_lot_id : Identifier; effectivity_lot_size : Measure_With_Unit; END_ENTITY; -- 10303-41: effectivity_schema
ENTITY Luminous_Intensity_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.LUMINOUS_INTENSITY_UNIT' IN TYPEOF(SELF\ Measure_With_Unit.unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Luminous_Intensity_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 1.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Make_From_Usage_Option SUBTYPE OF (Product_Definition_Usage); ranking : INTEGER; ranking_rationale : Text; quantity : Measure_With_Unit; WHERE wr1 : NOT ('NUMBER' IN TYPEOF(quantity.value_component)) OR (quantity. value_component > 0); END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Manifold_Solid_Brep SUBTYPE OF (Solid_Model); outer : Closed_Shell; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Manifold_Subsurface_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; wr3 : SIZEOF(QUERY(mi <* QUERY(it <* items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT ( 'AUTOMOTIVE_DESIGN.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN TYPEOF( mi\Mapped_Item.mapping_source.mapped_representation)))) = 0; wr4 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | NOT ( 'AUTOMOTIVE_DESIGN.OPEN_SHELL' IN TYPEOF(cfss)))) = 0; wr5 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | NOT (( 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(cfss. parent_face_set)) AND (SIZEOF(QUERY(fac <* cfss.parent_face_set.cfs_faces | NOT Advanced_Face_Properties(fac))) = 0) OR (SIZEOF(QUERY(fac <* cfss. parent_face_set.cfs_faces | NOT ('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fac)))) = 0)))) = 0; wr6 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | SIZEOF( QUERY(fac <* cfss\Connected_Face_Set.cfs_faces | NOT Advanced_Face_Properties(fac))) = 0)) = 0; wr7 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(fcs <* cfss\Connected_Face_Set.cfs_faces | ( 'AUTOMOTIVE_DESIGN.SUBFACE' IN TYPEOF(fcs)) AND NOT (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fcs.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds.bound\Path. edge_list | NOT (('AUTOMOTIVE_DESIGN.EDGE_CURVE' IN TYPEOF(oe. edge_element)) OR ('AUTOMOTIVE_DESIGN.SUBEDGE' IN TYPEOF(oe.edge_element ))))) = 0))) = 0))) = 0))) = 0; wr8 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(fcs <* cfss\Connected_Face_Set.cfs_faces | ( 'AUTOMOTIVE_DESIGN.SUBFACE' IN TYPEOF(fcs)) AND NOT (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fcs.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds.bound\Path. edge_list | NOT (('AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(oe. edge_start)) AND ('AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(oe.edge_end ))))) = 0))) = 0))) = 0))) = 0; wr9 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(fcs <* cfss\Connected_Face_Set.cfs_faces | ( 'AUTOMOTIVE_DESIGN.SUBFACE' IN TYPEOF(fcs)) AND NOT (SIZEOF(QUERY(bnds <* fcs.bounds | NOT (SIZEOF(['AUTOMOTIVE_DESIGN.EDGE_LOOP', 'AUTOMOTIVE_DESIGN.VERTEX_LOOP'] * TYPEOF(bnds.bound)) = 1))) = 0))) = 0 ))) = 0; wr10 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(fcs <* cfss\Connected_Face_Set.cfs_faces | ( 'AUTOMOTIVE_DESIGN.SUBFACE' IN TYPEOF(fcs)) AND NOT (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fcs.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds.bound\Path. edge_list | NOT (SIZEOF(['AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.POLYLINE', 'AUTOMOTIVE_DESIGN.SURFACE_CURVE', 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE' ] * TYPEOF(oe.edge_element\Edge_Curve.edge_geometry)) = 1))) = 0))) = 0))) = 0))) = 0; wr11 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(fcs <* cfss\Connected_Face_Set.cfs_faces | ( 'AUTOMOTIVE_DESIGN.SUBFACE' IN TYPEOF(fcs)) AND NOT (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fcs.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds.bound\Path. edge_list | ('AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(oe.edge_element \Edge_Curve.edge_geometry)) AND NOT (SIZEOF(QUERY(sc_ag <* oe.edge_element\ Edge_Curve.edge_geometry\Surface_Curve.associated_geometry | NOT ( 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(sc_ag)))) = 0))) = 0))) = 0))) = 0) )) = 0; wr12 : SIZEOF(QUERY(cfss <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | NOT (SIZEOF( QUERY(fcs <* cfss\Connected_Face_Set.cfs_faces | ( 'AUTOMOTIVE_DESIGN.SUBFACE' IN TYPEOF(fcs)) AND NOT (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fcs.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds.bound\Path. edge_list | ('AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(oe.edge_element\ Edge_Curve.edge_geometry)) AND NOT (SIZEOF(oe\Oriented_Edge.edge_element\ Edge_Curve.edge_geometry\Polyline.points) >= 3))) = 0))) = 0))) = 0))) = 0; END_ENTITY; (* declared in: aic_manifold_subsurface *)
ENTITY Manifold_Surface_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; wr3 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT (( 'AUTOMOTIVE_DESIGN.MANIFOLD_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF(mi\ Mapped_Item.mapping_source.mapped_representation)) AND (SIZEOF(QUERY(mr_it <* mi\Mapped_Item.mapping_source.mapped_representation.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(mr_it))) > 0)))) = 0; wr4 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(sh <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(['AUTOMOTIVE_DESIGN.OPEN_SHELL', 'AUTOMOTIVE_DESIGN.ORIENTED_CLOSED_SHELL', 'AUTOMOTIVE_DESIGN.CLOSED_SHELL'] * TYPEOF(sh)) = 1))) = 0))) = 0; wr5 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT ( 'AUTOMOTIVE_DESIGN.FACE_SURFACE' IN TYPEOF(fa)))) = 0))) = 0))) = 0; wr6 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR Msf_Surface_Check(fa \Face_Surface.face_geometry)))) = 0))) = 0))) = 0; wr7 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(bnds <* fa.bounds | NOT (SIZEOF(['AUTOMOTIVE_DESIGN.EDGE_LOOP', 'AUTOMOTIVE_DESIGN.VERTEX_LOOP'] * TYPEOF(bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; wr8 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds\Path.edge_list | NOT ('AUTOMOTIVE_DESIGN.EDGE_CURVE' IN TYPEOF(oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; wr9 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe_cv <* QUERY(oe <* elp_fbnds\Path .edge_list | 'AUTOMOTIVE_DESIGN.EDGE_CURVE' IN TYPEOF(oe.edge_element)) | NOT (SIZEOF(['AUTOMOTIVE_DESIGN.B_SPLINE_CURVE', 'AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.CURVE_REPLICA', 'AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D', 'AUTOMOTIVE_DESIGN.PCURVE', 'AUTOMOTIVE_DESIGN.POLYLINE', 'AUTOMOTIVE_DESIGN.SURFACE_CURVE'] * TYPEOF(oe_cv.edge_element\ Edge_Curve.edge_geometry)) = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; wr10 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds\Path.edge_list | NOT Msf_Curve_Check(oe.edge_element\Edge_Curve.edge_geometry))) = 0))) = 0) ))) = 0))) = 0))) = 0; wr11 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds\Path.edge_list | NOT (('AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(oe.edge_element. edge_start)) AND ('AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(oe. edge_element.edge_end))))) = 0))) = 0)))) = 0))) = 0))) = 0; wr12 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY( elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF(QUERY(oe <* elp_fbnds\Path.edge_list | NOT ((SIZEOF(['AUTOMOTIVE_DESIGN.CARTESIAN_POINT', 'AUTOMOTIVE_DESIGN.DEGENERATE_PCURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_SURFACE'] * TYPEOF(oe.edge_element. edge_start\Vertex_Point.vertex_geometry)) = 1) AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT', 'AUTOMOTIVE_DESIGN.DEGENERATE_PCURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_SURFACE'] * TYPEOF(oe.edge_element.edge_end\ Vertex_Point.vertex_geometry)) = 1)))) = 0))) = 0)))) = 0))) = 0))) = 0; wr13 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY( vlp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | NOT ('AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF (vlp_fbnds\Vertex_Loop.loop_vertex)))) = 0)))) = 0))) = 0))) = 0; wr14 : SIZEOF(QUERY(sbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.SHELL_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* sbsm\Shell_Based_Surface_Model.sbsm_boundary | NOT ( SIZEOF(QUERY(fa <* cfs\Connected_Face_Set.cfs_faces | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY( vlp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT', 'AUTOMOTIVE_DESIGN.DEGENERATE_PCURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_SURFACE'] * TYPEOF(vlp_fbnds\Vertex_Loop. loop_vertex\Vertex_Point.vertex_geometry)) = 1))) = 0)))) = 0))) = 0))) = 0 ; END_ENTITY; (* declared in: aic_manifold_surface *)
ENTITY Mapped_Item SUBTYPE OF (Representation_Item); mapping_source : Representation_Map; mapping_target : Representation_Item; WHERE wr1 : Acyclic_Mapped_Representation(Using_Representations(SELF), [SELF]); END_ENTITY; -- 10303-43: representation_schema
ENTITY Mass_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.MASS_UNIT' IN TYPEOF(SELF\Measure_With_Unit. unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Mass_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 1.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Material_Designation; name : Label; definitions : SET [1:?] OF Characterized_Definition; WHERE wr1 : SIZEOF(QUERY(temp <* SELF\Material_Designation.definitions | 'AUTOMOTIVE_DESIGN.' + 'CHARACTERIZED_OBJECT' IN TYPEOF(temp))) = 0; END_ENTITY; -- 10303-45: material_property_definition_schema
ENTITY Material_Designation_Characterization; name : Label; description : Text; designation : Material_Designation; property : Characterized_Material_Property; END_ENTITY; -- 10303-45: material_property_definition_schema
ENTITY Material_Property SUBTYPE OF (Property_Definition); UNIQUE ur1 : SELF\Property_Definition.name, SELF\Property_Definition.definition; WHERE wr1 : ('AUTOMOTIVE_DESIGN.CHARACTERIZED_OBJECT' IN TYPEOF(SELF\ Property_Definition.definition)) OR (SIZEOF(Bag_To_Set(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) - QUERY(temp <* Bag_To_Set(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) | 'AUTOMOTIVE_DESIGN.' + 'MATERIAL_PROPERTY_REPRESENTATION' IN TYPEOF(temp ))) = 0); END_ENTITY; -- 10303-45: material_property_definition_schema
ENTITY Material_Property_Representation SUBTYPE OF (Property_Definition_Representation); dependent_environment : Data_Environment; END_ENTITY; -- 10303-45: material_property_representation_schema
ENTITY Maximum_Function SUBTYPE OF (Multiple_Arity_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Measure_Qualification; name : Label; description : Text; qualified_measure : Measure_With_Unit; qualifiers : SET [1:?] OF Value_Qualifier; WHERE wr1 : SIZEOF(QUERY(temp <* qualifiers | 'AUTOMOTIVE_DESIGN.PRECISION_QUALIFIER' IN TYPEOF(temp))) < 2; wr2 : NOT ('AUTOMOTIVE_DESIGN.REPRESENTATION_ITEM' IN TYPEOF(SELF\ Measure_Qualification.qualified_measure)); END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Measure_Representation_Item SUBTYPE OF (Representation_Item, Measure_With_Unit); END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Measure_With_Unit SUPERTYPE OF (ONEOF (Length_Measure_With_Unit, Mass_Measure_With_Unit, Time_Measure_With_Unit, Electric_Current_Measure_With_Unit, Thermodynamic_Temperature_Measure_With_Unit, Celsius_Temperature_Measure_With_Unit, Amount_Of_Substance_Measure_With_Unit, Luminous_Intensity_Measure_With_Unit, Plane_Angle_Measure_With_Unit, Solid_Angle_Measure_With_Unit, Area_Measure_With_Unit, Volume_Measure_With_Unit , Ratio_Measure_With_Unit)); value_component : Measure_Value; unit_component : Unit; WHERE wr1 : Valid_Units(SELF); END_ENTITY; -- 10303-41: measure_schema
ENTITY Mechanical_Design_Geometric_Presentation_Area SUBTYPE OF (Presentation_Area); WHERE wr1 : SIZEOF(QUERY(it1 <* SELF.items | NOT (( 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT' IN TYPEOF(it1)) OR ( 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it1)) AND ( 'AUTOMOTIVE_DESIGN.PRESENTATION_VIEW' IN TYPEOF(it1\Mapped_Item. mapping_source.mapped_representation))))) = 0; wr2 : SIZEOF(QUERY(pv <* QUERY(mi1 <* QUERY(it1 <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it1)) | 'AUTOMOTIVE_DESIGN.PRESENTATION_VIEW' IN TYPEOF(mi1\Mapped_Item. mapping_source.mapped_representation)) | NOT (SIZEOF(QUERY(it2 <* pv\ Mapped_Item.mapping_source.mapped_representation\Representation.items | NOT (('AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT' IN TYPEOF(it2)) OR ( 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it2)) AND NOT ( 'AUTOMOTIVE_DESIGN.' + 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) AND NOT ('AUTOMOTIVE_DESIGN.PRESENTATION_VIEW' IN TYPEOF(it2\Mapped_Item. mapping_source.mapped_representation))) OR ('AUTOMOTIVE_DESIGN.' + 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) AND NOT ( 'AUTOMOTIVE_DESIGN.' + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(it2\ Mapped_Item.mapping_source.mapped_representation)))) = 0))) = 0; wr3 : (SIZEOF(QUERY(ps <* USEDIN(SELF\Presentation_Area, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.UNIT') | (ps.size\Planar_Extent. size_in_x <= 0) OR (ps.size\Planar_Extent.size_in_y <= 0))) = 0) AND ( SIZEOF(QUERY(ais <* USEDIN(SELF\Presentation_Area, 'AUTOMOTIVE_DESIGN.AREA_IN_SET.AREA') | SIZEOF(QUERY(ps <* USEDIN(ais, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.UNIT') | (ps.size\Planar_Extent. size_in_x <= 0) OR (ps.size\Planar_Extent.size_in_y <= 0))) > 0)) = 0); wr4 : (SIZEOF(QUERY(ps <* USEDIN(SELF\Presentation_Area, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.UNIT') | 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_2D' IN TYPEOF(ps.size.Placement))) = 1) AND (SIZEOF(QUERY( ps <* USEDIN(SELF\Presentation_Area, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.UNIT') | 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_3D' IN TYPEOF(ps.size.Placement))) = 0) OR (SIZEOF(QUERY( ais <* USEDIN(SELF\Presentation_Area, 'AUTOMOTIVE_DESIGN.AREA_IN_SET.AREA') | SIZEOF(QUERY(ps <* USEDIN(ais, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.UNIT') | 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_2D' IN TYPEOF(ps.size.Placement))) = 1)) = 1) AND (SIZEOF( QUERY(ais <* USEDIN(SELF\Presentation_Area, 'AUTOMOTIVE_DESIGN.AREA_IN_SET.AREA') | SIZEOF(QUERY(ps <* USEDIN(ais, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.UNIT') | 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_3D' IN TYPEOF(ps.size.Placement))) = 0)) = 1); END_ENTITY; (* declared in: aic_mechanical_design_geometric_presentation *)
ENTITY Mechanical_Design_Geometric_Presentation_Representation SUBTYPE OF (Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.STYLED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT', 'AUTOMOTIVE_DESIGN.CAMERA_MODEL_D3'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'] * TYPEOF(mi\ Mapped_Item.mapping_source.mapped_representation)) = 1))) = 0; wr3 : SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(si\Styled_Item.item)) | NOT ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION' IN TYPEOF(smi\Styled_Item. item\Mapped_Item.mapping_source.mapped_representation)))) = 0; wr4 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(pss <* psa.styles | NOT ( SIZEOF(['AUTOMOTIVE_DESIGN.POINT_STYLE', 'AUTOMOTIVE_DESIGN.CURVE_STYLE', 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE'] * TYPEOF(pss)) = 1))) = 0))) = 0))) = 0; wr5 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psbc <* QUERY(psa <* si\Styled_Item.styles | 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF(psa)) | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.REPRESENTATION'] * TYPEOF(psbc\ Presentation_Style_By_Context.style_context)) = 1))) = 0))) = 0; wr6 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(ps <* QUERY(pss <* psa.styles | 'AUTOMOTIVE_DESIGN.POINT_STYLE' IN TYPEOF(pss)) | NOT (( 'AUTOMOTIVE_DESIGN.' + 'POSITIVE_LENGTH_MEASURE' IN TYPEOF(ps\ Point_Style.marker_size)) AND (SIZEOF(['AUTOMOTIVE_DESIGN.COLOUR_RGB', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF(ps\ Point_Style.marker_colour)) = 1)))) = 0))) = 0))) = 0; wr7 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(cs <* QUERY(pss <* psa.styles | 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(pss)) | NOT ((SIZEOF([ 'AUTOMOTIVE_DESIGN.COLOUR_RGB', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF(cs\Curve_Style.curve_colour)) = 1 ) AND ('AUTOMOTIVE_DESIGN.' + 'POSITIVE_LENGTH_MEASURE' IN TYPEOF(cs\ Curve_Style.curve_width)) AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.CURVE_STYLE_FONT', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF(cs\Curve_Style.curve_font)) = 1)))) = 0))) = 0))) = 0; wr8 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa. styles | 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(pss)) | NOT ( 'AUTOMOTIVE_DESIGN.' + 'SURFACE_SIDE_STYLE' IN TYPEOF(ssu\ Surface_Style_Usage.style)))) = 0))) = 0))) = 0; wr9 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa. styles | 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(pss)) | NOT ( SIZEOF(QUERY(sses <* ssu\Surface_Style_Usage.style\Surface_Side_Style. styles | NOT (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_PARAMETER_LINE', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_CONTROL_GRID', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_SILHOUETTE', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_SEGMENTATION_CURVE', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_FILL_AREA', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_BOUNDARY'] * TYPEOF(sses)) = 1))) = 0))) = 0))) = 0))) = 0; wr10 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa. styles | 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(pss)) | NOT ( SIZEOF(QUERY(sspl <* QUERY(sses <* ssu\Surface_Style_Usage.style\ Surface_Side_Style.styles | 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF(sses)) | NOT (( 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(sspl\ Surface_Style_Parameter_Line.style_of_parameter_lines)) AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.COLOUR_RGB', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF(sspl\Surface_Style_Parameter_Line .style_of_parameter_lines\Curve_Style.curve_colour)) = 1) AND ( 'AUTOMOTIVE_DESIGN.' + 'POSITIVE_LENGTH_MEASURE' IN TYPEOF(sspl\ Surface_Style_Parameter_Line.style_of_parameter_lines\Curve_Style. curve_width)) AND (SIZEOF(['AUTOMOTIVE_DESIGN.CURVE_STYLE_FONT', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sspl\Surface_Style_Parameter_Line.style_of_parameter_lines\Curve_Style. curve_font)) = 1)))) = 0))) = 0))) = 0))) = 0; wr11 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa. styles | 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(pss)) | NOT ( SIZEOF(QUERY(sscg <* QUERY(sses <* ssu\Surface_Style_Usage.style\ Surface_Side_Style.styles | 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF(sses)) | NOT (( 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(sscg\ Surface_Style_Control_Grid.style_of_control_grid)) AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.COLOUR_RGB', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF(sscg\Surface_Style_Control_Grid. style_of_control_grid\Curve_Style.curve_colour)) = 1) AND ( 'AUTOMOTIVE_DESIGN.' + 'POSITIVE_LENGTH_MEASURE' IN TYPEOF(sscg\ Surface_Style_Control_Grid.style_of_control_grid\Curve_Style.curve_width)) AND (SIZEOF(['AUTOMOTIVE_DESIGN.CURVE_STYLE_FONT', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sscg\Surface_Style_Control_Grid.style_of_control_grid\Curve_Style. curve_font)) = 1)))) = 0))) = 0))) = 0))) = 0; wr12 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa. styles | 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(pss)) | NOT ( SIZEOF(QUERY(sssh <* QUERY(sses <* ssu\Surface_Style_Usage.style\ Surface_Side_Style.styles | 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF(sses)) | NOT (( 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(sssh\Surface_Style_Silhouette. style_of_silhouette)) AND (SIZEOF(['AUTOMOTIVE_DESIGN.COLOUR_RGB', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF(sssh\ Surface_Style_Silhouette.style_of_silhouette\Curve_Style.curve_colour)) = 1 ) AND ('AUTOMOTIVE_DESIGN.' + 'POSITIVE_LENGTH_MEASURE' IN TYPEOF(sssh\ Surface_Style_Silhouette.style_of_silhouette\Curve_Style.curve_width)) AND (SIZEOF(['AUTOMOTIVE_DESIGN.CURVE_STYLE_FONT', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF(sssh\ Surface_Style_Silhouette.style_of_silhouette\Curve_Style.curve_font)) = 1)) )) = 0))) = 0))) = 0))) = 0; wr13 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa. styles | 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(pss)) | NOT ( SIZEOF(QUERY(sssc <* QUERY(sses <* ssu\Surface_Style_Usage.style\ Surface_Side_Style.styles | 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF(sses)) | NOT (( 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(sssc\ Surface_Style_Segmentation_Curve.style_of_segmentation_curve)) AND (SIZEOF( ['AUTOMOTIVE_DESIGN.COLOUR_RGB', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF(sssc\ Surface_Style_Segmentation_Curve.style_of_segmentation_curve\Curve_Style. curve_colour)) = 1) AND ('AUTOMOTIVE_DESIGN.' + 'POSITIVE_LENGTH_MEASURE' IN TYPEOF(sssc\Surface_Style_Segmentation_Curve. style_of_segmentation_curve\Curve_Style.curve_width)) AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.CURVE_STYLE_FONT', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF(sssc\ Surface_Style_Segmentation_Curve.style_of_segmentation_curve\Curve_Style. curve_font)) = 1)))) = 0))) = 0))) = 0))) = 0; wr14 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.STYLED_ITEM' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\Styled_Item.styles | NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa. styles | 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(pss)) | NOT ( SIZEOF(QUERY(ssbd <* QUERY(sses <* ssu\Surface_Style_Usage.style\ Surface_Side_Style.styles | 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_BOUNDARY' IN TYPEOF(sses)) | NOT (( 'AUTOMOTIVE_DESIGN.CURVE_STYLE' IN TYPEOF(ssbd\Surface_Style_Boundary. style_of_boundary)) AND (SIZEOF(['AUTOMOTIVE_DESIGN.COLOUR_RGB', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF(ssbd\ Surface_Style_Boundary.style_of_boundary\Curve_Style.curve_colour)) = 1) AND ('AUTOMOTIVE_DESIGN.' + 'POSITIVE_LENGTH_MEASURE' IN TYPEOF(ssbd\ Surface_Style_Boundary.style_of_boundary\Curve_Style.curve_width)) AND ( SIZEOF(['AUTOMOTIVE_DESIGN.CURVE_STYLE_FONT', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF(ssbd\Surface_Style_Boundary. style_of_boundary\Curve_Style.curve_font)) = 1)))) = 0))) = 0))) = 0))) = 0 ; END_ENTITY; (* declared in: aic_mechanical_design_geometric_presentation *)
ENTITY Mechanism; structure_definition : Kinematic_Structure; base : Kinematic_Link; containing_property : Kinematic_Property_Definition; WHERE wr1 : SIZEOF(QUERY(joint <* structure_definition.joints | (base :=: joint. first_link) OR (base :=: joint.second_link))) > 0; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Mechanism_Base_Placement SUBTYPE OF (Representation_Relationship_With_Transformation); base_of_mechanism : Mechanism; SELF\Representation_Relationship_With_Transformation.transformation_operator : Cartesian_Transformation_Operator_3d; DERIVE SELF\representation_relationship.rep_2 : Kinematic_Link_Representation := Representation_Of_Link(base_of_mechanism.base); UNIQUE ur1 : base_of_mechanism; WHERE wr1 : ('AUTOMOTIVE_DESIGN.KINEMATIC_GROUND_REPRESENTATION' IN TYPEOF(SELF\ Representation_Relationship.rep_1)) OR ( 'AUTOMOTIVE_DESIGN.KINEMATIC_LINK_REPRESENTATION' IN TYPEOF(SELF\ Representation_Relationship.rep_1)); wr2 : Suitably_Based_Mechanism(SELF, base_of_mechanism); wr3 : SELF\Representation_Relationship_With_Transformation. transformation_operator IN SELF\Representation_Relationship.rep_1.items; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Minimum_Function SUBTYPE OF (Multiple_Arity_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Minus_Expression SUBTYPE OF (Binary_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Minus_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Mod_Expression SUBTYPE OF (Binary_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Modified_Geometric_Tolerance SUBTYPE OF (Geometric_Tolerance); modifier : Limit_Condition; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Modified_Pattern SUBTYPE OF (Replicate_Feature); WHERE wr1 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | SIZEOF(QUERY(sar <* USEDIN (sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | (sar.description = 'base pattern') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN', 'AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN'] * TYPEOF(sar.related_shape_aspect.of_shape.definition)) = 1))) = 1)) = 1; wr2 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | SIZEOF(QUERY(sar <* USEDIN (sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | SIZEOF(QUERY(sar1 <* USEDIN(sar.related_shape_aspect, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( sar.related_shape_aspect :<>: sar1.related_shape_aspect) AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'PATTERN_OFFSET_MEMBERSHIP', 'AUTOMOTIVE_DESIGN.' + 'PATTERN_OMIT_MEMBERSHIP'] * TYPEOF(sar1)) = 1))) = 1)) >= 1)) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Moments_Of_Inertia_Representation SUBTYPE OF (Representation); WHERE wr1 : (SIZEOF(SELF.items) = 1) AND (SIZEOF(QUERY(i <* SELF.items | ( 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'moments of inertia matrix'))) = 1); wr2 : SIZEOF(QUERY(i <* SELF.items | ('AUTOMOTIVE_DESIGN.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (SIZEOF(i\ Compound_Representation_Item.item_element) = 3) AND ( 'AUTOMOTIVE_DESIGN.' + 'LIST_REPRESENTATION_ITEM' IN TYPEOF(i\ Compound_Representation_Item.item_element)) AND Value_Range_Aggregate_Rep_Item(i\Compound_Representation_Item.item_element) )) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Motion_Link_Relationship SUPERTYPE OF (Resulting_Path) SUBTYPE OF (Representation_Relationship); SELF\representation_relationship.rep_1 : Founded_Kinematic_Path; SELF\representation_relationship.rep_2 : Kinematic_Link_Representation; related_frame : Rigid_Placement; DERIVE motion : Founded_Kinematic_Path := SELF\Representation_Relationship.rep_1; frame_link : Kinematic_Link_Representation := SELF\ Representation_Relationship.rep_2; WHERE wr1 : related_frame IN frame_link\Representation.items; END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Mult_Expression SUBTYPE OF (Multiple_Arity_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Multi_Language_Attribute_Assignment SUBTYPE OF (Attribute_Value_Assignment); items : SET [1:?] OF Multi_Language_Attribute_Item; DERIVE language : Label := Get_Multi_Language(SELF); WHERE wr1 : SELF\Attribute_Value_Assignment.role.name = 'alternate language'; wr2 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS')) = 1) AND ( SIZEOF(QUERY(ala <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name = 'attribute_value')) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Multiple_Arity_Boolean_Expression ABSTRACT SUPERTYPE OF (ONEOF (And_Expression, Or_Expression)) SUBTYPE OF (Boolean_Expression, Multiple_Arity_Generic_Expression); SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF Boolean_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Multiple_Arity_Function_Call ABSTRACT SUPERTYPE OF (ONEOF (Maximum_Function, Minimum_Function)) SUBTYPE OF (Multiple_Arity_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Multiple_Arity_Generic_Expression ABSTRACT SUPERTYPE SUBTYPE OF (Generic_Expression); operands : LIST [2:?] OF Generic_Expression; END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Multiple_Arity_Numeric_Expression ABSTRACT SUPERTYPE OF (ONEOF (Plus_Expression, Mult_Expression, Multiple_Arity_Function_Call)) SUBTYPE OF (Numeric_Expression, Multiple_Arity_Generic_Expression); SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF Numeric_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Name_Assignment ABSTRACT SUPERTYPE; assigned_name : Label; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Name_Attribute; attribute_value : Label; named_item : Name_Attribute_Select; END_ENTITY; -- 10303-41: basic_attribute_schema
ENTITY Named_Unit SUPERTYPE OF (ONEOF (Si_Unit, Conversion_Based_Unit, Context_Dependent_Unit) ANDOR ONEOF (Length_Unit, Mass_Unit, Time_Unit, Electric_Current_Unit, Thermodynamic_Temperature_Unit, Amount_Of_Substance_Unit, Luminous_Intensity_Unit, Plane_Angle_Unit, Solid_Angle_Unit, Ratio_Unit)); dimensions : Dimensional_Exponents; END_ENTITY; -- 10303-41: measure_schema
ENTITY Named_Unit_Variable SUBTYPE OF (Named_Unit, Variable_Semantics); INVERSE associated_variable_environment : Environment FOR semantics; END_ENTITY; -- 10303-214: automotive_design
ENTITY Next_Assembly_Usage_Occurrence SUBTYPE OF (Assembly_Component_Usage); END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Ngon_Closed_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {3 <= SIZEOF(pdr.used_representation.items) <= 4})) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'number of sides', 'circumscibed diameter', 'diameter across flats', 'corner radius']))) = 0)) ) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'number of sides') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\Measure_With_Unit.value_component)))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name IN ['circumscribed diameter', 'diameter across flats']) AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr8 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | i.name = 'corner radius')) <= 1) AND (SIZEOF(QUERY(i <* pdr. used_representation.items | (i.name = 'corner radius') AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = SIZEOF(QUERY(i <* pdr.used_representation.items | i.name = 'corner radius'))))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Non_Manifold_Surface_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; wr2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL', 'AUTOMOTIVE_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; wr3 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) | NOT (( 'AUTOMOTIVE_DESIGN.' + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF(mi\Mapped_Item.mapping_source.mapped_representation)) AND (SIZEOF( QUERY(mr_it <* mi\Mapped_Item.mapping_source.mapped_representation.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(mr_it))) > 0)))) = 0; wr4 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.FACE_SURFACE', 'AUTOMOTIVE_DESIGN.ORIENTED_FACE'] * TYPEOF(fa)) = 1))) = 0))) = 0))) = 0; wr5 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(f_sf <* QUERY(fa <* cfs.cfs_faces | 'AUTOMOTIVE_DESIGN.FACE_SURFACE' IN TYPEOF(fa)) | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(f_sf)) OR Nmsf_Surface_Check (f_sf\Face_Surface.face_geometry)))) = 0))) = 0))) = 0; wr6 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(o_fa <* QUERY(fa <* cfs.cfs_faces | 'AUTOMOTIVE_DESIGN.ORIENTED_FACE' IN TYPEOF(fa)) | NOT (( 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(o_fa\Oriented_Face. face_element)) OR Nmsf_Surface_Check(o_fa\Oriented_Face.face_element\ Face_Surface.face_geometry)))) = 0))) = 0))) = 0; wr7 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(bnds <* fa.bounds | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.EDGE_LOOP', 'AUTOMOTIVE_DESIGN.VERTEX_LOOP'] * TYPEOF(bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; wr8 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe <* elp_fbnds\Path.edge_list | NOT ( 'AUTOMOTIVE_DESIGN.EDGE_CURVE' IN TYPEOF(oe.edge_element)))) = 0))) = 0) ))) = 0))) = 0))) = 0; wr9 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe_cv <* QUERY(oe <* elp_fbnds\Path.edge_list | 'AUTOMOTIVE_DESIGN.EDGE_CURVE' IN TYPEOF(oe.edge_element)) | NOT (SIZEOF (['AUTOMOTIVE_DESIGN.B_SPLINE_CURVE', 'AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.CURVE_REPLICA', 'AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D', 'AUTOMOTIVE_DESIGN.PCURVE', 'AUTOMOTIVE_DESIGN.POLYLINE', 'AUTOMOTIVE_DESIGN.SURFACE_CURVE'] * TYPEOF(oe_cv.edge_element\Edge_Curve.edge_geometry)) = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; wr10 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe <* elp_fbnds\Path.edge_list | NOT Nmsf_Curve_Check(oe.edge_element \Edge_Curve.edge_geometry))) = 0))) = 0)))) = 0))) = 0))) = 0; wr11 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe <* elp_fbnds\Path.edge_list | NOT (( 'AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(oe.edge_element.edge_start)) AND ('AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(oe.edge_element.edge_end ))))) = 0))) = 0)))) = 0))) = 0))) = 0; wr12 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(elp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF( QUERY(oe <* elp_fbnds\Path.edge_list | NOT ((SIZEOF([ 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT', 'AUTOMOTIVE_DESIGN.DEGENERATE_PCURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_SURFACE'] * TYPEOF(oe.edge_element. edge_start\Vertex_Point.vertex_geometry)) = 1) AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT', 'AUTOMOTIVE_DESIGN.DEGENERATE_PCURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_SURFACE'] * TYPEOF(oe.edge_element.edge_end\ Vertex_Point.vertex_geometry)) = 1)))) = 0))) = 0)))) = 0))) = 0))) = 0; wr13 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(vlp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | NOT ( 'AUTOMOTIVE_DESIGN.VERTEX_POINT' IN TYPEOF(vlp_fbnds\Vertex_Loop. loop_vertex)))) = 0)))) = 0))) = 0))) = 0; wr14 : SIZEOF(QUERY(fbsm <* QUERY(it <* SELF.items | 'AUTOMOTIVE_DESIGN.FACE_BASED_SURFACE_MODEL' IN TYPEOF(it)) | NOT ( SIZEOF(QUERY(cfs <* fbsm\Face_Based_Surface_Model.fbsm_faces | NOT (SIZEOF( QUERY(fa <* cfs.cfs_faces | NOT (('AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(fa)) OR (SIZEOF(QUERY(vlp_fbnds <* QUERY(bnds <* fa.bounds | 'AUTOMOTIVE_DESIGN.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT', 'AUTOMOTIVE_DESIGN.DEGENERATE_PCURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE', 'AUTOMOTIVE_DESIGN.POINT_ON_SURFACE'] * TYPEOF(vlp_fbnds\Vertex_Loop. loop_vertex\Vertex_Point.vertex_geometry)) = 1))) = 0)))) = 0))) = 0))) = 0 ; END_ENTITY; (* declared in: aic_non_manifold_surface *)
ENTITY Not_Expression SUBTYPE OF (Unary_Boolean_Expression); SELF\unary_generic_expression.operand : Boolean_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Numeric_Defined_Function ABSTRACT SUPERTYPE OF (ONEOF (Integer_Defined_Function, Real_Defined_Function)) SUBTYPE OF (Numeric_Expression, Defined_Function); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Numeric_Expression ABSTRACT SUPERTYPE OF (ONEOF (Simple_Numeric_Expression, Unary_Numeric_Expression, Binary_Numeric_Expression, Multiple_Arity_Numeric_Expression, Length_Function, Value_Function, Numeric_Defined_Function)) SUBTYPE OF (Expression); DERIVE is_int : BOOLEAN := Is_Int_Expr(SELF); sql_mappable : BOOLEAN := Is_Sql_Mappable(SELF); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Numeric_Variable SUPERTYPE OF (ONEOF (Int_Numeric_Variable, Real_Numeric_Variable)) SUBTYPE OF (Simple_Numeric_Expression, Variable); WHERE wr1 : ('AUTOMOTIVE_DESIGN.INT_NUMERIC_VARIABLE' IN TYPEOF(SELF)) OR ( 'AUTOMOTIVE_DESIGN.REAL_NUMERIC_VARIABLE' IN TYPEOF(SELF)); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Object_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: basic_attribute_schema
ENTITY Odd_Function SUBTYPE OF (Unary_Boolean_Expression); SELF\unary_generic_expression.operand : Numeric_Expression; WHERE wr1 : Is_Int_Expr(SELF); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Offset_Curve_2d SUBTYPE OF (Curve); basis_curve : Curve; distance : Length_Measure; self_intersect : LOGICAL; WHERE wr1 : basis_curve.dim = 2; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Offset_Curve_3d SUBTYPE OF (Curve); basis_curve : Curve; distance : Length_Measure; self_intersect : LOGICAL; ref_direction : Direction; WHERE wr1 : (basis_curve.dim = 3) AND (ref_direction.dim = 3); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Offset_Surface SUBTYPE OF (Surface); basis_surface : Surface; distance : Length_Measure; self_intersect : LOGICAL; END_ENTITY; -- 10303-42: geometry_schema
ENTITY One_Direction_Repeat_Factor SUBTYPE OF (Geometric_Representation_Item); repeat_factor : Vector; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Open_Path_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1; wr6 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'profile limit')) )); END_ENTITY; -- 10303-214: automotive_design
ENTITY Open_Shell SUBTYPE OF (Connected_Face_Set); END_ENTITY; -- 10303-42: topology_schema
ENTITY Or_Expression SUBTYPE OF (Multiple_Arity_Boolean_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Ordinate_Dimension SUBTYPE OF (Projection_Directed_Callout); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Organization; id : OPTIONAL Identifier; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Organization_Assignment ABSTRACT SUPERTYPE; assigned_organization : Organization; role : Organization_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Organization_Relationship; name : Label; description : OPTIONAL Text; relating_organization : Organization; related_organization : Organization; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Organization_Role; name : Label; DERIVE description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Organizational_Address SUBTYPE OF (Address); organizations : SET [1:?] OF Organization; description : OPTIONAL Text; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Organizational_Project; name : Label; description : OPTIONAL Text; responsible_organizations : SET [1:?] OF Organization; DERIVE id : Identifier := Get_Id_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Organizational_Project_Assignment ABSTRACT SUPERTYPE; assigned_organizational_project : Organizational_Project; role : Organizational_Project_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Organizational_Project_Relationship; name : Label; description : OPTIONAL Text; relating_organizational_project : Organizational_Project; related_organizational_project : Organizational_Project; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Organizational_Project_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Oriented_Closed_Shell SUBTYPE OF (Closed_Shell); closed_shell_element : Closed_Shell; orientation : BOOLEAN; DERIVE SELF\connected_face_set.cfs_faces : SET [1:?] OF Face := Conditional_Reverse( SELF.orientation, SELF.closed_shell_element.cfs_faces); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.ORIENTED_CLOSED_SHELL' IN TYPEOF(SELF. closed_shell_element)); END_ENTITY; -- 10303-42: topology_schema
ENTITY Oriented_Edge SUBTYPE OF (Edge); edge_element : Edge; orientation : BOOLEAN; DERIVE SELF\edge.edge_start : Vertex := Boolean_Choose(SELF.orientation, SELF. edge_element.edge_start, SELF.edge_element.edge_end); SELF\edge.edge_end : Vertex := Boolean_Choose(SELF.orientation, SELF. edge_element.edge_end, SELF.edge_element.edge_start); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.ORIENTED_EDGE' IN TYPEOF(SELF.edge_element)) ; END_ENTITY; -- 10303-42: topology_schema
ENTITY Oriented_Face SUBTYPE OF (Face); face_element : Face; orientation : BOOLEAN; DERIVE SELF\face.bounds : SET [1:?] OF Face_Bound := Conditional_Reverse(SELF. orientation, SELF.face_element.bounds); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.ORIENTED_FACE' IN TYPEOF(SELF.face_element)) ; END_ENTITY; -- 10303-42: topology_schema
ENTITY Oriented_Open_Shell SUBTYPE OF (Open_Shell); open_shell_element : Open_Shell; orientation : BOOLEAN; DERIVE SELF\connected_face_set.cfs_faces : SET [1:?] OF Face := Conditional_Reverse( SELF.orientation, SELF.open_shell_element.cfs_faces); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.ORIENTED_OPEN_SHELL' IN TYPEOF(SELF. open_shell_element)); END_ENTITY; -- 10303-42: topology_schema
ENTITY Oriented_Path SUBTYPE OF (Path); path_element : Path; orientation : BOOLEAN; DERIVE SELF\path.edge_list : LIST [1:?] OF UNIQUE Oriented_Edge := Conditional_Reverse(SELF.orientation, SELF.path_element.edge_list); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.ORIENTED_PATH' IN TYPEOF(SELF.path_element)) ; END_ENTITY; -- 10303-42: topology_schema
ENTITY Oriented_Surface SUBTYPE OF (Surface); orientation : BOOLEAN; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Outer_Boundary_Curve SUBTYPE OF (Boundary_Curve); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Over_Riding_Styled_Item SUBTYPE OF (Styled_Item); over_ridden_style : Styled_Item; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Package_Product_Concept_Feature SUBTYPE OF (Product_Concept_Feature); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF( SELF)); wr2 : SIZEOF(QUERY(cfr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) | ('AUTOMOTIVE_DESIGN.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr)) AND (SIZEOF( QUERY(ipcf <* USEDIN(cfr, 'AUTOMOTIVE_DESIGN.CONDITIONAL_CONCEPT_FEATURE.CONDITION') | 'AUTOMOTIVE_DESIGN.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF( ipcf))) = 1))) > 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Pair_Actuator; actuated_pair : Kinematic_Pair; name : Label; UNIQUE ur1 : actuated_pair; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Pair_Value; applies_to_pair : Kinematic_Pair; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Parabola SUBTYPE OF (Conic); focal_dist : Length_Measure; WHERE wr1 : focal_dist <> 0.0; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Parallel_Offset SUBTYPE OF (Derived_Shape_Aspect); offset : Measure_With_Unit; WHERE wr1 : SIZEOF(SELF\Derived_Shape_Aspect.deriving_relationships) = 1; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Parallelism_Tolerance SUBTYPE OF (Geometric_Tolerance_With_Datum_Reference); WHERE wr1 : SIZEOF(SELF\Geometric_Tolerance_With_Datum_Reference.datum_system) < 3; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Parametric_Representation_Context SUBTYPE OF (Representation_Context); END_ENTITY; -- 10303-43: representation_schema
ENTITY Partial_Circular_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 3))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'sweep angle', 'radius']))) = 0))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'sweep angle') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr8 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'profile limit')) )); END_ENTITY; -- 10303-214: automotive_design
ENTITY Path SUPERTYPE OF (ONEOF (Edge_Loop, Oriented_Path)) SUBTYPE OF (Topological_Representation_Item); edge_list : LIST [1:?] OF UNIQUE Oriented_Edge; WHERE wr1 : Path_Head_To_Tail(SELF); END_ENTITY; -- 10303-42: topology_schema
ENTITY Path_Feature_Component SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SELF.description IN ['partial circular', 'complete circular', 'linear' , 'complex']; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr5 : (SELF.description <> 'partial circular') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 3))) = 1); wr6 : (SELF.description <> 'partial circular') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr7 : (SELF.description <> 'partial circular') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'sweep angle') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr8 : (SELF.description <> 'complete circular') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1); wr9 : (SELF.description <> 'complete circular') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr10 : (SELF.description <> 'linear') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1); wr11 : (SELF.description <> 'linear') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'distance') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr12 : (SELF.description <> 'complex') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.name = 'sweep path'))) = 1) AND (SIZEOF( QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.name = 'sweep path') AND (SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'path curve') AND ( 'AUTOMOTIVE_DESIGN.' + 'CURVE' IN TYPEOF(i)))) = 1))) = 1); wr13 : (SELF.description <> 'complex') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Path_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(SELF.items) = 1; wr2 : SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'BOUNDED_CURVE', 'AUTOMOTIVE_DESIGN.' + 'EDGE_CURVE', 'AUTOMOTIVE_DESIGN.' + 'PATH'] * TYPEOF(i)) = 1)) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Pattern_Offset_Membership SUBTYPE OF (Feature_Component_Relationship); WHERE wr1 : SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN', 'AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN'] * TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) = 1; wr2 : SIZEOF(QUERY(sar <* USEDIN(SELF.related_shape_aspect, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND ('AUTOMOTIVE_DESIGN.' + 'MODIFIED_PATTERN' IN TYPEOF(sar. relating_shape_aspect.of_shape.definition)) AND (sar.description = 'modified pattern'))) >= 1; wr3 : SIZEOF(Get_Property_Definition_Representations(SELF. related_shape_aspect.of_shape.definition)) = 1; wr4 : NOT ('AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(pdr.used_representation.items) = 2)) = 1); wr5 : NOT ('AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'index number') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\Measure_With_Unit.value_component)))) = 1)) = 1 ); wr6 : NOT ('AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'offset') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1)) = 1); wr7 : NOT ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(pdr.used_representation.items) = 3)) = 1); wr8 : NOT ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'row index') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\ Measure_With_Unit.value_component)))) = 1)) = 1); wr9 : NOT ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'column index') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\Measure_With_Unit.value_component)))) = 1)) = 1 ); wr10 : NOT ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'offset distance') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1)) = 1); wr11 : NOT ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | ('AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr.used_representation)) AND (pdr.used_representation.name = 'offset direction'))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Pattern_Omit_Membership SUBTYPE OF (Feature_Component_Relationship); WHERE wr1 : SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN', 'AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN'] * TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) = 1; wr2 : SIZEOF(QUERY(sar <* USEDIN(SELF.related_shape_aspect, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND ('AUTOMOTIVE_DESIGN.' + 'MODIFIED_PATTERN' IN TYPEOF(sar. relating_shape_aspect.of_shape.definition)) AND (sar.description = 'modified pattern'))) >= 1; wr3 : SIZEOF(Get_Property_Definition_Representations(SELF. related_shape_aspect.of_shape.definition)) = 1; wr4 : NOT ('AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(pdr.used_representation.items) = 1)) = 1); wr5 : NOT ('AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'index number') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\Measure_With_Unit.value_component)))) = 1)) = 1 ); wr6 : NOT ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(pdr.used_representation.items) = 2)) = 1); wr7 : NOT ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'row index') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\ Measure_With_Unit.value_component)))) = 1)) = 1); wr8 : NOT ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN' IN TYPEOF(SELF. relating_shape_aspect.of_shape.definition)) OR (SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF.related_shape_aspect.of_shape. definition) | SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'column index') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\Measure_With_Unit.value_component)))) = 1)) = 1 ); END_ENTITY; -- 10303-214: automotive_design
ENTITY Pcurve SUBTYPE OF (Curve); basis_surface : Surface; reference_to_curve : Definitional_Representation; WHERE wr1 : SIZEOF(reference_to_curve\Representation.items) = 1; wr2 : 'AUTOMOTIVE_DESIGN.CURVE' IN TYPEOF(reference_to_curve\ Representation.items[1]); wr3 : reference_to_curve\Representation.items[1]\ Geometric_Representation_Item.dim = 2; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Perpendicular_To SUBTYPE OF (Derived_Shape_Aspect); WHERE wr1 : SIZEOF(SELF\Derived_Shape_Aspect.deriving_relationships) = 1; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Perpendicularity_Tolerance SUBTYPE OF (Geometric_Tolerance_With_Datum_Reference); WHERE wr1 : SIZEOF(SELF\Geometric_Tolerance_With_Datum_Reference.datum_system) <= 3 ; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Person; id : Identifier; last_name : OPTIONAL Label; first_name : OPTIONAL Label; middle_names : OPTIONAL LIST [1:?] OF Label; prefix_titles : OPTIONAL LIST [1:?] OF Label; suffix_titles : OPTIONAL LIST [1:?] OF Label; WHERE wr1 : EXISTS(last_name) OR EXISTS(first_name); END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Person_And_Organization; the_person : Person; the_organization : Organization; DERIVE name : Label := Get_Name_Value(SELF); description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Person_And_Organization_Address SUBTYPE OF (Organizational_Address, Personal_Address); WHERE wr1 : SIZEOF(SELF\Personal_Address.people) = 1; wr2 : SIZEOF(SELF\Organizational_Address.organizations) = 1; wr3 : SIZEOF(QUERY(pao <* USEDIN(SELF.people[1], 'AUTOMOTIVE_DESIGN.PERSON_AND_ORGANIZATION.THE_PERSON') | pao. the_organization :=: SELF\Organizational_Address.organizations[1])) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Person_And_Organization_Assignment ABSTRACT SUPERTYPE; assigned_person_and_organization : Person_And_Organization; role : Person_And_Organization_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Person_And_Organization_Role; name : Label; DERIVE description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Personal_Address SUBTYPE OF (Address); people : SET [1:?] OF Person; description : OPTIONAL Text; END_ENTITY; -- 10303-41: person_organization_schema
ENTITY Physically_Modelled_Product_Definition SUBTYPE OF (Product_Definition_With_Associated_Documents); WHERE wr1 : SELF.frame_of_reference\Application_Context_Element.name = 'physical model occurrence'; wr2 : (SIZEOF(documentation_ids) = 1) AND (SIZEOF(QUERY(d <* documentation_ids | SIZEOF(QUERY(drt <* d.representation_types | drt.name = 'physical')) = 1)) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Placed_Datum_Target_Feature SUBTYPE OF (Datum_Target); WHERE wr1 : SELF.description IN ['point', 'line', 'rectangle', 'circle']; wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'orientation') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) = 1))) = 1; wr4 : (SELF.description <> 'point') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1); wr5 : (SELF.description <> 'circle') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1); wr6 : (SELF.description <> 'rectangle') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 3))) = 1); wr7 : (SELF.description <> 'circle') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'target diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr8 : (SELF.description <> 'line') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'target length') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr9 : (SELF.description <> 'rectangle') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'target length') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr10 : (SELF.description <> 'rectangle') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'target width') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Placed_Feature SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(SELF.of_shape. definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'feature definition placement') AND (SIZEOF(QUERY(i <* pdr. used_representation.items | ('AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM' IN TYPEOF(i)) AND (SIZEOF(QUERY(pdr1 <* USEDIN(i\Mapped_Item.mapping_source. mapped_representation, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | 'AUTOMOTIVE_DESIGN.' + 'FEATURE_DEFINITION' IN TYPEOF(pdr1. definition\Property_Definition.definition))) = 1))) = 1))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'maximum feature limit'))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Placement SUPERTYPE OF (ONEOF (Axis1_Placement, Axis2_Placement_2d, Axis2_Placement_3d)) SUBTYPE OF (Geometric_Representation_Item); location : Cartesian_Point; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Planar_Box SUBTYPE OF (Planar_Extent); placement : Axis2_Placement; END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Planar_Curve_Pair SUBTYPE OF (Kinematic_Pair); curve_1 : Curve; curve_2 : Curve; orientation : BOOLEAN; WHERE wr1 : Frame_Associated_To_Background(SELF\Kinematic_Pair. pair_placement_in_first_link_context, curve_1); wr2 : Frame_Associated_To_Background(SELF\Kinematic_Pair. pair_placement_in_second_link_context, curve_2); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Planar_Curve_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Planar_Curve_Pair; range_on_curve_1 : Trimmed_Curve; range_on_curve_2 : Trimmed_Curve; WHERE wr1 : SELF\Simple_Pair_Range.applies_to_pair\Planar_Curve_Pair.curve_1 :=: range_on_curve_1.basis_curve; wr2 : SELF\Simple_Pair_Range.applies_to_pair\Planar_Curve_Pair.curve_2 :=: range_on_curve_2.basis_curve; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Planar_Extent SUBTYPE OF (Geometric_Representation_Item); size_in_x : Length_Measure; size_in_y : Length_Measure; END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Planar_Pair SUBTYPE OF (Kinematic_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Planar_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Planar_Pair; lower_limit_actual_rotation : Rotational_Range_Measure; upper_limit_actual_rotation : Rotational_Range_Measure; lower_limit_actual_translation_x : Translational_Range_Measure; upper_limit_actual_translation_x : Translational_Range_Measure; lower_limit_actual_translation_y : Translational_Range_Measure; upper_limit_actual_translation_y : Translational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_rotation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_actual_rotation)) XOR (lower_limit_actual_rotation < upper_limit_actual_rotation); wr2 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_translation_x)) OR ( 'AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( upper_limit_actual_translation_x)) XOR (lower_limit_actual_translation_x < upper_limit_actual_translation_x); wr3 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_translation_y)) OR ( 'AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( upper_limit_actual_translation_y)) XOR (lower_limit_actual_translation_y < upper_limit_actual_translation_y); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Planar_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Planar_Pair; actual_rotation : Plane_Angle_Measure; actual_translation_x : Length_Measure; actual_translation_y : Length_Measure; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Planar_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(SELF.items) = 1; wr2 : SIZEOF(QUERY(i <* SELF.items | 'AUTOMOTIVE_DESIGN.' + 'PLANE' IN TYPEOF(i))) = 1; wr3 : SELF.name IN ['profile limit', 'maximum feature limit']; wr4 : (SELF.name <> 'maximum feature limit') OR (SIZEOF(QUERY(pdr <* USEDIN( SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | SIZEOF(QUERY(sa <* Get_Shape_Aspects(pdr.definition\Property_Definition .definition) | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'INSTANCED_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'PLACED_FEATURE'] * TYPEOF(sa)) = 1)) = 1)) = 1); wr5 : (SELF.name <> 'profile limit') OR (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | SIZEOF(QUERY(sa <* Get_Shape_Aspects(pdr.definition\Property_Definition .definition) | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'OPEN_PATH_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'PARTIAL_CIRCULAR_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'ROUNDED_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'SQUARE_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'TEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'VEE_PROFILE'] * TYPEOF(sa)) = 1)) = 1)) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Plane SUBTYPE OF (Elementary_Surface); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Plane_Angle_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.PLANE_ANGLE_UNIT' IN TYPEOF(SELF\ Measure_With_Unit.unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Plane_Angle_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Plus_Expression SUBTYPE OF (Multiple_Arity_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Plus_Minus_Tolerance; range : Tolerance_Method_Definition; toleranced_dimension : Dimensional_Characteristic; UNIQUE ur1 : toleranced_dimension; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Pocket SUBTYPE OF (Feature_Definition); WHERE wr1 : SELF.description IN ['open rectangular', 'closed rectangular', 'complex']; wr2 : (SELF.description <> 'complex') OR (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'boundary occurrence') AND ( SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CIRCULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'NGON_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'CLOSED_PATH_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'PARTIAL_CIRCULAR_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'ROUNDED_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'VEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'TEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'OPEN_PATH_PROFILE'] * TYPEOF(sar. relating_shape_aspect)) = 1))) = 1))) = 1); wr3 : (SELF.description <> 'closed rectangular') OR (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'closed boundary occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND ('AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_CLOSED_PROFILE' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1); wr4 : (SELF.description <> 'open rectangular') OR (SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'open boundary occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND ('AUTOMOTIVE_DESIGN.' + 'SQUARE_U_PROFILE' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1); wr5 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'pocket depth occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'pocket depth') AND (sar.description = 'path feature component usage') AND ('AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(sar.relating_shape_aspect)) AND (sar. relating_shape_aspect.description = 'linear'))) = 1))) = 1; wr6 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'bottom condition occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'pocket bottom usage') AND ('AUTOMOTIVE_DESIGN.' + 'POCKET_BOTTOM' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1; wr7 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'change in boundary occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'taper usage') AND ('AUTOMOTIVE_DESIGN.' + 'TAPER' IN TYPEOF(sar.relating_shape_aspect)) AND (sar. relating_shape_aspect.description IN ['angle taper', 'directed taper']))) = 1))) <= 1; wr8 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND NOT ({1 <= SIZEOF(pdr.used_representation. items) <= 2}))) = 0; wr9 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'fillet radius 1']))) > 0))) = 0; wr10 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'base radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Pocket_Bottom SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SELF.description IN ['planar', 'complex', 'through']; wr3 : NOT (SELF.description IN ['planar', 'complex']) OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | (i.name = 'radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1); wr4 : NOT (SELF.description IN ['planar', 'complex']) OR (SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name IN ['starting', 'ending']))) = 1); wr5 : (SELF.description <> 'complex') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'floor'))) = 1); wr6 : (SELF.description <> 'planar') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'LOCATION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'LOCATION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'floor location') )) = 1); wr7 : (SELF.description <> 'planar') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'floor normal'))) = 1); wr8 : (SELF.description <> 'through') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 0); wr9 : (SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar))) = 1) AND (SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'pocket bottom usage') AND ('AUTOMOTIVE_DESIGN.' + 'POCKET' IN TYPEOF(sar.related_shape_aspect.of_shape.definition)) AND ( sar.related_shape_aspect.of_shape.definition\Characterized_Object. description = 'bottom condition occurrence'))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Point SUPERTYPE OF (ONEOF (Cartesian_Point, Point_On_Curve, Point_On_Surface, Point_Replica, Degenerate_Pcurve)) SUBTYPE OF (Geometric_Representation_Item); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Point_On_Curve SUBTYPE OF (Point); basis_curve : Curve; point_parameter : Parameter_Value; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Point_On_Planar_Curve_Pair SUBTYPE OF (Kinematic_Pair); pair_curve : Curve; orientation : BOOLEAN; WHERE wr1 : Frame_Associated_To_Background(SELF\Kinematic_Pair. pair_placement_in_first_link_context, pair_curve); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Point_On_Planar_Curve_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Point_On_Planar_Curve_Pair; range_on_pair_curve : Trimmed_Curve; lower_limit_yaw : Rotational_Range_Measure; upper_limit_yaw : Rotational_Range_Measure; lower_limit_pitch : Rotational_Range_Measure; upper_limit_pitch : Rotational_Range_Measure; lower_limit_roll : Rotational_Range_Measure; upper_limit_roll : Rotational_Range_Measure; WHERE wr1 : SELF\Simple_Pair_Range.applies_to_pair\Point_On_Planar_Curve_Pair. pair_curve :=: range_on_pair_curve.basis_curve; wr2 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_yaw)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_yaw)) XOR ( lower_limit_yaw < upper_limit_yaw); wr3 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_pitch)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_pitch)) XOR (lower_limit_pitch < upper_limit_pitch); wr4 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_roll)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_roll)) XOR ( lower_limit_roll < upper_limit_roll); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Point_On_Planar_Curve_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Point_On_Planar_Curve_Pair; actual_point_on_curve : Point_On_Curve; input_orientation : Spatial_Rotation; DERIVE actual_orientation : Ypr_Rotation := Convert_Spatial_To_Ypr_Rotation(SELF\ Pair_Value.applies_to_pair, input_orientation); WHERE wr1 : SELF\Pair_Value.applies_to_pair\Point_On_Planar_Curve_Pair.pair_curve :=: actual_point_on_curve.basis_curve; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Point_On_Surface SUBTYPE OF (Point); basis_surface : Surface; point_parameter_u : Parameter_Value; point_parameter_v : Parameter_Value; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Point_On_Surface_Pair SUBTYPE OF (Kinematic_Pair); pair_surface : Surface; WHERE wr1 : Frame_Associated_To_Background(SELF\Kinematic_Pair. pair_placement_in_first_link_context, pair_surface); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Point_On_Surface_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Point_On_Surface_Pair; range_on_pair_surface : Rectangular_Trimmed_Surface; lower_limit_yaw : Rotational_Range_Measure; upper_limit_yaw : Rotational_Range_Measure; lower_limit_pitch : Rotational_Range_Measure; upper_limit_pitch : Rotational_Range_Measure; lower_limit_roll : Rotational_Range_Measure; upper_limit_roll : Rotational_Range_Measure; WHERE wr1 : SELF\Simple_Pair_Range.applies_to_pair\Point_On_Surface_Pair. pair_surface :=: range_on_pair_surface.basis_surface; wr2 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_yaw)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_yaw)) XOR ( lower_limit_yaw < upper_limit_yaw); wr3 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_pitch)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_pitch)) XOR (lower_limit_pitch < upper_limit_pitch); wr4 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_roll)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_roll)) XOR ( lower_limit_roll < upper_limit_roll); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Point_On_Surface_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Point_On_Surface_Pair; actual_point_on_surface : Point_On_Surface; input_orientation : Spatial_Rotation; DERIVE actual_orientation : Ypr_Rotation := Convert_Spatial_To_Ypr_Rotation(SELF\ Pair_Value.applies_to_pair, input_orientation); WHERE wr1 : SELF\Pair_Value.applies_to_pair\Point_On_Surface_Pair.pair_surface :=: actual_point_on_surface.basis_surface; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Point_Placement_Shape_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'COMPOUND_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT_3D'] * TYPEOF(i)) <> 1)) = 0; wr2 : SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'COMPOUND_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM'] * TYPEOF(i)) = 1)) > 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Point_Replica SUBTYPE OF (Point); parent_pt : Point; transformation : Cartesian_Transformation_Operator; WHERE wr1 : Transformation.dim = parent_pt.dim; wr2 : Acyclic_Point_Replica(SELF, parent_pt); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Point_Style SUBTYPE OF (Founded_Item); name : Label; marker : Marker_Select; marker_size : Size_Select; marker_colour : Colour; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Poly_Loop SUBTYPE OF (Loop, Geometric_Representation_Item); polygon : LIST [3:?] OF UNIQUE Cartesian_Point; END_ENTITY; -- 10303-42: topology_schema
ENTITY Polyline SUBTYPE OF (Bounded_Curve); points : LIST [2:?] OF Cartesian_Point; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Position_Tolerance SUBTYPE OF (Geometric_Tolerance); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF(SELF)) OR (SIZEOF(SELF \Geometric_Tolerance_With_Datum_Reference.datum_system) <= 3); END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Power_Expression SUBTYPE OF (Binary_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Pre_Defined_Colour SUBTYPE OF (Pre_Defined_Item, Colour); END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Pre_Defined_Curve_Font SUBTYPE OF (Pre_Defined_Item); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Pre_Defined_Dimension_Symbol SUBTYPE OF (Pre_Defined_Symbol); WHERE wr1 : SELF.name IN ['arc length', 'conical taper', 'counterbore', 'countersink', 'depth', 'diameter', 'plus minus', 'radius', 'slope', 'spherical diameter', 'spherical radius', 'square']; END_ENTITY; -- 10303-214: automotive_design
ENTITY Pre_Defined_Geometrical_Tolerance_Symbol SUBTYPE OF (Pre_Defined_Symbol); WHERE wr1 : SELF.name IN ['angularity', 'basic dimension', 'blanked datum reference', 'circular runout', 'circularity', 'concentricity', 'cylindricity', 'datum target identification', 'diameter' , 'filled datum reference', 'flatness', 'least material condition', 'maximum material condition', 'parallelism', 'perpendicularity', 'position' , 'profile of a line', 'profile of a surface', 'projected tolerance zone', 'regardless of feature size', 'straightness', 'symmetry', 'total runout']; END_ENTITY; -- 10303-214: automotive_design
ENTITY Pre_Defined_Item; name : Label; END_ENTITY; -- 10303-41: external_reference_schema
ENTITY Pre_Defined_Marker SUBTYPE OF (Pre_Defined_Item); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Pre_Defined_Point_Marker_Symbol SUBTYPE OF (Pre_Defined_Marker, Pre_Defined_Symbol); WHERE wr1 : SELF.name IN ['asterisk', 'circle', 'dot', 'plus', 'square', 'triangle' , 'x']; END_ENTITY; -- 10303-214: automotive_design
ENTITY Pre_Defined_Presentation_Style SUBTYPE OF (Founded_Item, Pre_Defined_Item); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Pre_Defined_Surface_Condition_Symbol SUBTYPE OF (Pre_Defined_Symbol); WHERE wr1 : SELF.name IN ['000', '010', '020', '030', '040', '050', '060', '070', '001', '011', '021', '031', '041', '051', '061', '071', '100', '110', '120' , '130', '140', '150', '160', '170', '101', '111', '121', '131', '141', '151', '161', '171', '200', '210', '220', '230', '240', '250', '260', '270' , '201', '211', '221', '231', '241', '251', '261', '271']; END_ENTITY; -- 10303-214: automotive_design
ENTITY Pre_Defined_Symbol SUBTYPE OF (Pre_Defined_Item); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Pre_Defined_Terminator_Symbol SUBTYPE OF (Pre_Defined_Symbol); WHERE wr1 : SELF.name IN ['blanked arrow', 'blanked box', 'blanked dot', 'dimension origin', 'filled arrow', 'filled box', 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow']; END_ENTITY; -- 10303-214: automotive_design
ENTITY Pre_Defined_Text_Font SUBTYPE OF (Pre_Defined_Item); END_ENTITY; -- 10303-46: presentation_resource_schema
ENTITY Precision_Qualifier; precision_value : INTEGER; END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Presentation_Area SUBTYPE OF (Presentation_Representation); WHERE wr1 : (SIZEOF(QUERY(ais <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.AREA_IN_SET.AREA') | SIZEOF(USEDIN(ais, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.UNIT')) = 1)) > 0) OR (SIZEOF( USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.UNIT')) = 1); END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Presentation_Layer_Assignment; name : Label; description : Text; assigned_items : SET [1:?] OF Layered_Item; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Presentation_Representation SUPERTYPE OF (ONEOF (Presentation_Area, Presentation_View)) SUBTYPE OF (Representation); SELF\representation.context_of_items : Geometric_Representation_Context; WHERE wr1 : SELF\Representation.context_of_items\Geometric_Representation_Context. coordinate_space_dimension = 2; wr2 : ('AUTOMOTIVE_DESIGN.PRESENTATION_AREA' IN TYPEOF(SELF)) OR (SIZEOF( QUERY(prr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_2') | 'AUTOMOTIVE_DESIGN.PRESENTATION_REPRESENTATION' IN TYPEOF(prr\ Representation_Relationship.rep_1))) > 0) OR (SIZEOF(QUERY(rm <* USEDIN( SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPED_REPRESENTATION') | SIZEOF(QUERY(mi <* USEDIN(rm, 'AUTOMOTIVE_DESIGN.MAPPED_ITEM.MAPPING_SOURCE') | SIZEOF(QUERY(rep <* Using_Representations(mi) | 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_REPRESENTATION' IN TYPEOF(rep))) > 0)) > 0)) > 0); END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Presentation_Set; INVERSE areas : SET [1:?] OF Area_In_Set FOR in_set; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Presentation_Size; unit : Presentation_Size_Assignment_Select; size : Planar_Box; UNIQUE ur1 : Unit; WHERE wr1 : ('AUTOMOTIVE_DESIGN.PRESENTATION_REPRESENTATION' IN TYPEOF(SELF.Unit )) AND Item_In_Context(SELF.size, SELF.Unit\Representation.context_of_items ) OR ('AUTOMOTIVE_DESIGN.AREA_IN_SET' IN TYPEOF(SELF.Unit)) AND (SIZEOF( QUERY(ais <* SELF.Unit\Area_In_Set.in_set.areas | NOT Item_In_Context(SELF. size, ais.area\Representation.context_of_items))) = 0); END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Presentation_Style_Assignment SUBTYPE OF (Founded_Item); styles : SET [1:?] OF Presentation_Style_Select; WHERE wr1 : SIZEOF(QUERY(style1 <* SELF.styles | NOT (SIZEOF(QUERY(style2 <* SELF. styles - style1 | NOT ((TYPEOF(style1) <> TYPEOF(style2)) OR (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'SURFACE_STYLE_USAGE', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_STYLE'] * TYPEOF(style1)) = 1)))) = 0))) = 0; wr2 : SIZEOF(QUERY(style1 <* SELF.styles | 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(style1))) <= 2; wr3 : SIZEOF(QUERY(style1 <* SELF.styles | ( 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(style1)) AND (SIZEOF( QUERY(style2 <* SELF.styles - style1 | ( 'AUTOMOTIVE_DESIGN.SURFACE_STYLE_USAGE' IN TYPEOF(style2)) AND ((style1\ Surface_Style_Usage.side = Both) OR (style2\Surface_Style_Usage.side = Both ) OR (style1\Surface_Style_Usage.side = style2\Surface_Style_Usage.side)))) > 0))) = 0; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Presentation_Style_By_Context SUBTYPE OF (Presentation_Style_Assignment); style_context : Style_Context_Select; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Presentation_View SUBTYPE OF (Presentation_Representation); END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Presented_Item ABSTRACT SUPERTYPE; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Presented_Item_Representation; presentation : Presentation_Representation_Select; item : Presented_Item; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Prismatic_Pair SUBTYPE OF (Kinematic_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Prismatic_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Prismatic_Pair; lower_limit_actual_translation : Translational_Range_Measure; upper_limit_actual_translation : Translational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_translation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_actual_translation)) XOR ( lower_limit_actual_translation < upper_limit_actual_translation); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Prismatic_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Prismatic_Pair; actual_translation : Length_Measure; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Process_Operation SUBTYPE OF (Action_Method); WHERE wr1 : SIZEOF(QUERY(amr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_METHOD_RELATIONSHIP.RELATING_METHOD') | NOT ( 'AUTOMOTIVE_DESIGN.' + 'PROCESS_OPERATION' IN TYPEOF(amr.related_method) ) OR (SELF :=: amr.related_method))) = 0; wr2 : SIZEOF(QUERY(amr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_METHOD_RELATIONSHIP.RELATED_METHOD') | NOT ( 'AUTOMOTIVE_DESIGN.' + 'PROCESS_OPERATION' IN TYPEOF(amr.relating_method )) OR (SELF :=: amr.relating_method))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Process_Plan SUBTYPE OF (Action); WHERE wr1 : SIZEOF(QUERY(ar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATED_ACTION') | SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'PROCESS_PLAN', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_PROCESS_PLAN'] * TYPEOF(ar.relating_action)) <> 1)) = 0; wr2 : SIZEOF(QUERY(ar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATING_ACTION') | (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'PROCESS_PLAN', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_PROCESS_PLAN'] * TYPEOF(ar.related_action)) = 1) OR (ar.name = 'process operation occurrence') AND ('AUTOMOTIVE_DESIGN.' + 'PROCESS_OPERATION' IN TYPEOF(ar.related_action.chosen_method)))) = SIZEOF( USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATING_ACTION')); END_ENTITY; -- 10303-214: automotive_design
ENTITY Process_Product_Association; name : Label; description : Text; defined_product : Characterized_Product_Definition; process : Product_Definition_Process; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Process_Property_Association; name : Label; description : Text; process : Property_Process; property_or_shape : Property_Or_Shape_Select; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Product; id : Identifier; name : Label; description : OPTIONAL Text; frame_of_reference : SET [1:?] OF Product_Context; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Category; name : Label; description : OPTIONAL Text; DERIVE id : Identifier := Get_Id_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Category_Relationship; name : Label; description : OPTIONAL Text; category : Product_Category; sub_category : Product_Category; WHERE wr1 : Acyclic_Product_Category_Relationship(SELF, [SELF.sub_category]); END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Class SUBTYPE OF (Product_Concept, Characterized_Object); END_ENTITY; -- 10303-214: automotive_design
ENTITY Product_Concept; id : Identifier; name : Label; description : OPTIONAL Text; market_context : Product_Concept_Context; UNIQUE ur1 : id; END_ENTITY; -- 10303-44: product_concept_schema
ENTITY Product_Concept_Context SUBTYPE OF (Application_Context_Element); market_segment_type : Label; END_ENTITY; -- 10303-41: application_context_schema
ENTITY Product_Concept_Feature; id : Identifier; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-44: product_concept_schema
ENTITY Product_Concept_Feature_Association; name : Label; description : OPTIONAL Text; concept : Product_Concept; feature : Product_Concept_Feature; END_ENTITY; -- 10303-44: product_concept_schema
ENTITY Product_Concept_Feature_Category SUBTYPE OF (Group); WHERE wr1 : SIZEOF(QUERY(aga <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.GROUP_ASSIGNMENT.ASSIGNED_GROUP') | ( 'AUTOMOTIVE_DESIGN.' + 'APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(aga)) AND (( aga.role.name <> 'specification category member') OR (SIZEOF(QUERY(i <* aga .items | ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE' IN TYPEOF(i)) AND NOT ('AUTOMOTIVE_DESIGN.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF (i)))) <> SIZEOF(aga.items))))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Product_Concept_Feature_Category_Usage SUBTYPE OF (Group_Assignment); items : SET [1:?] OF Category_Usage_Item; WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF( SELF.assigned_group); wr2 : SELF.role.name IN ['mandatory category usage', 'optional category usage']; END_ENTITY; -- 10303-214: automotive_design
ENTITY Product_Concept_Relationship; name : Label; description : OPTIONAL Text; relating_product_concept : Product_Concept; related_product_concept : Product_Concept; END_ENTITY; -- 10303-44: product_concept_schema
ENTITY Product_Context SUBTYPE OF (Application_Context_Element); discipline_type : Label; END_ENTITY; -- 10303-41: application_context_schema
ENTITY Product_Definition; id : Identifier; description : OPTIONAL Text; formation : Product_Definition_Formation; frame_of_reference : Product_Definition_Context; DERIVE name : Label := Get_Name_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Context SUBTYPE OF (Application_Context_Element); life_cycle_stage : Label; END_ENTITY; -- 10303-41: application_context_schema
ENTITY Product_Definition_Context_Association; definition : Product_Definition; frame_of_reference : Product_Definition_Context; role : Product_Definition_Context_Role; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Context_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Effectivity SUBTYPE OF (Effectivity); usage : Product_Definition_Relationship; WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY')) = 0; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Formation; id : Identifier; description : OPTIONAL Text; of_product : Product; UNIQUE ur1 : id, of_product; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Formation_Relationship; id : Identifier; name : Label; description : OPTIONAL Text; relating_product_definition_formation : Product_Definition_Formation; related_product_definition_formation : Product_Definition_Formation; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Formation_With_Specified_Source SUBTYPE OF (Product_Definition_Formation); make_or_buy : Source; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Occurrence_Relationship; name : Label; description : OPTIONAL Text; occurrence : Product_Definition; occurrence_usage : Assembly_Component_Usage; WHERE wr1 : occurrence_usage.relating_product_definition :<>: occurrence; wr2 : occurrence_usage.related_product_definition :<>: occurrence; wr3 : occurrence.formation :=: occurrence_usage.related_product_definition. formation; END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Product_Definition_Process SUBTYPE OF (Action); identification : Identifier; INVERSE product_definitions : SET [1:?] OF Process_Product_Association FOR process; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Product_Definition_Relationship; id : Identifier; name : Label; description : OPTIONAL Text; relating_product_definition : Product_Definition; related_product_definition : Product_Definition; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Resource SUBTYPE OF (Action_Resource, Product_Definition); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REQUIREMENT_FOR_ACTION_RESOURCE.RESOURCES')) > 0; wr2 : SELF.frame_of_reference.name IN ['part_definition', 'part occurrence', 'physical occurrence']; END_ENTITY; -- 10303-214: automotive_design
ENTITY Product_Definition_Shape SUBTYPE OF (Property_Definition); UNIQUE ur1 : SELF\Property_Definition.definition; WHERE wr1 : SIZEOF(['AUTOMOTIVE_DESIGN.CHARACTERIZED_PRODUCT_DEFINITION', 'AUTOMOTIVE_DESIGN.CHARACTERIZED_OBJECT'] * TYPEOF(SELF\ Property_Definition.definition)) > 0; END_ENTITY; -- 10303-41: product_property_definition_schema
ENTITY Product_Definition_Substitute; description : OPTIONAL Text; context_relationship : Product_Definition_Relationship; substitute_definition : Product_Definition; DERIVE name : Label := Get_Name_Value(SELF); WHERE wr1 : context_relationship.related_product_definition :<>: substitute_definition; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Definition_Usage SUPERTYPE OF (ONEOF (Make_From_Usage_Option, Assembly_Component_Usage)) SUBTYPE OF (Product_Definition_Relationship); UNIQUE ur1 : SELF\Product_Definition_Relationship.id, SELF\ Product_Definition_Relationship.relating_product_definition, SELF\ Product_Definition_Relationship.related_product_definition; WHERE wr1 : Acyclic_Product_Definition_Relationship(SELF, [SELF\ Product_Definition_Relationship.related_product_definition], 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_USAGE'); END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Product_Definition_With_Associated_Documents SUBTYPE OF (Product_Definition); documentation_ids : SET [1:?] OF Document; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Identification SUBTYPE OF (Configuration_Item, Characterized_Object); WHERE wr1 : SIZEOF(QUERY(cd <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.CONFIGURATION_DESIGN.CONFIGURATION') | ( 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF(cd. design)) AND (SIZEOF(QUERY(prpc <* USEDIN(cd.design\ Product_Definition_Formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name IN ['part', 'raw material', 'tool'])) > 0))) <= 1; wr2 : 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CLASS' IN TYPEOF(SELF.item_concept); wr3 : NOT ('AUTOMOTIVE_DESIGN.' + 'CONFIGURABLE_ITEM' IN TYPEOF(SELF)) OR ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_SPECIFICATION' IN TYPEOF(SELF)); END_ENTITY; -- 10303-214: automotive_design
ENTITY Product_Process_Plan SUBTYPE OF (Product_Definition_Process); WHERE wr1 : SIZEOF(QUERY(ar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATED_ACTION') | SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'PROCESS_PLAN', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_PROCESS_PLAN'] * TYPEOF(ar.relating_action)) <> 1)) = 0; wr2 : SIZEOF(QUERY(ar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATING_ACTION') | (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'PROCESS_PLAN', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_PROCESS_PLAN'] * TYPEOF(ar.related_action)) = 1) OR (ar.name = 'process operation occurrence') AND ('AUTOMOTIVE_DESIGN.' + 'PROCESS_OPERATION' IN TYPEOF(ar.related_action.chosen_method)))) = SIZEOF( USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATING_ACTION')); wr3 : SIZEOF(QUERY(ppa <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROCESS_PRODUCT_ASSOCIATION.PROCESS') | (ppa.name <> 'produced output') OR NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(ppa.defined_product)))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Product_Related_Product_Category SUBTYPE OF (Product_Category); products : SET [1:?] OF Product; END_ENTITY; -- 10303-41: product_definition_schema
ENTITY Product_Specification SUBTYPE OF (Product_Identification, Configurable_Item); END_ENTITY; -- 10303-214: automotive_design
ENTITY Projected_Zone_Definition SUBTYPE OF (Tolerance_Zone_Definition); projection_end : Shape_Aspect; projected_length : Measure_With_Unit; WHERE wr1 : ('NUMBER' IN TYPEOF(projected_length\Measure_With_Unit.value_component) ) AND (projected_length\Measure_With_Unit.value_component > 0.0); wr2 : Derive_Dimensional_Exponents(projected_length\Measure_With_Unit. unit_component) = Dimensional_Exponents(1, 0, 0, 0, 0, 0, 0); END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Projection_Curve SUBTYPE OF (Annotation_Curve_Occurrence); END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Projection_Directed_Callout SUBTYPE OF (Draughting_Callout); WHERE wr1 : SIZEOF(QUERY(p_1 <* SELF\Draughting_Callout.contents | 'AUTOMOTIVE_DESIGN.PROJECTION_CURVE' IN TYPEOF(p_1))) = 1; wr2 : SIZEOF(SELF\Draughting_Callout.contents) >= 2; END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Promissory_Usage_Occurrence SUBTYPE OF (Assembly_Component_Usage); END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Property_Definition; name : Label; description : OPTIONAL Text; definition : Characterized_Definition; DERIVE id : Identifier := Get_Id_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; END_ENTITY; -- 10303-41: product_property_definition_schema
ENTITY Property_Definition_Relationship; name : Label; description : Text; relating_property_definition : Property_Definition; related_property_definition : Property_Definition; END_ENTITY; -- 10303-45: material_property_definition_schema
ENTITY Property_Definition_Representation; definition : Represented_Definition; used_representation : Representation; DERIVE description : Text := Get_Description_Value(SELF); name : Label := Get_Name_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; -- 10303-41: product_property_representation_schema
ENTITY Property_Process SUBTYPE OF (Action); identification : Identifier; INVERSE properties : SET [1:?] OF Process_Property_Association FOR process; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Qualified_Representation_Item SUBTYPE OF (Representation_Item); qualifiers : SET [1:?] OF Value_Qualifier; WHERE wr1 : SIZEOF(QUERY(temp <* qualifiers | 'AUTOMOTIVE_DESIGN.PRECISION_QUALIFIER' IN TYPEOF(temp))) < 2; END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Qualitative_Uncertainty SUBTYPE OF (Uncertainty_Qualifier); uncertainty_value : Text; END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Quantified_Assembly_Component_Usage SUBTYPE OF (Assembly_Component_Usage); quantity : Measure_With_Unit; WHERE wr1 : NOT ('NUMBER' IN TYPEOF(quantity.value_component)) OR (quantity. value_component > 0); END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Quasi_Uniform_Curve SUBTYPE OF (B_Spline_Curve); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Quasi_Uniform_Surface SUBTYPE OF (B_Spline_Surface); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Rack_And_Pinion_Pair SUBTYPE OF (Kinematic_Pair); pinion_radius : Length_Measure; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Rack_And_Pinion_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Rack_And_Pinion_Pair; lower_limit_rack_displacement : Translational_Range_Measure; upper_limit_rack_displacement : Translational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_rack_displacement)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_rack_displacement)) XOR ( lower_limit_rack_displacement < upper_limit_rack_displacement); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Rack_And_Pinion_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Rack_And_Pinion_Pair; actual_displacement : Length_Measure; DERIVE actual_rotation : Plane_Angle_Measure := Convert_Plane_Angle_For_Pair_From_Radian(SELF\Pair_Value.applies_to_pair, - actual_displacement/SELF\Pair_Value.applies_to_pair\Rack_And_Pinion_Pair. pinion_radius); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Radius_Dimension SUBTYPE OF (Dimension_Curve_Directed_Callout); WHERE wr1 : SIZEOF(QUERY(con <* SELF.contents | 'AUTOMOTIVE_DESIGN.PROJECTION_CURVE' IN TYPEOF(con))) <= 1; END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Ratio_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.RATIO_UNIT' IN TYPEOF(SELF\Measure_With_Unit. unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Ratio_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Rational_B_Spline_Curve SUBTYPE OF (B_Spline_Curve); weights_data : LIST [2:?] OF REAL; DERIVE weights : ARRAY [0 : upper_index_on_control_points] OF REAL := List_To_Array (weights_data, 0, upper_index_on_control_points); WHERE wr1 : SIZEOF(weights_data) = SIZEOF(SELF\B_Spline_Curve.control_points_list); wr2 : Curve_Weights_Positive(SELF); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Rational_B_Spline_Surface SUBTYPE OF (B_Spline_Surface); weights_data : LIST [2:?] OF LIST [2:?] OF REAL; DERIVE weights : ARRAY [0 : u_upper] OF ARRAY [0 : v_upper] OF REAL := Make_Array_Of_Array(weights_data, 0, u_upper, 0, v_upper); WHERE wr1 : (SIZEOF(weights_data) = SIZEOF(SELF\B_Spline_Surface. control_points_list)) AND (SIZEOF(weights_data[1]) = SIZEOF(SELF\ B_Spline_Surface.control_points_list[1])); wr2 : Surface_Weights_Positive(SELF); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Real_Defined_Function ABSTRACT SUPERTYPE SUBTYPE OF (Numeric_Defined_Function); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Real_Literal SUBTYPE OF (Literal_Number); SELF\literal_number.the_value : REAL; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Real_Numeric_Variable SUBTYPE OF (Numeric_Variable); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Rectangular_Closed_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {3 <= SIZEOF(pdr.used_representation.items) <= 4})) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'length', 'width', 'corner radius']) )) > 0))) = 0; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'width'))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'length'))) = 1))) = 1; wr8 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | i.name = 'corner radius')) = 1))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2)) = 1))) <= 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Rectangular_Composite_Surface SUBTYPE OF (Bounded_Surface); segments : LIST [1:?] OF LIST [1:?] OF Surface_Patch; DERIVE n_u : INTEGER := SIZEOF(segments); n_v : INTEGER := SIZEOF(segments[1]); WHERE wr1 : SIZEOF(QUERY(s <* segments | n_v <> SIZEOF(s))) = 0; wr2 : Constraints_Rectangular_Composite_Surface(SELF); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Rectangular_Pattern SUBTYPE OF (Replicate_Feature); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'row layout direction'))) = 1; wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'column layout direction'))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 5))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'number of rows') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\Measure_With_Unit.value_component)))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'number of columnws') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'COUNT_MEASURE' IN TYPEOF(i\Measure_With_Unit.value_component)))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'row spacing') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'column spacing') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Rectangular_Trimmed_Surface SUBTYPE OF (Bounded_Surface); basis_surface : Surface; u1 : Parameter_Value; u2 : Parameter_Value; v1 : Parameter_Value; v2 : Parameter_Value; usense : BOOLEAN; vsense : BOOLEAN; WHERE wr1 : u1 <> u2; wr2 : v1 <> v2; wr3 : ('AUTOMOTIVE_DESIGN.ELEMENTARY_SURFACE' IN TYPEOF(basis_surface)) AND NOT ('AUTOMOTIVE_DESIGN.PLANE' IN TYPEOF(basis_surface)) OR ( 'AUTOMOTIVE_DESIGN.SURFACE_OF_REVOLUTION' IN TYPEOF(basis_surface)) OR ( usense = (u2 > u1)); wr4 : ('AUTOMOTIVE_DESIGN.SPHERICAL_SURFACE' IN TYPEOF(basis_surface)) OR ('AUTOMOTIVE_DESIGN.TOROIDAL_SURFACE' IN TYPEOF(basis_surface)) OR ( vsense = (v2 > v1)); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Referenced_Modified_Datum SUBTYPE OF (Datum_Reference); modifier : Limit_Condition; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Relative_Event_Occurrence SUBTYPE OF (Event_Occurrence); base_event : Event_Occurrence; offset : Time_Measure_With_Unit; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Rep_Item_Group SUBTYPE OF (Group, Representation_Item); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PRESENTATION_LAYER_ASSIGNMENT.ASSIGNED_ITEMS')) > 0; wr2 : SIZEOF(QUERY(r <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | r.name = 'group representation')) > 0; wr3 : SIZEOF(QUERY(ga <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.GROUP_ASSIGNMENT.ASSIGNED_GROUP') | ga.role.name <> 'group membership')) = 0; wr4 : SIZEOF(['AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.' + 'STYLED_ITEM'] * TYPEOF(SELF)) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Reparametrised_Composite_Curve_Segment SUBTYPE OF (Composite_Curve_Segment); param_length : Parameter_Value; WHERE wr1 : param_length > 0.0; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Replicate_Feature SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'orientation') AND ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)))) = 1))) = 1; wr3 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | SIZEOF(QUERY(sar <* USEDIN (sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ('AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar)) AND (sar.name = 'pattern basis') AND ('AUTOMOTIVE_DESIGN.' + 'FEATURE_DEFINITION' IN TYPEOF(sar.related_shape_aspect.of_shape.definition )))) = 1)) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Representation; name : Label; items : SET [1:?] OF Representation_Item; context_of_items : Representation_Context; DERIVE id : Identifier := Get_Id_Value(SELF); description : Text := Get_Description_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; wr2 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; -- 10303-43: representation_schema
ENTITY Representation_Context; context_identifier : Identifier; context_type : Text; INVERSE representations_in_context : SET [1:?] OF Representation FOR context_of_items ; END_ENTITY; -- 10303-43: representation_schema
ENTITY Representation_Item SUPERTYPE OF (ONEOF (Compound_Representation_Item, Mapped_Item, Value_Representation_Item)); name : Label; WHERE wr1 : SIZEOF(Using_Representations(SELF)) > 0; END_ENTITY; -- 10303-43: representation_schema
ENTITY Representation_Map; mapping_origin : Representation_Item; mapped_representation : Representation; INVERSE map_usage : SET [1:?] OF Mapped_Item FOR mapping_source; WHERE wr1 : Item_In_Context(SELF.mapping_origin, SELF.mapped_representation. context_of_items); END_ENTITY; -- 10303-43: representation_schema
ENTITY Representation_Relationship; name : Label; description : OPTIONAL Text; rep_1 : Representation; rep_2 : Representation; END_ENTITY; -- 10303-43: representation_schema
ENTITY Representation_Relationship_With_Transformation SUBTYPE OF (Representation_Relationship); transformation_operator : Transformation; WHERE wr1 : SELF\Representation_Relationship.rep_1.context_of_items :<>: SELF\ Representation_Relationship.rep_2.context_of_items; END_ENTITY; -- 10303-43: representation_schema
ENTITY Requirement_For_Action_Resource SUBTYPE OF (Action_Resource_Requirement); resources : SET [1:?] OF Action_Resource; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Resource_Property; name : Label; description : Text; resource : Characterized_Resource_Definition; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Resource_Property_Representation; name : Label; description : Text; property : Resource_Property; representation : Representation; END_ENTITY; -- 10303-49: process_property_representation_schema
ENTITY Resource_Requirement_Type; name : Label; description : Text; END_ENTITY; -- 10303-49: process_property_schema
ENTITY Resulting_Path SUBTYPE OF (Motion_Link_Relationship); controlling_joints : SET [1:?] OF Kinematic_Joint; END_ENTITY; -- 10303-105: kinematic_analysis_control_and_result_schema
ENTITY Retention SUBTYPE OF (Action); WHERE wr1 : SIZEOF(QUERY(aa <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_ASSIGNMENT.ASSIGNED_ACTION') | ( 'AUTOMOTIVE_DESIGN.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(aa)) AND ( aa.role.name = 'retention'))) >= 1; wr2 : (SIZEOF(QUERY(atia <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | atia.role. name = 'minimum retention period')) = 1) AND (SIZEOF(QUERY(atia <* USEDIN( SELF, 'AUTOMOTIVE_DESIGN.APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | atia .role.name = 'maximum retention period')) = 1) AND (SIZEOF(QUERY(atia1 <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | (atia1.role.name = 'minimum retention period') AND ( 'AUTOMOTIVE_DESIGN.' + 'TIME_INTERVAL_WITH_BOUNDS' IN TYPEOF(atia1. assigned_time_interval)) AND (EXISTS(atia1.assigned_time_interval\ Time_Interval_With_Bounds.secondary_bound) OR EXISTS(atia1. assigned_time_interval\Time_Interval_With_Bounds.duration)) AND (SIZEOF( QUERY(atia2 <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | (atia2. role.name = 'maximum retention period') AND ('AUTOMOTIVE_DESIGN.' + 'TIME_INTERVAL_WITH_BOUNDS' IN TYPEOF(atia2.assigned_time_interval)) AND ( EXISTS(atia2.assigned_time_interval\Time_Interval_With_Bounds. secondary_bound) OR EXISTS(atia2.assigned_time_interval\ Time_Interval_With_Bounds.duration)) AND (atia1.assigned_time_interval\ Time_Interval_With_Bounds.primary_bound :=: atia2.assigned_time_interval\ Time_Interval_With_Bounds.primary_bound))) = 1))) = 1); wr3 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATING_ACTION')) + SIZEOF( USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATED_ACTION')) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Revolute_Pair SUBTYPE OF (Kinematic_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Revolute_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Revolute_Pair; lower_limit_actual_rotation : Rotational_Range_Measure; upper_limit_actual_rotation : Rotational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_rotation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_actual_rotation)) XOR (lower_limit_actual_rotation < upper_limit_actual_rotation); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Revolute_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Revolute_Pair; actual_rotation : Plane_Angle_Measure; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Revolved_Area_Solid SUBTYPE OF (Swept_Area_Solid); axis : Axis1_Placement; angle : Plane_Angle_Measure; DERIVE axis_line : Line := Representation_Item('')||Geometric_Representation_Item() ||Curve()||Line(axis.location, Representation_Item('')|| Geometric_Representation_Item()||Vector(axis.z, 1.0)); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Revolved_Face_Solid SUBTYPE OF (Swept_Face_Solid); axis : Axis1_Placement; angle : Plane_Angle_Measure; DERIVE axis_line : Line := Representation_Item('')||Geometric_Representation_Item() ||Curve()||Line(axis.location, Representation_Item('')|| Geometric_Representation_Item()||Vector(axis.z, 1.0)); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Rib SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND NOT ({1 <= SIZEOF(pdr.used_representation. items) <= 3}))) = 0; wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'fillet radius', 'shoulder radius']) )) > 0))) = 0; wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'fillet radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'shoulder radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr5 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'swept shape occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'PARTIAL_CIRCULAR_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'SQUARE_U_PROFILE' , 'AUTOMOTIVE_DESIGN.' + 'ROUNDED_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'TEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'VEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'OPEN_PATH_PROFILE'] * TYPEOF(sar. relating_shape_aspect)) = 1))) = 1))) = 1; wr6 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'course of travel occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'course of travel') AND ('AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1 ; wr7 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'change in boundary occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'taper usage') AND ('AUTOMOTIVE_DESIGN.' + 'TAPER' IN TYPEOF(sar.relating_shape_aspect)) AND (sar. relating_shape_aspect.description = 'directed taper'))) = 1))) <= 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Right_Angular_Wedge SUBTYPE OF (Geometric_Representation_Item); position : Axis2_Placement_3d; x : Positive_Length_Measure; y : Positive_Length_Measure; z : Positive_Length_Measure; ltx : Length_Measure; WHERE wr1 : (0.0 <= ltx) AND (ltx < X); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Right_Circular_Cone SUBTYPE OF (Geometric_Representation_Item); position : Axis1_Placement; height : Positive_Length_Measure; radius : Length_Measure; semi_angle : Plane_Angle_Measure; WHERE wr1 : radius >= 0.0; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Right_Circular_Cylinder SUBTYPE OF (Geometric_Representation_Item); position : Axis1_Placement; height : Positive_Length_Measure; radius : Positive_Length_Measure; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Role_Association; role : Object_Role; item_with_role : Role_Select; END_ENTITY; -- 10303-41: basic_attribute_schema
ENTITY Rolling_Curve_Pair SUBTYPE OF (Planar_Curve_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Rolling_Curve_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Rolling_Curve_Pair; actual_point_on_curve_1 : Point_On_Curve; WHERE wr1 : SELF\Pair_Value.applies_to_pair\Planar_Curve_Pair.curve_1 :=: actual_point_on_curve_1.basis_curve; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Rolling_Surface_Pair SUBTYPE OF (Surface_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Rolling_Surface_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Rolling_Surface_Pair; actual_point_on_surface : Point_On_Surface; actual_rotation : Plane_Angle_Measure; WHERE wr1 : SELF\Pair_Value.applies_to_pair\Surface_Pair.surface_1 :=: actual_point_on_surface.basis_surface; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Rotation_About_Direction; direction_of_axis : Direction; rotation_angle : Plane_Angle_Measure; WHERE wr1 : SIZEOF(direction_of_axis.direction_ratios) = 3; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Round_Hole SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'diameter occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'diameter') AND (sar.description = 'profile usage') AND ( 'AUTOMOTIVE_DESIGN.' + 'CIRCULAR_CLOSED_PROFILE' IN TYPEOF(sar. relating_shape_aspect)))) = 1))) = 1; wr2 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'hole depth occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'hole depth') AND (sar.description = 'path feature component usage') AND ('AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(sar.relating_shape_aspect)) AND (sar. relating_shape_aspect.description = 'linear'))) = 1))) = 1; wr3 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'bottom condition occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'hole bottom usage') AND ('AUTOMOTIVE_DESIGN.' + 'HOLE_BOTTOM' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) <= 1; wr4 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'change in diameter occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'taper usage') AND ('AUTOMOTIVE_DESIGN.' + 'TAPER' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) <> 1)) ) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Rounded_U_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['width', 'orientation']))) > 0))) = 0; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'width'))) = 1))) = 1; wr7 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'profile limit')) ) <= 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Roundness_Tolerance SUBTYPE OF (Geometric_Tolerance); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF(SELF)); END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Ruled_Surface_Swept_Area_Solid SUBTYPE OF (Surface_Curve_Swept_Area_Solid); WHERE wr1 : ('AUTOMOTIVE_DESIGN.B_SPLINE_SURFACE' IN TYPEOF(SELF. reference_surface)) AND (SELF.reference_surface\B_Spline_Surface.u_degree = 1); wr2 : ('AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(SELF.directrix)) OR ( 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE' IN TYPEOF(SELF.directrix\ Surface_Curve.Curve_3d)) AND (SELF.directrix\Surface_Curve.Curve_3d\ B_Spline_Curve.degree = SELF.reference_surface\B_Spline_Surface.v_degree); END_ENTITY; (* declared in: aic_curve_swept_solid *)
ENTITY Runout_Zone_Definition SUBTYPE OF (Tolerance_Zone_Definition); orientation : Runout_Zone_Orientation; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Runout_Zone_Orientation; angle : Measure_With_Unit; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Runout_Zone_Orientation_Reference_Direction SUBTYPE OF (Runout_Zone_Orientation); orientation_defining_relationship : Shape_Aspect_Relationship; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Screw_Pair SUBTYPE OF (Kinematic_Pair); pitch : Length_Measure; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Screw_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Screw_Pair; lower_limit_actual_rotation : Rotational_Range_Measure; upper_limit_actual_rotation : Rotational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_rotation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_actual_rotation)) XOR (lower_limit_actual_rotation < upper_limit_actual_rotation); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Screw_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Screw_Pair; actual_rotation : Plane_Angle_Measure; DERIVE actual_translation : Length_Measure := SELF\Pair_Value.applies_to_pair\ Screw_Pair.Pitch * Plane_Angle_For_Pair_In_Radian(SELF\Pair_Value. applies_to_pair, actual_rotation)/2 * PI; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Seam_Curve SUBTYPE OF (Surface_Curve); WHERE wr1 : SIZEOF(SELF\Surface_Curve.associated_geometry) = 2; wr2 : Associated_Surface(SELF\Surface_Curve.associated_geometry[1]) = Associated_Surface(SELF\Surface_Curve.associated_geometry[2]); wr3 : 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(SELF\Surface_Curve. associated_geometry[1]); wr4 : 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(SELF\Surface_Curve. associated_geometry[2]); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Seam_Edge SUBTYPE OF (Oriented_Edge); pcurve_reference : Pcurve; WHERE wr1 : ('AUTOMOTIVE_DESIGN.EDGE_CURVE' IN TYPEOF(edge_element)) AND ( 'AUTOMOTIVE_DESIGN.SEAM_CURVE' IN TYPEOF(edge_element\Edge_Curve. edge_geometry)); wr2 : pcurve_reference IN edge_element\Edge_Curve.edge_geometry\Surface_Curve .associated_geometry; END_ENTITY; -- 10303-42: topology_schema
ENTITY Security_Classification; name : Label; purpose : Text; security_level : Security_Classification_Level; END_ENTITY; -- 10303-41: security_classification_schema
ENTITY Security_Classification_Assignment ABSTRACT SUPERTYPE; assigned_security_classification : Security_Classification; DERIVE role : Object_Role := Get_Role(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Security_Classification_Level; name : Label; END_ENTITY; -- 10303-41: security_classification_schema
ENTITY Serial_Numbered_Effectivity SUBTYPE OF (Effectivity); effectivity_start_id : Identifier; effectivity_end_id : OPTIONAL Identifier; END_ENTITY; -- 10303-41: effectivity_schema
ENTITY Shape_Aspect; name : Label; description : OPTIONAL Text; of_shape : Product_Definition_Shape; product_definitional : LOGICAL; DERIVE id : Identifier := Get_Id_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; END_ENTITY; -- 10303-41: product_property_definition_schema
ENTITY Shape_Aspect_Associativity SUBTYPE OF (Shape_Aspect_Relationship); WHERE wr1 : SELF.relating_shape_aspect.product_definitional; wr2 : NOT SELF.related_shape_aspect.product_definitional; wr3 : SIZEOF(QUERY(pd <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | NOT (SIZEOF(QUERY( sdr <* QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)) | NOT (SIZEOF(QUERY(it <* sdr.used_representation.items | NOT ( 'AUTOMOTIVE_DESIGN.CURVE' IN TYPEOF(it)) AND (SIZEOF(QUERY(aco <* USEDIN (it, 'AUTOMOTIVE_DESIGN.STYLED_ITEM.ITEM') | SIZEOF(TYPEOF(aco) * [ 'AUTOMOTIVE_DESIGN.LEADER_CURVE', 'AUTOMOTIVE_DESIGN.PROJECTION_CURVE']) = 1)) + SIZEOF(USEDIN(it, 'AUTOMOTIVE_DESIGN.ANNOTATION_FILL_AREA.BOUNDARIES')) >= 1))) = 1))) = 0 ))) = 0; wr4 : SIZEOF(QUERY(pd <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | NOT (SIZEOF(QUERY( sdr <* QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)) | NOT Check_Associative_Shape_Aspects(sdr))) = 0))) = 0; END_ENTITY; (* declared in: aic_associative_draughting_elements *)
ENTITY Shape_Aspect_Deriving_Relationship SUBTYPE OF (Shape_Aspect_Relationship); WHERE wr1 : 'AUTOMOTIVE_DESIGN.DERIVED_SHAPE_ASPECT' IN TYPEOF(SELF\ Shape_Aspect_Relationship.relating_shape_aspect); END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Shape_Aspect_Relationship; name : Label; description : OPTIONAL Text; relating_shape_aspect : Shape_Aspect; related_shape_aspect : Shape_Aspect; DERIVE id : Identifier := Get_Id_Value(SELF); WHERE wr1 : SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM' )) <= 1; END_ENTITY; -- 10303-41: product_property_definition_schema
ENTITY Shape_Aspect_Transition SUBTYPE OF (Shape_Aspect_Relationship); WHERE wr1 : SIZEOF(QUERY(pdr_1 <* Get_Shape_Aspect_Property_Definition_Representations(SELF. relating_shape_aspect) | SIZEOF(QUERY(pdr_2 <* Get_Shape_Aspect_Property_Definition_Representations(SELF. related_shape_aspect) | SIZEOF(QUERY(item_1 <* pdr_1.used_representation. items | SIZEOF(QUERY(item_2 <* pdr_2.used_representation.items | NOT (( 'AUTOMOTIVE_DESIGN.' + 'EDGE' IN TYPEOF(item_1)) AND ( 'AUTOMOTIVE_DESIGN.' + 'EDGE' IN TYPEOF(item_2)) XOR ( 'AUTOMOTIVE_DESIGN.' + 'FACE' IN TYPEOF(item_1)) AND ( 'AUTOMOTIVE_DESIGN.' + 'FACE' IN TYPEOF(item_2))))) > 0)) > 0)) > 0)) = 0; wr2 : SIZEOF(QUERY(pdr_1 <* Get_Shape_Aspect_Property_Definition_Representations(SELF. relating_shape_aspect) | SIZEOF(QUERY(pdr_2 <* Get_Shape_Aspect_Property_Definition_Representations(SELF. related_shape_aspect) | SIZEOF(QUERY(item_1 <* pdr_1.used_representation. items | SIZEOF(QUERY(item_2 <* pdr_2.used_representation.items | ( 'AUTOMOTIVE_DESIGN.' + 'EDGE' IN TYPEOF(item_1)) AND ( 'AUTOMOTIVE_DESIGN.' + 'EDGE' IN TYPEOF(item_2)) AND NOT ((item_1\Edge. edge_start :=: item_2\Edge.edge_start) OR (item_1\Edge.edge_start :=: item_2\Edge.edge_end) OR (item_1\Edge.edge_end :=: item_2\Edge.edge_start) OR (item_1\Edge.edge_end :=: item_2\Edge.edge_end)))) > 0)) > 0)) > 0)) = 0 ; wr3 : SIZEOF(QUERY(pdr_1 <* Get_Shape_Aspect_Property_Definition_Representations(SELF. relating_shape_aspect) | SIZEOF(QUERY(pdr_2 <* Get_Shape_Aspect_Property_Definition_Representations(SELF. related_shape_aspect) | SIZEOF(QUERY(item_1 <* pdr_1.used_representation. items | SIZEOF(QUERY(item_2 <* pdr_2.used_representation.items | ( 'AUTOMOTIVE_DESIGN.' + 'FACE' IN TYPEOF(item_1)) AND ( 'AUTOMOTIVE_DESIGN.' + 'FACE' IN TYPEOF(item_2)) AND (SIZEOF(QUERY(f_1 <* item_1\Face.bounds | ('AUTOMOTIVE_DESIGN.' + 'EDGE_LOOP' IN TYPEOF( f_1.bound)) AND (SIZEOF(QUERY(f_2 <* item_2\Face.bounds | ( 'AUTOMOTIVE_DESIGN.' + 'EDGE_LOOP' IN TYPEOF(f_2.bound)) AND (SIZEOF( QUERY(oe_1 <* f_1.bound\Path.edge_list | SIZEOF(QUERY(oe_2 <* f_2.bound\ Path.edge_list | oe_1.edge_element :=: oe_2.edge_element)) = 0)) = 0))) = 0 ))) = 0))) = 0)) = 0)) = 0)) = 0; wr4 : SELF.name IN ['g0', 'g1', 'g2']; END_ENTITY; -- 10303-214: automotive_design
ENTITY Shape_Defining_Relationship SUBTYPE OF (Shape_Aspect_Relationship); WHERE wr1 : (SELF\Shape_Aspect_Relationship.description <> 'profile usage') OR ( SIZEOF(['AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'CIRCULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'NGON_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'CLOSED_PATH_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'OPEN_PATH_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'PARTIAL_CIRCULAR_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'ROUNDED_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'SQUARE_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'TEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'VEE_PROFILE'] * TYPEOF(SELF\ Shape_Aspect_Relationship.relating_shape_aspect)) = 1); wr2 : (SELF\Shape_Aspect_Relationship.description <> 'path feature component usage') OR ('AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(SELF\Shape_Aspect_Relationship. relating_shape_aspect)); END_ENTITY; -- 10303-214: automotive_design
ENTITY Shape_Definition_Representation SUBTYPE OF (Property_Definition_Representation); WHERE wr1 : ('AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(SELF. definition)) OR ('AUTOMOTIVE_DESIGN.SHAPE_DEFINITION' IN TYPEOF(SELF. definition.definition)); wr2 : 'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION' IN TYPEOF(SELF. used_representation); END_ENTITY; -- 10303-41: product_property_representation_schema
ENTITY Shape_Dimension_Representation SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(temp <* SELF\Representation.items | NOT ( 'AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(temp)))) = 0; wr2 : SIZEOF(SELF\Representation.items) <= 3; wr3 : SIZEOF(QUERY(pos_mri <* QUERY(real_mri <* SELF\Representation.items | 'REAL' IN TYPEOF(real_mri\Measure_With_Unit.value_component)) | NOT ( pos_mri\Measure_With_Unit.value_component > 0.0))) = 0; END_ENTITY; -- 10303-47: shape_dimension_schema
ENTITY Shape_Representation SUBTYPE OF (Representation); END_ENTITY; -- 10303-41: product_property_representation_schema
ENTITY Shape_Representation_Relationship SUBTYPE OF (Representation_Relationship); WHERE wr1 : 'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION' IN TYPEOF(SELF\ Representation_Relationship.rep_1) + TYPEOF(SELF\ Representation_Relationship.rep_2); END_ENTITY; -- 10303-41: product_property_representation_schema
ENTITY Shape_Representation_With_Parameters SUBTYPE OF (Shape_Representation); WHERE wr1 : SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'PLACEMENT', 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM'] * TYPEOF(i)) = 1)) = SIZEOF(SELF.items); END_ENTITY; -- 10303-214: automotive_design
ENTITY Shell_Based_Surface_Model SUBTYPE OF (Geometric_Representation_Item); sbsm_boundary : SET [1:?] OF Shell; WHERE wr1 : Constraints_Geometry_Shell_Based_Surface_Model(SELF); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Si_Unit SUBTYPE OF (Named_Unit); prefix : OPTIONAL Si_Prefix; name : Si_Unit_Name; DERIVE SELF\named_unit.dimensions : Dimensional_Exponents := Dimensions_For_Si_Unit( name); WHERE wr1 : NOT (('AUTOMOTIVE_DESIGN.MASS_UNIT' IN TYPEOF(SELF)) AND (SIZEOF( USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DERIVED_UNIT_ELEMENT.UNIT')) > 0)) OR ( prefix = Si_Prefix.Kilo); END_ENTITY; -- 10303-41: measure_schema
ENTITY Simple_Boolean_Expression ABSTRACT SUPERTYPE OF (ONEOF (Boolean_Literal, Boolean_Variable)) SUBTYPE OF (Boolean_Expression, Simple_Generic_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Simple_Generic_Expression ABSTRACT SUPERTYPE OF (ONEOF (Generic_Literal, Generic_Variable)) SUBTYPE OF (Generic_Expression); END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Simple_Numeric_Expression ABSTRACT SUPERTYPE OF (ONEOF (Literal_Number, Numeric_Variable)) SUBTYPE OF (Numeric_Expression, Simple_Generic_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Simple_Pair_Range; applies_to_pair : Kinematic_Pair; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Simple_String_Expression ABSTRACT SUPERTYPE OF (ONEOF (String_Literal, String_Variable)) SUBTYPE OF (String_Expression, Simple_Generic_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Sin_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Slash_Expression SUBTYPE OF (Binary_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Sliding_Curve_Pair SUBTYPE OF (Planar_Curve_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Sliding_Curve_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Sliding_Curve_Pair; actual_point_on_curve_1 : Point_On_Curve; actual_point_on_curve_2 : Point_On_Curve; WHERE wr1 : SELF\Pair_Value.applies_to_pair\Planar_Curve_Pair.curve_1 :=: actual_point_on_curve_1.basis_curve; wr2 : SELF\Pair_Value.applies_to_pair\Planar_Curve_Pair.curve_2 :=: actual_point_on_curve_2.basis_curve; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Sliding_Surface_Pair SUBTYPE OF (Surface_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Sliding_Surface_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Sliding_Surface_Pair; actual_point_on_surface_1 : Point_On_Surface; actual_point_on_surface_2 : Point_On_Surface; actual_rotation : Plane_Angle_Measure; WHERE wr1 : SELF\Pair_Value.applies_to_pair\Surface_Pair.surface_1 :=: actual_point_on_surface_1.basis_surface; wr2 : SELF\Pair_Value.applies_to_pair\Surface_Pair.surface_2 :=: actual_point_on_surface_2.basis_surface; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Slot SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1; wr2 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'swept shape occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'SQUARE_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'PARTIAL_CIRCULAR_PROFILE' , 'AUTOMOTIVE_DESIGN.' + 'ROUNDED_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'VEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'TEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'OPEN_PATH_PROFILE'] * TYPEOF(sar. relating_shape_aspect)) = 1))) = 1))) = 1; wr3 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'course of travel occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'course of travel') AND (sar.description = 'path feature component usage') AND ('AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT' IN TYPEOF(sar.relating_shape_aspect)))) = 1))) = 1 ; wr4 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'end condition occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'starting') AND (sar.description = 'slot end usage') AND ( 'AUTOMOTIVE_DESIGN.' + 'SLOT_END' IN TYPEOF(sar.relating_shape_aspect))) ) = 1))) = 1; wr5 : SIZEOF(QUERY(sa <* Get_Shape_Aspects(SELF) | (sa.description = 'end condition occurrence') AND (SIZEOF(QUERY(sar <* USEDIN(sa, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'ending') AND (sar.description = 'slot end usage') AND ( 'AUTOMOTIVE_DESIGN.' + 'SLOT_END' IN TYPEOF(sar.relating_shape_aspect))) ) = 1))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Slot_End SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SELF.description IN ['open', 'radiused', 'flat', 'woodruff']; wr3 : (SELF.description IN ['open', 'radiused']) XOR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 0); wr4 : NOT (SELF.description IN ['flat', 'woodruff']) XOR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1); wr5 : (SELF.description <> 'flat') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 2))) = 1); wr6 : (SELF.description <> 'flat') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'first radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr7 : (SELF.description <> 'flat') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'second radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr8 : (SELF.description <> 'woodruff') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1); wr9 : (SELF.description <> 'woodruff') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'radius') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1); wr10 : SIZEOF(QUERY(sar <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name IN ['starting', 'ending']) AND (sar.description = 'slot end usage') AND ('AUTOMOTIVE_DESIGN.' + 'SLOT' IN TYPEOF(sar. related_shape_aspect.of_shape.definition)) AND (sar.related_shape_aspect. of_shape.definition\Characterized_Object.name = 'end condition') AND (sar. related_shape_aspect.of_shape.definition\Characterized_Object.description = 'slot end occurrence'))) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Solid_Angle_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.SOLID_ANGLE_UNIT' IN TYPEOF(SELF\ Measure_With_Unit.unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Solid_Angle_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Solid_Model SUPERTYPE OF (ONEOF (Csg_Solid, Manifold_Solid_Brep, Swept_Face_Solid, Swept_Area_Solid, Swept_Disk_Solid, Solid_Replica)) SUBTYPE OF (Geometric_Representation_Item); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Solid_Replica SUBTYPE OF (Solid_Model); parent_solid : Solid_Model; transformation : Cartesian_Transformation_Operator_3d; WHERE wr1 : Acyclic_Solid_Replica(SELF, parent_solid); wr2 : parent_solid\Geometric_Representation_Item.dim = 3; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Specified_Higher_Usage_Occurrence SUBTYPE OF (Assembly_Component_Usage); upper_usage : Assembly_Component_Usage; next_usage : Next_Assembly_Usage_Occurrence; UNIQUE ur1 : upper_usage, next_usage; WHERE wr1 : SELF :<>: upper_usage; wr2 : SELF\Product_Definition_Relationship.relating_product_definition :=: upper_usage.relating_product_definition; wr3 : SELF\Product_Definition_Relationship.related_product_definition :=: next_usage.related_product_definition; wr4 : (upper_usage.related_product_definition :=: next_usage. relating_product_definition) OR (SIZEOF(QUERY(pdr <* USEDIN(upper_usage. related_product_definition, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | pdr.relating_product_definition :=: next_usage. relating_product_definition)) = 1); wr5 : SIZEOF(['AUTOMOTIVE_DESIGN.NEXT_ASSEMBLY_USAGE_OCCURRENCE', 'AUTOMOTIVE_DESIGN.SPECIFIED_HIGHER_USAGE_OCCURRENCE'] * TYPEOF( upper_usage)) = 1; END_ENTITY; -- 10303-44: product_structure_schema
ENTITY Sphere SUBTYPE OF (Geometric_Representation_Item); radius : Positive_Length_Measure; centre : Point; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Spherical_Pair SUBTYPE OF (Kinematic_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Spherical_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Spherical_Pair; lower_limit_yaw : Rotational_Range_Measure; upper_limit_yaw : Rotational_Range_Measure; lower_limit_pitch : Rotational_Range_Measure; upper_limit_pitch : Rotational_Range_Measure; lower_limit_roll : Rotational_Range_Measure; upper_limit_roll : Rotational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_yaw)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_yaw)) XOR ( lower_limit_yaw < upper_limit_yaw); wr2 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_pitch)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_pitch)) XOR (lower_limit_pitch < upper_limit_pitch); wr3 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(lower_limit_roll)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_roll)) XOR ( lower_limit_roll < upper_limit_roll); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Spherical_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Spherical_Pair; input_orientation : Spatial_Rotation; DERIVE actual_orientation : Ypr_Rotation := Convert_Spatial_To_Ypr_Rotation(SELF\ Pair_Value.applies_to_pair, input_orientation); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Spherical_Surface SUBTYPE OF (Elementary_Surface); radius : Positive_Length_Measure; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Sql_Mappable_Defined_Function ABSTRACT SUPERTYPE SUBTYPE OF (Defined_Function); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Square_Root_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Square_U_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {4 <= SIZEOF(pdr.used_representation.items) <= 6})) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'width', 'first angle', 'second angle', 'first radius', 'second radius']))) > 0))) = 0; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'width'))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ) AND (i.name = 'first angle'))) = 1))) = 1; wr8 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ) AND (i.name = 'second angle'))) = 1))) = 1; wr9 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | i.name = 'first radius')) = 1))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'first radius'))) = 1))) <= 1); wr10 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | i.name = 'second radius')) = 1))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'second radius'))) = 1))) <= 1); wr11 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'profile limit')) ) <= 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Standard_Uncertainty SUBTYPE OF (Uncertainty_Qualifier); uncertainty_value : REAL; END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Straightness_Tolerance SUBTYPE OF (Geometric_Tolerance); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF(SELF)); END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY String_Defined_Function ABSTRACT SUPERTYPE SUBTYPE OF (Defined_Function, String_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY String_Expression ABSTRACT SUPERTYPE OF (ONEOF (Simple_String_Expression, Index_Expression, Substring_Expression, Concat_Expression, Format_Function, String_Defined_Function)) SUBTYPE OF (Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY String_Literal SUBTYPE OF (Simple_String_Expression, Generic_Literal); the_value : STRING; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY String_Variable SUBTYPE OF (Simple_String_Expression, Variable); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Structured_Dimension_Callout SUBTYPE OF (Draughting_Callout); WHERE wr1 : SIZEOF(TYPEOF(SELF) * ['AUTOMOTIVE_DESIGN.DATUM_FEATURE_CALLOUT', 'AUTOMOTIVE_DESIGN.DATUM_TARGET_CALLOUT', 'AUTOMOTIVE_DESIGN.GEOMETRICAL_TOLERANCE_CALLOUT', 'AUTOMOTIVE_DESIGN.LEADER_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.PROJECTION_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0; wr2 : SIZEOF(QUERY(ato <* QUERY(con <* SELF.contents | 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(con)) | NOT ( ato.name IN ['dimension value', 'tolerance value', 'unit text', 'prefix text', 'suffix text']))) = 0; wr3 : SIZEOF(QUERY(ato <* QUERY(con <* SELF.contents | 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(con)) | ato. name = 'dimension value')) >= 1; wr4 : SIZEOF(QUERY(dcr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT_RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ('AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF(dcr)) AND (dcr.name = 'prefix'))) <= 1; wr5 : SIZEOF(QUERY(dcr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT_RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ('AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF(dcr)) AND (dcr.name = 'suffix'))) <= 1; wr6 : NOT (SIZEOF(QUERY(ato <* QUERY(con <* SELF.contents | 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(con)) | ato. name = 'prefix text')) > 0) OR (SIZEOF(QUERY(dcr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT_RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ('AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF(dcr)) AND (dcr.name = 'prefix'))) = 1); wr7 : NOT (SIZEOF(QUERY(ato <* QUERY(con <* SELF.contents | 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF(con)) | ato. name = 'suffix text')) > 0) OR (SIZEOF(QUERY(dcr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.DRAUGHTING_CALLOUT_RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ('AUTOMOTIVE_DESIGN.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF(dcr)) AND (dcr.name = 'suffix'))) = 1); END_ENTITY; (* declared in: aic_draughting_elements *)
ENTITY Styled_Item SUBTYPE OF (Representation_Item); styles : SET [1:?] OF Presentation_Style_Assignment; item : Representation_Item; WHERE wr1 : (SIZEOF(SELF.styles) = 1) XOR (SIZEOF(QUERY(pres_style <* SELF.styles | NOT ('AUTOMOTIVE_DESIGN.' + 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (pres_style)))) = 0); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Subedge SUBTYPE OF (Edge); parent_edge : Edge; END_ENTITY; -- 10303-42: topology_schema
ENTITY Subface SUBTYPE OF (Face); parent_face : Face; WHERE wr1 : NOT Mixed_Loop_Type_Set(List_To_Set(List_Face_Loops(SELF)) + List_To_Set(List_Face_Loops(parent_face))); END_ENTITY; -- 10303-42: topology_schema
ENTITY Substring_Expression SUBTYPE OF (String_Expression, Multiple_Arity_Generic_Expression); DERIVE operand : Generic_Expression := SELF\Multiple_Arity_Generic_Expression. operands[1]; index1 : Generic_Expression := SELF\Multiple_Arity_Generic_Expression. operands[2]; index2 : Generic_Expression := SELF\Multiple_Arity_Generic_Expression. operands[3]; WHERE wr1 : ('AUTOMOTIVE_DESIGN.STRING_EXPRESSION' IN TYPEOF(operand)) AND ( 'AUTOMOTIVE_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF(index1)) AND ( 'AUTOMOTIVE_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF(index2)); wr2 : SIZEOF(SELF\Multiple_Arity_Generic_Expression.operands) = 3; wr3 : Is_Int_Expr(index1); wr4 : Is_Int_Expr(index2); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Surface SUPERTYPE OF (ONEOF (Elementary_Surface, Swept_Surface, Bounded_Surface, Offset_Surface, Surface_Replica)) SUBTYPE OF (Geometric_Representation_Item); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Surface_Condition_Callout SUBTYPE OF (Draughting_Callout); WHERE wr1 : SIZEOF(QUERY(c <* SELF.contents | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'ANNOTATION_CURVE_OCCURRENCE', 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_SYMBOL_OCCURRENCE', 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_TEXT_OCCURRENCE'] * TYPEOF(c)) <> 1)) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Surface_Curve SUPERTYPE OF (ONEOF (Intersection_Curve, Seam_Curve) ANDOR Bounded_Surface_Curve) SUBTYPE OF (Curve); curve_3d : Curve; associated_geometry : LIST [1:2] OF Pcurve_Or_Surface; master_representation : Preferred_Surface_Curve_Representation; DERIVE basis_surface : SET [1:2] OF Surface := Get_Basis_Surface(SELF); WHERE wr1 : Curve_3d.dim = 3; wr2 : ('AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(associated_geometry[1])) OR ( master_representation <> Pcurve_S1); wr3 : ('AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(associated_geometry[2])) OR ( master_representation <> Pcurve_S2); wr4 : NOT ('AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(Curve_3d)); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Surface_Curve_Swept_Area_Solid SUBTYPE OF (Swept_Area_Solid); directrix : Curve; start_param : REAL; end_param : REAL; reference_surface : Surface; WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(directrix)) OR ( reference_surface IN directrix\Surface_Curve.basis_surface); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Surface_Of_Linear_Extrusion SUBTYPE OF (Swept_Surface); extrusion_axis : Vector; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Surface_Of_Revolution SUBTYPE OF (Swept_Surface); axis_position : Axis1_Placement; DERIVE axis_line : Line := Representation_Item('')||Geometric_Representation_Item() ||Curve()||Line(axis_position.location, Representation_Item('')|| Geometric_Representation_Item()||Vector(axis_position.z, 1.0)); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Surface_Pair SUBTYPE OF (Kinematic_Pair); surface_1 : Surface; surface_2 : Surface; orientation : BOOLEAN; WHERE wr1 : Frame_Associated_To_Background(SELF\Kinematic_Pair. pair_placement_in_first_link_context, surface_1); wr2 : Frame_Associated_To_Background(SELF\Kinematic_Pair. pair_placement_in_second_link_context, surface_2); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Surface_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Surface_Pair; range_on_surface_1 : Rectangular_Trimmed_Surface; range_on_surface_2 : Rectangular_Trimmed_Surface; lower_limit_actual_rotation : Rotational_Range_Measure; upper_limit_actual_rotation : Rotational_Range_Measure; WHERE wr1 : SELF\Simple_Pair_Range.applies_to_pair\Surface_Pair.surface_1 :=: range_on_surface_1.basis_surface; wr2 : SELF\Simple_Pair_Range.applies_to_pair\Surface_Pair.surface_2 :=: range_on_surface_2.basis_surface; wr3 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_actual_rotation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_actual_rotation)) XOR (lower_limit_actual_rotation < upper_limit_actual_rotation); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Surface_Patch SUBTYPE OF (Founded_Item); parent_surface : Bounded_Surface; u_transition : Transition_Code; v_transition : Transition_Code; u_sense : BOOLEAN; v_sense : BOOLEAN; INVERSE using_surfaces : BAG [1:?] OF Rectangular_Composite_Surface FOR segments; WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.CURVE_BOUNDED_SURFACE' IN TYPEOF( parent_surface)); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Surface_Profile_Tolerance SUBTYPE OF (Geometric_Tolerance); WHERE wr1 : NOT ('AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF(SELF)) OR (SIZEOF(SELF \Geometric_Tolerance_With_Datum_Reference.datum_system) <= 3); END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Surface_Rendering_Properties; rendered_colour : Colour; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Replica SUBTYPE OF (Surface); parent_surface : Surface; transformation : Cartesian_Transformation_Operator_3d; WHERE wr1 : Acyclic_Surface_Replica(SELF, parent_surface); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Surface_Side_Style SUBTYPE OF (Founded_Item); name : Label; styles : SET [1:7] OF Surface_Style_Element_Select; WHERE wr1 : SIZEOF(QUERY(style1 <* SELF.styles | SIZEOF(QUERY(style2 <* SELF.styles - style1 | TYPEOF(style1) = TYPEOF(style2))) > 0)) = 0; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Boundary SUBTYPE OF (Founded_Item); style_of_boundary : Curve_Or_Render; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Control_Grid SUBTYPE OF (Founded_Item); style_of_control_grid : Curve_Or_Render; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Fill_Area SUBTYPE OF (Founded_Item); fill_area : Fill_Area_Style; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Parameter_Line SUBTYPE OF (Founded_Item); style_of_parameter_lines : Curve_Or_Render; direction_counts : SET [1:2] OF Direction_Count_Select; WHERE wr1 : (HIINDEX(SELF.direction_counts) = 1) XOR (TYPEOF(SELF.direction_counts[ 1]) <> TYPEOF(SELF.direction_counts[2])); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Reflectance_Ambient; ambient_reflectance : REAL; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Reflectance_Ambient_Diffuse SUBTYPE OF (Surface_Style_Reflectance_Ambient); diffuse_reflectance : REAL; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Reflectance_Ambient_Diffuse_Specular SUBTYPE OF (Surface_Style_Reflectance_Ambient_Diffuse); specular_reflectance : REAL; specular_exponent : REAL; specular_colour : Colour; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Rendering; rendering_method : Shading_Surface_Method; surface_colour : Colour; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Rendering_With_Properties SUBTYPE OF (Surface_Style_Rendering); properties : SET [1:2] OF Rendering_Properties_Select; WHERE wr1 : (HIINDEX(SELF.properties) = 1) XOR (TYPEOF(SELF.properties[1]) <> TYPEOF(SELF.properties[2])); END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Segmentation_Curve SUBTYPE OF (Founded_Item); style_of_segmentation_curve : Curve_Or_Render; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Silhouette SUBTYPE OF (Founded_Item); style_of_silhouette : Curve_Or_Render; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Transparent; transparency : REAL; WHERE wr1 : {0.0 <= transparency <= 1.0}; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Style_Usage SUBTYPE OF (Founded_Item); side : Surface_Side; style : Surface_Side_Style_Select; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Surface_Texture_Representation SUBTYPE OF (Representation); WHERE wr1 : SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE', 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM'] * TYPEOF(i)) <> 1)) = 0; wr2 : (SIZEOF(QUERY(i <* SELF.items | 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i))) = 1) AND (SIZEOF(QUERY(i <* SELF.items | ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'measuring method'))) = 1); wr3 : SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE'] * TYPEOF(i)) = 1)) > 0; wr4 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_1')) <= 1) AND ( SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_2')) = 0) AND (SIZEOF (QUERY(rr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_1') | rr.rep_2.name = 'measuring direction')) = SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_1'))); wr5 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' )) = 1) AND (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | SIZEOF(QUERY(gpa <* USEDIN(pdr.definition, 'AUTOMOTIVE_DESIGN.GENERAL_PROPERTY_ASSOCIATION.DERIVED_DEFINITION') | ( 'AUTOMOTIVE_DESIGN.' + 'GENERAL_PROPERTY' IN TYPEOF(gpa.base_definition) ) AND (gpa.base_definition.name = 'surface_texture'))) = 1)) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Swept_Area_Solid SUPERTYPE OF (ONEOF (Revolved_Area_Solid, Extruded_Area_Solid, Surface_Curve_Swept_Area_Solid)) SUBTYPE OF (Solid_Model); swept_area : Curve_Bounded_Surface; WHERE wr1 : 'AUTOMOTIVE_DESIGN.PLANE' IN TYPEOF(swept_area.basis_surface); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Swept_Disk_Solid SUBTYPE OF (Solid_Model); directrix : Curve; radius : Positive_Length_Measure; inner_radius : OPTIONAL Positive_Length_Measure; start_param : REAL; end_param : REAL; WHERE wr1 : directrix.dim = 3; wr2 : NOT EXISTS(inner_radius) OR (radius > inner_radius); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Swept_Face_Solid SUPERTYPE OF (ONEOF (Extruded_Face_Solid, Revolved_Face_Solid)) SUBTYPE OF (Solid_Model); swept_face : Face_Surface; WHERE wr1 : 'AUTOMOTIVE_DESIGN.PLANE' IN TYPEOF(swept_face.face_geometry); END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Swept_Surface SUPERTYPE OF (ONEOF (Surface_Of_Linear_Extrusion, Surface_Of_Revolution)) SUBTYPE OF (Surface); swept_curve : Curve; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Symbol_Colour; colour_of_symbol : Colour; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Symbol_Representation SUBTYPE OF (Representation); END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Symbol_Representation_Map SUBTYPE OF (Representation_Map); SELF\representation_map.mapped_representation : Symbol_Representation; SELF\representation_map.mapping_origin : Axis2_Placement; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Symbol_Style SUBTYPE OF (Founded_Item); name : Label; style_of_symbol : Symbol_Style_Select; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Symbol_Target SUBTYPE OF (Geometric_Representation_Item); placement : Axis2_Placement; x_scale : Positive_Ratio_Measure; y_scale : Positive_Ratio_Measure; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Symmetric_Shape_Aspect SUBTYPE OF (Shape_Aspect); INVERSE basis_relationships : SET [1:?] OF Shape_Aspect_Relationship FOR relating_shape_aspect; WHERE wr1 : SIZEOF(QUERY(X <* SELF\Symmetric_Shape_Aspect.basis_relationships | 'AUTOMOTIVE_DESIGN.CENTRE_OF_SYMMETRY' IN TYPEOF(X\ Shape_Aspect_Relationship.related_shape_aspect))) >= 1; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Symmetry_Tolerance SUBTYPE OF (Geometric_Tolerance_With_Datum_Reference); WHERE wr1 : SIZEOF(SELF\Geometric_Tolerance_With_Datum_Reference.datum_system) <= 3 ; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Tactile_Appearance_Representation SUBTYPE OF (Representation); WHERE wr1 : SIZEOF(QUERY(i <* SELF.items | SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE'] * TYPEOF(i)) <> 1)) = 0; wr2 : SIZEOF(QUERY(i <* SELF.items | name = 'depth')) <= 1; wr3 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' )) = 1) AND (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | SIZEOF(QUERY(gpa <* USEDIN(pdr.definition, 'AUTOMOTIVE_DESIGN.GENERAL_PROPERTY_ASSOCIATION.DERIVED_DEFINITION') | ( 'AUTOMOTIVE_DESIGN.' + 'GENERAL_PROPERTY' IN TYPEOF(gpa.base_definition) ) AND (gpa.base_definition.name = 'surface_texture'))) = 1)) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Tan_Function SUBTYPE OF (Unary_Function_Call); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Tangent SUBTYPE OF (Derived_Shape_Aspect); WHERE wr1 : SIZEOF(SELF\Derived_Shape_Aspect.deriving_relationships) = 1; END_ENTITY; -- 10303-47: shape_aspect_definition_schema
ENTITY Taper SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SELF.description IN ['angle taper', 'diameter taper', 'directed taper'] ; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(pdr.used_representation.items) = 1))) = 1; wr5 : (SELF.description <> 'angle taper') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ) AND (i.name = 'taper angle'))) = 1))) = 1); wr6 : (SELF.description <> 'diameter taper') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'taper diameter'))) = 1))) = 1); wr7 : (SELF.description <> 'directed taper') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ) AND (i.name = 'angle'))) = 1))) = 1); wr8 : (SELF.description <> 'directed taper') OR (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) = 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'direction'))) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Tee_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {9 <= SIZEOF(pdr.used_representation.items) <= 10})) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'width', 'depth', 'cross bar width' , 'cross bar depth', 'first offset', 'second offset', 'first angle', 'second angle', 'radius']))) > 0))) = 0; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'width'))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'depth'))) = 1))) = 1; wr8 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'cross bar width'))) = 1))) = 1; wr9 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'cross bar depth'))) = 1))) = 1; wr10 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'first offset'))) = 1))) = 1; wr11 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'second offset'))) = 1))) = 1; wr12 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ) AND (i.name = 'first angle'))) = 1))) = 1; wr13 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ) AND (i.name = 'second angle'))) = 1))) = 1; wr14 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | i.name = 'radius')) = 1))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2) AND (i.name = 'radius'))) = 1))) <= 1); wr15 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'profile limit')) ) <= 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Terminator_Symbol SUBTYPE OF (Annotation_Symbol_Occurrence); annotated_curve : Annotation_Curve_Occurrence; END_ENTITY; -- 10303-101: draughting_element_schema
ENTITY Text_Literal SUBTYPE OF (Geometric_Representation_Item); literal : Presentable_Text; placement : Axis2_Placement; alignment : Text_Alignment; path : Text_Path; font : Font_Select; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Text_Literal_With_Associated_Curves SUBTYPE OF (Text_Literal); associated_curves : SET [1:?] OF Curve; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Text_Literal_With_Blanking_Box SUBTYPE OF (Text_Literal); blanking : Planar_Box; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Text_Literal_With_Delineation SUBTYPE OF (Text_Literal); delineation : Text_Delineation; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Text_Literal_With_Extent SUBTYPE OF (Text_Literal); extent : Planar_Extent; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Text_String_Representation SUBTYPE OF (Representation); SELF\representation.items : SET [1:?] OF Text_String_Representation_Item; WHERE wr1 : SIZEOF(QUERY(item <* SELF\Representation.items | NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.TEXT_LITERAL', 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT' , 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT_CHARACTER', 'AUTOMOTIVE_DESIGN.DEFINED_CHARACTER_GLYPH', 'AUTOMOTIVE_DESIGN.COMPOSITE_TEXT'] * TYPEOF(item)) = 0))) >= 1; wr2 : SIZEOF(QUERY(a2p <* QUERY(item <* SELF\Representation.items | 'AUTOMOTIVE_DESIGN.AXIS2_PLACEMENT' IN TYPEOF(item)) | NOT ((SIZEOF( QUERY(at <* QUERY(item <* SELF\Representation.items | 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_TEXT' IN TYPEOF(item)) | at\ Mapped_Item.mapping_target :=: a2p)) >= 1) OR (SIZEOF(QUERY(atc <* QUERY( item <* SELF\Representation.items | 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_TEXT_CHARACTER' IN TYPEOF(item)) | atc\Mapped_Item. mapping_target :=: a2p)) >= 1)))) = 0; END_ENTITY; -- 10303-46: presentation_definition_schema
ENTITY Text_Style SUBTYPE OF (Founded_Item); name : Label; character_appearance : Character_Style_Select; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Text_Style_For_Defined_Font; text_colour : Colour; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Text_Style_With_Box_Characteristics SUBTYPE OF (Text_Style); characteristics : SET [1:4] OF Box_Characteristic_Select; WHERE wr1 : SIZEOF(QUERY(c1 <* SELF.characteristics | SIZEOF(QUERY(c2 <* SELF. characteristics - c1 | TYPEOF(c1) = TYPEOF(c2))) > 0)) = 0; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Text_Style_With_Mirror SUBTYPE OF (Text_Style); mirror_placement : Axis2_Placement; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Text_Style_With_Spacing SUBTYPE OF (Text_Style); character_spacing : Character_Spacing_Select; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Thermodynamic_Temperature_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\ Measure_With_Unit.unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Thermodynamic_Temperature_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 0.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 1.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Thread SUBTYPE OF (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND NOT ({7 <= SIZEOF(pdr.used_representation. items) <= 10}))) = 0; wr2 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i\Descriptive_Representation_Item.description IN ['internal', 'external']) AND ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) = 1))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'major diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'minor diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr5 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'pitch diameter') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'crest') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) <= 1; wr7 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'number of threads') AND (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'RATIO_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2))) = 1))) = 1; wr8 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'fit class') AND ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) = 1))) = 1; wr9 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'form') AND ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) = 1))) = 1; wr10 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'hand') AND (i\Descriptive_Representation_Item. description IN ['left hand', 'right hand']) AND ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) = 1))) = 1; wr11 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'qualifier') AND ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) = 1))) <= 1; wr12 : SIZEOF(QUERY(pdr <* Get_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['thread side', 'major diameter', 'minor diameter', 'pitch diameter', 'crest', 'number of threads', 'fit class', 'form', 'hand' , 'qualifier']))) > 0))) = 0; END_ENTITY; -- 10303-214: automotive_design
ENTITY Time_Interval; id : Identifier; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Time_Interval_Assignment ABSTRACT SUPERTYPE; assigned_time_interval : Time_Interval; role : Time_Interval_Role; END_ENTITY; -- 10303-41: management_resources_schema
ENTITY Time_Interval_Based_Effectivity SUBTYPE OF (Effectivity); effectivity_period : Time_Interval; END_ENTITY; -- 10303-41: effectivity_schema
ENTITY Time_Interval_Role; name : Label; description : OPTIONAL Text; END_ENTITY; -- 10303-41: date_time_schema
ENTITY Time_Interval_With_Bounds SUBTYPE OF (Time_Interval); primary_bound : OPTIONAL Date_Time_Or_Event_Occurrence; secondary_bound : OPTIONAL Date_Time_Or_Event_Occurrence; duration : OPTIONAL Time_Measure_With_Unit; WHERE wr1 : NOT (EXISTS(secondary_bound) AND EXISTS(duration)); wr2 : EXISTS(primary_bound) OR EXISTS(secondary_bound); END_ENTITY; -- 10303-41: date_time_schema
ENTITY Time_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.TIME_UNIT' IN TYPEOF(SELF\Measure_With_Unit. unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Time_Unit SUBTYPE OF (Named_Unit); WHERE wr1 : (SELF\Named_Unit.dimensions.length_exponent = 0.0) AND (SELF\Named_Unit .dimensions.mass_exponent = 0.0) AND (SELF\Named_Unit.dimensions. time_exponent = 1.0) AND (SELF\Named_Unit.dimensions. electric_current_exponent = 0.0) AND (SELF\Named_Unit.dimensions. thermodynamic_temperature_exponent = 0.0) AND (SELF\Named_Unit.dimensions. amount_of_substance_exponent = 0.0) AND (SELF\Named_Unit.dimensions. luminous_intensity_exponent = 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Tolerance_Value; lower_bound : Measure_With_Unit; upper_bound : Measure_With_Unit; WHERE wr1 : upper_bound\Measure_With_Unit.value_component > lower_bound\ Measure_With_Unit.value_component; wr2 : upper_bound\Measure_With_Unit.unit_component = lower_bound\ Measure_With_Unit.unit_component; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Tolerance_Zone SUBTYPE OF (Shape_Aspect); defining_tolerance : SET [1:?] OF Geometric_Tolerance; form : Tolerance_Zone_Form; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Tolerance_Zone_Definition SUPERTYPE OF (ONEOF (Projected_Zone_Definition, Runout_Zone_Definition)); zone : Tolerance_Zone; boundaries : SET [1:?] OF Shape_Aspect; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Tolerance_Zone_Form; name : Label; END_ENTITY; -- 10303-47: shape_tolerance_schema
ENTITY Topological_Representation_Item SUPERTYPE OF (ONEOF (Vertex, Edge, Face_Bound, Face, Connected_Edge_Set, Connected_Face_Set, Loop ANDOR Path)) SUBTYPE OF (Representation_Item); END_ENTITY; -- 10303-42: topology_schema
ENTITY Toroidal_Surface SUBTYPE OF (Elementary_Surface); major_radius : Positive_Length_Measure; minor_radius : Positive_Length_Measure; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Torus SUBTYPE OF (Geometric_Representation_Item); position : Axis1_Placement; major_radius : Positive_Length_Measure; minor_radius : Positive_Length_Measure; WHERE wr1 : major_radius > minor_radius; END_ENTITY; -- 10303-42: geometric_model_schema
ENTITY Total_Runout_Tolerance SUBTYPE OF (Geometric_Tolerance_With_Datum_Reference); WHERE wr1 : SIZEOF(SELF\Geometric_Tolerance_With_Datum_Reference.datum_system) <= 2 ; END_ENTITY; (* declared in: aic_geometric_tolerances *)
ENTITY Transition_Feature SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(SELF.of_shape. definition); wr2 : SIZEOF(['AUTOMOTIVE_DESIGN.' + 'CHAMFER', 'AUTOMOTIVE_DESIGN.' + 'EDGE_ROUND', 'AUTOMOTIVE_DESIGN.' + 'FILLET'] * TYPEOF(SELF)) = 1; END_ENTITY; -- 10303-214: automotive_design
ENTITY Trimmed_Curve SUBTYPE OF (Bounded_Curve); basis_curve : Curve; trim_1 : SET [1:2] OF Trimming_Select; trim_2 : SET [1:2] OF Trimming_Select; sense_agreement : BOOLEAN; master_representation : Trimming_Preference; WHERE wr1 : (HIINDEX(trim_1) = 1) OR (TYPEOF(trim_1[1]) <> TYPEOF(trim_1[2])); wr2 : (HIINDEX(trim_2) = 1) OR (TYPEOF(trim_2[1]) <> TYPEOF(trim_2[2])); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Two_Direction_Repeat_Factor SUBTYPE OF (One_Direction_Repeat_Factor); second_repeat_factor : Vector; END_ENTITY; -- 10303-46: presentation_appearance_schema
ENTITY Type_Qualifier; name : Label; END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Unary_Boolean_Expression ABSTRACT SUPERTYPE OF (ONEOF (Not_Expression, Odd_Function)) SUBTYPE OF (Boolean_Expression, Unary_Generic_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Unary_Function_Call ABSTRACT SUPERTYPE OF (ONEOF (Abs_Function, Minus_Function, Sin_Function, Cos_Function, Tan_Function, Asin_Function, Acos_Function, Exp_Function, Log_Function, Log2_Function, Log10_Function, Square_Root_Function)) SUBTYPE OF (Unary_Numeric_Expression); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Unary_Generic_Expression ABSTRACT SUPERTYPE SUBTYPE OF (Generic_Expression); operand : Generic_Expression; END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Unary_Numeric_Expression ABSTRACT SUPERTYPE OF (ONEOF (Unary_Function_Call)) SUBTYPE OF (Numeric_Expression, Unary_Generic_Expression); SELF\unary_generic_expression.operand : Numeric_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Uncertainty_Assigned_Representation SUBTYPE OF (Representation); uncertainty : SET [1:?] OF Uncertainty_Measure_With_Unit; END_ENTITY; -- 10303-43: representation_schema
ENTITY Uncertainty_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); name : Label; description : OPTIONAL Text; WHERE wr1 : Valid_Measure_Value(SELF\Measure_With_Unit.value_component); END_ENTITY; -- 10303-43: representation_schema
ENTITY Uncertainty_Qualifier SUPERTYPE OF (ONEOF (Standard_Uncertainty, Qualitative_Uncertainty)); measure_name : Label; description : Text; END_ENTITY; -- 10303-45: qualified_measure_schema
ENTITY Unconstrained_Pair SUBTYPE OF (Kinematic_Pair); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Unconstrained_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Unconstrained_Pair; actual_placement : Axis2_Placement_3d; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Uniform_Curve SUBTYPE OF (B_Spline_Curve); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Uniform_Surface SUBTYPE OF (B_Spline_Surface); END_ENTITY; -- 10303-42: geometry_schema
ENTITY Universal_Pair SUBTYPE OF (Kinematic_Pair); input_skew_angle : OPTIONAL Plane_Angle_Measure; DERIVE skew_angle : Plane_Angle_Measure := NVL(input_skew_angle, 0.0); WHERE wr1 : COS(Plane_Angle_For_Pair_In_Radian(SELF, skew_angle)) > 0.0; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Universal_Pair_Range SUBTYPE OF (Simple_Pair_Range); SELF\simple_pair_range.applies_to_pair : Universal_Pair; lower_limit_first_rotation : Rotational_Range_Measure; upper_limit_first_rotation : Rotational_Range_Measure; lower_limit_second_rotation : Rotational_Range_Measure; upper_limit_second_rotation : Rotational_Range_Measure; WHERE wr1 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_first_rotation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_first_rotation)) XOR (lower_limit_first_rotation < upper_limit_first_rotation); wr2 : ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF( lower_limit_second_rotation)) OR ('AUTOMOTIVE_DESIGN.UNLIMITED_RANGE' IN TYPEOF(upper_limit_second_rotation)) XOR (lower_limit_second_rotation < upper_limit_second_rotation); END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Universal_Pair_Value SUBTYPE OF (Pair_Value); SELF\pair_value.applies_to_pair : Universal_Pair; first_rotation_angle : Plane_Angle_Measure; second_rotation_angle : Plane_Angle_Measure; END_ENTITY; -- 10303-105: kinematic_structure_schema
ENTITY Value_Function SUPERTYPE OF (Int_Value_Function) SUBTYPE OF (Numeric_Expression, Unary_Generic_Expression); SELF\unary_generic_expression.operand : String_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Value_Range SUBTYPE OF (Compound_Representation_Item); WHERE wr1 : ('AUTOMOTIVE_DESIGN.' + 'SET_REPRESENTATION_ITEM' IN TYPEOF( item_element)) AND Value_Range_Wr1(item_element); wr2 : Value_Range_Wr2(item_element); wr3 : Value_Range_Wr3(item_element); END_ENTITY; -- 10303-214: automotive_design
ENTITY Value_Representation_Item SUBTYPE OF (Representation_Item); value_component : Measure_Value; WHERE wr1 : SIZEOF(QUERY(rep <* Using_Representations(SELF) | NOT ( 'AUTOMOTIVE_DESIGN.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF(rep. context_of_items)))) = 0; END_ENTITY; -- 10303-43: representation_schema
ENTITY Variable ABSTRACT SUPERTYPE OF (ONEOF (Numeric_Variable, Boolean_Variable, String_Variable)) SUBTYPE OF (Generic_Variable); END_ENTITY; (* declared in: iso13584_expressions_schema *)
ENTITY Variable_Semantics ABSTRACT SUPERTYPE; END_ENTITY; (* declared in: iso13584_generic_expressions_schema *)
ENTITY Vector SUBTYPE OF (Geometric_Representation_Item); orientation : Direction; magnitude : Length_Measure; WHERE wr1 : magnitude >= 0.0; END_ENTITY; -- 10303-42: geometry_schema
ENTITY Vector_Style SUBTYPE OF (Pre_Defined_Terminator_Symbol, Curve_Style); END_ENTITY; -- 10303-214: automotive_design
ENTITY Vee_Profile SUBTYPE OF (Shape_Aspect); WHERE wr1 : 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF(SELF .of_shape.definition); wr2 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation))) = 1; wr3 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND {3 <= SIZEOF(pdr.used_representation.items) <= 4})) = 1; wr4 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | NOT (i.name IN ['orientation', 'profile angle', 'tilt angle', 'profile radius']))) > 0))) = 0; wr5 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | ('AUTOMOTIVE_DESIGN.' + 'PLACEMENT' IN TYPEOF(i)) AND (i.name = 'orientation'))) = 1))) = 1; wr6 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ) AND (i.name = 'profile angle'))) = 1))) = 1; wr7 : SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT'] * TYPEOF(i)) = 2 ) AND (i.name = 'tilt angle'))) = 1))) = 1; wr8 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | i.name = 'profile radius')) = 1))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation)) AND (SIZEOF(QUERY(i <* pdr.used_representation. items | (i.name = 'profile radius') AND ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ('AUTOMOTIVE_DESIGN.' + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(i)))) = 1))) <= 1); wr9 : (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation))) <= 1) AND (SIZEOF(QUERY(pdr <* Get_Shape_Aspect_Property_Definition_Representations(SELF) | ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr. used_representation)) AND (pdr.used_representation.name = 'profile limit')) ) <= 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Versioned_Action_Request; id : Identifier; version : Label; purpose : Text; description : OPTIONAL Text; END_ENTITY; -- 10303-41: action_schema
ENTITY Versioned_Action_Request_Relationship; id : Identifier; name : Label; description : OPTIONAL Text; relating_versioned_action_request : Versioned_Action_Request; related_versioned_action_request : Versioned_Action_Request; END_ENTITY; -- 10303-41: action_schema
ENTITY Vertex SUBTYPE OF (Topological_Representation_Item); END_ENTITY; -- 10303-42: topology_schema
ENTITY Vertex_Loop SUBTYPE OF (Loop); loop_vertex : Vertex; END_ENTITY; -- 10303-42: topology_schema
ENTITY Vertex_Point SUBTYPE OF (Vertex, Geometric_Representation_Item); vertex_geometry : Point; END_ENTITY; -- 10303-42: topology_schema
ENTITY View_Volume SUBTYPE OF (Founded_Item); projection_type : Central_Or_Parallel; projection_point : Cartesian_Point; view_plane_distance : Length_Measure; front_plane_distance : Length_Measure; front_plane_clipping : BOOLEAN; back_plane_distance : Length_Measure; back_plane_clipping : BOOLEAN; view_volume_sides_clipping : BOOLEAN; view_window : Planar_Box; END_ENTITY; -- 10303-46: presentation_organization_schema
ENTITY Visual_Appearance_Representation SUBTYPE OF (Representation); WHERE wr1 : {2 <= SIZEOF(SELF.items) <= 5} AND (SIZEOF(QUERY(i <* items | ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name IN ['colour id', 'colour name', 'lustre', 'pattern', 'transparency']))) = SIZEOF(SELF.items)); wr2 : SIZEOF(QUERY(i <* SELF.items | i.name = 'colour id')) = 1; wr3 : SIZEOF(QUERY(i <* SELF.items | i.name = 'lustre')) = 1; wr4 : SIZEOF(QUERY(i <* SELF.items | i.name = 'colour name')) <= 1; wr5 : SIZEOF(QUERY(i <* SELF.items | i.name = 'pattern')) <= 1; wr6 : SIZEOF(QUERY(i <* SELF.items | i.name = 'transparency')) <= 1; wr7 : (SIZEOF(USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' )) = 1) AND (SIZEOF(QUERY(pdr <* USEDIN(SELF, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | SIZEOF(QUERY(gpa <* USEDIN(pdr.definition, 'AUTOMOTIVE_DESIGN.GENERAL_PROPERTY_ASSOCIATION.DERIVED_DEFINITION') | ( 'AUTOMOTIVE_DESIGN.' + 'GENERAL_PROPERTY' IN TYPEOF(gpa.base_definition) ) AND (gpa.base_definition.name = 'surface_texture'))) = 1)) = 1); END_ENTITY; -- 10303-214: automotive_design
ENTITY Volume_Measure_With_Unit SUBTYPE OF (Measure_With_Unit); WHERE wr1 : 'AUTOMOTIVE_DESIGN.VOLUME_UNIT' IN TYPEOF(SELF\Measure_With_Unit. unit_component); END_ENTITY; -- 10303-41: measure_schema
ENTITY Volume_Unit SUBTYPE OF (Derived_Unit); WHERE wr1 : Derive_Dimensional_Exponents(SELF) = Dimensional_Exponents(3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); END_ENTITY; -- 10303-41: measure_schema
ENTITY Xor_Expression SUBTYPE OF (Binary_Boolean_Expression); SELF\binary_generic_expression.operands : LIST [2:2] OF Boolean_Expression; END_ENTITY; (* declared in: iso13584_expressions_schema *)
FUNCTION Acyclic(arg1 : Generic_Expression; arg2 : SET OF Generic_Expression) : BOOLEAN; LOCAL result : BOOLEAN; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.SIMPLE_GENERIC_EXPRESSION' IN TYPEOF(arg1) THEN RETURN (TRUE); END_IF; IF arg1 IN arg2 THEN RETURN (FALSE); END_IF; IF 'AUTOMOTIVE_DESIGN.UNARY_GENERIC_EXPRESSION' IN TYPEOF(arg1) THEN RETURN (Acyclic(arg1\Unary_Generic_Expression.operand, arg2 + [arg1])); END_IF; IF 'AUTOMOTIVE_DESIGN.BINARY_GENERIC_EXPRESSION' IN TYPEOF(arg1) THEN RETURN (Acyclic(arg1\Binary_Generic_Expression.operands[1], arg2 + [arg1]) AND Acyclic(arg1\Binary_Generic_Expression.operands[2], arg2 + [arg1])); END_IF; IF 'AUTOMOTIVE_DESIGN.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF(arg1) THEN result := TRUE; REPEAT i := 1 TO SIZEOF(arg1\Multiple_Arity_Generic_Expression.operands); result := result AND Acyclic(arg1\Multiple_Arity_Generic_Expression. operands[i], arg2 + [arg1]); END_REPEAT; RETURN (result); END_IF; END_FUNCTION; (* declared in: iso13584_generic_expressions_schema *)
FUNCTION Acyclic_Composite_Text(start_composite : Composite_Text; child_text : SET [1:?] OF Text_Or_Character) : LOGICAL; LOCAL i : INTEGER; local_composite_text : SET OF Composite_Text; local_annotation_text : SET OF Annotation_Text; local_children : SET OF Text_Or_Character; END_LOCAL; local_composite_text := QUERY(child <* child_text | 'AUTOMOTIVE_DESIGN.COMPOSITE_TEXT' IN TYPEOF(child)); IF SIZEOF(local_composite_text) > 0 THEN REPEAT i := 1 TO HIINDEX(local_composite_text); IF start_composite :=: local_composite_text[i] THEN RETURN (FALSE); END_IF; END_REPEAT; END_IF; local_children := child_text; IF SIZEOF(local_composite_text) > 0 THEN REPEAT i := 1 TO HIINDEX(local_composite_text); local_children := local_children + local_composite_text[i].collected_text ; END_REPEAT; END_IF; local_annotation_text := QUERY(child <* child_text | 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT' IN TYPEOF(child)); IF SIZEOF(local_annotation_text) > 0 THEN REPEAT i := 1 TO HIINDEX(local_annotation_text); local_children := local_children + QUERY(item <* local_annotation_text[i] \Mapped_Item.mapping_source.mapped_representation.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.ANNOTATION_TEXT', 'AUTOMOTIVE_DESIGN.COMPOSITE_TEXT'] * TYPEOF(item)) > 0); END_REPEAT; END_IF; IF local_children :<>: child_text THEN RETURN (Acyclic_Composite_Text(start_composite, local_children)); ELSE RETURN (TRUE); END_IF; END_FUNCTION; -- 10303-46: presentation_definition_schema
FUNCTION Acyclic_Curve_Replica(rep : Curve_Replica; parent : Curve) : BOOLEAN; IF NOT ('AUTOMOTIVE_DESIGN.CURVE_REPLICA' IN TYPEOF(parent)) THEN RETURN (TRUE); END_IF; IF parent :=: rep THEN RETURN (FALSE); ELSE RETURN (Acyclic_Curve_Replica(rep, parent\Curve_Replica.parent_curve)); END_IF; END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Acyclic_Mapped_Item_Usage(rep : Representation) : BOOLEAN; LOCAL items : SET OF Representation_Item; END_LOCAL; items := QUERY(item <* rep.items | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(item)); IF SIZEOF(items) = 0 THEN RETURN (FALSE); ELSE REPEAT i := 1 TO HIINDEX(items); IF items[i]\Mapped_Item.mapping_source.mapped_representation :=: rep THEN RETURN (TRUE); ELSE RETURN (Acyclic_Mapped_Item_Usage(items[i]\Mapped_Item.mapping_source. mapped_representation)); END_IF; END_REPEAT; RETURN (FALSE); END_IF; END_FUNCTION; (* declared in: aic_draughting_annotation *)
FUNCTION Acyclic_Mapped_Representation(parent_set : SET OF Representation; children_set : SET OF Representation_Item) : BOOLEAN; LOCAL x : SET OF Representation_Item; y : SET OF Representation_Item; END_LOCAL; x := QUERY(z <* children_set | 'AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(z )); IF SIZEOF(x) > 0 THEN REPEAT i := 1 TO HIINDEX(x); IF x[i]\Mapped_Item.mapping_source.mapped_representation IN parent_set THEN RETURN (FALSE); END_IF; IF NOT Acyclic_Mapped_Representation(parent_set + x[i]\Mapped_Item. mapping_source.mapped_representation, x[i]\Mapped_Item.mapping_source. mapped_representation.items) THEN RETURN (FALSE); END_IF; END_REPEAT; END_IF; x := children_set - x; IF SIZEOF(x) > 0 THEN REPEAT i := 1 TO HIINDEX(x); y := QUERY(z <* Bag_To_Set(USEDIN(x[i], '')) | 'AUTOMOTIVE_DESIGN.REPRESENTATION_ITEM' IN TYPEOF(z)); IF NOT Acyclic_Mapped_Representation(parent_set, y) THEN RETURN (FALSE); END_IF; END_REPEAT; END_IF; RETURN (TRUE); END_FUNCTION; -- 10303-43: representation_schema
FUNCTION Acyclic_Point_Replica(rep : Point_Replica; parent : Point) : BOOLEAN; IF NOT ('AUTOMOTIVE_DESIGN.POINT_REPLICA' IN TYPEOF(parent)) THEN RETURN (TRUE); END_IF; IF parent :=: rep THEN RETURN (FALSE); ELSE RETURN (Acyclic_Point_Replica(rep, parent\Point_Replica.parent_pt)); END_IF; END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Acyclic_Product_Category_Relationship(relation : Product_Category_Relationship; children : SET OF Product_Category) : BOOLEAN; LOCAL x : SET OF Product_Category_Relationship; local_children : SET OF Product_Category; END_LOCAL; REPEAT i := 1 TO HIINDEX(children); IF relation.category :=: children[i] THEN RETURN (FALSE); END_IF; END_REPEAT; x := Bag_To_Set(USEDIN(relation.category, 'AUTOMOTIVE_DESIGN.PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY')); local_children := children + relation.category; IF SIZEOF(x) > 0 THEN REPEAT i := 1 TO HIINDEX(x); IF NOT Acyclic_Product_Category_Relationship(x[i], local_children) THEN RETURN (FALSE); END_IF; END_REPEAT; END_IF; RETURN (TRUE); END_FUNCTION; -- 10303-41: product_definition_schema
FUNCTION Acyclic_Product_Definition_Relationship(relation : Product_Definition_Relationship; relatives : SET [1:?] OF Product_Definition ; specific_relation : STRING) : BOOLEAN; LOCAL x : SET OF Product_Definition_Relationship; END_LOCAL; IF relation.relating_product_definition IN relatives THEN RETURN (FALSE); END_IF; x := QUERY(pd <* Bag_To_Set(USEDIN(relation.relating_product_definition, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' )) | specific_relation IN TYPEOF(pd)); REPEAT i := 1 TO HIINDEX(x); IF NOT Acyclic_Product_Definition_Relationship(x[i], relatives + relation. relating_product_definition, specific_relation) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE); END_FUNCTION; -- 10303-41: product_definition_schema
FUNCTION Acyclic_Solid_Replica(rep : Solid_Replica; parent : Solid_Model) : BOOLEAN; IF NOT ('AUTOMOTIVE_DESIGN.SOLID_REPLICA' IN TYPEOF(parent)) THEN RETURN (TRUE); END_IF; IF parent :=: rep THEN RETURN (FALSE); ELSE RETURN (Acyclic_Solid_Replica(rep, parent\Solid_Replica.parent_solid)); END_IF; END_FUNCTION; -- 10303-42: geometric_model_schema
FUNCTION Acyclic_Surface_Replica(rep : Surface_Replica; parent : Surface) : BOOLEAN; IF NOT ('AUTOMOTIVE_DESIGN.SURFACE_REPLICA' IN TYPEOF(parent)) THEN RETURN (TRUE); END_IF; IF parent :=: rep THEN RETURN (FALSE); ELSE RETURN (Acyclic_Surface_Replica(rep, parent\Surface_Replica.parent_surface) ); END_IF; END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Advanced_Face_Properties(testface : Face) : BOOLEAN; IF 'AUTOMOTIVE_DESIGN.ADVANCED_FACE' IN TYPEOF(testface) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.SUBFACE' IN TYPEOF(testface) THEN RETURN (Advanced_Face_Properties(testface.parent_face)); ELSE RETURN (FALSE); END_IF; END_FUNCTION; (* declared in: aic_manifold_subsurface *)
FUNCTION Aspect_Ratio(p : Planar_Box) : Positive_Ratio_Measure; IF (p.size_in_x > 0.) AND (p.size_in_y > 0.) THEN RETURN (p.size_in_x/p.size_in_y); ELSE RETURN (?); END_IF; END_FUNCTION; -- 10303-46: presentation_organization_schema
FUNCTION Assembly_Shape_Is_Defined(assy : Next_Assembly_Usage_Occurrence) : BOOLEAN; LOCAL sdr_set : SET OF Shape_Definition_Representation := []; srr_set : SET OF Shape_Representation_Relationship := []; sdr1_set : SET OF Shape_Definition_Representation := []; pd_set : SET OF Property_Definition := []; pdr_set : SET OF Product_Definition_Relationship := []; pds_set : SET OF Product_Definition_Shape := []; prop_set : SET OF Property_Definition := []; END_LOCAL; pd_set := Bag_To_Set(USEDIN(assy.related_product_definition, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION')); pdr_set := QUERY(pdr <* Bag_To_Set(USEDIN(assy.related_product_definition, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' )) | SIZEOF(USEDIN(pdr, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION' )) > 0); IF SIZEOF(pd_set) > 0 THEN REPEAT i := 1 TO HIINDEX(pd_set); sdr_set := sdr_set + QUERY(pdr <* USEDIN(pd_set[i], 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)); END_REPEAT; END_IF; IF SIZEOF(pdr_set) > 0 THEN REPEAT i := 1 TO HIINDEX(pdr_set); prop_set := prop_set + Bag_To_Set(USEDIN(pdr_set[i], 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION')); END_REPEAT; IF SIZEOF(prop_set) > 0 THEN REPEAT i := 1 TO HIINDEX(prop_set); sdr_set := sdr_set + QUERY(pdr <* USEDIN(prop_set[i], 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr )); END_REPEAT; END_IF; END_IF; IF SIZEOF(sdr_set) > 0 THEN REPEAT i := 1 TO HIINDEX(sdr_set); srr_set := QUERY(rr <* Bag_To_Set(USEDIN(sdr_set[i]\ Property_Definition_Representation.used_representation, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_2')) | 'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION_RELATIONSHIP' IN TYPEOF(rr)); pd_set := Bag_To_Set(USEDIN(assy.relating_product_definition, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION')); IF SIZEOF(pd_set) > 0 THEN REPEAT i := 1 TO HIINDEX(pd_set); sdr1_set := sdr1_set + QUERY(pdr <* USEDIN(pd_set[i], 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr)); END_REPEAT; END_IF; IF (SIZEOF(sdr_set) > 0) AND (SIZEOF(sdr1_set) > 0) THEN IF SIZEOF(srr_set) > 0 THEN REPEAT j := 1 TO HIINDEX(srr_set); IF SIZEOF(QUERY(pdr <* Bag_To_Set(USEDIN(srr_set[j]\ Representation_Relationship.rep_1, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' )) | 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)) * sdr1_set) >= 1 THEN pds_set := QUERY(X <* Bag_To_Set(USEDIN(assy, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION')) | 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(X)); IF SIZEOF(pds_set) = 0 THEN RETURN (FALSE); END_IF; REPEAT k := 1 TO HIINDEX(pds_set); IF SIZEOF(QUERY(cdsr <* USEDIN(pds_set[k], 'AUTOMOTIVE_DESIGN.CONTEXT_DEPENDENT_SHAPE_REPRESENTATION.REPRESENTED_PRODUCT_RELATION' ) | cdsr.representation_relation :=: srr_set[j])) > 0 THEN RETURN (FALSE); END_IF; END_REPEAT; END_IF; END_REPEAT; END_IF; END_IF; END_REPEAT; END_IF; RETURN (TRUE); END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Associated_Surface(arg : Pcurve_Or_Surface) : Surface; LOCAL surf : Surface; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(arg) THEN surf := arg\Pcurve.basis_surface; ELSE surf := arg; END_IF; RETURN (surf); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Bag_To_Set(the_bag : BAG OF GENERIC : intype) : SET OF GENERIC : intype; LOCAL the_set : SET OF GENERIC : intype := []; END_LOCAL; IF SIZEOF(the_bag) > 0 THEN REPEAT i := 1 TO HIINDEX(the_bag); the_set := the_set + the_bag[i]; END_REPEAT; END_IF; RETURN (the_set); END_FUNCTION; -- 10303-41: support_resource_schema
FUNCTION Base_Axis(dim : INTEGER; axis1 : Direction; axis2 : Direction; axis3 : Direction) : LIST [2:3] OF Direction; LOCAL u : LIST [2:3] OF Direction; factor : REAL; d1 : Direction; d2 : Direction; END_LOCAL; IF dim = 3 THEN d1 := NVL(Normalise(axis3), Dummy_Gri||Direction([0.0, 0.0, 1.0])); d2 := First_Proj_Axis(d1, axis1); u := [d2, Second_Proj_Axis(d1, d2, axis2), d1]; ELSE IF EXISTS(axis1) THEN d1 := Normalise(axis1); u := [d1, Orthogonal_Complement(d1)]; IF EXISTS(axis2) THEN factor := Dot_Product(axis2, u[2]); IF factor < 0.0 THEN u[2].direction_ratios[1] := -u[2].direction_ratios[1]; u[2].direction_ratios[2] := -u[2].direction_ratios[2]; END_IF; END_IF; ELSE IF EXISTS(axis2) THEN d1 := Normalise(axis2); u := [Orthogonal_Complement(d1), d1]; u[1].direction_ratios[1] := -u[1].direction_ratios[1]; u[1].direction_ratios[2] := -u[1].direction_ratios[2]; ELSE u := [Dummy_Gri||Direction([1.0, 0.0]), Dummy_Gri||Direction([0.0, 1.0] )]; END_IF; END_IF; END_IF; RETURN (u); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Boolean_Choose(b : BOOLEAN; choice1 : GENERIC : item; choice2 : GENERIC : item) : GENERIC : item; IF b THEN RETURN (choice1); ELSE RETURN (choice2); END_IF; END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Build_2axes(ref_direction : Direction) : LIST [2:2] OF Direction; LOCAL d : Direction := NVL(Normalise(ref_direction), Dummy_Gri||Direction([1.0, 0.0 ])); END_LOCAL; RETURN ([d, Orthogonal_Complement(d)]); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Build_Axes(axis : Direction; ref_direction : Direction) : LIST [3:3] OF Direction; LOCAL d1 : Direction; d2 : Direction; END_LOCAL; d1 := NVL(Normalise(axis), Dummy_Gri||Direction([0.0, 0.0, 1.0])); d2 := First_Proj_Axis(d1, ref_direction); RETURN ([d2, Normalise(Cross_Product(d1, d2))\Vector.orientation, d1]); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Check_Associative_Shape_Aspects(sdr : Shape_Definition_Representation) : BOOLEAN; LOCAL sr1 : SET OF Representation; sr2 : SET OF Representation; dm : SET OF Representation; pv : SET OF Representation; END_LOCAL; IF SIZEOF(sdr.used_representation.items) <> 2 THEN RETURN (FALSE); END_IF; sr1 := Using_Representations(sdr.used_representation.items[1]); sr2 := Using_Representations(sdr.used_representation.items[2]); REPEAT i := 1 TO HIINDEX(sr1); dm := Representations_Mapped_Into(sr1[i]); REPEAT j := 1 TO HIINDEX(dm); IF 'AUTOMOTIVE_DESIGN.DRAUGHTING_MODEL' IN TYPEOF(dm[j]) THEN IF dm[j] IN sr2 THEN RETURN (TRUE); END_IF; pv := Representations_Mapped_Into(dm[j]); REPEAT k := 1 TO HIINDEX(pv); IF 'AUTOMOTIVE_DESIGN.PRESENTATION_VIEW' IN TYPEOF(pv[k]) THEN IF pv[k] IN sr2 THEN RETURN (TRUE); END_IF; END_IF; END_REPEAT; END_IF; END_REPEAT; END_REPEAT; REPEAT i := 1 TO HIINDEX(sr2); dm := Representations_Mapped_Into(sr2[i]); REPEAT j := 1 TO HIINDEX(dm); IF 'AUTOMOTIVE_DESIGN.DRAUGHTING_MODEL' IN TYPEOF(dm[j]) THEN IF dm[j] IN sr1 THEN RETURN (TRUE); END_IF; pv := Representations_Mapped_Into(dm[j]); REPEAT k := 1 TO HIINDEX(pv); IF 'AUTOMOTIVE_DESIGN.PRESENTATION_VIEW' IN TYPEOF(pv[k]) THEN IF pv[k] IN sr1 THEN RETURN (TRUE); END_IF; END_IF; END_REPEAT; END_IF; END_REPEAT; END_REPEAT; RETURN (FALSE); END_FUNCTION; (* declared in: aic_associative_draughting_elements *)
FUNCTION Check_Text_Alignment(ct : Composite_Text) : BOOLEAN; LOCAL a : SET OF Text_Alignment := []; END_LOCAL; REPEAT i := 1 TO HIINDEX(ct.collected_text); a := a + [ct.collected_text[i]\Text_Literal.alignment]; END_REPEAT; RETURN (SIZEOF(a) = 1); END_FUNCTION; (* declared in: aic_draughting_annotation *)
FUNCTION Check_Text_Font(ct : Composite_Text) : BOOLEAN; LOCAL f : SET OF Font_Select := []; END_LOCAL; REPEAT i := 1 TO HIINDEX(ct.collected_text); f := f + [ct.collected_text[i]\Text_Literal.font]; END_REPEAT; RETURN (SIZEOF(f) <= 1); END_FUNCTION; (* declared in: aic_draughting_annotation *)
FUNCTION Closed_Shell_Reversed(a_shell : Closed_Shell) : Oriented_Closed_Shell; LOCAL the_reverse : Oriented_Closed_Shell; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.ORIENTED_CLOSED_SHELL' IN TYPEOF(a_shell) THEN the_reverse := Dummy_Tri||Connected_Face_Set(a_shell\Connected_Face_Set. cfs_faces)||Closed_Shell()||Oriented_Closed_Shell(a_shell\ Oriented_Closed_Shell.closed_shell_element, NOT a_shell\ Oriented_Closed_Shell.orientation); ELSE the_reverse := Dummy_Tri||Connected_Face_Set(a_shell\Connected_Face_Set. cfs_faces)||Closed_Shell()||Oriented_Closed_Shell(a_shell, FALSE); END_IF; RETURN (the_reverse); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Conditional_Reverse(p : BOOLEAN; an_item : Reversible_Topology) : Reversible_Topology; IF p THEN RETURN (an_item); ELSE RETURN (Topology_Reversed(an_item)); END_IF; END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Constraints_Composite_Curve_On_Surface(c : Composite_Curve_On_Surface) : BOOLEAN; LOCAL n_segments : INTEGER := SIZEOF(c.segments); END_LOCAL; REPEAT k := 1 TO n_segments; IF NOT ('AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(c\Composite_Curve.segments[ k].parent_curve)) AND NOT ('AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(c \Composite_Curve.segments[k].parent_curve)) AND NOT ( 'AUTOMOTIVE_DESIGN.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF(c\ Composite_Curve.segments[k].parent_curve)) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Constraints_Geometry_Shell_Based_Surface_Model(m : Shell_Based_Surface_Model) : BOOLEAN; LOCAL result : BOOLEAN := TRUE; END_LOCAL; REPEAT j := 1 TO SIZEOF(m.sbsm_boundary); IF NOT ('AUTOMOTIVE_DESIGN.OPEN_SHELL' IN TYPEOF(m.sbsm_boundary[j])) AND NOT ('AUTOMOTIVE_DESIGN.CLOSED_SHELL' IN TYPEOF(m.sbsm_boundary[j])) THEN result := FALSE; RETURN (result); END_IF; END_REPEAT; RETURN (result); END_FUNCTION; -- 10303-42: geometric_model_schema
FUNCTION Constraints_Param_B_Spline(degree : INTEGER; up_knots : INTEGER; up_cp : INTEGER; knot_mult : LIST OF INTEGER; knots : LIST OF Parameter_Value) : BOOLEAN; LOCAL result : BOOLEAN := TRUE; k : INTEGER; sum : INTEGER; END_LOCAL; sum := knot_mult[1]; REPEAT i := 2 TO up_knots; sum := sum + knot_mult[i]; END_REPEAT; IF (degree < 1) OR (up_knots < 2) OR (up_cp < degree) OR (sum <> degree + up_cp + 2) THEN result := FALSE; RETURN (result); END_IF; k := knot_mult[1]; IF (k < 1) OR (k > degree + 1) THEN result := FALSE; RETURN (result); END_IF; REPEAT i := 2 TO up_knots; IF (knot_mult[i] < 1) OR (knots[i] <= knots[i - 1]) THEN result := FALSE; RETURN (result); END_IF; k := knot_mult[i]; IF (i < up_knots) AND (k > degree) THEN result := FALSE; RETURN (result); END_IF; IF (i = up_knots) AND (k > degree + 1) THEN result := FALSE; RETURN (result); END_IF; END_REPEAT; RETURN (result); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Constraints_Rectangular_Composite_Surface(s : Rectangular_Composite_Surface) : BOOLEAN; REPEAT i := 1 TO s.n_u; REPEAT j := 1 TO s.n_v; IF NOT (('AUTOMOTIVE_DESIGN.B_SPLINE_SURFACE' IN TYPEOF(s.segments[i][ j].parent_surface)) OR ( 'AUTOMOTIVE_DESIGN.RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF(s.segments[i ][j].parent_surface))) THEN RETURN (FALSE); END_IF; END_REPEAT; END_REPEAT; REPEAT i := 1 TO s.n_u - 1; REPEAT j := 1 TO s.n_v; IF s.segments[i][j].u_transition = Discontinuous THEN RETURN (FALSE); END_IF; END_REPEAT; END_REPEAT; REPEAT i := 1 TO s.n_u; REPEAT j := 1 TO s.n_v - 1; IF s.segments[i][j].v_transition = Discontinuous THEN RETURN (FALSE); END_IF; END_REPEAT; END_REPEAT; RETURN (TRUE); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Control_Characters_Free(s : STRING) : BOOLEAN; LOCAL ch : STRING; END_LOCAL; REPEAT i := 1 TO LENGTH(s); ch := s[i]; IF (ch = '\x9') OR (ch = '\xA') OR (ch = '\xD') THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE); END_FUNCTION; -- 10303-46: presentation_definition_schema
FUNCTION Convert_Plane_Angle_For_Pair_From_Radian(pair : Kinematic_Pair; angle_expr : REAL) : Plane_Angle_Measure; LOCAL link_rep : Kinematic_Link_Representation := Representation_Of_Link(pair.joint .first_link); link_cntxt : Representation_Context; pa_units : SET OF Unit := []; pau : Unit; conv_factor : REAL := 1.0; result : Plane_Angle_Measure; END_LOCAL; link_cntxt := link_rep\Representation.context_of_items; IF NOT ('AUTOMOTIVE_DESIGN.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( link_cntxt)) THEN RETURN (?); END_IF; pa_units := QUERY(Unit <* link_cntxt\Global_Unit_Assigned_Context.units | 'AUTOMOTIVE_DESIGN.PLANE_ANGLE_UNIT' IN TYPEOF(Unit)); IF SIZEOF(pa_units) <> 1 THEN RETURN (?); END_IF; pau := pa_units[1]; IF NOT ('AUTOMOTIVE_DESIGN.SI_UNIT' IN TYPEOF(pau)) AND NOT ( 'AUTOMOTIVE_DESIGN.CONVERSION_BASED_UNIT' IN TYPEOF(pau)) THEN RETURN (?); END_IF; REPEAT WHILE 'AUTOMOTIVE_DESIGN.CONVERSION_BASED_UNIT' IN TYPEOF(pau); conv_factor := conv_factor * pau\Conversion_Based_Unit.conversion_factor. value_component; pau := pau\Conversion_Based_Unit.conversion_factor.unit_component; IF NOT ('AUTOMOTIVE_DESIGN.SI_UNIT' IN TYPEOF(pau)) AND NOT ( 'AUTOMOTIVE_DESIGN.CONVERSION_BASED_UNIT' IN TYPEOF(pau)) OR NOT ( 'AUTOMOTIVE_DESIGN.PLANE_ANGLE_UNIT' IN TYPEOF(pau)) THEN RETURN (?); END_IF; END_REPEAT; IF pau\Si_Unit.name <> Si_Unit_Name.Radian THEN RETURN (?); END_IF; CASE pau\Si_Unit.prefix OF Si_Prefix.Exa : conv_factor := 1.E18 * conv_factor; Si_Prefix.Peta : conv_factor := 1.E15 * conv_factor; Si_Prefix.Tera : conv_factor := 1.E12 * conv_factor; Si_Prefix.Giga : conv_factor := 1.E9 * conv_factor; Si_Prefix.Mega : conv_factor := 1.E6 * conv_factor; Si_Prefix.Kilo : conv_factor := 1.E3 * conv_factor; Si_Prefix.Hecto : conv_factor := 1.E2 * conv_factor; Si_Prefix.Deca : conv_factor := 1.E1 * conv_factor; Si_Prefix.Deci : conv_factor := 1.E-1 * conv_factor; Si_Prefix.Centi : conv_factor := 1.E-2 * conv_factor; Si_Prefix.Milli : conv_factor := 1.E-3 * conv_factor; Si_Prefix.Micro : conv_factor := 1.E-6 * conv_factor; Si_Prefix.Nano : conv_factor := 1.E-9 * conv_factor; Si_Prefix.Pico : conv_factor := 1.E-12 * conv_factor; Si_Prefix.Femto : conv_factor := 1.E-15 * conv_factor; Si_Prefix.Atto : conv_factor := 1.E-18 * conv_factor; END_CASE; result := angle_expr/conv_factor; RETURN (result); END_FUNCTION; -- 10303-105: kinematic_structure_schema
FUNCTION Convert_Spatial_To_Ypr_Rotation(pair : Kinematic_Pair; rotation : Spatial_Rotation) : Ypr_Rotation; LOCAL axis : Direction; angle : Plane_Angle_Measure; conv_angle : Plane_Angle_Measure; ya : Plane_Angle_Measure; pa : Plane_Angle_Measure; ra : Plane_Angle_Measure; ucf : REAL; dx : REAL; dy : REAL; dz : REAL; s_a : REAL; c_a : REAL; rotmat : ARRAY [1:3] OF ARRAY [1:3] OF REAL; cm1 : REAL; s_y : REAL; c_y : REAL; s_r : REAL; c_r : REAL; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.YPR_ROTATION' IN TYPEOF(rotation) THEN RETURN (rotation); END_IF; axis := Normalise(rotation\Rotation_About_Direction.direction_of_axis); angle := rotation\Rotation_About_Direction.rotation_angle; IF angle = 0.0 THEN RETURN ([0.0, 0.0, 0.0]); END_IF; dx := axis.direction_ratios[1]; dy := axis.direction_ratios[2]; dz := axis.direction_ratios[3]; conv_angle := Plane_Angle_For_Pair_In_Radian(pair, angle); IF conv_angle = ? THEN RETURN (?); END_IF; ucf := angle/conv_angle; s_a := SIN(conv_angle); c_a := COS(conv_angle); IF (dy = 0.0) AND (dx * dz = 0.0) THEN REPEAT WHILE conv_angle <= -PI; conv_angle := conv_angle + 2.0 * PI; END_REPEAT; REPEAT WHILE conv_angle > PI; conv_angle := conv_angle - 2.0 * PI; END_REPEAT; ya := ucf * conv_angle; IF conv_angle <> PI THEN ra := -ya; ELSE ra := ya; END_IF; IF dx <> 0.0 THEN IF dx > 0.0 THEN RETURN ([0.0, 0.0, ya]); ELSE RETURN ([0.0, 0.0, ra]); END_IF; ELSE IF dz > 0.0 THEN RETURN ([ya, 0.0, 0.0]); ELSE RETURN ([ra, 0.0, 0.0]); END_IF; END_IF; END_IF; IF (dy <> 0.0) AND (dx = 0.0) AND (dz = 0.0) THEN IF c_a >= 0.0 THEN ya := 0.0; ra := 0.0; ELSE ya := ucf * PI; ra := ya; END_IF; pa := ucf * ATAN(s_a, ABS(c_a)); IF dy < 0.0 THEN pa := -pa; END_IF; RETURN ([ya, pa, ra]); END_IF; cm1 := 1.0 - c_a; rotmat := [[dx * dx * cm1 + c_a, dx * dy * cm1 - dz * s_a, dx * dz * cm1 + dy * s_a], [dx * dy * cm1 + dz * s_a, dy * dy * cm1 + c_a, dy * dz * cm1 - dx * s_a], [dx * dz * cm1 - dy * s_a, dy * dz * cm1 + dx * s_a, dz * dz * cm1 + c_a]]; IF ABS(rotmat[1][3]) = 1.0 THEN IF rotmat[1][3] = 1.0 THEN pa := 0.5 * PI; ELSE pa := -0.5 * PI; END_IF; ra := 0.0; ya := ATAN(rotmat[2][1], rotmat[2][2]); IF rotmat[2][2] < 0.0 THEN IF ya <= 0.0 THEN ya := ya + PI; ELSE ya := ya - PI; END_IF; END_IF; ELSE ya := ATAN(-rotmat[1][2], rotmat[1][1]); IF rotmat[1][1] < 0.0 THEN IF ya <= 0.0 THEN ya := ya + PI; ELSE ya := ya - PI; END_IF; END_IF; ra := ATAN(-rotmat[2][3], rotmat[3][3]); IF rotmat[3][3] < 0.0 THEN IF ra <= 0.0 THEN ra := ra + PI; ELSE ra := ra - PI; END_IF; END_IF; s_y := SIN(ya); c_y := COS(ya); s_r := SIN(ra); c_r := COS(ra); IF (ABS(s_y) > ABS(c_y)) AND (ABS(s_y) > ABS(s_r)) AND (ABS(s_y) > ABS(c_r) ) THEN cm1 := -rotmat[1][2]/s_y; ELSE IF (ABS(c_y) > ABS(s_r)) AND (ABS(c_y) > ABS(c_r)) THEN cm1 := rotmat[1][1]/c_y; ELSE IF ABS(s_r) > ABS(c_r) THEN cm1 := -rotmat[2][3]/s_r; ELSE cm1 := rotmat[3][3]/c_r; END_IF; END_IF; END_IF; pa := ATAN(rotmat[1][3], cm1); END_IF; ya := ya * ucf; pa := pa * ucf; ra := ra * ucf; RETURN ([ya, pa, ra]); END_FUNCTION; -- 10303-105: kinematic_structure_schema
FUNCTION Coordinated_Pair_Link_Representation(link : Kinematic_Link; pair_placement : Rigid_Placement) : BOOLEAN; LOCAL link_rep : Kinematic_Link_Representation; END_LOCAL; link_rep := Representation_Of_Link(link); IF link_rep = ? THEN RETURN (FALSE); ELSE IF NOT (pair_placement IN link_rep\Representation.items) THEN RETURN (FALSE); ELSE RETURN (TRUE); END_IF; END_IF; END_FUNCTION; -- 10303-105: kinematic_structure_schema
FUNCTION Cross_Product(arg1 : Direction; arg2 : Direction) : Vector; LOCAL mag : REAL; res : Direction; v1 : LIST [3:3] OF REAL; v2 : LIST [3:3] OF REAL; result : Vector; END_LOCAL; IF NOT EXISTS(arg1) OR (arg1.dim = 2) OR NOT EXISTS(arg2) OR (arg2.dim = 2) THEN RETURN (?); ELSE v1 := Normalise(arg1).direction_ratios; v2 := Normalise(arg2).direction_ratios; res := Dummy_Gri||Direction([v1[2] * v2[3] - v1[3] * v2[2], v1[3] * v2[1] - v1[1] * v2[3], v1[1] * v2[2] - v1[2] * v2[1]]); mag := 0.0; REPEAT i := 1 TO 3; mag := mag + res.direction_ratios[i] * res.direction_ratios[i]; END_REPEAT; IF mag > 0.0 THEN result := Dummy_Gri||Vector(res, SQRT(mag)); ELSE result := Dummy_Gri||Vector(arg1, 0.0); END_IF; RETURN (result); END_IF; END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Curve_Weights_Positive(b : Rational_B_Spline_Curve) : BOOLEAN; LOCAL result : BOOLEAN := TRUE; END_LOCAL; REPEAT i := 0 TO b.upper_index_on_control_points; IF b.weights[i] <= 0.0 THEN result := FALSE; RETURN (result); END_IF; END_REPEAT; RETURN (result); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Default_Tolerance_Table_Cell_Wr2(agg : AGGREGATE OF Representation_Item) : BOOLEAN; IF SIZEOF(agg) <= 5 THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Default_Tolerance_Table_Cell_Wr3(agg : AGGREGATE OF Representation_Item) : BOOLEAN; IF (SIZEOF(QUERY(i <* agg | ( 'AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\ Representation_Item.name = 'significant number of digits'))) = 1) OR (SIZEOF( QUERY(i <* agg | ('AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\Representation_Item.name = 'lower limit'))) = 1) AND ( SIZEOF(QUERY(i <* agg | ('AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\Representation_Item.name = 'upper limit'))) = 1) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Default_Tolerance_Table_Cell_Wr4(agg : AGGREGATE OF Representation_Item) : BOOLEAN; IF (SIZEOF(QUERY(i <* agg | ( 'AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\ Representation_Item.name = 'plus minus tolerance value'))) = 1) OR (SIZEOF( QUERY(i <* agg | ('AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\Representation_Item.name = 'lower tolerance value'))) = 1) AND (SIZEOF(QUERY(i <* agg | ( 'AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\ Representation_Item.name = 'upper tolerance value'))) = 1) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Default_Tolerance_Table_Cell_Wr5(agg : AGGREGATE OF Representation_Item) : BOOLEAN; IF (SIZEOF(QUERY(i <* agg | 'AUTOMOTIVE_DESIGN.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i))) <= 1) AND (SIZEOF(QUERY(i <* agg | 'AUTOMOTIVE_DESIGN.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i))) = SIZEOF(QUERY(i <* agg | ( 'AUTOMOTIVE_DESIGN.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i\ Representation_Item.name = 'cell description')))) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Derive_Dimensional_Exponents(x : Unit) : Dimensional_Exponents; LOCAL result : Dimensional_Exponents := Dimensional_Exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); END_LOCAL; IF 'AUTOMOTIVE_DESIGN.DERIVED_UNIT' IN TYPEOF(x) THEN REPEAT i := LOINDEX(x\Derived_Unit.elements) TO HIINDEX(x\Derived_Unit. elements); result.length_exponent := result.length_exponent + x\Derived_Unit. elements[i]\Derived_Unit_Element.exponent * x\Derived_Unit.elements[i]\ Derived_Unit_Element.Unit\Named_Unit.dimensions.length_exponent; result.mass_exponent := result.mass_exponent + x\Derived_Unit.elements[i] \Derived_Unit_Element.exponent * x\Derived_Unit.elements[i]\ Derived_Unit_Element.Unit\Named_Unit.dimensions.mass_exponent; result.time_exponent := result.time_exponent + x\Derived_Unit.elements[i] \Derived_Unit_Element.exponent * x\Derived_Unit.elements[i]\ Derived_Unit_Element.Unit\Named_Unit.dimensions.time_exponent; result.electric_current_exponent := result.electric_current_exponent + x\ Derived_Unit.elements[i]\Derived_Unit_Element.exponent * x\Derived_Unit. elements[i]\Derived_Unit_Element.Unit\Named_Unit.dimensions. electric_current_exponent; result.thermodynamic_temperature_exponent := result. thermodynamic_temperature_exponent + x\Derived_Unit.elements[i]\ Derived_Unit_Element.exponent * x\Derived_Unit.elements[i]\ Derived_Unit_Element.Unit\Named_Unit.dimensions. thermodynamic_temperature_exponent; result.amount_of_substance_exponent := result. amount_of_substance_exponent + x\Derived_Unit.elements[i]\ Derived_Unit_Element.exponent * x\Derived_Unit.elements[i]\ Derived_Unit_Element.Unit\Named_Unit.dimensions. amount_of_substance_exponent; result.luminous_intensity_exponent := result.luminous_intensity_exponent + x\Derived_Unit.elements[i]\Derived_Unit_Element.exponent * x\ Derived_Unit.elements[i]\Derived_Unit_Element.Unit\Named_Unit.dimensions. luminous_intensity_exponent; END_REPEAT; ELSE result := x\Named_Unit.dimensions; END_IF; RETURN (result); END_FUNCTION; -- 10303-41: measure_schema
FUNCTION Dimension_Of(item : Geometric_Representation_Item) : Dimension_Count; LOCAL x : SET OF Representation; y : Representation_Context; dim : Dimension_Count; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT' IN TYPEOF(item) THEN dim := SIZEOF(item\Cartesian_Point.coordinates); RETURN (dim); END_IF; IF 'AUTOMOTIVE_DESIGN.DIRECTION' IN TYPEOF(item) THEN dim := SIZEOF(item\Direction.direction_ratios); RETURN (dim); END_IF; IF 'AUTOMOTIVE_DESIGN.VECTOR' IN TYPEOF(item) THEN dim := SIZEOF(item\Vector.orientation\Direction.direction_ratios); RETURN (dim); END_IF; x := Using_Representations(item); y := x[1].context_of_items; dim := y\Geometric_Representation_Context.coordinate_space_dimension; RETURN (dim); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Dimensions_For_Si_Unit(n : Si_Unit_Name) : Dimensional_Exponents; CASE n OF Metre : RETURN (Dimensional_Exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); Gram : RETURN (Dimensional_Exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0)); Second : RETURN (Dimensional_Exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0)); Ampere : RETURN (Dimensional_Exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)); Kelvin : RETURN (Dimensional_Exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); Mole : RETURN (Dimensional_Exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)); Candela : RETURN (Dimensional_Exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); Radian : RETURN (Dimensional_Exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); Steradian : RETURN (Dimensional_Exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); Hertz : RETURN (Dimensional_Exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); Newton : RETURN (Dimensional_Exponents(1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); Pascal : RETURN (Dimensional_Exponents(-1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); Joule : RETURN (Dimensional_Exponents(2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); Watt : RETURN (Dimensional_Exponents(2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0)); Coulomb : RETURN (Dimensional_Exponents(0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0)); Volt : RETURN (Dimensional_Exponents(2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0)); Farad : RETURN (Dimensional_Exponents(-2.0, -1.0, 4.0, 1.0, 0.0, 0.0, 0.0)); Ohm : RETURN (Dimensional_Exponents(2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0)); Siemens : RETURN (Dimensional_Exponents(-2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0)); Weber : RETURN (Dimensional_Exponents(2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); Tesla : RETURN (Dimensional_Exponents(0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); Henry : RETURN (Dimensional_Exponents(2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0)); Degree_Celsius : RETURN (Dimensional_Exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); Lumen : RETURN (Dimensional_Exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); Lux : RETURN (Dimensional_Exponents(-2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); Becquerel : RETURN (Dimensional_Exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); Gray : RETURN (Dimensional_Exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); Sievert : RETURN (Dimensional_Exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); OTHERWISE : RETURN (?); END_CASE; END_FUNCTION; -- 10303-41: measure_schema
FUNCTION Dot_Product(arg1 : Direction; arg2 : Direction) : REAL; LOCAL scalar : REAL; vec1 : Direction; vec2 : Direction; ndim : INTEGER; END_LOCAL; IF NOT EXISTS(arg1) OR NOT EXISTS(arg2) THEN scalar := ?; ELSE IF arg1.dim <> arg2.dim THEN scalar := ?; ELSE vec1 := Normalise(arg1); vec2 := Normalise(arg2); ndim := arg1.dim; scalar := 0.0; REPEAT i := 1 TO ndim; scalar := scalar + vec1.direction_ratios[i] * vec2.direction_ratios[i]; END_REPEAT; END_IF; END_IF; RETURN (scalar); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Edge_Reversed(an_edge : Edge) : Oriented_Edge; LOCAL the_reverse : Oriented_Edge; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.ORIENTED_EDGE' IN TYPEOF(an_edge) THEN the_reverse := Dummy_Tri||Edge(an_edge.edge_end, an_edge.edge_start)|| Oriented_Edge(an_edge\Oriented_Edge.edge_element, NOT an_edge\Oriented_Edge .orientation); ELSE the_reverse := Dummy_Tri||Edge(an_edge.edge_end, an_edge.edge_start)|| Oriented_Edge(an_edge, FALSE); END_IF; RETURN (the_reverse); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Face_Bound_Reversed(a_face_bound : Face_Bound) : Face_Bound; LOCAL the_reverse : Face_Bound; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.FACE_OUTER_BOUND' IN TYPEOF(a_face_bound) THEN the_reverse := Dummy_Tri||Face_Bound(a_face_bound\Face_Bound.bound, NOT a_face_bound\Face_Bound.orientation)||Face_Outer_Bound(); ELSE the_reverse := Dummy_Tri||Face_Bound(a_face_bound.bound, NOT a_face_bound. orientation); END_IF; RETURN (the_reverse); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Face_Reversed(a_face : Face) : Oriented_Face; LOCAL the_reverse : Oriented_Face; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.ORIENTED_FACE' IN TYPEOF(a_face) THEN the_reverse := Dummy_Tri||Face(Set_Of_Topology_Reversed(a_face.bounds))|| Oriented_Face(a_face\Oriented_Face.face_element, NOT a_face\Oriented_Face. orientation); ELSE the_reverse := Dummy_Tri||Face(Set_Of_Topology_Reversed(a_face.bounds))|| Oriented_Face(a_face, FALSE); END_IF; RETURN (the_reverse); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION First_Proj_Axis(z_axis : Direction; arg : Direction) : Direction; LOCAL x_axis : Direction; v : Direction; z : Direction; x_vec : Vector; END_LOCAL; IF NOT EXISTS(z_axis) THEN RETURN (?); ELSE z := Normalise(z_axis); IF NOT EXISTS(arg) THEN IF (z.direction_ratios <> [1.0, 0.0, 0.0]) AND (z.direction_ratios <> [- 1.0, 0.0, 0.0]) THEN v := Dummy_Gri||Direction([1.0, 0.0, 0.0]); ELSE v := Dummy_Gri||Direction([0.0, 1.0, 0.0]); END_IF; ELSE IF arg.dim <> 3 THEN RETURN (?); END_IF; IF Cross_Product(arg, z).magnitude = 0.0 THEN RETURN (?); ELSE v := Normalise(arg); END_IF; END_IF; x_vec := Scalar_Times_Vector(Dot_Product(v, z), z); x_axis := Vector_Difference(v, x_vec).orientation; x_axis := Normalise(x_axis); END_IF; RETURN (x_axis); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Frame_Associated_To_Background(frame : Rigid_Placement; background : Kinematic_Frame_Background) : BOOLEAN; LOCAL rep_bag : BAG OF Kinematic_Frame_Background_Representation; trf_bag : BAG OF Kinematic_Frame_Based_Transformation; trm_bag : BAG OF Kinematic_Frame_Based_Transformation; ass_bag : BAG OF Kinematic_Frame_Background_Representation_Association; rep : Kinematic_Frame_Background_Representation; ass : Kinematic_Frame_Background_Representation_Association; END_LOCAL; rep_bag := QUERY(bg <* USEDIN(background, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | 'AUTOMOTIVE_DESIGN.' + 'KINEMATIC_FRAME_BACKGROUND_REPRESENTATION' IN TYPEOF(bg)); IF SIZEOF(rep_bag) = 0 THEN RETURN (FALSE); END_IF; trf_bag := USEDIN(frame, 'AUTOMOTIVE_DESIGN.KINEMATIC_FRAME_BASED_TRANSFORMATION.TRANSFORMATOR'); IF SIZEOF(trf_bag) = 0 THEN RETURN (FALSE); END_IF; REPEAT i := 1 TO HIINDEX(rep_bag); rep := rep_bag[i]; ass_bag := QUERY(kfbra <* USEDIN(rep, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_2') | 'AUTOMOTIVE_DESIGN.' + 'KINEMATIC_FRAME_BACKGROUND_REPRESENTATION_ASSOCIATION' IN TYPEOF(kfbra)); IF SIZEOF(ass_bag) > 0 THEN REPEAT j := 1 TO HIINDEX(ass_bag); ass := ass_bag[j]; trm_bag := QUERY(trm <* trf_bag | trm :=: ass\ Representation_Relationship_With_Transformation.transformation_operator ); IF SIZEOF(trm_bag) > 0 THEN RETURN (TRUE); END_IF; END_REPEAT; END_IF; END_REPEAT; RETURN (FALSE); END_FUNCTION; -- 10303-105: kinematic_structure_schema
FUNCTION Gbsf_Check_Curve(cv : Representation_Item) : BOOLEAN; IF SIZEOF(['AUTOMOTIVE_DESIGN.BOUNDED_CURVE', 'AUTOMOTIVE_DESIGN.CONIC' , 'AUTOMOTIVE_DESIGN.CURVE_REPLICA', 'AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN RETURN (FALSE); END_IF; IF SIZEOF(['AUTOMOTIVE_DESIGN.CIRCLE', 'AUTOMOTIVE_DESIGN.ELLIPSE', 'AUTOMOTIVE_DESIGN.TRIMMED_CURVE'] * TYPEOF(cv)) = 1 THEN RETURN (TRUE); ELSE IF ('AUTOMOTIVE_DESIGN.B_SPLINE_CURVE' IN TYPEOF(cv)) AND (cv\ B_Spline_Curve.self_intersect = FALSE) OR (cv\B_Spline_Curve.self_intersect = UNKNOWN) THEN RETURN (TRUE); ELSE IF ('AUTOMOTIVE_DESIGN.COMPOSITE_CURVE' IN TYPEOF(cv)) AND (cv\ Composite_Curve.self_intersect = FALSE) OR (cv\Composite_Curve. self_intersect = UNKNOWN) THEN RETURN (SIZEOF(QUERY(seg <* cv\Composite_Curve.segments | NOT Gbsf_Check_Curve(seg.parent_curve))) = 0); ELSE IF 'AUTOMOTIVE_DESIGN.CURVE_REPLICA' IN TYPEOF(cv) THEN RETURN (Gbsf_Check_Curve(cv\Curve_Replica.parent_curve)); ELSE IF ('AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\ Offset_Curve_3d.self_intersect = FALSE) OR (cv\Offset_Curve_3d. self_intersect = UNKNOWN)) AND NOT ('AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(cv\Offset_Curve_3d.basis_curve)) THEN RETURN (Gbsf_Check_Curve(cv\Offset_Curve_3d.basis_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(cv) THEN RETURN (Gbsf_Check_Curve(cv\Pcurve.reference_to_curve\ Representation.items[1]) AND Gbsf_Check_Surface(cv\Pcurve. basis_surface)); ELSE IF 'AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(cv) THEN IF SIZEOF(cv\Polyline.points) >= 3 THEN RETURN (TRUE); END_IF; ELSE IF 'AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(cv) THEN IF Gbsf_Check_Curve(cv\Surface_Curve.Curve_3d) THEN REPEAT i := 1 TO SIZEOF(cv\Surface_Curve. associated_geometry); IF 'AUTOMOTIVE_DESIGN.SURFACE' IN TYPEOF(cv\ Surface_Curve.associated_geometry[i]) THEN IF NOT Gbsf_Check_Surface(cv\Surface_Curve. associated_geometry[i]) THEN RETURN (FALSE); END_IF; ELSE IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(cv\ Surface_Curve.associated_geometry[i]) THEN IF NOT Gbsf_Check_Curve(cv\Surface_Curve. associated_geometry[i]) THEN RETURN (FALSE); END_IF; END_IF; END_IF; END_REPEAT; RETURN (TRUE); END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_geometrically_bounded_surface *)
FUNCTION Gbsf_Check_Point(pnt : Point) : BOOLEAN; IF 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT' IN TYPEOF(pnt) THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE' IN TYPEOF(pnt) THEN RETURN (Gbsf_Check_Curve(pnt\Point_On_Curve.basis_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN RETURN (Gbsf_Check_Surface(pnt\Point_On_Surface.basis_surface)); ELSE IF 'AUTOMOTIVE_DESIGN.DEGENERATE_PCURVE' IN TYPEOF(pnt) THEN RETURN (Gbsf_Check_Curve(pnt\Degenerate_Pcurve.reference_to_curve\ Representation.items[1]) AND Gbsf_Check_Surface(pnt\Degenerate_Pcurve .basis_surface)); END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_geometrically_bounded_surface *)
FUNCTION Gbsf_Check_Surface(sf : Surface) : BOOLEAN; IF ('AUTOMOTIVE_DESIGN.B_SPLINE_SURFACE' IN TYPEOF(sf)) AND (sf\ B_Spline_Surface.self_intersect = FALSE) OR (sf\B_Spline_Surface. self_intersect = UNKNOWN) THEN RETURN (TRUE); ELSE IF SIZEOF(['AUTOMOTIVE_DESIGN.SPHERICAL_SURFACE', 'AUTOMOTIVE_DESIGN.TOROIDAL_SURFACE', 'AUTOMOTIVE_DESIGN.CURVE_BOUNDED_SURFACE', 'AUTOMOTIVE_DESIGN.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(sf)) = 1 THEN RETURN (TRUE); ELSE IF ('AUTOMOTIVE_DESIGN.OFFSET_SURFACE' IN TYPEOF(sf)) AND (sf\ Offset_Surface.self_intersect = FALSE) OR (sf\Offset_Surface. self_intersect = UNKNOWN) THEN RETURN (Gbsf_Check_Surface(sf\Offset_Surface.basis_surface)); ELSE IF 'AUTOMOTIVE_DESIGN.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF(sf) THEN REPEAT i := 1 TO SIZEOF(sf\Rectangular_Composite_Surface.segments); REPEAT j := 1 TO SIZEOF(sf\Rectangular_Composite_Surface.segments[i ]); IF NOT Gbsf_Check_Surface(sf\Rectangular_Composite_Surface. segments[i][j].parent_surface) THEN RETURN (FALSE); END_IF; END_REPEAT; END_REPEAT; RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.SURFACE_REPLICA' IN TYPEOF(sf) THEN RETURN (Gbsf_Check_Surface(sf\Surface_Replica.parent_surface)); ELSE IF 'AUTOMOTIVE_DESIGN.SURFACE_OF_REVOLUTION' IN TYPEOF(sf) THEN RETURN (Gbsf_Check_Curve(sf\Swept_Surface.swept_curve)); END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_geometrically_bounded_surface *)
FUNCTION Get_Basis_Surface(c : Curve_On_Surface) : SET [0:2] OF Surface; LOCAL surfs : SET [0:2] OF Surface; n : INTEGER; END_LOCAL; surfs := []; IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(c) THEN surfs := [c\Pcurve.basis_surface]; ELSE IF 'AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(c) THEN n := SIZEOF(c\Surface_Curve.associated_geometry); REPEAT i := 1 TO n; surfs := surfs + Associated_Surface(c\Surface_Curve.associated_geometry [i]); END_REPEAT; END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF(c) THEN n := SIZEOF(c\Composite_Curve.segments); surfs := Get_Basis_Surface(c\Composite_Curve.segments[1].parent_curve); IF n > 1 THEN REPEAT i := 2 TO n; surfs := surfs * Get_Basis_Surface(c\Composite_Curve.segments[i]. parent_curve); END_REPEAT; END_IF; END_IF; RETURN (surfs); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Get_Description_Value(obj : Description_Attribute_Select) : Text; LOCAL description_bag : BAG OF Description_Attribute := USEDIN(obj, 'AUTOMOTIVE_DESIGN.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM'); END_LOCAL; IF SIZEOF(description_bag) = 1 THEN RETURN (description_bag[1].attribute_value); ELSE RETURN (?); END_IF; END_FUNCTION; -- 10303-41: basic_attribute_schema
FUNCTION Get_Diameter_For_Round_Hole(rh : Round_Hole) : REAL; LOCAL sa_set : SET OF Shape_Aspect; sar_set : SET OF Shape_Aspect_Relationship; pdr_set : SET OF Property_Definition_Representation; ri_set : SET OF Representation_Item; END_LOCAL; sa_set := Get_Shape_Aspects(rh); REPEAT i := 1 TO HIINDEX(sa_set); IF sa_set[i].description = 'diameter occurrence' THEN sar_set := Bag_To_Set(USEDIN(sa_set[i], 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT')); REPEAT j := 1 TO HIINDEX(sar_set); IF (sar_set[j].name = 'diameter') AND (sar_set[j].description = 'profile usage') AND ( 'AUTOMOTIVE_DESIGN.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar_set[j] )) AND ('AUTOMOTIVE_DESIGN.CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sar_set[j].relating_shape_aspect)) THEN pdr_set := Get_Shape_Aspect_Property_Definition_Representations( sar_set[j].relating_shape_aspect); REPEAT k := 1 TO HIINDEX(pdr_set); IF 'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr_set[k].used_representation) THEN ri_set := pdr_set[k].used_representation.items; REPEAT l := 1 TO HIINDEX(ri_set); IF ('AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(ri_set[l])) AND ( 'AUTOMOTIVE_DESIGN.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( ri_set[l])) THEN RETURN (ri_set[l]\Measure_With_Unit.value_component); END_IF; END_REPEAT; END_IF; END_REPEAT; END_IF; END_REPEAT; END_IF; END_REPEAT; RETURN (?); END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Get_Id_Value(obj : Id_Attribute_Select) : Identifier; LOCAL id_bag : BAG OF Id_Attribute := USEDIN(obj, 'AUTOMOTIVE_DESIGN.ID_ATTRIBUTE.IDENTIFIED_ITEM'); END_LOCAL; IF SIZEOF(id_bag) = 1 THEN RETURN (id_bag[1].attribute_value); ELSE RETURN (?); END_IF; END_FUNCTION; -- 10303-41: basic_attribute_schema
FUNCTION Get_Multi_Language(x : Multi_Language_Attribute_Assignment) : Label; LOCAL alas : BAG OF Attribute_Language_Assignment := USEDIN(x, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS'); END_LOCAL; IF SIZEOF(alas) > 0 THEN RETURN (alas[1].Language); END_IF; RETURN (?); END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Get_Name_Value(obj : Name_Attribute_Select) : Label; LOCAL name_bag : BAG OF Name_Attribute := USEDIN(obj, 'AUTOMOTIVE_DESIGN.NAME_ATTRIBUTE.NAMED_ITEM'); END_LOCAL; IF SIZEOF(name_bag) = 1 THEN RETURN (name_bag[1].attribute_value); ELSE RETURN (?); END_IF; END_FUNCTION; -- 10303-41: basic_attribute_schema
FUNCTION Get_Property_Definition_Representations(c_def_instance : Characterized_Definition) : SET OF Property_Definition_Representation; LOCAL pd_set : SET OF Property_Definition := []; pdr_set : SET OF Property_Definition_Representation := []; END_LOCAL; pd_set := Bag_To_Set(USEDIN(c_def_instance, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION')); IF SIZEOF(pd_set) < 1 THEN RETURN (pdr_set); END_IF; REPEAT i := 1 TO HIINDEX(pd_set); pdr_set := pdr_set + Bag_To_Set(USEDIN(pd_set[i], 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')); END_REPEAT; RETURN (pdr_set); END_FUNCTION; -- 10303-41: product_property_representation_schema
FUNCTION Get_Role(obj : Role_Select) : Object_Role; LOCAL role_bag : BAG OF Role_Association := USEDIN(obj, 'AUTOMOTIVE_DESIGN.ROLE_ASSOCIATION.ITEM_WITH_ROLE'); END_LOCAL; IF SIZEOF(role_bag) = 1 THEN RETURN (role_bag[1].role); ELSE RETURN (?); END_IF; END_FUNCTION; -- 10303-41: basic_attribute_schema
FUNCTION Get_Round_Holes_For_Composite_Hole(sar_instance_set : SET OF Shape_Aspect_Relationship) : SET OF Round_Hole; LOCAL rh_set : SET OF Round_Hole := []; pdr_set : SET OF Property_Definition_Representation; pdr_set1 : SET OF Property_Definition_Representation; ri_set : SET OF Representation_Item; END_LOCAL; REPEAT i := 1 TO HIINDEX(sar_instance_set); IF SIZEOF(['AUTOMOTIVE_DESIGN.INSTANCED_FEATURE', 'AUTOMOTIVE_DESIGN.ROUND_HOLE'] * TYPEOF(sar_instance_set[i]. related_shape_aspect)) >= 2 THEN rh_set := rh_set + sar_instance_set[i].related_shape_aspect\Round_Hole; END_IF; IF 'AUTOMOTIVE_DESIGN.PLACED_FEATURE' IN TYPEOF(sar_instance_set[i]) THEN pdr_set := Get_Shape_Aspect_Property_Definition_Representations( sar_instance_set[i].related_shape_aspect); REPEAT j := 1 TO HIINDEX(pdr_set); IF (pdr_set[j].used_representation.name = 'feature definition placement') AND ( 'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION' IN TYPEOF(pdr_set[j]. used_representation)) THEN ri_set := pdr_set[j].used_representation.items; REPEAT k := 1 TO HIINDEX(ri_set); IF ('AUTOMOTIVE_DESIGN.MAPPED_ITEM' IN TYPEOF(ri_set[k])) AND ( 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(ri_set[k]\Mapped_Item.mapping_source.mapped_representation) ) THEN pdr_set1 := Bag_To_Set(USEDIN(ri_set[k]\Mapped_Item. mapping_source.mapped_representation, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' )); REPEAT l := 1 TO HIINDEX(pdr_set1); IF 'AUTOMOTIVE_DESIGN.ROUND_HOLE' IN TYPEOF(pdr_set1[l]. definition.definition) THEN rh_set := rh_set + pdr_set1[l].definition.definition; END_IF; END_REPEAT; END_IF; END_REPEAT; END_IF; END_REPEAT; END_IF; END_REPEAT; RETURN (rh_set); END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Get_Shape_Aspect_Property_Definition_Representations(s_a_instance : Shape_Aspect) : SET OF Property_Definition_Representation; LOCAL pd_set : SET OF Property_Definition := []; pdr_set : SET OF Property_Definition_Representation := []; END_LOCAL; pd_set := Bag_To_Set(USEDIN(s_a_instance, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION')); IF SIZEOF(pd_set) < 1 THEN RETURN (pdr_set); END_IF; REPEAT i := 1 TO HIINDEX(pd_set); pdr_set := pdr_set + QUERY(pdr <* USEDIN(pd_set[i], 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)); END_REPEAT; RETURN (pdr_set); END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Get_Shape_Aspects(c_def_instance : Characterized_Definition) : SET OF Shape_Aspect; LOCAL pd_set : SET OF Product_Definition_Shape := []; pdr_set : SET OF Shape_Aspect := []; END_LOCAL; pd_set := Bag_To_Set(QUERY(pd <* USEDIN(c_def_instance, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd))); IF SIZEOF(pd_set) < 1 THEN RETURN (pdr_set); END_IF; REPEAT i := 1 TO HIINDEX(pd_set); pdr_set := pdr_set + Bag_To_Set(USEDIN(pd_set[i], 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT.OF_SHAPE')); END_REPEAT; RETURN (pdr_set); END_FUNCTION; -- 10303-41: product_property_definition_schema
FUNCTION Is_Acyclic(arg : Generic_Expression) : BOOLEAN; RETURN (Acyclic(arg, [])); END_FUNCTION; (* declared in: iso13584_generic_expressions_schema *)
FUNCTION Is_Int_Expr(arg : Numeric_Expression) : BOOLEAN; LOCAL i : INTEGER; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.INT_LITERAL' IN TYPEOF(arg) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.REAL_LITERAL' IN TYPEOF(arg) THEN RETURN (FALSE); END_IF; IF 'AUTOMOTIVE_DESIGN.INT_NUMERIC_VARIABLE' IN TYPEOF(arg) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg) THEN RETURN (FALSE); END_IF; IF 'AUTOMOTIVE_DESIGN.ABS_FUNCTION' IN TYPEOF(arg) THEN RETURN (Is_Int_Expr(arg\Unary_Numeric_Expression.operand)); END_IF; IF 'AUTOMOTIVE_DESIGN.MINUS_FUNCTION' IN TYPEOF(arg) THEN RETURN (Is_Int_Expr(arg\Unary_Numeric_Expression.operand)); END_IF; IF ('AUTOMOTIVE_DESIGN.SIN_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.COS_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.TAN_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.ASIN_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.ACOS_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.ATAN_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.EXP_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.LOG_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.LOG2_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.LOG10_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.SQUARE_ROOT_FUNCTION' IN TYPEOF(arg)) THEN RETURN (FALSE); END_IF; IF ('AUTOMOTIVE_DESIGN.PLUS_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.MULT_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.MAXIMUM_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.MINIMUM_FUNCTION' IN TYPEOF(arg)) THEN REPEAT i := 1 TO SIZEOF(arg\Multiple_Arity_Numeric_Expression.operands); IF NOT Is_Int_Expr(arg\Multiple_Arity_Numeric_Expression.operands[i]) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE); END_IF; IF ('AUTOMOTIVE_DESIGN.MINUS_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.POWER_EXPRESSION' IN TYPEOF(arg)) THEN RETURN (Is_Int_Expr(arg\Binary_Numeric_Expression.operands[1]) AND Is_Int_Expr(arg\Binary_Numeric_Expression.operands[2])); END_IF; IF ('AUTOMOTIVE_DESIGN.DIV_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.MOD_EXPRESSION' IN TYPEOF(arg)) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.SLASH_EXPRESSION' IN TYPEOF(arg) THEN RETURN (FALSE); END_IF; IF 'AUTOMOTIVE_DESIGN.LENGTH_FUNCTION' IN TYPEOF(arg) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.VALUE_FUNCTION' IN TYPEOF(arg) THEN IF 'AUTOMOTIVE_DESIGN.INT_VALUE_FUNCTION' IN TYPEOF(arg) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.INTEGER_DEFINED_FUNCTION' IN TYPEOF(arg) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.REAL_DEFINED_FUNCTION' IN TYPEOF(arg) THEN RETURN (FALSE); END_IF; IF 'AUTOMOTIVE_DESIGN.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF(arg) THEN RETURN (FALSE); END_IF; IF 'AUTOMOTIVE_DESIGN.STRING_DEFINED_FUNCTION' IN TYPEOF(arg) THEN RETURN (FALSE); END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: iso13584_expressions_schema *)
FUNCTION Is_Sql_Mappable(arg : Expression) : BOOLEAN; LOCAL i : INTEGER; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.SIMPLE_NUMERIC_EXPRESSION' IN TYPEOF(arg) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.SQL_MAPPABLE_DEFINED_FUNCTION' IN TYPEOF(arg) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.MINUS_FUNCTION' IN TYPEOF(arg) THEN RETURN (Is_Sql_Mappable(arg\Unary_Numeric_Expression.operand)); END_IF; IF ('AUTOMOTIVE_DESIGN.ABS_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.SIN_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.COS_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.TAN_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.ASIN_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.ACOS_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.ATAN_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.EXP_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.LOG_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.LOG2_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.LOG10_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.SQUARE_ROOT_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.VALUE_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.LENGTH_FUNCTION' IN TYPEOF(arg)) THEN RETURN (FALSE); END_IF; IF ('AUTOMOTIVE_DESIGN.PLUS_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.MULT_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.MAXIMUM_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.MINIMUM_FUNCTION' IN TYPEOF(arg)) THEN REPEAT i := 1 TO SIZEOF(arg\Multiple_Arity_Numeric_Expression.operands); IF NOT Is_Sql_Mappable(arg\Multiple_Arity_Numeric_Expression.operands[i]) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE); END_IF; IF ('AUTOMOTIVE_DESIGN.MINUS_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.SLASH_EXPRESSION' IN TYPEOF(arg)) THEN RETURN (Is_Sql_Mappable(arg\Binary_Numeric_Expression.operands[1]) AND Is_Sql_Mappable(arg\Binary_Numeric_Expression.operands[2])); END_IF; IF ('AUTOMOTIVE_DESIGN.DIV_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.MOD_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.POWER_EXPRESSION' IN TYPEOF(arg)) THEN RETURN (FALSE); END_IF; IF 'AUTOMOTIVE_DESIGN.SIMPLE_BOOLEAN_EXPRESSION' IN TYPEOF(arg) THEN RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.NOT_EXPRESSION' IN TYPEOF(arg) THEN RETURN (Is_Sql_Mappable(arg\Unary_Generic_Expression.operand)); END_IF; IF ('AUTOMOTIVE_DESIGN.ODD_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.XOR_EXPRESSION' IN TYPEOF(arg)) THEN RETURN (FALSE); END_IF; IF ('AUTOMOTIVE_DESIGN.AND_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.OR_EXPRESSION' IN TYPEOF(arg)) THEN REPEAT i := 1 TO SIZEOF(arg\Multiple_Arity_Boolean_Expression.operands); IF NOT Is_Sql_Mappable(arg\Multiple_Arity_Boolean_Expression.operands[i]) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE); END_IF; IF 'AUTOMOTIVE_DESIGN.EQUALS_EXPRESSION' IN TYPEOF(arg) THEN RETURN (Is_Sql_Mappable(arg\Binary_Generic_Expression.operands[1]) AND Is_Sql_Mappable(arg\Binary_Generic_Expression.operands[2])); END_IF; IF ('AUTOMOTIVE_DESIGN.COMPARISON_EQUAL' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.COMPARISON_GREATER' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.COMPARISON_GREATER_EQUAL' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.COMPARISON_LESS' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.COMPARISON_LESS_EQUAL' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.COMPARISON_NOT_EQUAL' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.LIKE_EXPRESSION' IN TYPEOF(arg)) THEN RETURN (Is_Sql_Mappable(arg\Comparison_Expression.operands[1]) AND Is_Sql_Mappable(arg\Comparison_Expression.operands[2])); END_IF; IF 'AUTOMOTIVE_DESIGN.INTERVAL_EXPRESSION' IN TYPEOF(arg) THEN RETURN (Is_Sql_Mappable(arg\Interval_Expression.interval_low) AND Is_Sql_Mappable(arg\Interval_Expression.interval_high) AND Is_Sql_Mappable( arg\Interval_Expression.interval_item)); END_IF; IF ('AUTOMOTIVE_DESIGN.NUMERIC_DEFINED_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.STRING_DEFINED_FUNCTION' IN TYPEOF(arg)) THEN RETURN (FALSE); END_IF; IF 'AUTOMOTIVE_DESIGN.SIMPLE_STRING_EXPRESSION' IN TYPEOF(arg) THEN RETURN (TRUE); END_IF; IF ('AUTOMOTIVE_DESIGN.INDEX_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.SUBSTRING_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.CONCAT_EXPRESSION' IN TYPEOF(arg)) OR ( 'AUTOMOTIVE_DESIGN.FORMAT_FUNCTION' IN TYPEOF(arg)) THEN RETURN (FALSE); END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: iso13584_expressions_schema *)
FUNCTION Item_Correlation(items : SET OF GENERIC; c_items : SET OF STRING) : LOGICAL; LOCAL c_types : SET OF STRING := []; c_hit : INTEGER := 0; END_LOCAL; REPEAT i := 1 TO HIINDEX(c_items); c_types := c_types + ['AUTOMOTIVE_DESIGN.' + c_items[i]]; END_REPEAT; REPEAT i := 1 TO HIINDEX(items); IF SIZEOF(c_types * TYPEOF(items[i])) = 1 THEN c_hit := c_hit + 1; END_IF; END_REPEAT; IF SIZEOF(items) = c_hit THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Item_In_Context(item : Representation_Item; cntxt : Representation_Context) : BOOLEAN; LOCAL y : BAG OF Representation_Item; END_LOCAL; IF SIZEOF(USEDIN(item, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') * cntxt. representations_in_context) > 0 THEN RETURN (TRUE); ELSE y := QUERY(z <* USEDIN(item, '') | 'AUTOMOTIVE_DESIGN.REPRESENTATION_ITEM' IN TYPEOF(z)); IF SIZEOF(y) > 0 THEN REPEAT i := 1 TO HIINDEX(y); IF Item_In_Context(y[i], cntxt) THEN RETURN (TRUE); END_IF; END_REPEAT; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; -- 10303-43: representation_schema
FUNCTION Leap_Year(year : Year_Number) : BOOLEAN; IF (year MOD 4 = 0) AND (year MOD 100 <> 0) OR (year MOD 400 = 0) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-41: date_time_schema
FUNCTION List_Face_Loops(f : Face) : LIST OF Loop; LOCAL loops : LIST OF Loop := []; END_LOCAL; REPEAT i := 1 TO SIZEOF(f.bounds); loops := loops + f.bounds[i].bound; END_REPEAT; RETURN (loops); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION List_Of_Topology_Reversed(a_list : List_Of_Reversible_Topology_Item) : List_Of_Reversible_Topology_Item; LOCAL the_reverse : List_Of_Reversible_Topology_Item; END_LOCAL; the_reverse := []; REPEAT i := 1 TO SIZEOF(a_list); the_reverse := Topology_Reversed(a_list[i]) + the_reverse; END_REPEAT; RETURN (the_reverse); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION List_To_Array(lis : LIST OF GENERIC : t; low : INTEGER; u : INTEGER) : ARRAY [low:u] OF GENERIC : t; LOCAL n : INTEGER; res : ARRAY [low:u] OF GENERIC : t; END_LOCAL; n := SIZEOF(lis); IF n <> u - low + 1 THEN RETURN (?); ELSE res := [lis[1] : n]; REPEAT i := 2 TO n; res[low + i - 1] := lis[i]; END_REPEAT; RETURN (res); END_IF; END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION List_To_Set(l : LIST OF GENERIC : t) : SET OF GENERIC : t; LOCAL s : SET OF GENERIC : t := []; END_LOCAL; REPEAT i := 1 TO SIZEOF(l); s := s + l[i]; END_REPEAT; RETURN (s); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Make_Array_Of_Array(lis : LIST [1:?] OF LIST [1:?] OF GENERIC : t; low1 : INTEGER; u1 : INTEGER; low2 : INTEGER; u2 : INTEGER) : ARRAY [low1:u1 ] OF ARRAY [low2:u2] OF GENERIC : t; LOCAL res : ARRAY [low1:u1] OF ARRAY [low2:u2] OF GENERIC : t; END_LOCAL; IF u1 - low1 + 1 <> SIZEOF(lis) THEN RETURN (?); END_IF; IF u2 - low2 + 1 <> SIZEOF(lis[1]) THEN RETURN (?); END_IF; res := [List_To_Array(lis[1], low2, u2) : u1 - low1 + 1]; REPEAT i := 2 TO HIINDEX(lis); IF u2 - low2 + 1 <> SIZEOF(lis[i]) THEN RETURN (?); END_IF; res[low1 + i - 1] := List_To_Array(lis[i], low2, u2); END_REPEAT; RETURN (res); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Mixed_Loop_Type_Set(l : SET OF Loop) : LOGICAL; LOCAL poly_loop_type : LOGICAL; END_LOCAL; IF SIZEOF(l) <= 1 THEN RETURN (FALSE); END_IF; poly_loop_type := 'AUTOMOTIVE_DESIGN.POLY_LOOP' IN TYPEOF(l[1]); REPEAT i := 2 TO SIZEOF(l); IF ('AUTOMOTIVE_DESIGN.POLY_LOOP' IN TYPEOF(l[i])) <> poly_loop_type THEN RETURN (TRUE); END_IF; END_REPEAT; RETURN (FALSE); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Msb_Shells(brep : Manifold_Solid_Brep) : SET [1:?] OF Closed_Shell; LOCAL return_set : SET [1:?] OF Closed_Shell := [brep.outer]; END_LOCAL; IF SIZEOF(QUERY(msbtype <* TYPEOF(brep) | msbtype LIKE '*BREP_WITH_VOIDS')) >= 1 THEN return_set := return_set + brep\Brep_With_Voids.voids; END_IF; RETURN (return_set); END_FUNCTION; -- 10303-42: geometric_model_schema
FUNCTION Msf_Curve_Check(cv : Representation_Item) : BOOLEAN; IF SIZEOF(['AUTOMOTIVE_DESIGN.BOUNDED_CURVE', 'AUTOMOTIVE_DESIGN.CONIC' , 'AUTOMOTIVE_DESIGN.CURVE_REPLICA', 'AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN RETURN (FALSE); END_IF; IF ('AUTOMOTIVE_DESIGN.B_SPLINE_CURVE' IN TYPEOF(cv)) AND (cv\ B_Spline_Curve.self_intersect = FALSE) OR (cv\B_Spline_Curve.self_intersect = UNKNOWN) THEN RETURN (TRUE); ELSE IF SIZEOF(['AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.LINE'] * TYPEOF(cv)) = 1 THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.CURVE_REPLICA' IN TYPEOF(cv) THEN RETURN (Msf_Curve_Check(cv\Curve_Replica.parent_curve)); ELSE IF ('AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\ Offset_Curve_3d.self_intersect = FALSE) OR (cv\Offset_Curve_3d. self_intersect = UNKNOWN)) AND NOT ('AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(cv\Offset_Curve_3d.basis_curve)) THEN RETURN (Msf_Curve_Check(cv\Offset_Curve_3d.basis_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(cv) THEN RETURN (Msf_Curve_Check(cv\Pcurve.reference_to_curve\Representation .items[1]) AND Msf_Surface_Check(cv\Pcurve.basis_surface)); ELSE IF 'AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(cv) THEN IF Msf_Curve_Check(cv\Surface_Curve.Curve_3d) THEN REPEAT i := 1 TO SIZEOF(cv\Surface_Curve.associated_geometry); IF 'AUTOMOTIVE_DESIGN.SURFACE' IN TYPEOF(cv\Surface_Curve. associated_geometry[i]) THEN IF NOT Msf_Surface_Check(cv\Surface_Curve. associated_geometry[i]) THEN RETURN (FALSE); END_IF; ELSE IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(cv\Surface_Curve .associated_geometry[i]) THEN IF NOT Msf_Curve_Check(cv\Surface_Curve. associated_geometry[i]) THEN RETURN (FALSE); END_IF; END_IF; END_IF; END_REPEAT; RETURN (TRUE); END_IF; ELSE IF 'AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(cv) THEN IF SIZEOF(cv\Polyline.points) >= 3 THEN RETURN (TRUE); END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_manifold_surface *)
FUNCTION Msf_Surface_Check(surf : Surface) : BOOLEAN; IF 'AUTOMOTIVE_DESIGN.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.SWEPT_SURFACE' IN TYPEOF(surf) THEN RETURN (Msf_Curve_Check(surf\Swept_Surface.swept_curve)); ELSE IF ('AUTOMOTIVE_DESIGN.OFFSET_SURFACE' IN TYPEOF(surf)) AND (surf\ Offset_Surface.self_intersect = FALSE) OR (surf\Offset_Surface. self_intersect = UNKNOWN) THEN RETURN (Msf_Surface_Check(surf\Offset_Surface.basis_surface)); ELSE IF 'AUTOMOTIVE_DESIGN.SURFACE_REPLICA' IN TYPEOF(surf) THEN RETURN (Msf_Surface_Check(surf\Surface_Replica.parent_surface)); ELSE IF ('AUTOMOTIVE_DESIGN.B_SPLINE_SURFACE' IN TYPEOF(surf)) AND ( surf\B_Spline_Surface.self_intersect = FALSE) OR (surf\ B_Spline_Surface.self_intersect = UNKNOWN) THEN RETURN (TRUE); END_IF; END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_manifold_surface *)
FUNCTION Nmsf_Curve_Check(cv : Representation_Item) : BOOLEAN; IF SIZEOF(['AUTOMOTIVE_DESIGN.BOUNDED_CURVE', 'AUTOMOTIVE_DESIGN.CONIC' , 'AUTOMOTIVE_DESIGN.CURVE_REPLICA', 'AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN RETURN (FALSE); ELSE IF ('AUTOMOTIVE_DESIGN.B_SPLINE_CURVE' IN TYPEOF(cv)) AND (cv\ B_Spline_Curve.self_intersect = FALSE) OR (cv\B_Spline_Curve.self_intersect = UNKNOWN) THEN RETURN (TRUE); ELSE IF SIZEOF(['AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.LINE'] * TYPEOF(cv)) = 1 THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.CURVE_REPLICA' IN TYPEOF(cv) THEN RETURN (Nmsf_Curve_Check(cv\Curve_Replica.parent_curve)); ELSE IF ('AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\ Offset_Curve_3d.self_intersect = FALSE) OR (cv\Offset_Curve_3d. self_intersect = UNKNOWN)) AND NOT ('AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(cv\Offset_Curve_3d.basis_curve)) THEN RETURN (Nmsf_Curve_Check(cv\Offset_Curve_3d.basis_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(cv) THEN RETURN (Nmsf_Curve_Check(cv\Pcurve.reference_to_curve\ Representation.items[1]) AND Nmsf_Surface_Check(cv\Pcurve. basis_surface)); ELSE IF 'AUTOMOTIVE_DESIGN.SURFACE_CURVE' IN TYPEOF(cv) THEN IF Nmsf_Curve_Check(cv\Surface_Curve.Curve_3d) THEN REPEAT i := 1 TO SIZEOF(cv\Surface_Curve.associated_geometry) ; IF 'AUTOMOTIVE_DESIGN.SURFACE' IN TYPEOF(cv\ Surface_Curve.associated_geometry[i]) THEN IF NOT Nmsf_Surface_Check(cv\Surface_Curve. associated_geometry[i]) THEN RETURN (FALSE); END_IF; ELSE IF 'AUTOMOTIVE_DESIGN.PCURVE' IN TYPEOF(cv\ Surface_Curve.associated_geometry[i]) THEN IF NOT Nmsf_Curve_Check(cv\Surface_Curve. associated_geometry[i]) THEN RETURN (FALSE); END_IF; END_IF; END_IF; END_REPEAT; RETURN (TRUE); END_IF; ELSE IF 'AUTOMOTIVE_DESIGN.POLYLINE' IN TYPEOF(cv) THEN IF SIZEOF(cv\Polyline.points) >= 3 THEN RETURN (TRUE); END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_non_manifold_surface *)
FUNCTION Nmsf_Surface_Check(surf : Surface) : BOOLEAN; IF 'AUTOMOTIVE_DESIGN.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.SWEPT_SURFACE' IN TYPEOF(surf) THEN RETURN (Nmsf_Curve_Check(surf\Swept_Surface.swept_curve)); ELSE IF ('AUTOMOTIVE_DESIGN.OFFSET_SURFACE' IN TYPEOF(surf)) AND (surf\ Offset_Surface.self_intersect = FALSE) OR (surf\Offset_Surface. self_intersect = UNKNOWN) THEN RETURN (Nmsf_Surface_Check(surf\Offset_Surface.basis_surface)); ELSE IF 'AUTOMOTIVE_DESIGN.SURFACE_REPLICA' IN TYPEOF(surf) THEN RETURN (Nmsf_Surface_Check(surf\Surface_Replica.parent_surface)); ELSE IF ('AUTOMOTIVE_DESIGN.B_SPLINE_SURFACE' IN TYPEOF(surf)) AND ( surf\B_Spline_Surface.self_intersect = FALSE) OR (surf\ B_Spline_Surface.self_intersect = UNKNOWN) THEN RETURN (TRUE); END_IF; END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_non_manifold_surface *)
FUNCTION Normalise(arg : Vector_Or_Direction) : Vector_Or_Direction; LOCAL ndim : INTEGER; v : Direction; result : Vector_Or_Direction; vec : Vector; mag : REAL; END_LOCAL; IF NOT EXISTS(arg) THEN result := ?; ELSE ndim := arg.dim; IF 'AUTOMOTIVE_DESIGN.VECTOR' IN TYPEOF(arg) THEN v := Dummy_Gri||Direction(arg\Vector.orientation.direction_ratios); IF arg.magnitude = 0.0 THEN RETURN (?); ELSE vec := Dummy_Gri||Vector(v, 1.0); END_IF; ELSE v := Dummy_Gri||Direction(arg.direction_ratios); END_IF; mag := 0.0; REPEAT i := 1 TO ndim; mag := mag + v.direction_ratios[i] * v.direction_ratios[i]; END_REPEAT; IF mag > 0.0 THEN mag := SQRT(mag); REPEAT i := 1 TO ndim; v.direction_ratios[i] := v.direction_ratios[i]/mag; END_REPEAT; IF 'AUTOMOTIVE_DESIGN.VECTOR' IN TYPEOF(arg) THEN vec.orientation := v; result := vec; ELSE result := v; END_IF; ELSE RETURN (?); END_IF; END_IF; RETURN (result); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Open_Shell_Reversed(a_shell : Open_Shell) : Oriented_Open_Shell; LOCAL the_reverse : Oriented_Open_Shell; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.ORIENTED_OPEN_SHELL' IN TYPEOF(a_shell) THEN the_reverse := Dummy_Tri||Connected_Face_Set(a_shell\Connected_Face_Set. cfs_faces)||Open_Shell()||Oriented_Open_Shell(a_shell\Oriented_Open_Shell. open_shell_element, NOT a_shell\Oriented_Open_Shell.orientation); ELSE the_reverse := Dummy_Tri||Connected_Face_Set(a_shell\Connected_Face_Set. cfs_faces)||Open_Shell()||Oriented_Open_Shell(a_shell, FALSE); END_IF; RETURN (the_reverse); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Orthogonal_Complement(vec : Direction) : Direction; LOCAL result : Direction; END_LOCAL; IF (vec.dim <> 2) OR NOT EXISTS(vec) THEN RETURN (?); ELSE result := Dummy_Gri||Direction([-vec.direction_ratios[2], vec. direction_ratios[1]]); RETURN (result); END_IF; END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Path_Head_To_Tail(a_path : Path) : LOGICAL; LOCAL n : INTEGER; p : LOGICAL := TRUE; END_LOCAL; n := SIZEOF(a_path.edge_list); REPEAT i := 2 TO n; p := p AND (a_path.edge_list[i - 1].edge_end :=: a_path.edge_list[i]. edge_start); END_REPEAT; RETURN (p); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Path_Reversed(a_path : Path) : Oriented_Path; LOCAL the_reverse : Oriented_Path; END_LOCAL; IF 'AUTOMOTIVE_DESIGN.ORIENTED_PATH' IN TYPEOF(a_path) THEN the_reverse := Dummy_Tri||Path(List_Of_Topology_Reversed(a_path.edge_list)) ||Oriented_Path(a_path\Oriented_Path.path_element, NOT a_path\Oriented_Path .orientation); ELSE the_reverse := Dummy_Tri||Path(List_Of_Topology_Reversed(a_path.edge_list)) ||Oriented_Path(a_path, FALSE); END_IF; RETURN (the_reverse); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Plane_Angle_For_Pair_In_Radian(pair : Kinematic_Pair; angle : Plane_Angle_Measure) : Plane_Angle_Measure; LOCAL converted_angle : Plane_Angle_Measure := angle; link_rep : Kinematic_Link_Representation := Representation_Of_Link(pair.joint .first_link); link_cntxt : Representation_Context; pa_units : SET OF Unit := []; pau : Unit; END_LOCAL; link_cntxt := link_rep\Representation.context_of_items; IF NOT ('AUTOMOTIVE_DESIGN.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( link_cntxt)) THEN RETURN (?); END_IF; pa_units := QUERY(Unit <* link_cntxt\Global_Unit_Assigned_Context.units | 'AUTOMOTIVE_DESIGN.PLANE_ANGLE_UNIT' IN TYPEOF(Unit)); IF SIZEOF(pa_units) <> 1 THEN RETURN (?); END_IF; pau := pa_units[1]; IF NOT ('AUTOMOTIVE_DESIGN.SI_UNIT' IN TYPEOF(pau)) AND NOT ( 'AUTOMOTIVE_DESIGN.CONVERSION_BASED_UNIT' IN TYPEOF(pau)) THEN RETURN (?); END_IF; REPEAT WHILE 'AUTOMOTIVE_DESIGN.CONVERSION_BASED_UNIT' IN TYPEOF(pau); converted_angle := converted_angle * pau\Conversion_Based_Unit. conversion_factor.value_component; pau := pau\Conversion_Based_Unit.conversion_factor.unit_component; IF NOT ('AUTOMOTIVE_DESIGN.SI_UNIT' IN TYPEOF(pau)) AND NOT ( 'AUTOMOTIVE_DESIGN.CONVERSION_BASED_UNIT' IN TYPEOF(pau)) OR NOT ( 'AUTOMOTIVE_DESIGN.PLANE_ANGLE_UNIT' IN TYPEOF(pau)) THEN RETURN (?); END_IF; END_REPEAT; IF pau\Si_Unit.name <> Si_Unit_Name.Radian THEN RETURN (?); END_IF; CASE pau\Si_Unit.prefix OF Si_Prefix.Exa : RETURN (1.E18 * converted_angle); Si_Prefix.Peta : RETURN (1.E15 * converted_angle); Si_Prefix.Tera : RETURN (1.E12 * converted_angle); Si_Prefix.Giga : RETURN (1.E9 * converted_angle); Si_Prefix.Mega : RETURN (1.E6 * converted_angle); Si_Prefix.Kilo : RETURN (1.E3 * converted_angle); Si_Prefix.Hecto : RETURN (1.E2 * converted_angle); Si_Prefix.Deca : RETURN (1.E1 * converted_angle); Si_Prefix.Deci : RETURN (1.E-1 * converted_angle); Si_Prefix.Centi : RETURN (1.E-2 * converted_angle); Si_Prefix.Milli : RETURN (1.E-3 * converted_angle); Si_Prefix.Micro : RETURN (1.E-6 * converted_angle); Si_Prefix.Nano : RETURN (1.E-9 * converted_angle); Si_Prefix.Pico : RETURN (1.E-12 * converted_angle); Si_Prefix.Femto : RETURN (1.E-15 * converted_angle); Si_Prefix.Atto : RETURN (1.E-18 * converted_angle); OTHERWISE : RETURN (converted_angle); END_CASE; END_FUNCTION; -- 10303-105: kinematic_structure_schema
FUNCTION Representation_Of_Link(link : Kinematic_Link) : Kinematic_Link_Representation; LOCAL link_rep_rel : BAG OF Kinematic_Link_Representation_Relation; END_LOCAL; link_rep_rel := USEDIN(link, 'AUTOMOTIVE_DESIGN.KINEMATIC_LINK_REPRESENTATION_RELATION.TOPOLOGICAL_ASPECTS' ); IF SIZEOF(link_rep_rel) = 0 THEN RETURN (?); ELSE RETURN (link_rep_rel[1].geometric_aspects); END_IF; END_FUNCTION; -- 10303-105: kinematic_structure_schema
FUNCTION Representations_Mapped_Into(rep : Representation) : SET OF Representation; LOCAL results : SET OF Representation := []; rm : SET OF Representation_Map; mi : SET OF Mapped_Item := []; END_LOCAL; rm := Bag_To_Set(USEDIN(rep, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); REPEAT i := 1 TO HIINDEX(rm); mi := mi + rm[i].map_usage; END_REPEAT; REPEAT j := 1 TO HIINDEX(mi); results := results + USEDIN(mi[j], 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS'); END_REPEAT; RETURN (results); END_FUNCTION; (* declared in: aic_associative_draughting_elements *)
FUNCTION Scalar_Times_Vector(scalar : REAL; vec : Vector_Or_Direction) : Vector ; LOCAL v : Direction; mag : REAL; result : Vector; END_LOCAL; IF NOT EXISTS(scalar) OR NOT EXISTS(vec) THEN RETURN (?); ELSE IF 'AUTOMOTIVE_DESIGN.VECTOR' IN TYPEOF(vec) THEN v := Dummy_Gri||Direction(vec\Vector.orientation.direction_ratios); mag := scalar * vec.magnitude; ELSE v := Dummy_Gri||Direction(vec.direction_ratios); mag := scalar; END_IF; IF mag < 0.0 THEN REPEAT i := 1 TO SIZEOF(v.direction_ratios); v.direction_ratios[i] := -v.direction_ratios[i]; END_REPEAT; mag := -mag; END_IF; result := Dummy_Gri||Vector(Normalise(v), mag); END_IF; RETURN (result); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Second_Proj_Axis(z_axis : Direction; x_axis : Direction; arg : Direction) : Direction; LOCAL y_axis : Vector; v : Direction; temp : Vector; END_LOCAL; IF NOT EXISTS(arg) THEN v := Dummy_Gri||Direction([0.0, 1.0, 0.0]); ELSE v := arg; END_IF; temp := Scalar_Times_Vector(Dot_Product(v, z_axis), z_axis); y_axis := Vector_Difference(v, temp); temp := Scalar_Times_Vector(Dot_Product(v, x_axis), x_axis); y_axis := Vector_Difference(y_axis, temp); y_axis := Normalise(y_axis); RETURN (y_axis.orientation); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Set_Of_Topology_Reversed(a_set : Set_Of_Reversible_Topology_Item) : Set_Of_Reversible_Topology_Item; LOCAL the_reverse : Set_Of_Reversible_Topology_Item; END_LOCAL; the_reverse := []; REPEAT i := 1 TO SIZEOF(a_set); the_reverse := the_reverse + Topology_Reversed(a_set[i]); END_REPEAT; RETURN (the_reverse); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Shell_Reversed(a_shell : Shell) : Shell; IF 'AUTOMOTIVE_DESIGN.OPEN_SHELL' IN TYPEOF(a_shell) THEN RETURN (Open_Shell_Reversed(a_shell)); ELSE IF 'AUTOMOTIVE_DESIGN.CLOSED_SHELL' IN TYPEOF(a_shell) THEN RETURN (Closed_Shell_Reversed(a_shell)); ELSE RETURN (?); END_IF; END_IF; END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Suitably_Based_Mechanism(mbp : Mechanism_Base_Placement; mech : Mechanism) : BOOLEAN; LOCAL kprop : Kinematic_Property_Definition; kgrep : Kinematic_Ground_Representation; klrep : Kinematic_Link_Representation; klnk : Kinematic_Link; kjnts : BAG OF Kinematic_Joint; nmechs : BAG OF Mechanism; nmbps : BAG OF Mechanism_Base_Placement; END_LOCAL; kprop := mech.containing_property; IF 'AUTOMOTIVE_DESIGN.KINEMATIC_GROUND_REPRESENTATION' IN TYPEOF(mbp\ Representation_Relationship.rep_1) THEN kgrep := mbp\Representation_Relationship.rep_1; IF kgrep.property\Property_Definition_Representation.definition :=: kprop THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; ELSE klrep := mbp\Representation_Relationship.rep_1; klnk := klrep.link_representation_relation.topological_aspects; kjnts := USEDIN(klnk, 'AUTOMOTIVE_DESIGN.KINEMATIC_JOINT.FIRST_LINK') + USEDIN(klnk, 'AUTOMOTIVE_DESIGN.KINEMATIC_JOINT.SECOND_LINK'); nmechs := USEDIN(kjnts[1].structure, 'AUTOMOTIVE_DESIGN.MECHANISM.STRUCTURE_DEFINITION'); IF nmechs[1] :=: mech THEN RETURN (FALSE); ELSE IF nmechs[1].containing_property :<>: kprop THEN RETURN (FALSE); ELSE nmbps := USEDIN(nmechs[1], 'AUTOMOTIVE_DESIGN.MECHANISM_BASE_PLACEMENT.BASE_OF_MECHANISM'); IF SIZEOF(nmbps) = 0 THEN RETURN (FALSE); ELSE RETURN (Suitably_Based_Mechanism(nmbps[1], mech)); END_IF; END_IF; END_IF; END_IF; END_FUNCTION; -- 10303-105: kinematic_structure_schema
FUNCTION Surface_Condition_Correlation(pd : Property_Definition; rep : Representation) : LOGICAL; CASE pd.name OF 'visual appearance', 'tactile appearance', 'contact ratio', 'hardness', 'treatment result', 'surface texture' : RETURN (pd.name = rep.name); OTHERWISE : RETURN (UNKNOWN); END_CASE; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Surface_Weights_Positive(b : Rational_B_Spline_Surface) : BOOLEAN; LOCAL result : BOOLEAN := TRUE; END_LOCAL; REPEAT i := 0 TO b.u_upper; REPEAT j := 0 TO b.v_upper; IF b.weights[i][j] <= 0.0 THEN result := FALSE; RETURN (result); END_IF; END_REPEAT; END_REPEAT; RETURN (result); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Topology_Reversed(an_item : Reversible_Topology) : Reversible_Topology ; IF 'AUTOMOTIVE_DESIGN.EDGE' IN TYPEOF(an_item) THEN RETURN (Edge_Reversed(an_item)); END_IF; IF 'AUTOMOTIVE_DESIGN.PATH' IN TYPEOF(an_item) THEN RETURN (Path_Reversed(an_item)); END_IF; IF 'AUTOMOTIVE_DESIGN.FACE_BOUND' IN TYPEOF(an_item) THEN RETURN (Face_Bound_Reversed(an_item)); END_IF; IF 'AUTOMOTIVE_DESIGN.FACE' IN TYPEOF(an_item) THEN RETURN (Face_Reversed(an_item)); END_IF; IF 'AUTOMOTIVE_DESIGN.SHELL' IN TYPEOF(an_item) THEN RETURN (Shell_Reversed(an_item)); END_IF; IF 'SET' IN TYPEOF(an_item) THEN RETURN (Set_Of_Topology_Reversed(an_item)); END_IF; IF 'LIST' IN TYPEOF(an_item) THEN RETURN (List_Of_Topology_Reversed(an_item)); END_IF; RETURN (?); END_FUNCTION; -- 10303-42: topology_schema
FUNCTION Type_Check_Function(the_type : GENERIC; sub_names : SET OF STRING; criterion : INTEGER) : LOGICAL; IF NOT EXISTS(the_type) OR NOT ({0 <= criterion <= 3}) OR (SIZEOF(sub_names) = 0) THEN RETURN (UNKNOWN); ELSE CASE criterion OF 0 : RETURN (SIZEOF(sub_names * TYPEOF(the_type)) > 0); 1 : RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 0); 2 : RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 1); 3 : RETURN (SIZEOF(sub_names * TYPEOF(the_type)) <= 1); END_CASE; END_IF; END_FUNCTION; -- 10303-41: support_resource_schema
FUNCTION Unique_Link_Usage(link : Kinematic_Link) : BOOLEAN; LOCAL mechs : SET OF Mechanism; joints : SET OF Kinematic_Joint; struct : Kinematic_Structure; END_LOCAL; joints := Bag_To_Set(USEDIN(link, 'AUTOMOTIVE_DESIGN.KINEMATIC_JOINT.FIRST_LINK') + USEDIN(link, 'AUTOMOTIVE_DESIGN.KINEMATIC_JOINT.SECOND_LINK')); struct := joints[1].structure; REPEAT i := 2 TO SIZEOF(joints); IF joints[i].structure :<>: struct THEN RETURN (FALSE); END_IF; END_REPEAT; mechs := Bag_To_Set(USEDIN(struct, 'AUTOMOTIVE_DESIGN.MECHANISM.STRUCTURE_DEFINITION')); IF SIZEOF(mechs) <> 1 THEN RETURN (FALSE); END_IF; RETURN (TRUE); END_FUNCTION; -- 10303-105: kinematic_structure_schema
FUNCTION Using_Items(item : Founded_Item_Select; checked_items : SET OF Founded_Item_Select) : SET OF Founded_Item_Select; LOCAL new_check_items : SET OF Founded_Item_Select; result_items : SET OF Founded_Item_Select; next_items : SET OF Founded_Item_Select; END_LOCAL; result_items := []; new_check_items := checked_items + item; next_items := QUERY(z <* Bag_To_Set(USEDIN(item, '')) | ( 'AUTOMOTIVE_DESIGN.REPRESENTATION_ITEM' IN TYPEOF(z)) OR ( 'AUTOMOTIVE_DESIGN.FOUNDED_ITEM' IN TYPEOF(z))); IF SIZEOF(next_items) > 0 THEN REPEAT i := 1 TO HIINDEX(next_items); IF NOT (next_items[i] IN new_check_items) THEN result_items := result_items + next_items[i] + Using_Items(next_items[i ], new_check_items); END_IF; END_REPEAT; END_IF; RETURN (result_items); END_FUNCTION; -- 10303-43: representation_schema
FUNCTION Using_Representations(item : Founded_Item_Select) : SET OF Representation; LOCAL results : SET OF Representation; result_bag : BAG OF Representation; intermediate_items : SET OF Founded_Item_Select; END_LOCAL; results := []; result_bag := USEDIN(item, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS'); IF SIZEOF(result_bag) > 0 THEN REPEAT i := 1 TO HIINDEX(result_bag); results := results + result_bag[i]; END_REPEAT; END_IF; intermediate_items := Using_Items(item, []); IF SIZEOF(intermediate_items) > 0 THEN REPEAT i := 1 TO HIINDEX(intermediate_items); result_bag := USEDIN(intermediate_items[i], 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS'); IF SIZEOF(result_bag) > 0 THEN REPEAT j := 1 TO HIINDEX(result_bag); results := results + result_bag[j]; END_REPEAT; END_IF; END_REPEAT; END_IF; RETURN (results); END_FUNCTION; -- 10303-43: representation_schema
FUNCTION Valid_Basis_Curve_In_2d_Wireframe(crv : Curve) : BOOLEAN; IF SIZEOF(['AUTOMOTIVE_DESIGN.POLYLINE', 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE', 'AUTOMOTIVE_DESIGN.ELLIPSE', 'AUTOMOTIVE_DESIGN.CIRCLE'] * TYPEOF(crv)) = 1 THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.TRIMMED_CURVE' IN TYPEOF(crv) THEN IF SIZEOF(['AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.PARABOLA', 'AUTOMOTIVE_DESIGN.HYPERBOLA'] * TYPEOF(crv\Trimmed_Curve.basis_curve) ) = 1 THEN RETURN (TRUE); ELSE RETURN (Valid_Basis_Curve_In_2d_Wireframe(crv\Trimmed_Curve.basis_curve )); END_IF; ELSE IF 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_2D' IN TYPEOF(crv) THEN RETURN (Valid_Basis_Curve_In_2d_Wireframe(crv\Offset_Curve_2d. basis_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.CURVE_REPLICA' IN TYPEOF(crv) THEN RETURN (Valid_Basis_Curve_In_2d_Wireframe(crv\Curve_Replica. parent_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.COMPOSITE_CURVE' IN TYPEOF(crv) THEN RETURN (SIZEOF(QUERY(ccs <* crv\Composite_Curve.segments | NOT Valid_Basis_Curve_In_2d_Wireframe(ccs.parent_curve))) = 0); END_IF; END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_geometrically_bounded_2d_wireframe *)
FUNCTION Valid_Calendar_Date(date : Calendar_Date) : LOGICAL; CASE date.month_component OF 1 : RETURN ({1 <= date.day_component <= 31}); 2 : BEGIN IF Leap_Year(date.year_component) THEN RETURN ({1 <= date.day_component <= 29}); ELSE RETURN ({1 <= date.day_component <= 28}); END_IF; END; 3 : RETURN ({1 <= date.day_component <= 31}); 4 : RETURN ({1 <= date.day_component <= 30}); 5 : RETURN ({1 <= date.day_component <= 31}); 6 : RETURN ({1 <= date.day_component <= 30}); 7 : RETURN ({1 <= date.day_component <= 31}); 8 : RETURN ({1 <= date.day_component <= 31}); 9 : RETURN ({1 <= date.day_component <= 30}); 10 : RETURN ({1 <= date.day_component <= 31}); 11 : RETURN ({1 <= date.day_component <= 30}); 12 : RETURN ({1 <= date.day_component <= 31}); END_CASE; RETURN (FALSE); END_FUNCTION; -- 10303-41: date_time_schema
FUNCTION Valid_Geometrically_Bounded_Wf_Curve(crv : Curve) : BOOLEAN; IF SIZEOF(['AUTOMOTIVE_DESIGN.POLYLINE', 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE', 'AUTOMOTIVE_DESIGN.ELLIPSE', 'AUTOMOTIVE_DESIGN.CIRCLE'] * TYPEOF(crv)) = 1 THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.TRIMMED_CURVE' IN TYPEOF(crv) THEN IF SIZEOF(['AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.PARABOLA', 'AUTOMOTIVE_DESIGN.HYPERBOLA'] * TYPEOF(crv\Trimmed_Curve.basis_curve) ) = 1 THEN RETURN (TRUE); ELSE RETURN (Valid_Geometrically_Bounded_Wf_Curve(crv\Trimmed_Curve. basis_curve)); END_IF; ELSE IF 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D' IN TYPEOF(crv) THEN RETURN (Valid_Geometrically_Bounded_Wf_Curve(crv\Offset_Curve_3d. basis_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.CURVE_REPLICA' IN TYPEOF(crv) THEN RETURN (Valid_Geometrically_Bounded_Wf_Curve(crv\Curve_Replica. parent_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.COMPOSITE_CURVE' IN TYPEOF(crv) THEN RETURN (SIZEOF(QUERY(ccs <* crv\Composite_Curve.segments | NOT Valid_Geometrically_Bounded_Wf_Curve(ccs.parent_curve))) = 0); END_IF; END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_geometrically_bounded_wireframe *)
FUNCTION Valid_Geometrically_Bounded_Wf_Point(pnt : Point) : BOOLEAN; IF 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT' IN TYPEOF(pnt) THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.POINT_ON_CURVE' IN TYPEOF(pnt) THEN RETURN (Valid_Geometrically_Bounded_Wf_Curve(pnt\Point_On_Curve. basis_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.POINT_REPLICA' IN TYPEOF(pnt) THEN RETURN (Valid_Geometrically_Bounded_Wf_Point(pnt\Point_Replica. parent_pt)); END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_geometrically_bounded_wireframe *)
FUNCTION Valid_Measure_Value(m : Measure_Value) : BOOLEAN; IF 'REAL' IN TYPEOF(m) THEN RETURN (m > 0.0); ELSE IF 'INTEGER' IN TYPEOF(m) THEN RETURN (m > 0); ELSE RETURN (TRUE); END_IF; END_IF; END_FUNCTION; -- 10303-43: representation_schema
FUNCTION Valid_Time(time : Local_Time) : BOOLEAN; IF EXISTS(time.second_component) THEN RETURN (EXISTS(time.minute_component)); ELSE RETURN (TRUE); END_IF; END_FUNCTION; -- 10303-41: date_time_schema
FUNCTION Valid_Units(m : Measure_With_Unit) : BOOLEAN; IF 'AUTOMOTIVE_DESIGN.LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.MASS_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.TIME_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.ELECTRIC_CURRENT_MEASURE' IN TYPEOF(m. value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.THERMODYNAMIC_TEMPERATURE_MEASURE' IN TYPEOF(m. value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.CELSIUS_TEMPERATURE_MEASURE' IN TYPEOF(m. value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.AMOUNT_OF_SUBSTANCE_MEASURE' IN TYPEOF(m. value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.LUMINOUS_INTENSITY_MEASURE' IN TYPEOF(m. value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.SOLID_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.AREA_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.VOLUME_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.RATIO_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.POSITIVE_LENGTH_MEASURE' IN TYPEOF(m.value_component ) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.POSITIVE_PLANE_ANGLE_MEASURE' IN TYPEOF(m. value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.ACCELERATION_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.CAPACITANCE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( -2.0, -1.0, 4.0, 1.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.ELECTRIC_CHARGE_MEASURE' IN TYPEOF(m.value_component ) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.CONDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( -2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.ELECTRIC_POTENTIAL_MEASURE' IN TYPEOF(m. value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.ENERGY_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.FORCE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.FREQUENCY_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.ILLUMINANCE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( -2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.INDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.LUMINOUS_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.MAGNETIC_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.MAGNETIC_FLUX_DENSITY_MEASURE' IN TYPEOF(m. value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.POWER_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.PRESSURE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( -1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.RESISTANCE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.VELOCITY_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.RADIOACTIVITY_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.ABSORBED_DOSE_MEASURE' IN TYPEOF(m.value_component) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; IF 'AUTOMOTIVE_DESIGN.DOSE_EQUIVALENT_MEASURE' IN TYPEOF(m.value_component ) THEN IF Derive_Dimensional_Exponents(m.unit_component) <> Dimensional_Exponents( 2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN RETURN (FALSE); END_IF; END_IF; RETURN (TRUE); END_FUNCTION; -- 10303-41: measure_schema
FUNCTION Valid_Wireframe_Edge_Curve(crv : Curve) : BOOLEAN; IF SIZEOF(['AUTOMOTIVE_DESIGN.LINE', 'AUTOMOTIVE_DESIGN.CONIC', 'AUTOMOTIVE_DESIGN.B_SPLINE_CURVE', 'AUTOMOTIVE_DESIGN.POLYLINE'] * TYPEOF(crv)) = 1 THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.CURVE_REPLICA' IN TYPEOF(crv) THEN RETURN (Valid_Wireframe_Edge_Curve(crv\Curve_Replica.parent_curve)); ELSE IF 'AUTOMOTIVE_DESIGN.OFFSET_CURVE_3D' IN TYPEOF(crv) THEN RETURN (Valid_Wireframe_Edge_Curve(crv\Offset_Curve_3d.basis_curve)); END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_edge_based_wireframe *)
FUNCTION Valid_Wireframe_Vertex_Point(pnt : Point) : BOOLEAN; IF 'AUTOMOTIVE_DESIGN.CARTESIAN_POINT' IN TYPEOF(pnt) THEN RETURN (TRUE); ELSE IF 'AUTOMOTIVE_DESIGN.POINT_REPLICA' IN TYPEOF(pnt) THEN RETURN (Valid_Wireframe_Vertex_Point(pnt\Point_Replica.parent_pt)); END_IF; END_IF; RETURN (FALSE); END_FUNCTION; (* declared in: aic_edge_based_wireframe *)
FUNCTION Value_Range_Aggregate_Rep_Item(agg : AGGREGATE OF Representation_Item ) : BOOLEAN; FUNCTION cri(agg : AGGREGATE OF Representation_Item) : BOOLEAN; IF (SIZEOF(agg) = 3) AND (SIZEOF(QUERY(i1 <* agg | 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1))) = 3) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design IF (SIZEOF(agg) = 3) AND (SIZEOF(QUERY(i <* agg | ('AUTOMOTIVE_DESIGN.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND cri(i\ Compound_Representation_Item.item_element))) = 1) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Value_Range_Wr1(agg : AGGREGATE OF Representation_Item) : BOOLEAN; IF (SIZEOF(agg) = 2) AND ((SIZEOF(QUERY(i1 <* agg | 'AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1))) = 2) OR ( SIZEOF(QUERY(i2 <* agg | 'AUTOMOTIVE_DESIGN.VALUE_REPRESENTATION_ITEM' IN TYPEOF(i2))) = 2)) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Value_Range_Wr2(agg : AGGREGATE OF Representation_Item) : BOOLEAN; IF (SIZEOF(QUERY(i <* agg | i.name = 'upper limit')) = 1) AND (SIZEOF(QUERY(i <* agg | i.name = 'lower limit')) = 1) THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Value_Range_Wr3(agg : AGGREGATE OF Representation_Item) : BOOLEAN; IF SIZEOF(QUERY(i1 <* agg | ( 'AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)) AND (SIZEOF (QUERY(i2 <* agg | ('AUTOMOTIVE_DESIGN.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i2)) AND (i1 :<>: i2) AND (i1\Measure_With_Unit.unit_component :=: i2\ Measure_With_Unit.unit_component))) = 1))) = 2 THEN RETURN (TRUE); ELSE RETURN (FALSE); END_IF; END_FUNCTION; -- 10303-214: automotive_design
FUNCTION Vector_Difference(arg1 : Vector_Or_Direction; arg2 : Vector_Or_Direction) : Vector; LOCAL result : Vector; res : Direction; vec1 : Direction; vec2 : Direction; mag : REAL; mag1 : REAL; mag2 : REAL; ndim : INTEGER; END_LOCAL; IF NOT EXISTS(arg1) OR NOT EXISTS(arg2) OR (arg1.dim <> arg2.dim) THEN RETURN (?); ELSE IF 'AUTOMOTIVE_DESIGN.VECTOR' IN TYPEOF(arg1) THEN mag1 := arg1.magnitude; vec1 := arg1\Vector.orientation; ELSE mag1 := 1.0; vec1 := arg1; END_IF; IF 'AUTOMOTIVE_DESIGN.VECTOR' IN TYPEOF(arg2) THEN mag2 := arg2.magnitude; vec2 := arg2\Vector.orientation; ELSE mag2 := 1.0; vec2 := arg2; END_IF; vec1 := Normalise(vec1); vec2 := Normalise(vec2); ndim := SIZEOF(vec1.direction_ratios); mag := 0.0; res := Dummy_Gri||Direction(vec1.direction_ratios); REPEAT i := 1 TO ndim; res.direction_ratios[i] := mag1 * vec1.direction_ratios[i] - mag2 * vec2. direction_ratios[i]; mag := mag + res.direction_ratios[i] * res.direction_ratios[i]; END_REPEAT; IF mag > 0.0 THEN result := Dummy_Gri||Vector(res, SQRT(mag)); ELSE result := Dummy_Gri||Vector(vec1, 0.0); END_IF; END_IF; RETURN (result); END_FUNCTION; -- 10303-42: geometry_schema
FUNCTION Ypr_Index(ypr : Ypr_Enumeration) : INTEGER; CASE ypr OF Yaw : RETURN (1); Pitch : RETURN (2); Roll : RETURN (3); END_CASE; RETURN (?); END_FUNCTION; -- 10303-105: kinematic_structure_schema
RULE Application_Protocol_Definition_Required FOR (Application_Context); WHERE wr1 : SIZEOF(QUERY(ac <* Application_Context | SIZEOF(QUERY(apd <* USEDIN(ac , 'AUTOMOTIVE_DESIGN.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') | apd .application_interpreted_model_schema_name = 'AUTOMOTIVE_DESIGN_LF')) > 0)) > 0; END_RULE; -- 10303-214: automotive_design
RULE Approval_Person_Organization_Requires_Date_Time FOR ( Approval_Person_Organization); WHERE wr1 : SIZEOF(QUERY(apo <* Approval_Person_Organization | SIZEOF(QUERY(u <* USEDIN(apo, 'AUTOMOTIVE_DESIGN.APPLIED_DATE_ASSIGNMENT.ITEMS') | u.role. name = 'sign off')) + SIZEOF(QUERY(u <* USEDIN(apo, 'AUTOMOTIVE_DESIGN.APPLIED_DATE_AND_TIME_ASSIGNMENT.ITEMS') | u.role. name = 'sign off')) <> 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Approval_Requires_Approval_Assignment FOR (Approval); WHERE wr1 : SIZEOF(QUERY(a <* Approval | SIZEOF(USEDIN(a, 'AUTOMOTIVE_DESIGN.APPROVAL_ASSIGNMENT.ASSIGNED_APPROVAL')) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Compatible_Dimension FOR (Cartesian_Point, Direction, Representation_Context, Geometric_Representation_Context); WHERE wr1 : SIZEOF(QUERY(X <* Cartesian_Point | SIZEOF(QUERY(y <* Geometric_Representation_Context | Item_In_Context(X, y) AND (HIINDEX(X. coordinates) <> y.coordinate_space_dimension))) > 0)) = 0; wr2 : SIZEOF(QUERY(X <* Direction | SIZEOF(QUERY(y <* Geometric_Representation_Context | Item_In_Context(X, y) AND (HIINDEX(X. direction_ratios) <> y.coordinate_space_dimension))) > 0)) = 0; END_RULE; -- 10303-42: geometry_schema
RULE Complex_Product_Requires_Product_Definition FOR (Product_Definition, Product_Definition_Formation, Product_Related_Product_Category); WHERE wr1 : SIZEOF(QUERY(pdf <* Product_Definition_Formation | (SIZEOF(QUERY(prpc <* USEDIN(pdf.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'functionality')) = 1) AND (SIZEOF(QUERY(pd <* USEDIN(pdf, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION.FORMATION') | pd. frame_of_reference.name = 'functional definition')) <> 1) OR (SIZEOF(QUERY( prpc <* USEDIN(pdf.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'conceptual design')) = 1) AND (SIZEOF(QUERY(pd <* USEDIN(pdf, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION.FORMATION') | pd. frame_of_reference.name = 'conceptual definition')) <> 1) OR (SIZEOF(QUERY( prpc <* USEDIN(pdf.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'alternative solution')) = 1) AND (SIZEOF(QUERY(pd <* USEDIN(pdf, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION.FORMATION') | pd. frame_of_reference.name = 'alternative definition')) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Compound_Features_Of_Equal_Type FOR (Compound_Feature, Shape_Aspect_Relationship); WHERE wr1 : SIZEOF(QUERY(sar <* Shape_Aspect_Relationship | (sar.name = 'compound feature ordering') AND (SIZEOF(QUERY(fcr <* USEDIN(sar. relating_shape_aspect, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(fcr)) AND ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(fcr. relating_shape_aspect)) AND (fcr.relating_shape_aspect.name IN [ 'compound feature in solid', 'compound feature in panel']))) = 0) AND ( SIZEOF(QUERY(fcr <* USEDIN(sar.related_shape_aspect, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ( 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(fcr)) AND ('AUTOMOTIVE_DESIGN.' + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF(fcr. relating_shape_aspect)) AND (fcr.relating_shape_aspect.name IN [ 'compound feature in solid', 'compound feature in panel']))) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Consistent_Uncertainty FOR (Global_Uncertainty_Assigned_Context, Qualified_Representation_Item, Uncertainty_Assigned_Representation); WHERE wr1 : SIZEOF(QUERY(guac <* Global_Uncertainty_Assigned_Context | SIZEOF( QUERY(u1 <* guac.uncertainty | SIZEOF(QUERY(u2 <* guac.uncertainty | u2. name = u1.name)) > 1)) > 0)) = 0; wr2 : SIZEOF(QUERY(uar <* Uncertainty_Assigned_Representation | SIZEOF(QUERY( u1 <* uar.uncertainty | SIZEOF(QUERY(u2 <* uar.uncertainty | u2.name = u1. name)) > 0)) > 0)) = 0; wr3 : SIZEOF(QUERY(qri <* Qualified_Representation_Item | SIZEOF(QUERY(u1 <* qri.qualifiers | ('AUTOMOTIVE_DESIGN.' + 'UNCERTAINTY_QUALIFIER' IN TYPEOF(u1)) AND (SIZEOF(QUERY(u2 <* qri.qualifiers | ( 'AUTOMOTIVE_DESIGN.' + 'UNCERTAINTY_QUALIFIER' IN TYPEOF(u2)) AND (u2\ Uncertainty_Qualifier.measure_name = u1\Uncertainty_Qualifier.measure_name) )) > 0))) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Coordinated_Assembly_And_Shape FOR (Next_Assembly_Usage_Occurrence); WHERE wr1 : SIZEOF(QUERY(nauo <* Next_Assembly_Usage_Occurrence | NOT Assembly_Shape_Is_Defined(nauo))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Curve_Font_Usage FOR (Curve_Style_Font, Externally_Defined_Curve_Font, Pre_Defined_Curve_Font); WHERE wr1 : SIZEOF(QUERY(csf <* Curve_Style_Font | SIZEOF(USEDIN(csf, 'AUTOMOTIVE_DESIGN.CURVE_STYLE.CURVE_FONT')) = 0)) = 0; wr2 : SIZEOF(QUERY(pdcf <* Pre_Defined_Curve_Font | SIZEOF(USEDIN(pdcf, 'AUTOMOTIVE_DESIGN.CURVE_STYLE.CURVE_FONT')) = 0)) = 0; wr3 : SIZEOF(QUERY(edcf <* Externally_Defined_Curve_Font | NOT (SIZEOF(USEDIN (edcf, 'AUTOMOTIVE_DESIGN.CURVE_STYLE.CURVE_FONT')) >= 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Action_Directive FOR (Action_Directive); WHERE wr1 : SIZEOF(QUERY(a <* Action_Directive | NOT (SIZEOF(USEDIN(a, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Action_Resource_Type FOR (Action_Resource_Type); WHERE wr1 : SIZEOF(QUERY(a <* Action_Resource_Type | NOT (SIZEOF(USEDIN(a, '')) > 0 ))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Approval_Role FOR (Approval_Role); WHERE wr1 : SIZEOF(QUERY(a <* Approval_Role | NOT (SIZEOF(USEDIN(a, '')) > 0))) = 0 ; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Attribute_Value_Role FOR (Attribute_Value_Role); WHERE wr1 : SIZEOF(QUERY(a <* Attribute_Value_Role | NOT (SIZEOF(USEDIN(a, '')) > 0 ))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Classification_Role FOR (Classification_Role); WHERE wr1 : SIZEOF(QUERY(c <* Classification_Role | NOT (SIZEOF(USEDIN(c, '')) > 0) )) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Colour_Rgb FOR (Colour_Rgb); WHERE wr1 : SIZEOF(QUERY(c <* Colour_Rgb | NOT (SIZEOF(USEDIN(c, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Contract_Type FOR (Contract_Type); WHERE wr1 : SIZEOF(QUERY(c <* Contract_Type | NOT (SIZEOF(USEDIN(c, '')) > 0))) = 0 ; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Curve_Style FOR (Curve_Style); WHERE wr1 : SIZEOF(QUERY(c <* Curve_Style | NOT (SIZEOF(USEDIN(c, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Date FOR (Date); WHERE wr1 : SIZEOF(QUERY(d <* Date | NOT (SIZEOF(USEDIN(d, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Date_And_Time FOR (Date_And_Time); WHERE wr1 : SIZEOF(QUERY(d <* Date_And_Time | NOT (SIZEOF(USEDIN(d, '')) > 0))) = 0 ; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Date_Role FOR (Date_Role); WHERE wr1 : SIZEOF(QUERY(d <* Date_Role | NOT (SIZEOF(USEDIN(d, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Date_Time_Role FOR (Date_Time_Role); WHERE wr1 : SIZEOF(QUERY(d <* Date_Time_Role | NOT (SIZEOF(USEDIN(d, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Derived_Unit FOR (Derived_Unit); WHERE wr1 : SIZEOF(QUERY(d <* Derived_Unit | NOT (SIZEOF(USEDIN(d, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Dimensional_Size FOR (Dimensional_Size); WHERE wr1 : SIZEOF(QUERY(d <* Dimensional_Size | NOT (SIZEOF(USEDIN(d, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Document_Usage_Role FOR (Document_Usage_Role); WHERE wr1 : SIZEOF(QUERY(d <* Document_Usage_Role | NOT (SIZEOF(USEDIN(d, '')) > 0) )) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Effectivity_Context_Role FOR ( Effectivity_Context_Role); WHERE wr1 : SIZEOF(QUERY(e <* Effectivity_Context_Role | NOT (SIZEOF(USEDIN(e, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Event_Occurrence_Role FOR (Event_Occurrence_Role); WHERE wr1 : SIZEOF(QUERY(e <* Event_Occurrence_Role | NOT (SIZEOF(USEDIN(e, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Externally_Defined_Symbol FOR ( Externally_Defined_Symbol); WHERE wr1 : SIZEOF(QUERY(e <* Externally_Defined_Symbol | NOT (SIZEOF(USEDIN(e, '') ) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Fill_Area_Style FOR (Fill_Area_Style); WHERE wr1 : SIZEOF(QUERY(f <* Fill_Area_Style | NOT (SIZEOF(USEDIN(f, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Fill_Area_Style_Colour FOR (Fill_Area_Style_Colour ); WHERE wr1 : SIZEOF(QUERY(f <* Fill_Area_Style_Colour | NOT (SIZEOF(USEDIN(f, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Identification_Role FOR (Identification_Role); WHERE wr1 : SIZEOF(QUERY(i <* Identification_Role | NOT (SIZEOF(USEDIN(i, '')) > 0) )) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Measure_With_Unit FOR (Measure_With_Unit); WHERE wr1 : SIZEOF(QUERY(m <* Measure_With_Unit | NOT (SIZEOF(USEDIN(m, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Named_Unit FOR (Named_Unit); WHERE wr1 : SIZEOF(QUERY(n <* Named_Unit | NOT (SIZEOF(USEDIN(n, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Object_Role FOR (Object_Role); WHERE wr1 : SIZEOF(QUERY(o <* Object_Role | NOT (SIZEOF(USEDIN(o, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Organization_Role FOR (Organization_Role); WHERE wr1 : SIZEOF(QUERY(o <* Organization_Role | NOT (SIZEOF(USEDIN(o, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Organizational_Project_Role FOR ( Organizational_Project_Role); WHERE wr1 : SIZEOF(QUERY(o <* Organizational_Project_Role | NOT (SIZEOF(USEDIN(o, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Person_And_Organization_Role FOR ( Person_And_Organization_Role); WHERE wr1 : SIZEOF(QUERY(p <* Person_And_Organization_Role | NOT (SIZEOF(USEDIN(p, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Pre_Defined_Colour FOR (Pre_Defined_Colour); WHERE wr1 : SIZEOF(QUERY(p <* Pre_Defined_Colour | NOT (SIZEOF(USEDIN(p, '')) > 0)) ) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Pre_Defined_Symbol FOR (Pre_Defined_Symbol); WHERE wr1 : SIZEOF(QUERY(p <* Pre_Defined_Symbol | NOT (SIZEOF(USEDIN(p, '')) > 0)) ) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Precision_Qualifier FOR (Precision_Qualifier); WHERE wr1 : SIZEOF(QUERY(p <* Precision_Qualifier | NOT (SIZEOF(USEDIN(p, '')) > 0) )) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Presentation_Style_By_Context FOR ( Presentation_Style_By_Context); WHERE wr1 : SIZEOF(QUERY(p <* Presentation_Style_By_Context | NOT (SIZEOF(USEDIN(p , '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Product_Definition_Context_Role FOR ( Product_Definition_Context_Role); WHERE wr1 : SIZEOF(QUERY(p <* Product_Definition_Context_Role | NOT (SIZEOF(USEDIN( p, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Resource_Requirement_Type FOR ( Resource_Requirement_Type); WHERE wr1 : SIZEOF(QUERY(r <* Resource_Requirement_Type | NOT (SIZEOF(USEDIN(r, '') ) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Retention FOR (Retention); WHERE wr1 : SIZEOF(QUERY(r <* Retention | NOT (SIZEOF(USEDIN(r, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Standard_Uncertainty FOR (Standard_Uncertainty); WHERE wr1 : SIZEOF(QUERY(s <* Standard_Uncertainty | NOT (SIZEOF(USEDIN(s, '')) > 0 ))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Symbol_Colour FOR (Symbol_Colour); WHERE wr1 : SIZEOF(QUERY(s <* Symbol_Colour | NOT (SIZEOF(USEDIN(s, '')) > 0))) = 0 ; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Text_Style FOR (Text_Style); WHERE wr1 : SIZEOF(QUERY(t <* Text_Style | NOT (SIZEOF(USEDIN(t, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Text_Style_For_Defined_Font FOR ( Text_Style_For_Defined_Font); WHERE wr1 : SIZEOF(QUERY(t <* Text_Style_For_Defined_Font | NOT (SIZEOF(USEDIN(t, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Time_Interval_Role FOR (Time_Interval_Role); WHERE wr1 : SIZEOF(QUERY(t <* Time_Interval_Role | NOT (SIZEOF(USEDIN(t, '')) > 0)) ) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Tolerance_Value FOR (Tolerance_Value); WHERE wr1 : SIZEOF(QUERY(t <* Tolerance_Value | NOT (SIZEOF(USEDIN(t, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Type_Qualifier FOR (Type_Qualifier); WHERE wr1 : SIZEOF(QUERY(t <* Type_Qualifier | NOT (SIZEOF(USEDIN(t, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dependent_Instantiable_Uncertainty_Qualifier FOR (Uncertainty_Qualifier); WHERE wr1 : SIZEOF(QUERY(u <* Uncertainty_Qualifier | NOT (SIZEOF(USEDIN(u, '')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Design_Constraint_Requires_Product_Definition FOR (Product_Definition, Product_Definition_Formation, Product_Related_Product_Category); WHERE wr1 : SIZEOF(QUERY(pdf <* Product_Definition_Formation | (SIZEOF(QUERY(prpc <* USEDIN(pdf.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'requirement')) > 0) AND (SIZEOF(QUERY(pd <* USEDIN(pdf, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION.FORMATION') | pd. frame_of_reference.name = 'design constraint definition')) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Dimensionality_Is_Two_Or_Three FOR (Geometric_Representation_Context); WHERE wr1 : SIZEOF(QUERY(g <* Geometric_Representation_Context | NOT ((g. coordinate_space_dimension = 2) OR (g.coordinate_space_dimension = 3)))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Draughting_Subfigure_Representation_Layers FOR ( Draughting_Subfigure_Representation); WHERE wr1 : SIZEOF(QUERY(dsr <* Draughting_Subfigure_Representation | NOT (SIZEOF( QUERY(item <* dsr\Representation.items | ('AUTOMOTIVE_DESIGN.' + 'ANNOTATION_OCCURRENCE' IN TYPEOF(item)) AND (SIZEOF(USEDIN(item, 'AUTOMOTIVE_DESIGN.PRESENTATION_LAYER_ASSIGNMENT.ASSIGNED_ITEMS')) = 0)) ) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Drawing_Sheet_Annotation_Layers FOR (Drawing_Sheet_Revision); WHERE wr1 : SIZEOF(QUERY(dsr <* Drawing_Sheet_Revision | NOT (SIZEOF(QUERY(ao <* QUERY(it <* dsr\Representation.items | 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_OCCURRENCE' IN TYPEOF(it)) | NOT (SIZEOF(USEDIN(ao, 'AUTOMOTIVE_DESIGN.PRESENTATION_LAYER_ASSIGNMENT.ASSIGNED_ITEMS')) >= 1) )) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Drawing_Sheet_Layout_Usage FOR (Mapped_Item); WHERE wr1 : SIZEOF(QUERY(dsl <* QUERY(mi <* Mapped_Item | 'AUTOMOTIVE_DESIGN.' + 'DRAWING_SHEET_LAYOUT' IN TYPEOF(mi.mapping_source.mapped_representation )) | NOT (SIZEOF(USEDIN(dsl, '')) = SIZEOF(QUERY(dsr <* USEDIN(dsl, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | 'AUTOMOTIVE_DESIGN.' + 'DRAWING_SHEET_REVISION' IN TYPEOF(dsr)))))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Drawing_View_Annotation_Layers FOR (Presentation_View); WHERE wr1 : SIZEOF(QUERY(pv <* Presentation_View | NOT (SIZEOF(QUERY(ao <* QUERY(it <* pv\Representation.items | 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_OCCURRENCE' IN TYPEOF(it)) | NOT (SIZEOF(USEDIN(ao, 'AUTOMOTIVE_DESIGN.PRESENTATION_LAYER_ASSIGNMENT.ASSIGNED_ITEMS')) >= 1) )) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Event_Occurrence_Requires_Event_Occurrence_Assignment FOR ( Event_Occurrence, Event_Occurrence_Assignment, Relative_Event_Occurrence); WHERE wr1 : SIZEOF(QUERY(eo <* Event_Occurrence | (SIZEOF(USEDIN(eo, 'AUTOMOTIVE_DESIGN.RELATIVE_EVENT_OCCURRENCE.BASE_EVENT')) = 0) AND ( SIZEOF(USEDIN(eo, 'AUTOMOTIVE_DESIGN.EVENT_OCCURRENCE_ASSIGNMENT.ASSIGNED_EVENT_OCCURRENCE' )) = 0) AND (SIZEOF(USEDIN(eo, 'AUTOMOTIVE_DESIGN.DATED_EFFECTIVITY.EFFECTIVITY_START_DATE')) = 0) AND (SIZEOF(USEDIN(eo, 'AUTOMOTIVE_DESIGN.DATED_EFFECTIVITY.EFFECTIVITY_END_DATE')) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Executed_Action_Requires_Action_Status FOR (Executed_Action); WHERE wr1 : SIZEOF(QUERY(ea <* Executed_Action | SIZEOF(USEDIN(ea, 'AUTOMOTIVE_DESIGN.ACTION_STATUS.ASSIGNED_ACTION')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Externally_Defined_Class_With_Known_Source_Requirement FOR ( Externally_Defined_Class); WHERE wr1 : SIZEOF(QUERY(edc <* Externally_Defined_Class | ('AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE' IN TYPEOF(edc.Source)) AND (SIZEOF(QUERY(aoa <* USEDIN( edc, 'AUTOMOTIVE_DESIGN.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS') | aoa. role.name = 'class supplier')) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Fill_Area_Style_Tile_Symbol_Constraint FOR ( Fill_Area_Style_Tile_Symbol_With_Style); WHERE wr1 : SIZEOF(QUERY(fast <* Fill_Area_Style_Tile_Symbol_With_Style | ( 'AUTOMOTIVE_DESIGN.' + 'DEFINED_SYMBOL' IN TYPEOF(fast.symbol\ Styled_Item.item)) AND NOT ('AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_SYMBOL' IN TYPEOF(fast.symbol\Styled_Item.item\ Defined_Symbol.definition)))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Full_Model_Change_Completeness_For_Action_Property FOR (Action_Property); WHERE wr1 : SIZEOF(QUERY(ap <* Action_Property | (ap.name = 'full model change') AND (SIZEOF(QUERY(apr <* USEDIN(ap, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | apr.name = 'original representation')) = 0))) = 0; wr2 : SIZEOF(QUERY(ap <* Action_Property | (ap.name = 'full model change') AND (SIZEOF(QUERY(apr <* USEDIN(ap, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | apr.name = 'replacement representation')) = 0))) = 0; wr3 : SIZEOF(QUERY(ap <* Action_Property | SIZEOF(QUERY(apr1 <* USEDIN(ap, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (apr1. name = 'added elements') AND (SIZEOF(QUERY(apr2 <* USEDIN(ap, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (apr2. name = 'replacement representation') AND (SIZEOF(QUERY(i1 <* apr1. Representation.items | SIZEOF(QUERY(i2 <* apr2.Representation.items | i1 :=: i2)) > 0)) <> SIZEOF(apr1.Representation.items)))) > 0))) > 0)) = 0; wr4 : SIZEOF(QUERY(ap <* Action_Property | SIZEOF(QUERY(apr1 <* USEDIN(ap, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (apr1. name = 'deleted elements') AND (SIZEOF(QUERY(apr2 <* USEDIN(ap, 'AUTOMOTIVE_DESIGN.ACTION_PROPERTY_REPRESENTATION.PROPERTY') | (apr2. name = 'original representation') AND (SIZEOF(QUERY(i1 <* apr1. Representation.items | SIZEOF(QUERY(i2 <* apr2.Representation.items | i1 :=: i2)) > 0)) <> SIZEOF(apr1.Representation.items)))) > 0))) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Full_Model_Change_Completeness_For_Property_Definition FOR ( Property_Definition); WHERE wr1 : SIZEOF(QUERY(pd <* Property_Definition | (pd.name = 'full model change' ) AND (SIZEOF(QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | pdr .name = 'original representation')) = 0))) = 0; wr2 : SIZEOF(QUERY(pd <* Property_Definition | (pd.name = 'full model change' ) AND (SIZEOF(QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | pdr .name = 'replacement representation')) = 0))) = 0; wr3 : SIZEOF(QUERY(pd <* Property_Definition | SIZEOF(QUERY(pdr <* USEDIN(pd , 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ( pdr.name = 'added elements') AND (SIZEOF(QUERY(i <* pdr.used_representation .items | SIZEOF(QUERY(pdr1 <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ( pdr1.name = 'replacement representation') AND NOT (i IN pdr1. used_representation.items))) > 0)) > 0))) > 0)) = 0; wr4 : SIZEOF(QUERY(pd <* Property_Definition | SIZEOF(QUERY(pdr <* USEDIN(pd , 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ( pdr.name = 'deleted elements') AND (SIZEOF(QUERY(i <* pdr. used_representation.items | SIZEOF(QUERY(pdr1 <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ( pdr1.name = 'original representation') AND NOT (i IN pdr1. used_representation.items))) > 0)) > 0))) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Global_Length_And_Angle_Units_2d_Or_3d FOR (Global_Unit_Assigned_Context); WHERE wr1 : SIZEOF(QUERY(guac <* Global_Unit_Assigned_Context | SIZEOF(guac.units) < 2)) = 0; wr2 : SIZEOF(QUERY(guac <* Global_Unit_Assigned_Context | (SIZEOF(QUERY(X <* guac.units | 'AUTOMOTIVE_DESIGN.' + 'LENGTH_UNIT' IN TYPEOF(X))) <> 1) OR (SIZEOF(QUERY(X <* guac.units | 'AUTOMOTIVE_DESIGN.' + 'PLANE_ANGLE_UNIT' IN TYPEOF(X))) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Person_Requires_Person_And_Organization FOR (Person); WHERE wr1 : SIZEOF(QUERY(p <* Person | SIZEOF(USEDIN(p, 'AUTOMOTIVE_DESIGN.PERSON_AND_ORGANIZATION.THE_PERSON')) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Physical_Instance_Requires_Product_Definition FOR (Product_Definition, Product_Definition_Formation, Product_Related_Product_Category); WHERE wr1 : SIZEOF(QUERY(pdf <* Product_Definition_Formation | (SIZEOF(QUERY(prpc <* USEDIN(pdf.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'physically realized product')) > 0) AND (SIZEOF(QUERY(pd <* USEDIN( pdf, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION.FORMATION') | pd. frame_of_reference.name = 'physical occurrence')) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Plib_Class_Reference_Requires_Version FOR (Externally_Defined_Class); WHERE wr1 : SIZEOF(QUERY(edc <* Externally_Defined_Class | ('AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE' IN TYPEOF(edc.Source)) AND (SIZEOF(QUERY(aei <* USEDIN( edc, 'AUTOMOTIVE_DESIGN.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS') | aei.role.name = 'version')) <> 1))) = 0; wr2 : SIZEOF(QUERY(edc <* Externally_Defined_Class | ('AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE' IN TYPEOF(edc.Source)) AND (SIZEOF(QUERY(aei <* USEDIN( edc, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | aei. role.name = 'version')) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Plib_Property_Reference_Requires_Name_Scope FOR ( Externally_Defined_General_Property); WHERE wr1 : SIZEOF(QUERY(edgp <* Externally_Defined_General_Property | ( 'AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE' IN TYPEOF(edgp.Source)) AND ( SIZEOF(QUERY(edir <* USEDIN(edgp, 'AUTOMOTIVE_DESIGN.EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM') | (edir.name = 'name scope') AND ('AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_CLASS' IN TYPEOF(edir.related_item)) AND ( 'AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE' IN TYPEOF(edir.related_item.Source )))) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Plib_Property_Reference_Requires_Version FOR ( Externally_Defined_General_Property); WHERE wr1 : SIZEOF(QUERY(edgp <* Externally_Defined_General_Property | ( 'AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE' IN TYPEOF(edgp.Source)) AND ( SIZEOF(QUERY(edir <* USEDIN(edgp, 'AUTOMOTIVE_DESIGN.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS') | edir.role.name = 'version')) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Presentation_Layer_Assignment_Constraint_2d_Or_3d FOR ( Presentation_Layer_Assignment); WHERE wr1 : SIZEOF(QUERY(pla <* Presentation_Layer_Assignment | NOT (SIZEOF(QUERY( pnt <* QUERY(item <* pla.assigned_items | 'AUTOMOTIVE_DESIGN.' + 'POINT' IN TYPEOF(item)) | NOT (SIZEOF(QUERY(rep <* USEDIN(pnt, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION' IN TYPEOF(rep))) = 0))) = 0))) = 0; wr2 : SIZEOF(QUERY(pla <* Presentation_Layer_Assignment | NOT (SIZEOF(QUERY( crv <* QUERY(item <* pla.assigned_items | 'AUTOMOTIVE_DESIGN.' + 'CURVE' IN TYPEOF(item)) | NOT (SIZEOF(QUERY(rep <* USEDIN(crv, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION' IN TYPEOF(rep))) = 0))) = 0))) = 0; wr3 : SIZEOF(QUERY(pla <* Presentation_Layer_Assignment | NOT (SIZEOF(QUERY( srf <* QUERY(item <* pla.assigned_items | 'AUTOMOTIVE_DESIGN.' + 'SURFACE' IN TYPEOF(item)) | NOT (SIZEOF(QUERY(rep <* USEDIN(srf, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION' IN TYPEOF(rep))) = 0))) = 0))) = 0; wr4 : SIZEOF(QUERY(pla <* Presentation_Layer_Assignment | NOT (SIZEOF(QUERY( ao <* QUERY(item <* pla.assigned_items | 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_OCCURRENCE' IN TYPEOF(item)) | NOT (SIZEOF(QUERY(ur <* Using_Representations(ao) | NOT (SIZEOF(TYPEOF(ur) * [ 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_SUBFIGURE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_MODEL', 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_AREA', 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_VIEW']) = 1))) = 0))) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Presentation_View_Presented_Once FOR (Presentation_View); WHERE wr1 : SIZEOF(QUERY(pv <* Presentation_View | SIZEOF(QUERY(rm <* USEDIN(pv, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPED_REPRESENTATION') | (SIZEOF( USEDIN(rm, 'AUTOMOTIVE_DESIGN.MAPPED_ITEM.MAPPING_SOURCE')) <> 1) OR ( SIZEOF(QUERY(mi <* USEDIN(rm, 'AUTOMOTIVE_DESIGN.MAPPED_ITEM.MAPPING_SOURCE') | (SIZEOF(USEDIN(mi, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS')) <> 1) OR (SIZEOF(QUERY(r <* USEDIN(mi, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | NOT ( 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_AREA' IN TYPEOF(r)))) <> 0))) <> 0) )) <> 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Product_Concept_Feature_Requires_Category FOR (Product_Concept_Feature, Product_Concept_Feature_Category); WHERE wr1 : SIZEOF(QUERY(pcf <* Product_Concept_Feature | (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF(pcf)) = 0 ) AND (SIZEOF(QUERY(aga <* USEDIN(pcf, 'AUTOMOTIVE_DESIGN.APPLIED_GROUP_ASSIGNMENT.ITEMS') | (aga.role.name = 'specification category member') AND ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(aga.assigned_group)))) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Product_Definition_Replacement_Requires_Effectivity_Assignment FOR ( Applied_Effectivity_Assignment, Product_Definition_Relationship); WHERE wr1 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'definition replacement') AND (SIZEOF(USEDIN(pdr, 'AUTOMOTIVE_DESIGN.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS')) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Product_Requires_Category FOR (Product, Product_Related_Product_Category); WHERE wr1 : SIZEOF(QUERY(p <* Product | SIZEOF(USEDIN(p, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS')) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Product_Requires_Id_Owner FOR (Product); WHERE wr1 : SIZEOF(QUERY(prod <* Product | (SIZEOF(QUERY(prpc <* USEDIN(prod, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name IN ['part', 'tool', 'raw material'])) > 0) AND (SIZEOF(QUERY(apoa <* USEDIN(prod, 'AUTOMOTIVE_DESIGN.APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS') | apoa\Person_And_Organization_Assignment.role.name = 'id owner')) + SIZEOF( QUERY(oa <* USEDIN(prod, 'AUTOMOTIVE_DESIGN.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS') | oa\ Organization_Assignment.role.name = 'id owner')) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Product_Requires_Version FOR (Product); WHERE wr1 : SIZEOF(QUERY(prod <* Product | SIZEOF(USEDIN(prod, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_FORMATION.OF_PRODUCT')) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Action_Resource_Requirement_For_Process_Operation FOR (Action, Action_Resource_Requirement); WHERE wr1 : SIZEOF(QUERY(a <* Action | (a.name = 'process operation') AND (SIZEOF( QUERY(arr <* USEDIN(a, 'AUTOMOTIVE_DESIGN.ACTION_RESOURCE_REQUIREMENT.OPERATIONS') | arr.name = 'reference tool')) > 1))) = 0; wr2 : SIZEOF(QUERY(arr <* Action_Resource_Requirement | (arr.name = 'reference tool') AND NOT ('AUTOMOTIVE_DESIGN.' + 'REQUIREMENT_FOR_ACTION_RESOURCE' IN TYPEOF(arr)) AND (SIZEOF(QUERY(ar <* arr\Requirement_For_Action_Resource.resources | 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_RESOURCE' IN TYPEOF(ar))) <> 1))) = 0; wr3 : SIZEOF(QUERY(arr <* Action_Resource_Requirement | (arr.name <> 'reference tool') AND (arr.name <> 'non reference tool'))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Alternative_Definition FOR (Product_Definition, Product_Definition_Context); WHERE wr1 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'alternative definition') AND (SIZEOF(QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | pdr.name = 'solution alternative definition')) <> 1))) = 0; wr2 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'alternative definition') AND NOT (pd.name IN ['technical', 'supplier', 'final', 'technical supplier', 'technical final', 'supplier final', 'technical supplier final', '']))) = 0; wr3 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'alternative definition') AND (pd.name IN ['supplier', 'technical supplier' , 'supplier final', 'technical supplier final']) AND (SIZEOF(QUERY(aoa <* USEDIN(pd.formation, 'AUTOMOTIVE_DESIGN.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS') | aoa.role. name = 'supplier')) <> 1))) = 0; wr4 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'alternative definition') AND (pd.name IN ['final', 'technical final', 'supplier final', 'technical supplier final']) AND (SIZEOF(QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION' ) | pdr.name = 'final specification')) = 0) AND (SIZEOF(QUERY(pd <* USEDIN( pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | SIZEOF(QUERY( pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ( pdr.used_representation.name = 'final item characteristics') AND (SIZEOF( QUERY(i <* pdr.used_representation.items | 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i))) = SIZEOF(pdr. used_representation.items)) AND (SIZEOF(pdr.used_representation.items) >= 2 ) AND (SIZEOF(QUERY(i <* pdr.used_representation.items | i.name = 'final item status')) = 1))) > 0)) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Applied_Action_Assignment FOR (Applied_Action_Assignment, Object_Role); WHERE wr1 : SIZEOF(QUERY(aaa <* Applied_Action_Assignment | (aaa.role.description = 'activity element') AND NOT ('AUTOMOTIVE_DESIGN.' + 'EXECUTED_ACTION' IN TYPEOF(aaa.assigned_action)))) = 0; wr2 : SIZEOF(QUERY(aaa <* Applied_Action_Assignment | (aaa.role.description = 'activity element') AND NOT Item_Correlation(aaa.items, ['ACTION', 'ACTION_METHOD', 'ACTION_PROPERTY', 'ASSEMBLY_COMPONENT_USAGE_SUBSTITUTE', 'CONFIGURATION_ITEM', 'CONFIGURATION_EFFECTIVITY', 'CONFIGURED_EFFECTIVITY_ASSIGNMENT', 'DOCUMENT_FILE', 'DRAUGHTING_MODEL', 'DRAWING_REVISION', 'GENERAL_PROPERTY', 'MATERIAL_DESIGNATION', 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION', 'PRESENTATION_AREA', 'PRODUCT', 'PRODUCT_CONCEPT', 'PRODUCT_CONCEPT_FEATURE', 'PRODUCT_CONCEPT_FEATURE_ASSOCIATION', 'PRODUCT_CONCEPT_FEATURE_CATEGORY', 'PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE', 'PRODUCT_DEFINITION', 'PRODUCT_DEFINITION_FORMATION', 'PRODUCT_DEFINITION_RELATIONSHIP', 'PRODUCT_DEFINITION_SUBSTITUTE', 'PROPERTY_DEFINITION', 'RESOURCE_PROPERTY' , 'SHAPE_ASPECT', 'SHAPE_REPRESENTATION']))) = 0; wr3 : SIZEOF(QUERY(aaa <* Applied_Action_Assignment | (NOT EXISTS(aaa.role) OR (aaa.role.description = 'activity element')) AND (SIZEOF(QUERY(i <* aaa. items | 'AUTOMOTIVE_DESIGN.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(i)) ) > 0))) = 0; wr4 : SIZEOF(QUERY(aaa <* Applied_Action_Assignment | (aaa.role.name = 'deliverable element') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'ELEMENT_DELIVERY' IN TYPEOF(aaa.assigned_action)) OR (SIZEOF(QUERY(i <* aaa.items | 'AUTOMOTIVE_DESIGN.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF (i))) > 1) OR (SIZEOF(QUERY(i <* aaa.items | ('AUTOMOTIVE_DESIGN.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(i)) AND (i\Action_Assignment.role. description <> 'activity element'))) > 0)))) = 0; wr5 : SIZEOF(QUERY(aaa <* Applied_Action_Assignment | (aaa.role.name = 'retention') AND NOT ('AUTOMOTIVE_DESIGN.' + 'RETENTION' IN TYPEOF(aaa. assigned_action)))) = 0; wr6 : SIZEOF(QUERY(aaa <* Applied_Action_Assignment | (aaa.role.name = 'retention') AND NOT Item_Correlation(aaa.items, ['ACTION', 'ACTION_DIRECTIVE', 'ACTION_PROPERTY', 'ACTION_RELATIONSHIP', 'APPLIED_ACTION_ASSIGNMENT', 'APPLIED_CLASSIFICATION_ASSIGNMENT', 'ASSEMBLY_COMPONENT_USAGE_SUBSTITUTE', 'CERTIFICATION', 'CLASS_SYSTEM', 'CONFIGURATION_EFFECTIVITY', 'CONFIGURATION_ITEM', 'CONFIGURED_EFFECTIVITY_ASSIGNMENT', 'DOCUMENT_FILE', 'DRAUGHTING_MODEL', 'DRAWING_REVISION', 'GENERAL_PROPERTY', 'MATERIAL_DESIGNATION', 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION', 'ORGANIZATIONAL_PROJECT', 'PRESENTATION_AREA', 'PRODUCT', 'PRODUCT_CONCEPT' , 'PRODUCT_CONCEPT_FEATURE', 'PRODUCT_CONCEPT_FEATURE_ASSOCIATION', 'PRODUCT_CONCEPT_FEATURE_CATEGORY', 'PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE', 'PRODUCT_DEFINITION', 'PRODUCT_DEFINITION_FORMATION', 'PRODUCT_DEFINITION_RELATIONSHIP', 'PRODUCT_DEFINITION_SUBSTITUTE', 'PROPERTY_DEFINITION', 'RESOURCE_PROPERTY' , 'SHAPE_REPRESENTATION', 'VERSIONED_ACTION_REQUEST']))) = 0; wr7 : SIZEOF(QUERY(aaa <* Applied_Action_Assignment | (aaa.role.name = 'test activity') AND NOT Item_Correlation(aaa.items, ['PROPERTY_DEFINITION' ]))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Applied_Action_Request_Assignment FOR ( Applied_Action_Request_Assignment, Object_Role); WHERE wr1 : SIZEOF(QUERY(aara <* Applied_Action_Request_Assignment | aara.role.name <> 'scope')) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Applied_Classification_Assignment_Role FOR ( Applied_Classification_Assignment); WHERE wr1 : SIZEOF(QUERY(aca <* Applied_Classification_Assignment | ( 'AUTOMOTIVE_DESIGN.' + 'CLASS' IN TYPEOF(aca.assigned_class)) AND NOT ( aca.role.name IN ['definitional', 'non-definitional', '']))) = 0; wr2 : SIZEOF(QUERY(aca <* Applied_Classification_Assignment | (aca.role.name IN ['definitional', 'non-definitional', '']) AND NOT ( 'AUTOMOTIVE_DESIGN.' + 'CLASS' IN TYPEOF(aca.assigned_class)))) = 0; wr3 : SIZEOF(QUERY(aca <* Applied_Classification_Assignment | ( 'AUTOMOTIVE_DESIGN.' + 'CLASS_SYSTEM' IN TYPEOF(aca.assigned_class)) AND (aca.role.name <> 'class system membership'))) = 0; wr4 : SIZEOF(QUERY(aca <* Applied_Classification_Assignment | (aca.role.name = 'class system membership') AND NOT ('AUTOMOTIVE_DESIGN.' + 'CLASS_SYSTEM' IN TYPEOF(aca.assigned_class)))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Applied_Event_Occurrence_Assignment FOR ( Applied_Event_Occurrence_Assignment); WHERE wr1 : SIZEOF(QUERY(eo <* Applied_Event_Occurrence_Assignment | (eo\ Event_Occurrence_Assignment.role.name = 'event context') AND (SIZEOF(eo. items) > 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Applied_Organizational_Project_Assignment FOR ( Applied_Organizational_Project_Assignment, Object_Role); WHERE wr1 : SIZEOF(QUERY(aopa <* Applied_Organizational_Project_Assignment | (aopa. role.name = 'affecting project') AND NOT Item_Correlation(aopa.items, [ 'PRODUCT_CONCEPT']))) = 0; wr2 : SIZEOF(QUERY(aopa <* Applied_Organizational_Project_Assignment | (aopa. role.name = 'work program') AND NOT Item_Correlation(aopa.items, [ 'EXECUTED_ACTION']))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Approval FOR (Approval, Approval_Date_Time); WHERE wr1 : SIZEOF(QUERY(a <* Approval | SIZEOF(USEDIN(a, 'AUTOMOTIVE_DESIGN.APPROVAL_DATE_TIME.DATED_APPROVAL')) > 2)) = 0; wr2 : SIZEOF(QUERY(adt <* Approval_Date_Time | NOT EXISTS(adt.role) OR NOT ( adt.role.name IN ['actual', 'planned']))) = 0; wr3 : SIZEOF(QUERY(a <* Approval | SIZEOF(QUERY(adt <* USEDIN(a, 'AUTOMOTIVE_DESIGN.APPROVAL_DATE_TIME.DATED_APPROVAL') | adt.role.name = 'actual')) > 1)) = 0; wr4 : SIZEOF(QUERY(a <* Approval | SIZEOF(QUERY(adt <* USEDIN(a, 'AUTOMOTIVE_DESIGN.APPROVAL_DATE_TIME.DATED_APPROVAL') | adt.role.name = 'planned')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Camera_Image_In_View FOR (Camera_Image, Presentation_View); WHERE wr1 : SIZEOF(QUERY(ci <* Camera_Image | SIZEOF(QUERY(r <* USEDIN(ci, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_VIEW' IN TYPEOF(r))) <> 1)) = 0; wr2 : SIZEOF(QUERY(pv <* Presentation_View | SIZEOF(QUERY(ri <* pv\ Representation.items | 'AUTOMOTIVE_DESIGN.' + 'CAMERA_IMAGE' IN TYPEOF( ri))) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Centre_Of_Mass_Representation FOR (Representation); WHERE wr1 : SIZEOF(QUERY(r <* Representation | (r.name = 'centre of mass') AND (( SIZEOF(r.items) <> 1) OR (SIZEOF(QUERY(i <* r.items | ( 'AUTOMOTIVE_DESIGN.' + 'POINT' IN TYPEOF(i)) AND (i.name = 'centre point'))) <> 1)))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Class_System_Assignment_For_Approval_Status FOR ( Applied_Classification_Assignment, Approval_Status); WHERE wr1 : SIZEOF(QUERY(ent <* Approval_Status | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'class system membership')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Class_System_Assignment_For_Class FOR ( Applied_Classification_Assignment, Class); WHERE wr1 : SIZEOF(QUERY(c <* Class | SIZEOF(QUERY(aca <* USEDIN(c, 'AUTOMOTIVE_DESIGN.CLASSIFICATION_ASSIGNMENT.ASSIGNED_CLASS') | (aca. role.name = 'class system membership') AND ('AUTOMOTIVE_DESIGN.' + 'APPLIED_CLASSIFICATION_ASSIGNMENT' IN TYPEOF(aca)))) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Class_System_Assignment_For_Descriptive_Representation_Item FOR ( Applied_Classification_Assignment, Descriptive_Representation_Item); WHERE wr1 : SIZEOF(QUERY(ent <* Descriptive_Representation_Item | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'class system membership')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Class_System_Assignment_For_Document_Type FOR ( Applied_Classification_Assignment, Document_Type); WHERE wr1 : SIZEOF(QUERY(ent <* Document_Type | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'class system membership')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Class_System_Assignment_For_Security_Classification_Level FOR ( Applied_Classification_Assignment, Security_Classification_Level); WHERE wr1 : SIZEOF(QUERY(ent <* Security_Classification_Level | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_CLASSIFICATION_ASSIGNMENT.ITEMS') | ia.role.name = 'class system membership')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Concept_Feature_Operator FOR (Concept_Feature_Operator); WHERE wr1 : SIZEOF(QUERY(cfo <* Concept_Feature_Operator | NOT (cfo.name IN ['and' , 'or', 'oneof', 'not', 'implication']))) = 0; wr2 : SIZEOF(QUERY(cfo <* Concept_Feature_Operator | (cfo.name = 'implication') AND (SIZEOF(QUERY(cfrwc <* USEDIN(cfo, 'AUTOMOTIVE_DESIGN.CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.CONDITIONAL_OPERATOR' ) | SIZEOF(QUERY(ccf <* USEDIN(cfrwc, 'AUTOMOTIVE_DESIGN.CONDITIONAL_CONCEPT_FEATURE.CONDITION') | NOT ( 'AUTOMOTIVE_DESIGN.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF(ccf )))) > 0)) > 0))) = 0; wr3 : SIZEOF(QUERY(cfo <* Concept_Feature_Operator | (cfo.name = 'not') AND ( SIZEOF(QUERY(cfrwc <* USEDIN(cfo, 'AUTOMOTIVE_DESIGN.CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.CONDITIONAL_OPERATOR' ) | cfrwc.related_product_concept_feature :<>: cfrwc. relating_product_concept_feature)) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Configuration_Design_For_Product_Class FOR (Configuration_Design , Product_Class); WHERE wr1 : SIZEOF(QUERY(cd <* Configuration_Design | (cd.name = 'functionality') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(cd. design)) OR (cd.design\Product_Definition.frame_of_reference.name <> 'functional definition')))) = 0; wr2 : SIZEOF(QUERY(cd <* Configuration_Design | (cd.name = 'realization') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(cd.design)) OR (cd.design\Product_Definition.frame_of_reference.name <> 'conceptual definition')))) = 0; wr3 : SIZEOF(QUERY(cd <* Configuration_Design | (cd.name IN ['functionality' , 'realization']) AND NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_CLASS' IN TYPEOF(cd.configuration.item_concept)))) = 0; wr4 : SIZEOF(QUERY(cd <* Configuration_Design | (cd.name = 'design constraint usage') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(cd.design)) OR (cd.design\Product_Definition .frame_of_reference.name <> 'design constraint definition')))) = 0; wr5 : SIZEOF(QUERY(cd <* Configuration_Design | (cd.name = 'physical instance basis') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(cd.design)) OR (cd.design\Product_Definition .frame_of_reference.name <> 'physical occurrence')))) = 0; wr6 : SIZEOF(QUERY(cd <* Configuration_Design | (cd.name = 'physical instance basis') AND NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF(cd.configuration)))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Default_Settings FOR (Applied_Document_Reference, Representation ); WHERE wr1 : (SIZEOF(QUERY(r <* Representation | (r.name = 'default tolerances') AND (r.context_of_items.context_type = 'default setting') AND (SIZEOF(r.items) <> 1))) = 0) AND (SIZEOF(QUERY(r <* Representation | (r.name = 'default tolerances') AND (r.context_of_items.context_type = 'default setting') AND (SIZEOF(QUERY(i <* r.items | ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'tolerance class'))) <> 1))) = 0); wr2 : SIZEOF(QUERY(r <* Representation | (r.name = 'default tolerances') AND (r.context_of_items.context_type = 'default setting') AND (SIZEOF(QUERY(adr <* USEDIN(r, 'AUTOMOTIVE_DESIGN.APPLIED_DOCUMENT_REFERENCE.ITEMS') | adr.role.name = 'general tolerance definition')) + SIZEOF(QUERY(rr <* USEDIN(r, 'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_2') | (rr. name = 'general tolerance definition') AND ('AUTOMOTIVE_DESIGN.' + 'DEFAULT_TOLERANCE_TABLE' IN TYPEOF(rr.rep_1)))) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Default_Thickness FOR (Representation); WHERE wr1 : (SIZEOF(QUERY(r <* Representation | (r.name = 'default thickness') AND (r.context_of_items.context_type = 'default setting') AND (SIZEOF(QUERY(i <* r.items | 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i))) > 1))) = 0) AND (SIZEOF(QUERY(r <* Representation | (r.name = 'default thickness') AND (r.context_of_items.context_type = 'default setting') AND (SIZEOF(QUERY(i <* r.items | ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name <> 'parameter name'))) > 0))) = 0); wr2 : (SIZEOF(QUERY(r <* Representation | (r.name = 'default thickness') AND (r.context_of_items.context_type = 'default setting') AND (SIZEOF(r.items) > 2))) = 0) AND (SIZEOF(QUERY(r <* Representation | (r.name = 'default thickness') AND (r.context_of_items.context_type = 'default setting') AND (SIZEOF(QUERY(i <* r.items | SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM'] * TYPEOF(i)) <> 1) ) > 0))) = 0); wr3 : SIZEOF(QUERY(r <* Representation | (r.name = 'default thickness') AND ( r.context_of_items.context_type = 'default setting') AND (SIZEOF(QUERY(i <* r.items | ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'thickness value'))) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Drawing FOR (Draughting_Title, Drawing_Revision); WHERE wr1 : SIZEOF(QUERY(dr <* Drawing_Revision | (SIZEOF(dr.areas) = 0) OR (SIZEOF (QUERY(ais <* dr.areas | NOT ('AUTOMOTIVE_DESIGN.' + 'DRAWING_SHEET_REVISION' IN TYPEOF(ais.area)))) > 0))) = 0; wr2 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(USEDIN(dr, 'AUTOMOTIVE_DESIGN.DRAUGHTING_TITLE.ITEMS')) > 1)) = 0; wr3 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(USEDIN(ais.area, 'AUTOMOTIVE_DESIGN.DRAUGHTING_TITLE.ITEMS')) > 1 )) > 0)) = 0; wr4 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(item <* ais.area.items | SIZEOF(TYPEOF(item) * [ 'AUTOMOTIVE_DESIGN.' + 'STYLED_ITEM', 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM', 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT', 'AUTOMOTIVE_DESIGN.' + 'PLANAR_BOX']) <> 1)) > 0)) > 0)) = 0; wr5 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(item <* ais.area.items | SIZEOF(TYPEOF(item) * [ 'AUTOMOTIVE_DESIGN.' + 'STYLED_ITEM', 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM']) = 0)) > 0)) > 0)) = 0; wr6 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(p_b <* QUERY(item <* ais.area.items | 'AUTOMOTIVE_DESIGN.' + 'PLANAR_BOX' IN TYPEOF(item)) | SIZEOF(USEDIN(p_b, 'AUTOMOTIVE_DESIGN.PRESENTATION_SIZE.SIZE')) <> 1)) > 0)) > 0)) = 0; wr7 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(mi <* QUERY(item <* ais.area.items | 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM' IN TYPEOF(item)) | 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_VIEW' IN TYPEOF(mi\Mapped_Item.mapping_source. mapped_representation))) = 0)) > 0)) = 0; wr8 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(a2p <* QUERY(item <* ais.area.items | 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT' IN TYPEOF(item)) | SIZEOF(USEDIN(a2p, 'AUTOMOTIVE_DESIGN.MAPPED_ITEM.MAPPING_TARGET')) = 0)) > 0)) > 0)) = 0; wr9 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(ais.area.context_of_items.representations_in_context) > 1)) > 0)) = 0; wr10 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(mi <* QUERY(item <* ais.area.items | 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM' IN TYPEOF(item)) | SIZEOF(USEDIN(mi\Mapped_Item. mapping_source.mapped_representation, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPED_REPRESENTATION')) <> 1)) > 0)) > 0)) = 0; wr11 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(mi <* QUERY(item <* ais.area.items | 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM' IN TYPEOF(item)) | SIZEOF(QUERY(pv_item <* mi\Mapped_Item. mapping_source.mapped_representation.items | SIZEOF(TYPEOF(pv_item) * [ 'AUTOMOTIVE_DESIGN.' + 'STYLED_ITEM', 'AUTOMOTIVE_DESIGN.' + 'CAMERA_IMAGE', 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT']) <> 1)) > 0)) > 0)) > 0)) = 0; wr12 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(mi <* QUERY(item <* ais.area.items | 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM' IN TYPEOF(item)) | SIZEOF(QUERY(a2p <* QUERY(pv_item <* mi \Mapped_Item.mapping_source.mapped_representation.items | 'AUTOMOTIVE_DESIGN.' + 'AXIS2_PLACEMENT' IN TYPEOF(pv_item)) | SIZEOF( QUERY(rm <* USEDIN(a2p, 'AUTOMOTIVE_DESIGN.REPRESENTATION_MAP.MAPPING_ORIGIN') | SIZEOF(QUERY(mi <* QUERY(item <* ais.area.items | 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM' IN TYPEOF(item)) | mi\Mapped_Item.mapping_source :=: rm)) > 0)) = 1)) <> 1) ) > 0)) > 0)) = 0; wr13 : SIZEOF(QUERY(dr <* Drawing_Revision | SIZEOF(QUERY(ais <* dr.areas | SIZEOF(QUERY(mi <* QUERY(item <* ais.area.items | 'AUTOMOTIVE_DESIGN.' + 'MAPPED_ITEM' IN TYPEOF(item)) | SIZEOF(mi\Mapped_Item.mapping_source. mapped_representation.context_of_items.representations_in_context) <> 1)) > 0)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Effectivity_Assignment_For_Class_Category_Usage FOR ( Applied_Effectivity_Assignment, Product_Concept_Feature_Category_Usage); WHERE wr1 : SIZEOF(QUERY(aea <* Applied_Effectivity_Assignment | (SIZEOF(QUERY(i <* aea.items | 'AUTOMOTIVE_DESIGN.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) ) > 0) AND ((SIZEOF(QUERY(i <* aea.items | 'AUTOMOTIVE_DESIGN.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) ) <> SIZEOF(aea.items)) OR (SIZEOF(TYPEOF(aea.assigned_effectivity) * [ 'AUTOMOTIVE_DESIGN.TIME_INTERVAL_BASED_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.DATED_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.SERIAL_NUMBERED_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.LOT_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_EFFECTIVITY']) > 0) OR (aea. assigned_effectivity.id <> 'class usage') OR (SIZEOF(QUERY(cueca <* USEDIN( aea, 'AUTOMOTIVE_DESIGN.EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT' ) | 'AUTOMOTIVE_DESIGN.CLASS_USAGE_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(cueca))) = 0)))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Effectivity_For_Effectivity_Relationship FOR ( Effectivity_Relationship); WHERE wr1 : SIZEOF(QUERY(er <* Effectivity_Relationship | (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'LOT_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'SERIAL_NUMBERED_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_EFFECTIVITY'] * TYPEOF(er.relating_effectivity)) > 0) OR (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'LOT_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'SERIAL_NUMBERED_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_EFFECTIVITY'] * TYPEOF(er. related_effectivity)) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Effectivity_Usage FOR (Configured_Effectivity_Assignment, Effectivity); WHERE wr1 : SIZEOF(QUERY(e <* Effectivity | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'DATED_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'TIME_INTERVAL_BASED_EFFECTIVITY'] * TYPEOF(e)) = 0) AND (SIZEOF(QUERY(er <* USEDIN(e, 'AUTOMOTIVE_DESIGN.EFFECTIVITY_RELATIONSHIP.RELATED_EFFECTIVITY') | er. name = 'inheritance')) = 0) AND (e.id = 'configuration validity') AND ( SIZEOF(QUERY(cea <* USEDIN(e, 'AUTOMOTIVE_DESIGN.EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY') | 'AUTOMOTIVE_DESIGN.' + 'CONFIGURED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF(cea ))) = 0) AND (e.id = 'class usage') AND (SIZEOF(QUERY(aea <* USEDIN(e, 'AUTOMOTIVE_DESIGN.EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY') | ( 'AUTOMOTIVE_DESIGN.' + 'APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF(aea)) AND (SIZEOF(QUERY(i <* aea.items | 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i))) > 0))) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Externally_Defined_Item_Relationship FOR ( Externally_Defined_Item_Relationship); WHERE wr1 : SIZEOF(QUERY(edir <* Externally_Defined_Item_Relationship | (edir.name = 'name scope') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_GENERAL_PROPERTY' IN TYPEOF(edir.relating_item)) OR NOT ('AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE' IN TYPEOF(edir.relating_item. Source)) OR NOT ('AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_CLASS' IN TYPEOF(edir.related_item)) OR NOT ('AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE' IN TYPEOF(edir.related_item.Source))))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Group_Relationship_For_General_Classification_Hierarchy FOR ( Class, Group_Relationship); WHERE wr1 : SIZEOF(QUERY(gr <* Group_Relationship | (gr.name = 'class hierarchy') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'CLASS' IN TYPEOF(gr.related_group)) OR NOT ('AUTOMOTIVE_DESIGN.' + 'CLASS' IN TYPEOF(gr.relating_group))))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Group_Relationship_For_Specification_Category FOR ( Group_Relationship, Product_Concept_Feature_Category); WHERE wr1 : SIZEOF(QUERY(gr <* Group_Relationship | (gr.name = 'specification category hierarchy') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.related_group)) OR NOT ( 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr. relating_group))))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Action FOR (Action); WHERE wr1 : SIZEOF(QUERY(ent <* Action | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0) ) = 0; wr2 : SIZEOF(QUERY(ent <* Action | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Action | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Action_Directive FOR (Action_Directive); WHERE wr1 : SIZEOF(QUERY(ent <* Action_Directive | SIZEOF(QUERY(mlaa <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'comment')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Action_Directive | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'comment')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Action_Directive | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Action_Method FOR (Action_Method); WHERE wr1 : SIZEOF(QUERY(ent <* Action_Method | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0) ) = 0; wr2 : SIZEOF(QUERY(ent <* Action_Method | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Action_Method | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Action_Property FOR (Action_Property); WHERE wr1 : SIZEOF(QUERY(ent <* Action_Property | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Action_Property | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Action_Property | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Action_Relationship FOR (Action_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Action_Relationship | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Action_Relationship | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Action_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Alternate_Product_Relationship FOR ( Alternate_Product_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Alternate_Product_Relationship | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'basis')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Alternate_Product_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'basis')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Alternate_Product_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Application_Context FOR (Application_Context); WHERE wr1 : SIZEOF(QUERY(ent <* Application_Context | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Application_Context | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Application_Context | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Approval_Relationship FOR ( Approval_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Approval_Relationship | SIZEOF(QUERY(mlaa <* USEDIN (ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Approval_Relationship | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Approval_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Assembly_Component_Usage_Substitute FOR ( Assembly_Component_Usage_Substitute); WHERE wr1 : SIZEOF(QUERY(ent <* Assembly_Component_Usage_Substitute | SIZEOF(QUERY( mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'definition')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Assembly_Component_Usage_Substitute | SIZEOF(QUERY( ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'definition')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Assembly_Component_Usage_Substitute | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Certification FOR (Certification); WHERE wr1 : SIZEOF(QUERY(ent <* Certification | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'name') AND (mlaa.attribute_name <> 'purpose'))) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Certification | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'name') AND (ala.attribute_name <> 'purpose'))) > 0)) = 0 ; wr3 : SIZEOF(QUERY(ent <* Certification | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Configuration_Design FOR (Configuration_Design ); WHERE wr1 : SIZEOF(QUERY(ent <* Configuration_Design | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Configuration_Design | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Configuration_Design | SIZEOF(QUERY(mlaa1 <* USEDIN (ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Configuration_Item FOR (Configuration_Item); WHERE wr1 : SIZEOF(QUERY(ent <* Configuration_Item | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | ( mlaa.attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Configuration_Item | SIZEOF(QUERY(ala <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Configuration_Item | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Contract FOR (Contract); WHERE wr1 : SIZEOF(QUERY(ent <* Contract | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'purpose')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Contract | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'purpose')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Contract | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Data_Environment FOR (Data_Environment); WHERE wr1 : SIZEOF(QUERY(ent <* Data_Environment | SIZEOF(QUERY(mlaa <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Data_Environment | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Data_Environment | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Date_Role FOR (Date_Role); WHERE wr1 : SIZEOF(QUERY(ent <* Date_Role | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Date_Role | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Date_Role | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Date_Time_Role FOR (Date_Time_Role); WHERE wr1 : SIZEOF(QUERY(ent <* Date_Time_Role | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Date_Time_Role | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Date_Time_Role | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Descriptive_Representation_Item FOR ( Descriptive_Representation_Item); WHERE wr1 : SIZEOF(QUERY(ent <* Descriptive_Representation_Item | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Descriptive_Representation_Item | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Descriptive_Representation_Item | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Document_Relationship FOR ( Document_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Document_Relationship | SIZEOF(QUERY(mlaa <* USEDIN (ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Document_Relationship | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Document_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Draughting_Title FOR (Draughting_Title); WHERE wr1 : SIZEOF(QUERY(ent <* Draughting_Title | SIZEOF(QUERY(mlaa <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'contents')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Draughting_Title | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'contents') AND (ala.attribute_name <> 'language'))) > 0) ) = 0; wr3 : SIZEOF(QUERY(ent <* Draughting_Title | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Effectivity FOR (Effectivity); WHERE wr1 : SIZEOF(QUERY(ent <* Effectivity | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Effectivity | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Effectivity | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Effectivity_Relationship FOR ( Effectivity_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Effectivity_Relationship | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Effectivity_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Effectivity_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Event_Occurrence FOR (Event_Occurrence); WHERE wr1 : SIZEOF(QUERY(ent <* Event_Occurrence | SIZEOF(QUERY(mlaa <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Event_Occurrence | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Event_Occurrence | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_External_Source FOR (External_Source); WHERE wr1 : SIZEOF(QUERY(ent <* External_Source | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* External_Source | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* External_Source | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_General_Property FOR (General_Property); WHERE wr1 : SIZEOF(QUERY(ent <* General_Property | SIZEOF(QUERY(mlaa <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* General_Property | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* General_Property | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_General_Property_Relationship FOR ( General_Property_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* General_Property_Relationship | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* General_Property_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* General_Property_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Geometric_Representation_Item FOR ( Geometric_Representation_Item); WHERE wr1 : SIZEOF(QUERY(ent <* Geometric_Representation_Item | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'name')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Geometric_Representation_Item | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'name')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Geometric_Representation_Item | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Geometric_Tolerance FOR (Geometric_Tolerance); WHERE wr1 : SIZEOF(QUERY(ent <* Geometric_Tolerance | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | ( mlaa.attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Geometric_Tolerance | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Geometric_Tolerance | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Group FOR (Group); WHERE wr1 : SIZEOF(QUERY(ent <* Group | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0) ) = 0; wr2 : SIZEOF(QUERY(ent <* Group | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Group | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Group_Relationship FOR (Group_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Group_Relationship | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Group_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Group_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Identification_Role FOR (Identification_Role); WHERE wr1 : SIZEOF(QUERY(ent <* Identification_Role | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Identification_Role | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Identification_Role | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Kinematic_Pair FOR (Kinematic_Pair); WHERE wr1 : SIZEOF(QUERY(ent <* Kinematic_Pair | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'name')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Kinematic_Pair | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'name')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Kinematic_Pair | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Mapped_Item FOR (Mapped_Item); WHERE wr1 : SIZEOF(QUERY(ent <* Mapped_Item | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'name')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Mapped_Item | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'name')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Mapped_Item | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Name_Assignment FOR (Name_Assignment); WHERE wr1 : SIZEOF(QUERY(ent <* Name_Assignment | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'assigned_name')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Name_Assignment | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'assigned_name')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Name_Assignment | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Organization_Relationship FOR ( Organization_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Organization_Relationship | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Organization_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Organization_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Organization_Role FOR (Organization_Role); WHERE wr1 : SIZEOF(QUERY(ent <* Organization_Role | SIZEOF(QUERY(mlaa <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Organization_Role | SIZEOF(QUERY(ala <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Organization_Role | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Organizational_Project FOR ( Organizational_Project); WHERE wr1 : SIZEOF(QUERY(ent <* Organizational_Project | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0) ) = 0; wr2 : SIZEOF(QUERY(ent <* Organizational_Project | SIZEOF(QUERY(ala <* USEDIN (ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Organizational_Project | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Organizational_Project_Relationship FOR ( Organizational_Project_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Organizational_Project_Relationship | SIZEOF(QUERY( mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Organizational_Project_Relationship | SIZEOF(QUERY( ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Organizational_Project_Relationship | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Pair_Actuator FOR (Pair_Actuator); WHERE wr1 : SIZEOF(QUERY(ent <* Pair_Actuator | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'name')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Pair_Actuator | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'name')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Pair_Actuator | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Person_And_Organization_Role FOR ( Person_And_Organization_Role); WHERE wr1 : SIZEOF(QUERY(ent <* Person_And_Organization_Role | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Person_And_Organization_Role | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Person_And_Organization_Role | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Presentation_Layer_Assignment FOR ( Presentation_Layer_Assignment); WHERE wr1 : SIZEOF(QUERY(ent <* Presentation_Layer_Assignment | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Presentation_Layer_Assignment | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Presentation_Layer_Assignment | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Process_Product_Association FOR ( Process_Product_Association); WHERE wr1 : SIZEOF(QUERY(ent <* Process_Product_Association | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Process_Product_Association | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Process_Product_Association | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product FOR (Product); WHERE wr1 : SIZEOF(QUERY(ent <* Product | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0) ) = 0; wr2 : SIZEOF(QUERY(ent <* Product | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Concept FOR (Product_Concept); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Concept | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0) ) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Concept | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Concept | SIZEOF(QUERY(mlaa1 <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Concept_Feature FOR ( Product_Concept_Feature); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Concept_Feature | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0) ) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Concept_Feature | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ( ala.attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Concept_Feature | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Concept_Feature_Association FOR ( Product_Concept_Feature_Association); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Concept_Feature_Association | SIZEOF(QUERY( mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Concept_Feature_Association | SIZEOF(QUERY( ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Concept_Feature_Association | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Concept_Relationship FOR ( Product_Concept_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Concept_Relationship | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Concept_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Concept_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Definition FOR (Product_Definition); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Definition | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | ( mlaa.attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Definition | SIZEOF(QUERY(ala <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Definition | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Definition_Formation FOR ( Product_Definition_Formation); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Definition_Formation | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Definition_Formation | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Definition_Formation | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Definition_Formation_Relationship FOR (Product_Definition_Formation_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Definition_Formation_Relationship | SIZEOF( QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Definition_Formation_Relationship | SIZEOF( QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Definition_Formation_Relationship | SIZEOF( QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Definition_Relationship FOR ( Product_Definition_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Definition_Relationship | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Definition_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Definition_Relationship | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Definition_Substitute FOR ( Product_Definition_Substitute); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Definition_Substitute | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Definition_Substitute | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Definition_Substitute | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Product_Related_Product_Category FOR ( Product_Related_Product_Category); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Related_Product_Category | SIZEOF(QUERY( mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Product_Related_Product_Category | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Product_Related_Product_Category | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Property_Definition FOR (Property_Definition); WHERE wr1 : SIZEOF(QUERY(ent <* Property_Definition | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | ( mlaa.attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Property_Definition | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Property_Definition | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Property_Definition_Relationship FOR ( Property_Definition_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Property_Definition_Relationship | SIZEOF(QUERY( mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Property_Definition_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Property_Definition_Relationship | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Representation FOR (Representation); WHERE wr1 : SIZEOF(QUERY(ent <* Representation | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'description') AND (mlaa.attribute_name <> 'name'))) > 0) ) = 0; wr2 : SIZEOF(QUERY(ent <* Representation | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala. attribute_name <> 'description') AND (ala.attribute_name <> 'name'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Representation | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Representation_Relationship FOR ( Representation_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Representation_Relationship | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Representation_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Representation_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Requirement_For_Action_Resource FOR ( Requirement_For_Action_Resource); WHERE wr1 : SIZEOF(QUERY(ent <* Requirement_For_Action_Resource | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Requirement_For_Action_Resource | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Requirement_For_Action_Resource | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Resource_Property FOR (Resource_Property); WHERE wr1 : SIZEOF(QUERY(ent <* Resource_Property | SIZEOF(QUERY(mlaa <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Resource_Property | SIZEOF(QUERY(ala <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Resource_Property | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Resource_Requirement_Type FOR ( Resource_Requirement_Type); WHERE wr1 : SIZEOF(QUERY(ent <* Resource_Requirement_Type | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Resource_Requirement_Type | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Resource_Requirement_Type | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Security_Classification FOR ( Security_Classification); WHERE wr1 : SIZEOF(QUERY(ent <* Security_Classification | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa. attribute_name <> 'name') AND (mlaa.attribute_name <> 'purpose'))) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Security_Classification | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ( ala.attribute_name <> 'name') AND (ala.attribute_name <> 'purpose'))) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Security_Classification | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Shape_Aspect FOR (Shape_Aspect); WHERE wr1 : SIZEOF(QUERY(ent <* Shape_Aspect | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Shape_Aspect | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Shape_Aspect | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Shape_Aspect_Relationship FOR ( Shape_Aspect_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Shape_Aspect_Relationship | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Shape_Aspect_Relationship | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Shape_Aspect_Relationship | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Styled_Item FOR (Styled_Item); WHERE wr1 : SIZEOF(QUERY(ent <* Styled_Item | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'name')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Styled_Item | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'name')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Styled_Item | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Time_Interval_Role FOR (Time_Interval_Role); WHERE wr1 : SIZEOF(QUERY(ent <* Time_Interval_Role | SIZEOF(QUERY(mlaa <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Time_Interval_Role | SIZEOF(QUERY(ala <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Time_Interval_Role | SIZEOF(QUERY(mlaa1 <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Topological_Representation_Item FOR ( Topological_Representation_Item); WHERE wr1 : SIZEOF(QUERY(ent <* Topological_Representation_Item | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'name')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Topological_Representation_Item | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'name')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Topological_Representation_Item | SIZEOF(QUERY( mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Uncertainty_Measure_With_Unit FOR ( Uncertainty_Measure_With_Unit); WHERE wr1 : SIZEOF(QUERY(ent <* Uncertainty_Measure_With_Unit | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Uncertainty_Measure_With_Unit | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Uncertainty_Measure_With_Unit | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Uncertainty_Qualifier FOR ( Uncertainty_Qualifier); WHERE wr1 : SIZEOF(QUERY(ent <* Uncertainty_Qualifier | SIZEOF(QUERY(mlaa <* USEDIN (ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa.attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Uncertainty_Qualifier | SIZEOF(QUERY(ala <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Uncertainty_Qualifier | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Versioned_Action_Request FOR ( Versioned_Action_Request); WHERE wr1 : SIZEOF(QUERY(ent <* Versioned_Action_Request | SIZEOF(QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Versioned_Action_Request | SIZEOF(QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala.attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Versioned_Action_Request | SIZEOF(QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Multi_Language_For_Versioned_Action_Request_Relationship FOR ( Versioned_Action_Request_Relationship); WHERE wr1 : SIZEOF(QUERY(ent <* Versioned_Action_Request_Relationship | SIZEOF( QUERY(mlaa <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | mlaa. attribute_name <> 'description')) > 0)) = 0; wr2 : SIZEOF(QUERY(ent <* Versioned_Action_Request_Relationship | SIZEOF( QUERY(ala <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | ala. attribute_name <> 'description')) > 0)) = 0; wr3 : SIZEOF(QUERY(ent <* Versioned_Action_Request_Relationship | SIZEOF( QUERY(mlaa1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | SIZEOF( QUERY(mlaa2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (mlaa1. attribute_name = mlaa2.attribute_name) AND (mlaa1.Language = mlaa2.Language ))) > 1)) + SIZEOF(QUERY(ala1 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | SIZEOF(QUERY( ala2 <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ala1. attribute_name = ala2.attribute_name) AND (ala1.Language = ala2.Language))) > 1)) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Name_Assignment_For_Kinematic_Joint FOR (Kinematic_Joint); WHERE wr1 : SIZEOF(QUERY(ent <* Kinematic_Joint | SIZEOF(USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_NAME_ASSIGNMENT.ITEMS')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Name_Assignment_For_Kinematic_Link FOR (Kinematic_Link); WHERE wr1 : SIZEOF(QUERY(ent <* Kinematic_Link | SIZEOF(USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_NAME_ASSIGNMENT.ITEMS')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Name_Assignment_For_Kinematic_Structure FOR (Kinematic_Structure ); WHERE wr1 : SIZEOF(QUERY(ent <* Kinematic_Structure | SIZEOF(USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_NAME_ASSIGNMENT.ITEMS')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Name_For_Known_Source FOR (Known_Source); WHERE wr1 : SIZEOF(QUERY(ks <* Known_Source | ks.name <> 'ISO 13584 library')) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Part_Occurrence FOR (Product_Definition, Product_Definition_Occurrence_Relationship); WHERE wr1 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'part occurrence') AND NOT (pd.name IN ['single instance', 'selected instance', 'quantified instance', 'specified instance']))) = 0; wr2 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'part occurrence') AND (SIZEOF(QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | pdr.name = 'definition usage')) <> 1) AND (SIZEOF(QUERY(cd <* USEDIN(pd , 'AUTOMOTIVE_DESIGN.CONFIGURATION_DESIGN.DESIGN') | (cd.name = 'occurrence usage definition') AND NOT ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF(cd.configuration)))) <> 1))) = 0; wr3 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'part occurrence') AND (SIZEOF(QUERY(cd <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_USAGE' IN TYPEOF(cd))) = 0) AND (SIZEOF(USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' )) = 0))) = 0; wr4 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'part occurrence') AND (pd.name = 'selected instance') AND (SIZEOF(QUERY( prd <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | (prd.name = 'occurrence selection') AND (SIZEOF(QUERY(pdr <* USEDIN(prd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ( pdr.used_representation.name = 'selection criteria') AND (SIZEOF(pdr. used_representation.items) = 2) AND (SIZEOF(QUERY(i <* pdr. used_representation.items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE'] * TYPEOF(i)) = 1) AND (i.name = 'selection quantity'))) = 1) AND (SIZEOF( QUERY(i <* pdr.used_representation.items | ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'selection control'))) = 1))) = 1))) = 0))) = 0; wr5 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'part occurrence') AND (pd.name = 'quantified instance') AND (SIZEOF(QUERY( ppd <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | (ppd.name = 'occurrence quantity') AND (SIZEOF(QUERY(pdr <* USEDIN(ppd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ( pdr.used_representation.name = 'quantity') AND (SIZEOF(pdr. used_representation.items) = 1) AND (SIZEOF(QUERY(i <* pdr. used_representation.items | ('AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'quantity measure'))) = 1))) = 1))) = 0))) = 0; wr6 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'part occurrence') AND (pd.name = 'specified instance') AND (SIZEOF(QUERY( pdor <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) | 'AUTOMOTIVE_DESIGN.' + 'SPECIFIED_HIGHER_USAGE_OCCURRENCE' IN TYPEOF (pdor.occurrence_usage))) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Process_Product_Association FOR (Process_Product_Association); WHERE wr1 : SIZEOF(QUERY(ppa <* Process_Product_Association | NOT (ppa.name IN [ 'input', 'output', 'produced output']))) = 0; wr2 : SIZEOF(QUERY(ppa <* Process_Product_Association | NOT (ppa.name IN [ 'input', 'output']) OR (SIZEOF(QUERY(ar <* USEDIN(ppa.process, 'AUTOMOTIVE_DESIGN.ACTION_RELATIONSHIP.RELATED_ACTION') | ar.name = 'process operation occurrence')) = 0))) = 0; wr3 : SIZEOF(QUERY(ppa <* Process_Product_Association | (ppa.name <> 'produced output') OR ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION' IN TYPEOF(ppa.defined_product)) AND (SIZEOF(QUERY(prpc <* USEDIN(ppa. defined_product\Product_Definition.formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name IN ['part', 'tool', 'raw material'])) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Product_Categories_For_Tool_Part_Relationship FOR ( Product_Definition_Relationship); WHERE wr1 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'tool part relationship') AND ((SIZEOF(QUERY(prpc <* USEDIN(pdr. relating_product_definition.formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'tool')) < 1) OR (SIZEOF(QUERY(prpc <* USEDIN(pdr. related_product_definition.formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'part')) < 1)))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Product_Category_For_Product FOR (Product); WHERE wr1 : SIZEOF(QUERY(p <* Product | SIZEOF(QUERY(prpc <* USEDIN(p, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name IN ['part', 'raw material', 'tool', 'document', 'functionality', 'conceptual product', 'alternative solution', 'requirement', 'physically realized product', 'tool', 'raw material'])) = 0)) = 0; wr2 : SIZEOF(QUERY(p <* Product | SIZEOF(QUERY(prpc <* USEDIN(p, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name IN ['part', 'raw material', 'tool', 'document', 'functionality', 'conceptual product', 'alternative solution', 'requirement', 'physically realized product'])) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Product_Definition_Context_For_External_Properties FOR ( General_Property_Association, Product_Definition); WHERE wr1 : SIZEOF(QUERY(pd <* Product_Definition | (SIZEOF(QUERY(propd <* USEDIN( pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | SIZEOF(QUERY( gpa <* USEDIN(propd, 'AUTOMOTIVE_DESIGN.GENERAL_PROPERTY_ASSOCIATION.DERIVED_DEFINITION') | 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_GENERAL_PROPERTY' IN TYPEOF( gpa.base_definition))) > 0)) > 0) AND (SIZEOF(QUERY(pdca <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | (pdca.frame_of_reference.name = 'external') AND (pdca.role.name = 'external'))) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Product_Definition_Context_For_Product FOR (Product_Definition, Product_Related_Product_Category); WHERE wr1 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name IN ['part definition', 'part occurrence']) AND (SIZEOF(QUERY(prpc <* USEDIN(pd .formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name IN ['part', 'raw material', 'tool'])) = 0))) = 0; wr2 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'functional definition') AND (SIZEOF(QUERY(prpc <* USEDIN(pd.formation. of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'functionality')) = 0))) = 0; wr3 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'conceptual definition') AND (SIZEOF(QUERY(prpc <* USEDIN(pd.formation. of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'conceptual product')) = 0))) = 0; wr4 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'alternative definition') AND (SIZEOF(QUERY(prpc <* USEDIN(pd.formation. of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'alternative solution')) = 0))) = 0; wr5 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'design constraint definition') AND (SIZEOF(QUERY(prpc <* USEDIN(pd. formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'requirement')) = 0))) = 0; wr6 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'physical occurrence') AND (SIZEOF(QUERY(prpc <* USEDIN(pd.formation. of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'physically realized product')) = 0))) = 0; wr7 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name = 'physical document definition') AND (SIZEOF(QUERY(prpc <* USEDIN(pd. formation.of_product, 'AUTOMOTIVE_DESIGN.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc. name = 'document')) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Product_Definition_For_Mating_Tree FOR (Product_Definition); WHERE wr1 : SIZEOF(QUERY(pd <* Product_Definition | (SIZEOF(QUERY(pdca <* USEDIN(pd , 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | pdca.frame_of_reference.name = 'mating definition')) = 1) AND (SIZEOF( QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION' ) | pdr.name = 'mating membership')) <> 2))) = 0; wr2 : SIZEOF(QUERY(pd <* Product_Definition | (SIZEOF(QUERY(pdca <* USEDIN(pd , 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | pdca.frame_of_reference.name = 'mating definition')) = 1) AND NOT ({1 <= SIZEOF(QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION' ) | (pdr.name = 'mating membership') AND (pdr.related_product_definition. frame_of_reference.name = 'part occurrence'))) <= 2}))) = 0; wr3 : SIZEOF(QUERY(pd <* Product_Definition | (SIZEOF(QUERY(pdca <* USEDIN(pd , 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | pdca.frame_of_reference.name = 'mating definition')) = 1) AND (SIZEOF( QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION' ) | (pdr.name = 'mating membership') AND (SIZEOF(QUERY(pdca <* USEDIN(pdr. related_product_definition, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | pdca.frame_of_reference.name = 'mating definition')) = 1))) > 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Product_Definition_Substitute FOR (Product_Definition_Substitute ); WHERE wr1 : SIZEOF(QUERY(pds <* Product_Definition_Substitute | SIZEOF(USEDIN(pds, 'AUTOMOTIVE_DESIGN.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS')) = 0)) = 0; wr2 : SIZEOF(QUERY(pds <* Product_Definition_Substitute | pds. substitute_definition.frame_of_reference.name <> 'part occurrence')) = 0; wr3 : SIZEOF(QUERY(pds <* Product_Definition_Substitute | ( 'AUTOMOTIVE_DESIGN.' + 'ASSEMBLY_COMPONENT_USAGE' IN TYPEOF(pds. context_relationship)) AND (SIZEOF(USEDIN(pds.context_relationship, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE_USAGE' )) = 0) AND ('AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(pds.context_relationship)) AND (pds.context_relationship. related_product_definition.frame_of_reference.name <> 'part occurrence'))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Product_Definitions_For_Product_Definition_Relationship FOR ( Assembly_Component_Usage, Product_Definition_Relationship); WHERE wr1 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'definition usage') AND ((pdr.relating_product_definition. frame_of_reference.name <> 'part definition') OR (pdr. related_product_definition.frame_of_reference.name <> 'part occurrence')))) = 0; wr2 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name IN [ 'geometrical relationship', 'definition replacement']) AND ((pdr. relating_product_definition.frame_of_reference.name <> 'part definition') OR (pdr.related_product_definition.frame_of_reference.name <> 'part definition')))) = 0; wr3 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | ( 'AUTOMOTIVE_DESIGN.' + 'ASSEMBLY_COMPONENT_USAGE' IN TYPEOF(pdr)) AND (( pdr.relating_product_definition.frame_of_reference.name <> 'part definition') OR (pdr.related_product_definition.frame_of_reference. name <> 'part definition')) AND ((pdr.relating_product_definition. frame_of_reference.name <> 'physical occurrence') OR (pdr. related_product_definition.frame_of_reference.name <> 'physical occurrence' )))) = 0; wr4 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | ( 'AUTOMOTIVE_DESIGN.' + 'ASSEMBLY_COMPONENT_USAGE' IN TYPEOF(pdr)) AND ( pdr.name = 'selected instance usage') AND ((pdr.relating_product_definition .frame_of_reference.name <> 'part definition') OR (pdr. related_product_definition.frame_of_reference.name <> 'part definition')))) = 0; wr5 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'physical realization') AND ((pdr.relating_product_definition. frame_of_reference.name <> 'part definition') OR (pdr. related_product_definition.frame_of_reference.name <> 'physical occurrence' )))) = 0; wr6 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'physical occurrence usage') AND (NOT ('AUTOMOTIVE_DESIGN.' + 'ASSEMBLY_COMPONENT_USAGE' IN TYPEOF(pdr)) OR (pdr. relating_product_definition.frame_of_reference.name <> 'physical occurrence') OR (pdr.related_product_definition. frame_of_reference.name <> 'physical occurrence')))) = 0; wr7 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'solution alternative definition') AND (NOT (pdr. relating_product_definition.frame_of_reference.name IN [ 'alternative definition', 'functional definition', 'conceptual definition'] ) OR (pdr.related_product_definition.frame_of_reference.name <> 'alternative definition')))) = 0; wr8 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'collection membership') AND ((pdr.relating_product_definition. frame_of_reference.name <> 'part definition') OR (pdr. related_product_definition.frame_of_reference.name <> 'part occurrence') OR (SIZEOF(QUERY(pdca <* USEDIN(pdr.relating_product_definition, 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | (pdca.role.name = 'part definition type') AND (pdca.frame_of_reference. name = 'collection definition'))) = 0)))) = 0; wr9 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'design constraint association') AND ((pdr.relating_product_definition. frame_of_reference.name <> 'design constraint definition') OR NOT (pdr. related_product_definition.frame_of_reference.name IN [ 'alternative definition', 'functional definition', 'conceptual definition'] )))) = 0; wr10 : SIZEOF(QUERY(pdr <* Product_Definition_Relationship | (pdr.name = 'final specification') AND (NOT (pdr.relating_product_definition.name IN [ 'final', 'technical final', 'supplier final', 'technical supplier final']) OR (pdr.relating_product_definition.frame_of_reference.name <> 'alternative definition') OR NOT (pdr.related_product_definition. frame_of_reference.name IN ['part definition', 'physical occurrence'])))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Properties_Of_Document_File FOR (Document_File); WHERE wr1 : SIZEOF(QUERY(df <* Document_File | SIZEOF(QUERY(pd <* USEDIN(df, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | pd.name = 'document property')) > 1)) = 0; wr2 : SIZEOF(QUERY(df <* Document_File | SIZEOF(QUERY(rt <* df. representation_types | ('AUTOMOTIVE_DESIGN.' + 'DOCUMENT_REPRESENTATION_TYPE' IN TYPEOF(rt)) AND (rt.name IN ['digital', 'physical']))) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Properties_Of_Document_Representation FOR (Product_Definition); WHERE wr1 : SIZEOF(QUERY(pd <* Product_Definition | (pd.frame_of_reference.name IN ['physical document definition', 'digital document definition', 'physical model occurrence']) AND (SIZEOF(QUERY(pd1 <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | pd1.name = 'document property')) > 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Representation_For_Document_Content_Property FOR (Representation , Representation_Item); WHERE wr1 : SIZEOF(QUERY(r <* Representation | (r.name = 'document content') AND (( SIZEOF(r.items) < 1) OR (SIZEOF(r.items) > 3)))) = 0; wr2 : SIZEOF(QUERY(ri <* Representation_Item | (SIZEOF(QUERY(r <* USEDIN(ri, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | r.name = 'document content') ) > 0) AND NOT (ri.name IN ['detail level', 'geometry type', 'real world scale']))) = 0; wr3 : SIZEOF(QUERY(r <* Representation | (r.name = 'document content') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'detail level') AND ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) > 1))) = 0; wr4 : SIZEOF(QUERY(r <* Representation | (r.name = 'document content') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'geometry type') AND ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) > 1))) = 0; wr5 : SIZEOF(QUERY(r <* Representation | (r.name = 'document content') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'real world scale') AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_REPRESENTATION_ITEM'] * TYPEOF(i)) = 1))) > 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Representation_For_Document_Creation_Property FOR (Representation , Representation_Item); WHERE wr1 : SIZEOF(QUERY(r <* Representation | (r.name = 'document creation') AND ( (SIZEOF(r.items) < 1) OR (SIZEOF(r.items) > 3)))) = 0; wr2 : SIZEOF(QUERY(ri <* Representation_Item | (SIZEOF(QUERY(r <* USEDIN(ri, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | r.name = 'document creation' )) > 0) AND NOT (ri.name IN ['creating interface', 'creating system', 'operating system']))) = 0; wr3 : SIZEOF(QUERY(r <* Representation | (r.name = 'document creation') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'creating interface') AND ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) > 1))) = 0; wr4 : SIZEOF(QUERY(r <* Representation | (r.name = 'document creation') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'creating system') AND ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) <> 1))) = 0; wr5 : SIZEOF(QUERY(r <* Representation | (r.name = 'document creation') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'operating system') AND ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) > 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Representation_For_Document_Format_Property FOR (Representation, Representation_Item); WHERE wr1 : SIZEOF(QUERY(r <* Representation | (r.name = 'document format') AND (( SIZEOF(r.items) < 1) OR (SIZEOF(r.items) > 3)))) = 0; wr2 : SIZEOF(QUERY(ri <* Representation_Item | (SIZEOF(QUERY(r <* USEDIN(ri, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | r.name = 'document format')) > 0) AND NOT (ri.name IN ['character code', 'data format', 'size format']) )) = 0; wr3 : SIZEOF(QUERY(r <* Representation | (r.name = 'document format') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'character code') AND ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) > 1))) = 0; wr4 : SIZEOF(QUERY(r <* Representation | (r.name = 'document format') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'data format') AND ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) > 1))) = 0; wr5 : SIZEOF(QUERY(r <* Representation | (r.name = 'document format') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'size format') AND ( 'AUTOMOTIVE_DESIGN.' + 'PLANAR_EXTENT' IN TYPEOF(i)))) > 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Representation_For_Document_Properties FOR (Property_Definition, Representation, Representation_Context); WHERE wr1 : SIZEOF(QUERY(pd <* Property_Definition | (pd.name = 'document property' ) AND (SIZEOF(QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | NOT (pdr.used_representation.name IN ['document content', 'document creation', 'document format', 'document size']))) > 0))) = 0; wr2 : SIZEOF(QUERY(r <* Representation | (r.name IN ['document content', 'document creation', 'document format', 'document size']) AND (SIZEOF( QUERY(pdr <* USEDIN(r, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | ('AUTOMOTIVE_DESIGN.' + 'PROPERTY_DEFINITION' IN TYPEOF(pdr. definition)) AND (pdr.definition.name = 'document property'))) = 0))) = 0; wr3 : SIZEOF(QUERY(r <* Representation | (r.name IN ['document content', 'document creation', 'document format', 'document size']) AND (r. context_of_items.context_type <> 'document parameters'))) = 0; wr4 : SIZEOF(QUERY(rc <* Representation_Context | (rc.context_type = 'document parameters') AND (SIZEOF(QUERY(r <* USEDIN(rc, 'AUTOMOTIVE_DESIGN.REPRESENTATION.CONTEXT_OF_ITEMS') | NOT (r.name IN [ 'document content', 'document creation', 'document format', 'document size' ]))) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Representation_For_Document_Size_Property FOR (Representation, Representation_Item); WHERE wr1 : SIZEOF(QUERY(r <* Representation | (r.name = 'document size') AND (( SIZEOF(r.items) < 1) OR (SIZEOF(r.items) > 2)))) = 0; wr2 : SIZEOF(QUERY(ri <* Representation_Item | (SIZEOF(QUERY(r <* USEDIN(ri, 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS') | r.name = 'document size')) > 0) AND NOT (ri.name IN ['file size', 'page count']))) = 0; wr3 : SIZEOF(QUERY(r <* Representation | (r.name = 'document size') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'file size') AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE', 'AUTOMOTIVE_DESIGN.' + 'VALUE_REPRESENTATION_ITEM'] * TYPEOF(i)) = 1))) > 1))) = 0; wr4 : SIZEOF(QUERY(r <* Representation | (r.name = 'document size') AND ( SIZEOF(QUERY(i <* r.items | (i.name = 'page count') AND (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE', 'AUTOMOTIVE_DESIGN.' + 'VALUE_REPRESENTATION_ITEM'] * TYPEOF(i)) = 1))) > 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Representation_For_Surface_Condition FOR ( Property_Definition_Representation); WHERE wr1 : SIZEOF(QUERY(pdr <* Property_Definition_Representation | ( 'AUTOMOTIVE_DESIGN.' + 'PROPERTY_DEFINITION' IN TYPEOF(pdr.definition)) AND NOT Surface_Condition_Correlation(pdr.definition, pdr. used_representation))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Representation_Item_For_Hybrid_Geometric_Model_3d FOR ( Shape_Representation); WHERE wr1 : SIZEOF(QUERY(sr <* Shape_Representation | (sr.name = 'hybrid 3d shape representation') AND (SIZEOF(QUERY(i <* sr.items | NOT ( 'AUTOMOTIVE_DESIGN.' + 'GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(i)))) > 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Treatment_Result FOR (Representation); WHERE wr1 : (SIZEOF(QUERY(r <* Representation | (r.name = 'treatment result') AND ( SIZEOF(r.items) > 2))) = 0) AND (SIZEOF(QUERY(r <* Representation | (r.name = 'treatment result') AND (SIZEOF(QUERY(i <* r.items | NOT ( 'AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)))) > 0))) = 0); wr2 : SIZEOF(QUERY(r <* Representation | (r.name = 'treatment result') AND ( SIZEOF(QUERY(i <* r.items | i.name = 'result')) = 0))) = 0; wr3 : SIZEOF(QUERY(r <* Representation | (r.name = 'treatment result') AND ( SIZEOF(QUERY(i <* r.items | i.name = 'purpose')) > 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Action FOR (Action); WHERE wr1 : SIZEOF(QUERY(ent <* Action | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Action_Directive FOR (Action_Directive); WHERE wr1 : SIZEOF(QUERY(ent <* Action_Directive | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Action_Method FOR (Action_Method); WHERE wr1 : SIZEOF(QUERY(ent <* Action_Method | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Applied_Identification_Assignment FOR ( Applied_Identification_Assignment); WHERE wr1 : SIZEOF(QUERY(ent <* Applied_Identification_Assignment | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Class FOR (Class); WHERE wr1 : SIZEOF(QUERY(ent <* Class | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Configuration_Item FOR (Configuration_Item ); WHERE wr1 : SIZEOF(QUERY(ent <* Configuration_Item | SIZEOF(QUERY(ia <* USEDIN(ent , 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role .name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Document_File FOR (Document_File); WHERE wr1 : SIZEOF(QUERY(ent <* Document_File | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Draughting_Model FOR (Draughting_Model); WHERE wr1 : SIZEOF(QUERY(ent <* Draughting_Model | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Effectivity FOR (Effectivity); WHERE wr1 : SIZEOF(QUERY(ent <* Effectivity | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_General_Property FOR (General_Property); WHERE wr1 : SIZEOF(QUERY(ent <* General_Property | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Mechanical_Design_Geometric_Presentation_Representation FOR (Mechanical_Design_Geometric_Presentation_Representation); WHERE wr1 : SIZEOF(QUERY(ent <* Mechanical_Design_Geometric_Presentation_Representation | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Presentation_Area FOR (Presentation_Area); WHERE wr1 : SIZEOF(QUERY(ent <* Presentation_Area | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Product_Concept FOR (Product_Concept); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Concept | SIZEOF(QUERY(ia <* USEDIN(ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia.role. name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Product_Concept_Feature FOR ( Product_Concept_Feature); WHERE wr1 : SIZEOF(QUERY(ent <* Product_Concept_Feature | SIZEOF(QUERY(ia <* USEDIN (ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia. role.name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Version_Assignment_For_Shape_Representation FOR ( Shape_Representation); WHERE wr1 : SIZEOF(QUERY(ent <* Shape_Representation | SIZEOF(QUERY(ia <* USEDIN( ent, 'AUTOMOTIVE_DESIGN.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS') | ia. role.name = 'version')) > 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Viewing_Plane_Usage FOR (Geometric_Tolerance); WHERE wr1 : SIZEOF(QUERY(gt <* Geometric_Tolerance | SIZEOF(QUERY(sar <* USEDIN(gt. toleranced_shape_aspect, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | sar.name = 'affected plane association')) > 1)) = 0; wr2 : SIZEOF(QUERY(gt <* Geometric_Tolerance | SIZEOF(QUERY(sar <* USEDIN(gt. toleranced_shape_aspect, 'AUTOMOTIVE_DESIGN.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ( sar.name = 'affected plane association') AND NOT (SIZEOF([ 'AUTOMOTIVE_DESIGN.' + 'LINE_PROFILE_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'PARALLELISM_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'PERPENDICULARITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'POSITION_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'STRAIGHTNESS_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'SYMMETRY_TOLERANCE'] * TYPEOF(gt)) <> 1))) > 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Restrict_Zone_Boundary FOR (Tolerance_Zone_Definition); WHERE wr1 : SIZEOF(QUERY(tzd <* Tolerance_Zone_Definition | SIZEOF(tzd.boundaries) > 2)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Retention_Requires_Retention_Assignment FOR (Retention); WHERE wr1 : SIZEOF(QUERY(r <* Retention | SIZEOF(QUERY(aa <* USEDIN(r, 'AUTOMOTIVE_DESIGN.ACTION_ASSIGNMENT.ASSIGNED_ACTION') | ( 'AUTOMOTIVE_DESIGN.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(aa)) AND ( aa.role.name = 'retention'))) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Security_Classification_Requires_Security_Classification_Assignment FOR ( Security_Classification); WHERE wr1 : SIZEOF(QUERY(sc <* Security_Classification | SIZEOF(USEDIN(sc, 'AUTOMOTIVE_DESIGN.SECURITY_CLASSIFICATION_ASSIGNMENT.ASSIGNED_SECURITY_CLASSIFICATION' )) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Selected_Instance_Usage_Requires_Representation FOR ( Assembly_Component_Usage, Representation); WHERE wr1 : SIZEOF(QUERY(acr <* Assembly_Component_Usage | (acr.name = 'selected instance usage') AND (SIZEOF(QUERY(pd <* USEDIN(acr, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION') | (pd.name = 'occurrence selection') AND (SIZEOF(QUERY(pdr <* USEDIN(pd, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ( pdr.used_representation.name = 'selection criteria') AND (SIZEOF(pdr. used_representation.items) = 2) AND (SIZEOF(QUERY(i <* pdr. used_representation.items | (SIZEOF(['AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE'] * TYPEOF(i)) = 1) AND (i.name = 'selection quantity'))) = 1) AND (SIZEOF( QUERY(i <* pdr.used_representation.items | ('AUTOMOTIVE_DESIGN.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (i.name = 'selection control'))) = 1))) > 0))) = 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Sheets_Belong_To_One_Drawing FOR (Drawing_Sheet_Revision); WHERE wr1 : SIZEOF(QUERY(dsr <* Drawing_Sheet_Revision | SIZEOF(QUERY(dsru <* USEDIN(dsr, 'AUTOMOTIVE_DESIGN.AREA_IN_SET.AREA') | 'AUTOMOTIVE_DESIGN.' + 'DRAWING_SHEET_REVISION_USAGE' IN TYPEOF(dsru))) <> 1)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Styled_Curve FOR (Styled_Item); WHERE wr1 : SIZEOF(QUERY(si <* Styled_Item | ('AUTOMOTIVE_DESIGN.' + 'CURVE' IN TYPEOF(si.item)) AND (SIZEOF(QUERY(psa <* si.styles | SIZEOF(QUERY(cs <* psa.styles | 'AUTOMOTIVE_DESIGN.' + 'CURVE_STYLE' IN TYPEOF(cs))) > 0)) <> 1))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Action FOR (Action); WHERE wr1 : SIZEOF(QUERY(a <* Action | NOT Type_Check_Function(a, [ 'AUTOMOTIVE_DESIGN.' + 'ELEMENT_DELIVERY', 'AUTOMOTIVE_DESIGN.' + 'EXECUTED_ACTION', 'AUTOMOTIVE_DESIGN.' + 'PROCESS_PLAN', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_PROCESS', 'AUTOMOTIVE_DESIGN.' + 'PROPERTY_PROCESS', 'AUTOMOTIVE_DESIGN.' + 'RETENTION'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Characterized_Object FOR (Characterized_Object); WHERE wr1 : SIZEOF(QUERY(co <* Characterized_Object | NOT Type_Check_Function(co, [ 'AUTOMOTIVE_DESIGN.' + 'CHARACTERIZED_CLASS', 'AUTOMOTIVE_DESIGN.' + 'DOCUMENT_FILE', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CLASS', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_IDENTIFICATION'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Classification_Assignment FOR ( Classification_Assignment); WHERE wr1 : SIZEOF(QUERY(ca <* Classification_Assignment | NOT Type_Check_Function( ca, ['AUTOMOTIVE_DESIGN.' + 'APPLIED_CLASSIFICATION_ASSIGNMENT', 'AUTOMOTIVE_DESIGN.' + 'LANGUAGE_ASSIGNMENT'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Colour FOR (Colour); WHERE wr1 : SIZEOF(QUERY(c <* Colour | NOT Type_Check_Function(c, [ 'AUTOMOTIVE_DESIGN.' + 'COLOUR_SPECIFICATION', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_COLOUR'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Compound_Representation_Item FOR ( Compound_Representation_Item); WHERE wr1 : SIZEOF(QUERY(cri <* Compound_Representation_Item | NOT Type_Check_Function(cri, ['AUTOMOTIVE_DESIGN.' + 'DEFAULT_TOLERANCE_TABLE_CELL', 'AUTOMOTIVE_DESIGN.' + 'VALUE_RANGE'], 3 ))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Document_Reference FOR (Document_Reference); WHERE wr1 : SIZEOF(QUERY(dr <* Document_Reference | NOT Type_Check_Function(dr, [ 'AUTOMOTIVE_DESIGN.' + 'APPLIED_DOCUMENT_REFERENCE', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_SPECIFICATION_REFERENCE'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Effectivity FOR (Effectivity); WHERE wr1 : SIZEOF(QUERY(e <* Effectivity | NOT Type_Check_Function(e, [ 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_EFFECTIVITY', 'AUTOMOTIVE_DESIGN.' + 'TIME_INTERVAL_BASED_EFFECTIVITY'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Effectivity_Assignment FOR (Effectivity_Assignment); WHERE wr1 : SIZEOF(QUERY(ea <* Effectivity_Assignment | NOT Type_Check_Function(ea , ['AUTOMOTIVE_DESIGN.' + 'APPLIED_EFFECTIVITY_ASSIGNMENT', 'AUTOMOTIVE_DESIGN.' + 'APPLIED_INEFFECTIVITY_ASSIGNMENT', 'AUTOMOTIVE_DESIGN.' + 'CONFIGURED_EFFECTIVITY_ASSIGNMENT'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Effectivity_Context_Assignment FOR ( Effectivity_Context_Assignment); WHERE wr1 : SIZEOF(QUERY(eca <* Effectivity_Context_Assignment | NOT Type_Check_Function(eca, ['AUTOMOTIVE_DESIGN.' + 'CLASS_USAGE_EFFECTIVITY_CONTEXT_ASSIGNMENT', 'AUTOMOTIVE_DESIGN.' + 'CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Externally_Defined_Item FOR (Externally_Defined_Item ); WHERE wr1 : SIZEOF(QUERY(edi <* Externally_Defined_Item | NOT Type_Check_Function( edi, ['AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_CHARACTER_GLYPH', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_CLASS', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_CURVE_FONT', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_FEATURE_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_GENERAL_PROPERTY', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_HATCH_STYLE', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_STYLE', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_TEXT_FONT', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_TILE_STYLE'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Feature_Component_Relationship FOR ( Feature_Component_Relationship); WHERE wr1 : SIZEOF(QUERY(fcr <* Feature_Component_Relationship | NOT Type_Check_Function(fcr, ['AUTOMOTIVE_DESIGN.' + 'PATTERN_OFFSET_MEMBERSHIP', 'AUTOMOTIVE_DESIGN.' + 'PATTERN_OMIT_MEMBERSHIP'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Feature_Definition FOR (Feature_Definition); WHERE wr1 : SIZEOF(QUERY(fd <* Feature_Definition | NOT Type_Check_Function(fd, [ 'AUTOMOTIVE_DESIGN.' + 'BARRING_HOLE', 'AUTOMOTIVE_DESIGN.' + 'BEAD' , 'AUTOMOTIVE_DESIGN.' + 'BOSS', 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_FEATURE_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_IN_PANEL', 'AUTOMOTIVE_DESIGN.' + 'GENERAL_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'HOLE_IN_PANEL', 'AUTOMOTIVE_DESIGN.' + 'JOGGLE', 'AUTOMOTIVE_DESIGN.' + 'LOCATOR', 'AUTOMOTIVE_DESIGN.' + 'POCKET', 'AUTOMOTIVE_DESIGN.' + 'REPLICATE_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'RIB', 'AUTOMOTIVE_DESIGN.' + 'ROUND_HOLE', 'AUTOMOTIVE_DESIGN.' + 'SLOT', 'AUTOMOTIVE_DESIGN.' + 'THREAD'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Founded_Item FOR (Founded_Item); WHERE wr1 : SIZEOF(QUERY(fi <* Founded_Item | NOT Type_Check_Function(fi, [ 'AUTOMOTIVE_DESIGN.' + 'COMPOSITE_CURVE_SEGMENT', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_PATCH', 'AUTOMOTIVE_DESIGN.' + 'VIEW_VOLUME'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Geometric_Tolerance FOR (Geometric_Tolerance); WHERE wr1 : SIZEOF(QUERY(gt <* Geometric_Tolerance | NOT Type_Check_Function(gt, [ 'AUTOMOTIVE_DESIGN.' + 'ANGULARITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'CIRCULAR_RUNOUT_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'COAXIALITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'CONCENTRICITY_TOLERANCE' , 'AUTOMOTIVE_DESIGN.' + 'CYLINDRICITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'FLATNESS_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'LINE_PROFILE_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'PARALLELISM_TOLERANCE' , 'AUTOMOTIVE_DESIGN.' + 'PERPENDICULARITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'POSITION_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'ROUNDNESS_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'STRAIGHTNESS_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_PROFILE_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'SYMMETRY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'TOTAL_RUNOUT_TOLERANCE'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Group FOR (Group); WHERE wr1 : SIZEOF(QUERY(g <* Group | NOT Type_Check_Function(g, [ 'AUTOMOTIVE_DESIGN.' + 'CLASS', 'AUTOMOTIVE_DESIGN.' + 'CLASS_SYSTEM' , 'AUTOMOTIVE_DESIGN.' + 'LANGUAGE', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY', 'AUTOMOTIVE_DESIGN.' + 'REP_ITEM_GROUP'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Group_Assignment FOR (Group_Assignment); WHERE wr1 : SIZEOF(QUERY(ga <* Group_Assignment | NOT Type_Check_Function(ga, [ 'AUTOMOTIVE_DESIGN.' + 'APPLIED_GROUP_ASSIGNMENT', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Identification_Assignment FOR ( Identification_Assignment); WHERE wr1 : SIZEOF(QUERY(ia <* Identification_Assignment | NOT Type_Check_Function( ia, ['AUTOMOTIVE_DESIGN.' + 'APPLIED_IDENTIFICATION_ASSIGNMENT', 'AUTOMOTIVE_DESIGN.' + 'EXTERNAL_IDENTIFICATION_ASSIGNMENT'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Mapped_Item FOR (Mapped_Item); WHERE wr1 : SIZEOF(QUERY(mi <* Mapped_Item | NOT Type_Check_Function(mi, [ 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_TEXT', 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_TEXT_CHARACTER', 'AUTOMOTIVE_DESIGN.' + 'CAMERA_IMAGE', 'AUTOMOTIVE_DESIGN.' + 'DIMENSION_TEXT_ASSOCIATIVITY'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Pre_Defined_Item FOR (Pre_Defined_Item); WHERE wr1 : SIZEOF(QUERY(pdi <* Pre_Defined_Item | NOT Type_Check_Function(pdi, [ 'AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_COLOUR', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_CURVE_FONT', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_MARKER', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_PRESENTATION_STYLE', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_TEXT_FONT'], 3 ))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Pre_Defined_Symbol FOR (Pre_Defined_Symbol); WHERE wr1 : SIZEOF(QUERY(pds <* Pre_Defined_Symbol | NOT Type_Check_Function(pds, [ 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_DIMENSION_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_GEOMETRICAL_TOLERANCE_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_POINT_MARKER_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_SURFACE_CONDITION_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_TERMINATOR_SYMBOL'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Presentation_Area FOR (Presentation_Area); WHERE wr1 : SIZEOF(QUERY(pa <* Presentation_Area | NOT Type_Check_Function(pa, [ 'AUTOMOTIVE_DESIGN.' + 'DRAWING_SHEET_REVISION', 'AUTOMOTIVE_DESIGN.' + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_AREA'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Presentation_Representation FOR ( Presentation_Representation); WHERE wr1 : SIZEOF(QUERY(pr <* Presentation_Representation | NOT Type_Check_Function(pr, ['AUTOMOTIVE_DESIGN.' + 'PRESENTATION_AREA', 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_VIEW'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Property_Definition FOR (Property_Definition); WHERE wr1 : SIZEOF(QUERY(pd <* Property_Definition | NOT Type_Check_Function(pd, [ 'AUTOMOTIVE_DESIGN.' + 'KINEMATIC_PROPERTY_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'MATERIAL_PROPERTY', 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_DEFINITION_SHAPE'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Property_Definition_Representation FOR ( Property_Definition_Representation); WHERE wr1 : SIZEOF(QUERY(pdr <* Property_Definition_Representation | NOT Type_Check_Function(pdr, ['AUTOMOTIVE_DESIGN.' + 'KINEMATIC_PROPERTY_REPRESENTATION_RELATION', 'AUTOMOTIVE_DESIGN.' + 'MATERIAL_PROPERTY_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINITION_REPRESENTATION'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Replicate_Feature FOR (Replicate_Feature); WHERE wr1 : SIZEOF(QUERY(rf <* Replicate_Feature | NOT Type_Check_Function(rf, [ 'AUTOMOTIVE_DESIGN.' + 'CIRCULAR_PATTERN', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_PATTERN', 'AUTOMOTIVE_DESIGN.' + 'MODIFIED_PATTERN', 'AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_PATTERN'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Representation FOR (Representation); WHERE wr1 : SIZEOF(QUERY(r <* Representation | NOT Type_Check_Function(r, [ 'AUTOMOTIVE_DESIGN.' + 'CONSTRUCTIVE_GEOMETRY_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'CONTACT_RATIO_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'DEFAULT_TOLERANCE_TABLE', 'AUTOMOTIVE_DESIGN.' + 'DEFINITIONAL_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_MODEL', 'AUTOMOTIVE_DESIGN.' + 'FOUNDED_KINEMATIC_PATH', 'AUTOMOTIVE_DESIGN.' + 'HARDNESS_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'KINEMATIC_FRAME_BACKGROUND_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'KINEMATIC_GROUND_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'KINEMATIC_LINK_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'MOMENTS_OF_INERTIA_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'PRESENTATION_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_TEXTURE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'SYMBOL_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'TACTILE_APPEARANCE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'TEXT_STRING_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'VISUAL_APPEARANCE_REPRESENTATION'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Representation_Item FOR (Representation_Item); WHERE wr1 : SIZEOF(QUERY(ri <* Representation_Item | NOT Type_Check_Function(ri, [ 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'KINEMATIC_PATH', 'AUTOMOTIVE_DESIGN.' + 'MEASURE_REPRESENTATION_ITEM', 'AUTOMOTIVE_DESIGN.' + 'REP_ITEM_GROUP', 'AUTOMOTIVE_DESIGN.' + 'VALUE_REPRESENTATION_ITEM'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Representation_Map FOR (Representation_Map); WHERE wr1 : SIZEOF(QUERY(rm <* Representation_Map | NOT Type_Check_Function(rm, [ 'AUTOMOTIVE_DESIGN.' + 'CAMERA_USAGE', 'AUTOMOTIVE_DESIGN.' + 'SYMBOL_REPRESENTATION_MAP'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Representation_Relationship FOR ( Representation_Relationship); WHERE wr1 : SIZEOF(QUERY(rr <* Representation_Relationship | NOT Type_Check_Function(rr, ['AUTOMOTIVE_DESIGN.' + 'CONSTRUCTIVE_GEOMETRY_REPRESENTATION_RELATIONSHIP', 'AUTOMOTIVE_DESIGN.' + 'KINEMATIC_LINK_REPRESENTATION_ASSOCIATION', 'AUTOMOTIVE_DESIGN.' + 'MOTION_LINK_RELATIONSHIP'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Representation_Relationship_With_Transformation FOR (Representation_Relationship_With_Transformation); WHERE wr1 : SIZEOF(QUERY(rrwt <* Representation_Relationship_With_Transformation | NOT Type_Check_Function(rrwt, ['AUTOMOTIVE_DESIGN.' + 'KINEMATIC_FRAME_BACKGROUND_REPRESENTATION_ASSOCIATION', 'AUTOMOTIVE_DESIGN.' + 'MECHANISM_BASE_PLACEMENT'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Shape_Aspect FOR (Shape_Aspect); WHERE wr1 : SIZEOF(QUERY(sa <* Shape_Aspect | NOT Type_Check_Function(sa, [ 'AUTOMOTIVE_DESIGN.' + 'APPLIED_AREA', 'AUTOMOTIVE_DESIGN.' + 'BEAD_END', 'AUTOMOTIVE_DESIGN.' + 'BOSS_TOP', 'AUTOMOTIVE_DESIGN.' + 'CHAMFER_OFFSET', 'AUTOMOTIVE_DESIGN.' + 'CIRCULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'CLOSED_PATH_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'DIRECTED_ANGLE', 'AUTOMOTIVE_DESIGN.' + 'HOLE_BOTTOM', 'AUTOMOTIVE_DESIGN.' + 'INSTANCED_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'JOGGLE_TERMINATION', 'AUTOMOTIVE_DESIGN.' + 'NGON_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'OPEN_PATH_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'PARTIAL_CIRCULAR_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'PATH_FEATURE_COMPONENT', 'AUTOMOTIVE_DESIGN.' + 'PLACED_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'POCKET_BOTTOM', 'AUTOMOTIVE_DESIGN.' + 'RECTANGULAR_CLOSED_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'ROUNDED_U_PROFILE' , 'AUTOMOTIVE_DESIGN.' + 'SLOT_END', 'AUTOMOTIVE_DESIGN.' + 'SQUARE_U_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'TAPER', 'AUTOMOTIVE_DESIGN.' + 'TEE_PROFILE', 'AUTOMOTIVE_DESIGN.' + 'TOLERANCE_ZONE', 'AUTOMOTIVE_DESIGN.' + 'TRANSITION_FEATURE', 'AUTOMOTIVE_DESIGN.' + 'VEE_PROFILE'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Shape_Aspect_Relationship FOR ( Shape_Aspect_Relationship); WHERE wr1 : SIZEOF(QUERY(sar <* Shape_Aspect_Relationship | NOT Type_Check_Function (sar, ['AUTOMOTIVE_DESIGN.' + 'DIMENSIONAL_LOCATION', 'AUTOMOTIVE_DESIGN.' + 'FEATURE_COMPONENT_RELATIONSHIP', 'AUTOMOTIVE_DESIGN.' + 'SHAPE_ASPECT_ASSOCIATIVITY', 'AUTOMOTIVE_DESIGN.' + 'SHAPE_ASPECT_DERIVING_RELATIONSHIP', 'AUTOMOTIVE_DESIGN.' + 'SHAPE_ASPECT_TRANSITION', 'AUTOMOTIVE_DESIGN.' + 'SHAPE_DEFINING_RELATIONSHIP'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Shape_Representation_Feature_Geometry FOR ( Shape_Representation); WHERE wr1 : SIZEOF(QUERY(sr <* Shape_Representation | NOT Type_Check_Function(sr, [ 'AUTOMOTIVE_DESIGN.' + 'DIRECTION_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'FACE_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'LOCATION_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'PATH_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'PLANAR_SHAPE_REPRESENTATION'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Shape_Representation_Geometry FOR ( Shape_Representation); WHERE wr1 : SIZEOF(QUERY(sr <* Shape_Representation | NOT Type_Check_Function(sr, [ 'AUTOMOTIVE_DESIGN.' + 'ADVANCED_BREP_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'COMPOUND_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'CSG_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'FACETED_BREP_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'POINT_PLACEMENT_SHAPE_REPRESENTATION'], 3))) = 0 ; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Symbol_Representation FOR (Symbol_Representation); WHERE wr1 : SIZEOF(QUERY(sr <* Symbol_Representation | NOT Type_Check_Function(sr, ['AUTOMOTIVE_DESIGN.' + 'CHARACTER_GLYPH_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_SUBFIGURE_REPRESENTATION', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_SYMBOL_REPRESENTATION'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Exclusiveness_Transition_Feature FOR (Transition_Feature); WHERE wr1 : SIZEOF(QUERY(tf <* Transition_Feature | NOT Type_Check_Function(tf, [ 'AUTOMOTIVE_DESIGN.' + 'CHAMFER', 'AUTOMOTIVE_DESIGN.' + 'EDGE_ROUND' , 'AUTOMOTIVE_DESIGN.' + 'FILLET'], 3))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Address FOR (Address); WHERE wr1 : SIZEOF(QUERY(a <* Address | NOT Type_Check_Function(a, [ 'AUTOMOTIVE_DESIGN.' + 'ORGANIZATIONAL_ADDRESS', 'AUTOMOTIVE_DESIGN.' + 'PERSONAL_ADDRESS'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Annotation_Occurrence FOR (Annotation_Occurrence); WHERE wr1 : SIZEOF(QUERY(ao <* Annotation_Occurrence | NOT Type_Check_Function(ao, ['AUTOMOTIVE_DESIGN.' + 'ANNOTATION_CURVE_OCCURRENCE', 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_FILL_AREA_OCCURRENCE', 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_SYMBOL_OCCURRENCE', 'AUTOMOTIVE_DESIGN.' + 'ANNOTATION_TEXT_OCCURRENCE', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Camera_Image FOR (Camera_Image); WHERE wr1 : SIZEOF(QUERY(ci <* Camera_Image | NOT Type_Check_Function(ci, [ 'AUTOMOTIVE_DESIGN.' + 'CAMERA_IMAGE_2D_WITH_SCALE', 'AUTOMOTIVE_DESIGN.' + 'CAMERA_IMAGE_3D_WITH_SCALE'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Camera_Model FOR (Camera_Model); WHERE wr1 : SIZEOF(QUERY(cm <* Camera_Model | NOT Type_Check_Function(cm, [ 'AUTOMOTIVE_DESIGN.' + 'CAMERA_MODEL_D2', 'AUTOMOTIVE_DESIGN.' + 'CAMERA_MODEL_D3'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Colour_Specification FOR (Colour_Specification); WHERE wr1 : SIZEOF(QUERY(cs <* Colour_Specification | NOT Type_Check_Function(cs, [ 'AUTOMOTIVE_DESIGN.' + 'COLOUR_RGB'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Configurable_Item FOR (Configurable_Item); WHERE wr1 : SIZEOF(QUERY(ci <* Configurable_Item | NOT Type_Check_Function(ci, [ 'AUTOMOTIVE_DESIGN.' + 'PRODUCT_SPECIFICATION'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Document_Product_Association FOR ( Document_Product_Association); WHERE wr1 : SIZEOF(QUERY(dpa <* Document_Product_Association | NOT Type_Check_Function(dpa, ['AUTOMOTIVE_DESIGN.' + 'DOCUMENT_PRODUCT_EQUIVALENCE'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Draughting_Callout FOR (Draughting_Callout); WHERE wr1 : SIZEOF(QUERY(dc <* Draughting_Callout | NOT Type_Check_Function(dc, [ 'AUTOMOTIVE_DESIGN.' + 'DATUM_FEATURE_CALLOUT', 'AUTOMOTIVE_DESIGN.' + 'DATUM_TARGET_CALLOUT', 'AUTOMOTIVE_DESIGN.' + 'DIMENSION_CURVE_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_ELEMENTS', 'AUTOMOTIVE_DESIGN.' + 'GEOMETRICAL_TOLERANCE_CALLOUT', 'AUTOMOTIVE_DESIGN.' + 'LEADER_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.' + 'PROJECTION_DIRECTED_CALLOUT', 'AUTOMOTIVE_DESIGN.' + 'STRUCTURED_DIMENSION_CALLOUT', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_CONDITION_CALLOUT'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Externally_Defined_Item FOR (Externally_Defined_Item); WHERE wr1 : SIZEOF(QUERY(edi <* Externally_Defined_Item | NOT Type_Check_Function( edi, ['AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_CHARACTER_GLYPH', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_CLASS', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_CURVE_FONT', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_FEATURE_DEFINITION', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_GENERAL_PROPERTY', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_HATCH_STYLE', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_STYLE', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_TEXT_FONT', 'AUTOMOTIVE_DESIGN.' + 'EXTERNALLY_DEFINED_TILE_STYLE'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Founded_Item FOR (Founded_Item); WHERE wr1 : SIZEOF(QUERY(fi <* Founded_Item | NOT Type_Check_Function(fi, [ 'AUTOMOTIVE_DESIGN.' + 'COMPOSITE_CURVE_SEGMENT', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_PATCH', 'AUTOMOTIVE_DESIGN.' + 'VIEW_VOLUME'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Geometric_Tolerance FOR (Geometric_Tolerance); WHERE wr1 : SIZEOF(QUERY(gt <* Geometric_Tolerance | NOT Type_Check_Function(gt, [ 'AUTOMOTIVE_DESIGN.' + 'ANGULARITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'CIRCULAR_RUNOUT_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'COAXIALITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'CONCENTRICITY_TOLERANCE' , 'AUTOMOTIVE_DESIGN.' + 'CYLINDRICITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'FLATNESS_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'LINE_PROFILE_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'PARALLELISM_TOLERANCE' , 'AUTOMOTIVE_DESIGN.' + 'PERPENDICULARITY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'POSITION_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'ROUNDNESS_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'STRAIGHTNESS_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'SURFACE_PROFILE_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'SYMMETRY_TOLERANCE', 'AUTOMOTIVE_DESIGN.' + 'TOTAL_RUNOUT_TOLERANCE'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Pre_Defined_Colour FOR (Pre_Defined_Colour); WHERE wr1 : SIZEOF(QUERY(pdc <* Pre_Defined_Colour | NOT Type_Check_Function(pdc, [ 'AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Pre_Defined_Curve_Font FOR (Pre_Defined_Curve_Font); WHERE wr1 : SIZEOF(QUERY(pdcf <* Pre_Defined_Curve_Font | NOT Type_Check_Function( pdcf, ['AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Pre_Defined_Item FOR (Pre_Defined_Item); WHERE wr1 : SIZEOF(QUERY(pdi <* Pre_Defined_Item | NOT Type_Check_Function(pdi, [ 'AUTOMOTIVE_DESIGN.' + 'KNOWN_SOURCE', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_COLOUR', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_CURVE_FONT', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_MARKER', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_PRESENTATION_STYLE', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_TEXT_FONT'], 0 ))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Pre_Defined_Symbol FOR (Pre_Defined_Symbol); WHERE wr1 : SIZEOF(QUERY(pds <* Pre_Defined_Symbol | NOT Type_Check_Function(pds, [ 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_GEOMETRICAL_TOLERANCE_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_SURFACE_CONDITION_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_DIMENSION_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_POINT_MARKER_SYMBOL', 'AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_TERMINATOR_SYMBOL'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Subtype_Mandatory_Pre_Defined_Text_Font FOR (Pre_Defined_Text_Font); WHERE wr1 : SIZEOF(QUERY(pdtf <* Pre_Defined_Text_Font | NOT Type_Check_Function( pdtf, ['AUTOMOTIVE_DESIGN.' + 'DRAUGHTING_PRE_DEFINED_TEXT_FONT'], 0))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Terminator_Symbol_Constraint FOR (Terminator_Symbol); WHERE wr1 : SIZEOF(QUERY(ts <* Terminator_Symbol | ('AUTOMOTIVE_DESIGN.' + 'DEFINED_SYMBOL' IN TYPEOF(ts.item)) AND NOT ('AUTOMOTIVE_DESIGN.' + 'PRE_DEFINED_TERMINATOR_SYMBOL' IN TYPEOF(ts.item\Defined_Symbol.definition )))) = 0; END_RULE; -- 10303-214: automotive_design
RULE Text_Font_Usage FOR (Externally_Defined_Text_Font, Pre_Defined_Text_Font); WHERE wr1 : SIZEOF(QUERY(pdtf <* Pre_Defined_Text_Font | SIZEOF(USEDIN(pdtf, 'AUTOMOTIVE_DESIGN.TEXT_LITERAL.FONT')) = 0)) = 0; wr2 : SIZEOF(QUERY(edtf <* Externally_Defined_Text_Font | SIZEOF(USEDIN(edtf , 'AUTOMOTIVE_DESIGN.TEXT_LITERAL.FONT')) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Versioned_Action_Request_Requires_Date_And_Person_Or_Organization FOR ( Versioned_Action_Request); WHERE wr1 : SIZEOF(QUERY(va <* Versioned_Action_Request | SIZEOF(QUERY(adapaoa <* USEDIN(va, 'AUTOMOTIVE_DESIGN.APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS') | adapaoa.role.name = 'requestor')) + SIZEOF(QUERY(adaoa <* USEDIN(va, 'AUTOMOTIVE_DESIGN.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS') | adaoa.role. name = 'requestor')) = 0)) = 0; wr2 : SIZEOF(QUERY(va <* Versioned_Action_Request | SIZEOF(QUERY(adapaoa <* USEDIN(va, 'AUTOMOTIVE_DESIGN.APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS') | adapaoa.role.name = 'notified person or organization')) + SIZEOF(QUERY( adaoa <* USEDIN(va, 'AUTOMOTIVE_DESIGN.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS') | adaoa.role. name = 'notified person or organization')) = 0)) = 0; END_RULE; -- 10303-214: automotive_design
RULE Versioned_Action_Request_Requires_Status FOR (Action_Request_Status, Versioned_Action_Request); WHERE wr1 : SIZEOF(QUERY(ar <* Versioned_Action_Request | NOT (SIZEOF(QUERY(ars <* Action_Request_Status | ar :=: ars.assigned_request)) = 1))) = 0; END_RULE; -- 10303-214: automotive_design END_SCHEMA;