Application module: Advanced boundary representation ISO/TS 10303-1514: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 definition
   4.3 ARM entity definitions
   4.4 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing

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 Advanced boundary representation 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 Advanced_boundary_representation_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Advanced_boundary_representation_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 Topologically_bounded_surface_arm;    --  ISO/TS 10303-1511

USE FROM Solid_model_arm;    --  ISO/TS 10303-1793
(*

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

Topologically_bounded_surface_arm ISO/TS 10303-1511
Solid_model_arm ISO/TS 10303-1793

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

4.2 ARM type definition

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

4.2.1 advanced_brep_shape_representation_item   EXPRESS-G

A SELECT type defining the types of element that are to be used in the definition of an Advanced_brep_shape_representation.

EXPRESS specification:

*)
TYPE advanced_brep_shape_representation_item = SELECT
   (Axis_placement_3d,
    Geometric_placement_operation,
    Manifold_solid_brep);
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 Advanced_brep_shape_representation   EXPRESS-GMapping table

An Advanced_brep_shape_representation is a type of Geometric_model in which the representation items are specializations of the Manifold_solid_brep entity.

These specializations differ from the more general B-rep in that they shall only use explicit geometric forms for their face and edge geometry. The face geometry is restricted to elementary surfaces, swept surfaces or B-spline surfaces.

NOTE 1   This entity is incompletely modelled in the ARM. Complete specification can be obtained in the definition of the corresponding MIM entity. The MIM entity contains additional constraints on the usage of mapped_items in this entity. To ensure that an appropriate manifold solid B-rep is included in the representation.

EXPRESS specification:

*)
ENTITY Advanced_brep_shape_representation
  SUBTYPE OF (Geometric_model);
  SELF\Representation.items : SET[1:?] OF advanced_brep_shape_representation_item;
WHERE
  WR1: SIZEOF(QUERY ( msb <* QUERY ( it <* SELF.items | ('ADVANCED_BOUNDARY_REPRESENTATION_ARM.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) ) | ( NOT (SIZEOF(QUERY ( csh <* collect_shells(msb) | (NOT (SIZEOF(QUERY ( fcs <* csh\ connected_face_set.connected_faces | (NOT ( 'ADVANCED_BOUNDARY_REPRESENTATION_ARM.ADVANCED_FACE' IN TYPEOF(fcs))) )) = 0)) )) = 0)) )) = 0;
END_ENTITY;
(*

Attribute definitions:

items: a set of advanced_brep_shape_representation_items that the Advanced_brep_shape_representation is a collection of. Each item is either a Manifold_solid_brep, an Axis_placement_3d, or a Geometric_placement_operation.

NOTE 2   When a Geometric_placement_operation is included there are rules in the corresponding MIM entity to ensure that it is a mapping of an Advanced_brep_shape_representation.

Formal propositions:

WR1: for each Manifold_solid_brep in the items set each face shall be an Advanced_face. This ensures that the geometry and topology of the B-rep are fully defined.

4.3.2 Closed_shell   EXPRESS-GMapping table

A Closed_shell is a type of Connected_face_set that encloses a finite volume of space.

EXPRESS specification:

*)
ENTITY Closed_shell
  SUBTYPE OF (Connected_face_set);
END_ENTITY;
(*

4.3.3 Manifold_solid_brep   EXPRESS-GMapping table

A Manifold_solid_brep is a type of Solid_model that may contain multiple elements, faces or surfaces organized into shells.

EXPRESS specification:

*)
ENTITY Manifold_solid_brep
  SUBTYPE OF (Solid_model);
  outer : Closed_shell;
  voids : OPTIONAL SET[1:?] OF Oriented_closed_shell;
WHERE
  WR1: (NOT EXISTS(voids)) OR (SIZEOF(QUERY ( ocs <* SELF.voids | ( NOT (ocs.orientation = FALSE)))) = 0);
END_ENTITY;
(*

Attribute definitions:

outer: specifies the role of the Closed_shell as outer shell of the Manifold_solid_brep.

voids: specifies the Oriented_closed_shell enclosing the interior voids of the Manifold_solid_brep. The value of this attribute need not be specified.

Formal propositions:

WR1: Either there shall be no voids attribute, or each Oriented_closed_shell in this set shall have orientation = FALSE.

4.3.4 Oriented_closed_shell   EXPRESS-GMapping table

An Oriented_closed_shell is a type of Closed_shell constructed by referencing another Closed_shell and contains a BOOLEAN orientation flag to indicate whether or not the orientation of the constructed Closed_shell agrees with, or is opposite to, the orientation of the original Closed_shell.

EXPRESS specification:

*)
ENTITY Oriented_closed_shell
  SUBTYPE OF (Closed_shell);
  shell : Closed_shell;
  orientation : BOOLEAN;
WHERE
  WR1: NOT ('ADVANCED_BOUNDARY_REPRESENTATION_ARM.ORIENTED_CLOSED_SHELL' IN TYPEOF (SELF.shell));
END_ENTITY;
(*

Attribute definitions:

shell: the Closed_shell which defines the faces of the Oriented_closed_shell.

NOTE    This entity is not fully defined in the ARM; the corresponding MIM object has an additional attribute which derives the set of correctly oriented faces for the oriented closed shell from those of shell.

orientation: the relationship between the orientation of the Oriented_closed_shell being defined and the shell referenced.

Formal propositions:

WR1: The type of shell shall not be Oriented_closed_shell.

4.4 ARM function definition

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

4.4.1 collect_shells

The collect_shells function collects all the shells used in the definition of a Manifold_solid_brep into a set.

EXPRESS specification:

*)
FUNCTION collect_shells (brep : Manifold_solid_brep) : SET[1:?] OF Closed_shell;
LOCAL   
      return_set: SET[1:?] OF closed_shell := [brep.outer];   
    END_LOCAL;   

    IF SIZEOF(brep.voids)  >= 1    
          THEN   
       return_set := return_set + brep.voids;   
    END_IF;   
   RETURN(return_set);
END_FUNCTION;
(*

Argument definitions:

brep: (input) the Manifold_solid_brep for which it is required to collect the shells.



*)
END_SCHEMA;  -- Advanced_boundary_representation_arm
(*


© ISO 2018 — All rights reserved