Application interpreted construct: Draughting elements | ISO 10303-506:2018-11(E) © ISO |
Short names of entities defined in this schema are described in Annex A. Unambiguous identification of this schema is defined in Annex B.
EXPRESS specification:
*)
SCHEMA aic_draughting_elements;
USE FROM
draughting_element_schema
--
ISO 10303-101
(dimension_curve,
dimension_curve_directed_callout,
dimension_curve_terminator,
draughting_callout,
draughting_callout_relationship,
leader_curve,
leader_directed_callout,
leader_terminator,
projection_curve,
projection_directed_callout);
USE FROM
presentation_definition_schema
--
ISO 10303-46
(annotation_text_occurrence);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
draughting_element_schema ISO 10303-101 presentation_definition_schema ISO 10303-46
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
NOTE Figure 1 illustrates three angular dimensions used to depict information about angular distance measures. The figure also illustrates a radius dimension.
EXPRESS specification:
*)
ENTITY angular_dimension
SUBTYPE OF (dimension_curve_directed_callout);
END_ENTITY;
(*
NOTE Figure 2 illustrates two curve dimensions. The dimension with a value of '36.91' depicts the distance between two elements along a path defined by a third element of geometry or annotation. The dimension with a value of '76.64' depicts the length of a curve, measured along the entire path of the curve.
EXPRESS specification:
*)
ENTITY curve_dimension
SUBTYPE OF (dimension_curve_directed_callout);
END_ENTITY;
(*
NOTE Figure 3 illustrates the dimensioning and annotation of specific features of a product. The top view illustrates the specification of Datums 'E' and 'F' and the specification of a diameter dimension with an associated geometrical tolerance. The middle view of the same figure illustrates a specification of Datum 'D'.
EXPRESS specification:
*)
ENTITY datum_feature_callout
SUBTYPE OF (draughting_callout);
END_ENTITY;
(*
NOTE The bottom view in Figure 3 illustrates three datum target points and their associated datum target symbols.
EXPRESS specification:
*)
ENTITY datum_target_callout
SUBTYPE OF (draughting_callout);
END_ENTITY;
(*
NOTE Figure 4 illustrates three diameter dimensions. Projection lines can be used to clarify the extent of the dimension.
EXPRESS specification:
*)
ENTITY diameter_dimension
SUBTYPE OF (dimension_curve_directed_callout);
END_ENTITY;
(*
NOTE Figure 5 illustrates a structured dimension callout with both prefix and suffix information.
EXPRESS specification:
*)
ENTITY dimension_callout_component_relationship
SUBTYPE OF (draughting_callout_relationship);
WHERE
WR1: SELF.name IN ['prefix', 'suffix'];
WR2: 'AIC_DRAUGHTING_ELEMENTS.STRUCTURED_DIMENSION_CALLOUT'
IN TYPEOF (SELF.relating_draughting_callout);
WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) *
['AIC_DRAUGHTING_ELEMENTS.LEADER_DIRECTED_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.PROJECTION_DIRECTED_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.DIMENSION_CURVE_DIRECTED_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.STRUCTURED_DIMENSION_CALLOUT']) = 0;
WR4: SELF.related_draughting_callout.contents *
SELF.relating_draughting_callout.contents =
SELF.related_draughting_callout.contents;
WR5: ((SELF.name = 'prefix') AND
(SIZEOF (QUERY (ato <* QUERY (con <*
SELF.related_draughting_callout.contents |
('AIC_DRAUGHTING_ELEMENTS.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF(con))) |
NOT (ato.name = 'prefix text')
)) = 0));
WR6: ((SELF.name = 'suffix') AND
(SIZEOF (QUERY (ato <* QUERY (con <*
SELF.related_draughting_callout.contents |
('AIC_DRAUGHTING_ELEMENTS.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF(con))) |
NOT (ato.name = 'suffix text')
)) = 0));
END_ENTITY;
(*
Formal propositions:
WR1: The name of the dimension_callout_component_relationship shall be either 'prefix' or 'suffix'.
WR2: The relating_draughting_callout shall be a structured_dimension_callout.
WR3: The related_draughting_callout shall not be a leader_directed_callout, projection_directed_callout, dimension_curve_directed_callout, or structured_dimension_callout.
WR4: Each element of the draughting_callout shall also be an element of the structured_dimension_callout.
WR5: If the name of the dimension_callout_component_relationship is 'prefix', all annotation_text_occurrences within the related_draughting_callout shall have a name of 'prefix text'.
WR6: If the name of the dimension_callout_component_relationship is 'suffix', all annotation_text_occurrences within the related_draughting_callout shall have a name of 'suffix text'.
EXPRESS specification:
*)
ENTITY dimension_callout_relationship
SUBTYPE OF (draughting_callout_relationship);
WHERE
WR1: SELF.name IN ['primary', 'secondary'];
WR2: SIZEOF (TYPEOF (SELF.relating_draughting_callout) *
['AIC_DRAUGHTING_ELEMENTS.ANGULAR_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.CURVE_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.DIAMETER_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.LEADER_DIRECTED_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.LINEAR_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.ORDINATE_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.RADIUS_DIMENSION'])>=1;
WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) *
['AIC_DRAUGHTING_ELEMENTS.DIMENSION_CURVE_DIRECTED_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.PROJECTION_DIRECTED_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.LEADER_DIRECTED_CALLOUT']) = 0;
WR4: SELF.related_draughting_callout.contents *
SELF.relating_draughting_callout.contents =
SELF.related_draughting_callout.contents;
END_ENTITY;
(*
Formal propositions:
WR1: The name of the dimension_callout_relationship shall be either 'primary' or 'secondary'.
WR2: The dimension shall be one or more of angular_dimension, curve_dimension, diameter_dimension, leader_directed_dimension, linear_dimension, ordinate_dimension, or radius_dimension.
WR3: The dimension callout shall not be a dimension_curve_directed_callout, projection_directed_callout, or leader_directed_callout.
WR4: Each element of the dimension callout shall also be an element of the dimension.
NOTE Figure 6 illustrates four horizontally-drawn linear dimensions in a series of parallel dimension pairs and three vertically-drawn linear dimensions in a series of parallel dimension pairs. Figure 7 illustrates three horizontally-drawn linear dimensions in a series of chained dimension pairs. In both figures, each set of two dimensions sharing a projection line is a dimension pair.
EXPRESS specification:
*)
ENTITY dimension_pair
SUBTYPE OF (draughting_callout_relationship);
WHERE
WR1: SELF.name IN ['chained', 'parallel'];
WR2: SIZEOF (TYPEOF (SELF.relating_draughting_callout) *
['AIC_DRAUGHTING_ELEMENTS.ANGULAR_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.CURVE_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.DIAMETER_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.LINEAR_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.ORDINATE_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.RADIUS_DIMENSION'])=1;
WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) *
['AIC_DRAUGHTING_ELEMENTS.ANGULAR_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.CURVE_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.DIAMETER_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.LINEAR_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.ORDINATE_DIMENSION',
'AIC_DRAUGHTING_ELEMENTS.RADIUS_DIMENSION'])=1;
END_ENTITY;
(*
Formal propositions:
WR1: The name of the dimension_pair shall be either 'chained' or 'parallel'.
WR2: The predecessor dimension in the dimension_pair shall be an angular_dimension, curve_dimension, diameter_dimension, linear_dimension, ordinate_dimension, or radius_dimension.
WR3: The successor dimension in the dimension_pair shall be an angular_dimension, curve_dimension, diameter_dimension, linear_dimension, ordinate_dimension, or radius_dimension.
EXPRESS specification:
*)
ENTITY draughting_elements
SUBTYPE OF (draughting_callout);
WHERE
WR1: SIZEOF (QUERY (l_c <* QUERY (con <* SELF.contents |
('AIC_DRAUGHTING_ELEMENTS.LEADER_CURVE' IN TYPEOF(con))) |
NOT (SIZEOF (QUERY (ldc <* USEDIN (l_c,
'DRAUGHTING_ELEMENT_SCHEMA.' + 'DRAUGHTING_CALLOUT.CONTENTS') |
('AIC_DRAUGHTING_ELEMENTS.LEADER_DIRECTED_CALLOUT'
IN TYPEOF (ldc)))) <= 1)))=0;
WR2: NOT ('DRAUGHTING_ELEMENT_SCHEMA.DIMENSION_CURVE_DIRECTED_CALLOUT'
IN TYPEOF(SELF)) OR
(SIZEOF (QUERY (con <* SELF.contents |
('AIC_DRAUGHTING_ELEMENTS.PROJECTION_CURVE' IN
TYPEOF (con)))) <= 2);
WR3: SIZEOF (QUERY (rc <* USEDIN (SELF,
'DRAUGHTING_ELEMENT_SCHEMA.DRAUGHTING_CALLOUT_' +
'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
('AIC_DRAUGHTING_ELEMENTS.' +
'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
(rc.name = 'primary') )) <= 1;
WR4: SIZEOF (QUERY (rc <* USEDIN (SELF,
'DRAUGHTING_ELEMENT_SCHEMA.DRAUGHTING_CALLOUT_' +
'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
('AIC_DRAUGHTING_ELEMENTS.' +
'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
(rc.name = 'secondary') )) <= 1;
WR5: SIZEOF (QUERY (sec <* QUERY (rc <* USEDIN (SELF,
'DRAUGHTING_ELEMENT_SCHEMA.DRAUGHTING_CALLOUT_' +
'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
('AIC_DRAUGHTING_ELEMENTS.' +
'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND
(rc.name = 'secondary') ) |
NOT (SIZEOF (QUERY (prim <* USEDIN (SELF,
'DRAUGHTING_ELEMENT_SCHEMA.DRAUGHTING_CALLOUT_' +
'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') |
('AIC_DRAUGHTING_ELEMENTS.' +
'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (prim)) AND
(prim.name = 'primary') )) = 1))) = 0;
END_ENTITY;
(*
Formal propositions:
WR1: Each leader_curve that is in the contents of a draughting_callout shall be used by at most one leader_directed_callout.
WR2: Each dimension_curve_directed_callout shall contain at most two projection_curves in the set of contents.
WR3: Each draughting_callout shall be the specified dimension of at most one dimension_callout_relationship with a name of 'primary'.
WR4: Each draughting_callout shall be the specified dimension of at most one dimension_callout_relationship with a name of 'secondary'.
WR5: Each draughting_callout shall not participate in a secondary dimension_callout_relationship unless it also participates in a primary dimension_callout_relationship.
NOTE The top view in Figure 3 illustrates the specification of a diameter dimension with an associated geometrical tolerance. The middle view illustrates a geometrical tolerance related by a projection line. Computer-interpretable geometric tolerances are outside the scope of this application interpreted construct.
EXPRESS specification:
*)
ENTITY geometrical_tolerance_callout
SUBTYPE OF (draughting_callout);
END_ENTITY;
(*
NOTE Figure 8 illustrates a leader directed dimension used to depict information about the holes in the product. Linear dimensions are used to show the placement of the holes.
EXPRESS specification:
*)
ENTITY leader_directed_dimension
SUBTYPE OF (leader_directed_callout);
WHERE
WR1: SIZEOF (QUERY (con <* SELF.contents |
'AIC_DRAUGHTING_ELEMENTS.LEADER_CURVE' IN TYPEOF (con)))=1;
END_ENTITY;
(*
Formal propositions:
WR1: The contents of a leader_directed_dimension shall contain exactly one leader_curve.
NOTE Figures 3, 6, 7, and 8 show several linear dimensions used singularly or in dimension pairs.
EXPRESS specification:
*)
ENTITY linear_dimension
SUBTYPE OF (dimension_curve_directed_callout);
END_ENTITY;
(*
NOTE Figure 9 illustrates several ordinate dimensions used to dimension a simple mechanical product.
EXPRESS specification:
*)
ENTITY ordinate_dimension
SUBTYPE OF (projection_directed_callout);
END_ENTITY;
(*
NOTE Figure 1 illustrates a radius dimension. The figure also illustrates three angular dimensions.
EXPRESS specification:
*)
ENTITY radius_dimension
SUBTYPE OF (dimension_curve_directed_callout);
WHERE
WR1: SIZEOF (QUERY (con <* SELF.contents |
'AIC_DRAUGHTING_ELEMENTS.PROJECTION_CURVE' IN TYPEOF (con)))<=1;
END_ENTITY;
(*
Formal propositions:
WR1: The contents of a radius_dimension shall contain at most one projection_curve.
NOTE Figure 5 illustrates components of a structured dimension callout. The dimension callout contains curves, symbols, and text. Text is identified as the dimension value, tolerance value, or unit text. Other draughting callouts can be identified as prefix or suffix information by use of dimension_callout_component_relationship.
EXPRESS specification:
*)
ENTITY structured_dimension_callout
SUBTYPE OF (draughting_callout);
WHERE
WR1: SIZEOF (TYPEOF (SELF) *
['AIC_DRAUGHTING_ELEMENTS.DATUM_FEATURE_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.DATUM_TARGET_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.GEOMETRICAL_TOLERANCE_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.LEADER_DIRECTED_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.PROJECTION_DIRECTED_CALLOUT',
'AIC_DRAUGHTING_ELEMENTS.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0;
WR2: SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
('AIC_DRAUGHTING_ELEMENTS.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (con))) |
NOT (ato.name IN
['dimension value', 'tolerance value', 'unit text',
'prefix text', 'suffix text']))) = 0;
WR3: SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
('AIC_DRAUGHTING_ELEMENTS.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (con))) |
(ato.name = 'dimension value')
)) >= 1;
WR4: SIZEOF (QUERY (dcr <* USEDIN (SELF, 'DRAUGHTING_ELEMENT_SCHEMA.' +
'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
'RELATING_DRAUGHTING_CALLOUT') |
('AIC_DRAUGHTING_ELEMENTS.' +
'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
(dcr.name = 'prefix') )) <= 1;
WR5: SIZEOF (QUERY (dcr <* USEDIN (SELF, 'DRAUGHTING_ELEMENT_SCHEMA.' +
'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
'RELATING_DRAUGHTING_CALLOUT') |
('AIC_DRAUGHTING_ELEMENTS.' +
'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
(dcr.name = 'suffix') )) <= 1;
WR6: NOT((SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
('AIC_DRAUGHTING_ELEMENTS.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF(con)) ) |
(ato.name = 'prefix text')
)) > 0)) OR
(SIZEOF (QUERY (dcr <* USEDIN (SELF, 'DRAUGHTING_ELEMENT_SCHEMA.' +
'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
'RELATING_DRAUGHTING_CALLOUT') |
('AIC_DRAUGHTING_ELEMENTS.' +
'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
(dcr.name = 'prefix') )) = 1);
WR7: NOT(SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents |
('AIC_DRAUGHTING_ELEMENTS.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF(con))) |
(ato.name = 'suffix text')
)) > 0) OR
(SIZEOF (QUERY (dcr <* USEDIN (SELF, 'DRAUGHTING_ELEMENT_SCHEMA.' +
'DRAUGHTING_CALLOUT_RELATIONSHIP.' +
'RELATING_DRAUGHTING_CALLOUT') |
('AIC_DRAUGHTING_ELEMENTS.' +
'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND
(dcr.name = 'suffix') )) = 1);
END_ENTITY;
(*
Formal propositions:
WR1: The structured_dimension_callout shall not be a datum_feature_callout, datum_target_callout, geometrical_tolerance_callout, leader_directed_callout, projection_directed_callout, or dimension_curve_directed_callout.
WR2: Each annotation_text_occurrence in the structured_dimension_callout shall have a name of 'dimension value', 'tolerance value', 'unit text', 'prefix text', or 'suffix text'.
WR3: The contents of the structured_dimension_callout shall contain at least one annotation_text_occurrence that shall have a name of 'dimension value'.
WR4: The structured_dimension_callout shall participate as the dimension callout in at most one dimension_callout_component_relationship with name of 'prefix'.
WR5: The structured_dimension_callout shall participate as the dimension callout in at most one dimension_callout_component_relationship with name of 'suffix'.
WR6: If the contents of the structured_dimension_callout contain an annotation_text_occurrence that is 'prefix text', then the structured_dimension_callout shall participate as the dimension callout in a dimension_callout_component_relationship with name of 'prefix'.
WR7: If the contents of the structured_dimension_callout contain an annotation_text_occurrence that is 'suffix text', then the structured_dimension_callout shall participate as the dimension callout in a dimension_callout_component_relationship with name of 'suffix'.
*)
END_SCHEMA; -- aic_draughting_elements
(*
© ISO 2018 — All rights reserved