Application module: Constructive solid geometry 2D | ISO/TS 10303-1731:2019(E) © ISO |
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;
(*
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.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
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.
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.
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;
(*
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.
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.
EXPRESS specification:
*)
ENTITY Area_with_outer_boundary
SUBTYPE OF (Primitive_2d);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Boolean_result_2d
SUBTYPE OF (Detailed_geometric_model_element);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Closed_curve_style_parameters
SUBTYPE OF (Curve_style_parameters);
END_ENTITY;
(*
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.
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.
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.
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.
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.
EXPRESS specification:
*)
ENTITY Primitive_2d_with_inner_boundary
SUBTYPE OF (Primitive_2d);
END_ENTITY;
(*
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
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