Application interpreted construct: Curve swept solid | ISO 10303-523:2011(E) © ISO |
*)
SCHEMA aic_curve_swept_solid;
USE FROM
measure_schema;
--
ISO 10303-41
USE FROM
geometry_schema
--
ISO 10303-42
(axis2_placement_2d,
axis2_placement_3d,
bezier_curve,
bezier_surface,
b_spline_curve_with_knots,
b_spline_curve,
b_spline_surface,
b_spline_surface_with_knots,
cartesian_point,
circle,
composite_curve_on_surface,
conical_surface,
cylindrical_surface,
degenerate_toroidal_surface,
direction,
ellipse,
geometric_representation_context,
hyperbola,
line,
parabola,
pcurve,
plane,
polyline,
quasi_uniform_curve,
quasi_uniform_surface,
rational_b_spline_curve,
rational_b_spline_surface,
spherical_surface,
surface_curve,
surface_of_linear_extrusion,
surface_of_revolution,
swept_surface,
trimmed_curve,
toroidal_surface,
uniform_curve,
uniform_surface,
vector);
USE FROM
geometric_model_schema
--
ISO 10303-42
(extruded_area_solid,
revolved_area_solid,
surface_curve_swept_area_solid,
swept_disk_solid);
USE FROM
representation_schema
--
ISO 10303-43
(mapped_item);
USE FROM
product_property_representation_schema
--
ISO 10303-41
(shape_representation);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
measure_schema ISO 10303-41 geometry_schema ISO 10303-42 geometric_model_schema ISO 10303-42 representation_schema ISO 10303-43 product_property_representation_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
NOTE 3 There may be subtypes and items of select lists that appear in the integrated resources that are not imported into the AIC. Constructs are eliminated from the subtype tree or select list through the use of the implicit interface rules of ISO 10303-11. References to eliminated constructs are outside the scope of the AIC. In some cases, all items of the select list are eliminated. Because AICs are intended to be implemented in the context of an application protocol, the items of the select list will be defined by the scope of the application protocol
An application protocol that uses this AIC shall ensure that the shape_representation entity is instantiated as a curve_swept_solid_shape_representation.
All geometry imported into this AIC is used for the purpose of defining swept solids.
Each solid_model in the representation is required to be a swept_area_solid or a swept_disk_solid.
Particular types of swept_area_solid that may be included are extruded_area_solid, revolved_area_solid, and surface_curve_swept_area_solid, including the ruled_surface_swept_area_solid.
EXPRESS specification:
*)
ENTITY curve_swept_solid_shape_representation
SUBTYPE OF (shape_representation);
WHERE
WR1: SIZEOF (QUERY (it <* SELF.items |
NOT (SIZEOF (['AIC_CURVE_SWEPT_SOLID.SWEPT_AREA_SOLID',
'AIC_CURVE_SWEPT_SOLID.SWEPT_DISK_SOLID',
'AIC_CURVE_SWEPT_SOLID.MAPPED_ITEM',
'AIC_CURVE_SWEPT_SOLID.AXIS2_PLACEMENT_3D'] *
TYPEOF(it)) = 1))) = 0;
WR2: SIZEOF (QUERY (it <* SELF.items |
SIZEOF(['AIC_CURVE_SWEPT_SOLID.SWEPT_AREA_SOLID',
'AIC_CURVE_SWEPT_SOLID.SWEPT_DISK_SOLID',
'AIC_CURVE_SWEPT_SOLID.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0;
WR3: SIZEOF (QUERY (mi <* QUERY (it <* items |
'AIC_CURVE_SWEPT_SOLID.MAPPED_ITEM' IN TYPEOF(it)) |
NOT ('AIC_CURVE_SWEPT_SOLID.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN
TYPEOF(mi\mapped_item.mapping_source.
mapped_representation)))) = 0;
WR4: SIZEOF (QUERY (scsas <* QUERY (it <* SELF.items |
'AIC_CURVE_SWEPT_SOLID.SURFACE_CURVE_SWEPT_AREA_SOLID' IN
TYPEOF(it)) |
NOT(('AIC_CURVE_SWEPT_SOLID.SURFACE_CURVE' IN
TYPEOF(scsas\surface_curve_swept_area_solid.directrix)) OR
('AIC_CURVE_SWEPT_SOLID.PCURVE' IN
TYPEOF(scsas\surface_curve_swept_area_solid.directrix))))) = 0;
END_ENTITY;
(*
Formal propositions:
WR1: The items in a curve_swept_solid_shape_representation shall be swept_area_solids, swept_disk_solids, mapped_items, or axis2_placement_3ds.
WR2: At least one of the items shall be either a swept_area_solid, a swept_disk_solid or a mapped_item.
WR3: For any mapped_item, the mapped_representation of its mapping_source shall be a curve_swept_solid_shape_representation.
WR4: If there is a surface_curve_swept_area_solid in a curve_swept_solid_shape_representation the directrix shall be either a pcurve or a surface_curve.
NOTE 1 At all times during the sweeping operation the swept_area is maintained in the plane normal to the directrix and is oriented by keeping the x axis of the plane (z = 0) of the swept_area in the direction of the normal to the ruled surface at the current point on the directrix. This implies that the negative y axis of the swept_area plane lies in the direction of the projection of the ruling direction onto the plane normal to the directrix.
EXPRESS specification:
*)
ENTITY ruled_surface_swept_area_solid
SUBTYPE OF (surface_curve_swept_area_solid);
WHERE
WR1: ('AIC_CURVE_SWEPT_SOLID.B_SPLINE_SURFACE' IN TYPEOF(SELF.reference_surface)) AND
(SELF.reference_surface\b_spline_surface.u_degree = 1);
WR2: ('AIC_CURVE_SWEPT_SOLID.PCURVE' IN TYPEOF(SELF.directrix)) OR
(('AIC_CURVE_SWEPT_SOLID.B_SPLINE_CURVE' IN TYPEOF(SELF.directrix\surface_curve.curve_3d))
AND
(SELF.directrix\surface_curve.curve_3d\b_spline_curve.degree =
SELF.reference_surface\b_spline_surface.v_degree));
END_ENTITY;
(*
Formal propositions:
WR1: The reference_surface of a ruled_surface_swept_area_solid shall be a b_spline_surface surface of u_degree 1.
NOTE 2 This ensures that the reference surface has the form of a ruled surface bounded by two b_spline_curves. These curves have degree v_degree and are defined by the two sub-lists of the control_points_list of the reference_surface.
WR2: The directrix shall be either a pcurve or a surface_curve. If the directrix is a surface_curve the curve_3d shall be a b_spline_curve of the same degree as the boundary curves of the ruled surface that is the reference_surface.
*)
END_SCHEMA; -- aic_curve_swept_solid
(*
© ISO 2011 — All rights reserved