| Application module: Constructive solid geometry 2D | ISO/TS 10303-1731:2019(E) © ISO | 
         (*
ISO/TC 184/SC 4/WG 12 N7972 - ISO/TS 10303-1731 Constructive solid geometry 2D - EXPRESS ARM
Supersedes 
         ISO/TC 184/SC 4/WG 12 N7409
*)
         
SCHEMA Constructive_solid_geometry_2d_arm;
         USE FROM
         Area_2d_arm;
            -- ISO/TS 10303-1631
         USE FROM
         Basic_curve_arm;
            -- ISO/TS 10303-1651
TYPE extend_or_chord_2_extend_or_truncate_or_round =
         
         ENUMERATION
         
         OF
         
            
         (truncate,
    chord_2_extend,
    round,
    extend);
         END_TYPE; 
         
TYPE extend_or_truncate =
         
         ENUMERATION
         
         OF
         
            
         (truncate,
    extend);
         END_TYPE; 
         
TYPE primitive_or_boolean_result_2d =
         
         
         SELECT
            (Primitive_2d, 
    Boolean_result_2d);
         END_TYPE; 
         
TYPE square_or_round =
         
         ENUMERATION
         
         OF
         
            
         (square,
    round);
         END_TYPE; 
         
ENTITY Area_with_outer_boundary
           SUBTYPE OF (Primitive_2d);
         
         END_ENTITY;
ENTITY Boolean_result_2d
           SUBTYPE OF (Detailed_geometric_model_element);
         
         END_ENTITY;
ENTITY Closed_curve_style_parameters
           SUBTYPE OF (Curve_style_parameters);
         
         END_ENTITY;
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;
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;
ENTITY Curve_style_parameters_with_ends
           SUBTYPE OF (Curve_style_parameters);
           end_extension : extend_or_truncate;
           end_style : square_or_round;
         
         END_ENTITY;
ENTITY Path_area_with_parameters
           SUBTYPE OF (Detailed_geometric_model_element);
           centreline : Curve;
           parameters : Curve_style_parameters;
         
         END_ENTITY;
ENTITY Primitive_2d_with_inner_boundary
           SUBTYPE OF (Primitive_2d);
         
         END_ENTITY;
ENTITY Single_area_csg_2d_model
           SUBTYPE OF (Csg_2d_model);
           SELF\Representation.items : SET[1:1] OF Primitive_2d;
         
         END_ENTITY;
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