Application module: Constructive solid geometry 2D ISO/TS 10303-1731:2019(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
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions
     5.2.2 MIM entity definitions
     5.2.3 MIM function 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 Constructive solid geometry 2D 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 Constructive_solid_geometry_2d_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Constructive_solid_geometry_2d_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 Area_2d_arm;    --  ISO/TS 10303-1631

USE FROM Basic_curve_arm;    --  ISO/TS 10303-1651
(*

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

Area_2d_arm ISO/TS 10303-1631
Basic_curve_arm ISO/TS 10303-1651

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 extend_or_chord_2_extend_or_truncate_or_round   EXPRESS-G

An extend_or_chord_2_extend_or_truncate_or_round lists the corner_style values.

EXPRESS specification:

*)
TYPE extend_or_chord_2_extend_or_truncate_or_round = ENUMERATION OF
   (truncate,
    chord_2_extend,
    round,
    extend);
END_TYPE;
(*

Enumerated item definitions:

truncate: specifies that the corner is shortened by cutting off the top or end.

chord_2_extend: specifies that there will be a width added to the corner.

round: specifies that the corner is shortened by rounding the ends.

extend: specifies that material will be added to the corner.

4.2.2 extend_or_truncate   EXPRESS-G

An extend_or_truncate lists the end_extension values.

EXPRESS specification:

*)
TYPE extend_or_truncate = ENUMERATION OF
   (truncate,
    extend);
END_TYPE;
(*

Enumerated item definitions:

truncate: specifies that material will be removed by cutting off the top or end.

extend: specifies that there will be material added to the corner.

4.2.3 primitive_or_boolean_result_2d   EXPRESS-G

The primitive_or_boolean_result_2d type allows for the designation of the data types Primitive_2d and Boolean_result_2d.

EXPRESS specification:

*)
TYPE primitive_or_boolean_result_2d = SELECT
   (Primitive_2d,
    Boolean_result_2d);
END_TYPE;
(*

4.2.4 square_or_round   EXPRESS-G

A square_or_round lists the end_style values.

EXPRESS specification:

*)
TYPE square_or_round = ENUMERATION OF
   (square,
    round);
END_TYPE;
(*

Enumerated item definitions:

square: specifies that the end is in the shape of straight lines.

round: specifies that the end is in the shape of a semi-circle.

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 Area_with_outer_boundary   EXPRESS-GMapping table

An Area_with_outer_boundary is a type of Primitive_2d that represents the extent of an enclosed two-dimensional surface.

EXPRESS specification:

*)
ENTITY Area_with_outer_boundary
  SUBTYPE OF (Primitive_2d);
END_ENTITY;
(*

4.3.2 Boolean_result_2d   EXPRESS-GMapping table

A Boolean_result_2d is a type of Detailed_geometric_model_element that represents the output of a Boolean operation performed on a two-dimensional element.

EXPRESS specification:

*)
ENTITY Boolean_result_2d
  SUBTYPE OF (Detailed_geometric_model_element);
END_ENTITY;
(*

4.3.3 Closed_curve_style_parameters   EXPRESS-GMapping table

A Closed_curve_style_parameters is a type of Curve_style_parameters that is intended to only be applied to a closed path.

EXPRESS specification:

*)
ENTITY Closed_curve_style_parameters
  SUBTYPE OF (Curve_style_parameters);
END_ENTITY;
(*

4.3.4 Csg_2d_model   EXPRESS-GMapping table

A Csg_2d_model is a type of Geometric_model defined by a collection of solid models, each of which can be composed of two or more primitive solids combined using regularised Boolean operations. The allowed operations are intersection, union, and difference. Boolean_result_2d is the tree root of each solid model.

NOTE 1   This entity is incompletely modelled in the ARM. Complete specification can be obtained in the definition of the corresponding MIM entity.

NOTE 2   As a special case, a Csg_2d_model can also include a single CSG primitive. If the single CSG primitive were the only contents of the Csg_2d_model, then there would be one solid model in the Csg_2d_model.

EXPRESS specification:

*)
ENTITY Csg_2d_model
  SUBTYPE OF (Geometric_model);
  SELF\Representation.items : SET[1:?] OF primitive_or_boolean_result_2d;
WHERE
  WR1: SELF\Geometric_model.context_of_items\Geometric_coordinate_space.dimension_count = 2;
END_ENTITY;
(*

Attribute definitions:

items: an attribute inherited from the Representation shall be redeclared as the primitive_or_boolean_result_2d for the Csg_2d_model. There shall exist one or more primitive_or_boolean_result_2d for the Csg_2d_model.

Formal propositions:

WR1: Csg_2d_model shall be two-dimensional.

4.3.5 Curve_style_parameters   EXPRESS-GMapping table

A Curve_style_parameters is the definition of a set of properties that are of a geometric nature. Curve_style_parameters provides parametric data used by a processor to create physical material along a path, where the path is described outside of the style. The Curve_style_parameters algorithm is rule based and is formally described in the domain rules. The width_uncertainty represents the uncertainty in the originating CAD system, not a material processing tolerance. A Curve_style_parameters is either a Closed_curve_style_parameters or a Curve_style_parameters_with_ends.

EXPRESS specification:

*)
ENTITY Curve_style_parameters
  ABSTRACT SUPERTYPE OF (ONEOF (Closed_curve_style_parameters,
                                Curve_style_parameters_with_ends));
  name : STRING;
  corner_style : extend_or_chord_2_extend_or_truncate_or_round;
  curve_width : Length_data_element;
  width_uncertainty : OPTIONAL Length_data_element;
UNIQUE
  UR1: name;
END_ENTITY;
(*

Attribute definitions:

name: the word or words by which the Curve_style_parameters is known.

corner_style: specifies the extend_or_chord_2_extend_or_truncate_or_round style for the Curve_style_parameters_with_ends. Figures 1 and 2 illustrate the construction options associated with "extend", "chord 2 extend" and "truncate" corners. These illustrations shall be interpreted as describing construction of the outer boundary near the intersection only. At some distance away from the intersection, the basic width attribute governs the shape. Figure 3 illustrates the construction associated with round corners. Figure 4 illustrates the construction of the end treatment of the curve. The end treatment is applied individually to each end. Figure 5 illustrates the completed result for a Curve that has been styled using this Curve_style_parameters_with_ends. Even though the Curve does not show material inside, that is required if the Curve is applied to material.

Figure 1 —  Square corners with extend

Figure 1 —  Square corners with extend



Figure 2 —  Square corners with truncate

Figure 2 —  Square corners with truncate



Figure 3 —  Round corners

Figure 3 —  Round corners

curve_width: specifies the role of the Length_data_element for the Curve_style_parameters_with_ends.

width_uncertainty: specifies the role of the Length_data_element for the identifier for the Curve_style_parameters_with_ends. The value of this attribute need not be specified.

Formal propositions:

UR1: The name shall be unique within a population of Curve_style_parameters.

4.3.6 Curve_style_parameters_with_ends   EXPRESS-GMapping table

A Curve_style_parameters_with_ends is a type of Curve_style_parameters that includes end effects.

EXPRESS specification:

*)
ENTITY Curve_style_parameters_with_ends
  SUBTYPE OF (Curve_style_parameters);
  end_extension : extend_or_truncate;
  end_style : square_or_round;
END_ENTITY;
(*

Attribute definitions:

end_extension: specifies how the physical material will terminate on the Layer_connection_point that is the start or end of the centreline curve. The end_extension is applied by a continuation (termination) of the Curve that is being styled along the tangent to the Curve at the terminus of the Curve. If the end_extension is "extend", there will be material added after the Layer_connection_point. If the end_extension is "truncate", there will be no material added after the Layer_connection_point.

NOTE    This Application Object does not describe tolerances associated with fabrication processes. Reference Stratum_technology as an example of tolerance information related to fabrication processes.

end_style: specifies either the "round" or "square" style ends for the Curve_style_parameters_with_ends. Figures 1 and 2 illustrate the construction options associated with square corners. These illustrations shall be interpreted as describing construction of the outer boundary near the end only. At some distance away from the end, the basic width attribute governs the shape. Figure 4 illustrates the construction of the end treatment of the curve. The end treatment is applied individually to each end. Figure 5 illustrates the completed result for a Curve that has been styled using this Curve_style_parameters_with_ends. Even though the Curve does not show material inside, that is required if the Curve is applied to material.

Figure 4 —  Curve end treatment

Figure 4 —  Curve end treatment



Figure 5 —  Completed curve

Figure 5 —  Completed curve

4.3.7 Path_area_with_parameters   EXPRESS-GMapping table

A Path_area_with_parameters is a type of Detailed_geometric_model_element that is described by a central curve and the path of a point moving along that curve.

EXPRESS specification:

*)
ENTITY Path_area_with_parameters
  SUBTYPE OF (Detailed_geometric_model_element);
  centreline : Curve;
  parameters : Curve_style_parameters;
END_ENTITY;
(*

Attribute definitions:

centreline: specifies the role of the Curve for the Path_area_with_parameters.

parameters: specifies the role of the Curve_style_parameters for the Path_area_with_parameters.

4.3.8 Primitive_2d_with_inner_boundary   EXPRESS-GMapping table

A Primitive_2d_with_inner_boundary is a type of Primitive_2d that describes the surface area of a simple two-dimensional geometric shape with an inner boundary defined.

EXPRESS specification:

*)
ENTITY Primitive_2d_with_inner_boundary
  SUBTYPE OF (Primitive_2d);
END_ENTITY;
(*

4.3.9 Single_area_csg_2d_model   EXPRESS-GMapping table

A Single_area_csg_2d_model is a type of Csg_2d_model that describes the area of a simple geometric two-dimensional primitive.

EXPRESS specification:

*)
ENTITY Single_area_csg_2d_model
  SUBTYPE OF (Csg_2d_model);
  SELF\Representation.items : SET[1:1] OF Primitive_2d;
END_ENTITY;
(*

Attribute definitions:

items: an attribute inherited from the Representation shall be redeclared as the Primitive_2d for the Single_area_csg_2d_model. There shall exist exactly one Primitive_2d for the Single_area_csg_2d_model

4.3.10 Single_boundary_csg_2d_model   EXPRESS-GMapping table

A Single_boundary_csg_2d_model is a type of Single_area_csg_2d_model that describes a simple two-dimensional geometric primitive with a boundary.

EXPRESS specification:

*)
ENTITY Single_boundary_csg_2d_model
  SUBTYPE OF (Single_area_csg_2d_model);
END_ENTITY;
(*



*)
END_SCHEMA;  -- Constructive_solid_geometry_2d_arm
(*


© ISO 2019 — All rights reserved