Source : ISO 10303-505
SCHEMA aic_drawing_structure_and_administration;
USE FROM
approval_schema -- ISO 10303-41
(approval,
approval_date_time,
approval_person_organization);
USE FROM
date_time_schema -- ISO 10303-41
(calendar_date);
USE FROM
drawing_definition_schema -- ISO 10303-101
(draughting_title,
drawing_revision,
drawing_sheet_revision,
drawing_sheet_revision_usage);
USE FROM
geometry_schema -- ISO 10303-42
(axis2_placement_2d);
USE FROM
management_resources_schema -- ISO 10303-41
(approval_assignment,
contract_assignment,
document_reference,
organization_assignment,
person_and_organization_assignment,
person_assignment,
security_classification_assignment);
USE FROM
person_organization_schema -- ISO 10303-41
(organizational_address,
personal_address);
USE FROM
presentation_definition_schema -- ISO 10303-46
(annotation_occurrence);
USE FROM
presentation_organization_schema -- ISO 10303-46
(camera_image,
presentation_size,
presentation_view,
presented_item,
presented_item_representation);
USE FROM
product_definition_schema -- ISO 10303-41
(product,
product_definition,
product_definition_formation);
TYPE approved_item =
SELECT
(drawing_revision,
drawing_sheet_revision);
END_TYPE;
TYPE classified_item =
SELECT
(drawing_revision,
drawing_sheet_revision);
END_TYPE;
TYPE contracted_item =
SELECT
(drawing_revision);
END_TYPE;
TYPE draughting_organization_item =
SELECT
(product_definition_formation,
drawing_revision,
drawing_sheet_revision);
END_TYPE;
TYPE draughting_presented_item_select =
SELECT
(product_definition_formation);
END_TYPE;
TYPE specified_item =
SELECT
(drawing_revision);
END_TYPE;
ENTITY draughting_approval_assignment
SUBTYPE OF (approval_assignment);
approved_items : SET[1:?] OF approved_item;
WHERE
WR1: SIZEOF (QUERY (item <* approved_items |'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.DRAWING_REVISION' IN TYPEOF (item)))<=1;
END_ENTITY;
ENTITY draughting_contract_assignment
SUBTYPE OF (contract_assignment);
items : SET[1:?] OF contracted_item;
END_ENTITY;
ENTITY draughting_drawing_revision
SUBTYPE OF (drawing_revision);
WHERE
WR1: (SIZEOF (USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET')) >= 1) AND(SIZEOF (QUERY (ais <*
USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT ('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.DRAWING_SHEET_REVISION'
IN TYPEOF (ais.area)))) = 0);
WR2: SIZEOF (QUERY (app_ass <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'DRAUGHTING_APPROVAL_ASSIGNMENT.APPROVED_ITEMS')
| NOT (SIZEOF (USEDIN (app_ass.assigned_approval,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'APPROVAL_DATE_TIME.DATED_APPROVAL'))
= 1))) = 0;
WR3: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(app_ass <* USEDIN (ais.area,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'DRAUGHTING_APPROVAL_ASSIGNMENT.APPROVED_ITEMS')
| NOT (SIZEOF (USEDIN (app_ass.assigned_approval,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'APPROVAL_DATE_TIME.DATED_APPROVAL'))
= 1))) = 0))) = 0;
WR4: SIZEOF (QUERY (app_ass <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'DRAUGHTING_APPROVAL_ASSIGNMENT.APPROVED_ITEMS')
| NOT (SIZEOF (USEDIN (app_ass.assigned_approval,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'APPROVAL_PERSON_ORGANIZATION.AUTHORIZED_APPROVAL'))
>= 1))) = 0;
WR5: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(app_ass <* USEDIN (ais.area,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'DRAUGHTING_APPROVAL_ASSIGNMENT.APPROVED_ITEMS')
| NOT (SIZEOF (USEDIN (app_ass.assigned_approval,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'APPROVAL_PERSON_ORGANIZATION.AUTHORIZED_APPROVAL'))
>= 1))) = 0))) = 0;
WR6: SIZEOF (USEDIN (SELF, 'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'DRAUGHTING_TITLE.ITEMS')) <= 1;
WR7: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (USEDIN
(ais.area,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'DRAUGHTING_TITLE.ITEMS')) <= 1))) = 0;
WR8: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(item <* ais.area.items | NOT (SIZEOF (TYPEOF(item) *['AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.STYLED_ITEM','AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.MAPPED_ITEM','AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AXIS2_PLACEMENT','AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.PLANAR_BOX'])
= 1))) = 0))) = 0;
WR9: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(item <* ais.area.items |(SIZEOF (TYPEOF(item) *['AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.STYLED_ITEM','AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.MAPPED_ITEM'])
= 1))) > 0))) = 0;
WR10: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(p_b <* QUERY (item <* ais.area.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.PLANAR_BOX' IN TYPEOF(item))) | NOT (SIZEOF
(USEDIN (p_b, 'AIC_DRAWING_STRUCTURE_AND_' +'ADMINISTRATION.PRESENTATION_SIZE.SIZE')) = 1))) = 0))) = 0;
WR11: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(mi <* QUERY (item <* ais.area.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.MAPPED_ITEM' IN TYPEOF(item))) | NOT ('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.PRESENTATION_VIEW'
IN TYPEOF(mi.mapping_source.mapped_representation)))) = 0))) = 0;
WR12: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(a2p <* QUERY (item <* ais.area.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AXIS2_PLACEMENT' IN TYPEOF(item))) | NOT
(SIZEOF (USEDIN (a2p,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'MAPPED_ITEM.MAPPING_TARGET')) > 0))) = 0))) = 0;
WR13: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (ais.area.context_of_items.
representations_in_context) = 1))) = 0;
WR14: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(mi <* QUERY (item <* ais.area.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.MAPPED_ITEM' IN TYPEOF(item))) | NOT (SIZEOF
(USEDIN (mi.mapping_source.mapped_representation,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'REPRESENTATION_MAP.MAPPED_REPRESENTATION'))
= 1))) = 0))) = 0;
WR15: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(mi <* QUERY (item <* ais.area.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.MAPPED_ITEM' IN TYPEOF(item))) | NOT (SIZEOF
(QUERY (pv_item <* mi.mapping_source. mapped_representation.items | NOT (SIZEOF (TYPEOF(pv_item) *['AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.'
+'STYLED_ITEM','AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.CAMERA_IMAGE','AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'AXIS2_PLACEMENT'])
= 1))) = 0))) = 0))) = 0;
WR16: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(mi <* QUERY (item <* ais.area.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.MAPPED_ITEM' IN TYPEOF(item))) | NOT (SIZEOF
(QUERY (pv_item <* mi.mapping_source. mapped_representation.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.CAMERA_IMAGE'
IN TYPEOF(pv_item)))) = 1))) = 0))) = 0;
WR17: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(mi <* QUERY (item <* ais.area.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.MAPPED_ITEM' IN TYPEOF(item))) | NOT (SIZEOF
(QUERY (a2p <* QUERY (pv_item <* mi.mapping_source. mapped_representation.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AXIS2_PLACEMENT'
IN TYPEOF(pv_item))) |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'REPRESENTATION_MAP.MAPPING_SOURCE' IN ROLESOF (a2p))))
= 1))) = 0))) = 0;
WR18: SIZEOF (QUERY (ais <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.AREA_IN_SET.IN_SET') | NOT (SIZEOF (QUERY
(mi <* QUERY (item <* ais.area.items |('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.MAPPED_ITEM' IN TYPEOF(item))) | NOT (SIZEOF
(mi.mapping_source. mapped_representation.context_of_items. representations_in_context) = 1))) = 0))) = 0;
END_ENTITY;
ENTITY draughting_organization_assignment
SUBTYPE OF (organization_assignment);
assigned_items : SET[1:?] OF draughting_organization_item;
END_ENTITY;
ENTITY draughting_person_and_organization_assignment
SUBTYPE OF (person_and_organization_assignment);
assigned_items : SET[1:?] OF draughting_organization_item;
END_ENTITY;
ENTITY draughting_person_assignment
SUBTYPE OF (person_assignment);
assigned_items : SET[1:?] OF draughting_organization_item;
END_ENTITY;
ENTITY draughting_presented_item
SUBTYPE OF (presented_item);
items : SET[1:?] OF draughting_presented_item_select;
WHERE
WR1: SIZEOF (QUERY (pir <* USEDIN (SELF,'AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.' +'PRESENTED_ITEM_REPRESENTATION.ITEM')
| NOT ('AIC_DRAWING_STRUCTURE_AND_ADMINISTRATION.DRAWING_REVISION' IN TYPEOF (pir.presentation)))) = 0;
END_ENTITY;
ENTITY draughting_security_classification_assignment
SUBTYPE OF (security_classification_assignment);
assigned_items : SET[1:?] OF classified_item;
END_ENTITY;
ENTITY draughting_specification_reference
SUBTYPE OF (document_reference);
specified_items : SET[1:?] OF specified_item;
WHERE
WR1: (SELF.assigned_document.kind.product_data_type ='draughting specification');
END_ENTITY;
END_SCHEMA; -- aic_drawing_structure_and_administration