16379 lines
634 KiB
Plaintext
16379 lines
634 KiB
Plaintext
(*
|
|
$Id: mim_lf.exp,v 1.43 2009/09/10 20:08:09 darla Exp $
|
|
ISO TC184/SC4/WG3 N2635 - ISO/TS 10303-403 AP203 configuration controlled 3d design of mechanical parts and assemblies - EXPRESS MIM Long form
|
|
Supersedes ISO TC184/SC4/WG3 N2464
|
|
*)
|
|
|
|
SCHEMA Ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf;
|
|
|
|
|
|
CONSTANT
|
|
deprecated_constructed_data_types : SET [0:?] OF STRING := ['approved_item',
|
|
'certified_item',
|
|
'change_request_item',
|
|
'contracted_item',
|
|
'cc_classified_item',
|
|
'date_time_item',
|
|
'cc_person_organization_item',
|
|
'cc_specified_item',
|
|
'start_request_item',
|
|
'work_item'];
|
|
|
|
|
|
deprecated_entity_data_types : SET [0:?] OF STRING := ['cc_design_approval',
|
|
'cc_design_certification',
|
|
'cc_design_contract',
|
|
'cc_design_date_and_time_assignment',
|
|
'cc_design_person_and_organization_assignment',
|
|
'cc_design_security_classification',
|
|
'cc_design_specification_reference',
|
|
'change',
|
|
'change_request',
|
|
'design_context',
|
|
'design_make_from_relationship',
|
|
'mechanical_context',
|
|
'start_request',
|
|
'start_work',
|
|
'supplied_part_relationship'];
|
|
|
|
|
|
deprecated_interfaced_data_types : SET [0:?] OF STRING := ['document_with_class',
|
|
'ordinal_date',
|
|
'product_definition_formation_with_specified_source',
|
|
'week_of_year_and_day_date'];
|
|
|
|
|
|
dummy_gri : geometric_representation_item := representation_item('')||
|
|
geometric_representation_item();
|
|
|
|
|
|
dummy_tri : topological_representation_item := representation_item('')||
|
|
topological_representation_item();
|
|
|
|
|
|
pre_defined_picture_representation_types : SET [0:?] OF STRING := [ 'JPEG', 'PNG', 'TIFF', 'BMP', 'GIF'];
|
|
|
|
|
|
|
|
END_CONSTANT;
|
|
|
|
TYPE absorbed_dose_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE acceleration_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE action_items = SELECT (
|
|
action_directive,
|
|
certification_item,
|
|
characterized_object,
|
|
classification_item,
|
|
configuration_effectivity,
|
|
document_reference_item,
|
|
identification_item,
|
|
organization,
|
|
person_and_organization,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
product_definition_relationship,
|
|
requirement_assigned_item);
|
|
END_TYPE;
|
|
|
|
TYPE action_method_items = SELECT (
|
|
product,
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE action_request_item = SELECT (
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
product_definition_relationship,
|
|
property_definition,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE ahead_or_behind = ENUMERATION OF (
|
|
ahead,
|
|
exact,
|
|
behind );
|
|
END_TYPE;
|
|
|
|
TYPE amount_of_substance_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE angle_direction_reference_select = SELECT (
|
|
direction,
|
|
curve,
|
|
point_path);
|
|
END_TYPE;
|
|
|
|
TYPE angle_direction_reference_with_a2p3d_select = SELECT (
|
|
angle_direction_reference_select,
|
|
axis2_placement_3d);
|
|
END_TYPE;
|
|
|
|
TYPE angle_relator = ENUMERATION OF (
|
|
equal,
|
|
large,
|
|
small );
|
|
END_TYPE;
|
|
|
|
TYPE annotation_plane_element = SELECT (
|
|
draughting_callout,
|
|
styled_item);
|
|
END_TYPE;
|
|
|
|
TYPE annotation_representation_select = SELECT (
|
|
presentation_area,
|
|
presentation_view,
|
|
symbol_representation);
|
|
END_TYPE;
|
|
|
|
TYPE annotation_symbol_occurrence_item = SELECT (
|
|
annotation_symbol,
|
|
defined_symbol);
|
|
END_TYPE;
|
|
|
|
TYPE annotation_text_occurrence_item = SELECT (
|
|
text_literal,
|
|
annotation_text,
|
|
annotation_text_character,
|
|
composite_text);
|
|
END_TYPE;
|
|
|
|
TYPE approval_item = SELECT (
|
|
action,
|
|
action_directive,
|
|
alternate_product_relationship,
|
|
applied_action_assignment,
|
|
applied_usage_right,
|
|
assembly_component_usage_substitute,
|
|
certification,
|
|
configuration_effectivity,
|
|
configuration_item,
|
|
contract,
|
|
date,
|
|
directed_action,
|
|
document,
|
|
document_file,
|
|
effectivity,
|
|
executed_action,
|
|
general_property_relationship,
|
|
group,
|
|
group_relationship,
|
|
information_usage_right,
|
|
product,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
product_definition_relationship,
|
|
representation,
|
|
requirement_assignment,
|
|
security_classification,
|
|
shape_aspect_relationship,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE approved_item = SELECT (
|
|
certification,
|
|
change,
|
|
change_request,
|
|
configuration_effectivity,
|
|
configuration_item,
|
|
contract,
|
|
product,
|
|
security_classification,
|
|
start_request,
|
|
start_work);
|
|
END_TYPE;
|
|
|
|
TYPE area_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE area_or_view = SELECT (
|
|
presentation_area,
|
|
presentation_view);
|
|
END_TYPE;
|
|
|
|
TYPE attribute_classification_item = SELECT (
|
|
action_directive,
|
|
action_method,
|
|
action_property,
|
|
action_property_representation,
|
|
action_relationship,
|
|
action_request_solution,
|
|
action_request_status,
|
|
alternate_product_relationship,
|
|
applied_action_assignment,
|
|
applied_action_request_assignment,
|
|
applied_approval_assignment,
|
|
applied_certification_assignment,
|
|
applied_document_reference,
|
|
applied_document_usage_constraint_assignment,
|
|
applied_effectivity_assignment,
|
|
applied_event_occurrence_assignment,
|
|
applied_external_identification_assignment,
|
|
applied_identification_assignment,
|
|
applied_organization_assignment,
|
|
applied_organizational_project_assignment,
|
|
applied_person_and_organization_assignment,
|
|
approval,
|
|
approval_person_organization,
|
|
approval_relationship,
|
|
approval_status,
|
|
certification,
|
|
context_dependent_unit,
|
|
contract,
|
|
date_and_time_assignment,
|
|
date_assignment,
|
|
derived_unit,
|
|
descriptive_representation_item,
|
|
document_file,
|
|
document_relationship,
|
|
effectivity,
|
|
event_occurrence_relationship,
|
|
executed_action,
|
|
general_property,
|
|
general_property_relationship,
|
|
group,
|
|
group_relationship,
|
|
information_right,
|
|
information_usage_right,
|
|
language,
|
|
measure_representation_item,
|
|
measure_with_unit,
|
|
named_unit,
|
|
organization_relationship,
|
|
organizational_address,
|
|
organizational_project_relationship,
|
|
person_and_organization,
|
|
person_and_organization_address,
|
|
product,
|
|
product_category,
|
|
product_concept,
|
|
product_concept_context,
|
|
product_definition,
|
|
product_definition_context,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
product_definition_relationship,
|
|
property_definition,
|
|
property_definition_relationship,
|
|
property_definition_representation,
|
|
representation,
|
|
representation_context,
|
|
representation_item,
|
|
security_classification,
|
|
time_interval_relationship,
|
|
uncertainty_measure_with_unit,
|
|
usage_association,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE attribute_language_item = SELECT (
|
|
alternate_product_relationship,
|
|
application_context,
|
|
applied_certification_assignment,
|
|
applied_document_reference,
|
|
applied_document_usage_constraint_assignment,
|
|
applied_external_identification_assignment,
|
|
applied_identification_assignment,
|
|
applied_organizational_project_assignment,
|
|
applied_security_classification_assignment,
|
|
approval,
|
|
approval_relationship,
|
|
approval_status,
|
|
assembly_component_usage_substitute,
|
|
attribute_value_assignment,
|
|
certification,
|
|
certification_type,
|
|
configuration_design,
|
|
configuration_item,
|
|
contract,
|
|
date_role,
|
|
date_time_role,
|
|
descriptive_representation_item,
|
|
document_relationship,
|
|
document_usage_role,
|
|
effectivity,
|
|
effectivity_relationship,
|
|
event_occurrence,
|
|
external_source,
|
|
general_property,
|
|
general_property_relationship,
|
|
geometric_representation_item,
|
|
geometric_tolerance,
|
|
identification_role,
|
|
information_right,
|
|
information_usage_right,
|
|
make_from_usage_option,
|
|
mapped_item,
|
|
multi_language_attribute_assignment,
|
|
object_role,
|
|
organization_relationship,
|
|
organization_role,
|
|
organizational_project,
|
|
organizational_project_relationship,
|
|
organizational_project_role,
|
|
person_and_organization,
|
|
person_and_organization_role,
|
|
product,
|
|
product_concept,
|
|
product_concept_relationship,
|
|
product_definition,
|
|
product_definition_context,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
product_definition_relationship,
|
|
product_definition_shape,
|
|
product_related_product_category,
|
|
property_definition,
|
|
representation,
|
|
security_classification,
|
|
security_classification_assignment,
|
|
shape_aspect,
|
|
shape_aspect_relationship,
|
|
shape_representation,
|
|
time_interval_role,
|
|
topological_representation_item,
|
|
uncertainty_measure_with_unit,
|
|
uncertainty_qualifier,
|
|
usage_association);
|
|
END_TYPE;
|
|
|
|
TYPE attribute_type = SELECT (
|
|
label,
|
|
text);
|
|
END_TYPE;
|
|
|
|
TYPE axis2_placement = SELECT (
|
|
axis2_placement_2d,
|
|
axis2_placement_3d);
|
|
END_TYPE;
|
|
|
|
TYPE b_spline_curve_form = ENUMERATION OF (
|
|
polyline_form,
|
|
circular_arc,
|
|
elliptic_arc,
|
|
parabolic_arc,
|
|
hyperbolic_arc,
|
|
unspecified );
|
|
END_TYPE;
|
|
|
|
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;
|
|
|
|
TYPE base_solid_select = SELECT (
|
|
solid_model,
|
|
csg_primitive,
|
|
boolean_result);
|
|
WHERE
|
|
WR1 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRIMITIVE_2D' IN TYPEOF(SELF));
|
|
END_TYPE;
|
|
|
|
TYPE blend_end_condition_select = SELECT (
|
|
point_on_curve,
|
|
edge_curve,
|
|
vertex);
|
|
END_TYPE;
|
|
|
|
TYPE blend_radius_variation_type = ENUMERATION OF (
|
|
linear_blend,
|
|
cubic_blend,
|
|
unspecified_blend );
|
|
END_TYPE;
|
|
|
|
TYPE boolean_operand = SELECT (
|
|
solid_model,
|
|
half_space_solid,
|
|
csg_primitive,
|
|
boolean_result);
|
|
END_TYPE;
|
|
|
|
TYPE boolean_operator = ENUMERATION OF (
|
|
union,
|
|
intersection,
|
|
difference );
|
|
END_TYPE;
|
|
|
|
TYPE box_characteristic_select = SELECT (
|
|
box_height,
|
|
box_width,
|
|
box_slant_angle,
|
|
box_rotate_angle);
|
|
END_TYPE;
|
|
|
|
TYPE box_height = positive_ratio_measure;
|
|
END_TYPE;
|
|
|
|
TYPE box_rotate_angle = plane_angle_measure;
|
|
END_TYPE;
|
|
|
|
TYPE box_slant_angle = plane_angle_measure;
|
|
END_TYPE;
|
|
|
|
TYPE box_width = positive_ratio_measure;
|
|
END_TYPE;
|
|
|
|
TYPE camera_model_d3_multi_clipping_interection_select = SELECT (
|
|
camera_model_d3_multi_clipping_union,
|
|
plane);
|
|
END_TYPE;
|
|
|
|
TYPE camera_model_d3_multi_clipping_union_select = SELECT (
|
|
camera_model_d3_multi_clipping_intersection,
|
|
plane);
|
|
END_TYPE;
|
|
|
|
TYPE capacitance_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE category_usage_item = SELECT (
|
|
product_class);
|
|
END_TYPE;
|
|
|
|
TYPE cc_classified_item = SELECT (
|
|
assembly_component_usage,
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE cc_person_organization_item = SELECT (
|
|
change,
|
|
change_request,
|
|
configuration_item,
|
|
contract,
|
|
product,
|
|
product_definition,
|
|
product_definition_formation,
|
|
security_classification,
|
|
start_request,
|
|
start_work);
|
|
END_TYPE;
|
|
|
|
TYPE cc_specified_item = SELECT (
|
|
product_definition,
|
|
shape_aspect);
|
|
END_TYPE;
|
|
|
|
TYPE celsius_temperature_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE central_or_parallel = ENUMERATION OF (
|
|
central,
|
|
parallel );
|
|
END_TYPE;
|
|
|
|
TYPE certification_item = SELECT (
|
|
alternate_product_relationship,
|
|
make_from_usage_option,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE certified_item = SELECT (
|
|
supplied_part_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE change_request_item = SELECT (
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE character_spacing_select = SELECT (
|
|
length_measure,
|
|
ratio_measure,
|
|
measure_with_unit,
|
|
descriptive_measure);
|
|
END_TYPE;
|
|
|
|
TYPE character_style_select = SELECT (
|
|
character_glyph_style_stroke,
|
|
character_glyph_style_outline,
|
|
text_style_for_defined_font);
|
|
END_TYPE;
|
|
|
|
TYPE characterized_action_definition = SELECT (
|
|
action,
|
|
action_method,
|
|
action_method_relationship,
|
|
action_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE characterized_definition = SELECT (
|
|
characterized_object,
|
|
characterized_product_definition,
|
|
shape_definition);
|
|
END_TYPE;
|
|
|
|
TYPE characterized_material_property = SELECT (
|
|
material_property_representation,
|
|
product_material_composition_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE characterized_product_composition_value = SELECT (
|
|
measure_with_unit);
|
|
END_TYPE;
|
|
|
|
TYPE characterized_product_definition = SELECT (
|
|
product_definition,
|
|
product_definition_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE class_usage_effectivity_context_item = SELECT (
|
|
product_definition);
|
|
END_TYPE;
|
|
|
|
TYPE classification_item = SELECT (
|
|
action,
|
|
action_directive,
|
|
action_method,
|
|
action_property,
|
|
action_relationship,
|
|
action_request_solution,
|
|
action_request_status,
|
|
address,
|
|
alternate_product_relationship,
|
|
applied_action_assignment,
|
|
applied_action_request_assignment,
|
|
applied_approval_assignment,
|
|
applied_certification_assignment,
|
|
applied_contract_assignment,
|
|
applied_date_and_time_assignment,
|
|
applied_date_assignment,
|
|
applied_document_reference,
|
|
applied_document_usage_constraint_assignment,
|
|
applied_effectivity_assignment,
|
|
applied_event_occurrence_assignment,
|
|
applied_external_identification_assignment,
|
|
applied_identification_assignment,
|
|
applied_organization_assignment,
|
|
applied_organizational_project_assignment,
|
|
applied_person_and_organization_assignment,
|
|
applied_security_classification_assignment,
|
|
approval,
|
|
approval_person_organization,
|
|
approval_relationship,
|
|
approval_status,
|
|
assembly_component_usage_substitute,
|
|
calendar_date,
|
|
certification,
|
|
characterized_class,
|
|
characterized_object,
|
|
class,
|
|
classified_item,
|
|
configuration_item,
|
|
context_dependent_unit,
|
|
contract,
|
|
conversion_based_unit,
|
|
date_and_time,
|
|
date_and_time_assignment,
|
|
date_assignment,
|
|
derived_unit,
|
|
descriptive_representation_item,
|
|
directed_action,
|
|
document_file,
|
|
document_relationship,
|
|
effectivity,
|
|
event_occurrence,
|
|
executed_action,
|
|
general_property,
|
|
general_property_relationship,
|
|
group,
|
|
identification_assignment,
|
|
information_right,
|
|
information_usage_right,
|
|
language,
|
|
measure_representation_item,
|
|
measure_with_unit,
|
|
multi_language_attribute_assignment,
|
|
named_unit,
|
|
organization,
|
|
organization_relationship,
|
|
organizational_address,
|
|
organizational_project,
|
|
organizational_project_relationship,
|
|
person,
|
|
person_and_organization_address,
|
|
product,
|
|
product_concept,
|
|
product_definition,
|
|
product_definition_context,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
product_definition_relationship,
|
|
property_definition,
|
|
property_definition_representation,
|
|
representation,
|
|
representation_context,
|
|
representation_item,
|
|
security_classification,
|
|
uncertainty_measure_with_unit,
|
|
usage_association,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE classified_item = SELECT (
|
|
product,
|
|
product_definition,
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE compound_item_definition = SELECT (
|
|
list_representation_item,
|
|
set_representation_item);
|
|
END_TYPE;
|
|
|
|
TYPE conductance_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE configuration_design_item = SELECT (
|
|
product_definition,
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE configured_effectivity_context_item = SELECT (
|
|
product_concept_feature_association);
|
|
END_TYPE;
|
|
|
|
TYPE configured_effectivity_item = SELECT (
|
|
product_definition);
|
|
END_TYPE;
|
|
|
|
TYPE constructive_geometry_representation_or_shape_represenation = SELECT (
|
|
constructive_geometry_representation,
|
|
shape_representation);
|
|
END_TYPE;
|
|
|
|
TYPE context_dependent_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE contract_item = SELECT (
|
|
action_directive,
|
|
alternate_product_relationship,
|
|
directed_action,
|
|
executed_action,
|
|
information_usage_right,
|
|
organization,
|
|
person_and_organization,
|
|
product,
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE contracted_item = SELECT (
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE count_measure = NUMBER;
|
|
END_TYPE;
|
|
|
|
TYPE csg_primitive = SELECT (
|
|
sphere,
|
|
block,
|
|
right_angular_wedge,
|
|
torus,
|
|
right_circular_cone,
|
|
right_circular_cylinder);
|
|
END_TYPE;
|
|
|
|
TYPE csg_select = SELECT (
|
|
boolean_result,
|
|
csg_primitive);
|
|
END_TYPE;
|
|
|
|
TYPE curve_font_or_scaled_curve_font_select = SELECT (
|
|
curve_style_font_select,
|
|
curve_style_font_and_scaling);
|
|
END_TYPE;
|
|
|
|
TYPE curve_on_surface = SELECT (
|
|
pcurve,
|
|
surface_curve,
|
|
composite_curve_on_surface);
|
|
END_TYPE;
|
|
|
|
TYPE curve_or_annotation_curve_occurrence = SELECT (
|
|
curve,
|
|
annotation_curve_occurrence);
|
|
END_TYPE;
|
|
|
|
TYPE curve_or_render = SELECT (
|
|
curve_style,
|
|
curve_style_rendering);
|
|
END_TYPE;
|
|
|
|
TYPE curve_style_font_select = SELECT (
|
|
curve_style_font,
|
|
pre_defined_curve_font,
|
|
externally_defined_curve_font);
|
|
END_TYPE;
|
|
|
|
TYPE date_and_time_item = SELECT (
|
|
action,
|
|
action_directive,
|
|
applied_action_assignment,
|
|
applied_organization_assignment,
|
|
applied_person_and_organization_assignment,
|
|
applied_security_classification_assignment,
|
|
approval_person_organization,
|
|
certification,
|
|
contract,
|
|
directed_action,
|
|
document,
|
|
document_file,
|
|
event_occurrence,
|
|
executed_action,
|
|
information_usage_right,
|
|
organizational_project,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_relationship,
|
|
rule_action,
|
|
security_classification,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE date_item = SELECT (
|
|
action,
|
|
action_directive,
|
|
applied_action_assignment,
|
|
applied_organization_assignment,
|
|
applied_person_and_organization_assignment,
|
|
applied_security_classification_assignment,
|
|
approval_person_organization,
|
|
certification,
|
|
contract,
|
|
directed_action,
|
|
document,
|
|
document_file,
|
|
event_occurrence,
|
|
executed_action,
|
|
information_usage_right,
|
|
organizational_project,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_relationship,
|
|
security_classification,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE date_time_item = SELECT (
|
|
approval_person_organization,
|
|
certification,
|
|
change,
|
|
change_request,
|
|
contract,
|
|
product_definition,
|
|
security_classification,
|
|
start_request,
|
|
start_work);
|
|
END_TYPE;
|
|
|
|
TYPE date_time_or_event_occurrence = SELECT (
|
|
date_time_select,
|
|
event_occurrence);
|
|
END_TYPE;
|
|
|
|
TYPE date_time_select = SELECT (
|
|
date,
|
|
date_and_time,
|
|
local_time);
|
|
END_TYPE;
|
|
|
|
TYPE day_in_month_number = INTEGER;
|
|
WHERE
|
|
WR1 : {1 <= SELF <= 31};
|
|
END_TYPE;
|
|
|
|
TYPE day_in_week_number = INTEGER;
|
|
WHERE
|
|
WR1 : { 1 <= SELF <= 7 };
|
|
END_TYPE;
|
|
|
|
TYPE day_in_year_number = INTEGER;
|
|
WHERE
|
|
WR1 : {1 <= SELF <= 366};
|
|
END_TYPE;
|
|
|
|
TYPE defined_symbol_select = SELECT (
|
|
pre_defined_symbol,
|
|
externally_defined_symbol);
|
|
END_TYPE;
|
|
|
|
TYPE derived_property_select = SELECT (
|
|
property_definition,
|
|
action_property);
|
|
END_TYPE;
|
|
|
|
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;
|
|
|
|
TYPE descriptive_measure = STRING;
|
|
END_TYPE;
|
|
|
|
TYPE dimension_count = INTEGER;
|
|
WHERE
|
|
WR1 : SELF > 0;
|
|
END_TYPE;
|
|
|
|
TYPE dimension_extent_usage = ENUMERATION OF (
|
|
origin,
|
|
target );
|
|
END_TYPE;
|
|
|
|
TYPE dimensional_characteristic = SELECT (
|
|
dimensional_location,
|
|
dimensional_size);
|
|
END_TYPE;
|
|
|
|
TYPE direction_count_select = SELECT (
|
|
u_direction_count,
|
|
v_direction_count);
|
|
END_TYPE;
|
|
|
|
TYPE document_identifier_assigned_item = SELECT (
|
|
document);
|
|
END_TYPE;
|
|
|
|
TYPE document_reference_item = SELECT (
|
|
action_method,
|
|
applied_external_identification_assignment,
|
|
assembly_component_usage,
|
|
characterized_class,
|
|
characterized_object,
|
|
configuration_item,
|
|
descriptive_representation_item,
|
|
dimensional_size,
|
|
executed_action,
|
|
externally_defined_dimension_definition,
|
|
externally_defined_item,
|
|
group,
|
|
group_relationship,
|
|
information_right,
|
|
information_usage_right,
|
|
material_designation,
|
|
measure_representation_item,
|
|
product,
|
|
product_category,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
product_definition_relationship,
|
|
property_definition,
|
|
representation,
|
|
representation_item,
|
|
rule_set,
|
|
shape_aspect,
|
|
shape_aspect_relationship,
|
|
usage_association,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE dose_equivalent_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE draughting_callout_element = SELECT (
|
|
annotation_text_occurrence,
|
|
annotation_symbol_occurrence,
|
|
annotation_curve_occurrence);
|
|
END_TYPE;
|
|
|
|
TYPE draughting_model_item_association_select = SELECT (
|
|
annotation_occurrence,
|
|
draughting_callout);
|
|
END_TYPE;
|
|
|
|
TYPE draughting_model_item_select = SELECT (
|
|
mapped_item,
|
|
styled_item,
|
|
axis2_placement,
|
|
camera_model,
|
|
draughting_callout);
|
|
END_TYPE;
|
|
|
|
TYPE draughting_titled_item = SELECT (
|
|
drawing_revision,
|
|
drawing_sheet_revision);
|
|
END_TYPE;
|
|
|
|
TYPE effectivity_item = SELECT (
|
|
assembly_component_usage_substitute,
|
|
product,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_relationship,
|
|
product_definition_substitute);
|
|
END_TYPE;
|
|
|
|
TYPE electric_charge_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE electric_current_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE electric_potential_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE energy_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE event_occurrence_item = SELECT (
|
|
organizational_project);
|
|
END_TYPE;
|
|
|
|
TYPE external_identification_item = SELECT (
|
|
action_relationship,
|
|
action_request_status,
|
|
applied_organization_assignment,
|
|
applied_person_and_organization_assignment,
|
|
approval,
|
|
approval_status,
|
|
date_and_time_assignment,
|
|
date_assignment,
|
|
document_file,
|
|
external_source,
|
|
externally_defined_class,
|
|
externally_defined_context_dependent_unit,
|
|
externally_defined_conversion_based_unit,
|
|
externally_defined_general_property,
|
|
externally_defined_picture_representation_item,
|
|
externally_defined_representation_item,
|
|
organizational_address,
|
|
product_definition,
|
|
security_classification,
|
|
trimmed_curve,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE fill_area_style_tile_shape_select = SELECT (
|
|
fill_area_style_tile_curve_with_style,
|
|
fill_area_style_tile_coloured_region,
|
|
fill_area_style_tile_symbol_with_style,
|
|
pre_defined_tile,
|
|
externally_defined_tile);
|
|
END_TYPE;
|
|
|
|
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;
|
|
|
|
TYPE font_select = SELECT (
|
|
pre_defined_text_font,
|
|
externally_defined_text_font,
|
|
text_font);
|
|
END_TYPE;
|
|
|
|
TYPE force_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE founded_item_select = SELECT (
|
|
founded_item,
|
|
representation_item);
|
|
END_TYPE;
|
|
|
|
TYPE frequency_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE generalized_surface_select = SELECT (
|
|
surface,
|
|
face_surface,
|
|
surfaced_open_shell);
|
|
END_TYPE;
|
|
|
|
TYPE geometric_item_specific_usage_select = SELECT (
|
|
shape_aspect,
|
|
shape_aspect_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE geometric_set_select = SELECT (
|
|
point,
|
|
curve,
|
|
surface);
|
|
END_TYPE;
|
|
|
|
TYPE groupable_item = SELECT (
|
|
geometric_representation_item,
|
|
group_relationship,
|
|
mapped_item,
|
|
package_product_concept_feature,
|
|
product_concept_feature,
|
|
product_definition,
|
|
product_definition_formation,
|
|
property_definition_representation,
|
|
representation,
|
|
representation_item,
|
|
representation_relationship_with_transformation,
|
|
shape_aspect,
|
|
shape_aspect_relationship,
|
|
shape_representation_relationship,
|
|
styled_item,
|
|
topological_representation_item);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GROUP' IN TYPEOF(SELF));
|
|
END_TYPE;
|
|
|
|
TYPE hour_in_day = INTEGER;
|
|
WHERE
|
|
WR1 : { 0 <= SELF < 24 };
|
|
END_TYPE;
|
|
|
|
TYPE id_attribute_select = SELECT (
|
|
action,
|
|
address,
|
|
product_category,
|
|
property_definition,
|
|
shape_aspect,
|
|
shape_aspect_relationship,
|
|
application_context,
|
|
group,
|
|
organizational_project,
|
|
representation);
|
|
END_TYPE;
|
|
|
|
TYPE identification_item = SELECT (
|
|
approval_status,
|
|
characterized_class,
|
|
class,
|
|
configuration_item,
|
|
contract,
|
|
dimensional_size,
|
|
document_file,
|
|
general_property,
|
|
group,
|
|
group_relationship,
|
|
information_right,
|
|
information_usage_right,
|
|
material_designation,
|
|
organization,
|
|
person_and_organization,
|
|
product,
|
|
product_category,
|
|
product_class,
|
|
product_concept,
|
|
product_concept_feature,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_identification,
|
|
representation,
|
|
rule_set,
|
|
security_classification,
|
|
security_classification_level,
|
|
shape_aspect_relationship,
|
|
shape_representation,
|
|
usage_association);
|
|
END_TYPE;
|
|
|
|
TYPE identifier = STRING;
|
|
END_TYPE;
|
|
|
|
TYPE illuminance_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE inductance_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE instance_usage_context_select = SELECT (
|
|
product_definition_relationship,
|
|
product_definition_usage);
|
|
END_TYPE;
|
|
|
|
TYPE invisibility_context = SELECT (
|
|
draughting_model,
|
|
presentation_representation,
|
|
presentation_set);
|
|
END_TYPE;
|
|
|
|
TYPE invisible_item = SELECT (
|
|
draughting_callout,
|
|
presentation_layer_assignment,
|
|
representation,
|
|
styled_item);
|
|
END_TYPE;
|
|
|
|
TYPE ir_usage_item = action_items;
|
|
WHERE
|
|
wr1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURATION_EFFECTIVITY' IN TYPEOF(SELF));
|
|
END_TYPE;
|
|
|
|
TYPE knot_type = ENUMERATION OF (
|
|
uniform_knots,
|
|
quasi_uniform_knots,
|
|
piecewise_bezier_knots,
|
|
unspecified );
|
|
END_TYPE;
|
|
|
|
TYPE label = STRING;
|
|
END_TYPE;
|
|
|
|
TYPE layered_item = SELECT (
|
|
presentation_representation,
|
|
representation_item);
|
|
END_TYPE;
|
|
|
|
TYPE length_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE limit_condition = ENUMERATION OF (
|
|
maximum_material_condition,
|
|
least_material_condition,
|
|
regardless_of_feature_size );
|
|
END_TYPE;
|
|
|
|
TYPE list_of_reversible_topology_item = LIST [0:?] OF reversible_topology_item;
|
|
END_TYPE;
|
|
|
|
TYPE list_representation_item = LIST [1:?] OF representation_item;
|
|
END_TYPE;
|
|
|
|
TYPE luminous_flux_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE luminous_intensity_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE magnetic_flux_density_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE magnetic_flux_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE marker_select = SELECT (
|
|
marker_type,
|
|
pre_defined_marker);
|
|
END_TYPE;
|
|
|
|
TYPE marker_type = ENUMERATION OF (
|
|
dot,
|
|
x,
|
|
plus,
|
|
asterisk,
|
|
ring,
|
|
square,
|
|
triangle );
|
|
END_TYPE;
|
|
|
|
TYPE mass_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE measure_value = SELECT (
|
|
absorbed_dose_measure,
|
|
dose_equivalent_measure,
|
|
radioactivity_measure,
|
|
acceleration_measure,
|
|
amount_of_substance_measure,
|
|
area_measure,
|
|
celsius_temperature_measure,
|
|
context_dependent_measure,
|
|
count_measure,
|
|
descriptive_measure,
|
|
capacitance_measure,
|
|
electric_charge_measure,
|
|
conductance_measure,
|
|
electric_current_measure,
|
|
electric_potential_measure,
|
|
energy_measure,
|
|
magnetic_flux_density_measure,
|
|
force_measure,
|
|
frequency_measure,
|
|
illuminance_measure,
|
|
inductance_measure,
|
|
length_measure,
|
|
luminous_flux_measure,
|
|
luminous_intensity_measure,
|
|
magnetic_flux_measure,
|
|
mass_measure,
|
|
numeric_measure,
|
|
non_negative_length_measure,
|
|
parameter_value,
|
|
plane_angle_measure,
|
|
positive_length_measure,
|
|
positive_plane_angle_measure,
|
|
positive_ratio_measure,
|
|
power_measure,
|
|
pressure_measure,
|
|
ratio_measure,
|
|
resistance_measure,
|
|
solid_angle_measure,
|
|
thermodynamic_temperature_measure,
|
|
time_measure,
|
|
velocity_measure,
|
|
volume_measure);
|
|
END_TYPE;
|
|
|
|
TYPE mechanical_design_and_draughting_relationship_select = SELECT (
|
|
draughting_model,
|
|
mechanical_design_geometric_presentation_representation,
|
|
mechanical_design_presentation_representation_with_draughting,
|
|
mechanical_design_shaded_presentation_representation,
|
|
shape_representation);
|
|
END_TYPE;
|
|
|
|
TYPE mechanical_design_geometric_presentation_area_items = SELECT (
|
|
axis2_placement,
|
|
mapped_item);
|
|
END_TYPE;
|
|
|
|
TYPE mechanical_design_geometric_presentation_representation_items = SELECT (
|
|
axis2_placement,
|
|
camera_model_d3,
|
|
mapped_item,
|
|
styled_item);
|
|
END_TYPE;
|
|
|
|
TYPE message = STRING;
|
|
END_TYPE;
|
|
|
|
TYPE minute_in_hour = INTEGER;
|
|
WHERE
|
|
WR1 : { 0 <= SELF <= 59 };
|
|
END_TYPE;
|
|
|
|
TYPE month_in_year_number = INTEGER;
|
|
WHERE
|
|
WR1 : { 1 <= SELF <= 12 };
|
|
END_TYPE;
|
|
|
|
TYPE multi_language_attribute_item = SELECT (
|
|
alternate_product_relationship,
|
|
application_context,
|
|
applied_certification_assignment,
|
|
applied_document_reference,
|
|
applied_document_usage_constraint_assignment,
|
|
applied_external_identification_assignment,
|
|
applied_identification_assignment,
|
|
applied_organizational_project_assignment,
|
|
approval,
|
|
approval_relationship,
|
|
approval_status,
|
|
assembly_component_usage_substitute,
|
|
attribute_value_assignment,
|
|
certification,
|
|
certification_type,
|
|
colour,
|
|
configuration_design,
|
|
configuration_item,
|
|
contract,
|
|
date_role,
|
|
date_time_role,
|
|
descriptive_representation_item,
|
|
document_relationship,
|
|
document_usage_role,
|
|
effectivity,
|
|
effectivity_relationship,
|
|
event_occurrence,
|
|
external_source,
|
|
general_property,
|
|
general_property_relationship,
|
|
geometric_representation_item,
|
|
geometric_tolerance,
|
|
identification_role,
|
|
information_right,
|
|
information_usage_right,
|
|
make_from_usage_option,
|
|
mapped_item,
|
|
object_role,
|
|
organization_relationship,
|
|
organization_role,
|
|
organizational_project,
|
|
organizational_project_relationship,
|
|
organizational_project_role,
|
|
person_and_organization,
|
|
person_and_organization_role,
|
|
product,
|
|
product_concept,
|
|
product_concept_relationship,
|
|
product_definition,
|
|
product_definition_context,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
product_definition_relationship,
|
|
product_definition_shape,
|
|
product_related_product_category,
|
|
property_definition,
|
|
representation,
|
|
representation_relationship,
|
|
security_classification,
|
|
security_classification_assignment,
|
|
shape_aspect,
|
|
shape_aspect_relationship,
|
|
shape_representation,
|
|
time_interval_role,
|
|
topological_representation_item,
|
|
uncertainty_measure_with_unit,
|
|
usage_association);
|
|
END_TYPE;
|
|
|
|
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;
|
|
|
|
TYPE name_item = SELECT (
|
|
assembly_component_usage,
|
|
external_class_library,
|
|
group,
|
|
group_relationship,
|
|
product,
|
|
product_definition);
|
|
END_TYPE;
|
|
|
|
TYPE non_negative_length_measure = length_measure;
|
|
WHERE
|
|
WR1 : SELF >= 0.0;
|
|
END_TYPE;
|
|
|
|
TYPE nonnegative_integer = INTEGER;
|
|
WHERE
|
|
nonnegativity : SELF >= 0;
|
|
END_TYPE;
|
|
|
|
TYPE null_style = ENUMERATION OF (
|
|
null );
|
|
END_TYPE;
|
|
|
|
TYPE numeric_measure = NUMBER;
|
|
END_TYPE;
|
|
|
|
TYPE organization_item = SELECT (
|
|
action,
|
|
action_directive,
|
|
alternate_product_relationship,
|
|
applied_action_assignment,
|
|
applied_classification_assignment,
|
|
applied_identification_assignment,
|
|
applied_security_classification_assignment,
|
|
approval,
|
|
assembly_component_usage_substitute,
|
|
certification,
|
|
class,
|
|
configuration_item,
|
|
contract,
|
|
document_file,
|
|
executed_action,
|
|
general_property,
|
|
information_usage_right,
|
|
organizational_project,
|
|
product,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
property_definition,
|
|
rule_action,
|
|
security_classification,
|
|
shape_representation,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE orientation_basis_select = SELECT (
|
|
axis2_placement_3d,
|
|
min_and_major_ply_orientation_basis);
|
|
END_TYPE;
|
|
|
|
TYPE parameter_value = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE pcurve_or_surface = SELECT (
|
|
pcurve,
|
|
surface);
|
|
END_TYPE;
|
|
|
|
TYPE person_and_organization_item = SELECT (
|
|
action,
|
|
action_directive,
|
|
alternate_product_relationship,
|
|
applied_action_assignment,
|
|
applied_classification_assignment,
|
|
applied_identification_assignment,
|
|
applied_security_classification_assignment,
|
|
approval,
|
|
assembly_component_usage_substitute,
|
|
certification,
|
|
configuration_item,
|
|
contract,
|
|
document_file,
|
|
executed_action,
|
|
general_property,
|
|
information_usage_right,
|
|
organizational_project,
|
|
person_and_organization,
|
|
product,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_formation_relationship,
|
|
property_definition,
|
|
rule_action,
|
|
security_classification,
|
|
shape_representation,
|
|
versioned_action_request);
|
|
END_TYPE;
|
|
|
|
TYPE person_organization_select = SELECT (
|
|
person,
|
|
organization,
|
|
person_and_organization);
|
|
END_TYPE;
|
|
|
|
TYPE picture_representation_item_select = SELECT (
|
|
styled_item,
|
|
planar_box,
|
|
axis2_placement_2d);
|
|
END_TYPE;
|
|
|
|
TYPE plane_angle_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE plane_or_planar_box = SELECT (
|
|
plane,
|
|
planar_box);
|
|
END_TYPE;
|
|
|
|
TYPE point_and_vector_member = SELECT (
|
|
point,
|
|
direction);
|
|
END_TYPE;
|
|
|
|
TYPE point_and_vector_members = LIST [2:3] OF point_and_vector_member;
|
|
END_TYPE;
|
|
|
|
TYPE point_path_members = LIST [1:?] OF point_and_vector;
|
|
END_TYPE;
|
|
|
|
TYPE positive_integer = nonnegative_integer;
|
|
WHERE
|
|
positivity : SELF > 0;
|
|
END_TYPE;
|
|
|
|
TYPE positive_length_measure = non_negative_length_measure;
|
|
WHERE
|
|
WR1 : SELF > 0.0;
|
|
END_TYPE;
|
|
|
|
TYPE positive_plane_angle_measure = plane_angle_measure;
|
|
WHERE
|
|
WR1 : SELF > 0.0;
|
|
END_TYPE;
|
|
|
|
TYPE positive_ratio_measure = ratio_measure;
|
|
WHERE
|
|
WR1 : SELF > 0.0;
|
|
END_TYPE;
|
|
|
|
TYPE power_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE preferred_surface_curve_representation = ENUMERATION OF (
|
|
curve_3d,
|
|
pcurve_s1,
|
|
pcurve_s2 );
|
|
END_TYPE;
|
|
|
|
TYPE presentable_text = STRING;
|
|
WHERE
|
|
WR1 : control_characters_free(SELF);
|
|
END_TYPE;
|
|
|
|
TYPE presentation_representation_select = SELECT (
|
|
presentation_representation,
|
|
presentation_set);
|
|
END_TYPE;
|
|
|
|
TYPE presentation_size_assignment_select = SELECT (
|
|
presentation_view,
|
|
presentation_area,
|
|
area_in_set);
|
|
END_TYPE;
|
|
|
|
TYPE presentation_style_select = SELECT (
|
|
point_style,
|
|
curve_style,
|
|
surface_style_usage,
|
|
symbol_style,
|
|
fill_area_style,
|
|
text_style,
|
|
null_style);
|
|
END_TYPE;
|
|
|
|
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;
|
|
|
|
TYPE pressure_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE product_definition_or_assembly_relationship = SELECT (
|
|
assembly_component_usage,
|
|
product_definition);
|
|
END_TYPE;
|
|
|
|
TYPE product_definition_or_breakdown_element_usage = SELECT (
|
|
product_definition,
|
|
product_definition_usage);
|
|
END_TYPE;
|
|
|
|
TYPE product_definition_or_product_definition_relationship = SELECT (
|
|
product_definition,
|
|
product_definition_usage);
|
|
END_TYPE;
|
|
|
|
TYPE product_or_formation_or_definition = SELECT (
|
|
product,
|
|
product_definition_formation,
|
|
product_definition);
|
|
END_TYPE;
|
|
|
|
TYPE project_item = SELECT (
|
|
executed_action,
|
|
product_concept);
|
|
END_TYPE;
|
|
|
|
TYPE radioactivity_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE ratio_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE rendering_properties_select = SELECT (
|
|
surface_style_reflectance_ambient,
|
|
surface_style_transparent);
|
|
END_TYPE;
|
|
|
|
TYPE represented_definition = SELECT (
|
|
general_property,
|
|
property_definition,
|
|
property_definition_relationship,
|
|
shape_aspect,
|
|
shape_aspect_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE requirement_assigned_item = SELECT (
|
|
configuration_item,
|
|
descriptive_representation_item,
|
|
product,
|
|
product_class,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_relationship,
|
|
representation,
|
|
shape_aspect);
|
|
END_TYPE;
|
|
|
|
TYPE requirement_satisfaction_item = SELECT (
|
|
requirement_assigned_item);
|
|
END_TYPE;
|
|
|
|
TYPE requirement_source_item = SELECT (
|
|
characterized_object,
|
|
group,
|
|
group_relationship,
|
|
product,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_relationship,
|
|
shape_aspect);
|
|
END_TYPE;
|
|
|
|
TYPE resistance_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE reversible_topology = SELECT (
|
|
reversible_topology_item,
|
|
list_of_reversible_topology_item,
|
|
set_of_reversible_topology_item);
|
|
END_TYPE;
|
|
|
|
TYPE reversible_topology_item = SELECT (
|
|
edge,
|
|
path,
|
|
face,
|
|
face_bound,
|
|
closed_shell,
|
|
open_shell);
|
|
END_TYPE;
|
|
|
|
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;
|
|
|
|
TYPE rule_superseded_item = SELECT (
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE second_in_minute = REAL;
|
|
WHERE
|
|
WR1 : { 0 <= SELF <= 60.0 };
|
|
END_TYPE;
|
|
|
|
TYPE security_classification_item = SELECT (
|
|
assembly_component_usage,
|
|
document,
|
|
document_file,
|
|
make_from_usage_option,
|
|
product,
|
|
product_definition,
|
|
product_definition_formation,
|
|
product_definition_usage);
|
|
END_TYPE;
|
|
|
|
TYPE set_of_reversible_topology_item = SET [0:?] OF reversible_topology_item;
|
|
END_TYPE;
|
|
|
|
TYPE set_representation_item = SET [1:?] OF representation_item;
|
|
END_TYPE;
|
|
|
|
TYPE shading_curve_method = ENUMERATION OF (
|
|
constant_colour,
|
|
linear_colour );
|
|
END_TYPE;
|
|
|
|
TYPE shading_surface_method = ENUMERATION OF (
|
|
constant_shading,
|
|
colour_shading,
|
|
dot_shading,
|
|
normal_shading );
|
|
END_TYPE;
|
|
|
|
TYPE shape_definition = SELECT (
|
|
product_definition_shape,
|
|
shape_aspect,
|
|
shape_aspect_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE shell = SELECT (
|
|
vertex_shell,
|
|
wire_shell,
|
|
open_shell,
|
|
closed_shell);
|
|
END_TYPE;
|
|
|
|
TYPE si_prefix = ENUMERATION OF (
|
|
exa,
|
|
peta,
|
|
tera,
|
|
giga,
|
|
mega,
|
|
kilo,
|
|
hecto,
|
|
deca,
|
|
deci,
|
|
centi,
|
|
milli,
|
|
micro,
|
|
nano,
|
|
pico,
|
|
femto,
|
|
atto );
|
|
END_TYPE;
|
|
|
|
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;
|
|
|
|
TYPE size_select = SELECT (
|
|
positive_length_measure,
|
|
measure_with_unit,
|
|
descriptive_measure);
|
|
END_TYPE;
|
|
|
|
TYPE sketch_basis_select = SELECT (
|
|
curve_bounded_surface,
|
|
face_surface);
|
|
END_TYPE;
|
|
|
|
TYPE solid_angle_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE source = ENUMERATION OF (
|
|
made,
|
|
bought,
|
|
not_known );
|
|
END_TYPE;
|
|
|
|
TYPE source_item = SELECT (
|
|
identifier,
|
|
message);
|
|
END_TYPE;
|
|
|
|
TYPE start_request_item = SELECT (
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE string_representation_item_select = SELECT (
|
|
descriptive_representation_item,
|
|
included_text_block,
|
|
structured_text_composition);
|
|
END_TYPE;
|
|
|
|
TYPE style_context_select = SELECT (
|
|
group,
|
|
presentation_layer_assignment,
|
|
presentation_set,
|
|
representation,
|
|
representation_item,
|
|
representation_relationship);
|
|
END_TYPE;
|
|
|
|
TYPE surface_side = ENUMERATION OF (
|
|
positive,
|
|
negative,
|
|
both );
|
|
END_TYPE;
|
|
|
|
TYPE surface_side_style_select = SELECT (
|
|
surface_side_style,
|
|
pre_defined_surface_side_style);
|
|
END_TYPE;
|
|
|
|
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;
|
|
|
|
TYPE symbol_style_select = SELECT (
|
|
symbol_colour);
|
|
END_TYPE;
|
|
|
|
TYPE text = STRING;
|
|
END_TYPE;
|
|
|
|
TYPE text_alignment = label;
|
|
END_TYPE;
|
|
|
|
TYPE text_delineation = label;
|
|
END_TYPE;
|
|
|
|
TYPE text_or_character = SELECT (
|
|
annotation_text,
|
|
annotation_text_character,
|
|
composite_text,
|
|
text_literal);
|
|
END_TYPE;
|
|
|
|
TYPE text_path = ENUMERATION OF (
|
|
left,
|
|
right,
|
|
up,
|
|
down );
|
|
END_TYPE;
|
|
|
|
TYPE text_string_representation_item = SELECT (
|
|
text_literal,
|
|
annotation_text,
|
|
annotation_text_character,
|
|
composite_text,
|
|
axis2_placement);
|
|
END_TYPE;
|
|
|
|
TYPE thermodynamic_temperature_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE time_interval_item = SELECT (
|
|
action,
|
|
time_interval_based_effectivity);
|
|
END_TYPE;
|
|
|
|
TYPE time_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE tolerance_method_definition = SELECT (
|
|
tolerance_value,
|
|
limits_and_fits);
|
|
END_TYPE;
|
|
|
|
TYPE transformation = SELECT (
|
|
item_defined_transformation,
|
|
functionally_defined_transformation);
|
|
END_TYPE;
|
|
|
|
TYPE transition_code = ENUMERATION OF (
|
|
discontinuous,
|
|
continuous,
|
|
cont_same_gradient,
|
|
cont_same_gradient_same_curvature );
|
|
END_TYPE;
|
|
|
|
TYPE trim_condition_select = SELECT (
|
|
length_measure,
|
|
plane_angle_measure,
|
|
generalized_surface_select,
|
|
solid_model);
|
|
END_TYPE;
|
|
|
|
TYPE trim_intent = ENUMERATION OF (
|
|
blind,
|
|
offset,
|
|
through_all,
|
|
unspecified,
|
|
up_to_next );
|
|
END_TYPE;
|
|
|
|
TYPE trimming_preference = ENUMERATION OF (
|
|
cartesian,
|
|
parameter,
|
|
unspecified );
|
|
END_TYPE;
|
|
|
|
TYPE trimming_select = SELECT (
|
|
cartesian_point,
|
|
parameter_value);
|
|
END_TYPE;
|
|
|
|
TYPE u_direction_count = INTEGER;
|
|
WHERE
|
|
WR1 : SELF > 1;
|
|
END_TYPE;
|
|
|
|
TYPE unit = SELECT (
|
|
derived_unit,
|
|
named_unit);
|
|
END_TYPE;
|
|
|
|
TYPE v_direction_count = INTEGER;
|
|
WHERE
|
|
WR1 : SELF > 1;
|
|
END_TYPE;
|
|
|
|
TYPE value_qualifier = SELECT (
|
|
precision_qualifier,
|
|
type_qualifier,
|
|
uncertainty_qualifier);
|
|
END_TYPE;
|
|
|
|
TYPE vector_or_direction = SELECT (
|
|
vector,
|
|
direction);
|
|
END_TYPE;
|
|
|
|
TYPE velocity_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE volume_measure = REAL;
|
|
END_TYPE;
|
|
|
|
TYPE week_in_year_number = INTEGER;
|
|
WHERE
|
|
WR1 : { 1 <= SELF <= 53 };
|
|
END_TYPE;
|
|
|
|
TYPE work_item = SELECT (
|
|
product_definition_formation);
|
|
END_TYPE;
|
|
|
|
TYPE year_number = INTEGER;
|
|
END_TYPE;
|
|
|
|
ENTITY absorbed_dose_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ABSORBED_DOSE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY absorbed_dose_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.gray);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY abstract_variable
|
|
SUBTYPE OF (property_definition, property_definition_representation, representation, representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY acceleration_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ACCELERATION_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY acceleration_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) =
|
|
dimensional_exponents ( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
chosen_method : action_method;
|
|
DERIVE
|
|
id : identifier := get_id_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_action : action;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_directive;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
analysis : text;
|
|
comment : text;
|
|
requests : SET [1:?] OF versioned_action_request;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_method;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
consequence : text;
|
|
purpose : text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_method_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_action_method : action_method;
|
|
role : action_method_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_method_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_method : action_method;
|
|
related_method : action_method;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_method_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_property;
|
|
name : label;
|
|
description : text;
|
|
definition : characterized_action_definition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_property_representation;
|
|
name : label;
|
|
description : text;
|
|
property : action_property;
|
|
representation : representation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_action : action;
|
|
related_action : action;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_request_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_action_request : versioned_action_request;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_request_status;
|
|
status : label;
|
|
assigned_request : versioned_action_request;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY action_status;
|
|
status : label;
|
|
assigned_action : executed_action;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY advanced_brep_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (
|
|
QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
|
|
WR2 : SIZEOF (
|
|
QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0;
|
|
WR3 : SIZEOF (
|
|
QUERY ( msb <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( csh <* msb_shells(msb)| NOT ( SIZEOF (
|
|
QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0;
|
|
WR4 : SIZEOF (
|
|
QUERY ( msb <*
|
|
QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0;
|
|
WR5 : SIZEOF (
|
|
QUERY ( brv <*
|
|
QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY advanced_face
|
|
SUBTYPE OF (face_surface);
|
|
WHERE
|
|
WR1 : SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' ] * TYPEOF (face_geometry)) = 1;
|
|
WR2 : SIZEOF (
|
|
QUERY ( elp_fbnds <*
|
|
QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
|
|
QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element)) )) = 0) )) = 0;
|
|
WR3 : SIZEOF (
|
|
QUERY ( elp_fbnds <*
|
|
QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
|
|
QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (oe.edge_element\edge_curve.edge_geometry)) = 1) )) = 0) )) = 0;
|
|
WR4 : SIZEOF (
|
|
QUERY ( elp_fbnds <*
|
|
QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
|
|
QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_start\vertex_point.vertex_geometry))) AND (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_end)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0) )) = 0;
|
|
WR5 : SIZEOF (
|
|
QUERY ( elp_fbnds <*
|
|
QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_PATH' IN TYPEOF (elp_fbnds.bound)) )) = 0;
|
|
WR6 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (face_geometry\swept_surface.swept_curve)) = 1);
|
|
WR7 : SIZEOF (
|
|
QUERY ( vlp_fbnds <*
|
|
QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) )| NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' ] * TYPEOF (bnd.bound)) = 1) )) = 0;
|
|
WR9 : SIZEOF (
|
|
QUERY ( elp_fbnds <*
|
|
QUERY ( bnds <* bounds| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
|
|
QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF (sc_ag)) )) = 0) )) = 0) )) = 0;
|
|
WR10 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF (
|
|
QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY amount_of_substance_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY angle_direction_reference
|
|
SUBTYPE OF (representation_item_relationship, geometric_representation_item);
|
|
SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select;
|
|
SELF\representation_item_relationship.relating_representation_item : orientation_basis_select;
|
|
WHERE
|
|
WR1 : ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF(relating_representation_item)))
|
|
OR
|
|
(NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF(relating_representation_item))));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY angular_dimension
|
|
SUBTYPE OF (dimension_curve_directed_callout);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY angular_location
|
|
SUBTYPE OF (dimensional_location);
|
|
angle_selection : angle_relator;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY angular_size
|
|
SUBTYPE OF (dimensional_size);
|
|
angle_selection : angle_relator;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY angularity_tolerance
|
|
SUBTYPE OF (geometric_tolerance_with_datum_reference);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_curve_occurrence
|
|
SUBTYPE OF (annotation_occurrence);
|
|
SELF\styled_item.item : curve;
|
|
END_ENTITY;
|
|
|
|
|
|
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 (
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' IN TYPEOF (curve)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE' IN TYPEOF (curve)) OR
|
|
( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (curve))
|
|
AND (curve\b_spline_curve.closed_curve = TRUE) ) OR
|
|
( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (curve))
|
|
AND (curve\composite_curve.closed_curve = TRUE) ) OR
|
|
( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF (curve))
|
|
AND (curve\polyline.points[LOINDEX(curve\polyline.points)] =
|
|
curve\polyline.points[HIINDEX(curve\polyline.points)]) )
|
|
) )) = 0);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_fill_area_occurrence
|
|
SUBTYPE OF (annotation_occurrence);
|
|
fill_style_target : point;
|
|
SELF\styled_item.item : annotation_fill_area;
|
|
END_ENTITY;
|
|
|
|
|
|
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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN
|
|
TYPEOF (SELF);
|
|
WR2 : SIZEOF (QUERY (reps <* using_representations(SELF) |
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF(reps)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_occurrence_associativity
|
|
SUBTYPE OF (annotation_occurrence_relationship);
|
|
WHERE
|
|
WR1 : SIZEOF (TYPEOF (SELF.related_annotation_occurrence) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE']) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_occurrence_relationship;
|
|
name : label;
|
|
description : text;
|
|
relating_annotation_occurrence : annotation_occurrence;
|
|
related_annotation_occurrence : annotation_occurrence;
|
|
END_ENTITY;
|
|
|
|
|
|
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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\styled_item.item\planar_box.placement));
|
|
WR3 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'CURVE_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))) OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PLANE' IN TYPEOF(SELF\styled_item.item)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'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;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NULL_STYLE'
|
|
IN TYPEOF (sty.styles[1])) ))=0;
|
|
WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL'
|
|
IN TYPEOF (SELF.item));
|
|
WR4 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_SUBFIGURE_REPRESENTATION'
|
|
IN TYPEOF
|
|
(SELF.item\mapped_item.mapping_source.mapped_representation));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_symbol
|
|
SUBTYPE OF (mapped_item);
|
|
SELF\mapped_item.mapping_source : symbol_representation_map;
|
|
SELF\mapped_item.mapping_target : symbol_target;
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN
|
|
TYPEOF (SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_symbol_occurrence
|
|
SUBTYPE OF (annotation_occurrence);
|
|
SELF\styled_item.item : annotation_symbol_occurrence_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_text
|
|
SUBTYPE OF (mapped_item);
|
|
SELF\mapped_item.mapping_target : axis2_placement;
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STRING_REPRESENTATION' IN
|
|
TYPEOF( SELF\mapped_item.mapping_source.mapped_representation);
|
|
WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN
|
|
TYPEOF( SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_text_character
|
|
SUBTYPE OF (mapped_item);
|
|
alignment : text_alignment;
|
|
SELF\mapped_item.mapping_target : axis2_placement;
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN
|
|
TYPEOF (SELF\mapped_item.mapping_source.mapped_representation);
|
|
WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN
|
|
TYPEOF (SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY annotation_text_occurrence
|
|
SUBTYPE OF (annotation_occurrence);
|
|
SELF\styled_item.item : annotation_text_occurrence_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY apex
|
|
SUBTYPE OF (derived_shape_aspect);
|
|
END_ENTITY;
|
|
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY application_context_element
|
|
SUPERTYPE OF (ONEOF (product_concept_context, product_context, product_definition_context));
|
|
name : label;
|
|
frame_of_reference : application_context;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY application_protocol_definition;
|
|
status : label;
|
|
application_interpreted_model_schema_name : label;
|
|
application_protocol_year : year_number;
|
|
application : application_context;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_action_assignment
|
|
SUBTYPE OF (action_assignment);
|
|
items : SET [1:?] OF action_items;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_action_method_assignment
|
|
SUBTYPE OF (action_method_assignment);
|
|
items : SET [1:?] OF action_method_items;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_action_request_assignment
|
|
SUBTYPE OF (action_request_assignment);
|
|
items : SET [1:?] OF action_request_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_approval_assignment
|
|
SUBTYPE OF (approval_assignment);
|
|
items : SET [1:?] OF approval_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_attribute_classification_assignment
|
|
SUBTYPE OF (attribute_classification_assignment);
|
|
items : SET [1:?] OF attribute_classification_item;
|
|
SELF\attribute_classification_assignment.assigned_class : class;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_certification_assignment
|
|
SUBTYPE OF (certification_assignment);
|
|
items : SET [1:?] OF certification_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_classification_assignment
|
|
SUBTYPE OF (classification_assignment);
|
|
items : SET [1:?] OF classification_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_contract_assignment
|
|
SUBTYPE OF (contract_assignment);
|
|
items : SET [1:?] OF contract_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_date_and_time_assignment
|
|
SUBTYPE OF (date_and_time_assignment);
|
|
items : SET [1:?] OF date_and_time_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_date_assignment
|
|
SUBTYPE OF (date_assignment);
|
|
items : SET [1:?] OF date_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_document_reference
|
|
SUBTYPE OF (document_reference);
|
|
items : SET [1:?] OF document_reference_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_document_usage_constraint_assignment
|
|
SUBTYPE OF (document_usage_constraint_assignment);
|
|
items : SET [1:?] OF document_reference_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_effectivity_assignment
|
|
SUBTYPE OF (effectivity_assignment);
|
|
items : SET [1:?] OF effectivity_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_event_occurrence_assignment
|
|
SUBTYPE OF (event_occurrence_assignment);
|
|
items : SET [1:?] OF event_occurrence_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_external_identification_assignment
|
|
SUBTYPE OF (external_identification_assignment);
|
|
items : SET [1:?] OF external_identification_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_group_assignment
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:?] OF groupable_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_identification_assignment
|
|
SUBTYPE OF (identification_assignment);
|
|
items : SET [1:?] OF identification_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_name_assignment
|
|
SUBTYPE OF (name_assignment);
|
|
item : name_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_organization_assignment
|
|
SUBTYPE OF (organization_assignment);
|
|
items : SET [1:?] OF organization_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_organizational_project_assignment
|
|
SUBTYPE OF (organizational_project_assignment);
|
|
items : SET [1:?] OF project_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_person_and_organization_assignment
|
|
SUBTYPE OF (person_and_organization_assignment);
|
|
items : SET [1:?] OF person_and_organization_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_presented_item
|
|
SUBTYPE OF (presented_item);
|
|
items : SET [1:?] OF presented_item_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_security_classification_assignment
|
|
SUBTYPE OF (security_classification_assignment);
|
|
items : SET [1:?] OF security_classification_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_time_interval_assignment
|
|
SUBTYPE OF (time_interval_assignment);
|
|
items : SET [0:?] OF time_interval_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY applied_usage_right
|
|
SUBTYPE OF (applied_action_assignment);
|
|
SELF\applied_action_assignment.items : SET [1:?] OF ir_usage_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY approval;
|
|
status : approval_status;
|
|
level : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY approval_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_approval : approval;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY approval_date_time;
|
|
date_time : date_time_select;
|
|
dated_approval : approval;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY approval_person_organization;
|
|
person_organization : person_organization_select;
|
|
authorized_approval : approval;
|
|
role : approval_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY approval_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_approval : approval;
|
|
related_approval : approval;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY approval_role;
|
|
role : label;
|
|
DERIVE
|
|
description : text := get_description_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY approval_status;
|
|
name : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY area_in_set;
|
|
area : presentation_area;
|
|
in_set : presentation_set;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY area_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AREA_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY assigned_requirement
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:1] OF product_definition;
|
|
SELF\group_assignment.assigned_group : requirement_assignment;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY atomic_formula
|
|
SUBTYPE OF (compound_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY attribute_assertion
|
|
SUBTYPE OF (fact_type, property_definition_representation, representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY attribute_classification_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_class : group;
|
|
attribute_name : label;
|
|
role : classification_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY attribute_language_assignment
|
|
SUBTYPE OF (attribute_classification_assignment);
|
|
items : SET [1:?] OF attribute_language_item;
|
|
SELF\attribute_classification_assignment.assigned_class : language;
|
|
WHERE
|
|
WR1 : SELF\attribute_classification_assignment.role.name IN ['primary', 'translated'];
|
|
WR2 : SELF\attribute_classification_assignment.attribute_name<> '';
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY attribute_value_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
attribute_name : label;
|
|
attribute_value : attribute_type;
|
|
role : attribute_value_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY attribute_value_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY auxiliary_geometric_representation_item
|
|
SUBTYPE OF (geometric_representation_item, variational_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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
|
|
control_points : ARRAY [0:upper_index_on_control_points] OF cartesian_point := list_to_array(control_points_list,0,
|
|
upper_index_on_control_points);
|
|
upper_index_on_control_points : INTEGER := (SIZEOF(control_points_list) - 1);
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNIFORM_CURVE' IN TYPEOF(self)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF(self)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BEZIER_CURVE' IN TYPEOF(self)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(self));
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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
|
|
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);
|
|
u_upper : INTEGER := SIZEOF(control_points_list) - 1;
|
|
v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1;
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BEZIER_SURFACE' IN TYPEOF(SELF)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF));
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY back_chaining_rule
|
|
SUBTYPE OF (rule_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY back_chaining_rule_body
|
|
SUBTYPE OF (property_definition, property_definition_representation, representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY background_colour
|
|
SUBTYPE OF (colour);
|
|
presentation : area_or_view;
|
|
UNIQUE
|
|
UR1 : presentation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY beveled_sheet_representation
|
|
SUBTYPE OF (shape_representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY bezier_curve
|
|
SUBTYPE OF (b_spline_curve);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY bezier_surface
|
|
SUBTYPE OF (b_spline_surface);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY binary_generic_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (generic_expression);
|
|
operands : LIST [2:2] OF generic_expression;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY binary_numeric_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (numeric_expression, binary_generic_expression);
|
|
SELF\binary_generic_expression.operands : LIST [2:2] OF numeric_expression;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY binary_representation_item
|
|
SUBTYPE OF (representation_item);
|
|
binary_value : BINARY;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY boolean_expression
|
|
ABSTRACT SUPERTYPE OF (ONEOF (simple_boolean_expression, multiple_arity_boolean_expression, comparison_expression, interval_expression))
|
|
SUBTYPE OF (expression);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY boolean_literal
|
|
SUBTYPE OF (simple_boolean_expression, generic_literal);
|
|
the_value : BOOLEAN;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY boolean_representation_item
|
|
SUBTYPE OF (representation_item, boolean_literal);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY boolean_result
|
|
SUBTYPE OF (geometric_representation_item);
|
|
operator : boolean_operator;
|
|
first_operand : boolean_operand;
|
|
second_operand : boolean_operand;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY boundary_curve
|
|
SUBTYPE OF (composite_curve_on_surface);
|
|
WHERE
|
|
WR1 : SELF\composite_curve.closed_curve;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY bounded_curve
|
|
SUPERTYPE OF (ONEOF (polyline, b_spline_curve, trimmed_curve, bounded_pcurve, bounded_surface_curve, composite_curve))
|
|
SUBTYPE OF (curve);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY bounded_pcurve
|
|
SUBTYPE OF (pcurve, bounded_curve);
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE' IN
|
|
TYPEOF(SELF\pcurve.reference_to_curve.items[1]));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY bounded_surface
|
|
SUPERTYPE OF (ONEOF (b_spline_surface, rectangular_trimmed_surface, curve_bounded_surface, rectangular_composite_surface))
|
|
SUBTYPE OF (surface);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY bounded_surface_curve
|
|
SUBTYPE OF (surface_curve, bounded_curve);
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE' IN
|
|
TYPEOF(SELF\surface_curve.curve_3d));
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOXED_HALF_SPACE'
|
|
IN TYPEOF(item)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY boxed_half_space
|
|
SUBTYPE OF (half_space_solid);
|
|
enclosure : box_domain;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY breakdown_context
|
|
SUBTYPE OF (product_definition_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY breakdown_element_group_assignment
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:1] OF product_definition_or_breakdown_element_usage;
|
|
SELF\group_assignment.assigned_group : product_definition_element_relationship;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY breakdown_element_realization
|
|
SUBTYPE OF (characterized_object, product_definition_element_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY breakdown_element_usage
|
|
SUBTYPE OF (product_definition_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY breakdown_of
|
|
SUBTYPE OF (product_definition_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY brep_with_voids
|
|
SUBTYPE OF (manifold_solid_brep);
|
|
voids : SET [1:?] OF oriented_closed_shell;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY bytes_representation_item
|
|
SUBTYPE OF (binary_representation_item);
|
|
DERIVE
|
|
no_of_bytes : INTEGER := BLENGTH(SELF\binary_representation_item.binary_value) DIV 8;
|
|
WHERE
|
|
WR1 : BLENGTH(SELF\binary_representation_item.binary_value) MOD 8 = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY camera_image
|
|
SUBTYPE OF (mapped_item);
|
|
SELF\mapped_item.mapping_source : camera_usage;
|
|
SELF\mapped_item.mapping_target : planar_box;
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM'
|
|
IN TYPEOF (SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AXIS2_PLACEMENT_2D' IN TYPEOF (SELF\mapped_item.
|
|
mapping_target\planar_box.placement))
|
|
AND NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AXIS2_PLACEMENT_3D' IN TYPEOF (SELF\mapped_item.
|
|
mapping_target\planar_box.placement));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY camera_model
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (geometric_representation_item);
|
|
WHERE
|
|
WR1 : (SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'ITEM_DEFINED_TRANSFORMATION.' +
|
|
'TRANSFORM_ITEM_1')) +
|
|
SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'REPRESENTATION_MAP.MAPPING_ORIGIN'))
|
|
) > 0;
|
|
WR2 : SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'STYLED_ITEM.ITEM')) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY camera_model_d3_multi_clipping
|
|
SUBTYPE OF (camera_model_d3);
|
|
shape_clipping : SET [1:?] OF camera_model_d3_multi_clipping_interection_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY camera_model_d3_multi_clipping_intersection
|
|
SUBTYPE OF (geometric_representation_item);
|
|
shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_interection_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY camera_model_d3_multi_clipping_union
|
|
SUBTYPE OF (geometric_representation_item);
|
|
shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_union_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY camera_model_d3_with_hlhsr
|
|
SUBTYPE OF (camera_model_d3);
|
|
hidden_line_surface_removal : BOOLEAN;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY camera_model_with_light_sources
|
|
SUBTYPE OF (camera_model_d3);
|
|
sources : SET [1:?] OF light_source;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY camera_usage
|
|
SUBTYPE OF (representation_map);
|
|
SELF\representation_map.mapping_origin : camera_model;
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_REPRESENTATION'
|
|
IN TYPEOF(SELF\representation_map.mapped_representation));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY capacitance_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CAPACITANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY capacitance_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.farad);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cartesian_point
|
|
SUBTYPE OF (point);
|
|
coordinates : LIST [1:3] OF length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY cc_design_approval
|
|
SUBTYPE OF (approval_assignment);
|
|
items : SET [1:?] OF approved_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cc_design_certification
|
|
SUBTYPE OF (certification_assignment);
|
|
items : SET [1:?] OF certified_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cc_design_contract
|
|
SUBTYPE OF (contract_assignment);
|
|
items : SET [1:?] OF contracted_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cc_design_date_and_time_assignment
|
|
SUBTYPE OF (date_and_time_assignment);
|
|
items : SET [1:?] OF date_time_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cc_design_person_and_organization_assignment
|
|
SUBTYPE OF (person_and_organization_assignment);
|
|
items : SET [1:?] OF cc_person_organization_item;
|
|
WHERE
|
|
WR1 : cc_design_person_and_organization_correlation(SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cc_design_security_classification
|
|
SUBTYPE OF (security_classification_assignment);
|
|
items : SET [1:?] OF cc_classified_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cc_design_specification_reference
|
|
SUBTYPE OF (document_reference);
|
|
items : SET [1:?] OF cc_specified_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY celsius_temperature_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY centre_of_symmetry
|
|
SUBTYPE OF (derived_shape_aspect);
|
|
WHERE
|
|
WR1 : SIZEOF
|
|
(QUERY(sadr<*SELF\derived_shape_aspect.deriving_relationships|
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRIC_SHAPE_ASPECT'
|
|
IN TYPEOF
|
|
(sadr\shape_aspect_relationship.related_shape_aspect))))=0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY certification;
|
|
name : label;
|
|
purpose : text;
|
|
kind : certification_type;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY certification_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_certification : certification;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY certification_type;
|
|
description : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY change
|
|
SUBTYPE OF (action_assignment);
|
|
items : SET [1:?] OF work_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY change_request
|
|
SUBTYPE OF (action_request_assignment);
|
|
items : SET [1:?] OF change_request_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY character_glyph_font_usage;
|
|
character : generic_character_glyph_symbol;
|
|
font : text_font;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY character_glyph_style_outline
|
|
SUBTYPE OF (founded_item);
|
|
outline_style : curve_style;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY character_glyph_style_stroke
|
|
SUBTYPE OF (founded_item);
|
|
stroke_style : curve_style;
|
|
END_ENTITY;
|
|
|
|
|
|
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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE'
|
|
IN TYPEOF (SELF.box_height);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY character_glyph_symbol_outline
|
|
SUBTYPE OF (character_glyph_symbol);
|
|
outlines : SET [1:?] OF annotation_fill_area;
|
|
WHERE
|
|
WR1 : SELF.outlines <= SELF\representation.items;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY character_glyph_symbol_stroke
|
|
SUBTYPE OF (character_glyph_symbol);
|
|
strokes : SET [1:?] OF curve;
|
|
WHERE
|
|
WR1 : SELF.strokes <= SELF\representation.items;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY characteristic_data_column_header
|
|
SUBTYPE OF (general_property);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY characteristic_data_column_header_link
|
|
SUBTYPE OF (general_property_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY characteristic_data_table_header
|
|
SUBTYPE OF (general_property);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY characteristic_data_table_header_decomposition
|
|
SUBTYPE OF (general_property_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY characteristic_type
|
|
SUBTYPE OF (group);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY characterized_class
|
|
SUBTYPE OF (characterized_object, class);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY characterized_object;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY circle
|
|
SUBTYPE OF (conic);
|
|
radius : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY class
|
|
SUBTYPE OF (group);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY class_by_extension
|
|
SUBTYPE OF (class);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY class_by_intension
|
|
SUBTYPE OF (class);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY class_system
|
|
SUBTYPE OF (group);
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0;
|
|
WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) )) = 0);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY classification_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_class : group;
|
|
role : classification_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY classification_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY closed_shell
|
|
SUBTYPE OF (connected_face_set);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY coaxiality_tolerance
|
|
SUBTYPE OF (geometric_tolerance_with_datum_reference);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY colour;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY colour_specification
|
|
SUBTYPE OF (colour);
|
|
name : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY common_datum
|
|
SUBTYPE OF (composite_shape_aspect, datum);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\composite_shape_aspect.component_relationships) = 2;
|
|
WR2 : SIZEOF (QUERY ( sar <* SELF\composite_shape_aspect.component_relationships|
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM' IN TYPEOF (sar.related_shape_aspect)) AND
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect))) )) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY comparison_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (boolean_expression, binary_generic_expression);
|
|
SELF\binary_generic_expression.operands : LIST [2:2] OF expression;
|
|
WHERE
|
|
WR1 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
|
|
IN TYPEOF(SELF\binary_generic_expression.operands[1]))
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
|
|
IN TYPEOF(SELF\binary_generic_expression.operands[2])))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_EXPRESSION'
|
|
IN TYPEOF(SELF\binary_generic_expression.operands[1]))
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_EXPRESSION'
|
|
IN TYPEOF(SELF\binary_generic_expression.operands[2])))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
|
|
IN TYPEOF(SELF\binary_generic_expression.operands[1]))
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
|
|
IN TYPEOF(SELF\binary_generic_expression.operands[2])));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY complex_clause
|
|
SUBTYPE OF (compound_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY complex_conjunctive_clause
|
|
SUBTYPE OF (complex_clause);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY complex_disjunctive_clause
|
|
SUBTYPE OF (complex_clause);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY complex_shelled_solid
|
|
SUBTYPE OF (shelled_solid);
|
|
thickened_face_list : LIST [1:?] OF SET [1:?] OF face_surface;
|
|
thickness_list : LIST [1:?] OF length_measure;
|
|
WHERE
|
|
WR1 : SIZEOF(thickened_face_list) = SIZEOF(thickness_list);
|
|
WR2 : SIZEOF(QUERY(q <* thickness_list | (q = 0))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_assembly_definition
|
|
SUBTYPE OF (product_definition);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_RELATIONSHIP.' +
|
|
'RELATING_PRODUCT_DEFINITION') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
|
|
TYPEOF (pdr))) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_assembly_sequence_definition
|
|
SUBTYPE OF (product_definition);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_RELATIONSHIP.' +
|
|
'RELATING_PRODUCT_DEFINITION') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
|
|
TYPEOF (pdr))) > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_assembly_table
|
|
SUBTYPE OF (part_laminate_table);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_curve
|
|
SUBTYPE OF (bounded_curve);
|
|
segments : LIST [1:?] OF composite_curve_segment;
|
|
self_intersect : LOGICAL;
|
|
DERIVE
|
|
closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous;
|
|
n_segments : INTEGER := SIZEOF(segments);
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE' IN TYPEOF(parent_curve));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_material_designation
|
|
SUBTYPE OF (material_designation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_shape_aspect
|
|
SUBTYPE OF (shape_aspect);
|
|
INVERSE
|
|
component_relationships: SET [2:?] OF shape_aspect_relationship FOR relating_shape_aspect;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_sheet_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF (SELF)) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY composite_text_with_associated_curves
|
|
SUBTYPE OF (composite_text);
|
|
associated_curves : SET [1:?] OF curve;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_text_with_blanking_box
|
|
SUBTYPE OF (composite_text);
|
|
blanking : planar_box;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_text_with_delineation
|
|
SUBTYPE OF (composite_text);
|
|
delineation : text_delineation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY composite_text_with_extent
|
|
SUBTYPE OF (composite_text);
|
|
extent : planar_extent;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY compound_representation_item
|
|
SUPERTYPE OF (ONEOF (point_and_vector, point_path, row_representation_item, table_representation_item))
|
|
SUBTYPE OF (representation_item);
|
|
item_element : compound_item_definition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY compound_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ '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 (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'AXIS2_PLACEMENT_3D']* TYPEOF ( cbsr_i ) ) <>1 ) ) =0;
|
|
WR3 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM']* TYPEOF ( cbsr_i ) ) =1 ) ) >0;
|
|
WR4 : SIZEOF ( QUERY ( cbsr_i <* SELF.items | (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MAPPED_ITEM' IN TYPEOF ( cbsr_i ) )
|
|
AND ( SIZEOF ( ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'COMPOUND_SHAPE_REPRESENTATION' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION']* TYPEOF (
|
|
cbsr_i\ mapped_item.mapping_source ) ) <>1 ) ) ) =0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY concentricity_tolerance
|
|
SUBTYPE OF (geometric_tolerance_with_datum_reference);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY concept_feature_operator;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY concept_feature_relationship_with_condition
|
|
SUBTYPE OF (concept_feature_relationship);
|
|
conditional_operator : concept_feature_operator;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY conditional_concept_feature
|
|
SUBTYPE OF (product_concept_feature);
|
|
condition : concept_feature_relationship_with_condition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY conductance_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY conductance_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.siemens);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configurable_item
|
|
SUBTYPE OF (configuration_item);
|
|
item_concept_feature : SET [1:?] OF product_concept_feature_association;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configuration_design;
|
|
configuration : configuration_item;
|
|
design : configuration_design_item;
|
|
DERIVE
|
|
description : text := get_description_value (SELF);
|
|
name : label := get_name_value (SELF);
|
|
UNIQUE
|
|
UR1 : configuration, design;
|
|
WHERE
|
|
WR1 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
WR2 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configuration_effectivity
|
|
SUBTYPE OF (product_definition_effectivity);
|
|
configuration : configuration_design;
|
|
UNIQUE
|
|
UR1: configuration, SELF\product_definition_effectivity.usage, SELF\effectivity.id;
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_USAGE' IN
|
|
TYPEOF (SELF\product_definition_effectivity.usage);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configuration_item;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
item_concept : product_concept;
|
|
purpose : OPTIONAL label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configuration_item_hierarchical_relationship
|
|
SUBTYPE OF (configuration_item_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configuration_item_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_configuration_item : configuration_item;
|
|
related_configuration_item : configuration_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configuration_item_revision_sequence
|
|
SUBTYPE OF (configuration_item_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configured_effectivity_assignment
|
|
SUBTYPE OF (effectivity_assignment);
|
|
items : SET [1:?] OF configured_effectivity_item;
|
|
WHERE
|
|
WR1 : (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT') | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(x) )) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY configured_effectivity_context_assignment
|
|
SUBTYPE OF (effectivity_context_assignment);
|
|
items : SET [1:?] OF configured_effectivity_context_item;
|
|
SELF\effectivity_context_assignment.assigned_effectivity_assignment : configured_effectivity_assignment;
|
|
WHERE
|
|
WR1 : SIZEOF(SELF.items) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY conic
|
|
SUPERTYPE OF (ONEOF (circle, ellipse, hyperbola, parabola))
|
|
SUBTYPE OF (curve);
|
|
position : axis2_placement;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY conical_stepped_hole_transition
|
|
SUBTYPE OF (geometric_representation_item);
|
|
transition_number : positive_integer;
|
|
cone_apex_angle : plane_angle_measure;
|
|
cone_base_radius : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY conical_surface
|
|
SUBTYPE OF (elementary_surface);
|
|
radius : length_measure;
|
|
semi_angle : plane_angle_measure;
|
|
WHERE
|
|
WR1 : radius >= 0.0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY connected_edge_set
|
|
SUBTYPE OF (topological_representation_item);
|
|
ces_edges : SET [1:?] OF edge;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY connected_face_set
|
|
SUPERTYPE OF (ONEOF (closed_shell, open_shell))
|
|
SUBTYPE OF (topological_representation_item);
|
|
cfs_faces : SET [1:?] OF face;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY connected_face_sub_set
|
|
SUBTYPE OF (connected_face_set);
|
|
parent_face_set : connected_face_set;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY constructive_geometry_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLACEMENT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1 )) = 0;
|
|
WR3 : SIZEOF( USEDIN( SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) > 0;
|
|
WR4 : SIZEOF( USEDIN( SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') ) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY constructive_geometry_representation_relationship
|
|
SUBTYPE OF (representation_relationship);
|
|
SELF\representation_relationship.rep_1 : constructive_geometry_representation_or_shape_represenation;
|
|
SELF\representation_relationship.rep_2 : constructive_geometry_representation;
|
|
WHERE
|
|
WR1 : (SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.rep_1.context_of_items));
|
|
WR2 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY contact_ratio_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : ( SIZEOF ( SELF.items ) =1 ) AND ( SIZEOF ( QUERY ( i <*
|
|
SELF.items | ( SIZEOF ( ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'MEASURE_REPRESENTATION_ITEM' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) AND ( i.name =
|
|
'ratio value' ) ) ) =1 );
|
|
WR2 : ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) | pdr. name =
|
|
'contact ratio reference' ) ) =1 ) AND ( SIZEOF ( QUERY (
|
|
pdr <* USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) | ( pdr. name =
|
|
'contact ratio reference' ) AND ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'PRODUCT_DEFINITION' IN TYPEOF ( pdr.
|
|
definition.definition ) ) ) ) =1 );
|
|
WR3 : ( SIZEOF ( USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
|
|
<* USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
|
|
pdr. definition ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
|
|
'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
|
|
( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
|
|
) =1 );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY context_dependent_invisibility
|
|
SUBTYPE OF (invisibility);
|
|
presentation_context : invisibility_context;
|
|
END_ENTITY;
|
|
|
|
|
|
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 | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(sc)))= 1) OR
|
|
(SIZEOF(QUERY(sc <* SELF.style_context |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(sc))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF(sc)) ))
|
|
= SIZEOF(style_context));
|
|
END_ENTITY;
|
|
|
|
|
|
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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF.represented_product_relation.definition);
|
|
WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
WR3 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY context_dependent_unit
|
|
SUBTYPE OF (named_unit);
|
|
name : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY contract;
|
|
name : label;
|
|
purpose : text;
|
|
kind : contract_type;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY contract_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_contract : contract;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY contract_relationship;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_contract : contract;
|
|
related_contract : contract;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY contract_type;
|
|
description : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY conversion_based_unit
|
|
SUBTYPE OF (named_unit);
|
|
name : label;
|
|
conversion_factor : measure_with_unit;
|
|
WHERE
|
|
WR1 : SELF\named_unit.dimensions = derive_dimensional_exponents(conversion_factor\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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 ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REVOLVED_FACE_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (it)) <> 1) )) = 0;
|
|
WR3 : SIZEOF (
|
|
QUERY ( mi <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
|
|
WR4 : SIZEOF (
|
|
QUERY ( sr <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_REPLICA' IN TYPEOF (it)) )| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CSG_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REVOLVED_FACE_SOLID', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (sr\solid_replica.parent_solid)) = 0) )) = 0;
|
|
WR5 : SIZEOF (
|
|
QUERY ( it <* SELF.items| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)) )) > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY csg_solid
|
|
SUBTYPE OF (solid_model);
|
|
tree_root_expression : csg_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY currency
|
|
ABSTRACT SUPERTYPE OF (ONEOF (externally_defined_currency, iso4217_currency))
|
|
SUBTYPE OF (context_dependent_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;
|
|
|
|
|
|
ENTITY currency_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
SELF\measure_with_unit.unit_component : currency;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0);
|
|
WR2 : (NOT(implicit_outer)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(basis_surface));
|
|
WR3 : SIZEOF(QUERY(temp <* boundaries |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
ENTITY curve_dimension
|
|
SUBTYPE OF (dimension_curve_directed_callout);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY curve_style_font
|
|
SUBTYPE OF (founded_item);
|
|
name : label;
|
|
pattern_list : LIST [1:?] OF curve_style_font_pattern;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY curve_style_font_and_scaling
|
|
SUBTYPE OF (founded_item);
|
|
name : label;
|
|
curve_font : curve_style_font_select;
|
|
curve_font_scaling : REAL;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY curve_style_font_pattern
|
|
SUBTYPE OF (founded_item);
|
|
visible_segment_length : positive_length_measure;
|
|
invisible_segment_length : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY curve_style_rendering;
|
|
rendering_method : shading_curve_method;
|
|
rendering_properties : surface_rendering_properties;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY curve_swept_solid_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (it <* SELF.items |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_AREA_SOLID',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_DISK_SOLID',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
|
|
TYPEOF(it)) = 1))) = 0;
|
|
WR2 : SIZEOF (QUERY (it <* SELF.items |
|
|
SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_AREA_SOLID',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_DISK_SOLID',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
|
|
WR3 : SIZEOF (QUERY (mi <* QUERY (it <* items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN
|
|
TYPEOF(mi\mapped_item.mapping_source.
|
|
mapped_representation)))) = 0;
|
|
WR4 : SIZEOF (QUERY (scsas <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE_SWEPT_AREA_SOLID' IN
|
|
TYPEOF(it)) |
|
|
NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN
|
|
TYPEOF(scsas\surface_curve_swept_area_solid.directrix)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
|
|
TYPEOF(scsas\surface_curve_swept_area_solid.directrix))))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cylindrical_surface
|
|
SUBTYPE OF (elementary_surface);
|
|
radius : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY cylindricity_tolerance
|
|
SUBTYPE OF (geometric_tolerance);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY data_environment;
|
|
name : label;
|
|
description : text;
|
|
elements : SET [1:?] OF property_definition_representation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY date
|
|
SUPERTYPE OF (ONEOF (calendar_date, ordinal_date, week_of_year_and_day_date, year_month));
|
|
year_component : year_number;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY date_and_time;
|
|
date_component : date;
|
|
time_component : local_time;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY date_and_time_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_date_and_time : date_and_time;
|
|
role : date_time_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY date_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_date : date;
|
|
role : date_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY date_representation_item
|
|
SUBTYPE OF (representation_item, date);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY date_role;
|
|
name : label;
|
|
DERIVE
|
|
description : text := get_description_value (SELF);
|
|
WHERE
|
|
WR1 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY date_time_representation_item
|
|
SUBTYPE OF (representation_item, date_and_time);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY date_time_role;
|
|
name : label;
|
|
DERIVE
|
|
description : text := get_description_value (SELF);
|
|
WHERE
|
|
WR1 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY datum
|
|
SUBTYPE OF (shape_aspect);
|
|
identification : identifier;
|
|
INVERSE
|
|
established_by_relationships: SET [1:?] OF shape_aspect_relationship FOR related_shape_aspect;
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMMON_DATUM' IN TYPEOF(SELF)) XOR
|
|
((SIZEOF(QUERY(x <* SELF\datum.established_by_relationships |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_FEATURE' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) = 1) XOR
|
|
(SIZEOF(QUERY(x <* SELF\datum.established_by_relationships |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_TARGET' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) >= 1));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY datum_feature
|
|
SUBTYPE OF (shape_aspect);
|
|
INVERSE
|
|
feature_basis_relationship: SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(sar <* SELF\datum_feature.feature_basis_relationship
|
|
| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM' IN TYPEOF
|
|
(sar\shape_aspect_relationship.related_shape_aspect)))) = 1;
|
|
WR2 : SELF\shape_aspect.product_definitional = TRUE;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY datum_feature_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY datum_reference;
|
|
precedence : INTEGER;
|
|
referenced_datum : datum;
|
|
WHERE
|
|
WR1 : precedence > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY datum_target
|
|
SUBTYPE OF (shape_aspect);
|
|
target_id : identifier;
|
|
INVERSE
|
|
target_basis_relationship: SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(sar <* SELF\datum_target.target_basis_relationship
|
|
| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM' IN TYPEOF
|
|
(sar\shape_aspect_relationship.related_shape_aspect)))) = 1;
|
|
WR2 : SELF\shape_aspect.product_definitional = TRUE;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY datum_target_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY default_tolerance_table
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( i <* SELF.items | NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)) )) = 0;
|
|
WR2 : (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | rr.name < 'general tolerance definition' )) = 0) AND (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | (rr.name = 'general tolerance definition') AND (rr.rep_2.name < 'default tolerance') )) = 0) AND (SIZEOF( USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) = 0);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY default_tolerance_table_cell
|
|
SUBTYPE OF (compound_representation_item);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY( x <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION.ITEMS') | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + '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;
|
|
|
|
|
|
ENTITY defined_symbol
|
|
SUBTYPE OF (geometric_representation_item);
|
|
definition : defined_symbol_select;
|
|
target : symbol_target;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY definitional_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN
|
|
TYPEOF (SELF\representation.context_of_items );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY definitional_representation_relationship
|
|
SUBTYPE OF (representation_relationship);
|
|
WHERE
|
|
WR1 : acyclic_representation_relationship(SELF,
|
|
[SELF\representation_relationship.rep_2],
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION');
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY definitional_representation_relationship_with_same_context
|
|
SUBTYPE OF (definitional_representation_relationship);
|
|
WHERE
|
|
WR1 : SELF\representation_relationship.rep_1.context_of_items :=:
|
|
SELF\representation_relationship.rep_2.context_of_items;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY degenerate_pcurve
|
|
SUBTYPE OF (point);
|
|
basis_surface : surface;
|
|
reference_to_curve : definitional_representation;
|
|
WHERE
|
|
WR1 : SIZEOF(reference_to_curve\representation.items) = 1;
|
|
WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF
|
|
(reference_to_curve\representation.items[1]);
|
|
WR3 : reference_to_curve\representation.
|
|
items[1]\geometric_representation_item.dim =2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY degenerate_toroidal_surface
|
|
SUBTYPE OF (toroidal_surface);
|
|
select_outer : BOOLEAN;
|
|
WHERE
|
|
WR1 : major_radius < minor_radius;
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SHAPE_ASPECT_DERIVING_RELATIONSHIP'
|
|
IN TYPEOF (dr)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY derived_unit
|
|
SUPERTYPE OF (ONEOF (absorbed_dose_unit, acceleration_unit, radioactivity_unit, area_unit, capacitance_unit, dose_equivalent_unit, electric_charge_unit, conductance_unit, electric_potential_unit, energy_unit, magnetic_flux_density_unit, force_unit, frequency_unit, illuminance_unit, inductance_unit, magnetic_flux_unit, power_unit, pressure_unit, resistance_unit, velocity_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY derived_unit_element;
|
|
unit : named_unit;
|
|
exponent : REAL;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY description_attribute;
|
|
attribute_value : text;
|
|
described_item : description_attribute_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY descriptive_representation_item
|
|
SUPERTYPE OF (ONEOF (tagged_text_item, uniform_resource_identifier))
|
|
SUBTYPE OF (representation_item);
|
|
description : text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY design_context
|
|
SUBTYPE OF (product_definition_context);
|
|
WHERE
|
|
WR1 : SELF.life_cycle_stage = 'design';
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY design_make_from_relationship
|
|
SUBTYPE OF (product_definition_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY diameter_dimension
|
|
SUBTYPE OF (dimension_curve_directed_callout);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dielectric_constant_measure_with_unit
|
|
SUBTYPE OF (ratio_measure_with_unit);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT'
|
|
IN (TYPEOF (SELF))) XOR
|
|
(SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE'
|
|
IN (TYPEOF(dce_1))))) = 0);
|
|
WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT'
|
|
IN (TYPEOF (SELF))) XOR
|
|
(SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE'
|
|
IN (TYPEOF(dce_1))))) = 0);
|
|
WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT'
|
|
IN (TYPEOF (SELF))) XOR
|
|
(SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE'
|
|
IN (TYPEOF(dce_1))))) = 0);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_callout_component_relationship
|
|
SUBTYPE OF (draughting_callout_relationship);
|
|
WHERE
|
|
WR1 : SELF.name IN ['prefix', 'suffix'];
|
|
WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRUCTURED_DIMENSION_CALLOUT'
|
|
IN TYPEOF (SELF.relating_draughting_callout);
|
|
WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF(con))) |
|
|
NOT (ato.name = 'suffix text')
|
|
)) = 0));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_callout_relationship
|
|
SUBTYPE OF (draughting_callout_relationship);
|
|
WHERE
|
|
WR1 : SELF.name IN ['primary', 'secondary'];
|
|
WR2 : SIZEOF (TYPEOF (SELF.relating_draughting_callout) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RADIUS_DIMENSION'])>=1;
|
|
WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT']) = 0;
|
|
WR4 : SELF.related_draughting_callout.contents *
|
|
SELF.relating_draughting_callout.contents =
|
|
SELF.related_draughting_callout.contents;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_curve
|
|
SUBTYPE OF (annotation_curve_occurrence);
|
|
WHERE
|
|
WR1 : (SIZEOF(
|
|
QUERY(dct <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
|
|
| (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct))
|
|
))
|
|
) <= 2);
|
|
WR2 : SIZEOF(
|
|
QUERY( dcdc <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_CALLOUT.CONTENTS') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(dcdc)))
|
|
)>= 1;
|
|
WR3 : (SIZEOF(
|
|
QUERY(dct1 <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
|
|
| (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct1))
|
|
AND (dct1\dimension_curve_terminator.role = dimension_extent_usage.origin)))
|
|
) <= 1)
|
|
AND
|
|
(SIZEOF(
|
|
QUERY (dct2 <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'TERMINATOR_SYMBOL.ANNOTATED_CURVE')
|
|
| (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct2))
|
|
AND (dct2\dimension_curve_terminator.role = dimension_extent_usage.target)))
|
|
) <= 1);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_curve_directed_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(d_c<*SELF\draughting_callout.contents |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(d_c))))=1;
|
|
WR2 : SIZEOF(SELF\draughting_callout.contents) >= 2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_curve_terminator
|
|
SUBTYPE OF (terminator_symbol);
|
|
role : dimension_extent_usage;
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE' IN TYPEOF
|
|
(SELF\terminator_symbol.annotated_curve);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_curve_terminator_to_projection_curve_associativity
|
|
SUBTYPE OF (annotation_occurrence_associativity);
|
|
SELF\annotation_occurrence_relationship.related_annotation_occurrence : projection_curve;
|
|
SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_pair
|
|
SUBTYPE OF (draughting_callout_relationship);
|
|
WHERE
|
|
WR1 : SELF.name IN ['chained', 'parallel'];
|
|
WR2 : SIZEOF (TYPEOF (SELF.relating_draughting_callout) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RADIUS_DIMENSION'])=1;
|
|
WR3 : SIZEOF (TYPEOF (SELF.related_draughting_callout) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULAR_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIAMETER_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINEAR_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORDINATE_DIMENSION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RADIUS_DIMENSION'])=1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_related_tolerance_zone_element;
|
|
related_dimension : dimensional_location;
|
|
related_element : tolerance_zone_definition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimension_text_associativity
|
|
SUBTYPE OF (text_literal, mapped_item);
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DIMENSION_REPRESENTATION'
|
|
IN TYPEOF (SELF\mapped_item.
|
|
mapping_source.mapped_representation));
|
|
WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT'
|
|
IN TYPEOF (SELF\mapped_item.mapping_target));
|
|
WR3 : SIZEOF (QUERY (ato <* QUERY (si <*
|
|
USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF(si))) |
|
|
NOT (SIZEOF( QUERY (dc <*
|
|
USEDIN (ato, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_CALLOUT.CONTENTS') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT'
|
|
IN TYPEOF (dc)))
|
|
* [SELF\mapped_item.mapping_target]) = 1)
|
|
)) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimensional_characteristic_representation;
|
|
dimension : dimensional_characteristic;
|
|
representation : shape_dimension_representation;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY dimensional_location
|
|
SUPERTYPE OF (ONEOF (angular_location, dimensional_location_with_path))
|
|
SUBTYPE OF (shape_aspect_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dimensional_location_with_path
|
|
SUBTYPE OF (dimensional_location);
|
|
path : shape_aspect;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY dimensional_size_with_path
|
|
SUBTYPE OF (dimensional_size);
|
|
path : shape_aspect;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY directed_action
|
|
SUBTYPE OF (executed_action);
|
|
directive : action_directive;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY directed_dimensional_location
|
|
SUBTYPE OF (dimensional_location);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY document;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
kind : document_type;
|
|
INVERSE
|
|
representation_types: SET [0:?] OF document_representation_type FOR represented_document;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY document_identifier
|
|
SUBTYPE OF (group);
|
|
UNIQUE
|
|
UR1: SELF\group.name, SELF\group.description;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_identifier_assignment
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:?] OF document_identifier_assigned_item;
|
|
SELF\group_assignment.assigned_group : document_identifier;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_product_association;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_document : document;
|
|
related_product : product_or_formation_or_definition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_product_equivalence
|
|
SUBTYPE OF (document_product_association);
|
|
WHERE
|
|
WR1 : SELF\document_product_association.name = 'equivalence';
|
|
WR2 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT' IN TYPEOF(SELF\document_product_association.related_product)) OR ((SELF\document_product_association.relating_document.kind. product_data_type = 'configuration controlled document') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF\document_product_association.related_product,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document' )) = 1));
|
|
WR3 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document version') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF.related_product\product_definition_formation.of_product, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1));
|
|
WR4 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document definition') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF\document_product_association.related_product\product_definition.formation.of_product, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document' )) = 1));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_reference
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_document : document;
|
|
source : label;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_document : document;
|
|
related_document : document;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_representation_type;
|
|
name : label;
|
|
represented_document : document;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_type;
|
|
product_data_type : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_usage_constraint;
|
|
source : document;
|
|
subject_element : label;
|
|
subject_element_value : text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_usage_constraint_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_document_usage : document_usage_constraint;
|
|
role : document_usage_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY document_usage_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dose_equivalent_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DOSE_EQUIVALENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY dose_equivalent_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.sievert);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY double_offset_shelled_solid
|
|
SUBTYPE OF (shelled_solid);
|
|
thickness2 : length_measure;
|
|
WHERE
|
|
WR1 : thickness2 <> 0;
|
|
WR2 : SELF\shelled_solid.thickness <> thickness2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY draped_defined_transformation
|
|
SUBTYPE OF (transformation_with_derived_angle);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY draughting_annotation_occurrence
|
|
SUBTYPE OF (annotation_occurrence);
|
|
WHERE
|
|
WR1 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
|
|
IN TYPEOF (SELF))) OR
|
|
(SIZEOF (QUERY (sty <* SELF.styles |
|
|
NOT ((SIZEOF (sty.styles) = 1)
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF (sty.styles[1]))) )) = 0);
|
|
WR2 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE'
|
|
IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles |
|
|
NOT ((SIZEOF (sty.styles) = 1)
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
|
|
IN TYPEOF (sty.styles[1]))) )) = 0);
|
|
WR3 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE'
|
|
IN TYPEOF (SELF))) OR (SIZEOF (QUERY (bound <*
|
|
SELF.item\annotation_fill_area.boundaries |
|
|
NOT (SIZEOF (QUERY (si <*
|
|
USEDIN (bound, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'STYLED_ITEM.ITEM') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF (si)))) > 0))) = 0);
|
|
WR4 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE'
|
|
IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles |
|
|
NOT ((SIZEOF (sty.styles) = 1) AND
|
|
(SIZEOF (TYPEOF (sty.styles[1]) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_STYLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NULL_STYLE']) = 1)) )) = 0);
|
|
WR5 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE'
|
|
IN TYPEOF (SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL'
|
|
IN TYPEOF(SELF.item)))) OR
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_SYMBOL_REPRESENTATION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_SUBFIGURE_REPRESENTATION'] *
|
|
TYPEOF (SELF.item\mapped_item.mapping_source.
|
|
mapped_representation)) = 1);
|
|
WR6 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF (SELF))) OR
|
|
(SIZEOF (QUERY (sty <* SELF.styles |
|
|
NOT ((SIZEOF (sty.styles) = 1)
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STYLE'
|
|
IN TYPEOF (sty.styles[1]))) )) = 0);
|
|
WR7 : (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF (SELF))) OR
|
|
(SIZEOF (TYPEOF(SELF.item) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL']) = 1);
|
|
WR8 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF (SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
|
|
IN TYPEOF (SELF.item)))) OR (SIZEOF (QUERY (tl <*
|
|
SELF.item\composite_text.collected_text |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL'
|
|
IN TYPEOF (tl)) )) = 0);
|
|
WR9 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF (SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL'
|
|
IN TYPEOF (SELF.item)))) OR (SELF.item\text_literal.alignment
|
|
IN ['baseline left', 'baseline centre', 'baseline right']);
|
|
WR10 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF (SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
|
|
IN TYPEOF (SELF.item)))) OR
|
|
(SIZEOF (QUERY (tl <* QUERY (text <* SELF.
|
|
item\composite_text.collected_text
|
|
|('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL' IN TYPEOF(text))) |
|
|
NOT (tl\text_literal.alignment IN
|
|
['baseline left', 'baseline centre', 'baseline right']) )) = 0);
|
|
WR11 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF(SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
|
|
IN TYPEOF (SELF.item))) OR check_text_alignment(SELF.item);
|
|
WR12 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF(SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
|
|
IN TYPEOF (SELF.item))) OR check_text_font(SELF.item);
|
|
WR13 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF(SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'
|
|
IN TYPEOF (SELF.item)))) OR
|
|
(SIZEOF (QUERY (tl <* QUERY (text <*
|
|
SELF.item\composite_text.collected_text |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL' IN TYPEOF (text))) |
|
|
NOT (SIZEOF (TYPEOF(tl) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'TEXT_LITERAL_WITH_BLANKING_BOX',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0) )) = 0);
|
|
WR14 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF (SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
|
|
IN TYPEOF (si)) )) > 0) )) = 0);
|
|
WR15 : (NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF (SELF)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM.ITEM') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE'
|
|
IN TYPEOF (si)) )) > 0) )) = 0);
|
|
WR16 : SIZEOF (QUERY (cs <* QUERY (sty <* SELF.styles |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE' IN TYPEOF (sty.styles[1])))
|
|
| NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE_WITH_UNIT'
|
|
IN TYPEOF (cs.styles[1]\curve_style.curve_width)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
|
|
IN TYPEOF (sty.styles[1]))) |
|
|
NOT ((SIZEOF (QUERY (fs <* fas.styles[1]\fill_area_style.fill_styles
|
|
| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE_TILES'
|
|
IN TYPEOF (fs)))) <= 1)
|
|
AND (SIZEOF (QUERY (fst <* QUERY (fs <*
|
|
fas.styles[1]\fill_area_style.fill_styles |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FILL_AREA_STYLE'
|
|
IN TYPEOF (sty.styles[1]))) |
|
|
NOT (SIZEOF (QUERY (fsh <* QUERY (fs <*
|
|
fas.styles[1]\fill_area_style.fill_styles |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_STYLE'
|
|
IN TYPEOF(sty.styles[1]))) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'TEXT_STYLE_WITH_BOX_CHARACTERISTICS'
|
|
IN TYPEOF (ts.styles[1])))) = 0;
|
|
WR20 : SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
ENTITY draughting_callout
|
|
SUPERTYPE OF ((ONEOF (datum_feature_callout, datum_target_callout, dimension_curve_directed_callout, draughting_elements, geometrical_tolerance_callout, leader_directed_callout, projection_directed_callout, structured_dimension_callout) ANDOR surface_condition_callout))
|
|
SUBTYPE OF (geometric_representation_item);
|
|
contents : SET [1:?] OF draughting_callout_element;
|
|
WHERE
|
|
WR1 : (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) = 0) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND
|
|
(SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(l_1)))) = 0) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND
|
|
(SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(l_1)))) = 0) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN (TYPEOF(SELF)));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY draughting_callout_relationship;
|
|
name : label;
|
|
description : text;
|
|
relating_draughting_callout : draughting_callout;
|
|
related_draughting_callout : draughting_callout;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY draughting_elements
|
|
SUBTYPE OF (draughting_callout);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (l_c <* QUERY (con <* SELF.contents |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF(con))) |
|
|
NOT (SIZEOF (QUERY (ldc <* USEDIN (l_c,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT'
|
|
IN TYPEOF (ldc)))) <= 1)))=0;
|
|
WR2 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT'
|
|
IN TYPEOF(SELF)) OR
|
|
(SIZEOF (QUERY (con <* SELF.contents |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN
|
|
TYPEOF (con)))) <= 2);
|
|
WR3 : SIZEOF (QUERY (rc <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
|
|
'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
|
|
(rc.name = 'primary') )) <= 1;
|
|
WR4 : SIZEOF (QUERY (rc <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
|
|
'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
|
|
(rc.name = 'secondary') )) <= 1;
|
|
WR5 : SIZEOF (QUERY (sec <* QUERY (rc <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
|
|
'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
|
|
(rc.name = 'secondary') ) |
|
|
NOT (SIZEOF (QUERY (prim <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT_' +
|
|
'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (prim)) AND
|
|
(prim.name = 'primary') )) = 1))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY draughting_model
|
|
SUBTYPE OF (representation);
|
|
SELF\representation.items : SET [1:?] OF draughting_model_item_select;
|
|
UNIQUE
|
|
UR1: SELF\representation.name;
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it))) |
|
|
NOT (
|
|
SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_MODEL'] *
|
|
TYPEOF (mi\mapped_item.mapping_source.
|
|
mapped_representation)) = 1
|
|
))) = 0;
|
|
WR2 : SIZEOF (QUERY (smi <* QUERY (si <* QUERY (it <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF(it))) |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN
|
|
TYPEOF(si\styled_item.item))) |
|
|
(NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE' IN TYPEOF(psa))))) = 1
|
|
)))) = 1)))
|
|
)) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY draughting_model_item_association
|
|
SUBTYPE OF (item_identified_representation_usage);
|
|
SELF\item_identified_representation_usage.definition : shape_definition;
|
|
SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select;
|
|
SELF\item_identified_representation_usage.used_representation : draughting_model;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY draughting_pre_defined_text_font
|
|
SUBTYPE OF (pre_defined_text_font);
|
|
WHERE
|
|
WR1 : SELF.name[1:8] = 'ISO 3098';
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY draughting_subfigure_representation
|
|
SUBTYPE OF (symbol_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (item <* SELF\representation.items |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT']
|
|
* TYPEOF (item)) = 1))) = 0;
|
|
WR2 : SIZEOF (QUERY (item <* SELF\representation.items |
|
|
SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT'] *
|
|
TYPEOF (item)) = 1)) >= 1;
|
|
WR3 : SIZEOF (QUERY (srm <* QUERY (rm <*
|
|
USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'REPRESENTATION_MAP.MAPPED_REPRESENTATION') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_REPRESENTATION_MAP'
|
|
IN TYPEOF(rm))) |
|
|
NOT (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi)))
|
|
| NOT (SIZEOF (QUERY (aso <*
|
|
USEDIN (a_s, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'STYLED_ITEM.ITEM') |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
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) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT']) = 1)
|
|
)) = 0;
|
|
WR2 : SIZEOF (QUERY (item <* SELF\representation.items |
|
|
(SIZEOF (TYPEOF (item) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_CURVE_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE']) = 1)
|
|
)) >= 1;
|
|
WR3 : SIZEOF (QUERY (item <* SELF\representation.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE'
|
|
IN TYPEOF (item))) = 0;
|
|
WR4 : SIZEOF (QUERY (srm <* QUERY (rm <*
|
|
USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'REPRESENTATION_MAP.MAPPED_REPRESENTATION') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMBOL_REPRESENTATION_MAP'
|
|
IN TYPEOF(rm))) |
|
|
(SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) |
|
|
NOT (SIZEOF (QUERY(aso <*
|
|
USEDIN(a_s, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'STYLED_ITEM.ITEM') |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
ENTITY draughting_text_literal_with_delineation
|
|
SUBTYPE OF (text_literal_with_delineation);
|
|
WHERE
|
|
WR1 : SELF.delineation IN ['underline', 'overline'];
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY draughting_title;
|
|
items : SET [1:?] OF draughting_titled_item;
|
|
language : label;
|
|
contents : text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY drawing_definition;
|
|
drawing_number : identifier;
|
|
drawing_type : OPTIONAL label;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY drawing_revision_sequence;
|
|
predecessor : drawing_revision;
|
|
successor : drawing_revision;
|
|
WHERE
|
|
WR1 : predecessor :<>: successor;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY drawing_sheet_revision
|
|
SUBTYPE OF (presentation_area);
|
|
revision_identifier : identifier;
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY(item <* SELF\representation.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN (TYPEOF(item)))
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_SHEET_REVISION' IN
|
|
(TYPEOF(item\mapped_item.mapping_source.mapped_representation)))))=0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY drawing_sheet_revision_sequence
|
|
SUBTYPE OF (representation_relationship);
|
|
WHERE
|
|
WR1 : SELF\representation_relationship.rep_1 :<>:
|
|
SELF\representation_relationship.rep_2;
|
|
WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_SHEET_REVISION'
|
|
IN TYPEOF (SELF\representation_relationship.rep_1);
|
|
WR3 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_SHEET_REVISION'
|
|
IN TYPEOF (SELF\representation_relationship.rep_2);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY drawing_sheet_revision_usage
|
|
SUBTYPE OF (area_in_set);
|
|
sheet_number : identifier;
|
|
UNIQUE
|
|
UR1: sheet_number, SELF\area_in_set.in_set;
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_SHEET_REVISION' IN
|
|
TYPEOF(SELF\area_in_set.area))
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAWING_REVISION'
|
|
IN TYPEOF (SELF\area_in_set.in_set));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY edge
|
|
SUPERTYPE OF (ONEOF (edge_curve, oriented_edge, subedge))
|
|
SUBTYPE OF (topological_representation_item);
|
|
edge_start : vertex;
|
|
edge_end : vertex;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY edge_based_wireframe_model
|
|
SUBTYPE OF (geometric_representation_item);
|
|
ebwm_boundary : SET [1:?] OF connected_edge_set;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY edge_based_wireframe_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (
|
|
QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
|
|
WR2 : SIZEOF (
|
|
QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1;
|
|
WR3 : SIZEOF (
|
|
QUERY ( ebwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (edges)) )) = 0) )) = 0) )) = 0;
|
|
WR4 : SIZEOF (
|
|
QUERY ( ebwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_end))) )) = 0) )) = 0) )) = 0;
|
|
WR6 : SIZEOF (
|
|
QUERY ( ebwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + '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;
|
|
|
|
|
|
ENTITY edge_blended_solid
|
|
ABSTRACT SUPERTYPE OF ((track_blended_solid ANDOR ONEOF (solid_with_constant_radius_edge_blend, solid_with_variable_radius_edge_blend, solid_with_chamfered_edges)))
|
|
SUBTYPE OF (modified_solid);
|
|
blended_edges : LIST [1:?] OF UNIQUE edge_curve;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY edge_curve
|
|
SUBTYPE OF (edge, geometric_representation_item);
|
|
edge_geometry : curve;
|
|
same_sense : BOOLEAN;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY effectivity
|
|
SUPERTYPE OF (ONEOF (serial_numbered_effectivity, dated_effectivity, lot_effectivity, time_interval_based_effectivity));
|
|
id : identifier;
|
|
DERIVE
|
|
description : text := get_description_value(SELF);
|
|
name : label := get_name_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY effectivity_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_effectivity : effectivity;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY effectivity_context_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_effectivity_assignment : effectivity_assignment;
|
|
role : effectivity_context_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY effectivity_context_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY effectivity_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
related_effectivity : effectivity;
|
|
relating_effectivity : effectivity;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY electric_charge_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELECTRIC_CHARGE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY electric_charge_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.coulomb);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY electric_current_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY electric_potential_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELECTRIC_POTENTIAL_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY electric_potential_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.volt);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY elementary_brep_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (it <* SELF.items |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
|
|
TYPEOF(it)) = 1))) = 0;
|
|
WR2 : SIZEOF (QUERY (it <* SELF.items |
|
|
SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
|
|
WR3 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
|
|
NOT (SIZEOF (QUERY(fcs <* csh.cfs_faces |
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF(fcs)))) = 0
|
|
))) = 0
|
|
))) = 0;
|
|
WR4 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
|
|
NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |
|
|
NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN
|
|
TYPEOF(fcs\face_surface.face_geometry))
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0;
|
|
WR5 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
|
|
NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |
|
|
NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN
|
|
TYPEOF(oe.edge_element)))) = 0
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0;
|
|
WR6 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
|
|
NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |
|
|
NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE'] *
|
|
TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 )
|
|
)) = 0
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0;
|
|
WR7 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
|
|
NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |
|
|
NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start))
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
|
|
TYPEOF(oe.edge_end))
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0;
|
|
WR8 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
|
|
NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |
|
|
NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
))) = 0;
|
|
WR9 : SIZEOF (QUERY (msb <* QUERY (it <* items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF
|
|
(msb\manifold_solid_brep.outer)))
|
|
= 0;
|
|
WR10 : SIZEOF (QUERY (brv <* QUERY (it <* items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY (csh <* brv\brep_with_voids.voids |
|
|
csh\oriented_closed_shell.orientation)) = 0))) = 0;
|
|
WR11 : SIZEOF (QUERY (mi <* QUERY (it <* items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN
|
|
TYPEOF(mi\mapped_item.mapping_source.
|
|
mapped_representation)))) = 0;
|
|
WR12 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY (csh <* msb_shells(msb) |
|
|
NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces |
|
|
NOT (SIZEOF(QUERY (vlp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
|
|
TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN
|
|
TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.
|
|
loop_vertex\vertex_point.vertex_geometry))
|
|
))) = 0))) = 0))) = 0))) =0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY elementary_surface
|
|
SUPERTYPE OF (ONEOF (plane, cylindrical_surface, conical_surface, spherical_surface, toroidal_surface))
|
|
SUBTYPE OF (surface);
|
|
position : axis2_placement_3d;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ellipse
|
|
SUBTYPE OF (conic);
|
|
semi_axis_1 : positive_length_measure;
|
|
semi_axis_2 : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY energy_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ENERGY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY energy_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.joule);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY entity_assertion
|
|
SUBTYPE OF (fact_type);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY enum_reference_prefix
|
|
SUBTYPE OF (descriptive_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY environment;
|
|
syntactic_representation : generic_variable;
|
|
semantics : variable_semantics;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY evaluated_characteristic
|
|
SUBTYPE OF (representation, representation_relationship);
|
|
UNIQUE
|
|
UR1: SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2;
|
|
WHERE
|
|
WR1 : SELF\representation_relationship.rep_1 <>
|
|
SELF\representation_relationship.rep_2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY evaluated_degenerate_pcurve
|
|
SUBTYPE OF (degenerate_pcurve);
|
|
equivalent_point : cartesian_point;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY evaluation_product_definition
|
|
SUBTYPE OF (product_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY event_occurrence;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY event_occurrence_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_event_occurrence : event_occurrence;
|
|
role : event_occurrence_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY event_occurrence_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_event : event_occurrence;
|
|
related_event : event_occurrence;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY event_occurrence_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY exclusive_product_concept_feature_category
|
|
SUBTYPE OF (product_concept_feature_category);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY executed_action
|
|
SUBTYPE OF (action);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY expanded_uncertainty
|
|
SUBTYPE OF (standard_uncertainty);
|
|
coverage_factor : REAL;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY explicit_procedural_geometric_representation_item_relationship
|
|
SUBTYPE OF (explicit_procedural_representation_item_relationship);
|
|
SELF\representation_item_relationship.related_representation_item : geometric_representation_item;
|
|
SELF\representation_item_relationship.relating_representation_item : procedural_shape_representation_sequence;
|
|
WHERE
|
|
WR1 : NOT (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE'
|
|
IN TYPEOF(
|
|
SELF\representation_item_relationship.related_representation_item));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY explicit_procedural_representation_item_relationship
|
|
SUBTYPE OF (representation_item_relationship);
|
|
SELF\representation_item_relationship.relating_representation_item : procedural_representation_sequence;
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROCEDURAL_REPRESENTATION_SEQUENCE'
|
|
IN TYPEOF(
|
|
SELF\representation_item_relationship.related_representation_item));
|
|
WR2 : SIZEOF(QUERY(q <* using_representations(
|
|
SELF\representation_item_relationship.related_representation_item) |
|
|
item_in_context(
|
|
SELF\representation_item_relationship.relating_representation_item,
|
|
q.context_of_items))) > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY explicit_procedural_representation_relationship
|
|
SUBTYPE OF (representation_relationship);
|
|
SELF\representation_relationship.rep_1 : procedural_representation;
|
|
WHERE
|
|
WR1 : (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROCEDURAL_REPRESENTATION'
|
|
IN TYPEOF(SELF\representation_relationship.rep_2))) AND
|
|
(NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VARIATIONAL_REPRESENTATION'
|
|
IN TYPEOF(SELF\representation_relationship.rep_2)));
|
|
WR2 : SELF\representation_relationship.rep_1.context_of_items :=:
|
|
SELF\representation_relationship.rep_2.context_of_items;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY explicit_procedural_shape_representation_relationship
|
|
SUBTYPE OF (explicit_procedural_representation_relationship);
|
|
SELF\representation_relationship.rep_1 : procedural_shape_representation;
|
|
SELF\representation_relationship.rep_2 : shape_representation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY expression
|
|
ABSTRACT SUPERTYPE OF (ONEOF (numeric_expression, boolean_expression))
|
|
SUBTYPE OF (generic_expression);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY expression_conversion_based_unit
|
|
SUBTYPE OF (context_dependent_unit, variable_semantics);
|
|
INVERSE
|
|
associated_variable_environment: environment FOR semantics;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY extension
|
|
SUBTYPE OF (derived_shape_aspect);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY extent
|
|
SUBTYPE OF (characterized_object);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY external_class_library
|
|
SUBTYPE OF (external_source);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY external_identification_assignment
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (identification_assignment);
|
|
source : external_source;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY external_source;
|
|
source_id : source_item;
|
|
DERIVE
|
|
description : text := get_description_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY external_source_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_source : external_source;
|
|
related_source : external_source;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_class
|
|
SUBTYPE OF (class, externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_colour
|
|
SUBTYPE OF (colour_specification, externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_context_dependent_unit
|
|
SUBTYPE OF (context_dependent_unit, externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_conversion_based_unit
|
|
SUBTYPE OF (conversion_based_unit, externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_currency
|
|
SUBTYPE OF (currency, externally_defined_context_dependent_unit);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_curve_font
|
|
SUBTYPE OF (externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')| (adr.assigned_document.description = 'external size dimension specification') ));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_general_property
|
|
SUBTYPE OF (general_property, externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_hatch_style
|
|
SUBTYPE OF (externally_defined_item, geometric_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_item;
|
|
item_id : source_item;
|
|
source : external_source;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_item_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_item : externally_defined_item;
|
|
related_item : externally_defined_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_marker
|
|
SUBTYPE OF (externally_defined_symbol, pre_defined_marker);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_picture_representation_item
|
|
SUBTYPE OF (picture_representation_item);
|
|
INVERSE
|
|
source: applied_external_identification_assignment FOR items;
|
|
WHERE
|
|
WR1 : NOT (SELF\representation_item.name IN pre_defined_picture_representation_types);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_representation_item
|
|
SUBTYPE OF (representation_item, externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_string
|
|
SUBTYPE OF (externally_defined_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_symbol
|
|
SUBTYPE OF (externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_terminator_symbol
|
|
SUBTYPE OF (externally_defined_symbol);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_text_font
|
|
SUBTYPE OF (externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_tile
|
|
SUBTYPE OF (externally_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY externally_defined_tile_style
|
|
SUBTYPE OF (externally_defined_item, geometric_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY extruded_face_solid_with_draft_angle
|
|
SUBTYPE OF (extruded_face_solid_with_trim_conditions);
|
|
draft_angle : plane_angle_measure;
|
|
WHERE
|
|
WR1 : draft_angle <> 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY extruded_face_solid_with_multiple_draft_angles
|
|
SUBTYPE OF (extruded_face_solid_with_trim_conditions);
|
|
drafted_edges : LIST [2:?] OF SET [1:?] OF edge_curve;
|
|
draft_angles : LIST [2:?] OF plane_angle_measure;
|
|
WHERE
|
|
WR1 : SIZEOF(drafted_edges) = SIZEOF(draft_angles);
|
|
WR2 : SIZEOF(QUERY(q <* draft_angles | q = 0)) = 0;
|
|
WR3 : SIZEOF(QUERY(q <* drafted_edges | (SIZEOF(QUERY(r <* q | NOT
|
|
(SELF\swept_face_solid.swept_face IN
|
|
using_items(r,[])))) > 0))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY extruded_face_solid_with_trim_conditions
|
|
SUPERTYPE OF (ONEOF (extruded_face_solid_with_draft_angle, extruded_face_solid_with_multiple_draft_angles))
|
|
SUBTYPE OF (extruded_face_solid);
|
|
first_trim_condition : trim_condition_select;
|
|
second_trim_condition : trim_condition_select;
|
|
first_trim_intent : trim_intent;
|
|
second_trim_intent : trim_intent;
|
|
first_offset : non_negative_length_measure;
|
|
second_offset : non_negative_length_measure;
|
|
WHERE
|
|
WR1 : NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
|
|
IN TYPEOF(first_trim_condition)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
|
|
IN TYPEOF(second_trim_condition)));
|
|
WR2 : NOT ((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
|
|
IN TYPEOF(first_trim_condition)) AND
|
|
((first_trim_intent = trim_intent.offset)
|
|
OR (first_trim_intent = trim_intent.up_to_next))) OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
|
|
IN TYPEOF(second_trim_condition)) AND
|
|
((second_trim_intent = trim_intent.offset)
|
|
OR (second_trim_intent = trim_intent.up_to_next))));
|
|
WR3 : NOT (((NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
|
|
IN TYPEOF(first_trim_condition))) AND
|
|
((first_trim_intent = trim_intent.blind)
|
|
OR (first_trim_intent = trim_intent.through_all))) OR
|
|
((NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
|
|
IN TYPEOF(second_trim_condition))) AND
|
|
((second_trim_intent = trim_intent.blind)
|
|
OR (second_trim_intent = trim_intent.through_all))));
|
|
WR4 : (((first_trim_intent = trim_intent.offset)
|
|
AND (first_offset > 0)) XOR
|
|
((first_trim_intent <> trim_intent.offset)
|
|
AND (first_offset = 0))) AND
|
|
(((second_trim_intent = trim_intent.offset)
|
|
AND (second_offset > 0)) XOR
|
|
((second_trim_intent <> trim_intent.offset)
|
|
AND (second_offset = 0)));
|
|
WR5 : NOT((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
|
|
IN TYPEOF(first_trim_condition)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
|
|
IN TYPEOF(second_trim_condition))) AND
|
|
(first_trim_condition = second_trim_condition));
|
|
END_ENTITY;
|
|
|
|
|
|
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 | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_OUTER_BOUND' IN
|
|
TYPEOF(temp))) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY face_based_surface_model
|
|
SUBTYPE OF (geometric_representation_item);
|
|
fbsm_faces : SET [1:?] OF connected_face_set;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY face_bound
|
|
SUBTYPE OF (topological_representation_item);
|
|
bound : loop;
|
|
orientation : BOOLEAN;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY face_outer_bound
|
|
SUBTYPE OF (face_bound);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY face_surface
|
|
SUBTYPE OF (face, geometric_representation_item);
|
|
face_geometry : surface;
|
|
same_sense : BOOLEAN;
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_SURFACE' IN TYPEOF(face_geometry));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY faceted_brep
|
|
SUBTYPE OF (manifold_solid_brep);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY faceted_brep_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (
|
|
QUERY ( it <* items| NOT ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
|
|
WR2 : SIZEOF (
|
|
QUERY ( it <* items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0;
|
|
WR3 : SIZEOF (
|
|
QUERY ( fbrep <*
|
|
QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF (
|
|
QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fcs)) AND (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF (fcs\face_surface.face_geometry)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (fcs\face_surface.face_geometry\elementary_surface.position.location)))) )) = 0) )) = 0) )) = 0;
|
|
WR4 : SIZEOF (
|
|
QUERY ( fbrep <*
|
|
QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (bnds)) )) = 1) )) = 0) )) = 0) )) = 0;
|
|
WR5 : SIZEOF (
|
|
QUERY ( msb <*
|
|
QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0;
|
|
WR6 : SIZEOF (
|
|
QUERY ( brv <*
|
|
QUERY ( it <* items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY fact_type
|
|
SUBTYPE OF (property_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'FILL_AREA_STYLE_COLOUR' IN
|
|
TYPEOF(fill_style)
|
|
)) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY fill_area_style_colour;
|
|
name : label;
|
|
fill_colour : colour;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY fill_area_style_tile_coloured_region
|
|
SUBTYPE OF (geometric_representation_item);
|
|
closed_curve : curve_or_annotation_curve_occurrence;
|
|
region_colour : colour;
|
|
WHERE
|
|
WR1 : (NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (closed_curve))) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' IN TYPEOF (closed_curve)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE' IN TYPEOF (closed_curve)) OR
|
|
( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (closed_curve))
|
|
AND (closed_curve\b_spline_curve.closed_curve = TRUE) ) OR
|
|
( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (closed_curve))
|
|
AND (closed_curve\composite_curve.closed_curve = TRUE) ) OR
|
|
( ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF (closed_curve))
|
|
AND (closed_curve\polyline.points[LOINDEX(closed_curve\polyline.points)] =
|
|
closed_curve\polyline.points[HIINDEX(closed_curve\polyline.points)]) );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY fill_area_style_tile_curve_with_style
|
|
SUBTYPE OF (geometric_representation_item);
|
|
styled_curve : annotation_curve_occurrence;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY fill_area_style_tile_symbol_with_style
|
|
SUBTYPE OF (geometric_representation_item);
|
|
symbol : annotation_symbol_occurrence;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY flat_pattern_ply_representation_relationship
|
|
SUBTYPE OF (shape_representation_relationship);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION' IN
|
|
(TYPEOF (SELF\representation_relationship.rep_1) *
|
|
TYPEOF (SELF\representation_relationship.rep_2));
|
|
WR2 : SELF\representation_relationship.rep_1.
|
|
context_of_items\geometric_representation_context.
|
|
coordinate_space_dimension = 3;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY flatness_tolerance
|
|
SUBTYPE OF (geometric_tolerance);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY force_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FORCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY force_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.newton);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY forward_chaining_rule
|
|
SUBTYPE OF (rule_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY forward_chaining_rule_premise
|
|
SUBTYPE OF (property_definition, property_definition_representation, representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY founded_item
|
|
SUPERTYPE OF (ONEOF (character_glyph_style_outline, character_glyph_style_stroke, curve_style, curve_style_font, curve_style_font_and_scaling, curve_style_font_pattern, fill_area_style, point_style, presentation_style_assignment, surface_side_style, surface_style_boundary, surface_style_control_grid, surface_style_fill_area, surface_style_parameter_line, surface_style_segmentation_curve, surface_style_silhouette, surface_style_usage, symbol_style, text_style));
|
|
DERIVE
|
|
users : SET [0:?] OF founded_item_select := using_items(SELF,[]);
|
|
WHERE
|
|
WR1 : SIZEOF(users) > 0;
|
|
WR2 : NOT(SELF IN users);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY frequency_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FREQUENCY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY frequency_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.hertz);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY func
|
|
SUBTYPE OF (compound_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY functional_breakdown_context
|
|
SUBTYPE OF (breakdown_context);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY functional_element_usage
|
|
SUBTYPE OF (breakdown_element_usage);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY functionally_defined_transformation;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY general_material_property
|
|
SUBTYPE OF (general_property);
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( gpa <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION') |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF(gpa.derived_definition)) )) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY general_property;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY general_property_association;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
base_definition : general_property;
|
|
derived_definition : derived_property_select;
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(derived_definition, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION')) = 1;
|
|
WR2 : derived_definition.name = base_definition.name;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY general_property_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_property : general_property;
|
|
related_property : general_property;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY generic_character_glyph_symbol
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (symbol_representation);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY generic_literal
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (simple_generic_expression);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY generic_variable
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (simple_generic_expression);
|
|
INVERSE
|
|
interpretation: environment FOR syntactic_representation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometric_alignment
|
|
SUBTYPE OF (derived_shape_aspect);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometric_curve_set
|
|
SUBTYPE OF (geometric_set);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(temp <* SELF\geometric_set.elements |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(temp))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometric_intersection
|
|
SUBTYPE OF (derived_shape_aspect);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometric_item_specific_usage
|
|
SUBTYPE OF (item_identified_representation_usage);
|
|
SELF\item_identified_representation_usage.definition : geometric_item_specific_usage_select;
|
|
SELF\item_identified_representation_usage.identified_item : geometric_representation_item;
|
|
SELF\item_identified_representation_usage.used_representation : shape_representation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometric_model_element_relationship
|
|
SUBTYPE OF (geometric_representation_item, representation_item_relationship);
|
|
SELF\representation_item_relationship.related_representation_item : geometric_representation_item;
|
|
SELF\representation_item_relationship.relating_representation_item : geometric_representation_item;
|
|
UNIQUE
|
|
UR1 : relating_representation_item, related_representation_item;
|
|
WHERE
|
|
WR1 : SELF\representation_item_relationship.relating_representation_item :<>:
|
|
SELF\representation_item_relationship.related_representation_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometric_representation_context
|
|
SUBTYPE OF (representation_context);
|
|
coordinate_space_dimension : dimension_count;
|
|
END_ENTITY;
|
|
|
|
|
|
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, shell_based_wireframe_model, edge_based_wireframe_model, geometric_set, camera_model, camera_model_d3_multi_clipping_intersection, camera_model_d3_multi_clipping_union, light_source))
|
|
SUBTYPE OF (representation_item);
|
|
DERIVE
|
|
dim : dimension_count := dimension_of(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (using_rep <* using_representations (SELF) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN
|
|
TYPEOF (using_rep.context_of_items)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometric_set
|
|
SUBTYPE OF (geometric_representation_item);
|
|
elements : SET [1:?] OF geometric_set_select;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY geometric_tolerance_relationship;
|
|
name : label;
|
|
description : text;
|
|
relating_geometric_tolerance : geometric_tolerance;
|
|
related_geometric_tolerance : geometric_tolerance;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometric_tolerance_with_datum_reference
|
|
SUBTYPE OF (geometric_tolerance);
|
|
datum_system : SET [1:?] OF datum_reference;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY geometrical_tolerance_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
END_ENTITY;
|
|
|
|
|
|
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) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_2D',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM']) = 1)
|
|
)) = 0;
|
|
WR3 : SIZEOF (QUERY (item <* SELF.items |
|
|
SIZEOF (TYPEOF (item) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM']) = 1
|
|
)) >= 1;
|
|
WR4 : SIZEOF (QUERY (mi <* QUERY (item <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF (item))) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION'
|
|
IN TYPEOF
|
|
(mi\mapped_item.mapping_source.mapped_representation))
|
|
)) = 0;
|
|
WR5 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
|
|
IN TYPEOF (item))) |
|
|
NOT (SIZEOF (QUERY (elem <* gcs\geometric_set.elements |
|
|
NOT (SIZEOF (TYPEOF (elem) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_2D',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE']) =
|
|
1)
|
|
)) = 0)
|
|
)) = 0;
|
|
WR6 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
|
|
IN TYPEOF (item))) |
|
|
NOT (SIZEOF (QUERY (crv <*
|
|
QUERY (elem <* gcs\geometric_set.elements |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE'
|
|
IN TYPEOF (elem))) |
|
|
NOT (valid_basis_curve_in_2d_wireframe
|
|
(crv))
|
|
)) = 0)
|
|
)) = 0;
|
|
WR7 : SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET'
|
|
IN TYPEOF (item))) |
|
|
NOT (SIZEOF (QUERY (pnt <*
|
|
QUERY (elem <* gcs\geometric_set.elements |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT'
|
|
IN TYPEOF(elem))) |
|
|
NOT (SIZEOF (TYPEOF (pnt) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE'])
|
|
= 1)
|
|
)) = 0)
|
|
)) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometrically_bounded_surface_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0;
|
|
WR2 : SIZEOF(QUERY(it <* SELF.items | SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0;
|
|
WR3 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + '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 | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(mr_it)))) > 0)))) = 0;
|
|
WR4 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(pnt <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT' IN TYPEOF(gsel)) | NOT (gbsf_check_point(pnt)))) = 0))) = 0;
|
|
WR5 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(cv <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF(gsel)) | NOT (gbsf_check_curve(cv)))) = 0))) = 0;
|
|
WR6 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(sf <* QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(gsel)) | NOT (gbsf_check_surface(sf)))) = 0))) = 0;
|
|
WR7 : SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | SIZEOF(QUERY(gsel <* gs\geometric_set.elements | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(gsel))) > 0)) > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY geometrically_bounded_wireframe_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (
|
|
QUERY ( it <* SELF.items| NOT ( SIZEOF ( TYPEOF (it) * [ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ]) = 1) )) = 0;
|
|
WR2 : SIZEOF (
|
|
QUERY ( it <* SELF.items| ( SIZEOF ( TYPEOF (it) * [ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ]) = 1) )) >= 1;
|
|
WR3 : SIZEOF (
|
|
QUERY ( gcs <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( crv <*
|
|
QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_curve(crv) )) = 0) )) = 0;
|
|
WR4 : SIZEOF (
|
|
QUERY ( gcs <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( pnts <*
|
|
QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_point(pnts) )) = 0) )) = 0;
|
|
WR5 : SIZEOF (
|
|
QUERY ( gcs <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( cnc <*
|
|
QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC' IN TYPEOF (elem)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (cnc\conic.position)) )) = 0) )) = 0;
|
|
WR6 : SIZEOF (
|
|
QUERY ( gcs <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( pline <*
|
|
QUERY ( elem <* gcs\geometric_set.elements| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF (elem)) )| NOT ( SIZEOF (pline\polyline.points) > 2) )) = 0) )) = 0;
|
|
WR7 : SIZEOF (
|
|
QUERY ( mi <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY global_assignment
|
|
SUBTYPE OF (representation_item_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY global_uncertainty_assigned_context
|
|
SUBTYPE OF (representation_context);
|
|
uncertainty : SET [1:?] OF uncertainty_measure_with_unit;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY global_unit_assigned_context
|
|
SUBTYPE OF (representation_context);
|
|
units : SET [1:?] OF unit;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ground_fact
|
|
SUBTYPE OF (atomic_formula);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY group;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
DERIVE
|
|
id : identifier := get_id_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY group_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_group : group;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY group_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_group : group;
|
|
related_group : group;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY half_space_solid
|
|
SUBTYPE OF (geometric_representation_item);
|
|
base_surface : surface;
|
|
agreement_flag : BOOLEAN;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY hardness_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : ( {2<= SIZEOF ( SELF.items ) <=4} ) AND ( SIZEOF ( QUERY (
|
|
i <* items | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND (
|
|
i.name IN [ 'measuring method' , 'measuring position' ] ) )
|
|
) + SIZEOF ( QUERY ( i <* items | ( SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ '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 ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
|
|
<* USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
|
|
pdr. definition ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
|
|
'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
|
|
( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
|
|
) =1 );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY hidden_element_over_riding_styled_item
|
|
SUBTYPE OF (context_dependent_over_riding_styled_item);
|
|
SELF\styled_item.item : camera_image;
|
|
SELF\context_dependent_over_riding_styled_item.style_context : LIST [1:1] OF presentation_view;
|
|
INVERSE
|
|
container: SET [1:?] OF presentation_view FOR items;
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF
|
|
(SELF.item\mapped_item.mapping_source.mapping_origin);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY hyperbola
|
|
SUBTYPE OF (conic);
|
|
semi_axis : positive_length_measure;
|
|
semi_imag_axis : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY id_attribute;
|
|
attribute_value : identifier;
|
|
identified_item : id_attribute_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY identification_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_id : identifier;
|
|
role : identification_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY identification_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY illuminance_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ILLUMINANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY illuminance_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lux);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY included_text_block
|
|
SUBTYPE OF (mapped_item);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRUCTURED_TEXT_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source.mapped_representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY inclusion_product_concept_feature
|
|
SUBTYPE OF (conditional_concept_feature);
|
|
WHERE
|
|
WR1 : NOT ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( SELF ) );
|
|
WR2 : SIZEOF (QUERY
|
|
( cfr <* USEDIN
|
|
( SELF ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' )
|
|
|
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF( cfr )
|
|
)
|
|
) +
|
|
SIZEOF(QUERY
|
|
( cfr <* USEDIN
|
|
(SELF , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' )
|
|
|
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr)
|
|
)
|
|
)= 0;
|
|
WR3 : SELF.condition.conditional_operator.name = 'implication';
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY indirectly_selected_elements
|
|
SUBTYPE OF (user_selected_elements);
|
|
indirectly_picked_items : SET [1:?] OF representation_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY indirectly_selected_shape_elements
|
|
SUBTYPE OF (indirectly_selected_elements, user_selected_shape_elements);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(q <*
|
|
SELF\indirectly_selected_elements.indirectly_picked_items
|
|
| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
|
|
IN TYPEOF(q)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY inductance_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY inductance_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.henry);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY information_right
|
|
SUBTYPE OF (action_method);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY information_usage_right
|
|
SUBTYPE OF (action_method);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY instance_usage_context_assignment
|
|
SUBTYPE OF (product_definition_context);
|
|
items : SET [1:?] OF instance_usage_context_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY instanced_feature
|
|
SUBTYPE OF (shape_aspect, shape_feature_definition);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION' IN
|
|
TYPEOF(SELF\shape_aspect.of_shape.definition);
|
|
WR2 : SELF\shape_aspect.product_definitional;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY int_literal
|
|
SUBTYPE OF (literal_number);
|
|
SELF\literal_number.the_value : INTEGER;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY integer_representation_item
|
|
SUBTYPE OF (representation_item, int_literal);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY interval_expression
|
|
SUBTYPE OF (boolean_expression, multiple_arity_generic_expression);
|
|
DERIVE
|
|
interval_high : generic_expression := SELF\multiple_arity_generic_expression.operands[3];
|
|
interval_item : generic_expression := SELF\multiple_arity_generic_expression.operands[2];
|
|
interval_low : generic_expression := SELF\multiple_arity_generic_expression.operands[1];
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
|
|
IN TYPEOF(interval_low))
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
|
|
IN TYPEOF(interval_item) )
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXPRESSION'
|
|
IN TYPEOF(interval_high));
|
|
WR2 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
|
|
IN TYPEOF (SELF.interval_low))
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
|
|
IN TYPEOF (SELF.interval_high))
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
|
|
IN TYPEOF (SELF.interval_item)))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_EXPRESSION'
|
|
IN TYPEOF(SELF.interval_low))
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
|
|
IN TYPEOF(SELF.interval_item))
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_EXPRESSION'
|
|
IN TYPEOF(SELF.interval_high)));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY invisibility;
|
|
invisible_items : SET [1:?] OF invisible_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY iso4217_currency
|
|
SUBTYPE OF (currency);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY item_defined_transformation;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
transform_item_1 : representation_item;
|
|
transform_item_2 : representation_item;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY known_source
|
|
SUBTYPE OF (external_source, pre_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY laid_defined_transformation
|
|
SUBTYPE OF (transformation_with_derived_angle);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY laminate_table
|
|
SUPERTYPE OF (ONEOF (part_laminate_table, zone_structural_makeup))
|
|
SUBTYPE OF (product_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY language
|
|
SUBTYPE OF (group);
|
|
WHERE
|
|
WR1 : SELF\group.name <> '';
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY leader_curve
|
|
SUBTYPE OF (annotation_curve_occurrence);
|
|
WHERE
|
|
WR1 : SIZEOF(
|
|
QUERY(ldc <* USEDIN( SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_CALLOUT.CONTENTS')
|
|
| 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'LEADER_DIRECTED_CALLOUT' IN TYPEOF(ldc))) >= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY leader_directed_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) >= 1;
|
|
WR2 : SIZEOF(SELF\draughting_callout.contents) >=2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY leader_directed_dimension
|
|
SUBTYPE OF (leader_directed_callout);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (con <* SELF.contents |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF (con)))=1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY leader_terminator
|
|
SUBTYPE OF (terminator_symbol);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_CURVE' IN TYPEOF
|
|
(SELF\terminator_symbol.annotated_curve);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY length_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'STYLED_ITEM.ITEM')) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY light_source_ambient
|
|
SUBTYPE OF (light_source);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY light_source_directional
|
|
SUBTYPE OF (light_source);
|
|
orientation : direction;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY light_source_positional
|
|
SUBTYPE OF (light_source);
|
|
position : cartesian_point;
|
|
constant_attenuation : REAL;
|
|
distance_attenuation : REAL;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY limits_and_fits;
|
|
form_variance : label;
|
|
zone_variance : label;
|
|
grade : label;
|
|
source : text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY line
|
|
SUBTYPE OF (curve);
|
|
pnt : cartesian_point;
|
|
dir : vector;
|
|
WHERE
|
|
WR1 : dir.dim = pnt.dim;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY line_profile_tolerance
|
|
SUBTYPE OF (geometric_tolerance);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + '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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT')| (sar.name IN [ 'affected plane association', 'resulting intersection curve association' ]) )) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY linear_dimension
|
|
SUBTYPE OF (dimension_curve_directed_callout);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY literal_conjunction
|
|
SUBTYPE OF (simple_clause);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY literal_disjunction
|
|
SUBTYPE OF (simple_clause);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY literal_number
|
|
ABSTRACT SUPERTYPE OF (ONEOF (int_literal, real_literal))
|
|
SUBTYPE OF (simple_numeric_expression, generic_literal);
|
|
the_value : NUMBER;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY logical_literal
|
|
SUBTYPE OF (generic_literal);
|
|
lit_value : LOGICAL;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY logical_representation_item
|
|
SUBTYPE OF (representation_item, logical_literal);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY loop
|
|
SUPERTYPE OF (ONEOF (vertex_loop, edge_loop, poly_loop))
|
|
SUBTYPE OF (topological_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY loss_tangent_measure_with_unit
|
|
SUBTYPE OF (ratio_measure_with_unit);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY lot_effectivity
|
|
SUBTYPE OF (effectivity);
|
|
effectivity_lot_id : identifier;
|
|
effectivity_lot_size : measure_with_unit;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY luminous_flux_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LUMINOUS_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY luminous_flux_unit
|
|
SUBTYPE OF (named_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lumen);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY luminous_intensity_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LUMINOUS_INTENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY magnetic_flux_density_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAGNETIC_FLUX_DENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY magnetic_flux_density_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.tesla);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY magnetic_flux_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAGNETIC_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY magnetic_flux_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.weber);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY manifold_solid_brep
|
|
SUBTYPE OF (solid_model);
|
|
outer : closed_shell;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY manifold_subsurface_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (it <* SELF.items |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] *
|
|
TYPEOF(it)) = 1))) = 0;
|
|
WR2 : SIZEOF (QUERY (it <* SELF.items |
|
|
SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
|
|
WR3 : SIZEOF (QUERY (mi <* QUERY (it <* items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN
|
|
TYPEOF(mi\mapped_item.mapping_source.
|
|
mapped_representation)))) = 0;
|
|
WR4 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN TYPEOF(cfss)))) = 0;
|
|
WR5 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
|
|
NOT( (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN
|
|
TYPEOF(cfss\connected_face_sub_set.parent_face_set))AND
|
|
(SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT
|
|
advanced_face_properties(fac))) = 0)) OR
|
|
(SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF(fac)))) = 0)
|
|
))) = 0;
|
|
WR6 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
|
|
NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN
|
|
TYPEOF(oe.edge_element)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBEDGE' IN
|
|
TYPEOF(oe.edge_element)) ))) = 0
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0;
|
|
WR8 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
|
|
NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start))
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
|
|
TYPEOF(oe.edge_end))
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0
|
|
))) = 0;
|
|
WR9 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
|
|
( NOT (SIZEOF(QUERY (bnds <* fcs.bounds |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP'] *
|
|
TYPEOF(bnds.bound)) = 1 )
|
|
)) = 0)
|
|
))) = 0
|
|
))) = 0;
|
|
WR10 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
|
|
( NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE' ] *
|
|
TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 )
|
|
)) = 0
|
|
))) = 0
|
|
)))) = 0
|
|
))) = 0;
|
|
WR11 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
|
|
(NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
|
|
TYPEOF(sc_ag)))) = 0)))
|
|
)) = 0
|
|
))) = 0
|
|
)))) = 0
|
|
))) = 0;
|
|
WR12 : SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) |
|
|
NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND
|
|
(NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
ENTITY manifold_surface_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (it <* SELF.items |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) = 0;
|
|
WR2 : SIZEOF (QUERY (it <* SELF.items |
|
|
SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0;
|
|
WR3 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL'
|
|
IN TYPEOF (mr_it)))) > 0 )))) = 0;
|
|
WR4 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (sh <*
|
|
sbsm\shell_based_surface_model.sbsm_boundary |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLOSED_SHELL']
|
|
* TYPEOF (sh)) = 1))) = 0))) = 0;
|
|
WR5 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fa)) )) = 0)))
|
|
= 0))) = 0;
|
|
WR6 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (bnds <* fa.bounds |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP']
|
|
* TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0;
|
|
WR8 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items|
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF
|
|
(oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0;
|
|
WR9 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <*
|
|
elp_fbnds\path.edge_list |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list|
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
|
|
(oe.edge_element.edge_start))
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
|
|
TYPEOF (oe.edge_element.edge_end)))))
|
|
= 0))) = 0)))) = 0))) = 0))) = 0;
|
|
WR12 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
|
|
NOT ((SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
|
|
(oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1)
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
|
|
(vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0)))
|
|
= 0))) = 0;
|
|
WR14 : SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
|
|
(vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry))
|
|
= 1))) = 0)))) = 0))) = 0))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mapped_item
|
|
SUBTYPE OF (representation_item);
|
|
mapping_source : representation_map;
|
|
mapping_target : representation_item;
|
|
WHERE
|
|
WR1 : acyclic_mapped_representation(SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mass_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MASS_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY material_designation;
|
|
name : label;
|
|
definitions : SET [1:?] OF characterized_definition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY material_designation_characterization;
|
|
name : label;
|
|
description : text;
|
|
designation : material_designation;
|
|
property : characterized_material_property;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY material_property
|
|
SUBTYPE OF (property_definition);
|
|
UNIQUE
|
|
UR1: SELF\property_definition.name, SELF\property_definition.definition;
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTERIZED_OBJECT' IN
|
|
TYPEOF(SELF\property_definition.definition)) OR
|
|
(SIZEOF(bag_to_set(USEDIN(SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) -
|
|
QUERY(temp <* bag_to_set(USEDIN(SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'MATERIAL_PROPERTY_REPRESENTATION' IN
|
|
TYPEOF(temp)))) = 0);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY material_property_representation
|
|
SUBTYPE OF (property_definition_representation);
|
|
dependent_environment : data_environment;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY measure_qualification;
|
|
name : label;
|
|
description : text;
|
|
qualified_measure : measure_with_unit;
|
|
qualifiers : SET [1:?] OF value_qualifier;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(temp <* qualifiers |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRECISION_QUALIFIER'
|
|
IN TYPEOF(temp))) < 2;
|
|
WR2 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM'
|
|
IN TYPEOF(SELF\measure_qualification.qualified_measure));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY measure_representation_item
|
|
SUBTYPE OF (representation_item, measure_with_unit);
|
|
END_ENTITY;
|
|
|
|
|
|
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, acceleration_measure_with_unit, capacitance_measure_with_unit, electric_charge_measure_with_unit, conductance_measure_with_unit, electric_potential_measure_with_unit, energy_measure_with_unit, magnetic_flux_density_measure_with_unit, force_measure_with_unit, frequency_measure_with_unit, illuminance_measure_with_unit, inductance_measure_with_unit, luminous_flux_measure_with_unit, magnetic_flux_measure_with_unit, power_measure_with_unit, pressure_measure_with_unit, resistance_measure_with_unit, velocity_measure_with_unit, absorbed_dose_measure_with_unit, radioactivity_measure_with_unit, dose_equivalent_measure_with_unit));
|
|
value_component : measure_value;
|
|
unit_component : unit;
|
|
WHERE
|
|
WR1 : valid_units(SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mechanical_context
|
|
SUBTYPE OF (product_context);
|
|
WHERE
|
|
WR1 : SELF.discipline_type = 'mechanical';
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mechanical_design_and_draughting_relationship
|
|
SUBTYPE OF (definitional_representation_relationship_with_same_context);
|
|
SELF\representation_relationship.rep_1 : mechanical_design_and_draughting_relationship_select;
|
|
SELF\representation_relationship.rep_2 : mechanical_design_and_draughting_relationship_select;
|
|
WHERE
|
|
WR1 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_2)) OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_1)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1)));
|
|
WR2 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1)));
|
|
WR3 : NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1)));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mechanical_design_geometric_presentation_area
|
|
SUBTYPE OF (presentation_area);
|
|
SELF\representation.items : SET [1:?] OF mechanical_design_geometric_presentation_area_items;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(it1 <* SELF.items |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF(it1))
|
|
OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
|
|
IN TYPEOF
|
|
(it1\mapped_item.mapping_source.mapped_representation)))) = 0;
|
|
WR2 : SIZEOF(QUERY(pv <* QUERY(mi1 <* QUERY(it1 <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF(it1)) |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
|
|
IN TYPEOF
|
|
(mi1\mapped_item.mapping_source.mapped_representation)) |
|
|
-- search in all presentation_views for axis2_placements and
|
|
-- mapped_items and for the subtype of mapped_item
|
|
-- camera_image_3d_with_scale; the latter shall reference
|
|
-- a mechanical_design_geometric_presentation_representation;
|
|
-- the supertype mapped_item shall reference presentation_view.
|
|
NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source.
|
|
mapped_representation\representation.items |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
|
|
IN TYPEOF(it2))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF(it2)) AND NOT
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
|
|
IN TYPEOF
|
|
(it2\mapped_item.mapping_source.mapped_representation)))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))
|
|
AND NOT (
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'
|
|
IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) ))
|
|
))) = 0))) = 0;
|
|
WR3 : (SIZEOF(QUERY(ps <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'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,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AREA_IN_SET.AREA') |
|
|
(SIZEOF(QUERY(ps <* USEDIN (ais,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'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,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1)
|
|
AND
|
|
(SIZEOF(QUERY(ps <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0)
|
|
OR
|
|
((SIZEOF(QUERY(ais <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AREA_IN_SET.AREA') |
|
|
(SIZEOF(QUERY(ps <* USEDIN (ais,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1))) = 1)
|
|
AND
|
|
(SIZEOF(QUERY(ais <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AREA_IN_SET.AREA') |
|
|
(SIZEOF(QUERY(ps <* USEDIN (ais,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0))) = 1));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mechanical_design_geometric_presentation_representation
|
|
SUBTYPE OF (representation);
|
|
SELF\representation.items : SET [1:?] OF mechanical_design_geometric_presentation_representation_items;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF(it))) | NOT (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SHAPE_REPRESENTATION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION']
|
|
* TYPEOF(mi\mapped_item.mapping_source.mapped_representation))
|
|
= 1))) = 0;
|
|
WR2 : SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it))) |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF(si\styled_item.item))) | NOT (
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item.
|
|
item\mapped_item.mapping_source.mapped_representation))) )) = 0;
|
|
WR3 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(pss <* psa.styles | NOT (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE']
|
|
* TYPEOF(pss)) = 1))) = 0))) = 0))) = 0;
|
|
WR4 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) |
|
|
NOT (SIZEOF(QUERY(psbc <* QUERY(psa <* si\styled_item.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF(psa)) | NOT (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'REPRESENTATION_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION']
|
|
* TYPEOF(psbc\presentation_style_by_context.style_context))
|
|
= 1))) = 0))) = 0;
|
|
WR5 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(ps <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE'
|
|
IN TYPEOF(pss)) | NOT
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ps\point_style.marker_size))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR']
|
|
* TYPEOF(ps\point_style.marker_colour))
|
|
= 1)))) = 0))) = 0))) = 0;
|
|
WR6 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(cs <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF(pss)) | NOT((SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR']
|
|
* TYPEOF(cs\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'POSITIVE_LENGTH_MEASURE' IN TYPEOF (cs\curve_style.curve_width))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT']
|
|
* TYPEOF(cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0;
|
|
WR7 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF(pss)) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_SIDE_STYLE' IN TYPEOF
|
|
(ssu\surface_style_usage.style)))) = 0))) = 0))) = 0;
|
|
WR8 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
NOT (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_PARAMETER_LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_CONTROL_GRID',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_SILHOUETTE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_SEGMENTATION_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_FILL_AREA',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_BOUNDARY']
|
|
* TYPEOF(sses)) = 1))) = 0))) = 0))) = 0))) = 0;
|
|
WR9 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sspl <* QUERY(sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF(sses)) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF
|
|
(sspl\surface_style_parameter_line.style_of_parameter_lines))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR']
|
|
* TYPEOF(sspl\surface_style_parameter_line.
|
|
style_of_parameter_lines\curve_style.curve_colour)) = 1)
|
|
AND (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(sspl\surface_style_parameter_line.
|
|
style_of_parameter_lines\curve_style.curve_width))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT']
|
|
* TYPEOF(sspl\surface_style_parameter_line.
|
|
style_of_parameter_lines\curve_style.curve_font)) = 1))))
|
|
= 0))) = 0))) = 0))) = 0;
|
|
WR10 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sscg <* QUERY(sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF(sses)) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR']
|
|
* TYPEOF(sscg\surface_style_control_grid.
|
|
style_of_control_grid\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(sscg\surface_style_control_grid.
|
|
style_of_control_grid\curve_style.curve_width))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT']
|
|
* TYPEOF(sscg\surface_style_control_grid.
|
|
style_of_control_grid\curve_style.curve_font)) = 1))))
|
|
= 0))) = 0))) = 0))) = 0;
|
|
WR11 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) |
|
|
NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssh <* QUERY(sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_SILHOUETTE' IN TYPEOF(sses)) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR']
|
|
* TYPEOF(sssh\surface_style_silhouette.
|
|
style_of_silhouette\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(sssh\surface_style_silhouette.style_of_silhouette\curve_style.
|
|
curve_width))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT']
|
|
* TYPEOF(sssh\surface_style_silhouette.
|
|
style_of_silhouette\curve_style.curve_font)) = 1))))
|
|
= 0))) = 0))) = 0))) = 0;
|
|
WR12 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssc <* QUERY(sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF(sses)) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF
|
|
(sssc\surface_style_segmentation_curve.style_of_segmentation_curve))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR']
|
|
* TYPEOF(sssc\surface_style_segmentation_curve.
|
|
style_of_segmentation_curve\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(sssc\surface_style_segmentation_curve.
|
|
style_of_segmentation_curve\curve_style.curve_width))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT']
|
|
* TYPEOF(sssc\surface_style_segmentation_curve.
|
|
style_of_segmentation_curve\curve_style.curve_font)) = 1))))
|
|
= 0))) = 0))) = 0))) = 0;
|
|
WR13 : SIZEOF(QUERY(si <* QUERY(it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles |
|
|
NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(ssbd <* QUERY(sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_BOUNDARY' IN TYPEOF(sses)) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR']
|
|
* TYPEOF(ssbd\surface_style_boundary.
|
|
style_of_boundary\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ssbd\surface_style_boundary.
|
|
style_of_boundary\curve_style.curve_width))
|
|
AND (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_FONT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT']
|
|
* TYPEOF(ssbd\surface_style_boundary.
|
|
style_of_boundary\curve_style.curve_font)) = 1)))) = 0)))
|
|
= 0))) = 0))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mechanical_design_presentation_representation_with_draughting
|
|
SUBTYPE OF (representation);
|
|
SELF\representation.items : SET [1:?] OF camera_model_d3;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mechanical_design_shaded_presentation_area
|
|
SUBTYPE OF (presentation_area);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (it1 <* SELF.items |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
|
|
IN TYPEOF (it1))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF (it1)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
|
|
IN TYPEOF
|
|
(it1\mapped_item.mapping_source.mapped_representation)))))) = 0;
|
|
WR2 : SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF (it1)) |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
|
|
IN TYPEOF
|
|
(mi1\mapped_item.mapping_source.mapped_representation)) |
|
|
(* search in all presentation_views for axis2_placements and
|
|
mapped_items and for the subtype of mapped_item,
|
|
camera_image_3d_with_scale; the latter shall reference
|
|
a mechanical_design_geometric_presentation_representation;
|
|
the supertype mapped_item shall reference presentation_view. *)
|
|
NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source.
|
|
mapped_representation\representation.items |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT'
|
|
IN TYPEOF(it2))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF(it2)) AND NOT
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
|
|
IN TYPEOF
|
|
(it2\mapped_item.mapping_source.mapped_representation)))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))
|
|
AND NOT (
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'
|
|
IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) ))
|
|
))) = 0))) = 0;
|
|
WR3 : (SIZEOF (QUERY(ps <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT') |
|
|
NOT ((ps.size\planar_extent.size_in_x > 0)
|
|
AND (ps.size\planar_extent.size_in_y > 0)) )) = 0)
|
|
AND
|
|
(* check secondly for presentation_set, via area_in_set *)
|
|
(SIZEOF (QUERY(pset <* QUERY(ais <*
|
|
USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AREA_IN_SET.AREA')
|
|
| 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SET' IN TYPEOF (ais.in_set)) |
|
|
(* after having collected all presentation_set, check their sizes *)
|
|
SIZEOF (QUERY(psize <* USEDIN(pset,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT')
|
|
| NOT ((psize.size\planar_extent.size_in_x > 0)
|
|
AND (psize.size\planar_extent.size_in_y > 0)) )) = 0)) = 0);
|
|
WR4 : (SIZEOF(QUERY( psize <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT')
|
|
| 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AXIS2_PLACEMENT_2D'
|
|
IN TYPEOF (psize.size.placement))) = 1)
|
|
AND
|
|
(* check secondly for presentation_set, via area_in_set *)
|
|
(SIZEOF (QUERY(pset <* QUERY(ais <*
|
|
USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AREA_IN_SET.AREA')
|
|
| 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SET' IN TYPEOF (ais.in_set)) |
|
|
(* after having collected all presentation_set, check their
|
|
dimension *)
|
|
SIZEOF (QUERY(psize <* USEDIN(pset,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT')
|
|
| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AXIS2_PLACEMENT_2D'
|
|
IN TYPEOF (psize.size.placement)) )) = 0)) = 0);
|
|
WR5 : SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF (it1)) |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_VIEW'
|
|
IN TYPEOF
|
|
(mi1\mapped_item.mapping_source.mapped_representation)) |
|
|
(* search in all presentation_views for
|
|
mapped_items and for the subtype of mapped_item,
|
|
camera_image_3d_with_scale; the latter shall reference
|
|
a camera_usage that shall have as its mapping_origin either
|
|
camera_model_d3, camera_model_d3_with_hlhsr, or
|
|
camera_model_with_light_sources. *)
|
|
NOT (SIZEOF(QUERY(ci <* pv\mapped_item.mapping_source.
|
|
mapped_representation\representation.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(ci))
|
|
AND
|
|
(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CAMERA_MODEL_D3',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CAMERA_MODEL_D3_WITH_HLHSR',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CAMERA_MODEL_WITH_LIGHT_SOURCES'] * TYPEOF
|
|
(ci\mapped_item.mapping_source.mapping_origin))
|
|
= 1))) = 0))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY mechanical_design_shaded_presentation_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(it <* SELF.items |
|
|
NOT (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CAMERA_MODEL_D3']
|
|
* TYPEOF(it)) = 1))) = 0;
|
|
WR2 : SIZEOF(QUERY(mi <* QUERY(it <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF(it))) | NOT (SIZEOF(
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SHAPE_REPRESENTATION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION']
|
|
* TYPEOF(mi\mapped_item.mapping_source.mapped_representation))
|
|
= 1))) = 0;
|
|
WR3 : SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF(it))) |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'
|
|
IN TYPEOF(si\styled_item.item))) | NOT (
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item.
|
|
item\mapped_item.mapping_source.mapped_representation))) )) = 0;
|
|
WR4 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (pss <* psa.styles |
|
|
NOT (SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE']
|
|
* TYPEOF (pss)) = 1))) = 0))) = 0))) = 0;
|
|
WR5 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psbc <* QUERY (psa <* si\styled_item.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (psa)) |
|
|
NOT (SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION']
|
|
* TYPEOF (psbc\presentation_style_by_context.style_context)) = 1)))
|
|
= 0))) = 0;
|
|
WR6 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ps <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_STYLE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MARKER_TYPE'
|
|
IN TYPEOF (ps\point_style.marker))
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(ps\point_style.marker_size))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(ps\point_style.marker_colour)) = 1)))) = 0))) = 0))) = 0;
|
|
WR7 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (cs <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(cs\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(cs\curve_style.curve_width))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
|
|
(cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0;
|
|
WR8 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_SIDE_STYLE'
|
|
IN TYPEOF (ssu\surface_style_usage.style)) )) = 0))) = 0 ))) = 0;
|
|
WR9 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (SIZEOF (QUERY (sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
NOT (SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_PARAMETER_LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_CONTROL_GRID',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_SILHOUETTE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_SEGMENTATION_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_BOUNDARY',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_FILL_AREA',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_RENDERING'] * TYPEOF (sses)) = 1))) = 0))) = 0)))
|
|
= 0))) = 0;
|
|
WR10 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (SIZEOF (QUERY (ssfa <* QUERY (sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_FILL_AREA'
|
|
IN TYPEOF (sses)) |
|
|
NOT (SIZEOF (QUERY (fss <*
|
|
ssfa\surface_style_fill_area.fill_area.fill_styles |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'FILL_AREA_STYLE_COLOUR' IN TYPEOF (fss))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(fss\fill_area_style_colour.fill_colour)) = 1)))) = 0))) = 0)))
|
|
= 0))) = 0))) = 0;
|
|
WR11 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (SIZEOF (QUERY (sspl <* QUERY (sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF (sses)) |
|
|
NOT ((
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE' IN TYPEOF
|
|
(sspl\surface_style_parameter_line.style_of_parameter_lines))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(sspl\surface_style_parameter_line.
|
|
style_of_parameter_lines\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(sspl\surface_style_parameter_line.
|
|
style_of_parameter_lines\curve_style.curve_width))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
|
|
(sspl\surface_style_parameter_line.
|
|
style_of_parameter_lines\curve_style.curve_font)) = 1))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
|
|
IN TYPEOF
|
|
(sspl\surface_style_parameter_line.style_of_parameter_lines))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(sspl\surface_style_parameter_line.style_of_parameter_lines\
|
|
curve_style_rendering.rendering_properties.rendered_colour))
|
|
= 1))) )) = 0))) = 0))) = 0))) = 0;
|
|
WR12 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (SIZEOF (QUERY (sscg <* QUERY (sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF (sses)) |
|
|
NOT ((
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(sscg\surface_style_control_grid.
|
|
style_of_control_grid\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(sscg\surface_style_control_grid.
|
|
style_of_control_grid\curve_style.curve_width))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
|
|
(sscg\surface_style_control_grid.
|
|
style_of_control_grid\curve_style.curve_font)) = 1))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
|
|
IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(sscg\surface_style_control_grid.style_of_control_grid\
|
|
curve_style_rendering.rendering_properties.rendered_colour))
|
|
= 1))) )) = 0))) = 0))) = 0))) = 0;
|
|
WR13 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (SIZEOF (QUERY (sssh <* QUERY (sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_SILHOUETTE' IN TYPEOF (sses)) |
|
|
NOT ((
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(sssh\surface_style_silhouette.
|
|
style_of_silhouette\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(sssh\surface_style_silhouette.
|
|
style_of_silhouette\curve_style.curve_width))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
|
|
(sssh\surface_style_silhouette.
|
|
style_of_silhouette\curve_style.curve_font)) = 1))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
|
|
IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(sssh\surface_style_silhouette.style_of_silhouette\
|
|
curve_style_rendering.rendering_properties.rendered_colour))
|
|
= 1))) )) = 0))) = 0))) = 0))) = 0;
|
|
WR14 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (SIZEOF (QUERY (sssc <* QUERY (sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF (sses)) |
|
|
NOT ((
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF
|
|
(sssc\surface_style_segmentation_curve.style_of_segmentation_curve))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(sssc\surface_style_segmentation_curve.
|
|
style_of_segmentation_curve\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(sssc\surface_style_segmentation_curve.
|
|
style_of_segmentation_curve\curve_style.curve_width))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
|
|
(sssc\surface_style_segmentation_curve.
|
|
style_of_segmentation_curve\curve_style.curve_font)) = 1))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
|
|
IN TYPEOF (sssc\surface_style_segmentation_curve.
|
|
style_of_segmentation_curve))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(sssc\surface_style_segmentation_curve.style_of_segmentation_curve\
|
|
curve_style_rendering.rendering_properties.rendered_colour))
|
|
= 1))) )) = 0))) = 0))) = 0))) = 0;
|
|
WR15 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (SIZEOF (QUERY (ssbd <* QUERY (sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_BOUNDARY' IN TYPEOF (sses)) |
|
|
NOT ((
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE'
|
|
IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(ssbd\surface_style_boundary.
|
|
style_of_boundary\curve_style.curve_colour)) = 1)
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF
|
|
(ssbd\surface_style_boundary.
|
|
style_of_boundary\curve_style.curve_width))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'CURVE_STYLE_FONT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
|
|
(ssbd\surface_style_boundary.
|
|
style_of_boundary\curve_style.curve_font)) = 1))
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE_RENDERING'
|
|
IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(ssbd\surface_style_boundary.style_of_boundary\
|
|
curve_style_rendering.rendering_properties.rendered_colour))
|
|
= 1))) )) = 0))) = 0))) = 0))) = 0;
|
|
WR16 : SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM'
|
|
IN TYPEOF (it)) |
|
|
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
|
|
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE'
|
|
IN TYPEOF (pss)) |
|
|
NOT (SIZEOF (QUERY (ssre <* QUERY (sses <*
|
|
ssu\surface_style_usage.style\surface_side_style.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'SURFACE_STYLE_RENDERING' IN TYPEOF (sses)) |
|
|
NOT
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COLOUR_RGB',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
|
|
(ssre\surface_style_rendering.surface_colour)) = 1)))
|
|
= 0))) = 0))) = 0))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY min_and_major_ply_orientation_basis
|
|
SUBTYPE OF (representation_item_relationship, geometric_representation_item);
|
|
SELF\representation_item_relationship.related_representation_item : axis2_placement_3d;
|
|
SELF\representation_item_relationship.relating_representation_item : axis2_placement_3d;
|
|
DERIVE
|
|
major_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.related_representation_item;
|
|
minor_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.relating_representation_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY modified_geometric_tolerance
|
|
SUBTYPE OF (geometric_tolerance);
|
|
modifier : limit_condition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY modified_solid
|
|
ABSTRACT SUPERTYPE OF (ONEOF (edge_blended_solid, sculptured_solid, shelled_solid, modified_solid_with_placed_configuration))
|
|
SUBTYPE OF (solid_model);
|
|
rationale : text;
|
|
base_solid : base_solid_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY modified_solid_with_placed_configuration
|
|
ABSTRACT SUPERTYPE OF (ONEOF (solid_with_depression, solid_with_protrusion, solid_with_shape_element_pattern))
|
|
SUBTYPE OF (modified_solid);
|
|
placing : axis2_placement_3d;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY moments_of_inertia_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : (SIZEOF(SELF.items) = 1) AND
|
|
(SIZEOF( QUERY( i <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
|
|
(i.name = 'moments of inertia matrix') )) = 1);
|
|
WR2 : SIZEOF( QUERY( i <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + '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;
|
|
|
|
|
|
ENTITY multi_language_attribute_assignment
|
|
SUBTYPE OF (attribute_value_assignment);
|
|
items : SET [1:?] OF multi_language_attribute_item;
|
|
DERIVE
|
|
translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class;
|
|
INVERSE
|
|
language_indication: SET [1:1] OF attribute_language_assignment FOR items;
|
|
WHERE
|
|
WR1 : (SELF\attribute_value_assignment.role.name = 'alternate language');
|
|
WR2 : SIZEOF( QUERY( ala <* language_indication |
|
|
(ala\attribute_classification_assignment.attribute_name = 'attribute_value') AND
|
|
(ala\attribute_classification_assignment.role.name='translated') )) = 1;
|
|
WR3 : SELF\attribute_value_assignment.attribute_name <> '';
|
|
WR4 : SIZEOF(QUERY(ci <* items |
|
|
SIZEOF(QUERY(ata <* USEDIN(ci, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') |
|
|
(ata\attribute_value_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name) AND
|
|
(ata.translation_language :=: translation_language) ))>1 )) =0;
|
|
WR5 : SIZEOF(QUERY(ci <* items |
|
|
SIZEOF(QUERY(ata <* USEDIN(ci, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') |
|
|
(ata\attribute_classification_assignment.role.name='primary') AND
|
|
(ata\attribute_classification_assignment.attribute_name= SELF\attribute_value_assignment.attribute_name) AND
|
|
(ata\attribute_classification_assignment.assigned_class :=: translation_language) ))>0 )) =0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY multiple_arity_boolean_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (boolean_expression, multiple_arity_generic_expression);
|
|
SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF boolean_expression;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY multiple_arity_generic_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (generic_expression);
|
|
operands : LIST [2:?] OF generic_expression;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY multiple_arity_numeric_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (numeric_expression, multiple_arity_generic_expression);
|
|
SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF numeric_expression;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY name_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_name : label;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY name_attribute;
|
|
attribute_value : label;
|
|
named_item : name_attribute_select;
|
|
END_ENTITY;
|
|
|
|
|
|
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_flux_unit, luminous_intensity_unit, plane_angle_unit, solid_angle_unit, ratio_unit)));
|
|
dimensions : dimensional_exponents;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY next_assembly_usage_occurrence
|
|
SUBTYPE OF (assembly_component_usage);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY non_manifold_surface_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (it <* SELF.items |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1)))
|
|
= 0;
|
|
WR2 : SIZEOF (QUERY (it <* SELF.items |
|
|
SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0;
|
|
WR3 : SIZEOF (QUERY (mi <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BASED_SURFACE_MODEL'
|
|
IN TYPEOF (mr_it)))) > 0 )))) = 0;
|
|
WR4 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE'] * TYPEOF (fa)) = 1)))
|
|
= 0))) = 0))) = 0;
|
|
WR5 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF (fa))) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE' IN TYPEOF (fa))) |
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (bnds <* fa.bounds |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP']
|
|
* TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0;
|
|
WR8 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items|
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF
|
|
(oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0;
|
|
WR9 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <*
|
|
elp_fbnds\path.edge_list |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list|
|
|
NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
|
|
(oe.edge_element.edge_start))
|
|
AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN
|
|
TYPEOF (oe.edge_element.edge_end)))))
|
|
= 0))) = 0)))) = 0))) = 0))) = 0;
|
|
WR12 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list |
|
|
NOT ((SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
|
|
(oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1)
|
|
AND
|
|
(SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF
|
|
(vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0)))
|
|
= 0))) = 0;
|
|
WR14 : SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa))
|
|
OR
|
|
(SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) |
|
|
NOT (SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEGENERATE_PCURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE'] * TYPEOF
|
|
(vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry))
|
|
= 1))) = 0)))) = 0))) = 0))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY null_representation_item
|
|
SUBTYPE OF (representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY numeric_expression
|
|
ABSTRACT SUPERTYPE OF (ONEOF (simple_numeric_expression, unary_numeric_expression, binary_numeric_expression, multiple_arity_numeric_expression))
|
|
SUBTYPE OF (expression);
|
|
DERIVE
|
|
is_int : LOGICAL := is_int_expr (SELF);
|
|
sql_mappable : LOGICAL := is_SQL_mappable (SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY object_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY offset_curve_2d
|
|
SUBTYPE OF (curve);
|
|
basis_curve : curve;
|
|
distance : length_measure;
|
|
self_intersect : LOGICAL;
|
|
WHERE
|
|
WR1 : basis_curve.dim = 2;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY offset_surface
|
|
SUBTYPE OF (surface);
|
|
basis_surface : surface;
|
|
distance : length_measure;
|
|
self_intersect : LOGICAL;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY one_direction_repeat_factor
|
|
SUBTYPE OF (geometric_representation_item);
|
|
repeat_factor : vector;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY open_shell
|
|
SUBTYPE OF (connected_face_set);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ordinal_date
|
|
SUBTYPE OF (date);
|
|
day_component : day_in_year_number;
|
|
WHERE
|
|
WR1 : (NOT leap_year(SELF.year_component) AND { 1 <= day_component <= 365 }) OR (leap_year(SELF.year_component) AND { 1 <= day_component <= 366 });
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ordinate_dimension
|
|
SUBTYPE OF (projection_directed_callout);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY organization;
|
|
id : OPTIONAL identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY organization_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_organization : organization;
|
|
role : organization_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY organization_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_organization : organization;
|
|
related_organization : organization;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY organization_role;
|
|
name : label;
|
|
DERIVE
|
|
description : text := get_description_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY organizational_address
|
|
SUBTYPE OF (address);
|
|
organizations : SET [1:?] OF organization;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY organizational_project_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_organizational_project : organizational_project;
|
|
role : organizational_project_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY organizational_project_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_organizational_project : organizational_project;
|
|
related_organizational_project : organizational_project;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY organizational_project_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_CLOSED_SHELL'
|
|
IN TYPEOF (SELF.closed_shell_element));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY oriented_edge
|
|
SUBTYPE OF (edge);
|
|
edge_element : edge;
|
|
orientation : BOOLEAN;
|
|
DERIVE
|
|
SELF\edge.edge_end : vertex := boolean_choose (SELF.orientation,
|
|
SELF.edge_element.edge_end,
|
|
SELF.edge_element.edge_start);
|
|
SELF\edge.edge_start : vertex := boolean_choose (SELF.orientation,
|
|
SELF.edge_element.edge_start,
|
|
SELF.edge_element.edge_end);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_EDGE' IN TYPEOF (SELF.edge_element));
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_FACE' IN TYPEOF (SELF.face_element));
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_OPEN_SHELL'
|
|
IN TYPEOF (SELF.open_shell_element));
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ORIENTED_PATH' IN TYPEOF (SELF.path_element));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY oriented_surface
|
|
SUBTYPE OF (surface);
|
|
orientation : BOOLEAN;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY outer_boundary_curve
|
|
SUBTYPE OF (boundary_curve);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY over_riding_styled_item
|
|
SUBTYPE OF (styled_item);
|
|
over_ridden_style : styled_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY package_product_concept_feature
|
|
SUBTYPE OF (product_concept_feature);
|
|
WHERE
|
|
WR1 : NOT ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF ( SELF ) );
|
|
WR2 : SIZEOF ( QUERY
|
|
(
|
|
cfr <* USEDIN ( SELF , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.' +'RELATING_PRODUCT_CONCEPT_FEATURE' )
|
|
|
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF (cfr ) )
|
|
AND
|
|
( SIZEOF ( QUERY
|
|
(
|
|
ipcf <* USEDIN ( cfr , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' )
|
|
|
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ipcf )
|
|
)
|
|
)= 1
|
|
)
|
|
)
|
|
)>0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY parabola
|
|
SUBTYPE OF (conic);
|
|
focal_dist : length_measure;
|
|
WHERE
|
|
WR1 : focal_dist <> 0.0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY parallel_offset
|
|
SUBTYPE OF (derived_shape_aspect);
|
|
offset : measure_with_unit;
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY parallelism_tolerance
|
|
SUBTYPE OF (geometric_tolerance_with_datum_reference);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY parametric_representation_context
|
|
SUBTYPE OF (representation_context);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY part_laminate_table
|
|
SUPERTYPE OF (ONEOF (composite_assembly_table, ply_laminate_table))
|
|
SUBTYPE OF (laminate_table);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY partial_document_with_structured_text_representation_assignment
|
|
SUBTYPE OF (applied_document_usage_constraint_assignment, characterized_object);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY pcurve
|
|
SUBTYPE OF (curve);
|
|
basis_surface : surface;
|
|
reference_to_curve : definitional_representation;
|
|
WHERE
|
|
WR1 : SIZEOF(reference_to_curve\representation.items) = 1;
|
|
WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF
|
|
(reference_to_curve\representation.items[1]);
|
|
WR3 : reference_to_curve\representation.items[1]\
|
|
geometric_representation_item.dim =2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY percentage_laminate_definition
|
|
SUBTYPE OF (product_definition);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_RELATIONSHIP.' +
|
|
'RELATING_PRODUCT_DEFINITION') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
|
|
TYPEOF (pdr))) > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY percentage_laminate_table
|
|
SUBTYPE OF (zone_structural_makeup);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY percentage_ply_definition
|
|
SUBTYPE OF (product_definition);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERCENTAGE_LAMINATE_DEFINITION'
|
|
IN TYPEOF (pdr.related_product_definition)) AND
|
|
(pdr.name = 'makeup and properties'))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY perpendicular_to
|
|
SUBTYPE OF (derived_shape_aspect);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY perpendicularity_tolerance
|
|
SUBTYPE OF (geometric_tolerance_with_datum_reference);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY person_and_organization;
|
|
the_person : person;
|
|
the_organization : organization;
|
|
DERIVE
|
|
description : text := get_description_value(SELF);
|
|
name : label := get_name_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY person_and_organization_address
|
|
SUBTYPE OF (organizational_address, personal_address);
|
|
SELF\organizational_address.organizations : SET [1:1] OF organization;
|
|
SELF\personal_address.people : SET [1:1] OF person;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(pao <* USEDIN (SELF\personal_address.people[1], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERSON_AND_ORGANIZATION.THE_PERSON') | pao.the_organization :=: SELF\organizational_address.organizations[1])) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY person_and_organization_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_person_and_organization : person_and_organization;
|
|
role : person_and_organization_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY person_and_organization_role;
|
|
name : label;
|
|
DERIVE
|
|
description : text := get_description_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY personal_address
|
|
SUBTYPE OF (address);
|
|
people : SET [1:?] OF person;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY physical_breakdown_context
|
|
SUBTYPE OF (breakdown_context);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY physical_element_usage
|
|
SUBTYPE OF (breakdown_element_usage);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY picture_representation
|
|
SUBTYPE OF (presentation_view);
|
|
SELF\representation.items : SET [2:?] OF picture_representation_item_select;
|
|
INVERSE
|
|
size: presentation_size FOR unit;
|
|
WHERE
|
|
WR1: SIZEOF(QUERY(item <* items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF(item))) = 1;
|
|
WR2: SIZEOF (QUERY (se <* QUERY (item <* SELF.items | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STYLED_ITEM' IN TYPEOF (item)))
|
|
| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PICTURE_REPRESENTATION_ITEM'
|
|
IN TYPEOF (se\styled_item.item)) )) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY picture_representation_item
|
|
ABSTRACT SUPERTYPE OF (ONEOF (externally_defined_picture_representation_item, predefined_picture_representation_item))
|
|
SUBTYPE OF (bytes_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY placed_datum_target_feature
|
|
SUBTYPE OF (datum_target);
|
|
DERIVE
|
|
representation_associations : SET [0:?] OF property_definition_representation := get_shape_aspect_property_definition_representations(SELF);
|
|
WHERE
|
|
WR1 : SELF.description IN ['point','line','rectangle','circle', 'circular line'];
|
|
WR2 : SIZEOF (QUERY (pdr <* representation_associations | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF (pdr.used_representation) )) = 1;
|
|
WR3 : valid_datum_target_parameters(SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY placed_feature
|
|
SUBTYPE OF (shape_aspect);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY placement
|
|
SUPERTYPE OF (ONEOF (axis1_placement, axis2_placement_2d, axis2_placement_3d))
|
|
SUBTYPE OF (geometric_representation_item);
|
|
location : cartesian_point;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY planar_box
|
|
SUBTYPE OF (planar_extent);
|
|
placement : axis2_placement;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY planar_extent
|
|
SUBTYPE OF (geometric_representation_item);
|
|
size_in_x : length_measure;
|
|
size_in_y : length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY plane
|
|
SUBTYPE OF (elementary_surface);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY plane_angle_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY plus_minus_tolerance;
|
|
range : tolerance_method_definition;
|
|
toleranced_dimension : dimensional_characteristic;
|
|
UNIQUE
|
|
UR1 : toleranced_dimension;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ply_laminate_definition
|
|
SUBTYPE OF (product_definition);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_RELATIONSHIP.' +
|
|
'RELATING_PRODUCT_DEFINITION') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
|
|
TYPEOF (pdr))) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ply_laminate_sequence_definition
|
|
SUBTYPE OF (product_definition);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_RELATIONSHIP.' +
|
|
'RELATING_PRODUCT_DEFINITION') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
|
|
TYPEOF (pdr))) > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ply_laminate_table
|
|
SUBTYPE OF (part_laminate_table);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY point
|
|
SUPERTYPE OF (ONEOF (cartesian_point, point_on_curve, point_on_surface, point_replica, degenerate_pcurve))
|
|
SUBTYPE OF (geometric_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY point_and_vector
|
|
SUBTYPE OF (compound_representation_item, geometric_representation_item);
|
|
SELF\compound_representation_item.item_element : point_and_vector_members;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY point_on_curve
|
|
SUBTYPE OF (point);
|
|
basis_curve : curve;
|
|
point_parameter : parameter_value;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY point_on_surface
|
|
SUBTYPE OF (point);
|
|
basis_surface : surface;
|
|
point_parameter_u : parameter_value;
|
|
point_parameter_v : parameter_value;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY point_path
|
|
SUBTYPE OF (compound_representation_item, geometric_representation_item);
|
|
SELF\compound_representation_item.item_element : point_path_members;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY point_style
|
|
SUBTYPE OF (founded_item);
|
|
name : label;
|
|
marker : marker_select;
|
|
marker_size : size_select;
|
|
marker_colour : colour;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY polar_complex_number_literal
|
|
SUBTYPE OF (generic_literal);
|
|
radius : REAL;
|
|
angle : REAL;
|
|
WHERE
|
|
WR1 : radius >= 0;
|
|
WR2 : { 0 <= angle < 2*PI };
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY poly_loop
|
|
SUBTYPE OF (loop, geometric_representation_item);
|
|
polygon : LIST [3:?] OF UNIQUE cartesian_point;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY polyline
|
|
SUBTYPE OF (bounded_curve);
|
|
points : LIST [2:?] OF cartesian_point;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY position_tolerance
|
|
SUBTYPE OF (geometric_tolerance);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY positioned_sketch
|
|
SUBTYPE OF (geometric_representation_item);
|
|
sketch_basis : sketch_basis_select;
|
|
auxiliary_elements : SET [0:?] OF auxiliary_geometric_representation_item;
|
|
WHERE
|
|
WR1 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE' IN
|
|
TYPEOF(sketch_basis)) AND NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN
|
|
TYPEOF(sketch_basis\curve_bounded_surface.basis_surface)));
|
|
WR2 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF(sketch_basis)) AND
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(sketch_basis\face_surface.face_geometry)));
|
|
WR3 : SIZEOF(QUERY(q <* auxiliary_elements | (SIZEOF(TYPEOF(q) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT','AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE']) = 0))) = 0;
|
|
WR4 : SIZEOF(QUERY(q <* auxiliary_elements |
|
|
q\geometric_representation_item.dim <> 3)) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY power_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POWER_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY power_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.watt);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pre_defined_colour
|
|
SUBTYPE OF (pre_defined_item, colour);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pre_defined_curve_font
|
|
SUBTYPE OF (pre_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY pre_defined_item;
|
|
name : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pre_defined_marker
|
|
SUBTYPE OF (pre_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY pre_defined_surface_side_style
|
|
SUBTYPE OF (pre_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pre_defined_symbol
|
|
SUBTYPE OF (pre_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pre_defined_terminator_symbol
|
|
SUBTYPE OF (pre_defined_symbol);
|
|
WHERE
|
|
WR1 : SELF.name IN ['blanked arrow', 'blanked box', 'blanked dot', 'blanked triangle', 'dimension origin', 'filled arrow', 'filled box', 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow', 'unfilled triangle', 'filled triangle'];
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pre_defined_text_font
|
|
SUBTYPE OF (pre_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pre_defined_tile
|
|
SUBTYPE OF (pre_defined_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY precision_qualifier;
|
|
precision_value : INTEGER;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY predefined_picture_representation_item
|
|
SUBTYPE OF (picture_representation_item);
|
|
WHERE
|
|
WR1 : SELF\representation_item.name IN pre_defined_picture_representation_types;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY presentation_area
|
|
SUBTYPE OF (presentation_representation);
|
|
WHERE
|
|
WR1 : ((SIZEOF (QUERY (ais <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'AREA_IN_SET.AREA') |
|
|
SIZEOF (USEDIN (ais, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT')) =1)) > 0) OR
|
|
(SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_SIZE.UNIT')) =1));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY presentation_layer_assignment;
|
|
name : label;
|
|
description : text;
|
|
assigned_items : SET [1:?] OF layered_item;
|
|
END_ENTITY;
|
|
|
|
|
|
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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_AREA' IN TYPEOF (SELF))
|
|
OR
|
|
(SIZEOF (QUERY (prr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'REPRESENTATION_RELATIONSHIP.REP_2') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_REPRESENTATION' IN
|
|
TYPEOF (prr\representation_relationship.rep_1))) > 0)
|
|
OR
|
|
(SIZEOF(QUERY( rm <* USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'REPRESENTATION_MAP.'+
|
|
'MAPPED_REPRESENTATION') |
|
|
SIZEOF(QUERY( mi <* USEDIN(rm, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'MAPPED_ITEM.'+
|
|
'MAPPING_SOURCE') |
|
|
SIZEOF(QUERY( rep <* using_representations (mi) |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'PRESENTATION_REPRESENTATION' IN
|
|
TYPEOF (rep))) > 0
|
|
)) > 0))
|
|
> 0);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY presentation_set;
|
|
INVERSE
|
|
areas: SET [1:?] OF area_in_set FOR in_set;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY presentation_size;
|
|
unit : presentation_size_assignment_select;
|
|
size : planar_box;
|
|
UNIQUE
|
|
UR1 : unit;
|
|
WHERE
|
|
WR1 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESENTATION_REPRESENTATION'
|
|
IN TYPEOF (SELF.unit)) AND
|
|
item_in_context (SELF.size,
|
|
SELF.unit\representation.context_of_items)
|
|
)
|
|
OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SURFACE_STYLE_USAGE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'EXTERNALLY_DEFINED_STYLE'] *
|
|
TYPEOF (style1)) = 1)
|
|
))) = 0
|
|
))) = 0;
|
|
WR2 : SIZEOF (QUERY (style1 <* SELF.styles |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE' IN
|
|
TYPEOF(style1)
|
|
)) <= 2;
|
|
WR3 : SIZEOF (QUERY (style1 <* SELF.styles |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style1)) AND
|
|
(SIZEOF (QUERY (style2 <* (SELF.styles - style1) |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
ENTITY presentation_style_by_context
|
|
SUBTYPE OF (presentation_style_assignment);
|
|
style_context : style_context_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY presentation_view
|
|
SUBTYPE OF (presentation_representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY presented_item
|
|
ABSTRACT SUPERTYPE;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY presented_item_representation;
|
|
presentation : presentation_representation_select;
|
|
item : presented_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pressure_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRESSURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY pressure_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.pascal);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY procedural_representation
|
|
SUBTYPE OF (representation);
|
|
SELF\representation.items : SET [1:?] OF procedural_representation_sequence;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY procedural_representation_sequence
|
|
SUBTYPE OF (representation_item);
|
|
elements : LIST [1:?] OF representation_item;
|
|
suppressed_items : SET [0:?] OF representation_item;
|
|
rationale : text;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(q <* suppressed_items | NOT (q IN elements))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY procedural_shape_representation
|
|
SUBTYPE OF (procedural_representation, shape_representation);
|
|
SELF\representation.items : SET [1:?] OF procedural_shape_representation_sequence;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY procedural_shape_representation_sequence
|
|
SUBTYPE OF (geometric_representation_item, procedural_representation_sequence);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(q <* SELF\procedural_representation_sequence.elements
|
|
| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
|
|
IN TYPEOF(q)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
frame_of_reference : SET [1:?] OF product_context;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_category;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
DERIVE
|
|
id : identifier := get_id_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_class
|
|
SUBTYPE OF (product_concept, characterized_object);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_concept;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
market_context : product_concept_context;
|
|
UNIQUE
|
|
UR1 : id;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_concept_context
|
|
SUBTYPE OF (application_context_element);
|
|
market_segment_type : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_concept_feature;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_concept_feature_association;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
concept : product_concept;
|
|
feature : product_concept_feature;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_concept_feature_category
|
|
SUBTYPE OF (group);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY
|
|
(
|
|
aga <* USEDIN( SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GROUP_ASSIGNMENT.ASSIGNED_GROUP' )
|
|
|
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(aga))
|
|
AND
|
|
(
|
|
( aga.role.name <> 'specification category member' )
|
|
OR
|
|
( SIZEOF(QUERY
|
|
(
|
|
i <* aga.items
|
|
|
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( i ) )
|
|
AND
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF (i))
|
|
)
|
|
) <> SIZEOF (aga.items)
|
|
)
|
|
)
|
|
)
|
|
) =0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_concept_feature_category_usage
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:?] OF category_usage_item;
|
|
SELF\group_assignment.assigned_group : product_concept_feature_category;
|
|
WHERE
|
|
WR1 : SELF.role.name IN [ 'mandatory category usage', 'optional category usage' ];
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_concept_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_product_concept : product_concept;
|
|
related_product_concept : product_concept;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_context
|
|
SUBTYPE OF (application_context_element);
|
|
discipline_type : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition
|
|
SUPERTYPE OF (ONEOF (composite_assembly_definition, composite_assembly_sequence_definition, laminate_table, percentage_laminate_definition, percentage_ply_definition, ply_laminate_definition, ply_laminate_sequence_definition, thickness_laminate_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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_context
|
|
SUBTYPE OF (application_context_element);
|
|
life_cycle_stage : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_context_association;
|
|
definition : product_definition;
|
|
frame_of_reference : product_definition_context;
|
|
role : product_definition_context_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_context_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_effectivity
|
|
SUBTYPE OF (effectivity);
|
|
usage : product_definition_relationship;
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY')) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_element_relationship
|
|
SUBTYPE OF (group);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_formation;
|
|
id : identifier;
|
|
description : OPTIONAL text;
|
|
of_product : product;
|
|
UNIQUE
|
|
UR1 : id, of_product;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY product_definition_formation_with_specified_source
|
|
SUBTYPE OF (product_definition_formation);
|
|
make_or_buy : source;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_group_assignment
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:1] OF product_definition_or_product_definition_relationship;
|
|
SELF\group_assignment.assigned_group : product_definition_element_relationship;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY product_definition_relationship;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_product_definition : product_definition;
|
|
related_product_definition : product_definition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_shape
|
|
SUBTYPE OF (property_definition);
|
|
UNIQUE
|
|
UR1: SELF\property_definition.definition;
|
|
WHERE
|
|
WR1 : SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CHARACTERIZED_OBJECT'] * TYPEOF(SELF\property_definition.definition)) > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
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],
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_USAGE');
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_definition_with_associated_documents
|
|
SUBTYPE OF (product_definition);
|
|
documentation_ids : SET [1:?] OF document;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_identification
|
|
SUBTYPE OF (configuration_item, characterized_object);
|
|
SELF\configuration_item.item_concept : product_class;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY
|
|
( cd <* USEDIN ( SELF ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONFIGURATION_DESIGN.CONFIGURATION' )
|
|
|
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF ( cd. design ) )
|
|
AND
|
|
( SIZEOF ( QUERY
|
|
(
|
|
prpc <* USEDIN ( cd. design\product_definition_formation.of_product , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS')
|
|
|
|
|
prpc. name IN ['part' , 'raw material' , 'tool'] ) ) >0
|
|
)
|
|
)
|
|
) <=1;
|
|
WR2 : NOT ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'CONFIGURABLE_ITEM' IN TYPEOF( SELF ) )
|
|
XOR ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_SPECIFICATION' IN TYPEOF ( SELF ) );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_material_composition_relationship
|
|
SUBTYPE OF (product_definition_relationship);
|
|
class : label;
|
|
constituent_amount : SET [1:?] OF characterized_product_composition_value;
|
|
composition_basis : label;
|
|
determination_method : text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_related_product_category
|
|
SUBTYPE OF (product_category);
|
|
products : SET [1:?] OF product;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY product_specification
|
|
SUBTYPE OF (product_identification, configurable_item);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY projection_curve
|
|
SUBTYPE OF (annotation_curve_occurrence);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY projection_directed_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(p_1<*SELF\draughting_callout.contents |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(p_1))))=1;
|
|
WR2 : SIZEOF(SELF\draughting_callout.contents) >=2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY promissory_usage_occurrence
|
|
SUBTYPE OF (assembly_component_usage);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY property_definition;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
definition : characterized_definition;
|
|
DERIVE
|
|
id : identifier := get_id_value(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY property_definition_relationship;
|
|
name : label;
|
|
description : text;
|
|
relating_property_definition : property_definition;
|
|
related_property_definition : property_definition;
|
|
END_ENTITY;
|
|
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
|
|
WR2 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY qualified_representation_item
|
|
SUBTYPE OF (representation_item);
|
|
qualifiers : SET [1:?] OF value_qualifier;
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(temp <* qualifiers |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRECISION_QUALIFIER'
|
|
IN TYPEOF(temp))) < 2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY qualitative_uncertainty
|
|
SUBTYPE OF (uncertainty_qualifier);
|
|
uncertainty_value : text;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY quasi_uniform_curve
|
|
SUBTYPE OF (b_spline_curve);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY quasi_uniform_surface
|
|
SUBTYPE OF (b_spline_surface);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY radioactivity_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RADIOACTIVITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY radioactivity_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.becquerel);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY radius_dimension
|
|
SUBTYPE OF (dimension_curve_directed_callout);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (con <* SELF.contents |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_CURVE' IN TYPEOF (con)))<=1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY range_characteristic
|
|
SUBTYPE OF (representation, descriptive_representation_item);
|
|
WHERE
|
|
WR1 : NOT(SELF\representation.name IN ['tolerance', 'minimum tolerance', 'maximum tolerance',
|
|
'nominal tolerance', 'plus minus tolerance', 'symmetrical tolerance', 'statistical tolerance']);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ratio_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RATIO_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY rational_representation_item
|
|
SUBTYPE OF (representation_item, slash_expression);
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( operand <* SELF\binary_generic_expression.operands |
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_LITERAL' IN TYPEOF(operand)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY real_literal
|
|
SUBTYPE OF (literal_number);
|
|
SELF\literal_number.the_value : REAL;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY real_representation_item
|
|
SUBTYPE OF (representation_item, real_literal);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(basis_surface))
|
|
AND (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(basis_surface)))) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(basis_surface))
|
|
OR (usense = (u2 > u1));
|
|
WR4 : (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF(basis_surface))
|
|
OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOROIDAL_SURFACE' IN TYPEOF(basis_surface)))
|
|
OR (vsense = (v2 > v1));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY referenced_modified_datum
|
|
SUBTYPE OF (datum_reference);
|
|
modifier : limit_condition;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY relative_event_occurrence
|
|
SUBTYPE OF (event_occurrence);
|
|
base_event : event_occurrence;
|
|
offset : time_measure_with_unit;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rep_item_group
|
|
SUBTYPE OF (group, representation_item);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + 'ASSIGNED_ITEMS')) > 0;
|
|
WR2 : SIZEOF(QUERY(r <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS') | r.name = 'group representation')) > 0;
|
|
WR3 : SIZEOF(QUERY(ga <* USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GROUP_ASSIGNMENT.' + 'ASSIGNED_GROUP') | ga.role.name <> 'group membership')) = 0;
|
|
WR4 : SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'MAPPED_ITEM','AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF(SELF)) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY reparametrised_composite_curve_segment
|
|
SUBTYPE OF (composite_curve_segment);
|
|
param_length : parameter_value;
|
|
WHERE
|
|
WR1 : param_length > 0.0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY representation;
|
|
name : label;
|
|
items : SET [1:?] OF representation_item;
|
|
context_of_items : representation_context;
|
|
DERIVE
|
|
description : text := get_description_value (SELF);
|
|
id : identifier := get_id_value (SELF);
|
|
WHERE
|
|
WR1 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'ID_ATTRIBUTE.IDENTIFIED_ITEM'))
|
|
<= 1;
|
|
WR2 : SIZEOF (USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM'))
|
|
<= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY representation_context;
|
|
context_identifier : identifier;
|
|
context_type : text;
|
|
INVERSE
|
|
representations_in_context: SET [1:?] OF representation FOR context_of_items;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY representation_item
|
|
SUPERTYPE OF (ONEOF (binary_representation_item, compound_representation_item, mapped_item, value_representation_item, mapped_item, styled_item, boolean_representation_item, date_representation_item, date_time_representation_item, integer_representation_item, logical_representation_item, rational_representation_item, real_representation_item));
|
|
name : label;
|
|
WHERE
|
|
WR1 : SIZEOF(using_representations(SELF)) > 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY representation_item_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_representation_item : representation_item;
|
|
related_representation_item : representation_item;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY representation_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
rep_1 : representation;
|
|
rep_2 : representation;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY requirement_assigned_object
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:1] OF requirement_assigned_item;
|
|
SELF\group_assignment.assigned_group : requirement_assignment;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY requirement_assignment
|
|
SUBTYPE OF (characterized_object, group);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY requirement_source
|
|
SUBTYPE OF (group);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY requirement_view_definition_relationship
|
|
SUBTYPE OF (product_definition_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY resistance_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY resistance_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.ohm);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY revolved_face_solid_with_trim_conditions
|
|
SUBTYPE OF (revolved_face_solid);
|
|
first_trim_condition : trim_condition_select;
|
|
second_trim_condition : trim_condition_select;
|
|
WHERE
|
|
WR1 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
|
|
IN TYPEOF(first_trim_condition))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE'
|
|
IN TYPEOF(second_trim_condition)));
|
|
WR2 : NOT((('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
|
|
IN TYPEOF(first_trim_condition)) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE_ANGLE_MEASURE'
|
|
IN TYPEOF(second_trim_condition))) AND
|
|
(first_trim_condition = second_trim_condition));
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY right_circular_cylinder
|
|
SUBTYPE OF (geometric_representation_item);
|
|
position : axis1_placement;
|
|
height : positive_length_measure;
|
|
radius : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY right_to_usage_association
|
|
SUBTYPE OF (action_method_relationship);
|
|
SELF\action_method_relationship.related_method : information_right;
|
|
SELF\action_method_relationship.relating_method : information_usage_right;
|
|
DERIVE
|
|
right_applied : information_right := SELF\action_method_relationship.related_method;
|
|
right_usage : information_usage_right := SELF\action_method_relationship.relating_method;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY role_association;
|
|
role : object_role;
|
|
item_with_role : role_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY roundness_tolerance
|
|
SUBTYPE OF (geometric_tolerance);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY row_representation_item
|
|
SUBTYPE OF (compound_representation_item);
|
|
SELF\compound_representation_item.item_element : list_representation_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY row_value
|
|
SUBTYPE OF (compound_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY row_variable
|
|
SUBTYPE OF (abstract_variable);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rule_action
|
|
SUBTYPE OF (action);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rule_condition
|
|
SUBTYPE OF (atomic_formula);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rule_definition
|
|
SUBTYPE OF (rule_software_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rule_set
|
|
SUBTYPE OF (rule_software_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rule_set_group
|
|
SUBTYPE OF (rule_software_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rule_software_definition
|
|
SUBTYPE OF (product_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rule_superseded_assignment
|
|
SUBTYPE OF (action_assignment);
|
|
items : SET [1:?] OF rule_superseded_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY rule_supersedence
|
|
SUBTYPE OF (rule_action);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY ruled_surface_swept_area_solid
|
|
SUBTYPE OF (surface_curve_swept_area_solid);
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(SELF.reference_surface)) AND
|
|
(SELF.reference_surface\b_spline_surface.u_degree = 1);
|
|
WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(SELF.directrix)) OR
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
ENTITY runout_zone_definition
|
|
SUBTYPE OF (tolerance_zone_definition);
|
|
orientation : runout_zone_orientation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY runout_zone_orientation;
|
|
angle : measure_with_unit;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY runout_zone_orientation_reference_direction
|
|
SUBTYPE OF (runout_zone_orientation);
|
|
orientation_defining_relationship : shape_aspect_relationship;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY satisfied_requirement
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:1] OF product_definition;
|
|
SELF\group_assignment.assigned_group : satisfies_requirement;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY satisfies_requirement
|
|
SUBTYPE OF (group);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY satisfying_item
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:1] OF requirement_satisfaction_item;
|
|
SELF\group_assignment.assigned_group : satisfies_requirement;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY scalar_variable
|
|
SUBTYPE OF (abstract_variable);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY scattering_parameter
|
|
SUBTYPE OF (polar_complex_number_literal);
|
|
WHERE
|
|
WR1 : SIZEOF(TYPEOF(SELF) - (TYPEOF(SELF\polar_complex_number_literal ||
|
|
SELF\scattering_parameter))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY sculptured_solid
|
|
SUBTYPE OF (modified_solid);
|
|
sculpturing_element : generalized_surface_select;
|
|
positive_side : BOOLEAN;
|
|
END_ENTITY;
|
|
|
|
|
|
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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
|
|
TYPEOF(SELF\surface_curve.associated_geometry[1]);
|
|
WR4 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
|
|
TYPEOF(SELF\surface_curve.associated_geometry[2]);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY security_classification;
|
|
name : label;
|
|
purpose : text;
|
|
security_level : security_classification_level;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY security_classification_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_security_classification : security_classification;
|
|
DERIVE
|
|
role : object_role := get_role(SELF);
|
|
WHERE
|
|
WR1 : SIZEOF(USEDIN(SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY security_classification_level;
|
|
name : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY serial_numbered_effectivity
|
|
SUBTYPE OF (effectivity);
|
|
effectivity_start_id : identifier;
|
|
effectivity_end_id : OPTIONAL identifier;
|
|
END_ENTITY;
|
|
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
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);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY shape_aspect_deriving_relationship
|
|
SUBTYPE OF (shape_aspect_relationship);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DERIVED_SHAPE_ASPECT' IN
|
|
TYPEOF
|
|
(SELF\SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT);
|
|
END_ENTITY;
|
|
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY shape_definition_representation
|
|
SUBTYPE OF (property_definition_representation);
|
|
WHERE
|
|
WR1 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(SELF.definition)) OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DEFINITION' IN TYPEOF(SELF.definition.definition));
|
|
WR2 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF(SELF.used_representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY shape_dimension_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (temp <* SELF\representation.items |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
|
|
ENTITY shape_feature_definition
|
|
SUBTYPE OF (characterized_object);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY shape_representation
|
|
SUBTYPE OF (representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY shape_representation_relationship
|
|
SUBTYPE OF (representation_relationship);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION' IN (TYPEOF(SELF\representation_relationship.rep_1) + TYPEOF(SELF\representation_relationship.rep_2));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY shape_representation_with_parameters
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( i <* SELF.items | SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLACEMENT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM'] * TYPEOF(i)) = 1 )) = SIZEOF(SELF.items);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY shell_based_wireframe_model
|
|
SUBTYPE OF (geometric_representation_item);
|
|
sbwm_boundary : SET [1:?] OF shell;
|
|
WHERE
|
|
WR1 : constraints_geometry_shell_based_wireframe_model(SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY shell_based_wireframe_shape_representation
|
|
SUBTYPE OF (shape_representation);
|
|
WHERE
|
|
WR1 : SIZEOF (
|
|
QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
|
|
WR2 : SIZEOF (
|
|
QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1;
|
|
WR3 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( ws <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
|
|
QUERY ( eloop <*
|
|
QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
|
|
QUERY ( el <* eloop\path.edge_list| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_CURVE' IN TYPEOF (el.edge_element)) )) = 0) )) = 0) )) = 0) )) = 0;
|
|
WR4 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( ws <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
|
|
QUERY ( eloop <*
|
|
QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
|
|
QUERY ( pline_el <*
|
|
QUERY ( el <* eloop\path.edge_list| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF (el.edge_element\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_el.edge_element\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0) )) = 0;
|
|
WR5 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( ws <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
|
|
QUERY ( eloop <*
|
|
QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
|
|
QUERY ( el <* eloop\path.edge_list| NOT valid_wireframe_edge_curve(el.edge_element\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0) )) = 0;
|
|
WR6 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( ws <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
|
|
QUERY ( eloop <*
|
|
QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
|
|
QUERY ( el <* eloop\path.edge_list| NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_start)) AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_end))) )) = 0) )) = 0) )) = 0) )) = 0;
|
|
WR7 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( ws <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
|
|
QUERY ( eloop <*
|
|
QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF (
|
|
QUERY ( el <* eloop\path.edge_list| NOT (valid_wireframe_vertex_point(el.edge_element.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(el.edge_element.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0) )) = 0;
|
|
WR8 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( ws <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
|
|
QUERY ( vloop <*
|
|
QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vloop\vertex_loop.loop_vertex)) )) = 0) )) = 0) )) = 0;
|
|
WR9 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( ws <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF (
|
|
QUERY ( vloop <*
|
|
QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT valid_wireframe_vertex_point(vloop\vertex_loop.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0) )) = 0;
|
|
WR10 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( vs <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_POINT' IN TYPEOF (vs\vertex_shell.vertex_shell_extent.loop_vertex)) )) = 0) )) = 0;
|
|
WR11 : SIZEOF (
|
|
QUERY ( sbwm <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF (
|
|
QUERY ( vs <*
|
|
QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT valid_wireframe_vertex_point(vs\vertex_shell.vertex_shell_extent.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0;
|
|
WR12 : SIZEOF (
|
|
QUERY ( mi <*
|
|
QUERY ( it <* SELF.items| ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
|
|
WR13 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY shelled_solid
|
|
SUPERTYPE OF (ONEOF (double_offset_shelled_solid, complex_shelled_solid))
|
|
SUBTYPE OF (modified_solid);
|
|
deleted_face_set : SET [1:?] OF face_surface;
|
|
thickness : length_measure;
|
|
WHERE
|
|
WR1 : thickness <> 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_absorbed_dose_unit
|
|
SUBTYPE OF (absorbed_dose_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.gray;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_capacitance_unit
|
|
SUBTYPE OF (capacitance_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.farad;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_conductance_unit
|
|
SUBTYPE OF (conductance_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.siemens;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_dose_equivalent_unit
|
|
SUBTYPE OF (dose_equivalent_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.sievert;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_electric_charge_unit
|
|
SUBTYPE OF (electric_charge_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.coulomb;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_electric_potential_unit
|
|
SUBTYPE OF (electric_potential_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.volt;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_energy_unit
|
|
SUBTYPE OF (energy_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.joule;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_force_unit
|
|
SUBTYPE OF (force_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.newton;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_frequency_unit
|
|
SUBTYPE OF (frequency_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.hertz;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_illuminance_unit
|
|
SUBTYPE OF (illuminance_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.lux;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_inductance_unit
|
|
SUBTYPE OF (inductance_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.henry;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_magnetic_flux_density_unit
|
|
SUBTYPE OF (magnetic_flux_density_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.tesla;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_magnetic_flux_unit
|
|
SUBTYPE OF (magnetic_flux_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.weber;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_power_unit
|
|
SUBTYPE OF (power_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.watt;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_pressure_unit
|
|
SUBTYPE OF (pressure_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.pascal;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_radioactivity_unit
|
|
SUBTYPE OF (radioactivity_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.becquerel;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY si_resistance_unit
|
|
SUBTYPE OF (resistance_unit, si_unit);
|
|
WHERE
|
|
WR1 : SELF\si_unit.name = si_unit_name.ohm;
|
|
WR2 : NOT EXISTS(SELF\derived_unit.name);
|
|
END_ENTITY;
|
|
|
|
|
|
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(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MASS_UNIT' IN TYPEOF(SELF)) AND
|
|
(SIZEOF(USEDIN(SELF,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT')) > 0)) OR
|
|
(prefix = si_prefix.kilo);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY simple_boolean_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (boolean_expression, simple_generic_expression);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY simple_clause
|
|
SUBTYPE OF (compound_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY simple_generic_expression
|
|
ABSTRACT SUPERTYPE OF (ONEOF (generic_literal, generic_variable))
|
|
SUBTYPE OF (generic_expression);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY simple_numeric_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (numeric_expression, simple_generic_expression);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY slash_expression
|
|
SUBTYPE OF (binary_numeric_expression);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY smeared_material_definition
|
|
SUBTYPE OF (zone_structural_makeup);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_angle_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY solid_curve_font
|
|
SUBTYPE OF (pre_defined_curve_font);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY solid_with_angle_based_chamfer
|
|
SUBTYPE OF (solid_with_chamfered_edges);
|
|
offset_distance : positive_length_measure;
|
|
left_offset : BOOLEAN;
|
|
offset_angle : positive_plane_angle_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_chamfered_edges
|
|
ABSTRACT SUPERTYPE OF (ONEOF (solid_with_single_offset_chamfer, solid_with_double_offset_chamfer, solid_with_angle_based_chamfer))
|
|
SUBTYPE OF (edge_blended_solid);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_circular_pattern
|
|
SUPERTYPE OF (solid_with_incomplete_circular_pattern)
|
|
SUBTYPE OF (solid_with_shape_element_pattern);
|
|
replicate_count : positive_integer;
|
|
angular_spacing : plane_angle_measure;
|
|
radial_alignment : BOOLEAN;
|
|
reference_point : point;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_circular_pocket
|
|
SUBTYPE OF (solid_with_pocket);
|
|
pocket_radius : positive_length_measure;
|
|
WHERE
|
|
WR1 : SELF\solid_with_pocket.floor_blend_radius <= pocket_radius;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_circular_protrusion
|
|
SUBTYPE OF (solid_with_protrusion);
|
|
protrusion_radius : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_conical_bottom_round_hole
|
|
SUBTYPE OF (solid_with_stepped_round_hole);
|
|
semi_apex_angle : positive_plane_angle_measure;
|
|
tip_radius : non_negative_length_measure;
|
|
WHERE
|
|
WR1 : tip_radius <
|
|
SELF\solid_with_stepped_round_hole.segment_radii[segments];
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_constant_radius_edge_blend
|
|
SUBTYPE OF (edge_blended_solid);
|
|
radius : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_curved_slot
|
|
SUBTYPE OF (solid_with_slot);
|
|
slot_centreline : bounded_curve;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_depression
|
|
ABSTRACT SUPERTYPE OF ((solid_with_through_depression ANDOR ONEOF (solid_with_hole, solid_with_pocket, solid_with_slot, solid_with_groove)))
|
|
SUBTYPE OF (modified_solid_with_placed_configuration);
|
|
depth : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_double_offset_chamfer
|
|
SUBTYPE OF (solid_with_chamfered_edges);
|
|
left_offset_distance : positive_length_measure;
|
|
right_offset_distance : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_flat_bottom_round_hole
|
|
SUBTYPE OF (solid_with_stepped_round_hole);
|
|
fillet_radius : non_negative_length_measure;
|
|
WHERE
|
|
WR1 : fillet_radius <
|
|
SELF\solid_with_stepped_round_hole.segment_radii[segments];
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_general_pocket
|
|
SUBTYPE OF (solid_with_pocket);
|
|
profile : positioned_sketch;
|
|
reference_point : point;
|
|
WHERE
|
|
WR1 : SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1;
|
|
WR2 : profile IN using_items(reference_point,[]);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_general_protrusion
|
|
SUBTYPE OF (solid_with_protrusion);
|
|
profile : positioned_sketch;
|
|
reference_point : point;
|
|
WHERE
|
|
WR1 : SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1;
|
|
WR2 : profile IN using_items(reference_point,[]);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_groove
|
|
SUBTYPE OF (solid_with_depression);
|
|
groove_radius : positive_length_measure;
|
|
groove_width : positive_length_measure;
|
|
draft_angle : plane_angle_measure;
|
|
floor_fillet_radius : non_negative_length_measure;
|
|
external_groove : BOOLEAN;
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION'
|
|
IN TYPEOF(SELF));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_hole
|
|
ABSTRACT SUPERTYPE OF (solid_with_stepped_round_hole)
|
|
SUBTYPE OF (solid_with_depression);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_incomplete_circular_pattern
|
|
SUBTYPE OF (solid_with_circular_pattern);
|
|
omitted_instances : SET [1:?] OF positive_integer;
|
|
WHERE
|
|
WR1 : SIZEOF(omitted_instances) <
|
|
SELF\solid_with_circular_pattern.replicate_count;
|
|
WR2 : SIZEOF(QUERY(q <* omitted_instances | q >
|
|
SELF\solid_with_circular_pattern.replicate_count)) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_incomplete_rectangular_pattern
|
|
SUBTYPE OF (solid_with_rectangular_pattern);
|
|
omitted_instances : SET [1:?] OF LIST [2:2] OF positive_integer;
|
|
WHERE
|
|
WR1 : NOT([1,1] IN omitted_instances);
|
|
WR2 : SIZEOF(omitted_instances) <
|
|
((SELF\solid_with_rectangular_pattern.row_count *
|
|
SELF\solid_with_rectangular_pattern.column_count) - 1);
|
|
WR3 : SIZEOF(QUERY(q <* omitted_instances |
|
|
((q[1] > SELF\solid_with_rectangular_pattern.row_count) OR
|
|
(q[2] > SELF\solid_with_rectangular_pattern.column_count)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_pocket
|
|
ABSTRACT SUPERTYPE OF (ONEOF (solid_with_rectangular_pocket, solid_with_circular_pocket, solid_with_general_pocket))
|
|
SUBTYPE OF (solid_with_depression);
|
|
floor_blend_radius : non_negative_length_measure;
|
|
draft_angle : plane_angle_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_protrusion
|
|
ABSTRACT SUPERTYPE OF (ONEOF (solid_with_circular_protrusion, solid_with_rectangular_protrusion, solid_with_general_protrusion))
|
|
SUBTYPE OF (modified_solid_with_placed_configuration);
|
|
protrusion_height : positive_length_measure;
|
|
protrusion_draft_angle : plane_angle_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_rectangular_pattern
|
|
SUPERTYPE OF (solid_with_incomplete_rectangular_pattern)
|
|
SUBTYPE OF (solid_with_shape_element_pattern);
|
|
row_count : positive_integer;
|
|
column_count : positive_integer;
|
|
row_spacing : length_measure;
|
|
column_spacing : length_measure;
|
|
WHERE
|
|
WR1 : (row_count * column_count) > 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_rectangular_pocket
|
|
SUBTYPE OF (solid_with_pocket);
|
|
pocket_length : positive_length_measure;
|
|
pocket_width : positive_length_measure;
|
|
corner_radius : non_negative_length_measure;
|
|
WHERE
|
|
WR1 : (corner_radius < pocket_width/2)
|
|
AND (corner_radius < pocket_length/2);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_rectangular_protrusion
|
|
SUBTYPE OF (solid_with_protrusion);
|
|
protrusion_length : positive_length_measure;
|
|
protrusion_width : positive_length_measure;
|
|
protrusion_corner_radius : non_negative_length_measure;
|
|
WHERE
|
|
WR1 : (protrusion_corner_radius <= protrusion_width/2)
|
|
AND (protrusion_corner_radius <= protrusion_length/2);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_shape_element_pattern
|
|
ABSTRACT SUPERTYPE OF (ONEOF (solid_with_circular_pattern, solid_with_rectangular_pattern))
|
|
SUBTYPE OF (modified_solid_with_placed_configuration);
|
|
replicated_element : modified_solid_with_placed_configuration;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_single_offset_chamfer
|
|
SUBTYPE OF (solid_with_chamfered_edges);
|
|
offset_distance : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_slot
|
|
ABSTRACT SUPERTYPE OF ((ONEOF (solid_with_trapezoidal_section_slot, solid_with_tee_section_slot) AND ONEOF (solid_with_straight_slot, solid_with_curved_slot)))
|
|
SUBTYPE OF (solid_with_depression);
|
|
slot_width : positive_length_measure;
|
|
closed_ends : LIST [2:2] OF LOGICAL;
|
|
end_exit_faces : LIST [2:2] OF SET [0:?] OF face_surface;
|
|
WHERE
|
|
WR1 : NOT(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN
|
|
TYPEOF(SELF)) AND (closed_ends = [FALSE,FALSE]));
|
|
WR2 : NOT(((closed_ends[1] = TRUE) AND (SIZEOF(end_exit_faces[1]) <> 0))
|
|
OR ((closed_ends[2] = TRUE) AND (SIZEOF(end_exit_faces[2]) <> 0)));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_spherical_bottom_round_hole
|
|
SUBTYPE OF (solid_with_stepped_round_hole);
|
|
sphere_radius : positive_length_measure;
|
|
WHERE
|
|
WR1 : sphere_radius >=
|
|
SELF\solid_with_stepped_round_hole.segment_radii[segments];
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_stepped_round_hole
|
|
SUPERTYPE OF ((solid_with_stepped_round_hole_and_conical_transitions ANDOR ONEOF (solid_with_flat_bottom_round_hole, solid_with_conical_bottom_round_hole, solid_with_spherical_bottom_round_hole)))
|
|
SUBTYPE OF (solid_with_hole);
|
|
segments : positive_integer;
|
|
segment_radii : LIST [1:segments] OF positive_length_measure;
|
|
segment_depths : LIST [1:segments] OF positive_length_measure;
|
|
DERIVE
|
|
SELF\solid_with_depression.depth : positive_length_measure := compute_total_depth(SELF);
|
|
WHERE
|
|
WR1 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION'
|
|
IN TYPEOF(SELF)) AND (SIZEOF(TYPEOF(SELF) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE'])
|
|
<> 0));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_stepped_round_hole_and_conical_transitions
|
|
SUBTYPE OF (solid_with_stepped_round_hole);
|
|
conical_transitions : SET [1:?] OF conical_stepped_hole_transition;
|
|
WHERE
|
|
WR1 : SIZEOF (conical_transitions) <=
|
|
(SELF\solid_with_stepped_round_hole.segments + 1);
|
|
WR2 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION'
|
|
IN TYPEOF(SELF)) XOR (SIZEOF(conical_transitions) <=
|
|
SELF\solid_with_stepped_round_hole.segments);
|
|
WR3 : validate_countersink_radii(SELF);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_straight_slot
|
|
SUBTYPE OF (solid_with_slot);
|
|
slot_length : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_tee_section_slot
|
|
SUBTYPE OF (solid_with_slot);
|
|
tee_section_width : positive_length_measure;
|
|
collar_depth : positive_length_measure;
|
|
WHERE
|
|
WR1 : collar_depth < SELF\solid_with_depression.depth;
|
|
WR2 : tee_section_width > SELF\solid_with_slot.slot_width;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_through_depression
|
|
SUBTYPE OF (solid_with_depression);
|
|
exit_faces : SET [1:?] OF face_surface;
|
|
WHERE
|
|
WR1 : SIZEOF(TYPEOF(SELF) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_HOLE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_POCKET',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_SLOT']) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_trapezoidal_section_slot
|
|
SUBTYPE OF (solid_with_slot);
|
|
draft_angle : plane_angle_measure;
|
|
floor_fillet_radius : non_negative_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY solid_with_variable_radius_edge_blend
|
|
SUBTYPE OF (edge_blended_solid, track_blended_solid);
|
|
point_list : LIST [2:?] OF point;
|
|
radius_list : LIST [2:?] OF positive_length_measure;
|
|
edge_function_list : LIST [1:?] OF blend_radius_variation_type;
|
|
WHERE
|
|
WR1 : SIZEOF(point_list) = SIZEOF(radius_list);
|
|
WR2 : SIZEOF(edge_function_list) = SIZEOF(radius_list) - 1;
|
|
WR3 : NOT((point_list[1] = point_list[HIINDEX(point_list)]) AND NOT
|
|
(radius_list[1] = radius_list[HIINDEX(radius_list)]));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY source_for_requirement
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:1] OF requirement_source_item;
|
|
SELF\group_assignment.assigned_group : requirement_source;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY sourced_requirement
|
|
SUBTYPE OF (group_assignment);
|
|
items : SET [1:1] OF product_definition;
|
|
SELF\group_assignment.assigned_group : requirement_source;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY specification_definition
|
|
SUBTYPE OF (product_definition);
|
|
END_ENTITY;
|
|
|
|
|
|
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,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' +
|
|
'RELATED_PRODUCT_DEFINITION') |
|
|
pdr.relating_product_definition :=:
|
|
next_usage.relating_product_definition)) = 1);
|
|
WR5 : SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SPECIFIED_HIGHER_USAGE_OCCURRENCE']
|
|
* TYPEOF(upper_usage)) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY sphere
|
|
SUBTYPE OF (geometric_representation_item);
|
|
radius : positive_length_measure;
|
|
centre : point;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY spherical_surface
|
|
SUBTYPE OF (elementary_surface);
|
|
radius : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY standard_uncertainty
|
|
SUPERTYPE OF (expanded_uncertainty)
|
|
SUBTYPE OF (uncertainty_qualifier);
|
|
uncertainty_value : REAL;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY start_request
|
|
SUBTYPE OF (action_request_assignment);
|
|
items : SET [1:?] OF start_request_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY start_work
|
|
SUBTYPE OF (action_assignment);
|
|
items : SET [1:?] OF work_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY straightness_tolerance
|
|
SUBTYPE OF (geometric_tolerance);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY structured_dimension_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
WHERE
|
|
WR1 : SIZEOF (TYPEOF (SELF) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_FEATURE_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DATUM_TARGET_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LEADER_DIRECTED_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROJECTION_DIRECTED_CALLOUT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0;
|
|
WR2 : SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF (con))) |
|
|
(ato.name = 'dimension value')
|
|
)) >= 1;
|
|
WR4 : SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
|
|
'RELATING_DRAUGHTING_CALLOUT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
|
|
(dcr.name = 'prefix') )) <= 1;
|
|
WR5 : SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
|
|
'RELATING_DRAUGHTING_CALLOUT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
|
|
(dcr.name = 'suffix') )) <= 1;
|
|
WR6 : NOT((SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF(con)) ) |
|
|
(ato.name = 'prefix text')
|
|
)) > 0)) OR
|
|
(SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
|
|
'RELATING_DRAUGHTING_CALLOUT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
|
|
(dcr.name = 'prefix') )) = 1);
|
|
WR7 : NOT(SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_OCCURRENCE'
|
|
IN TYPEOF(con))) |
|
|
(ato.name = 'suffix text')
|
|
)) > 0) OR
|
|
(SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
|
|
'RELATING_DRAUGHTING_CALLOUT') |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
|
|
(dcr.name = 'suffix') )) = 1);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY structured_text_composition
|
|
SUBTYPE OF (compound_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY structured_text_representation
|
|
SUBTYPE OF (representation);
|
|
SELF\representation.items : SET [1:?] OF string_representation_item_select;
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRESENTATION_STYLE_BY_CONTEXT' IN
|
|
TYPEOF(pres_style))
|
|
)) = 0);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY subedge
|
|
SUBTYPE OF (edge);
|
|
parent_edge : edge;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY supplied_part_relationship
|
|
SUBTYPE OF (product_definition_relationship);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface
|
|
SUPERTYPE OF (ONEOF (elementary_surface, swept_surface, bounded_surface, offset_surface, surface_replica))
|
|
SUBTYPE OF (geometric_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_condition_callout
|
|
SUBTYPE OF (draughting_callout);
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( c <* SELF.contents | SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'ANNOTATION_CURVE_OCCURRENCE' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'ANNOTATION_SYMBOL_OCCURRENCE' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'ANNOTATION_TEXT_OCCURRENCE']* TYPEOF
|
|
( c ) ) <>1 ) ) =0;
|
|
END_ENTITY;
|
|
|
|
|
|
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 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[1])) OR
|
|
(master_representation <> pcurve_s1);
|
|
WR3 : ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[2])) OR
|
|
(master_representation <> pcurve_s2);
|
|
WR4 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(curve_3d));
|
|
END_ENTITY;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN TYPEOF(directrix))) OR
|
|
(reference_surface IN (directrix\surface_curve.basis_surface));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_of_linear_extrusion
|
|
SUBTYPE OF (swept_surface);
|
|
extrusion_axis : vector;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE'
|
|
IN TYPEOF(parent_surface)));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_profile_tolerance
|
|
SUBTYPE OF (geometric_tolerance);
|
|
WHERE
|
|
WR1 : NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)) OR ( SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_rendering_properties;
|
|
rendered_colour : colour;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_replica
|
|
SUBTYPE OF (surface);
|
|
parent_surface : surface;
|
|
transformation : cartesian_transformation_operator_3d;
|
|
WHERE
|
|
WR1 : acyclic_surface_replica(SELF, parent_surface);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY surface_style_boundary
|
|
SUBTYPE OF (founded_item);
|
|
style_of_boundary : curve_or_render;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_style_control_grid
|
|
SUBTYPE OF (founded_item);
|
|
style_of_control_grid : curve_or_render;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_style_fill_area
|
|
SUBTYPE OF (founded_item);
|
|
fill_area : fill_area_style;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY surface_style_reflectance_ambient;
|
|
ambient_reflectance : REAL;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_style_reflectance_ambient_diffuse
|
|
SUBTYPE OF (surface_style_reflectance_ambient);
|
|
diffuse_reflectance : REAL;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY surface_style_rendering;
|
|
rendering_method : shading_surface_method;
|
|
surface_colour : colour;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY surface_style_segmentation_curve
|
|
SUBTYPE OF (founded_item);
|
|
style_of_segmentation_curve : curve_or_render;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_style_silhouette
|
|
SUBTYPE OF (founded_item);
|
|
style_of_silhouette : curve_or_render;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_style_transparent;
|
|
transparency : REAL;
|
|
WHERE
|
|
WR1 : {0.0 <= transparency <= 1.0};
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_style_usage
|
|
SUBTYPE OF (founded_item);
|
|
side : surface_side;
|
|
style : surface_side_style_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surface_texture_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( i <* SELF.items | SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE' , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) <>1 ) )
|
|
=0;
|
|
WR2 : ( SIZEOF ( QUERY ( i <* SELF.items | 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) ) =1 )
|
|
AND ( SIZEOF ( QUERY ( i <* SELF.items | (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN
|
|
TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 );
|
|
WR3 : SIZEOF ( QUERY ( i <* SELF.items | SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) )
|
|
>0;
|
|
WR4 : ( SIZEOF ( USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
|
|
'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
|
|
'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF
|
|
, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
|
|
'REP_1' ) | rr. rep_2.name = 'measuring direction' ) ) =
|
|
SIZEOF ( USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+
|
|
'REP_1' ) ) );
|
|
WR5 : ( SIZEOF ( USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
|
|
<* USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
|
|
pdr. definition ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
|
|
'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
|
|
( gpa. base_definition.name ='surface_condition' ) ) ) =1 )
|
|
) =1 );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY surfaced_open_shell
|
|
SUBTYPE OF (open_shell);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(q <* SELF\connected_face_set.cfs_faces |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_SURFACE' IN TYPEOF(q)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
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 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(swept_area.basis_surface);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY swept_face_solid
|
|
SUPERTYPE OF (ONEOF (extruded_face_solid, revolved_face_solid))
|
|
SUBTYPE OF (solid_model);
|
|
swept_face : face_surface;
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLANE' IN TYPEOF(swept_face.face_geometry);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY swept_surface
|
|
SUPERTYPE OF (ONEOF (surface_of_linear_extrusion, surface_of_revolution))
|
|
SUBTYPE OF (surface);
|
|
swept_curve : curve;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY symbol
|
|
SUBTYPE OF (representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY symbol_colour;
|
|
colour_of_symbol : colour;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY symbol_representation
|
|
SUBTYPE OF (representation);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY symbol_representation_map
|
|
SUBTYPE OF (representation_map);
|
|
SELF\representation_map.mapped_representation : symbol_representation;
|
|
SELF\representation_map.mapping_origin : axis2_placement;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY symbol_style
|
|
SUBTYPE OF (founded_item);
|
|
name : label;
|
|
style_of_symbol : symbol_style_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY symbol_target
|
|
SUBTYPE OF (geometric_representation_item);
|
|
placement : axis2_placement;
|
|
x_scale : positive_ratio_measure;
|
|
y_scale : positive_ratio_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
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 |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CENTRE_OF_SYMMETRY' IN TYPEOF
|
|
(x\shape_aspect_relationship.related_shape_aspect)))>=1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY symmetry_tolerance
|
|
SUBTYPE OF (geometric_tolerance_with_datum_reference);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 3;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY table_representation_item
|
|
SUBTYPE OF (compound_representation_item);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(itet <* SELF\compound_representation_item.item_element |
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ROW_REPRESENTATION_ITEM' IN TYPEOF(itet))
|
|
)) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY tactile_appearance_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( i <* SELF.items | SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0;
|
|
WR2 : SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1;
|
|
WR3 : ( SIZEOF ( USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
|
|
<* USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
|
|
pdr. definition ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
|
|
'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
|
|
( gpa. base_definition.name ='surface_condition' ) ) ) =1 )) =1 );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY tagged_text_format
|
|
SUBTYPE OF (representation_context);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY tagged_text_item
|
|
SUBTYPE OF (descriptive_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY tangent
|
|
SUBTYPE OF (derived_shape_aspect);
|
|
WHERE
|
|
WR1 : SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY terminator_symbol
|
|
SUBTYPE OF (annotation_symbol_occurrence);
|
|
annotated_curve : annotation_curve_occurrence;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_font;
|
|
id : identifier;
|
|
name : label;
|
|
description : text;
|
|
INVERSE
|
|
glyphs: SET [1:?] OF character_glyph_font_usage FOR font;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_font_family;
|
|
id : identifier;
|
|
name : label;
|
|
description : text;
|
|
INVERSE
|
|
fonts: SET [1:?] OF text_font_in_family FOR family;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_font_in_family;
|
|
font : text_font;
|
|
family : text_font_family;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY text_literal_with_associated_curves
|
|
SUBTYPE OF (text_literal);
|
|
associated_curves : SET [1:?] OF curve;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_literal_with_blanking_box
|
|
SUBTYPE OF (text_literal);
|
|
blanking : planar_box;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_literal_with_delineation
|
|
SUBTYPE OF (text_literal);
|
|
delineation : text_delineation;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_literal_with_extent
|
|
SUBTYPE OF (text_literal);
|
|
extent : planar_extent;
|
|
END_ENTITY;
|
|
|
|
|
|
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 (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT_CHARACTER',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DEFINED_CHARACTER_GLYPH',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_TEXT'] *
|
|
TYPEOF (item)) = 0)
|
|
)) >= 1;
|
|
WR2 : SIZEOF (
|
|
QUERY (a2p <*
|
|
QUERY (item <* SELF\representation.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF (item)) |
|
|
NOT ((SIZEOF (
|
|
QUERY (at <*
|
|
QUERY (item <* SELF\representation.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'ANNOTATION_TEXT' IN TYPEOF (item)) |
|
|
(at\mapped_item.mapping_target :=: a2p))) >= 1) OR
|
|
(SIZEOF (
|
|
QUERY (atc <*
|
|
QUERY (item <* SELF\representation.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'ANNOTATION_TEXT_CHARACTER' IN TYPEOF (item)) |
|
|
(atc\mapped_item.mapping_target :=: a2p))) >= 1)
|
|
))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_style
|
|
SUBTYPE OF (founded_item);
|
|
name : label;
|
|
character_appearance : character_style_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_style_for_defined_font;
|
|
text_colour : colour;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY text_style_with_mirror
|
|
SUBTYPE OF (text_style);
|
|
mirror_placement : axis2_placement;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY text_style_with_spacing
|
|
SUBTYPE OF (text_style);
|
|
character_spacing : character_spacing_select;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY thermal_resistance_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.THERMAL_RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY thermal_resistance_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) =
|
|
dimensional_exponents ( -1.0, -1.0, -3.0, 0.0, 1.0, 0.0, 0.0 );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY thermodynamic_temperature_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY thickened_face_solid
|
|
SUBTYPE OF (solid_model);
|
|
base_element : generalized_surface_select;
|
|
offset1 : length_measure;
|
|
offset2 : length_measure;
|
|
WHERE
|
|
WR1 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE' IN TYPEOF(base_element)) AND
|
|
(NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(base_element))));
|
|
WR2 : offset1 <> offset2;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY thickness_laminate_definition
|
|
SUBTYPE OF (product_definition);
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (pdr <* USEDIN (SELF,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_RELATIONSHIP.' +
|
|
'RELATING_PRODUCT_DEFINITION') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN
|
|
TYPEOF (pdr))) = 1;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY thickness_laminate_table
|
|
SUBTYPE OF (zone_structural_makeup);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY time_interval;
|
|
id : identifier;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY time_interval_assignment
|
|
ABSTRACT SUPERTYPE;
|
|
assigned_time_interval : time_interval;
|
|
role : time_interval_role;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY time_interval_based_effectivity
|
|
SUBTYPE OF (effectivity);
|
|
effectivity_period : time_interval;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY time_interval_relationship;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
relating_time_interval : time_interval;
|
|
related_time_interval : time_interval;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY time_interval_role;
|
|
name : label;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY time_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TIME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY tolerance_value;
|
|
lower_bound : measure_with_unit;
|
|
upper_bound : measure_with_unit;
|
|
DERIVE
|
|
lbvc : REAL := lower_bound\measure_with_unit.value_component;
|
|
ubvc : REAL := upper_bound\measure_with_unit.value_component;
|
|
WHERE
|
|
WR1 : ubvc > lbvc;
|
|
WR2 : upper_bound\measure_with_unit.unit_component =
|
|
lower_bound\measure_with_unit.unit_component;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY tolerance_zone
|
|
SUBTYPE OF (shape_aspect);
|
|
defining_tolerance : SET [1:?] OF geometric_tolerance;
|
|
form : tolerance_zone_form;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY tolerance_zone_definition
|
|
SUPERTYPE OF (ONEOF (projected_zone_definition, runout_zone_definition));
|
|
zone : tolerance_zone;
|
|
boundaries : SET [1:?] OF shape_aspect;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY tolerance_zone_form;
|
|
name : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY topological_representation_item
|
|
SUPERTYPE OF (ONEOF (vertex, edge, face_bound, face, vertex_shell, wire_shell, connected_edge_set, connected_face_set, (loop ANDOR path)))
|
|
SUBTYPE OF (representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY toroidal_surface
|
|
SUBTYPE OF (elementary_surface);
|
|
major_radius : positive_length_measure;
|
|
minor_radius : positive_length_measure;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY track_blended_solid
|
|
ABSTRACT SUPERTYPE OF (track_blended_solid_with_end_conditions)
|
|
SUBTYPE OF (edge_blended_solid);
|
|
WHERE
|
|
WR1 : check_continuous_edges(SELF\edge_blended_solid.blended_edges);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY track_blended_solid_with_end_conditions
|
|
SUBTYPE OF (track_blended_solid);
|
|
end_conditions : LIST [2:2] OF blend_end_condition_select;
|
|
WHERE
|
|
WR1 : SIZEOF(TYPEOF(SELF) *
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_WITH_CHAMFERED_EDGES']) = 1;
|
|
WR2 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1]))
|
|
AND ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2])));
|
|
WR3 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1]))
|
|
AND (NOT ((end_conditions[1]
|
|
:=: SELF\edge_blended_solid.blended_edges[1].edge_start)
|
|
XOR (end_conditions[1]
|
|
:=: SELF\edge_blended_solid.blended_edges[1].edge_end))));
|
|
WR4 : NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2]))
|
|
AND (NOT ((end_conditions[2]
|
|
:=: SELF\edge_blended_solid.blended_edges[HIINDEX(
|
|
SELF\edge_blended_solid.blended_edges)].edge_start)
|
|
XOR (end_conditions[2]
|
|
:=: SELF\edge_blended_solid.blended_edges[HIINDEX(
|
|
SELF\edge_blended_solid.blended_edges)].edge_end))));
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY transformation_with_derived_angle
|
|
SUPERTYPE OF (ONEOF (draped_defined_transformation, laid_defined_transformation))
|
|
SUBTYPE OF (item_defined_transformation);
|
|
SELF\item_defined_transformation.transform_item_1 : angle_direction_reference_with_a2p3d_select;
|
|
SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d;
|
|
DERIVE
|
|
orientation_angle : plane_angle_measure := derive_angle (
|
|
SELF\item_defined_transformation.transform_item_1,
|
|
SELF\item_defined_transformation.transform_item_2);
|
|
WHERE
|
|
WR1 : (SELF\item_defined_transformation.transform_item_1\
|
|
axis2_placement_3d.p[3].direction_ratios[1] =
|
|
SELF\item_defined_transformation.transform_item_2\
|
|
axis2_placement_3d.p[3].direction_ratios[1])
|
|
AND
|
|
(SELF\item_defined_transformation.transform_item_1\
|
|
axis2_placement_3d.p[3].direction_ratios[2] =
|
|
SELF\item_defined_transformation.transform_item_2\
|
|
axis2_placement_3d.p[3].direction_ratios[2])
|
|
AND
|
|
(SELF\item_defined_transformation.transform_item_1\
|
|
axis2_placement_3d.p[3].direction_ratios[3] =
|
|
SELF\item_defined_transformation.transform_item_2\
|
|
axis2_placement_3d.p[3].direction_ratios[3]);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY two_direction_repeat_factor
|
|
SUBTYPE OF (one_direction_repeat_factor);
|
|
second_repeat_factor : vector;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY type_qualifier;
|
|
name : label;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY unary_generic_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (generic_expression);
|
|
operand : generic_expression;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY unary_numeric_expression
|
|
ABSTRACT SUPERTYPE
|
|
SUBTYPE OF (numeric_expression, unary_generic_expression);
|
|
SELF\unary_generic_expression.operand : numeric_expression;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY uncertainty_assigned_representation
|
|
SUBTYPE OF (representation);
|
|
uncertainty : SET [1:?] OF uncertainty_measure_with_unit;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY uncertainty_qualifier
|
|
SUPERTYPE OF (ONEOF (standard_uncertainty, qualitative_uncertainty));
|
|
measure_name : label;
|
|
description : text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY uniform_curve
|
|
SUBTYPE OF (b_spline_curve);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY uniform_resource_identifier
|
|
SUBTYPE OF (descriptive_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY uniform_surface
|
|
SUBTYPE OF (b_spline_surface);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY usage_association
|
|
SUBTYPE OF (action_method_relationship);
|
|
SELF\action_method_relationship.related_method : information_usage_right;
|
|
SELF\action_method_relationship.relating_method : information_usage_right;
|
|
DERIVE
|
|
related : information_usage_right := SELF\action_method_relationship.related_method;
|
|
relating : information_usage_right := SELF\action_method_relationship.relating_method;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY user_defined_curve_font
|
|
SUBTYPE OF (curve_style_font, mapped_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY user_defined_marker
|
|
SUBTYPE OF (mapped_item, pre_defined_marker);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY user_defined_terminator_symbol
|
|
SUBTYPE OF (mapped_item, pre_defined_symbol);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY user_selected_elements
|
|
SUBTYPE OF (representation_item);
|
|
picked_items : SET [1:?] OF representation_item;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY user_selected_shape_elements
|
|
SUBTYPE OF (user_selected_elements);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(q <*
|
|
SELF\user_selected_elements.picked_items | NOT
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_ITEM'
|
|
IN TYPEOF(q)))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY value_range
|
|
SUBTYPE OF (compound_representation_item);
|
|
WHERE
|
|
WR1 : ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ '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;
|
|
|
|
|
|
ENTITY value_representation_item
|
|
SUBTYPE OF (representation_item);
|
|
value_component : measure_value;
|
|
WHERE
|
|
WR1 : SIZEOF (QUERY (rep <* using_representations (SELF) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT'
|
|
IN TYPEOF (rep.context_of_items)
|
|
))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY variable_semantics
|
|
ABSTRACT SUPERTYPE;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY variational_representation_item
|
|
ABSTRACT SUPERTYPE OF (auxiliary_geometric_representation_item)
|
|
SUBTYPE OF (representation_item);
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(q <* using_representations(SELF) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VARIATIONAL_REPRESENTATION'
|
|
IN TYPEOF(q)))) = 0;
|
|
WR2 : SIZEOF(QUERY(q <* using_representations(SELF) |
|
|
NOT (SELF IN q.items))) = 0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY vector
|
|
SUBTYPE OF (geometric_representation_item);
|
|
orientation : direction;
|
|
magnitude : length_measure;
|
|
WHERE
|
|
WR1 : magnitude >= 0.0;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY vector_style
|
|
SUBTYPE OF (curve_style, pre_defined_terminator_symbol);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY velocity_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VELOCITY_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY velocity_unit
|
|
SUBTYPE OF (derived_unit);
|
|
WHERE
|
|
WR1 : derive_dimensional_exponents(SELF) =
|
|
dimensional_exponents ( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY versioned_action_request;
|
|
id : identifier;
|
|
version : label;
|
|
purpose : text;
|
|
description : OPTIONAL text;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY vertex
|
|
SUBTYPE OF (topological_representation_item);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY vertex_loop
|
|
SUBTYPE OF (loop);
|
|
loop_vertex : vertex;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY vertex_point
|
|
SUBTYPE OF (vertex, geometric_representation_item);
|
|
vertex_geometry : point;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY vertex_shell
|
|
SUBTYPE OF (topological_representation_item);
|
|
vertex_shell_extent : vertex_loop;
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY visual_appearance_representation
|
|
SUBTYPE OF (representation);
|
|
WHERE
|
|
WR1 : ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY (
|
|
i <* items | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND (
|
|
i.name IN [ 'colour id' , 'colour name' , 'lustre' , 'pattern' , 'transparency', 'orientation'] ) )
|
|
) + SIZEOF ( QUERY ( i <* items | ( SIZEOF (
|
|
['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 )
|
|
AND ( i.name IN ['refraction index' , 'opacity'] ) )
|
|
) + SIZEOF ( QUERY ( i <* items | (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'DOCUMENT_FILE' IN TYPEOF ( i ) )
|
|
AND ( i.name IN [ 'texture map' ] ) ) )
|
|
= 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 ( QUERY ( i <* SELF.items | i.name = 'texture map') ) <=1;
|
|
WR8 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='refraction index' ) )<=1;
|
|
WR9 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='opacity') ) <=1;
|
|
WR10 : SIZEOF ( QUERY ( i <* SELF.items | i.name ='orientation') ) <=1;
|
|
WR11 : ( SIZEOF ( USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr
|
|
<* USEDIN ( SELF ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+
|
|
'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (
|
|
pdr. definition ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+
|
|
'DERIVED_DEFINITION' ) | ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+
|
|
'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND
|
|
( gpa. base_definition.name ='surface_condition' ) ) ) =1 )) =1 );
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY volume_measure_with_unit
|
|
SUBTYPE OF (measure_with_unit);
|
|
WHERE
|
|
WR1 : 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VOLUME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component);
|
|
END_ENTITY;
|
|
|
|
|
|
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;
|
|
|
|
|
|
ENTITY week_of_year_and_day_date
|
|
SUBTYPE OF (date);
|
|
week_component : week_in_year_number;
|
|
day_component : OPTIONAL day_in_week_number;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY wire_shell
|
|
SUBTYPE OF (topological_representation_item);
|
|
wire_shell_extent : SET [1:?] OF loop;
|
|
WHERE
|
|
WR1 : NOT mixed_loop_type_set(wire_shell_extent);
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY year_month
|
|
SUBTYPE OF (date);
|
|
month_component : month_in_year_number;
|
|
END_ENTITY;
|
|
|
|
|
|
ENTITY zone_structural_makeup
|
|
SUPERTYPE OF (ONEOF ((smeared_material_definition AND thickness_laminate_table), (smeared_material_definition AND percentage_laminate_table), thickness_laminate_table, percentage_laminate_table, smeared_material_definition))
|
|
SUBTYPE OF (laminate_table);
|
|
END_ENTITY;
|
|
|
|
|
|
RULE alternative_solution_requires_solution_definition FOR (product_definition_formation);
|
|
LOCAL
|
|
solution_versions: SET OF product_definition_formation := [];
|
|
END_LOCAL;
|
|
solution_versions := QUERY( pdf <* product_definition_formation |
|
|
SIZEOF( QUERY( prpc <* USEDIN(pdf.of_product, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') |
|
|
prpc.name = 'alternative solution')) = 1);
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( pdf <* solution_versions |
|
|
SIZEOF( QUERY( pd <* USEDIN(pdf, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_DEFINITION.FORMATION') |
|
|
pd.frame_of_reference.name = 'alternative definition')) <> 1))= 0;
|
|
END_RULE;
|
|
|
|
RULE application_protocol_definition_required FOR (application_context);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( ac <* application_context |
|
|
(SIZEOF (QUERY (apd <* USEDIN(ac,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') |
|
|
apd.application_interpreted_model_schema_name = 'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
|
|
)) > 0)
|
|
)) > 0;
|
|
END_RULE;
|
|
|
|
RULE breakdown_element_requires_product_definition FOR (product_definition_formation);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( pdf <* product_definition_formation |
|
|
( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
|
|
prpc.name = 'functionality' ) ) = 1 ) AND
|
|
( SIZEOF ( QUERY ( pd <* USEDIN ( pdf ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION.FORMATION') |
|
|
pd.frame_of_reference.name = 'functional definition' ) ) <1 ) ) ) = 0;
|
|
WR2 : SIZEOF ( QUERY ( pdf <* product_definition_formation |
|
|
( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
|
|
prpc.name = 'conceptual design' ) ) = 1 ) AND
|
|
( SIZEOF (QUERY ( pd <* USEDIN ( pdf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) |
|
|
pd.frame_of_reference.name = 'conceptual definition' ) ) <1) ) ) = 0;
|
|
END_RULE;
|
|
|
|
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;
|
|
|
|
RULE component_class_for_assembly_select FOR (composite_assembly_sequence_definition, next_assembly_usage_occurrence, product_related_product_category);
|
|
LOCAL
|
|
i,j,k : INTEGER :=0;
|
|
dkuhr : LOGICAL :=TRUE;
|
|
nnauo : INTEGER :=0;
|
|
nprpc : INTEGER :=0;
|
|
rp : product;
|
|
END_LOCAL;
|
|
REPEAT i:= LOINDEX (composite_assembly_sequence_definition) TO
|
|
HIINDEX (composite_assembly_sequence_definition);
|
|
nnauo := 0;
|
|
REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO
|
|
HIINDEX (next_assembly_usage_occurrence);
|
|
IF (composite_assembly_sequence_definition[i] =
|
|
next_assembly_usage_occurrence[j].relating_product_definition) THEN
|
|
rp := next_assembly_usage_occurrence[j].related_product_definition.
|
|
formation.of_product;
|
|
nprpc := 0;
|
|
REPEAT k:= LOINDEX (product_related_product_category) TO
|
|
HIINDEX (product_related_product_category);
|
|
IF ((rp IN product_related_product_category[k].products) AND
|
|
(product_related_product_category[k].name IN ['ply',
|
|
'ply laminate', 'filament laminate', 'processed core',
|
|
'composite assembly'])) THEN
|
|
nprpc := nprpc + 1;
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF (nprpc = 1) THEN
|
|
nnauo := nnauo + 1;
|
|
ELSE
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF (dkuhr = FALSE) THEN
|
|
ESCAPE;
|
|
END_IF;
|
|
IF(nnauo = 0) THEN
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
END_REPEAT;
|
|
WHERE
|
|
WR1 : dkuhr;
|
|
END_RULE;
|
|
|
|
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 ) ) >1 ) ) >0 ) ) = 0;
|
|
WR3 : SIZEOF ( QUERY ( qri <* qualified_representation_item |
|
|
SIZEOF ( QUERY ( u1 <* qri.qualifiers |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.UNCERTAINTY_QUALIFIER' IN TYPEOF ( u1 ) ) AND
|
|
( SIZEOF ( QUERY ( u2 <* qri.qualifiers |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.UNCERTAINTY_QUALIFIER' IN TYPEOF ( u2 ) ) AND
|
|
( u2\uncertainty_qualifier.measure_name = u1\uncertainty_qualifier.measure_name ) )
|
|
) >1 ) ) ) >0 ) ) = 0;
|
|
END_RULE;
|
|
|
|
RULE constraint_definition_requires_constraint_category FOR (product_definition);
|
|
LOCAL
|
|
constraint_definitions: SET OF product_definition := [];
|
|
END_LOCAL;
|
|
constraint_definitions := QUERY( pd <* product_definition |
|
|
(pd.frame_of_reference.name = 'design constraint definition'));
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( pd <* constraint_definitions |
|
|
( SIZEOF ( QUERY ( prpc <* USEDIN ( pd.formation.of_product ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
|
|
prpc. name ='requirement' ) ) =0 ) ) ) =0;
|
|
END_RULE;
|
|
|
|
RULE design_constraint_requires_product_definition FOR (product_definition_formation);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( pdf <* product_definition_formation | (
|
|
SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) |
|
|
prpc.name = 'requirement' ) ) >0 ) AND
|
|
( SIZEOF ( QUERY ( pd <* USEDIN ( pdf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION.FORMATION') |
|
|
pd.frame_of_reference.name = 'design constraint definition' ) ) <1 ) ) ) = 0;
|
|
END_RULE;
|
|
|
|
RULE draughting_model_items_constraint FOR (draughting_model);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(dm <* draughting_model |
|
|
NOT(SIZEOF(QUERY(it1 <* dm\representation.items |
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF(it1))
|
|
AND
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' IN TYPEOF(it1)))
|
|
)) = 0)
|
|
)) = 0;
|
|
WR2 : SIZEOF(QUERY(dm <* draughting_model |
|
|
NOT(SIZEOF(QUERY(it1 <* dm\representation.items |
|
|
(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF(it1))
|
|
AND
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF(it1)))
|
|
)) = 0)
|
|
)) = 0;
|
|
END_RULE;
|
|
|
|
RULE external_version_assignments_are_valid FOR (applied_external_identification_assignment);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(aia <* applied_external_identification_assignment |
|
|
NOT external_version_assignment_is_valid(aia)))=0;
|
|
END_RULE;
|
|
|
|
RULE material_for_coating_layer FOR (shape_aspect);
|
|
LOCAL
|
|
coating_layers: SET OF shape_aspect := [];
|
|
END_LOCAL;
|
|
coating_layers:= QUERY( r <* shape_aspect |
|
|
(r.name = 'coating layer') );
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( r <* coating_layers |
|
|
SIZEOF(USEDIN(r , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MATERIAL_DESIGNATION.DEFINITIONS'))<>1
|
|
)) = 0;
|
|
END_RULE;
|
|
|
|
RULE plib_property_reference_requires_name_scope FOR (externally_defined_general_property);
|
|
LOCAL
|
|
known_sourced_properties : SET OF externally_defined_general_property;
|
|
END_LOCAL;
|
|
known_sourced_properties := QUERY( edc <* externally_defined_general_property |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF(edc.source) );
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( edgp <* known_sourced_properties |
|
|
( SIZEOF ( QUERY ( edir <* USEDIN ( edgp, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' )|
|
|
( edir.name = 'name scope' ) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_DEFINED_CLASS' IN TYPEOF ( edir.related_item ) ) AND
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF ( edir.related_item.source ) ) ) ) <>1 ) ) ) = 0;
|
|
END_RULE;
|
|
|
|
RULE plib_property_reference_requires_version FOR (externally_defined_general_property);
|
|
LOCAL
|
|
plib_properties : SET OF externally_defined_general_property := [];
|
|
END_LOCAL;
|
|
plib_properties := QUERY ( edgp <* externally_defined_general_property |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' IN TYPEOF ( edgp.source ) ) AND
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'KNOWN_SOURCE' + '.NAME' = 'ISO 13584 library' ) );
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( edgp <* plib_properties |
|
|
(SIZEOF( QUERY( edir <* USEDIN(edgp, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS') |
|
|
(edir.role.name = 'version') )) <> 1) )) = 0;
|
|
END_RULE;
|
|
|
|
RULE ply_reference FOR (ply_laminate_sequence_definition, next_assembly_usage_occurrence, product_related_product_category);
|
|
LOCAL
|
|
i,j,k : INTEGER;
|
|
dkuhr : LOGICAL := TRUE;
|
|
nnauo : INTEGER;
|
|
nprpc : INTEGER := 0;
|
|
rp : product;
|
|
END_LOCAL;
|
|
REPEAT i:= LOINDEX (ply_laminate_sequence_definition) TO
|
|
HIINDEX (ply_laminate_sequence_definition);
|
|
nnauo := 0;
|
|
REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO
|
|
HIINDEX (next_assembly_usage_occurrence);
|
|
IF (ply_laminate_sequence_definition[i] =
|
|
next_assembly_usage_occurrence[j].relating_product_definition) THEN
|
|
rp := next_assembly_usage_occurrence[j].related_product_definition.
|
|
formation.of_product;
|
|
nprpc := 0;
|
|
REPEAT k:= LOINDEX (product_related_product_category) TO
|
|
HIINDEX (product_related_product_category);
|
|
IF ((product_related_product_category[k].name = 'ply') AND
|
|
(rp IN product_related_product_category[k].products)) THEN
|
|
nprpc := nprpc + 1;
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF (nprpc = 1) THEN
|
|
nnauo := nnauo + 1;
|
|
ELSE
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF (dkuhr = FALSE) THEN
|
|
ESCAPE;
|
|
END_IF;
|
|
IF(nnauo = 0) THEN
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
END_REPEAT;
|
|
WHERE
|
|
WR1 : dkuhr;
|
|
END_RULE;
|
|
|
|
RULE ply_stock_material_select FOR (product_related_product_category, make_from_usage_option);
|
|
LOCAL
|
|
i,j,k,kp : INTEGER;
|
|
dkuhr : LOGICAL;
|
|
nmfuo : INTEGER;
|
|
nprpc : INTEGER := 0;
|
|
rp : product;
|
|
END_LOCAL;
|
|
|
|
dkuhr := TRUE;
|
|
REPEAT kp:= LOINDEX (product_related_product_category) TO
|
|
HIINDEX (product_related_product_category);
|
|
|
|
IF (product_related_product_category[kp].name = 'ply') THEN
|
|
REPEAT i:= LOINDEX (product_related_product_category[kp].products) TO
|
|
HIINDEX (product_related_product_category[kp].products);
|
|
|
|
nmfuo := 0;
|
|
REPEAT j:= LOINDEX (make_from_usage_option) TO
|
|
HIINDEX (make_from_usage_option);
|
|
|
|
rp := make_from_usage_option[j].related_product_definition.
|
|
formation.of_product;
|
|
|
|
IF (product_related_product_category[kp].products[i] = rp) THEN
|
|
|
|
REPEAT k:= LOINDEX (product_related_product_category) TO
|
|
HIINDEX (product_related_product_category);
|
|
|
|
IF ((rp IN product_related_product_category[k].products) AND
|
|
(product_related_product_category[k].name IN
|
|
['isotropic material', 'filament assembly',
|
|
'discontinuous fiber assembly'])) THEN
|
|
nprpc := nprpc + 1;
|
|
END_IF;
|
|
|
|
END_REPEAT;
|
|
|
|
IF (nprpc = 1) THEN
|
|
nmfuo := nmfuo + 1;
|
|
ELSE
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
|
|
END_IF;
|
|
|
|
END_REPEAT;
|
|
|
|
IF (dkuhr = FALSE) THEN
|
|
ESCAPE;
|
|
END_IF;
|
|
IF(nmfuo <> 1) THEN
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
|
|
END_REPEAT;
|
|
END_IF;
|
|
|
|
END_REPEAT;
|
|
WHERE
|
|
WR1 : dkuhr;
|
|
END_RULE;
|
|
|
|
RULE product_concept_feature_requires_category FOR (product_concept_feature);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( pcf <* product_concept_feature |
|
|
(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF(pcf)) = 0) AND
|
|
(SIZEOF ( QUERY ( aga <* USEDIN ( pcf , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) |
|
|
( aga.role.name = 'specification category member' ) AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF ( aga.assigned_group )))) <>1 ) ) ) = 0;
|
|
END_RULE;
|
|
|
|
RULE product_definition_replacement_requires_effectivity_assignment FOR (product_definition_relationship);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( pdr <* product_definition_relationship |
|
|
(pdr.name = 'definition replacement') AND
|
|
(SIZEOF( USEDIN(pdr,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS') ) = 0) ))
|
|
= 0;
|
|
END_RULE;
|
|
|
|
RULE restrict_alternative_definition FOR (product_definition);
|
|
LOCAL
|
|
solution_definitions: SET OF product_definition := [];
|
|
END_LOCAL;
|
|
solution_definitions := QUERY( pd <* product_definition |
|
|
(pd.frame_of_reference.name = 'alternative definition'));
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( pd <* solution_definitions |
|
|
( SIZEOF ( QUERY ( pdr <* USEDIN ( pd ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) |
|
|
pdr.name = 'solution alternative definition' ) ) <>1 ) ) ) = 0;
|
|
WR2 : SIZEOF ( QUERY ( pd <* solution_definitions |
|
|
NOT ( pd.name IN ['technical' , 'supplier' , 'technical supplier' , ''] ) ) ) = 0;
|
|
WR3 : SIZEOF ( QUERY ( pd <* solution_definitions |
|
|
( pd.name IN ['supplier' , 'technical supplier'] ) AND (
|
|
SIZEOF ( QUERY ( aoa <* USEDIN ( pd.formation ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS' ) |
|
|
aoa.role.name = 'supplier' )) <>1 ) )) = 0;
|
|
END_RULE;
|
|
|
|
RULE restrict_assembly_category FOR (product_definition);
|
|
LOCAL
|
|
assembly_definitions: SET OF product_definition := [];
|
|
END_LOCAL;
|
|
assembly_definitions := QUERY( pd <* product_definition |
|
|
SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') |
|
|
pdca.frame_of_reference.name= 'assembly definition')) > 0 );
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( pd <* assembly_definitions |
|
|
NOT ('assembly' IN categories_of_product(pd.formation.of_product)) ))= 0;
|
|
END_RULE;
|
|
|
|
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 |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'POINT' IN TYPEOF ( i ) ) AND
|
|
( i.name = 'centre point' ) )) <>1 ) ) ) )
|
|
=0;
|
|
END_RULE;
|
|
|
|
RULE restrict_classification_assignments FOR (applied_classification_assignment);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(aia <* applied_classification_assignment |
|
|
NOT class_assignment_is_valid(aia)))=0;
|
|
END_RULE;
|
|
|
|
RULE restrict_collection_category FOR (product_definition);
|
|
LOCAL
|
|
collection_definitions: SET OF product_definition := [];
|
|
END_LOCAL;
|
|
collection_definitions := QUERY( pd <* product_definition |
|
|
SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') |
|
|
pdca.frame_of_reference.name= 'collection definition')) > 0 );
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( pd <* collection_definitions |
|
|
NOT ('collection' IN categories_of_product(pd.formation.of_product)) ))= 0;
|
|
END_RULE;
|
|
|
|
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 , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' +
|
|
'CONDITIONAL_OPERATOR' ) |
|
|
SIZEOF ( QUERY ( ccf <* USEDIN( cfrwc , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + '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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.CONDITIONAL_OPERATOR') |
|
|
cfrwc.related_product_concept_feature :<>: cfrwc.relating_product_concept_feature)) >0 ))) = 0;
|
|
END_RULE;
|
|
|
|
RULE restrict_configuration_design_for_class_breakdown_association FOR (configuration_design);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( cd <* configuration_design |
|
|
( cd.name ='functionality' ) AND
|
|
( NOT ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_CLASS' IN TYPEOF ( cd.configuration.item_concept ) ) )
|
|
) ) =0;
|
|
END_RULE;
|
|
|
|
RULE restrict_configuration_design_for_design_constraint FOR (configuration_design);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY (cd <* configuration_design |
|
|
(cd.name = 'design constraint usage') AND
|
|
(NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR
|
|
(cd.design\product_definition.frame_of_reference.name <> 'design constraint definition')))) = 0;
|
|
END_RULE;
|
|
|
|
RULE restrict_group_relationship_for_classification_hierarchy FOR (group_relationship);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( gr <* group_relationship |
|
|
(gr\group_relationship.name = 'class hierarchy') AND
|
|
(NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.related_group)) OR
|
|
NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.relating_group))) )) = 0;
|
|
END_RULE;
|
|
|
|
RULE restrict_group_relationship_for_specification_category FOR (group_relationship);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( gr <* group_relationship |
|
|
(gr.name = 'specification category hierarchy') AND
|
|
(NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.related_group))
|
|
OR NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.relating_group))) )) = 0;
|
|
END_RULE;
|
|
|
|
RULE restrict_language_assignment_per_attribute FOR (attribute_language_assignment);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( ala1 <* attribute_language_assignment |
|
|
SIZEOF(QUERY( it <* ala1.items |
|
|
SIZEOF ( QUERY ( ala2 <* USEDIN ( it ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) |
|
|
( ala1\attribute_classification_assignment.attribute_name = ala2\attribute_classification_assignment.attribute_name ) AND
|
|
( ala1\attribute_classification_assignment.assigned_class :=: ala2\attribute_classification_assignment.assigned_class )
|
|
)) >1
|
|
)) >0
|
|
)) =0;
|
|
END_RULE;
|
|
|
|
RULE restrict_part_occurrence FOR (product_definition);
|
|
LOCAL
|
|
part_occurrences: SET OF product_definition := QUERY(pd <* product_definition |
|
|
( pd.frame_of_reference.name = 'part occurrence' ));
|
|
END_LOCAL;
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( pd <* part_occurrences |
|
|
( NOT( pd.name IN
|
|
['single instance' , 'selected instance' ,'quantified instance' , 'specified instance' ] ) ) ) ) = 0;
|
|
WR2 : SIZEOF ( QUERY ( pd <* part_occurrences |
|
|
(SIZEOF ( QUERY ( pdr <* USEDIN ( pd ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) |
|
|
pdr.name = 'definition usage' ) ) <>1 ) AND
|
|
( SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) |
|
|
( cd.name = 'occurrence usage definition' ) AND
|
|
( NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF( cd.configuration ) ) ) ) ) <>1 ) ) ) = 0;
|
|
WR3 : SIZEOF ( QUERY ( pd <* part_occurrences |
|
|
(SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PRODUCT_DEFINITION_USAGE' IN TYPEOF ( cd ) ) ) ) = 0 )AND
|
|
( SIZEOF ( USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) ) = 0 ) ) ) = 0;
|
|
WR4 : SIZEOF ( QUERY ( pd <* part_occurrences |
|
|
( pd.name = 'selected instance' ) AND
|
|
NOT valid_selected_instance_representation(pd) ))=0;
|
|
WR5 : SIZEOF ( QUERY ( pd <* part_occurrences |
|
|
( pd.name = 'quantified instance' ) AND
|
|
( SIZEOF ( QUERY (ppd <* USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PROPERTY_DEFINITION.DEFINITION' ) |
|
|
( ppd.name ='occurrence quantity' ) AND
|
|
( SIZEOF ( QUERY ( pdr <*USEDIN ( ppd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | (
|
|
pdr.used_representation.name = 'quantity' ) AND
|
|
(SIZEOF ( pdr.used_representation.items ) = 1 ) AND
|
|
(SIZEOF ( QUERY ( i <* pdr.used_representation.items |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND
|
|
( i.name = 'quantity measure' ) ) ) = 1)))= 1 )))= 0 )))= 0;
|
|
WR6 : SIZEOF ( QUERY ( pd <* part_occurrences |
|
|
( pd.name = 'specified instance' ) AND
|
|
( SIZEOF ( QUERY (
|
|
pdor <* USEDIN ( pd , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'SPECIFIED_HIGHER_USAGE_OCCURRENCE' IN TYPEOF ( pdor.occurrence_usage ) ) ) = 0 ) ) ) = 0;
|
|
END_RULE;
|
|
|
|
RULE restrict_part_occurrence_category FOR (product_definition);
|
|
LOCAL
|
|
part_occurrences: SET OF product_definition := QUERY( pd <* product_definition |(
|
|
pd.frame_of_reference.name = 'part occurrence'));
|
|
END_LOCAL;
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( pd <* part_occurrences |
|
|
(SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') |
|
|
prpc.name IN ['part','raw material','tool'] )) = 0 ) )) = 0;
|
|
END_RULE;
|
|
|
|
RULE restrict_product_definitions_for_base_element FOR (product_definition_relationship);
|
|
|
|
WHERE
|
|
WR1 : 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;
|
|
END_RULE;
|
|
|
|
RULE restrict_product_definitions_for_collection FOR (product_definition_relationship);
|
|
|
|
WHERE
|
|
WR1 : 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 ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') |
|
|
( pdca.role.name = 'part definition type' ) AND
|
|
( pdca.frame_of_reference.name = 'collection definition' ) )) =0 ) ) ) ) =0;
|
|
END_RULE;
|
|
|
|
RULE restrict_product_definitions_for_definition_usage FOR (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;
|
|
END_RULE;
|
|
|
|
RULE restrict_product_definitions_for_design_constraint_association FOR (product_definition_relationship);
|
|
|
|
WHERE
|
|
WR1 : 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;
|
|
END_RULE;
|
|
|
|
RULE restrict_product_definitions_for_part_definition_relationship FOR (product_definition_relationship);
|
|
|
|
WHERE
|
|
WR1 : 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;
|
|
END_RULE;
|
|
|
|
RULE restrict_representation_for_surface_condition FOR (property_definition_representation);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY(pdr <* property_definition_representation |
|
|
NOT surface_condition_correlation(pdr.definition, pdr.used_representation) ))=0;
|
|
END_RULE;
|
|
|
|
RULE restrict_treatment_result FOR (representation);
|
|
LOCAL
|
|
treatment_results: SET OF representation := [];
|
|
END_LOCAL;
|
|
treatment_results:= QUERY( r <* representation |
|
|
(r.name = 'treatment result') );
|
|
WHERE
|
|
WR1 : (SIZEOF( QUERY( r <* treatment_results | (SIZEOF(r.items) > 2) )) = 0) AND
|
|
(SIZEOF( QUERY( r <* treatment_results |
|
|
(SIZEOF( QUERY( i <* r.items |
|
|
NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) > 0) )) = 0);
|
|
WR2 : SIZEOF( QUERY( r <* treatment_results |
|
|
(SIZEOF( QUERY( i <* r.items | i.name = 'result' )) = 0) )) = 0;
|
|
WR3 : SIZEOF( QUERY( r <* treatment_results |
|
|
(SIZEOF( QUERY( i <* r.items | i.name = 'purpose' )) > 1) )) = 0;
|
|
END_RULE;
|
|
|
|
RULE selected_instance_usage_requires_representation FOR (assembly_component_usage);
|
|
LOCAL
|
|
selected_instance_usages: SET OF assembly_component_usage := QUERY( acr <* assembly_component_usage|
|
|
(acr.name = 'selected instance usage'));
|
|
END_LOCAL;
|
|
WHERE
|
|
WR1 : SIZEOF ( QUERY ( acr <* selected_instance_usages |
|
|
NOT valid_selected_instance_representation(acr) ))=0;
|
|
END_RULE;
|
|
|
|
RULE solution_definition_requires_solution_category FOR (product_definition);
|
|
LOCAL
|
|
solution_definitions: SET OF product_definition := [];
|
|
END_LOCAL;
|
|
solution_definitions := QUERY( pd <* product_definition |
|
|
(pd.frame_of_reference.name = 'alternative definition'));
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( pd <* solution_definitions |
|
|
(SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF' + '.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') |
|
|
prpc.name = 'alternative solution')) = 0 ) )) = 0;
|
|
END_RULE;
|
|
|
|
RULE stock_material_reference FOR (percentage_ply_definition, make_from_usage_option, product_related_product_category);
|
|
LOCAL
|
|
i,j,k : INTEGER;
|
|
dkuhr : LOGICAL;
|
|
nmfuo : INTEGER;
|
|
nprpc : INTEGER;
|
|
rp : product;
|
|
END_LOCAL;
|
|
dkuhr := TRUE;
|
|
REPEAT i:= LOINDEX (percentage_ply_definition) TO
|
|
HIINDEX (percentage_ply_definition);
|
|
nmfuo := 0;
|
|
REPEAT j:= LOINDEX (make_from_usage_option) TO
|
|
HIINDEX (make_from_usage_option);
|
|
IF (percentage_ply_definition[i] =
|
|
make_from_usage_option[j].relating_product_definition) THEN
|
|
rp := make_from_usage_option[j].related_product_definition.
|
|
formation.of_product;
|
|
nprpc := 0;
|
|
REPEAT k:= LOINDEX (product_related_product_category) TO
|
|
HIINDEX (product_related_product_category);
|
|
IF ((rp IN product_related_product_category[k].products) AND
|
|
(product_related_product_category[k].name IN
|
|
['anisotropic material', 'isotropic material', 'stock core',
|
|
'filament assembly', 'discontinuous fiber assembly'])) THEN
|
|
nprpc := nprpc + 1;
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF (nprpc = 1) THEN
|
|
nmfuo := nmfuo + 1;
|
|
ELSE
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF (dkuhr = FALSE) THEN
|
|
ESCAPE;
|
|
END_IF;
|
|
IF(nmfuo = 0) THEN
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
END_REPEAT;
|
|
WHERE
|
|
WR1 : dkuhr;
|
|
END_RULE;
|
|
|
|
RULE styled_curve FOR (styled_item);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF( QUERY( si <* styled_item | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE' IN TYPEOF (si.item)) AND (SIZEOF (QUERY (psa <* si.styles | (SIZEOF (QUERY (cs <* psa.styles | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_STYLE' IN TYPEOF (cs)) )) > 0) )) <> 1) )) = 0;
|
|
END_RULE;
|
|
|
|
RULE subtype_exclusiveness_geometric_tolerance FOR (geometric_tolerance);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COAXIALITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FLATNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARALLELISM_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITION_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ROUNDNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 3)))) = 0;
|
|
END_RULE;
|
|
|
|
RULE subtype_exclusiveness_representation_item FOR (representation_item);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY (cri <* representation_item |
|
|
NOT (type_check_function(cri,['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_REPRESENTATION_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOUND_REPRESENTATION_ITEM'] , 3)))) = 0;
|
|
END_RULE;
|
|
|
|
RULE subtype_mandatory_geometric_tolerance FOR (geometric_tolerance);
|
|
|
|
WHERE
|
|
WR1 : SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANGULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COAXIALITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FLATNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARALLELISM_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POSITION_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ROUNDNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SYMMETRY_TOLERANCE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 0)))) = 0;
|
|
END_RULE;
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0;
|
|
WR2 : SIZEOF (QUERY (edtf <* externally_defined_text_font | SIZEOF (USEDIN (edtf, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0;
|
|
END_RULE;
|
|
|
|
RULE thickness_laminate_table_component_select FOR (thickness_laminate_definition, next_assembly_usage_occurrence, product_related_product_category);
|
|
LOCAL
|
|
i,j,k : INTEGER;
|
|
dkuhr : LOGICAL;
|
|
nnauo : INTEGER;
|
|
nprpc : INTEGER;
|
|
rp : product;
|
|
END_LOCAL;
|
|
dkuhr := TRUE;
|
|
REPEAT i:= LOINDEX (thickness_laminate_definition) TO
|
|
HIINDEX (thickness_laminate_definition);
|
|
nnauo := 0;
|
|
REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO
|
|
HIINDEX (next_assembly_usage_occurrence);
|
|
IF (thickness_laminate_definition[i] =
|
|
next_assembly_usage_occurrence[j].relating_product_definition) THEN
|
|
rp := next_assembly_usage_occurrence[j].related_product_definition.
|
|
formation.of_product;
|
|
nprpc := 0;
|
|
REPEAT k:= LOINDEX (product_related_product_category) TO
|
|
HIINDEX (product_related_product_category);
|
|
IF ((rp IN product_related_product_category[k].products) AND
|
|
(product_related_product_category[k].name IN
|
|
['ply', 'filament laminate', 'processed core'])) THEN
|
|
nprpc := nprpc + 1;
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF (nprpc = 1) THEN
|
|
nnauo := nnauo + 1;
|
|
ELSE
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF (dkuhr = FALSE) THEN
|
|
ESCAPE;
|
|
END_IF;
|
|
IF (nnauo <> 1) THEN
|
|
dkuhr := FALSE;
|
|
ESCAPE;
|
|
END_IF;
|
|
END_REPEAT;
|
|
WHERE
|
|
WR1 : dkuhr;
|
|
END_RULE;
|
|
|
|
RULE validate_dependently_instantiable_entity_data_types FOR (action_method_role, annotation_text, attribute_value_role, auxiliary_geometric_representation_item, binary_numeric_expression, boolean_expression, bounded_curve, bounded_surface, cartesian_transformation_operator, comparison_expression, concept_feature_relationship, concept_feature_relationship_with_condition, connected_edge_set, document_usage_constraint, edge_blended_solid, effectivity_context_role, event_occurrence_role, explicit_procedural_representation_item_relationship, expression, founded_item, generic_expression, generic_variable, indirectly_selected_elements, interval_expression, literal_number, local_time, loop, modified_solid_with_placed_configuration, multiple_arity_boolean_expression, multiple_arity_generic_expression, multiple_arity_numeric_expression, numeric_expression, one_direction_repeat_factor, oriented_open_shell, oriented_path, positioned_sketch, procedural_representation, procedural_representation_sequence, product_definition_context_role, product_definition_effectivity, runout_zone_orientation, simple_boolean_expression, simple_generic_expression, simple_numeric_expression, solid_with_depression, solid_with_hole, solid_with_pocket, solid_with_protrusion, solid_with_shape_element_pattern, solid_with_slot, swept_area_solid, symbol_target, tolerance_zone_form, two_direction_repeat_factor, unary_generic_expression, unary_numeric_expression, user_selected_elements, variational_representation_item, view_volume);
|
|
LOCAL
|
|
number_of_input_instances : INTEGER;
|
|
previous_in_chain : LIST OF GENERIC := [];
|
|
set_of_input_types : SET OF STRING := [];
|
|
all_instances : SET OF GENERIC := [];
|
|
END_LOCAL;
|
|
|
|
all_instances := all_instances + action_method_role + annotation_text + attribute_value_role + auxiliary_geometric_representation_item + binary_numeric_expression + boolean_expression + bounded_curve + bounded_surface + cartesian_transformation_operator + comparison_expression + concept_feature_relationship + concept_feature_relationship_with_condition + connected_edge_set + document_usage_constraint + edge_blended_solid + effectivity_context_role + event_occurrence_role + explicit_procedural_representation_item_relationship + expression + founded_item + generic_expression + generic_variable + indirectly_selected_elements + interval_expression + literal_number + local_time + loop + modified_solid_with_placed_configuration + multiple_arity_boolean_expression + multiple_arity_generic_expression + multiple_arity_numeric_expression + numeric_expression + one_direction_repeat_factor + oriented_open_shell + oriented_path + positioned_sketch + procedural_representation + procedural_representation_sequence + product_definition_context_role + product_definition_effectivity + runout_zone_orientation + simple_boolean_expression + simple_generic_expression + simple_numeric_expression + solid_with_depression + solid_with_hole + solid_with_pocket + solid_with_protrusion + solid_with_shape_element_pattern + solid_with_slot + swept_area_solid + symbol_target + tolerance_zone_form + two_direction_repeat_factor + unary_generic_expression + unary_numeric_expression + user_selected_elements + variational_representation_item + view_volume;--<make a union of all implicit populations of the FOR-clause>
|
|
number_of_input_instances := SIZEOF(all_instances);
|
|
(* Collect all type strings of all FOR instances into one set. *)
|
|
REPEAT i:=1 TO number_of_input_instances;
|
|
set_of_input_types := set_of_input_types + TYPEOF(all_instances[i]);
|
|
END_REPEAT;
|
|
WHERE
|
|
WR1 : dependently_instantiated(all_instances, set_of_input_types,
|
|
previous_in_chain);
|
|
END_RULE;
|
|
|
|
FUNCTION acyclic
|
|
(arg1: generic_expression; arg2: SET [0:?] OF generic_expression) : BOOLEAN;
|
|
LOCAL
|
|
result: BOOLEAN := TRUE;
|
|
END_LOCAL;
|
|
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_GENERIC_EXPRESSION'
|
|
IN TYPEOF (arg1))
|
|
THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
|
|
IF arg1 IN arg2
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.UNARY_GENERIC_EXPRESSION'
|
|
IN TYPEOF (arg1)
|
|
THEN
|
|
RETURN
|
|
(acyclic(arg1\unary_generic_expression.operand,arg2+[arg1]));
|
|
END_IF;
|
|
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
RETURN (result);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION acyclic_composite_text
|
|
(start_composite: composite_text; child_text: SET [1:?] OF text_or_character) : LOGICAL;
|
|
LOCAL
|
|
i : INTEGER;
|
|
local_composite_text : SET [0:?] OF composite_text;
|
|
local_annotation_text : SET [0:?] OF annotation_text;
|
|
local_children : SET [0:?] OF text_or_character;
|
|
END_LOCAL;
|
|
|
|
local_composite_text := QUERY (child <* child_text |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ANNOTATION_TEXT',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION acyclic_curve_replica
|
|
(rep: curve_replica; parent: curve) : BOOLEAN;
|
|
IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA') IN TYPEOF(parent)) THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
(* Return TRUE if the parent is not of type curve_replica *)
|
|
IF (parent :=: rep) THEN
|
|
RETURN (FALSE);
|
|
(* Return FALSE if the parent is the same curve_replica, otherwise,
|
|
call function again with the parents own parent_curve. *)
|
|
ELSE
|
|
RETURN(acyclic_curve_replica(rep,
|
|
parent\curve_replica.parent_curve));
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION acyclic_mapped_item_usage
|
|
(rep: representation) : BOOLEAN;
|
|
LOCAL
|
|
items : SET OF representation_item;
|
|
END_LOCAL;
|
|
|
|
items := QUERY (item <* rep.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION acyclic_mapped_representation
|
|
(mi: mapped_item) : BOOLEAN;
|
|
LOCAL
|
|
rms : SET OF representation_map;
|
|
mis : SET OF mapped_item;
|
|
rs1, rs2 : SET OF representation;
|
|
END_LOCAL;
|
|
|
|
rs1 := using_representations(mi);
|
|
rs2 := [];
|
|
-- loop as long as there are elements in rs1
|
|
REPEAT WHILE SIZEOF(rs1) > 0;
|
|
REPEAT i := 1 TO HIINDEX(rs1);
|
|
-- Determine the set of representation_map that reference the parent_set
|
|
rms := bag_to_set(USEDIN(rs1[i], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION'));
|
|
IF SIZEOF(rms) > 0 THEN
|
|
REPEAT j := 1 TO HIINDEX(rms);
|
|
mis := bag_to_set(USEDIN(rms[i], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE'));
|
|
IF SIZEOF(mis) > 0 THEN
|
|
REPEAT j := 1 TO HIINDEX(mis);
|
|
-- check mis members for instance equal with mi. If so then there is a cycle
|
|
IF mis[i] :=: mi THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
rs2 := rs2 + using_representations(mis[i]);
|
|
END_REPEAT;
|
|
END_IF;
|
|
END_REPEAT;
|
|
END_IF;
|
|
END_REPEAT;
|
|
rs1 := rs2;
|
|
rs2 := [];
|
|
END_REPEAT;
|
|
RETURN (TRUE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION acyclic_point_replica
|
|
(rep: point_replica; parent: point) : BOOLEAN;
|
|
IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_REPLICA') IN TYPEOF(parent)) THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
(* Return TRUE if the parent is not of type point_replica *)
|
|
IF (parent :=: rep) THEN
|
|
RETURN (FALSE);
|
|
(* Return FALSE if the parent is the same point_replica, otherwise,
|
|
call function again with the parents own parent_pt. *)
|
|
ELSE RETURN(acyclic_point_replica(rep, parent\point_replica.parent_pt));
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + '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;
|
|
|
|
FUNCTION acyclic_representation_relationship
|
|
(relation: representation_relationship; relatives: SET [1:?] OF representation; specific_relation: STRING) : BOOLEAN;
|
|
LOCAL
|
|
x : SET OF representation_relationship;
|
|
END_LOCAL;
|
|
|
|
IF relation.rep_1 IN relatives THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r));
|
|
REPEAT i := 1 TO HIINDEX(x);
|
|
IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
END_REPEAT;
|
|
RETURN (TRUE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION acyclic_solid_replica
|
|
(rep: solid_replica; parent: solid_model) : BOOLEAN;
|
|
IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SOLID_REPLICA') IN TYPEOF(parent)) THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
(* Return TRUE if the parent is not of type solid_replica. *)
|
|
IF (parent :=: rep) THEN
|
|
RETURN (FALSE);
|
|
(* Return FALSE if the parent is the same solid_replica, otherwise,
|
|
call function again with the parents own parent_solid. *)
|
|
ELSE RETURN(acyclic_solid_replica(rep,
|
|
parent\solid_replica.parent_solid));
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION acyclic_surface_replica
|
|
(rep: surface_replica; parent: surface) : BOOLEAN;
|
|
IF NOT (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_REPLICA') IN TYPEOF(parent)) THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
(* Return TRUE if the parent is not of type surface_replica *)
|
|
IF (parent :=: rep) THEN
|
|
RETURN (FALSE);
|
|
(* Return FALSE if the parent is the same surface_replica, otherwise,
|
|
call function again with the parents own parent_surface. *)
|
|
ELSE RETURN(acyclic_surface_replica(rep,
|
|
parent\surface_replica.parent_surface));
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION advanced_face_properties
|
|
(testface: face) : BOOLEAN;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ADVANCED_FACE' IN TYPEOF(testface) THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
(* if testface is a subface recursively test the parent_face,
|
|
return FALSE for all other types of face *)
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBFACE' IN TYPEOF(testface)) THEN
|
|
RETURN(advanced_face_properties(testface\subface.parent_face));
|
|
ELSE RETURN (FALSE);
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
FUNCTION associated_surface
|
|
(arg: pcurve_or_surface) : surface;
|
|
LOCAL
|
|
surf : surface;
|
|
END_LOCAL;
|
|
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF(arg) THEN
|
|
surf := arg\pcurve.basis_surface;
|
|
ELSE
|
|
surf := arg;
|
|
END_IF;
|
|
RETURN(surf);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION bag_to_set
|
|
(the_bag: BAG [0:?] OF GENERIC: intype) : SET [0:?] 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;
|
|
|
|
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, 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;
|
|
|
|
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;
|
|
|
|
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;
|
|
|
|
FUNCTION build_axes
|
|
(axis: direction; ref_direction: direction) : LIST [3:3] OF direction;
|
|
LOCAL
|
|
d1, 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;
|
|
|
|
FUNCTION categories_of_product
|
|
(obj: product) : SET [0:?] OF STRING;
|
|
LOCAL
|
|
category_assignments: BAG OF product_category;
|
|
categories: SET OF STRING:=[];
|
|
END_LOCAL;
|
|
category_assignments := USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS');
|
|
REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments) BY 1;
|
|
categories := categories + category_assignments[i].name;
|
|
END_REPEAT;
|
|
RETURN(categories);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION cc_design_person_and_organization_correlation
|
|
(e: cc_design_person_and_organization_assignment) : BOOLEAN;
|
|
LOCAL
|
|
po_role : STRING;
|
|
END_LOCAL;
|
|
po_role := e\person_and_organization_assignment.role.name;
|
|
CASE po_role OF
|
|
'request_recipient' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'CHANGE_REQUEST',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'START_REQUEST'] *
|
|
TYPEOF (x)) = 1))
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
'initiator' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'CHANGE_REQUEST',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'START_REQUEST',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'START_WORK',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'CHANGE'] *
|
|
TYPEOF (x)) = 1))
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
'creator' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_FORMATION',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION'] *
|
|
TYPEOF (x)) = 1))
|
|
THEN RETURN (FALSE);
|
|
END_IF;
|
|
'part_supplier' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_FORMATION'
|
|
IN TYPEOF (x)))
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
'design_supplier' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'PRODUCT_DEFINITION_FORMATION'
|
|
IN TYPEOF (x)))
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
'design_owner' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT'
|
|
IN TYPEOF (x)))
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
'configuration_manager' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'CONFIGURATION_ITEM'
|
|
IN TYPEOF (x)))
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
'contractor' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONTRACT'
|
|
IN TYPEOF (x)))
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
'classification_officer' : IF SIZEOF (e.items) <>
|
|
SIZEOF (QUERY (x <* e.items |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +
|
|
'SECURITY_CLASSIFICATION'
|
|
IN TYPEOF (x))) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
OTHERWISE : RETURN(TRUE);
|
|
END_CASE;
|
|
RETURN (TRUE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION check_continuous_edges
|
|
(edges: LIST [0:?] OF UNIQUE edge_curve) : BOOLEAN;
|
|
LOCAL
|
|
i : INTEGER;
|
|
next_vertex : vertex;
|
|
END_LOCAL;
|
|
|
|
-- first check whether there is only one edge in the list: in this
|
|
-- case there is no connectivity to be checked.
|
|
|
|
IF (SIZEOF(edges) = 1)
|
|
THEN RETURN(TRUE);
|
|
END_IF;
|
|
|
|
-- otherwise, establish the matching vertices of edges 1 and 2 in
|
|
-- the list, and determine the vertex of edge 2 to which edge 3,
|
|
-- must be connected, if there are more than two edges in the list.
|
|
|
|
IF ((edges[2].edge_start :=: edges[1].edge_end)
|
|
XOR (edges[2].edge_start :=: edges[1].edge_start))
|
|
THEN next_vertex := edges[2].edge_end;
|
|
ELSE
|
|
IF ((edges[2].edge_end :=: edges[1].edge_end)
|
|
XOR (edges[2].edge_end :=: edges[1].edge_start))
|
|
THEN next_vertex := edges[2].edge_start;
|
|
ELSE RETURN(FALSE); -- no match between any vertices of edges 1 and 2
|
|
END_IF;
|
|
END_IF;
|
|
|
|
-- exit if there are only two edges and they are connected
|
|
|
|
IF (SIZEOF(edges) = 2)
|
|
THEN RETURN(TRUE);
|
|
END_IF;
|
|
|
|
-- otherwise, check that any remaining edges are connected in list order.
|
|
|
|
REPEAT i := 3 TO HIINDEX(edges);
|
|
IF (edges[i].edge_start :=: next_vertex)
|
|
THEN next_vertex := edges[i].edge_end;
|
|
ELSE
|
|
IF (edges[i].edge_end :=: next_vertex)
|
|
THEN next_vertex := edges[i].edge_start;
|
|
ELSE RETURN(FALSE); -- no match is found.
|
|
END_IF;
|
|
END_IF;
|
|
END_REPEAT;
|
|
RETURN(TRUE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION check_text_alignment
|
|
(ct: composite_text) : BOOLEAN;
|
|
LOCAL
|
|
a : SET OF text_alignment := [];
|
|
END_LOCAL;
|
|
|
|
-- create a set of all the alignments
|
|
REPEAT i := 1 TO HIINDEX (ct.collected_text);
|
|
a := a + [ct.collected_text[i]\text_literal.alignment];
|
|
END_REPEAT;
|
|
|
|
-- if there is more than one element in the set
|
|
-- then not all alignments were the same
|
|
RETURN (SIZEOF(a) = 1);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION check_text_font
|
|
(ct: composite_text) : BOOLEAN;
|
|
LOCAL
|
|
f : SET OF font_select := [];
|
|
END_LOCAL;
|
|
|
|
-- build a set of all the fonts
|
|
REPEAT i := 1 TO HIINDEX (ct.collected_text);
|
|
f := f + [ct.collected_text[i]\text_literal.font];
|
|
END_REPEAT;
|
|
|
|
-- if there is more than one element in the set
|
|
-- then not all fonts were the same
|
|
RETURN (SIZEOF(f) <= 1);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION class_assignment_is_valid
|
|
(aia: applied_classification_assignment) : BOOLEAN;
|
|
LOCAL
|
|
item: classification_item;
|
|
role: classification_role;
|
|
END_LOCAL;
|
|
|
|
role:= aia\classification_assignment.role;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'CLASS_SYSTEM' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN
|
|
IF(role\classification_role.name <> 'class system membership') THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items);
|
|
item:= aia\applied_classification_assignment.items[i];
|
|
|
|
IF (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CLASS_SYSTEM_ITEM'] * TYPEOF(item))=0) THEN
|
|
-- item invalid if item does not belong to the types that may have a class_system
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END_REPEAT;
|
|
END_IF;
|
|
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' +'CHARACTERIZED_CLASS' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN
|
|
IF NOT(role\classification_role.name IN ['definitional','non-definitional','']) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
|
|
|
|
REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items);
|
|
item:= aia\applied_classification_assignment.items[i];
|
|
|
|
IF (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'CLASSIFIED_ITEM'] * TYPEOF(item))=0) THEN
|
|
-- item invalid if item does not belong to the types that may have a characterized_class
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END_REPEAT;
|
|
END_IF;
|
|
|
|
IF
|
|
(role\classification_role.name = 'definitional')
|
|
THEN
|
|
IF NOT
|
|
(SIZEOF(QUERY(it <* aia\applied_classification_assignment.items | NOT
|
|
(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION_FORMATION', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PRODUCT_DEFINITION'] * TYPEOF(it)) = 1)
|
|
)) = 0 )
|
|
THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END_IF;
|
|
|
|
RETURN(TRUE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION closed_shell_reversed
|
|
(a_shell: closed_shell) : oriented_closed_shell;
|
|
LOCAL
|
|
the_reverse : oriented_closed_shell;
|
|
END_LOCAL;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION compute_total_depth
|
|
(swsrh: solid_with_stepped_round_hole) : positive_length_measure;
|
|
LOCAL
|
|
i : positive_integer;
|
|
n : positive_integer := swsrh.segments;
|
|
td : positive_length_measure := swsrh.segment_depths[1];
|
|
END_LOCAL;
|
|
|
|
IF n = 1
|
|
THEN RETURN(td);
|
|
ELSE
|
|
REPEAT i := 2 TO n;
|
|
td := td + swsrh.segment_depths[i];
|
|
END_REPEAT;
|
|
END_IF;
|
|
RETURN(td);
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
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('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN
|
|
TYPEOF(c\composite_curve.segments[k].parent_curve))) AND
|
|
(NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN
|
|
TYPEOF(c\composite_curve.segments[k].parent_curve))) AND
|
|
(NOT('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN
|
|
TYPEOF(c\composite_curve.segments[k].parent_curve))) THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
END_REPEAT;
|
|
RETURN(TRUE);
|
|
END_FUNCTION;
|
|
|
|
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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN
|
|
TYPEOF(m.sbsm_boundary[j])) AND
|
|
(NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLOSED_SHELL' IN
|
|
TYPEOF(m.sbsm_boundary[j]))))
|
|
THEN
|
|
result := FALSE;
|
|
RETURN(result);
|
|
(* A surface model is composed of OPEN_ and CLOSED_SHELLs. *)
|
|
END_IF;
|
|
END_REPEAT;
|
|
RETURN(result);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION constraints_geometry_shell_based_wireframe_model
|
|
(m: shell_based_wireframe_model) : BOOLEAN;
|
|
LOCAL
|
|
result : BOOLEAN := TRUE;
|
|
END_LOCAL;
|
|
|
|
REPEAT j := 1 TO SIZEOF(m.sbwm_boundary);
|
|
IF (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.WIRE_SHELL' IN
|
|
TYPEOF(m.sbwm_boundary[j])) AND
|
|
(NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VERTEX_SHELL' IN
|
|
TYPEOF(m.sbwm_boundary[j]))))
|
|
THEN
|
|
result := FALSE;
|
|
RETURN(result);
|
|
(* A wireframe model is composed of WIRE_ and VERTEX_SHELLs *)
|
|
END_IF;
|
|
END_REPEAT;
|
|
RETURN(result);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION constraints_param_b_spline
|
|
(degree: INTEGER; up_knots: INTEGER; up_cp: INTEGER; knot_mult: LIST [0:?] OF INTEGER; knots: LIST [0:?] OF parameter_value) : BOOLEAN;
|
|
LOCAL
|
|
result : BOOLEAN := TRUE;
|
|
k, sum : INTEGER;
|
|
END_LOCAL;
|
|
|
|
(* Find sum of knot multiplicities. *)
|
|
sum := knot_mult[1];
|
|
|
|
REPEAT i := 2 TO up_knots;
|
|
sum := sum + knot_mult[i];
|
|
END_REPEAT;
|
|
|
|
(* Check limits holding for all B-spline parametrisations *)
|
|
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;
|
|
|
|
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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF
|
|
(s.segments[i][j].parent_surface)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF
|
|
(s.segments[i][j].parent_surface))) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END_REPEAT;
|
|
END_REPEAT;
|
|
|
|
(* Check the transition codes, omitting the last row or column *)
|
|
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;
|
|
|
|
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;
|
|
|
|
FUNCTION cross_product
|
|
(arg1: direction; arg2: direction) : vector;
|
|
LOCAL
|
|
mag : REAL;
|
|
res : direction;
|
|
v1,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
|
|
BEGIN
|
|
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;
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
FUNCTION default_tolerance_table_cell_wr2
|
|
(agg: compound_item_definition) : BOOLEAN;
|
|
BEGIN
|
|
IF SIZEOF(agg) <= 5 THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION default_tolerance_table_cell_wr3
|
|
(agg: compound_item_definition) : BOOLEAN;
|
|
BEGIN
|
|
IF (SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i))
|
|
AND (i\representation_item.name = 'significant number of digits')) )) = 1) OR
|
|
((SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
|
|
(i\representation_item.name = 'lower limit')) )) = 1) AND
|
|
(SIZEOF( QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
|
|
(i\representation_item.name = 'upper limit')) )) = 1)) THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION default_tolerance_table_cell_wr4
|
|
(agg: compound_item_definition) : BOOLEAN;
|
|
BEGIN
|
|
IF (SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
|
|
(i\representation_item.name = 'plus minus tolerance value')) )) = 1) OR
|
|
((SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (
|
|
i\representation_item.name = 'lower tolerance value')) )) = 1) AND
|
|
(SIZEOF( QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND (
|
|
i\representation_item.name = 'upper tolerance value')) )) = 1)) THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION default_tolerance_table_cell_wr5
|
|
(agg: compound_item_definition) : BOOLEAN;
|
|
BEGIN
|
|
IF (SIZEOF(QUERY ( i <* agg | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) <= 1) AND
|
|
(SIZEOF(QUERY ( i <* agg | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) =
|
|
SIZEOF(QUERY ( i <* agg | (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND
|
|
(i\representation_item.name = 'cell description'))) ))
|
|
THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION dependently_instantiated
|
|
(set_of_input_instances: SET [0:?] OF GENERIC: igen; set_of_input_types: SET [0:?] OF STRING; previous_in_chain: LIST [0:?] OF GENERIC: cgen) : BOOLEAN;
|
|
LOCAL
|
|
number_of_input_instances : INTEGER;
|
|
number_of_referring_instances : INTEGER;
|
|
bag_of_referring_instances : BAG OF GENERIC:igen := [];
|
|
dependently_instantiated_flag : BOOLEAN;
|
|
previous_in_chain_plus : LIST OF GENERIC:cgen := [];
|
|
result : BOOLEAN := true;
|
|
set_of_types : SET OF STRING := [];
|
|
END_LOCAL;
|
|
|
|
IF EXISTS(set_of_input_instances) THEN
|
|
number_of_input_instances := SIZEOF(set_of_input_instances);
|
|
(* Add the declared type of bag_of_referring_instances to the set of
|
|
types of the REFERENCEd instances for the subset comparison later.
|
|
*)
|
|
set_of_input_types := set_of_input_types + 'GENERIC';
|
|
REPEAT i:=1 TO number_of_input_instances;
|
|
(* Determine all references to the current input instance. *)
|
|
bag_of_referring_instances := USEDIN (set_of_input_instances[i] , '');
|
|
IF EXISTS(bag_of_referring_instances) THEN
|
|
number_of_referring_instances := SIZEOF(bag_of_referring_instances);
|
|
dependently_instantiated_flag := false;
|
|
REPEAT j:=1 TO number_of_referring_instances;
|
|
(* Determine the type strings of the current referencing instance.
|
|
*)
|
|
set_of_types := TYPEOF(bag_of_referring_instances[j]);
|
|
(* If the referencing instance is of one of the types of the
|
|
only dependently instantiable select items, the current input
|
|
instance may still be invalidly instantiated.
|
|
Otherwise it is OK, and the next input instance is tested.
|
|
*)
|
|
IF set_of_types <= set_of_input_types THEN -- subset operator
|
|
(* The referring instance is of one of the restricted types.
|
|
However, it may itself be referred to by a valid instance;
|
|
then also the current instance would be valid.
|
|
Thus, call this function recursively with the referring
|
|
instance as input.
|
|
To avoid an infinite loop in case a set of instances
|
|
reference each other in a closed loop, test first whether
|
|
the current referencing instance is in the list of
|
|
previously processed chain members.
|
|
*)
|
|
IF NOT (bag_of_referring_instances[j] IN previous_in_chain) THEN
|
|
previous_in_chain_plus := previous_in_chain +
|
|
set_of_input_instances[i];
|
|
IF dependently_instantiated([bag_of_referring_instances[j]],
|
|
set_of_input_types,
|
|
previous_in_chain_plus) THEN
|
|
dependently_instantiated_flag := true;
|
|
ESCAPE; -- dependently instantiated; next input instance
|
|
ELSE
|
|
(* Not dependently instantiated: go to next referring
|
|
instance. *)
|
|
SKIP;
|
|
END_IF;
|
|
END_IF;
|
|
ELSE
|
|
dependently_instantiated_flag := true;
|
|
ESCAPE; -- dependently instantiated; take next input instance
|
|
END_IF;
|
|
END_REPEAT;
|
|
IF NOT dependently_instantiated_flag THEN
|
|
RETURN(false);
|
|
END_IF;
|
|
ELSE
|
|
RETURN(false); -- not referenced at all => invalidly instantiated
|
|
END_IF;
|
|
END_REPEAT;
|
|
ELSE
|
|
RETURN(false); -- no input
|
|
END_IF;
|
|
|
|
RETURN(true);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION derive_angle
|
|
(placement_1: axis2_placement_3d; placement_2: axis2_placement_3d) : plane_angle_measure;
|
|
LOCAL
|
|
v1 : direction;
|
|
v2 : direction;
|
|
mag_v1 : REAL;
|
|
mag_v2 : REAL;
|
|
theta : plane_angle_measure;
|
|
END_LOCAL;
|
|
v1 := placement_1.p[1];
|
|
v2 := placement_2.p[1];
|
|
mag_v1 := SQRT (v1.direction_ratios[1]*v1.direction_ratios[1] +
|
|
v1.direction_ratios[2]*v1.direction_ratios[2]);
|
|
mag_v2 := SQRT (v2.direction_ratios[1]*v2.direction_ratios[1] +
|
|
v2.direction_ratios[2]*v2.direction_ratios[2]);
|
|
IF ((mag_v1 = 0.0) OR (mag_v2 = 0.0)) THEN
|
|
theta := 0.0;
|
|
RETURN (theta);
|
|
END_IF;
|
|
theta := ACOS ((v1.direction_ratios[1]*v2.direction_ratios[1] +
|
|
v1.direction_ratios[2]*v2.direction_ratios[2]) /
|
|
(mag_v1*mag_v2));
|
|
RETURN (theta);
|
|
END_FUNCTION;
|
|
|
|
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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION dimension_of
|
|
(item: geometric_representation_item) : dimension_count;
|
|
LOCAL
|
|
x : SET OF representation;
|
|
y : representation_context;
|
|
dim : dimension_count;
|
|
END_LOCAL;
|
|
-- For cartesian_point, direction, or vector dimension is determined by
|
|
-- counting components.
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF(item) THEN
|
|
dim := SIZEOF(item\cartesian_point.coordinates);
|
|
RETURN(dim);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIRECTION' IN TYPEOF(item) THEN
|
|
dim := SIZEOF(item\direction.direction_ratios);
|
|
RETURN(dim);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(item) THEN
|
|
dim := SIZEOF(item\vector.orientation\direction.direction_ratios);
|
|
RETURN(dim);
|
|
END_IF;
|
|
-- For all other types of geometric_representation_item dim is obtained
|
|
-- via context.
|
|
-- Find the set of representation in which the item is used.
|
|
|
|
x := using_representations(item);
|
|
|
|
-- Determines the dimension_count of the
|
|
-- geometric_representation_context. Note that the
|
|
-- RULE compatible_dimension ensures that the context_of_items
|
|
-- is of type geometric_representation_context and has
|
|
-- the same dimension_count for all values of x.
|
|
-- The SET x is non-empty since this is required by WR1 of
|
|
-- representation_item.
|
|
y := x[1].context_of_items;
|
|
dim := y\geometric_representation_context.coordinate_space_dimension;
|
|
RETURN (dim);
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
FUNCTION dot_product
|
|
(arg1: direction; arg2: direction) : REAL;
|
|
LOCAL
|
|
scalar : REAL;
|
|
vec1, vec2: direction;
|
|
ndim : INTEGER;
|
|
END_LOCAL;
|
|
|
|
IF NOT EXISTS (arg1) OR NOT EXISTS (arg2) THEN
|
|
scalar := ?;
|
|
(* When function is called with invalid data an indeterminate result
|
|
is returned *)
|
|
ELSE
|
|
IF (arg1.dim <> arg2.dim) THEN
|
|
scalar := ?;
|
|
(* When function is called with invalid data an indeterminate result
|
|
is returned *)
|
|
ELSE
|
|
BEGIN
|
|
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;
|
|
END_IF;
|
|
END_IF;
|
|
RETURN (scalar);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION edge_reversed
|
|
(an_edge: edge) : oriented_edge;
|
|
LOCAL
|
|
the_reverse : oriented_edge;
|
|
END_LOCAL;
|
|
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION external_version_assignment_is_valid
|
|
(aia: applied_external_identification_assignment) : BOOLEAN;
|
|
LOCAL
|
|
item: identification_item;
|
|
role: identification_role;
|
|
END_LOCAL;
|
|
role:= aia.role;
|
|
IF role.name='version' THEN
|
|
REPEAT i:=LOINDEX(aia.items) TO HIINDEX(aia.items);
|
|
item:= aia.items[i];
|
|
IF (SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'EXTERNALLY_VERSIONED_ITEM']*TYPEOF(item))=0) THEN
|
|
-- item invalid if item does not belong to versionable types
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END_REPEAT;
|
|
RETURN(TRUE);
|
|
ELSE -- case where aia does not convey a version id
|
|
RETURN(TRUE);
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION face_bound_reversed
|
|
(a_face_bound: face_bound) : face_bound;
|
|
LOCAL
|
|
the_reverse : face_bound ;
|
|
END_LOCAL;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION face_reversed
|
|
(a_face: face) : oriented_face;
|
|
LOCAL
|
|
the_reverse : oriented_face ;
|
|
END_LOCAL;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
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;
|
|
|
|
FUNCTION gbsf_check_curve
|
|
(cv: representation_item) : BOOLEAN;
|
|
IF SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
IF SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE'] * TYPEOF(cv)) = 1 THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN
|
|
RETURN (gbsf_check_curve(cv\curve_replica.parent_curve));
|
|
ELSE
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\offset_curve_3d.self_intersect = FALSE) OR (cv\offset_curve_3d.self_intersect = UNKNOWN)) AND (NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF(cv\offset_curve_3d.basis_curve)))) THEN
|
|
RETURN (gbsf_check_curve(cv\offset_curve_3d.basis_curve));
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN
|
|
IF (SIZEOF(cv\polyline.points) >= 3) THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION gbsf_check_point
|
|
(pnt: point) : BOOLEAN;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF(pnt) THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE' IN TYPEOF(pnt) THEN
|
|
RETURN (gbsf_check_curve(pnt\point_on_curve.basis_curve));
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN
|
|
RETURN (gbsf_check_surface(pnt\point_on_surface.basis_surface));
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION gbsf_check_surface
|
|
(sf: surface) : BOOLEAN;
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SPHERICAL_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TOROIDAL_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_BOUNDED_SURFACE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(sf)) = 1 THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_REPLICA' IN TYPEOF(sf) THEN
|
|
RETURN (gbsf_check_surface(sf\surface_replica.parent_surface));
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PCURVE' IN TYPEOF (c) THEN
|
|
surfs := [c\pcurve.basis_surface];
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF (c) THEN
|
|
(* For a composite_curve_on_surface the basis_surface is the intersection
|
|
of the basis_surfaces of all the segments. *)
|
|
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;
|
|
|
|
FUNCTION get_description_value
|
|
(obj: description_attribute_select) : text;
|
|
LOCAL
|
|
description_bag : BAG OF description_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM'));
|
|
END_LOCAL;
|
|
|
|
IF SIZEOF(description_bag) = 1 THEN
|
|
RETURN (description_bag[1].attribute_value);
|
|
ELSE
|
|
RETURN (?);
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION get_id_value
|
|
(obj: id_attribute_select) : identifier;
|
|
LOCAL
|
|
id_bag : BAG OF id_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM'));
|
|
END_LOCAL;
|
|
|
|
IF SIZEOF(id_bag) = 1 THEN
|
|
RETURN (id_bag[1].attribute_value);
|
|
ELSE
|
|
RETURN (?);
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION get_name_value
|
|
(obj: name_attribute_select) : label;
|
|
LOCAL
|
|
name_bag : BAG OF name_attribute := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'NAME_ATTRIBUTE.' + 'NAMED_ITEM'));
|
|
END_LOCAL;
|
|
|
|
IF SIZEOF(name_bag) = 1 THEN
|
|
RETURN (name_bag[1].attribute_value);
|
|
ELSE
|
|
RETURN (?);
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION get_role
|
|
(obj: role_select) : object_role;
|
|
LOCAL
|
|
role_bag : BAG OF role_association := (USEDIN(obj, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE'));
|
|
END_LOCAL;
|
|
|
|
IF SIZEOF(role_bag) = 1 THEN
|
|
RETURN (role_bag[1].role);
|
|
ELSE
|
|
RETURN (?);
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION get_shape_aspect_property_definition_representations
|
|
(s_a_instance: shape_aspect) : SET [0:?] 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, 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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], 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)));
|
|
END_REPEAT;
|
|
RETURN (pdr_set);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION is_acyclic
|
|
(arg: generic_expression) : BOOLEAN;
|
|
RETURN (acyclic (arg, []));
|
|
END_FUNCTION;
|
|
|
|
FUNCTION is_int_expr
|
|
(arg: numeric_expression) : LOGICAL;
|
|
LOCAL
|
|
i: INTEGER := 0;
|
|
END_LOCAL;
|
|
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_LITERAL' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_LITERAL' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (is_int_expr(arg\unary_numeric_expression.operand));
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (is_int_expr(arg\unary_numeric_expression.operand));
|
|
END_IF;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COS_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQUARE_ROOT_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MULT_EXPRESSION'
|
|
IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAXIMUM_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg))
|
|
THEN
|
|
RETURN(TRUE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SLASH_EXPRESSION' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_FUNCTION' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg)
|
|
THEN
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INT_VALUE_FUNCTION'
|
|
IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INTEGER_DEFINED_FUNCTION'
|
|
IN TYPEOF(arg)
|
|
THEN
|
|
RETURN(TRUE) ;
|
|
END_IF;
|
|
IF'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN(FALSE) ;
|
|
END_IF ;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_DEFINED_FUNCTION'
|
|
IN TYPEOF(arg)
|
|
THEN
|
|
RETURN(FALSE) ;
|
|
END_IF ;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_DEFINED_FUNCTION'
|
|
IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (FALSE) ;
|
|
END_IF ;
|
|
|
|
RETURN (FALSE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION is_SQL_mappable
|
|
(arg: expression) : LOGICAL;
|
|
LOCAL
|
|
i: INTEGER;
|
|
END_LOCAL;
|
|
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_NUMERIC_EXPRESSION'
|
|
IN TYPEOF (arg)
|
|
THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION'
|
|
IN TYPEOF (arg)
|
|
THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg)
|
|
THEN
|
|
RETURN (is_SQL_mappable(arg\unary_numeric_expression.operand));
|
|
END_IF;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COS_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SQUARE_ROOT_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg))
|
|
OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MULT_EXPRESSION' IN TYPEOF(arg))
|
|
OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MAXIMUM_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg))
|
|
OR('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POWER_EXPRESSION'
|
|
IN TYPEOF(arg))
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION'
|
|
IN TYPEOF (arg)
|
|
THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NOT_EXPRESSION' IN TYPEOF (arg)
|
|
THEN
|
|
RETURN (is_SQL_mappable (arg\UNARY_GENERIC_EXPRESSION.OPERAND));
|
|
END_IF;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ODD_FUNCTION'IN TYPEOF (arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.XOR_EXPRESSION'
|
|
IN TYPEOF (arg))
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.AND_EXPRESSION' IN TYPEOF (arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_EQUAL' IN TYPEOF (arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_GREATER'
|
|
IN TYPEOF (arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_GREATER_EQUAL'
|
|
IN TYPEOF (arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_LESS'
|
|
IN TYPEOF (arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_LESS_EQUAL'
|
|
IN TYPEOF (arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.COMPARISON_NOT_EQUAL'
|
|
IN TYPEOF (arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.NUMERIC_DEFINED_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOOLEAN_DEFINED_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.STRING_DEFINED_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
THEN
|
|
RETURN (FALSE) ;
|
|
END_IF;
|
|
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SIMPLE_STRING_EXPRESSION'
|
|
IN TYPEOF(ARG)
|
|
THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.INDEX_EXPRESSION' IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SUBSTRING_EXPRESSION'
|
|
IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONCAT_EXPRESSION'
|
|
IN TYPEOF(arg))
|
|
OR ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FORMAT_FUNCTION'
|
|
IN TYPEOF(arg))
|
|
THEN
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
|
|
RETURN (FALSE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION item_in_context
|
|
(item: representation_item; cntxt: representation_context) : BOOLEAN;
|
|
LOCAL
|
|
y : BAG OF representation_item;
|
|
END_LOCAL;
|
|
-- If there is one or more representation using both the item
|
|
-- and cntxt return true.
|
|
IF SIZEOF(USEDIN(item,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION.ITEMS')
|
|
* cntxt.representations_in_context) > 0 THEN
|
|
RETURN (TRUE);
|
|
-- Determine the bag of representation_items that reference
|
|
-- item
|
|
ELSE y := QUERY(z <* USEDIN (item , '') |
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z));
|
|
-- Ensure that the bag is not empty
|
|
IF SIZEOF(y) > 0 THEN
|
|
-- For each element in the bag
|
|
REPEAT i := 1 TO HIINDEX(y);
|
|
-- Check to see it is an item in the input cntxt.
|
|
IF item_in_context(y[i], cntxt) THEN
|
|
RETURN (TRUE);
|
|
END_IF;
|
|
END_REPEAT;
|
|
END_IF;
|
|
END_IF;
|
|
-- Return false when all possible branches have been checked
|
|
-- with no success.
|
|
RETURN (FALSE);
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
FUNCTION list_face_loops
|
|
(f: face) : LIST [0:?] OF loop;
|
|
LOCAL
|
|
loops : LIST[0:?] OF loop := [];
|
|
END_LOCAL;
|
|
|
|
REPEAT i := 1 TO SIZEOF(f.bounds);
|
|
loops := loops +(f.bounds[i].bound);
|
|
END_REPEAT;
|
|
|
|
RETURN(loops);
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
FUNCTION list_to_array
|
|
(lis: LIST [0:?] 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;
|
|
|
|
FUNCTION list_to_set
|
|
(l: LIST [0:?] OF GENERIC: T) : SET [0:?] 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;
|
|
|
|
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;
|
|
|
|
(* Check input dimensions for consistency *)
|
|
IF (u1-low1+1) <> SIZEOF(lis) THEN
|
|
RETURN (?);
|
|
END_IF;
|
|
IF (u2 - low2 + 1 ) <> SIZEOF(lis[1]) THEN
|
|
RETURN (?) ;
|
|
END_IF;
|
|
(* Initialise res with values from lis[1] *)
|
|
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;
|
|
|
|
FUNCTION mixed_loop_type_set
|
|
(l: SET [0:?] OF loop) : LOGICAL;
|
|
LOCAL
|
|
poly_loop_type: LOGICAL;
|
|
END_LOCAL;
|
|
IF(SIZEOF(l) <= 1) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
poly_loop_type := ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLY_LOOP' IN TYPEOF(l[1]));
|
|
REPEAT i := 2 TO SIZEOF(l);
|
|
IF(('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLY_LOOP' IN TYPEOF(l[i])) <> poly_loop_type)
|
|
THEN
|
|
RETURN(TRUE);
|
|
END_IF;
|
|
END_REPEAT;
|
|
RETURN(FALSE);
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
FUNCTION msf_curve_check
|
|
(cv: representation_item) : BOOLEAN;
|
|
IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
|
|
(* b_spline_curves shall not self-intersect
|
|
*)
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
|
|
(* conics and lines are valid curve types
|
|
*)
|
|
IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE']
|
|
* TYPEOF (cv)) = 1 THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
|
|
(* a curve_replica shall reference a valid curve
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN
|
|
RETURN (msf_curve_check(cv\curve_replica.parent_curve));
|
|
ELSE
|
|
|
|
(* an offset_curve_3d shall not self-intersect and
|
|
shall reference a valid curve; a polyline is not a
|
|
valid basis_curve
|
|
*)
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv))
|
|
AND
|
|
((cv\offset_curve_3d.self_intersect = FALSE) OR
|
|
(cv\offset_curve_3d.self_intersect = UNKNOWN))
|
|
AND
|
|
(NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF
|
|
(cv\offset_curve_3d.basis_curve)))) THEN
|
|
RETURN (msf_curve_check(cv\offset_curve_3d.basis_curve));
|
|
ELSE
|
|
|
|
(* a pcurve shall reference a valid curve and a valid
|
|
basis_surface
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
|
|
(* a surface_curve references a curve_3d and one or
|
|
two pcurves or one or two surfaces or one of
|
|
each; all of these references shall be valid
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN
|
|
|
|
(* if the curve reference is correct, check also the rest
|
|
*)
|
|
IF msf_curve_check(cv\surface_curve.curve_3d) THEN
|
|
REPEAT i := 1 TO SIZEOF
|
|
(cv\surface_curve.associated_geometry);
|
|
|
|
(* do for one or two associated_geometrys:
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
|
|
(* a polyline shall have at least 3 points
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
(* FALSE is returned if the input parameter cv is not a valid curve.
|
|
*)
|
|
RETURN (FALSE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION msf_surface_check
|
|
(surf: surface) : BOOLEAN;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
|
|
(* a swept_surface shall have a valid sweeping curve
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN
|
|
RETURN (msf_curve_check(surf\swept_surface.swept_curve));
|
|
ELSE
|
|
|
|
(* an offset_surface shall not self-intersect and shall
|
|
reference a valid surface
|
|
*)
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
|
|
(* a surface_replica shall have a valid parent surface
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN
|
|
RETURN(msf_surface_check(surf\surface_replica.parent_surface));
|
|
ELSE
|
|
|
|
(* a b_spline_surface shall not self-intersect
|
|
*)
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION nmsf_curve_check
|
|
(cv: representation_item) : BOOLEAN;
|
|
IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.BOUNDED_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1
|
|
THEN RETURN(FALSE);
|
|
ELSE
|
|
|
|
(* b_spline_curves shall not self-intersect
|
|
*)
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
|
|
(* conics and lines are valid curve types
|
|
*)
|
|
IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE'] * TYPEOF (cv)) = 1 THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
|
|
(* a curve_replica shall reference a valid curve
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN
|
|
RETURN (nmsf_curve_check(cv\curve_replica.parent_curve));
|
|
ELSE
|
|
|
|
(* an offset_curve_3d shall not self-intersect and
|
|
shall reference a valid curve; a polyline is not a
|
|
valid basis_curve
|
|
*)
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv))
|
|
AND
|
|
((cv\offset_curve_3d.self_intersect = FALSE) OR
|
|
(cv\offset_curve_3d.self_intersect = UNKNOWN))
|
|
AND
|
|
(NOT ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' IN TYPEOF
|
|
(cv\offset_curve_3d.basis_curve)))) THEN
|
|
RETURN (nmsf_curve_check(cv\offset_curve_3d.basis_curve));
|
|
ELSE
|
|
|
|
(* a pcurve shall reference a valid curve and a valid
|
|
basis_surface
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
|
|
(* a surface_curve references a curve_3d and one or
|
|
two pcurves or one or two surfaces or one of
|
|
each; all of these references shall be valid
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN
|
|
|
|
(* if the curve reference is correct, check also the rest
|
|
*)
|
|
IF nmsf_curve_check(cv\surface_curve.curve_3d) THEN
|
|
REPEAT i := 1 TO SIZEOF
|
|
(cv\surface_curve.associated_geometry);
|
|
|
|
(* do for one or two associated_geometrys:
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
|
|
(* a polyline shall have at least 3 points
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
(* FALSE is returned if the input parameter cv is not a valid curve.
|
|
*)
|
|
RETURN (FALSE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION nmsf_surface_check
|
|
(surf: surface) : BOOLEAN;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
|
|
(* a swept_surface shall have a valid sweeping curve
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN
|
|
RETURN (nmsf_curve_check(surf\swept_surface.swept_curve));
|
|
ELSE
|
|
|
|
(* an offset_surface shall not self-intersect and shall
|
|
reference a valid surface
|
|
*)
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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
|
|
|
|
(* a surface_replica shall have a valid parent surface
|
|
*)
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN
|
|
RETURN(nmsf_surface_check(surf\surface_replica.parent_surface));
|
|
ELSE
|
|
|
|
(* a b_spline_surface shall not self-intersect
|
|
*)
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
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 := ?;
|
|
(* When function is called with invalid data a NULL result is returned *)
|
|
ELSE
|
|
ndim := arg.dim;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(arg) THEN
|
|
BEGIN
|
|
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;
|
|
END;
|
|
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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION open_shell_reversed
|
|
(a_shell: open_shell) : oriented_open_shell;
|
|
LOCAL
|
|
the_reverse : oriented_open_shell;
|
|
END_LOCAL;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
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;
|
|
|
|
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;
|
|
|
|
FUNCTION path_reversed
|
|
(a_path: path) : oriented_path;
|
|
LOCAL
|
|
the_reverse : oriented_path ;
|
|
END_LOCAL;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
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;
|
|
|
|
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;
|
|
|
|
FUNCTION shell_reversed
|
|
(a_shell: shell) : shell;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OPEN_SHELL' IN TYPEOF (a_shell) ) THEN
|
|
RETURN (open_shell_reversed (a_shell));
|
|
ELSE
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN
|
|
RETURN (closed_shell_reversed (a_shell));
|
|
ELSE
|
|
RETURN (?);
|
|
END_IF;
|
|
END_IF;
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
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;
|
|
|
|
FUNCTION topology_reversed
|
|
(an_item: reversible_topology) : reversible_topology;
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.EDGE' IN TYPEOF (an_item)) THEN
|
|
RETURN (edge_reversed (an_item));
|
|
END_IF;
|
|
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PATH' IN TYPEOF (an_item)) THEN
|
|
RETURN (path_reversed (an_item));
|
|
END_IF;
|
|
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE_BOUND' IN TYPEOF (an_item)) THEN
|
|
RETURN (face_bound_reversed (an_item));
|
|
END_IF;
|
|
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FACE' IN TYPEOF (an_item)) THEN
|
|
RETURN (face_reversed (an_item));
|
|
END_IF;
|
|
|
|
IF ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION type_check_function
|
|
(the_type: GENERIC; sub_names: SET [0:?] 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;
|
|
|
|
FUNCTION using_items
|
|
(item: founded_item_select; checked_items: SET [0:?] OF founded_item_select) : SET [0:?] 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;
|
|
-- Find the set of representation_items or founded_items
|
|
-- in which item is used directly.
|
|
next_items := QUERY(z <* bag_to_set( USEDIN(item , '')) |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)) OR
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FOUNDED_ITEM' IN TYPEOF(z)));
|
|
-- If the set of next_items is not empty;
|
|
IF SIZEOF(next_items) > 0 THEN
|
|
-- For each element in the set, find the using_items recursively
|
|
REPEAT i := 1 TO HIINDEX(next_items);
|
|
-- Check for loop in data model, i.e. one of the next_items
|
|
-- occurred earlier in the set of check_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 the set of representation_items or founded_items
|
|
-- in which the input item is used directly and indirectly.
|
|
RETURN (result_items);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION using_representations
|
|
(item: founded_item_select) : SET [0:?] OF representation;
|
|
LOCAL
|
|
results : SET OF representation;
|
|
result_bag : BAG OF representation;
|
|
intermediate_items : SET OF founded_item_select;
|
|
END_LOCAL;
|
|
-- Find the representations in which the item is used and add to the
|
|
-- results set.
|
|
results := [];
|
|
result_bag := USEDIN(item,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION.ITEMS');
|
|
IF SIZEOF(result_bag) > 0 THEN
|
|
REPEAT i := 1 TO HIINDEX(result_bag);
|
|
results := results + result_bag[i];
|
|
END_REPEAT;
|
|
END_IF;
|
|
-- Find all representation_items or founded_items
|
|
-- by which item is referenced directly or indirectly.
|
|
intermediate_items := using_items(item,[]);
|
|
-- If the set of intermediate items is not empty;
|
|
IF SIZEOF(intermediate_items) > 0 THEN
|
|
-- For each element in the set, add the
|
|
-- representations of that element.
|
|
REPEAT i := 1 TO HIINDEX(intermediate_items);
|
|
result_bag := USEDIN(intermediate_items[i],
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 the set of representation in which the input item is
|
|
-- used directly and indirectly (through intervening
|
|
-- representation_items or founded items).
|
|
RETURN (results);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION valid_basis_curve_in_2d_wireframe
|
|
(crv: curve) : BOOLEAN;
|
|
IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE'] *
|
|
TYPEOF (crv)) = 1
|
|
THEN RETURN (TRUE);
|
|
ELSE
|
|
-- if the curve is a trimmed_curve
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE')
|
|
IN TYPEOF (crv)) THEN
|
|
-- if a line, parabola, or hyperbola is being trimmed, then valid
|
|
IF SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARABOLA',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.HYPERBOLA'] *
|
|
TYPEOF(crv\trimmed_curve.basis_curve)) = 1
|
|
THEN RETURN (TRUE);
|
|
-- otherwise, recursively check basis_curve
|
|
ELSE RETURN (valid_basis_curve_in_2d_wireframe
|
|
(crv\trimmed_curve.basis_curve));
|
|
END_IF;
|
|
ELSE
|
|
-- recursively check the offset_curve basis curve
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_2D')
|
|
IN TYPEOF (crv))
|
|
THEN RETURN (valid_basis_curve_in_2d_wireframe
|
|
(crv\offset_curve_2d.basis_curve));
|
|
ELSE
|
|
-- recursively check the curve_replica parent curve
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA')
|
|
IN TYPEOF (crv))
|
|
THEN RETURN (valid_basis_curve_in_2d_wireframe
|
|
(crv\curve_replica.parent_curve));
|
|
ELSE
|
|
-- recursively check the composite_curve segments
|
|
IF (('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
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;
|
|
|
|
FUNCTION valid_datum_target_parameters
|
|
(pdf: placed_datum_target_feature) : BOOLEAN;
|
|
LOCAL
|
|
|
|
rep_set : SET OF representation := [] ;
|
|
|
|
parameter_representations: SET OF representation;
|
|
END_LOCAL;
|
|
|
|
|
|
REPEAT i := 1 TO HIINDEX(pdf.representation_associations);
|
|
rep_set := rep_set + pdf.representation_associations[i].used_representation;
|
|
END_REPEAT;
|
|
|
|
parameter_representations := QUERY(rep <* rep_set |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN
|
|
TYPEOF(rep)));
|
|
|
|
|
|
IF (SIZEOF( QUERY( srwp <* parameter_representations |
|
|
(SIZEOF( QUERY( i <* srwp.items |
|
|
(i.name='orientation') AND
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PLACEMENT' IN TYPEOF(i)))) = 1))) <> 1) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
|
|
CASE pdf\shape_aspect.description OF
|
|
'point': RETURN(SIZEOF(QUERY( srwp <* parameter_representations |
|
|
(SIZEOF(srwp.items) = 1))) = 1);
|
|
|
|
'circle': RETURN((SIZEOF( QUERY( srwp <* parameter_representations |
|
|
(SIZEOF(srwp.items) = 2))) = 1) AND
|
|
(SIZEOF( QUERY( srwp <* parameter_representations |
|
|
(SIZEOF( QUERY( i <* srwp.items |
|
|
(i.name='target diameter') AND
|
|
(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i)
|
|
) = 2) )) = 1))) = 1));
|
|
|
|
'line': RETURN(SIZEOF( QUERY( srwp <* parameter_representations |
|
|
(SIZEOF( QUERY( i <* srwp.items |
|
|
(i.name='target length') AND
|
|
(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i)
|
|
) = 2) )) = 1))) = 1);
|
|
|
|
'rectangle': RETURN((SIZEOF( QUERY( srwp <* parameter_representations |
|
|
(SIZEOF(srwp.items)= 3))) = 1) AND
|
|
(SIZEOF( QUERY( srwp <* parameter_representations |
|
|
(SIZEOF( QUERY( i <* srwp.items |
|
|
(i.name='target length') AND
|
|
(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i)
|
|
) = 2))) = 1))) = 1) AND
|
|
(SIZEOF( QUERY( srwp <* parameter_representations |
|
|
(SIZEOF( QUERY( i <* srwp.items |
|
|
(i.name='target width') AND
|
|
(SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM',
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i)
|
|
) = 2))) = 1) )) = 1));
|
|
OTHERWISE : RETURN(FALSE);
|
|
END_CASE;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION valid_geometrically_bounded_wf_curve
|
|
(crv: curve) : BOOLEAN;
|
|
IF SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.ELLIPSE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CIRCLE' ] * TYPEOF (crv)) = 1 THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.TRIMMED_CURVE' IN TYPEOF (crv) THEN
|
|
IF SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PARABOLA', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN
|
|
RETURN (valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.basis_curve));
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN
|
|
RETURN (valid_geometrically_bounded_wf_curve(crv\curve_replica.parent_curve));
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION valid_geometrically_bounded_wf_point
|
|
(pnt: point) : BOOLEAN;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_ON_CURVE' IN TYPEOF (pnt) THEN
|
|
RETURN (valid_geometrically_bounded_wf_curve(pnt\point_on_curve.basis_curve));
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
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;
|
|
|
|
FUNCTION valid_selected_instance_representation
|
|
(pd: product_definition_or_assembly_relationship) : LOGICAL;
|
|
LOCAL
|
|
properties: SET OF property_definition := bag_to_set(QUERY( prd<* USEDIN ( pd ,'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) |
|
|
(prd.name = 'occurrence selection' )));
|
|
property_definition_representations: SET OF property_definition_representation := bag_to_set(QUERY ( pdr <* USEDIN ( properties[1] , 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
|
|
( pdr.used_representation.name = 'selection criteria' )));
|
|
selected_representation: representation;
|
|
END_LOCAL;
|
|
IF (SIZEOF( properties)<>1) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
IF (SIZEOF(property_definition_representations)<>1) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
selected_representation := property_definition_representations[1]\property_definition_representation.used_representation;
|
|
IF (SIZEOF(selected_representation\representation.items) <1) OR (SIZEOF(selected_representation\representation.items) >2) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items |
|
|
( SIZEOF (['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) = 1) AND
|
|
( i.name = 'selection quantity' ))) <> 1 ) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND
|
|
( i.name = 'selection control' )))> 1) THEN
|
|
RETURN(FALSE);
|
|
END_IF; --the selection control is not specified then the quantity shall be a qualified_representation_item or a value_range
|
|
IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items |
|
|
( 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND
|
|
( i.name = 'selection control' ) ))= 0) AND
|
|
(SIZEOF ( QUERY ( i <* selected_representation\representation.items |
|
|
( i.name = 'selection quantity' ) AND
|
|
( SIZEOF(['AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.QUALIFIED_REPRESENTATION_ITEM' ,
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) =0 ))) > 0 ) THEN
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
RETURN(TRUE);
|
|
END_FUNCTION;
|
|
|
|
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;
|
|
|
|
FUNCTION valid_units
|
|
(m: measure_with_unit) : BOOLEAN;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION valid_wireframe_edge_curve
|
|
(crv: curve) : BOOLEAN;
|
|
IF SIZEOF ([ 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.LINE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CONIC', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.B_SPLINE_CURVE', 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POLYLINE' ] * TYPEOF (crv)) = 1 THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN
|
|
RETURN (valid_wireframe_edge_curve(crv\curve_replica.parent_curve));
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
|
|
FUNCTION valid_wireframe_vertex_point
|
|
(pnt: point) : BOOLEAN;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN
|
|
RETURN (valid_wireframe_vertex_point(pnt\point_replica.parent_pt));
|
|
END_IF ;
|
|
END_IF ;
|
|
RETURN (FALSE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION validate_countersink_radii
|
|
(cskhole: solid_with_stepped_round_hole_and_conical_transitions) : BOOLEAN;
|
|
LOCAL
|
|
i,j : INTEGER;
|
|
n : INTEGER := 1 +
|
|
cskhole\solid_with_stepped_round_hole.segments;
|
|
smaller, larger : positive_length_measure;
|
|
END_LOCAL;
|
|
|
|
REPEAT i := 1 TO SIZEOF(cskhole.conical_transitions);
|
|
|
|
-- First check whether transition i applies to the entry of the hole or
|
|
-- the exit of a through hole - those cases only need to be checked for
|
|
-- the sign of the cone apex angle.
|
|
|
|
IF (((cskhole.conical_transitions[i].transition_number = 1)
|
|
AND (cskhole.conical_transitions[i].cone_apex_angle < 0))
|
|
XOR ((cskhole.conical_transitions[i].transition_number = n)
|
|
AND (cskhole.conical_transitions[i].cone_apex_angle > 0)))
|
|
THEN RETURN(FALSE);
|
|
ELSE
|
|
IF ((cskhole.conical_transitions[i].transition_number <> 1)
|
|
AND (cskhole.conical_transitions[i].transition_number <> n))
|
|
THEN
|
|
|
|
-- For all remaining transitions, check that the cone base radius
|
|
-- lies in the range of validity.
|
|
|
|
|
|
BEGIN
|
|
j := cskhole.conical_transitions[i].transition_number;
|
|
IF cskhole\solid_with_stepped_round_hole.segment_radii[j]
|
|
> cskhole\solid_with_stepped_round_hole.segment_radii[j-1]
|
|
THEN
|
|
BEGIN
|
|
IF (cskhole.conical_transitions[i].cone_apex_angle > 0)
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
larger
|
|
:= cskhole\solid_with_stepped_round_hole.segment_radii[j];
|
|
smaller
|
|
:= cskhole\solid_with_stepped_round_hole.segment_radii[j-1];
|
|
END;
|
|
ELSE
|
|
BEGIN
|
|
IF (cskhole.conical_transitions[i].cone_apex_angle < 0)
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
larger
|
|
:= cskhole\solid_with_stepped_round_hole.segment_radii[j-1];
|
|
smaller
|
|
:= cskhole\solid_with_stepped_round_hole.segment_radii[j];
|
|
END;
|
|
END_IF;
|
|
IF ((cskhole.conical_transitions[i].cone_base_radius > larger)
|
|
OR (cskhole.conical_transitions[i].cone_base_radius < smaller))
|
|
THEN RETURN(FALSE);
|
|
END_IF;
|
|
END;
|
|
END_IF;
|
|
END_IF;
|
|
END_REPEAT;
|
|
RETURN(TRUE);
|
|
END_FUNCTION;
|
|
|
|
FUNCTION value_range_aggregate_rep_item
|
|
(agg: AGGREGATE OF representation_item) : BOOLEAN;
|
|
BEGIN
|
|
IF (SIZEOF(QUERY(i1 <* agg | ('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)) )) = 6) THEN
|
|
RETURN (TRUE);
|
|
ELSE
|
|
RETURN (FALSE);
|
|
END_IF;
|
|
END;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION value_range_wr1
|
|
(agg: compound_item_definition) : BOOLEAN;
|
|
BEGIN
|
|
IF (SIZEOF(agg) = 2) AND ((SIZEOF(QUERY (i1 <* agg | (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF
|
|
(i1)))) = 2) OR
|
|
(SIZEOF(QUERY (i2 <* agg | (
|
|
'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF
|
|
(i2)))) = 2))
|
|
THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION value_range_wr2
|
|
(agg: compound_item_definition) : BOOLEAN;
|
|
BEGIN
|
|
IF ((SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'upper limit'))) = 1)
|
|
AND (SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'lower limit'))) = 1))
|
|
THEN
|
|
RETURN(TRUE);
|
|
ELSE
|
|
RETURN(FALSE);
|
|
END_IF;
|
|
END;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION value_range_wr3
|
|
(agg: compound_item_definition) : BOOLEAN;
|
|
BEGIN
|
|
IF (SIZEOF(QUERY(i1 <* agg |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND
|
|
(SIZEOF (QUERY (i2 <* agg |
|
|
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
END_FUNCTION;
|
|
|
|
FUNCTION vector_difference
|
|
(arg1: vector_or_direction; arg2: vector_or_direction) : vector;
|
|
LOCAL
|
|
result : vector;
|
|
res, vec1, vec2 : direction;
|
|
mag, mag1, mag2 : REAL;
|
|
ndim : INTEGER;
|
|
END_LOCAL;
|
|
|
|
IF ((NOT EXISTS (arg1)) OR (NOT EXISTS (arg2))) OR (arg1.dim <> arg2.dim)
|
|
THEN
|
|
RETURN (?) ;
|
|
ELSE
|
|
BEGIN
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.VECTOR' IN TYPEOF(arg1) THEN
|
|
mag1 := arg1.magnitude;
|
|
vec1 := arg1\vector.orientation;
|
|
ELSE
|
|
mag1 := 1.0;
|
|
vec1 := arg1;
|
|
END_IF;
|
|
IF 'AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.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;
|
|
END_IF;
|
|
RETURN (result);
|
|
END_FUNCTION;
|
|
|
|
END_SCHEMA;
|
|
|