Application interpreted construct: Mechanical design shaded presentation | ISO 10303-518:2014(E) © ISO |
*)
SCHEMA aic_mechanical_design_shaded_presentation;
USE FROM
geometry_schema
--
ISO 10303-42
(axis2_placement,
axis2_placement_2d,
axis2_placement_3d);
USE FROM
measure_schema
--
ISO 10303-41
(positive_ratio_measure);
USE FROM
presentation_appearance_schema
--
ISO 10303-46
(curve_style,
curve_style_font,
curve_style_font_pattern,
curve_style_rendering,
draughting_pre_defined_curve_font,
fill_area_style_colour,
invisibility,
marker_type,
over_riding_styled_item,
point_style,
presentation_style_by_context,
styled_item,
surface_rendering_properties,
surface_side_style,
surface_style_boundary,
surface_style_control_grid,
surface_style_fill_area,
surface_style_parameter_line,
surface_style_reflectance_ambient,
surface_style_reflectance_ambient_diffuse,
surface_style_reflectance_ambient_diffuse_specular,
surface_style_rendering,
surface_style_rendering_with_properties,
surface_style_segmentation_curve,
surface_style_silhouette,
surface_style_transparent,
surface_style_usage,
u_direction_count,
v_direction_count);
USE FROM
presentation_organization_schema
--
ISO 10303-46
(area_in_set,
background_colour,
camera_image_3d_with_scale,
camera_model_d3,
camera_model_d3_with_hlhsr,
camera_model_with_light_sources,
camera_usage,
light_source_ambient,
light_source_directional,
light_source_positional,
light_source_spot,
presentation_area,
presentation_set,
presentation_representation,
presentation_size,
presentation_view);
USE FROM
presentation_resource_schema
--
ISO 10303-46
(colour_rgb,
draughting_pre_defined_colour,
planar_box,
planar_extent);
USE FROM
product_property_representation_schema
--
ISO 10303-41
(shape_representation);
USE FROM
representation_schema
--
ISO 10303-43
(mapped_item,
representation);
REFERENCE FROM
presentation_organization_schema
--
ISO 10303-46
(aspect_ratio);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
geometry_schema ISO 10303-42 measure_schema ISO 10303-41 presentation_appearance_schema ISO 10303-46 presentation_organization_schema ISO 10303-46 presentation_resource_schema ISO 10303-46 product_property_representation_schema ISO 10303-41 representation_schema ISO 10303-43
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
The structure for the management of pictures is implemented using entities mechanical_design_shaded_presentation_area, presentation_view, and mechanical_design_shaded_presentation_representation. The relationships between these entities are represented using the mapped_item and representation_map entities. A mechanical_design_shaded_presentation_representation is a subtype of presentation_area. This subtype has been created for the purpose of this part of ISO 10303. All the contents of a window, that is the views on one or several product shapes, shall be included in one mechanical_design_shaded_presentation_area.
A view is represented by a presentation_view. The view shall contain entity camera_image_3d_with_scale, which for the purpose of this part of ISO 10303 has been created as a subtype of camera_image and, thus, of mapped_item. Via camera_usage this entity references camera_model_d3 as its mapping_origin, which has the information that is necessary to compute the projection of a shape. To allow more realistic presentations of a product shape, hidden line and hidden surface removal, as well as light sources, can be specified using the subtypes of camera_model_d3, camera_model_d3_with_hlhsr, and camera_model_with_light_sources.
The product shape itself is linked into the presentation hierarchy by mechanical_design_shaded_presentation_representation, which has also been created for the purpose of this part of ISO 10303. This entity shall be referenced as the mapped_representation of a camera_image_3d_with_scale. All items of a mechanical_design_shaded_presentation_representation shall be either styled_items that describe shape, camera_model_d3s, or mapped_items. Mapped_items shall be mappings of either shape_representations or of other mechanical_design_shaded_presentation_representations. The item of a styled_item may either reference directly a geometric_representation_item or a topological_representation_item, or indirectly via a mapped_item that is the mapping of a shape_representation.
The appearance of product shape may be specified using styles for points, curves, and surfaces. Styles may also be assigned to topological elements of product shape. A style assignment is made by instantiating a styled_item, which refers to a representation_item together with its presentation_style_assignment. The representation_item may be a mapped_item that references a shape_representation as its mapped_representation. The styled_items are collected into a mechanical_design_shaded_presentation_representation, as mentioned above.
The presentation_style_assignment of a styled_item affects the appearance of the referenced representation_item as well as the appearance of all representation_items referenced directly or indirectly by that item. Only those representation_items are affected that are not already styled. This means styling a styled representation_item has no effect. Styling a partially styled representation_item affects only the appearance of the unstyled parts. Styling an unstyled representation_item affects the appearance of the whole item. Only styled representation_items may be presented. Whether they are actually presented depends also on other facts, like invisibility. This part of ISO 10303 does not make any statement about the effect if style conflicts occur.
EXAMPLE A style conflict occurs, for example, when a representation_item is used by several styled_items.
A presentation_style_assignment is used to assign styles to a representation_item independently from any presentation context. A subtype of presentation_style_assignment, the presentation_style_by_context, allows the assignment of style for a specific presentation context. A presentation context can be any representation or representation_item.
Point_styles allow the specification of the marker symbol, marker size, and colour to be used for presenting points.
Curve_styles allow the specification of curve fonts, curve width, and colour. The appearance of curve ends and corners, and of patterns for filling visible curve segments is not distinguished. A curve font specifies whether a curve shall be drawn using solid, dashed, or dotted lines. The specification of arbitrary patterns for curve fonts and the usage of externally defined curve fonts are not included. Curve fonts may be pre–defined. The entities used for the definition of curve fonts are draughting_pre_defined_curve_font and curve_style_font. The curve width shall be specified as a measure value. The curve_style_rendering controls the rendering of curves on a surface and is described together with surface styles below.
Surface styles provide the resources to specify the visual appearance of surfaces. Separate surface styles may be applied to each side of a surface using entities surface_style_usage and surface_side_style. A surface side style may be any combination of fill area style, boundary style, silhouette style, segmentation curve style, control grid style, parameter line style, or rendering style.
A fill area style specifies a style for presenting visible surfaces by mapping a coloured fill area upon them.
A boundary style specifies a curve style for presenting the boundary curves of a surface. If no boundary style is specified, the boundary curves shall not be presented.
A silhouette style specifies a curve style for presenting the silhouette curves of a surface. If no silhouette style is specified, silhouette curves shall not be presented.
A segmentation curve style specifies a curve style for presenting the segmentation curves of a surface. This style affects only surfaces which are divided into segments, such as B–spline surfaces. If no segmentation curve style is specified, segmentation curves shall not be presented.
A control grid style specifies a curve style for presenting the mesh of control points which are used for the definition of a surface. This style affects only surfaces which are defined over a mesh of control points, such as B–spline surfaces. If no control grid style is specified, the control grid shall not be presented.
A parameter line style specifies a curve style for presenting iso–parameter lines of a surface. The number of parameter lines in each parameter direction has to be specified for this style. If no parameter line style is specified, the parameter lines shall not be presented.
The entities defining these surface styles are surface_fill_area, surface_style_boundary, surface_style_silhouette, surface_style_segmentation_curve, surface_style_control_grid, and surface_style_parameter_line.
The entities curve_style_rendering and surface_rendering_properties specify the rendering method and properties for curves on a surface. A rendering style specifies the method which shall be used for rendering the surface. If this style is specified, surface rendering using reflectance calculations is performed for presenting the surface. For this style, a colour shall be specified for the surface. Additional rendering properties including transparency and ambient, diffuse, and specular reflectance coefficients can optionally be specified. The entities for rendering styles are surface_style_rendering, surface_style_rendering_with_properties, surface_style_transparent, surface_style_reflectance_ambient, surface_style_reflectance_ambient_diffuse, and surface_style_reflectance_ambient_diffuse_specular. Pre–defined surface styles are not included.
Colours may be specified based on the RGB colour model using entity colour_rgb or by draughting_pre_defined_colour.
This part of ISO 10303 does not include constructs for the representation of annotation.
The following entities are intended to be independently instantiated in the application protocol schemas that use this AIC:
EXPRESS specification:
*)
TYPE
mechanical_design_shaded_presentation_area_items
=
SELECT
(axis2_placement,
mapped_item);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
mechanical_design_shaded_presentation_representation_items
=
SELECT
(axis2_placement,
camera_model_d3,
mapped_item,
styled_item);
END_TYPE;
(*
EXPRESS specification:
*)
ENTITY mechanical_design_shaded_presentation_area
SUBTYPE OF (presentation_area);
SELF\representation.items : SET[1:?] OF mechanical_design_shaded_presentation_area_items;
WHERE
WR1: SIZEOF (QUERY (it1 <* SELF.items |
NOT (('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.AXIS2_PLACEMENT'
IN TYPEOF (it1))
OR
(('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.MAPPED_ITEM'
IN TYPEOF (it1)) AND
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.PRESENTATION_VIEW'
IN TYPEOF
(it1\mapped_item.mapping_source.mapped_representation)))))) = 0;
WR2: SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.MAPPED_ITEM'
IN TYPEOF (it1)) |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.PRESENTATION_VIEW'
IN TYPEOF
(mi1\mapped_item.mapping_source.mapped_representation)) |
(* search in all presentation_views for axis2_placements and
mapped_items and for the subtype of mapped_item,
camera_image_3d_with_scale; the latter shall reference
a mechanical_design_geometric_presentation_representation;
the supertype mapped_item shall reference presentation_view. *)
NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source.
mapped_representation\representation.items |
NOT (('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.AXIS2_PLACEMENT'
IN TYPEOF(it2))
OR
(('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.MAPPED_ITEM'
IN TYPEOF(it2)) AND NOT
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT (
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.PRESENTATION_VIEW'
IN TYPEOF
(it2\mapped_item.mapping_source.mapped_representation)))
OR
(('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))
AND NOT (
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'
IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) ))
))) = 0))) = 0;
WR3: (SIZEOF (QUERY(ps <* USEDIN (SELF,
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'PRESENTATION_SIZE.UNIT') |
NOT ((ps\presentation_size.size.size_in_x > 0)
AND (ps\presentation_size.size.size_in_y > 0)) )) = 0)
AND
(* check secondly for presentation_set, via area_in_set *)
(SIZEOF (QUERY(pset <* QUERY(ais <*
USEDIN (SELF, 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'AREA_IN_SET.AREA')
| 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'PRESENTATION_SET' IN TYPEOF (ais.in_set)) |
(* after having collected all presentation_set, check their sizes *)
SIZEOF (QUERY(ps <* USEDIN(pset,
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'PRESENTATION_SIZE.UNIT')
| NOT ((ps\presentation_size.size.size_in_x > 0)
AND (ps\presentation_size.size.size_in_y > 0)) )) = 0)) = 0);
WR4: (SIZEOF(QUERY( psize <* USEDIN (SELF,
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'PRESENTATION_SIZE.UNIT')
| 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'AXIS2_PLACEMENT_2D'
IN TYPEOF (psize.size.placement))) = 1)
AND
(* check secondly for presentation_set, via area_in_set *)
(SIZEOF (QUERY(pset <* QUERY(ais <*
USEDIN (SELF, 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'AREA_IN_SET.AREA')
| 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'PRESENTATION_SET' IN TYPEOF (ais.in_set)) |
(* after having collected all presentation_set, check their
dimension *)
SIZEOF (QUERY(psize <* USEDIN(pset,
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'PRESENTATION_SIZE.UNIT')
| NOT ('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'AXIS2_PLACEMENT_2D'
IN TYPEOF (psize.size.placement)) )) = 0)) = 0);
WR5: SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.MAPPED_ITEM'
IN TYPEOF (it1)) |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.PRESENTATION_VIEW'
IN TYPEOF
(mi1\mapped_item.mapping_source.mapped_representation)) |
(* search in all presentation_views for
mapped_items and for the subtype of mapped_item,
camera_image_3d_with_scale; the latter shall reference
a camera_usage that shall have as its mapping_origin either
camera_model_d3, camera_model_d3_with_hlhsr, or
camera_model_with_light_sources. *)
NOT (SIZEOF(QUERY(ci <* pv\mapped_item.mapping_source.
mapped_representation\representation.items |
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(ci))
AND
(SIZEOF(['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CAMERA_MODEL_D3',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CAMERA_MODEL_D3_WITH_HLHSR',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CAMERA_MODEL_WITH_LIGHT_SOURCES'] * TYPEOF
(ci\mapped_item.mapping_source.mapping_origin))
= 1))) = 0))) = 0;
END_ENTITY;
(*
Attribute definitions:
items: the items in a mechanical_design_shaded_presentation_area shall be of type mapped_item or axis2_placement.
Formal propositions:
WR1: A mapped_item in the items of a mechanical_design_shaded_presentation_area shall refer to a presentation_view via an intermediate representation_map.
WR2: The items of a presentation_view shall only be axis2_placements or mapped_items. In the latter case a mapped_item may be of type camera_image_3d_with_scale with the mapped_representation of the representation_map that is the mapping_source of such a mapped_item being a mechanical_design_shaded_presentation_representation. If the mapped_item is not a camera_image_3d_with_scale, the mapped_representation of the representation_map that is the mapping_source of this mapped_item shall be a different presentation_view.
NOTE If a user of this part of ISO 10303 includes in addition to camera_image_3d_with_scale other subtypes of mapped_item into a schema, additional rules may be required to exclude these subtypes to be instantiated in a presentation_view. This part of ISO 10303 does not hinder the instantiation of subtypes of mapped_item that are not specified in this part.
WR3: The rectangular size of the mechanical_design_shaded_presentation_area shall be specified by positive values. The same shall be valid for the presentation_set that this area is enclosed in.
WR4: The drawing space of a mechanical_design_shaded_presentation_area shall be specified in a 2D co-ordinate system.
WR5: The mapping_origin of a camera_usage that is the mapping_source of a camera_image_3d_with_scale within a presentation_view shall be either a camera_model_d3, a camera_model_d3_with_hlhsr, or a camera_model_with_light_sources.
EXPRESS specification:
*)
ENTITY mechanical_design_shaded_presentation_representation
SUBTYPE OF (representation);
SELF\representation.items : SET[1:?] OF mechanical_design_shaded_presentation_representation_items;
WHERE
WR1: SIZEOF(QUERY(mi <* QUERY(it <* SELF.items |
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.MAPPED_ITEM'
IN TYPEOF(it))) | NOT (SIZEOF(
['PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.' +
'SHAPE_REPRESENTATION',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.' +
'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION']
* TYPEOF(mi\mapped_item.mapping_source.mapped_representation))
= 1))) = 0;
WR2: SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items |
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF(it))) |
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.MAPPED_ITEM'
IN TYPEOF(si\styled_item.item))) | NOT (
('PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.' +
'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item.
item\mapped_item.mapping_source.mapped_representation))) )) = 0;
WR3: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (pss <* psa.styles |
NOT (SIZEOF (
['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.POINT_STYLE',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE']
* TYPEOF (pss)) = 1))) = 0))) = 0))) = 0;
WR4: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psbc <* QUERY (psa <* si\styled_item.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (psa)) |
NOT (SIZEOF (
['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.REPRESENTATION_ITEM',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.REPRESENTATION']
* TYPEOF (psbc\presentation_style_by_context.style_context)) = 1)))
= 0))) = 0;
WR5: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ps <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.POINT_STYLE'
IN TYPEOF (pss)) |
NOT (
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.MARKER_TYPE'
IN TYPEOF (ps\point_style.marker))
AND
('MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN TYPEOF
(ps\point_style.marker_size))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(ps\point_style.marker_colour)) = 1)))) = 0))) = 0))) = 0;
WR6: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (cs <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE'
IN TYPEOF (pss)) |
NOT (
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(cs\curve_style.curve_colour)) = 1)
AND
('MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN TYPEOF
(cs\curve_style.curve_width))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CURVE_STYLE_FONT', 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
(cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0;
WR7: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT ('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_SIDE_STYLE'
IN TYPEOF (ssu\surface_style_usage.style)) )) = 0))) = 0 ))) = 0;
WR8: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT (SIZEOF (QUERY (sses <*
ssu\surface_style_usage.style\surface_side_style.styles |
NOT (SIZEOF (
['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_PARAMETER_LINE',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_CONTROL_GRID',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_SILHOUETTE',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_SEGMENTATION_CURVE',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_BOUNDARY',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_FILL_AREA',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_RENDERING'] * TYPEOF (sses)) = 1))) = 0))) = 0)))
= 0))) = 0;
WR9: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT (SIZEOF (QUERY (ssfa <* QUERY (sses <*
ssu\surface_style_usage.style\surface_side_style.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_FILL_AREA'
IN TYPEOF (sses)) |
NOT (SIZEOF (QUERY (fss <*
ssfa\surface_style_fill_area.fill_area.fill_styles |
NOT (('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'FILL_AREA_STYLE_COLOUR' IN TYPEOF (fss))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(fss\fill_area_style_colour.fill_colour)) = 1)))) = 0))) = 0)))
= 0))) = 0))) = 0;
WR10: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT (SIZEOF (QUERY (sspl <* QUERY (sses <*
ssu\surface_style_usage.style\surface_side_style.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF (sses)) |
NOT ((
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE' IN TYPEOF
(sspl\surface_style_parameter_line.style_of_parameter_lines))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(sspl\surface_style_parameter_line.
style_of_parameter_lines\curve_style.curve_colour)) = 1)
AND
('MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN TYPEOF
(sspl\surface_style_parameter_line.
style_of_parameter_lines\curve_style.curve_width))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CURVE_STYLE_FONT', 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
(sspl\surface_style_parameter_line.
style_of_parameter_lines\curve_style.curve_font)) = 1))
OR
(('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE_RENDERING'
IN TYPEOF
(sspl\surface_style_parameter_line.style_of_parameter_lines))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(sspl\surface_style_parameter_line.style_of_parameter_lines\
curve_style_rendering.rendering_properties.rendered_colour))
= 1))) )) = 0))) = 0))) = 0))) = 0;
WR11: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT (SIZEOF (QUERY (sscg <* QUERY (sses <*
ssu\surface_style_usage.style\surface_side_style.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF (sses)) |
NOT ((
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE'
IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(sscg\surface_style_control_grid.
style_of_control_grid\curve_style.curve_colour)) = 1)
AND
('MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN TYPEOF
(sscg\surface_style_control_grid.
style_of_control_grid\curve_style.curve_width))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CURVE_STYLE_FONT', 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
(sscg\surface_style_control_grid.
style_of_control_grid\curve_style.curve_font)) = 1))
OR
(('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE_RENDERING'
IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(sscg\surface_style_control_grid.style_of_control_grid\
curve_style_rendering.rendering_properties.rendered_colour))
= 1))) )) = 0))) = 0))) = 0))) = 0;
WR12: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT (SIZEOF (QUERY (sssh <* QUERY (sses <*
ssu\surface_style_usage.style\surface_side_style.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_SILHOUETTE' IN TYPEOF (sses)) |
NOT ((
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE'
IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(sssh\surface_style_silhouette.
style_of_silhouette\curve_style.curve_colour)) = 1)
AND
('MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN TYPEOF
(sssh\surface_style_silhouette.
style_of_silhouette\curve_style.curve_width))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CURVE_STYLE_FONT', 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
(sssh\surface_style_silhouette.
style_of_silhouette\curve_style.curve_font)) = 1))
OR
(('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE_RENDERING'
IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(sssh\surface_style_silhouette.style_of_silhouette\
curve_style_rendering.rendering_properties.rendered_colour))
= 1))) )) = 0))) = 0))) = 0))) = 0;
WR13: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT (SIZEOF (QUERY (sssc <* QUERY (sses <*
ssu\surface_style_usage.style\surface_side_style.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF (sses)) |
NOT ((
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE'
IN TYPEOF
(sssc\surface_style_segmentation_curve.style_of_segmentation_curve))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(sssc\surface_style_segmentation_curve.
style_of_segmentation_curve\curve_style.curve_colour)) = 1)
AND
('MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN TYPEOF
(sssc\surface_style_segmentation_curve.
style_of_segmentation_curve\curve_style.curve_width))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CURVE_STYLE_FONT', 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
(sssc\surface_style_segmentation_curve.
style_of_segmentation_curve\curve_style.curve_font)) = 1))
OR
(('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE_RENDERING'
IN TYPEOF (sssc\surface_style_segmentation_curve.
style_of_segmentation_curve))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(sssc\surface_style_segmentation_curve.style_of_segmentation_curve\
curve_style_rendering.rendering_properties.rendered_colour))
= 1))) )) = 0))) = 0))) = 0))) = 0;
WR14: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT (SIZEOF (QUERY (ssbd <* QUERY (sses <*
ssu\surface_style_usage.style\surface_side_style.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_BOUNDARY' IN TYPEOF (sses)) |
NOT ((
('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE'
IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(ssbd\surface_style_boundary.
style_of_boundary\curve_style.curve_colour)) = 1)
AND
('MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN TYPEOF
(ssbd\surface_style_boundary.
style_of_boundary\curve_style.curve_width))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'CURVE_STYLE_FONT', 'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF
(ssbd\surface_style_boundary.
style_of_boundary\curve_style.curve_font)) = 1))
OR
(('AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.CURVE_STYLE_RENDERING'
IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary))
AND
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(ssbd\surface_style_boundary.style_of_boundary\
curve_style_rendering.rendering_properties.rendered_colour))
= 1))) )) = 0))) = 0))) = 0))) = 0;
WR15: SIZEOF (QUERY (si <* QUERY (it <* SELF.items |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.STYLED_ITEM'
IN TYPEOF (it)) |
NOT (SIZEOF (QUERY (psa <* si\styled_item.styles |
NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.SURFACE_STYLE_USAGE'
IN TYPEOF (pss)) |
NOT (SIZEOF (QUERY (ssre <* QUERY (sses <*
ssu\surface_style_usage.style\surface_side_style.styles |
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'SURFACE_STYLE_RENDERING' IN TYPEOF (sses)) |
NOT
(SIZEOF (['AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.COLOUR_RGB',
'AIC_MECHANICAL_DESIGN_SHADED_PRESENTATION.'+
'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF
(ssre\surface_style_rendering.surface_colour)) = 1)))
= 0))) = 0))) = 0))) = 0;
END_ENTITY;
(*
Attribute definitions:
items: the items in a mechanical_design_shaded_presentation_representation shall be of type styled_item, mapped_item, axis2_placement, or camera_model_d3.
Formal propositions:
WR1: The mapped_representation of the representation_map that is the mapping_source of a mapped_item in a mechanical_design_shaded_presentation_representation shall be a shape_representation or another mechanical_design_shaded_presentation_representation.
WR2: The item of a styled_item may be a mapped_item only, if the mapped_item has a shape_representation as its mapped_representation.
WR3: Each item in the set of styles of a presentation_style_assignment that is referenced by a styled_item in the set of items shall be either a point_style, curve_style, or surface_style_usage.
WR4: The style_context attribute of a presentation_style_by_context shall be either a representation or a representation_item.
WR5: For each point_style in the set of styles of a presentation_style_assignment that is referenced by a styled_item in the set of items the marker_colour attribute shall be either a colour_rgb or a draughting_pre_defined_colour; the marker_size attribute shall be a positive_length_measure; the marker attribute shall be a marker_type.
WR6: For each curve_style in the set of styles of a presentation_style_assignment that is referenced by a styled_item in the set of items the curve_colour attribute shall be either a colour_rgb or a draughting_pre_defined_colour; the curve_width attribute shall be a positive_length_measure; the curve_font attribute shall be either a curve_style_font or a draughting_pre_defined_curve_font.
WR7: The style attribute of each surface_style_usage in the set of styles of a presentation_style_assignment that is referenced by a styled_item in the set of items shall be a surface_side_style.
WR8: Each item in the set of styles of a surface_side_style shall be either a surface_style_parameter_line, surface_style_control_grid, surface_style_silhouette, surface_style_segmentation_curve, surface_style_boundary, surface_style_fill_area, or surface_style_rendering.
WR9: Each item in the set of fill_styles of a fill_area_style shall be a fill_area_style_colour, and the fill_colour attribute of the fill_area_style_colour shall be either a colour_rgb or a draughting_pre_defined_colour.
WR10: The style_of_parameter_lines attribute of a surface_style_parameter_line shall be a curve_style_rendering or a curve_style. In the case of curve_style the curve_colour attribute shall be either a colour_rgb or a draughting_pre_defined_colour; the curve_width attribute shall be a positive_length_measure; the curve_font attribute shall be either a curve_style_font or a draughting_pre_defined_curve_font. In the case of curve_style_rendering the rendered_colour attribute of rendering_properties shall be either a colour_rgb or a draughting_pre_defined_colour.
WR11: The style_of_control_grid attribute of a surface_style_control_grid shall be a curve_style_rendering or a curve_style. In the case of curve_style the curve_colour attribute shall be either a colour_rgb or a draughting_pre_defined_colour; the curve_width attribute shall be a positive_length_measure; the curve_font attribute shall be either a curve_style_font or a draughting_pre_defined_curve_font. In the case of curve_style_rendering the rendered_colour attribute of rendering_properties shall be either a colour_rgb or a draughting_pre_defined_colour.
WR12: The style_of_silhouette attribute of a surface_style_silhouette shall be a curve_style_rendering or a curve_style. In the case of curve_style the curve_colour attribute shall be either a colour_rgb or a draughting_pre_defined_colour; the curve_width attribute shall be a positive_length_measure; the curve_font attribute shall be either a curve_style_font or a draughting_pre_defined_curve_font. In the case of curve_style_rendering the rendered_colour attribute of rendering_properties shall be either a colour_rgb or a draughting_pre_defined_colour.
WR13: The style_of_segmentation_curve attribute of a surface_style_segmentation_curve shall be a curve_style_rendering or a curve_style. In the case of curve_style the curve_colour attribute shall be either a colour_rgb or a draughting_pre_defined_colour; the curve_width attribute shall be a positive_length_measure; the curve_font attribute shall be either a curve_style_font or a draughting_pre_defined_curve_font. In the case of curve_style_rendering the rendered_colour attribute of rendering_properties shall be either a colour_rgb or a draughting_pre_defined_colour.
WR14: The style_of_boundary attribute of a surface_style_boundary shall be a curve_style_rendering or a curve_style . In the case of curve_style the curve_colour attribute shall be either a colour_rgb or a draughting_pre_defined_colour; the curve_width attribute shall be a positive_length_measure; the curve_font attribute shall be either a curve_style_font or a draughting_pre_defined_curve_font. In the case of curve_style_rendering the rendered_colour attribute of rendering_properties shall be either a colour_rgb or a draughting_pre_defined_colour.
WR15: The surface_colour attribute of a surface_style_rendering shall be either a colour_rgb or a draughting_pre_defined_colour.
*)
END_SCHEMA; -- aic_mechanical_design_shaded_presentation
(*
© ISO 2014 — All rights reserved