18748 lines
840 KiB
Text
18748 lines
840 KiB
Text
-- 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;
|