Application module: Non feature shape element ISO/TS 10303-1706: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 type definitions
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definition
   4.5 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definitions

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 Non feature shape element 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 Non_feature_shape_element_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Non_feature_shape_element_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 Physical_unit_shape_with_parameters_arm;    --  ISO/TS 10303-1730

USE FROM Part_feature_location_arm;    --  ISO/TS 10303-1714
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Physical_unit_shape_with_parameters_arm ISO/TS 10303-1730
Part_feature_location_arm ISO/TS 10303-1714

NOTE 2   See Annex C, Figures C.1and C.2 for a graphical representation of this schema.

4.2 ARM type definitions

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

4.2.1 nfse_feature_or_non_feature_usage   EXPRESS-G

The nfse_feature_or_non_feature_usage type is an extension of the feature_or_non_feature_usage type. It adds the data type Usage_view_level_non_feature_shape_model to the list of alternate data types.

EXPRESS specification:

*)
TYPE nfse_feature_or_non_feature_usage = SELECT BASED_ON feature_or_non_feature_usage WITH
   (Usage_view_level_non_feature_shape_model);
END_TYPE;
(*

4.2.2 nfse_usage_concept   EXPRESS-G

The nfse_usage_concept type is an extension of the usage_concept type. It adds the data type Non_feature_shape_element to the list of alternate data types.

EXPRESS specification:

*)
TYPE nfse_usage_concept = SELECT BASED_ON usage_concept WITH
   (Non_feature_shape_element);
END_TYPE;
(*

4.2.3 view_shape_select   EXPRESS-G

The view_shape_select type is an extensible list of alternate data types that allows for the designation of the data type Physical_unit_shape_model.

NOTE   The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE view_shape_select = EXTENSIBLE GENERIC_ENTITY SELECT
   (Physical_unit_shape_model);
END_TYPE;
(*

4.3 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.3.1 Edge_segment_vertex   EXPRESS-GMapping table

An Edge_segment_vertex is a type of Shape_element that is on the physical boundary of the associated_definition. An Edge_segment_vertex supports explicit assignment of the order and connection of edge start and end points but without needing to use an explicit geometric or topological context.

EXPRESS specification:

*)
ENTITY Edge_segment_vertex
  SUBTYPE OF (Shape_element);
DERIVE
  SELF\Shape_element.product_definitional : BOOLEAN := TRUE;
END_ENTITY;
(*

Attribute definitions:

product_definitional: an inherited attributes that is set to a fixed value to state that the Edge_segment_vertex is on the physical boundary of the associated_definition.

4.3.2 Interface_plane   EXPRESS-GMapping table

An Interface_plane is a type of Non_feature_shape_element included specifically for the purpose of providing a description of an interface plane. The Interface_plane simulates a mating feature surface. When represented by a three-dimensional plane the normal shall represent the vector originating at the mating surface and extending away from that surface. The normal vector shall be in the Z axis and shall be at the origin of the defining coordinate system for the three-dimensional case.

EXPRESS specification:

*)
ENTITY Interface_plane
  SUBTYPE OF (Non_feature_shape_element);
WHERE
  WR1: (SELF\Shape_element.element_name = 'interface plane');
END_ENTITY;
(*

Formal propositions:

WR1: The element_name inherited from Shape_element shall be 'interface plane'.

4.3.3 Non_feature_shape_element   EXPRESS-GMapping table

A Non_feature_shape_element is a type of Shape_element that is not on the physical boundary of the associated_definition.

EXPRESS specification:

*)
ENTITY Non_feature_shape_element
  SUBTYPE OF (Shape_element);
  SELF\Shape_element.associated_definition : Part_view_definition;
DERIVE
  SELF\Shape_element.product_definitional : BOOLEAN := FALSE;
INVERSE
  element_shape : SET[0:?] OF Non_feature_shape_model FOR associated_element;
  associated_usage_concept : SET[0:?] OF Usage_concept_usage_relationship FOR associated_usage;
UNIQUE
  UR1: SELF\Shape_element.element_name, associated_definition;
WHERE
  WR1: NOT ((SIZEOF(associated_usage_concept) > 0) OR (SIZEOF(element_shape) > 0));
END_ENTITY;
(*

Attribute definitions:

associated_definition: specifies the Part_view_definition for the Non_feature_shape_element.

product_definitional: an inherited attributes that is set to a fixed value to state that the Non_feature_shape_element is not on the physical boundary of the associated_definition.

element_shape: an inverse relationship that specifies that the existence of the Non_feature_shape_element is dependent on the existence of the Non_feature_shape_model that specifies the Non_feature_shape_element as its associated_element. There shall be zero or more Non_feature_shape_models for a Non_feature_shape_element.

associated_usage_concept: an inverse relationship that specifies that the existence of the Non_feature_shape_element is dependent on the existence of the Usage_concept_usage_relationship that specifies the Non_feature_shape_element as its associated_usage. There shall be zero or more Usage_concept_usage_relationships for a Non_feature_shape_element.

Formal propositions:

UR1: The combination of element_name and associated_definition shall be unique within a population of Non_feature_shape_elements.

WR1: The size of the associated_usage_concept shall be greater than zero if and only if the element_shape is provided.

4.3.4 Non_feature_shape_element_relationship   EXPRESS-GMapping table

A Non_feature_shape_element_relationship is a type of Shape_element_relationship that associates a Non_feature_shape_element with another Non_feature_shape_element.

EXPRESS specification:

*)
ENTITY Non_feature_shape_element_relationship
  SUBTYPE OF (Shape_element_relationship);
  SELF\Shape_element_relationship.relating : Non_feature_shape_element;
  SELF\Shape_element_relationship.related : Non_feature_shape_element;
UNIQUE
  UR1: related, relating;
END_ENTITY;
(*

Attribute definitions:

relating: one of the instances of Non_feature_shape_element that is a part of the relationship for the Non_feature_shape_element_relationship.

related: the other instance of Non_feature_shape_element that is a part of the relationship. If one element of the relationship is dependent up on the other, this attribute shall be the dependent one.

Formal propositions:

UR1: The combination of relating and related shall be unique within a population of Non_feature_shape_element_relationships.

4.3.5 Non_feature_shape_model   EXPRESS-GMapping table

A Non_feature_shape_model is a type of Geometric_model. A Non_feature_shape_model may be a Usage_view_level_non_feature_shape_model. A Non_feature_shape_model may be used to represent annotation or other shape property information that is not helping to directly compose the shape of a feature. When applied in a higher level Geometric_model, the result of the application is not on the boundary of the product. The interpretation of this Application Object shall be that the shape aspect a member of this Application object references as associated_element shall not be definitional.

NOTE    Shape information that is derived from a physical shape and whose algorithmic derivation details are unavailable may be exchanged with this Application Object.

EXPRESS specification:

*)
ENTITY Non_feature_shape_model
  SUBTYPE OF (Geometric_model);
  associated_element : Non_feature_shape_element;
  model_shape : OPTIONAL Geometric_model;
WHERE
  WR1: TYPEOF(SELF) <> TYPEOF(model_shape);
  WR2: NOT EXISTS(SELF\Representation.id);
  WR3: SIZEOF(QUERY( x <* USEDIN(SELF, 'PROPERTY_ASSIGNMENT_ARM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | 'SHAPE_PROPERTY_ASSIGNMENT_ARM.SHAPE_DESCRIPTION_ASSOCIATION' IN TYPEOF(x)))=0;
END_ENTITY;
(*

Attribute definitions:

associated_element: specifies the role of the Non_feature_shape_element for the Non_feature_shape_model.

model_shape: specifies the role of the Geometric_model for the Non_feature_shape_model. The value of this attribute need not be specified. The intent of model_shape is that it is not shape of annotation and is intended to be a shape that may be used as a real feature.

Formal propositions:

WR1: The Geometric_model in the role of model_shape shall not be of type Non_feature_shape_model.

WR2: The id shall not be populated.

WR3: The Non_feature_shape_model shall not be used in role of used_representation by any Shape_description_association.

4.3.6 Reference_graphic_registration_mark   EXPRESS-GMapping table

A Reference_graphic_registration_mark is a type of Non_feature_shape_element that is annotation graphic included in the design model for a pcb. A set of Reference_graphic_registration_mark is used to visually indicate a reference alignment for tooling purposes. The geometric representation for a Reference_graphic_registration_mark is identical to the geometric representation of the Tool_registration_mark for a product that is a tool, usually a phototool.

NOTE 1   The difference between a Reference_graphic_registration_mark and a Tool_registration_mark is that the Reference_graphic_registration_mark is annotation and therefore is not to be operated on as part of the design geometric model wheras the Tool_registration_mark is a real feature of the tool model and is operated on as part of the tool geometric model.

NOTE 2   Reference_graphic_registration_marks are included for complete CAD to CAD data exchange purposes since many 2D CAD applications include geometry representing these tooling marks as part of the standard CAD file output.

EXPRESS specification:

*)
ENTITY Reference_graphic_registration_mark
  SUBTYPE OF (Non_feature_shape_element);
END_ENTITY;
(*

4.3.7 Seating_plane   EXPRESS-GMapping table

A Seating_plane is a type of Non_feature_shape_element included specifically for the purpose of providing a description of a plane simulating a mounting surface. One primary usage in that purpose is synchronizing the two-dimensional and three-dimensional models of a package. The seating plane simulates the interconnect substrate surface in the definition view of a package, where it is referenced in the role of a package seating plane or die seating plane. When represented by a three-dimensional plane the normal shall represent the vector originating at the mating surface and extending away from that surface. The normal vector shall be in the Z axis and shall be at the origin of the defining coordinate system for the three-dimensional case.

EXPRESS specification:

*)
ENTITY Seating_plane
  SUBTYPE OF (Non_feature_shape_element);
WHERE
  WR1: (SELF\Shape_element.element_name = 'seating plane');
END_ENTITY;
(*

Formal propositions:

WR1: The element_name inherited from Shape_element shall be 'seating plane'.

4.3.8 Usage_view_level_non_feature_shape_model   EXPRESS-GMapping table

A Usage_view_level_non_feature_shape_model is a type of Non_feature_shape_model.

EXPRESS specification:

*)
ENTITY Usage_view_level_non_feature_shape_model
  ABSTRACT SUPERTYPE
  SUBTYPE OF (Non_feature_shape_model);
  SELF\Non_feature_shape_model.associated_element : View_level_non_feature_shape_element;
  SELF\Non_feature_shape_model.model_shape : view_shape_select;
WHERE
  WR1: SELF\Geometric_model.context_of_items = SELF\Non_feature_shape_model.model_shape\Geometric_model.context_of_items;
END_ENTITY;
(*

Attribute definitions:

associated_element: an attribute inherited from the Non_feature_shape_model shall be redeclared as the View_level_non_feature_shape_element for the Usage_view_level_non_feature_shape_model.

model_shape: an attribute inherited from the Non_feature_shape_model shall be redeclared as the view_shape_select for the Usage_view_level_non_feature_shape_model.

Formal propositions:

WR1: The context of the Geometric_model shall be the same context as that of the model_shape inherited from Non_feature_shape_model.

4.3.9 View_level_non_feature_shape_element   EXPRESS-GMapping table

A View_level_non_feature_shape_element is a type of Non_feature_shape_element.

EXPRESS specification:

*)
ENTITY View_level_non_feature_shape_element
  SUBTYPE OF (Non_feature_shape_element);
WHERE
  WR1: NOT(SIZEOF(SELF\Non_feature_shape_element.element_shape) > 0) OR valid_es('NON_FEATURE_SHAPE_ELEMENT_ARM.USAGE_VIEW_LEVEL_NON_FEATURE_SHAPE_MODEL', (SELF\Non_feature_shape_element.element_shape));
  WR2: NOT EXISTS(SELF\Shape_element.description);
END_ENTITY;
(*

Formal propositions:

WR1: All members of element_shape shall be of type Usage_view_level_non_feature_shape_model.

WR2: The description shall not be populated.

4.4 ARM subtype constraint definition

This subclause specifies the ARM subtype constraint for this module. The subtype constraint places a constraint on the possible super-type / subtype instantiations. The ARM subtype constraint and definition is specified below.

4.4.1 nfse_shape_element_subtypes   EXPRESS-GMapping table

The nfse_shape_element_subtypes constraint specifies a constraint that applies to instances of Shape_element and enforces the rule that its subtypes Edge_segment_vertex and Non_feature_shape_element are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT nfse_shape_element_subtypes FOR Shape_element;
  ONEOF (Edge_segment_vertex,
         Non_feature_shape_element);
END_SUBTYPE_CONSTRAINT;
(*

4.5 ARM function definition

This subclause specifies the ARM function for this module. The ARM function and definition is specified below.

4.5.1 valid_es

The valid_es function returns TRUE, if all members of input2 are of type specified by input1, FALSE otherwise.

EXPRESS specification:

*)
FUNCTION valid_es (input1 : STRING; input2 : SET[0:?] OF Non_feature_shape_model) : BOOLEAN;
REPEAT i := 1 to HIINDEX(input2);
    IF NOT (input1 IN TYPEOF(input2[i])) THEN RETURN(FALSE);
    END_IF;
   END_REPEAT;
    RETURN(TRUE);
END_FUNCTION;
(*

Argument definitions:

input1: the specified type.

input2: the specified set of Non_feature_shape_model.



*)
END_SCHEMA;  -- Non_feature_shape_element_arm
(*


© ISO 2018 — All rights reserved