Application module: Composite surface | ISO/TS 10303-1525:2018-11(E) © ISO |
This clause specifies the information requirements for the Composite surface 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 Composite_surface_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Composite_surface_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
B_spline_geometry_arm;
--
ISO/TS 10303-1801
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Basic_geometry_arm ISO/TS 10303-1652 B_spline_geometry_arm ISO/TS 10303-1801
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM type for this application module. The ARM type and definition is specified below.
EXPRESS specification:
*)
TYPE
surface_transition_code =
ENUMERATION
OF
(discontinuous,
continuous,
cont_same_gradient,
cont_same_gradient_same_curvature);
END_TYPE;
(*
Enumerated item definitions:
discontinuous: the patches do not join. This is permitted only at the boundary of the surface to indicate that it is not closed.
continuous: the patches join, but no condition on their tangents is implied.
cont_same_gradient: the patches join, their tangent planes are parallel and have the same direction at the joint.
NOTE Equality of derivatives is not required.
cont_same_gradient_same_curvature: the principal curvatures of the surface are the same for the adjacent patches and the principal directions are coincident along the common boundary.
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.
A Rectangular_composite_surface is a type of Bounded_surface composed of a rectangular array of n_u by n_v segments or patches. Each segment shall be finite and topologically rectangular (i.e., it corresponds to a rectangle in parameter space). The segment shall be either a B_spline_surface or a Trimmed_surface. There shall be at least positional continuity between adjacent segments in both directions. The composite surface may be open or closed in the u direction and open or closed in the v direction.
NOTE The full semantics of this entity are defined in the corresponding MIM object which has a complete definition of the parametrisation of the surface and additional constaints, verified by a function, to ensure that each patch references either a B_spline_surface or a Trimmed_surface and that a discontinuous transition can only occur on a boundary of the Rectangular_composite_surface.
EXPRESS specification:
*)
ENTITY Rectangular_composite_surface
SUBTYPE OF (Bounded_surface);
segments : LIST[1:?] OF LIST[1:?] OF Surface_patch;
DERIVE
n_u : INTEGER := SIZEOF(segments);
n_v : INTEGER := SIZEOF(segments[1]);
WHERE
WR1: SIZEOF(QUERY (s <* segments | n_v <> SIZEOF (s))) = 0;
END_ENTITY;
(*
Attribute definitions:
segments: rectangular array (represented by a list of list) of component surface patches. Each such patch contains information on the senses and transitions.
n_u: a derived attribute defining the number of patches in the u parameter direction.
n_v: a derived attribute defining the number of patches in the v parameter direction.
Formal propositions:
WR1: each sub-list in the segments list shall contain n_v Surface_patches.
EXPRESS specification:
*)
ENTITY Surface_patch;
parent_surface : Bounded_surface;
u_transition : surface_transition_code;
v_transition : surface_transition_code;
u_sense : BOOLEAN;
v_sense : BOOLEAN;
INVERSE
using_surfaces : BAG[1:?] OF Rectangular_composite_surface FOR segments;
END_ENTITY;
(*
Attribute definitions:
parent_surface: the Bounded_surface defining the geometry of the patch.
u_transition: the minimum state of geometric continuity along the second u boundary of the patch as it joins its neighbour in a composite surface.
v_transition: the minimum state of geometric continuity along the second v boundary of the patch as it joins its neighbour in a composite surface.
u_sense: the relationship between the sense (increasing u parameter) of the patch and the sense of the parent_surface.
v_sense: the relationship between the sense (increasing v parameter) of the patch and the sense of the parent_surface.
using_surfaces: the unordered set of Rectangular_composite_surfaces which use this Surface_patch in their definition. At least one Rectangular_composite_surface shall be required for using_surfaces.
A Trimmed_surface is a type of Bounded_surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface.
NOTE 1 Cyclic properties of the parameter range are assumed.
EXAMPLE 370 degrees is equivalent to 10 degrees for those surfaces whose parametric form is defined using circular functions (sine and cosine).
The Trimmed_surface inherits its parametrisation directly from the basis surface and has parameter ranges from 0 to mod(u2 - u1) and 0 to mod(v2-v1).
NOTE 2 If the surface is closed in a given parametric direction, the values of u2 or v2 may require to be increased by the cyclic range.
EXPRESS specification:
*)
ENTITY Trimmed_surface
SUBTYPE OF (Bounded_surface);
basis_surface : Surface;
u1 : parameter_value;
u2 : parameter_value;
v1 : parameter_value;
v2 : parameter_value;
usense : BOOLEAN;
vsense : BOOLEAN;
WHERE
WR1: u1 <> u2;
WR2: v1 <> v2;
END_ENTITY;
(*
Attribute definitions:
basis_surface: the Surface being trimmed.
u1: the first u parameter value defining a boundary of the Trimmed_surface.
u2: the second u parameter value defining a boundary of the Trimmed_surface.
v1: the first v parameter value defining a boundary of the Trimmed_surface.
v2: the second v parameter value defining a boundary of the Trimmed_surface.
usense: flag to indicate whether the direction of the first parameter of the Trimmed_surface agrees with or opposes the sense of u in the basis_surface.
vsense: flag to indicate whether the direction of the second parameter of the Trimmed_surface agrees with or opposes the sense of u in the basis_surface.
Formal propositions:
WR1: u1 and u2 shall have different values.
WR2: v1 and v2 shall have different values.
Informal propositions:
IP1: with the exception of those surfaces closed in the u parameter direction, usense shall be compatible with the ordered parameter values for u.
IP2: with the exception of those surfaces closed in the v parameter direction, vsense shall be compatible with the ordered parameter values for v.
*)
END_SCHEMA; -- Composite_surface_arm
(*
© ISO 2018 — All rights reserved