Application interpreted construct: Curve swept solid ISO 10303-523:2011(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 EXPRESS short listing
   4.1 General
   4.2 Fundamental concepts and assumptions
   4.3 Curve swept solid entity definitions

A Short names of entities
B Information object registration
C Computer interpretable listings
D EXPRESS-G diagrams
E Examples
Bibliography
Index

4 EXPRESS short listing

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following EXPRESS declaration begins the aic_curve_swept_solid schema that uses elements from the integrated resources and contains the types, entity specializations, and functions that are specific to this part of ISO 10303.

EXPRESS specification:

*)
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

4.1 General

This application interpreted construct provides a consistent set of geometric entities for the definition of a curve swept solid shape representation. Each solid in the representation is required to be a surface_curve_swept_area_solid, an extruded_area_solid, a revolved_area_solid or a swept_disk_solid. An instance of surface curve_swept_area_solid may be specialised as a ruled_surface_swept_area_solid. The highest level entity in this AIC is curve_swept_solid_shape_representation which is a specialised type of shape_representation (see ISO 10303-41). The rules on this entity ensure that the shapes included are swept solids or mapped copies of swept solids.

4.2 Fundamental concepts and assumptions

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.

4.3 aic_curve_swept_solid entity definition

4.3.1 curve_swept_solid_shape_representation   EXPRESS-G

A curve_swept_solid_shape_representation is a type of shape_representation in which the shape of a product is represented by specialisations of swept_area_solid or swept_disk_solid entities.

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.

4.3.2 ruled_surface_swept_area_solid   EXPRESS-G

A ruled_surface_swept_area_solid is a type of surface_curve_swept_area_solid in which the surface used to control the orientation of the swept_area as it is swept along the directrix is a ruled surface. The ruled surface is required to be defined as a b_spline_surface of degree 1 in the first parameter direction.

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