Application module: Basic curve | ISO/TS 10303-1651:2014-02(E) © ISO |
This clause specifies the information requirements for the Basic curve 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_curve_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Basic_curve_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Basic_geometry_arm;
--
ISO/TS 10303-1652
USE FROM
External_item_identification_assignment_arm;
--
ISO/TS 10303-1128
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Basic_geometry_arm ISO/TS 10303-1652 External_item_identification_assignment_arm ISO/TS 10303-1128
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.
The closed_curve type is an extensible list of alternate data types that allows for the designation of the data types Circle and Closed_composite_curve.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
closed_curve =
EXTENSIBLE
GENERIC_ENTITY
SELECT
(Circle,
Closed_composite_curve);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
curve_transition_code =
ENUMERATION
OF
(discontinuous,
continuous,
cont_same_gradient,
cont_same_gradient_same_curvature);
END_TYPE;
(*
Enumerated item definitions:
discontinuous: the segments do not join;
continuous: there is simple contact continuity between adjacent segments;
cont_same_gradient: at the point of contact the segments share a common tangent;
cont_same_gradient_same_curvature: at the point of contact the segments share a common tangent and have the same radius of curvature.
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 Closed_composite_curve
SUBTYPE OF (Composite_curve);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Composite_curve
SUBTYPE OF (Bounded_curve);
curve_segment : LIST[1:?] OF
UNIQUE
Composite_curve_segment;
END_ENTITY;
(*
Attribute definitions:
curve_segment: specifies the role of the Composite_curve_segment for the Composite_curve. There shall be one or more Composite_curve_segment for a Composite_curve. No Composite_curve_segment shall be specified more than once as a curve_segment for a particular Composite_curve.
EXPRESS specification:
*)
ENTITY Composite_curve_segment;
transition : curve_transition_code;
same_sense : BOOLEAN;
segment_curve : Bounded_curve;
INVERSE
using_curves : SET[1:?] OF Composite_curve FOR curve_segment;
END_ENTITY;
(*
Attribute definitions:
transition: the geometric continuity with the next curve segment when used in a composite curve.
same_sense: the relationship between the sense of the segment_curve and the sense of the composite curve using this segment.
segment_curve: specifies the Bounded_curve defining the geometry of the Composite_curve_segment.
using_curves: specifies an inverse relationship that specifies that the existence of the Composite_curve_segment is dependent on the existence of the Composite_curve that specifies the Composite_curve_segment as its curve_segment. There shall be one or more Composite_curve for a Composite_curve_segment.
A Trimmed_curve is a type of Curve that has a defined, finite extent.
NOTE The Trimmed_curve is necessary to support the specification of precise, metric geometry.
EXPRESS specification:
*)
ENTITY Trimmed_curve
SUBTYPE OF (Bounded_curve);
basis_curve : Curve;
start_point : Cartesian_point;
end_point : Cartesian_point;
END_ENTITY;
(*
Attribute definitions:
basis_curve: specifies the Curve of which the Trimmed_curve is a bounded portion.
start_point: specifies one role of the Cartesian_point for the Trimmed_curve. The start_point is the initiating Cartesian_point.
end_point: specifies one role of the Cartesian_point for the Trimmed_curve. The end_point is the terminating Cartesian_point.
This subclause specifies the ARM subtype constraint for this module. The subtype constraint places a constraint on the possible super-type / subtype instantiations. The ARM subtype constraint and definition is specified below.
The curve_subtypes constraint specifies a constraint that applies to instances of subtypes of Bounded_curve.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT curve_subtypes FOR Bounded_curve;
ONEOF (Composite_curve,
Trimmed_curve);
END_SUBTYPE_CONSTRAINT;
(*
*)
END_SCHEMA; -- Basic_curve_arm
(*
© ISO 2014 — All rights reserved