Application module: Basic geometry | ISO/TS 10303-1652:2019(E) © ISO |
This clause specifies the information requirements for the Basic geometry 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 Basic_geometry_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Basic_geometry_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Elemental_geometric_shape_arm;
--
ISO/TS 10303-1004
USE FROM
Parametric_representation_arm;
--
ISO/TS 10303-1813
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Elemental_geometric_shape_arm ISO/TS 10303-1004 Parametric_representation_arm ISO/TS 10303-1813
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
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.
NOTE A closed curve such as a circle or ellipse is not a bounded curve.
EXPRESS specification:
*)
ENTITY Bounded_curve
ABSTRACT SUPERTYPE
SUBTYPE OF (Curve);
END_ENTITY;
(*
NOTE A surface, such as a cylinder or sphere, closed in one, or two, parametric directions is not a bounded surface.
EXPRESS specification:
*)
ENTITY Bounded_surface
ABSTRACT SUPERTYPE
SUBTYPE OF (Surface);
END_ENTITY;
(*
NOTE The parameterization of the circle is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Circle
SUBTYPE OF (Conic);
radius : positive_length_measure;
END_ENTITY;
(*
Attribute definitions:
radius: the distance from the centre to all points of the curve.
EXPRESS specification:
*)
ENTITY Conic
SUPERTYPE OF (ONEOF (Circle,
Ellipse,
Hyperbola,
Parabola))
SUBTYPE OF (Curve);
position : Axis_placement;
END_ENTITY;
(*
Attribute definitions:
position: an Axis_placement that defines the location and orientation of the conic. The plane of the conic is defined by ref_direction, axis and the location which is a reference point in the plane.
NOTE The parameterization of the Conical_surface is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Conical_surface
SUBTYPE OF (Surface);
position : Axis_placement_3d;
radius : positive_length_measure;
semi_angle : plane_angle_measure;
END_ENTITY;
(*
Attribute definitions:
position: an Axis_placement_3d that defines the location and orientation of the surface. The axis of the Conical_surface passes through the location and is normal to the plane of ref_direction and axis.
radius: the radius of the circular curve of intersection between the cone and a plane perpendicular to the axis of the cone passing through the location. This will have value 0.0 if the location is at the apex of the cone.
semi_angle: the cone semi-angle, this is the angle between the axis of the Conical_surface and the generating line.
NOTE The exact form of the curve is defined by its subtypes, each curve has a unique parameterization r = λ(u), this parameterization is defined with the corresponding ARM object and is used in the definition of Point_on_curve .
EXPRESS specification:
*)
ENTITY Curve
SUPERTYPE OF (ONEOF (Conic,
Line))
SUBTYPE OF (Detailed_geometric_model_element);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Cylindrical_point
SUBTYPE OF (Cartesian_point);
r : positive_length_measure;
theta : plane_angle_measure;
z : length_measure;
DERIVE
SELF\Cartesian_point.coordinates : LIST[3:3] OF length_measure := [r*cos(theta), r*sin(theta), z];
END_ENTITY;
(*
Attribute definitions:
r: the distance from the point to the z axis;
theta: the angle between the plane containing the point and the z axis and the xz plane;
z: the distance from the xy plane to the point.
coordinates: the rectangular Cartesian coordinates of this point;
NOTE The parameterization of the Cylindrical_surface is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Cylindrical_surface
SUBTYPE OF (Surface);
position : Axis_placement_3d;
radius : positive_length_measure;
END_ENTITY;
(*
Attribute definitions:
position: an Axis_placement_3d that defines the location and orientation of the surface. The axis of the Cylindrical_surface passes through the location and is normal to the plane of ref_direction and axis.
radius: the radius of the circular curve of intersection between the surface of the cylinder and a plane perpendicular to the axis of the Cylindrical_surface.
NOTE For example, the apex of a cone could be represented as a degenerate_pcurve.
EXPRESS specification:
*)
ENTITY Degenerate_pcurve
SUBTYPE OF (Point);
basis_surface : Surface;
reference_to_curve : Definitional_representation;
WHERE
WR1: SIZEOF(reference_to_curve\Representation.items) = 1;
WR2: 'BASIC_GEOMETRY_ARM.CURVE' IN TYPEOF (reference_to_curve\Representation.items[1]);
END_ENTITY;
(*
Attribute definitions:
basis_surface: the surface on which the Degenerate_pcurve lies;
reference_to_curve: the association of the Degenerate_pcurve and the parameter space curve which degenerates to the (equivalent) point.
Formal propositions:
WR1: The set of items in the Definitional_representation entity corresponding to the reference_to_curve shall have exactly one element ;
WR2: The unique item in the set shall be a Curve.
Informal propositions:
IP1: Regarded as a curve in model space, the Degenerate_pcurve shall have zero arc length;
IP2: The dimensionality of this parameter space curve shall be 2.
NOTE The parameterization of the Ellipse is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Ellipse
SUBTYPE OF (Conic);
first_semi_axis : positive_length_measure;
second_semi_axis : positive_length_measure;
END_ENTITY;
(*
Attribute definitions:
first_semi_axis: half the length of the first diameter of the Ellipse.
second_semi_axis: half the length of the second diameter of the Ellipse.
NOTE The parameterization of the Extruded_surface is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Extruded_surface
SUBTYPE OF (Swept_surface);
extrusion_axis : Direction;
END_ENTITY;
(*
Attribute definitions:
extrusion_axis: a Direction that defines the sweeping direction for the surface.
NOTE 1 The parameterization of the Hyperbola is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Hyperbola
SUBTYPE OF (Conic);
semi_axis : positive_length_measure;
imaginary_semi_axis : positive_length_measure;
END_ENTITY;
(*
Attribute definitions:
semi_axis: half the minimum distance between the two branches of the Hyperbola.
imaginary_semi_axis: the length of semi imaginary axis of the Hyperbola.
NOTE 2 The semi imaginary axis is sometimes called the minor or conjugate axis of the hyperbola, and the semi_axis is also sometimes called the major axis.
NOTE 3 The asymptotes to the hyperbola pass through the central point and have a slope relative to the central axis of R2: R1, where R2 = semi_imag_axis and R1 = semi_axis.
NOTE 4 See Figure 1 for interpretation of attributes.
NOTE The parameterization of the Line is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Line
SUBTYPE OF (Curve);
point : Cartesian_point;
line_direction : Direction;
END_ENTITY;
(*
Attribute definitions:
point: a point through which the line passes.
line_direction: the direction of the line.
NOTE The parameterization of the Parabola is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Parabola
SUBTYPE OF (Conic);
focal_distance : length_measure;
WHERE
WR1: focal_distance <> 0.0;
END_ENTITY;
(*
Attribute definitions:
focal_distance: the distance between the focal point of the Parabola and the apex of the cone.
Formal propositions:
WR1: The focal_distance shall be non-zero.
NOTE The parameterization of the Plane is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Plane
SUBTYPE OF (Surface);
position : Axis_placement_3d;
END_ENTITY;
(*
Attribute definitions:
position: an Axis_placement_3d that defines the location and orientation of the plane.
EXPRESS specification:
*)
ENTITY Point_on_curve
SUBTYPE OF (Point);
supporting_curve : Curve;
END_ENTITY;
(*
Attribute definitions:
supporting_curve: specifies the Curve containing the Point_on_curve.
EXPRESS specification:
*)
ENTITY Point_on_surface
SUBTYPE OF (Point);
supporting_surface : Surface;
END_ENTITY;
(*
Attribute definitions:
supporting_surface: specifies the Surface containing the Point_on_surface.
EXPRESS specification:
*)
ENTITY Polar_point
SUBTYPE OF (Cartesian_point);
r : positive_length_measure;
theta : plane_angle_measure;
DERIVE
SELF\Cartesian_point.coordinates : LIST[2:2] OF length_measure := [r*cos(theta), r*sin(theta)];
END_ENTITY;
(*
Attribute definitions:
r: the distance from the point to the origin;
theta: the angle between the x axis and the line joining the origin to the point.
coordinates: the rectangular cartesian coordinates of this point;
EXPRESS specification:
*)
ENTITY Spherical_point
SUBTYPE OF (Cartesian_point);
r : positive_length_measure;
theta : plane_angle_measure;
phi : plane_angle_measure;
DERIVE
SELF\Cartesian_point.coordinates : LIST[3:3] OF length_measure := [r*sin(theta)*cos(phi), r*sin(theta)*sin(phi), r*cos(theta)];
END_ENTITY;
(*
Attribute definitions:
r: the distance from the point to the z axis;
theta: the angle θ between the z axis and the line joining the origin to the point;
phi: the angle φ measured from the x axis to the projection onto the xy plane of the line from the origin to the point.
coordinates: the rectangular cartesian coordinates of this point;
NOTE See Figure 2 for an illustration of the attributes.
NOTE The parameterization of the Spherical_surface is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Spherical_surface
SUBTYPE OF (Surface);
position : Axis_placement_3d;
radius : positive_length_measure;
END_ENTITY;
(*
Attribute definitions:
position: an Axis_placement_3d that defines the location and orientation of the surface for the purposes of parameterization. The centre of the Spherical_surface is at the location
radius: the radius of the Spherical_surface.
NOTE 1 A Surface may, exceptionally, not be manifold.
NOTE 2 The Surface entity is a supertype of various specific kinds of surfaces. The definition of some of these specific types is outside the scope of the present module.
NOTE 3 Each surface has a unique parameterization S = λ(u,v), this parameterization is defined with the corresponding ARM object and is used in the definition of Point_on_surface .
EXPRESS specification:
*)
ENTITY Surface
SUPERTYPE OF (ONEOF (Conical_surface,
Cylindrical_surface,
Plane,
Spherical_surface,
Swept_surface,
Toroidal_surface))
SUBTYPE OF (Detailed_geometric_model_element);
END_ENTITY;
(*
NOTE The parameterization of the Surface_of_revolution is defined in the corresponding entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Surface_of_revolution
SUBTYPE OF (Swept_surface);
axis_direction : Direction;
axis_point : Cartesian_point;
END_ENTITY;
(*
Attribute definitions:
axis_direction: a Direction that defines the direction of the axis of revolution.
axis_point: a Cartesian_point that lies on the axis of revolution.
EXPRESS specification:
*)
ENTITY Swept_surface
SUPERTYPE OF (ONEOF (Extruded_surface,
Surface_of_revolution))
SUBTYPE OF (Surface);
swept_curve : Curve;
END_ENTITY;
(*
Attribute definitions:
swept_curve: the Curve that is swept to generate the Swept_surface.
NOTE The parameterization of the Toroidal_surface is defined in the corresponding MIM entity from ISO 10303-42.
EXPRESS specification:
*)
ENTITY Toroidal_surface
SUBTYPE OF (Surface);
position : Axis_placement_3d;
radius : positive_length_measure;
minor_radius : positive_length_measure;
END_ENTITY;
(*
Attribute definitions:
position: an Axis_placement_3d that defines the location and orientation of the surface. The centre of the Toroidal_surface is at the location. The plane of the ref_direction and the axis is a central plane of symmetry of the Toroidal_surface. The normal to this plane is the central axis of the surface.
radius: the distance from the central axis of the Toroidal_surface to the centre of one of the circles produced by intersecting the Toroidal_surface with a plane containing the central axis. The surface can be produced by sweeping a circle of radius minor_radius along a circle of radius radius.
minor_radius: the radius of one of the circles produced by intersecting the Toroidal_surface with a plane containing the central axis.
This subclause specifies the ARM subtype constraints for this module. Each subtype constraint places constraints on the possible super-type / subtype instantiations. The ARM subtype constraints and definitions are specified below.
The alternate_geometry_items constraint specifies a constraint that applies to instances of Detailed_geometric_model_element and enforces the rule that its subtypes Direction, Axis_placement, Cartesian_transformation_2d, Cartesian_transformation_3d, Curve and Surface are exclusive.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT alternate_geometry_items FOR Detailed_geometric_model_element;
ONEOF (Direction,
Axis_placement,
Cartesian_transformation_2d,
Cartesian_transformation_3d,
Curve,
Surface);
END_SUBTYPE_CONSTRAINT;
(*
The point_subtypes constraint specifies a constraint that applies to instances of Point and enforces the rule that its subtypes Cartesian_point, Degenerate_pcurve, Point_on_curve and Point_on_surface are exclusive.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT point_subtypes FOR Point;
ONEOF (Cartesian_point,
Degenerate_pcurve,
Point_on_curve,
Point_on_surface);
END_SUBTYPE_CONSTRAINT;
(*
The cartesian_point_subtypes constraint specifies a constraint that applies to instances of Cartesian_point and enforces the rule that its subtypes Cylindrical_point, Polar_point and Spherical_point are exclusive.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT cartesian_point_subtypes FOR Cartesian_point;
ONEOF (Cylindrical_point,
Polar_point,
Spherical_point);
END_SUBTYPE_CONSTRAINT;
(*
*)
END_SCHEMA; -- Basic_geometry_arm
(*
© ISO 2019 — All rights reserved