Application module: Physical unit 3D design view ISO/TS 10303-1725:2018-11(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM entity definitions
   4.3 ARM rule definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definition

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

4 Information requirements

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;
(*

4.1 Required AM ARMs

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.

4.2 ARM entity definitions

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.

4.2.1 Assembly_component_3d_shape_model   EXPRESS-GMapping table

An Assembly_component_3d_shape_model is a type of Geometric_model. An Assembly_component_3d_shape_model is the three-dimensional shape of an Assembly_component. The mapping of this Application Object constrains the value of the name attribute inherited from Representation to be either '3d bound volume shape' or 'open shell based surface'.

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.

4.2.2 Component_3d_location   EXPRESS-GMapping table

A Component_3d_location is a type of Contextual_shape_representation and a type of Geometric_composition_with_operator_transformation. A Component_3d_location is the translation and orientation in three dimensions for the positioning of the Assembly_component.

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.

4.3 ARM rule definitions

This subclause specifies the ARM rules for this module. The ARM rules and definitions are specified below.

4.3.1 unique_assembly_component_3d_shape_model

The unique_assembly_component_3d_shape_model rule constrains the population of Assembly_component_3d_shape_models, so that there shall be no more than one Assembly_component_3d_shape_model for any Assembly_component.

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.

4.3.2 unique_physical_unit_3d_shape_model_for_part_design_and_usage_view

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