Application module: Physical unit 3D design view | ISO/TS 10303-1725:2018-11(E) © ISO |
This clause specifies the information requirements for the Physical unit 3D design view application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.
NOTE 1 A graphical representation of the information requirements is given in Annex C.
NOTE 2 The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Physical_unit_3d_design_view_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Physical_unit_3d_design_view_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Layered_3d_shape_arm;
--
ISO/TS 10303-1694
USE FROM
Part_template_shape_with_parameters_arm;
--
ISO/TS 10303-1720
USE FROM
Physical_unit_design_view_arm;
--
ISO/TS 10303-1728
USE FROM
Solid_model_arm;
--
ISO/TS 10303-1793
REFERENCE FROM
Support_resource_arm
--
ISO/TS 10303-1800
(bag_to_set);
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Layered_3d_shape_arm ISO/TS 10303-1694 Part_template_shape_with_parameters_arm ISO/TS 10303-1720 Physical_unit_design_view_arm ISO/TS 10303-1728 Solid_model_arm ISO/TS 10303-1793 Support_resource_arm ISO/TS 10303-1800
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
NOTE When this Application Object is being used in an exchange or sharing scenario, the user has no control over the value of the name attribute inherited from Representation.
EXPRESS specification:
*)
ENTITY Assembly_component_3d_shape_model
SUBTYPE OF (Geometric_model);
shape_characterized_component : SET[1:?] OF Assembly_component;
DERIVE
equivalent_reference_shape_model : SET[0:1] OF Geometric_model_relationship := bag_to_set(QUERY( gmr <* USEDIN(SELF, 'GEOMETRIC_MODEL_RELATIONSHIP_ARM.GEOMETRIC_MODEL_RELATIONSHIP.REP_2') |
(gmr\Representation_relationship.relation_type = 'equivalent reference shape model')));
WHERE
WR1: NOT EXISTS(SELF\Representation.name);
WR2: SIZEOF(equivalent_reference_shape_model) < 2;
END_ENTITY;
(*
Attribute definitions:
shape_characterized_component: specifies the role of the Assembly_component for the Assembly_component_3d_shape_model. There may be one or more Assembly_component for each shape_characterized_component.
equivalent_reference_shape_model: specifies the reference shape model for the present Assembly_component_3d_shape_model. The equivalent_reference_shape_model is to be provided only if the type of the shape representation of the assembly is different from the type of the shape representation of the part and establishes an equivalency relationship between the shape representation of the part and that of the assembly.
Formal propositions:
WR1: The name shall not be populated.
WR2: No more than one equivalent_reference_shape_model shall be provided.
Informal propositions:
IP1: If the type of the shape representation of the part is the same as that of the assembly the equivalent_reference_shape_model shall not be provided.
EXPRESS specification:
*)
ENTITY Component_3d_location
SUBTYPE OF (Contextual_shape_representation, Geometric_composition_with_operator_transformation);
SELF\Geometric_relationship_with_operator_transformation.transformation : Cartesian_transformation_3d;
placement_fixed : BOOLEAN;
SELF\Geometric_model_relationship.rep_1 RENAMED component_model : Assembly_component_3d_shape_model;
SELF\Geometric_model_relationship.rep_2 RENAMED assembly_model : Physical_unit_3d_shape_model;
DERIVE
component : Next_assembly_usage := SELF\Contextual_shape_representation.product_context;
the_context : Geometric_coordinate_space := assembly_model\Geometric_model.context_of_items;
SELF\Contextual_shape_representation.shape_representing_relationship : Geometric_model_relationship := SELF;
SELF\Representation_relationship.relation_type : label := 'component 3d location';
WHERE
WR1: EXISTS (component);
WR2: NOT('PHYSICAL_UNIT_3D_DESIGN_VIEW_ARM.ASSEMBLY_COMPONENT_3D_SHAPE_MODEL' IN TYPEOF(component_model)) OR
(component\Product_occurrence_definition_relationship.related_view IN component_model\Assembly_component_3d_shape_model.shape_characterized_component);
WR3: NOT('PHYSICAL_UNIT_SHAPE_WITH_PARAMETERS_ARM.PHYSICAL_UNIT_SHAPE_MODEL' IN TYPEOF(component_model)) OR
(component_model\Physical_unit_shape_model.shape_characterized_definition :=:
component\Product_occurrence_definition_relationship.related_view\Definition_based_product_occurrence.derived_from);
WR4: NOT('PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.PART_TEMPLATE_SHAPE_MODEL' IN TYPEOF(component_model)) OR
(component\Product_occurrence_definition_relationship.related_view\Definition_based_product_occurrence.derived_from IN
component_model\Part_template_shape_model.shape_characterized_definition);
END_ENTITY;
(*
Attribute definitions:
transformation: specifies the role of the Cartesian_transformation_3d for the Component_3d_location.
placement_fixed: specifies whether or not the Component_3d_location is fixed. A value of TRUE indicates that the Component_3d_location is fixed. A value of FALSE indicates that the Component_3d_location is not fixed.
component_model: specifies the role of the Assembly_component_3d_shape_model for the Component_3d_location.
assembly_model: specifies the role of the Physical_unit_3d_shape_model for the Component_3d_location.
component: specifies the role of the Next_assembly_usage for the Component_3d_location. The Next_assembly_usage specifies the actual component being placed.
the_context: specifies the Geometric_coordinate_space that is context_of_items of assembly_model.
shape_representing_relationship: a redeclared attribute from supertype, that always evaluates to self.
relation_type: specifies the string value equal to 'component 3d location'.
Formal propositions:
WR1: The component shall exist.
WR2: If TYPEOF component_model includes Assembly_component_3d_shape_model then the component is included in component_model.shape_characterized_component.
WR3: If TYPEOF component_model includes Physical_unit_shape_model then the Product_view_definition referenced by component_model.shape_characterized_definition is the Product_view_definition referenced by derived_from attribute of the Assembly_component referenced by component.
WR4: If TYPEOF component_model includes Part_template_shape_model then the Product_view_definition referenced by component_model.shape_characterized_definition is the Product_view_definition referenced by derived_from attribute of the Assembly_component referenced by component.
This subclause specifies the ARM rules for this module. The ARM rules and definitions are specified below.
EXPRESS specification:
*)
RULE unique_assembly_component_3d_shape_model FOR
(Assembly_component_3d_shape_model);
LOCAL ac : BAG OF Assembly_component := []; END_LOCAL; REPEAT i := 1 to SIZEOF(Assembly_component_3d_shape_model) by 1; ac := ac + Assembly_component_3d_shape_model[i].shape_characterized_component; END_REPEAT;
WHERE
WR1: SIZEOF(ac) = SIZEOF(bag_to_set(ac));
END_RULE;
(*
Argument definitions:
Assembly_component_3d_shape_model : the set of all instances of Assembly_component_3d_shape_model.
Formal propositions:
WR1: There shall be no more than one Assembly_component_3d_shape_model for each Assembly_component.
The unique_physical_unit_3d_shape_model_for_part_design_and_usage_view rule constrains the shape of Part_design_view and Part_usage_view, so that no more than one Physical_unit_3d_shape_model with a specific set of attribute values may reference a member of Part_design_view and no more than one Physical_unit_3d_shape_model with a specific set of attribute values may reference a member of Part_usage_view.
NOTE Because the set of attributes is being compared, the value equality operator is used rather than the instance equality operator.
EXPRESS specification:
*)
RULE unique_physical_unit_3d_shape_model_for_part_design_and_usage_view FOR
(Part_design_view, Part_usage_view);
WHERE
WR1: SIZEOF(QUERY (pdv <* Part_design_view | (SIZEOF (QUERY (pu3dsm1 <*
USEDIN (pdv,'PHYSICAL_UNIT_SHAPE_WITH_PARAMETERS_ARM.PHYSICAL_UNIT_SHAPE_MODEL.SHAPE_CHARACTERIZED_DEFINITION') |
('PHYSICAL_UNIT_2D_SHAPE_ARM.PHYSICAL_UNIT_PLANAR_SHAPE_MODEL' IN TYPEOF
(pu3dsm1)) AND (SIZEOF (QUERY (pu3dsm2 <* USEDIN
(pdv,'PHYSICAL_UNIT_SHAPE_WITH_PARAMETERS_ARM.PHYSICAL_UNIT_SHAPE_MODEL.SHAPE_CHARACTERIZED_DEFINITION') |
('PHYSICAL_UNIT_2D_SHAPE_ARM.PHYSICAL_UNIT_PLANAR_SHAPE_MODEL' IN TYPEOF
(pu3dsm2)) AND (pu3dsm1 = pu3dsm2))) > 1))) > 0))) = 0;
WR2: SIZEOF(QUERY (puv <* Part_usage_view |
(SIZEOF (QUERY (pu3dsm1 <* USEDIN
(puv,'PHYSICAL_UNIT_SHAPE_WITH_PARAMETERS_ARM.PHYSICAL_UNIT_SHAPE_MODEL.SHAPE_CHARACTERIZED_DEFINITION') |
('PHYSICAL_UNIT_2D_SHAPE_ARM.PHYSICAL_UNIT_PLANAR_SHAPE_MODEL' IN TYPEOF
(pu3dsm1)) AND (SIZEOF (QUERY (pu3dsm2 <* USEDIN
(puv,'PHYSICAL_UNIT_SHAPE_WITH_PARAMETERS_ARM.PHYSICAL_UNIT_SHAPE_MODEL.SHAPE_CHARACTERIZED_DEFINITION') |
('PHYSICAL_UNIT_2D_SHAPE_ARM.PHYSICAL_UNIT_PLANAR_SHAPE_MODEL' IN TYPEOF
(pu3dsm2)) AND (pu3dsm1 = pu3dsm2))) > 1))) > 0))) = 0;
END_RULE;
(*
Argument definitions:
Part_design_view : the set of all instances of Part_design_view.
Part_usage_view : the set of all instances of Part_usage_view.
Formal propositions:
WR1: No more than one Physical_unit_3d_shape_model with a specific set of attribute values may reference a member of Part_design_view
WR2: No more than one Physical_unit_3d_shape_model with a specific set of attribute values may reference a member of Part_usage_view.
*)
END_SCHEMA; -- Physical_unit_3d_design_view_arm
(*
© ISO 2018 — All rights reserved