(* $Id: wg3n2188_ap236.exp,v 1.2 2007/07/05 20:00:58 loffredo Exp $ ISO TC184/SC4/WG3 N2188 - ISO/TS 10303-436 AP236 furniture catalog and interior design - EXPRESS MIM Long form *) SCHEMA Ap236_furniture_catalog_and_interior_design_mim_LF; (* Modifications made from published version -- * * The type definition groupable_item was commented out in the * published source because it was an empty select. This causes * compile errors in applied_group_assignment and also renders it * unusable because you can not apply a group to anything, so it has * been commented out along with the restrict_group_assignment rule. * DTL -- 2007-07-02 *) (* USE FROM Parameterized_catalog_data_and_shape_representation_mim; USE FROM Furniture_interior_decoration_mim; *) CONSTANT (* Implicit interfaced from: geometry_schema *) dummy_gri : geometric_representation_item := representation_item('')|| geometric_representation_item(); (* Implicit interfaced from: topology_schema *) dummy_tri : topological_representation_item := representation_item('')|| topological_representation_item(); END_CONSTANT; (* USED FROM (Activity_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE action_items = SELECT ( configuration_effectivity, product_definition, product_definition_formation, product_definition_relationship); END_TYPE; (* USED FROM (Work_request_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE action_request_item = SELECT ( product_definition, product_definition_formation, product_definition_relationship, property_definition); END_TYPE; (* Implicit interfaced from: date_time_schema *) TYPE ahead_or_behind = ENUMERATION OF (ahead, exact, behind); END_TYPE; (* Pruned unused type: aliasable_item *) (* USED FROM (measure_schema); *) TYPE amount_of_substance_measure = REAL; END_TYPE; (* USED FROM (shape_dimension_schema); *) TYPE angle_relator = ENUMERATION OF (equal, large, small); END_TYPE; (* USED FROM (Approval_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE approval_item = SELECT ( action, alternate_product_relationship, applied_action_assignment, applied_classification_assignment, assembly_component_usage_substitute, certification, class, class_system, configuration_design, configuration_effectivity, configured_effectivity_assignment, contract, document_file, general_property, material_designation, organizational_project, product, product_concept, product_concept_feature, product_concept_feature_association, product_concept_feature_category, product_concept_feature_category_usage, product_definition, product_definition_formation, product_definition_relationship, product_definition_substitute, property_definition, shape_representation, versioned_action_request); END_TYPE; (* Pruned unused type: approval_item_236cc1 *) (* USED FROM (measure_schema); *) TYPE area_measure = REAL; END_TYPE; (* USED FROM (Multi_linguism_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE attribute_language_item = SELECT ( alternate_product_relationship, application_context, applied_document_reference, applied_document_usage_constraint_assignment, applied_external_identification_assignment, applied_organizational_project_assignment, approval, approval_relationship, approval_status, assembly_component_usage_substitute, attribute_value_assignment, certification, certification_type, configuration_design, configuration_item, contract, date_role, date_time_role, descriptive_representation_item, document_relationship, document_usage_role, effectivity, effectivity_relationship, event_occurrence, external_source, general_property, general_property_relationship, geometric_representation_item, geometric_tolerance, group, group_relationship, identification_role, mapped_item, multi_language_attribute_assignment, object_role, organization_relationship, organization_role, organizational_project, organizational_project_relationship, organizational_project_role, person_and_organization, person_and_organization_role, product, product_category, product_concept, product_concept_feature, product_concept_feature_association, product_concept_relationship, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, product_related_product_category, property_definition, representation, representation_relationship, shape_aspect, shape_aspect_relationship, time_interval_role, topological_representation_item, uncertainty_measure_with_unit, uncertainty_qualifier); END_TYPE; (* Pruned unused type: attribute_language_item_236cc1 *) (* Pruned unused type: attribute_language_item_236cc2 *) (* Implicit interfaced from: management_resources_schema *) TYPE attribute_type = SELECT (label, text); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE axis2_placement = SELECT (axis2_placement_2d, axis2_placement_3d); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE b_spline_curve_form = ENUMERATION OF (polyline_form, circular_arc, elliptic_arc, parabolic_arc, hyperbolic_arc, unspecified); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE b_spline_surface_form = ENUMERATION OF (plane_surf, cylindrical_surf, conical_surf, spherical_surf, toroidal_surf, surf_of_revolution, ruled_surf, generalised_cone, quadric_surf, surf_of_linear_extrusion, unspecified); END_TYPE; (* Pruned unused type: bc_external_identification_item *) (* USED FROM (geometric_model_schema); *) (* This SELECT set has been pruned. *) TYPE boolean_operand = SELECT ( solid_model, half_space_solid, csg_primitive, boolean_result); END_TYPE; (* USED FROM (geometric_model_schema); *) TYPE boolean_operator = ENUMERATION OF (union, intersection, difference); END_TYPE; (* Pruned unused type: building_design_organization_item *) (* Pruned unused type: building_design_person_item *) (* USED FROM (Product_class_mim); *) TYPE category_usage_item = SELECT (product_class); END_TYPE; (* USED FROM (measure_schema); *) TYPE celsius_temperature_measure = REAL; END_TYPE; (* USED FROM (Certification_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE certification_item = SELECT ( product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship); END_TYPE; (* Pruned unused type: certification_item_236cc1 *) (* USED FROM (process_property_schema); *) (* This SELECT set has been pruned. *) TYPE characterized_action_definition = SELECT ( action, action_method, action_relationship); END_TYPE; (* USED FROM (product_property_definition_schema); *) TYPE characterized_definition = SELECT (characterized_object, characterized_product_definition, shape_definition); END_TYPE; (* Implicit interfaced from: material_property_definition_schema *) (* This SELECT set has been pruned. *) TYPE characterized_material_property = SELECT ( material_property_representation); END_TYPE; (* USED FROM (product_property_definition_schema); *) TYPE characterized_product_definition = SELECT (product_definition, product_definition_relationship); END_TYPE; (* Pruned unused type: class_system_item *) (* USED FROM (Specification_control_mim); *) TYPE class_usage_effectivity_context_item = SELECT (product_definition); END_TYPE; (* Pruned unused type: classification_classification_item *) (* Pruned unused type: classification_identification_item *) (* USED FROM (Classification_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE classification_item = SELECT ( action, action_directive, action_method, action_property, action_relationship, action_request_solution, action_request_status, address, alternate_product_relationship, applied_action_assignment, applied_action_request_assignment, applied_approval_assignment, applied_certification_assignment, applied_contract_assignment, applied_date_and_time_assignment, applied_date_assignment, applied_document_reference, applied_document_usage_constraint_assignment, applied_effectivity_assignment, applied_event_occurrence_assignment, applied_external_identification_assignment, applied_identification_assignment, applied_organization_assignment, applied_organizational_project_assignment, applied_person_and_organization_assignment, applied_security_classification_assignment, approval, approval_person_organization, approval_relationship, approval_status, assembly_component_usage_substitute, calendar_date, certification, characterized_class, class, configuration_item, context_dependent_unit, contract, conversion_based_unit, date_and_time, date_and_time_assignment, date_assignment, derived_unit, descriptive_representation_item, directed_action, document_file, document_relationship, document_type, effectivity, event_occurrence, executed_action, general_property, general_property_relationship, group, identification_assignment, language, material_designation, measure_representation_item, measure_with_unit, multi_language_attribute_assignment, named_unit, opening, organization, organization_relationship, organizational_address, organizational_project, organizational_project_relationship, person, person_and_organization_address, planar_extent, product, product_category, product_concept, product_concept_feature_category, product_definition, product_definition_context, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, property_definition, property_definition_representation, representation, representation_context, representation_item, security_classification, shape_aspect, uncertainty_measure_with_unit, versioned_action_request); END_TYPE; (* Pruned unused type: classification_item_236cc1 *) (* Pruned unused type: classification_item_extended *) (* Pruned unused type: classified_item *) (* Pruned unused type: complete_membership_select *) (* USED FROM (representation_schema); *) TYPE compound_item_definition = SELECT (list_representation_item, set_representation_item); END_TYPE; (* Implicit interfaced from: configuration_management_schema *) TYPE configuration_design_item = SELECT (product_definition, product_definition_formation); END_TYPE; (* USED FROM (Specification_based_configuration_mim); *) TYPE configured_effectivity_context_item = SELECT (product_concept_feature_association); END_TYPE; (* USED FROM (Specification_based_configuration_mim); *) (* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) TYPE configured_effectivity_item = SELECT ( product_definition); END_TYPE; (* USED FROM (measure_schema); *) TYPE context_dependent_measure = REAL; END_TYPE; (* USED FROM (Contract_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE contract_item = SELECT ( product_definition_formation); END_TYPE; (* Pruned unused type: contract_item_236cc1 *) (* USED FROM (measure_schema); *) TYPE count_measure = NUMBER; END_TYPE; (* USED FROM (geometric_model_schema); *) (* This SELECT set has been pruned. *) TYPE csg_primitive = SELECT ( sphere, block, right_angular_wedge, torus, right_circular_cone, right_circular_cylinder); END_TYPE; (* USED FROM (geometric_model_schema); *) TYPE csg_select = SELECT (boolean_result, csg_primitive); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE curve_on_surface = SELECT (pcurve, surface_curve, composite_curve_on_surface); END_TYPE; (* Pruned unused type: cwa_identification_item *) (* Pruned unused type: cwa_versionable_item *) (* USED FROM (Date_time_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE date_and_time_item = SELECT ( action, alternate_product_relationship, applied_action_assignment, applied_classification_assignment, applied_organization_assignment, applied_person_and_organization_assignment, applied_security_classification_assignment, approval_person_organization, approval_status, assembly_component_usage_substitute, certification, class, class_system, configuration_design, configuration_item, configured_effectivity_assignment, contract, document_file, effectivity, event_occurrence, executed_action, general_property, material_designation, organization_relationship, organizational_project, person_and_organization, product, product_concept, product_concept_feature, product_concept_feature_association, product_concept_feature_category, product_concept_feature_category_usage, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, property_definition, security_classification, shape_representation, versioned_action_request); END_TYPE; (* Pruned unused type: date_and_time_item_236cc1 *) (* Pruned unused type: date_and_time_item_approval *) (* USED FROM (Date_time_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE date_item = SELECT ( action, alternate_product_relationship, applied_action_assignment, applied_classification_assignment, applied_organization_assignment, applied_person_and_organization_assignment, applied_security_classification_assignment, approval_person_organization, approval_status, assembly_component_usage_substitute, certification, class, class_system, configuration_design, configuration_item, configured_effectivity_assignment, contract, document_file, effectivity, event_occurrence, general_property, material_designation, organization_relationship, organizational_project, person_and_organization, product, product_concept, product_concept_feature, product_concept_feature_association, product_concept_feature_category, product_concept_feature_category_usage, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, property_definition, security_classification, shape_representation, versioned_action_request); END_TYPE; (* Pruned unused type: date_item_236cc1 *) (* Pruned unused type: date_item_approval *) (* Chained implicit interfaced from: date_time_schema *) TYPE date_time_or_event_occurrence = SELECT (date_time_select, event_occurrence); END_TYPE; (* Chained implicit interfaced from: date_time_schema *) TYPE date_time_select = SELECT (date, date_and_time, local_time); END_TYPE; (* Implicit interfaced from: date_time_schema *) TYPE day_in_month_number = INTEGER; WHERE WR1: {1 <= SELF <= 31}; END_TYPE; (* USED FROM (product_property_definition_schema); *) (* This SELECT set has been pruned. *) TYPE derived_property_select = SELECT ( action_property, property_definition); END_TYPE; (* USED FROM (basic_attribute_schema); *) (* This SELECT set has been pruned. *) TYPE description_attribute_select = SELECT ( action_request_solution, application_context, approval_role, configuration_design, context_dependent_shape_representation, date_role, date_time_role, effectivity, external_source, organization_role, person_and_organization, person_and_organization_role, property_definition_representation, representation); END_TYPE; (* USED FROM (measure_schema); *) TYPE descriptive_measure = STRING; END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE dimension_count = INTEGER; WHERE WR1: SELF > 0; END_TYPE; (* Pruned unused type: dimension_identification_item *) (* Pruned unused type: dimension_tolerance_document_reference_item *) (* USED FROM (shape_dimension_schema); *) TYPE dimensional_characteristic = SELECT (dimensional_location, dimensional_size); END_TYPE; (* Pruned unused type: dm_aliasable_item *) (* Pruned unused type: dm_approval_item *) (* Pruned unused type: dm_attribute_language_item *) (* Pruned unused type: dm_contract_item *) (* Pruned unused type: dm_date_and_time_item *) (* Pruned unused type: dm_date_item *) (* Pruned unused type: dm_identification_item *) (* Pruned unused type: dm_multi_language_attribute_item *) (* Pruned unused type: dm_organization_item *) (* Pruned unused type: dm_person_and_organization_item *) (* Pruned unused type: dm_security_classification_item *) (* Pruned unused type: document_location_select *) (* USED FROM (Document_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE document_reference_item = SELECT ( action_method, approval, certification, class, class_system, configuration_design, configuration_item, contract, descriptive_representation_item, dimensional_size, executed_action, externally_defined_dimension_definition, general_property, material_designation, organization, organizational_project, person, product, product_concept, product_concept_feature, product_concept_feature_category, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, product_related_product_category, property_definition, representation, shape_aspect, shape_aspect_relationship, versioned_action_request); END_TYPE; (* Pruned unused type: document_reference_item_236cc1 *) (* USED FROM (Effectivity_application_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE effectivity_item = SELECT ( assembly_component_usage_substitute, class_system, configuration_design, configuration_item, configured_effectivity_assignment, document_file, general_property, material_designation, product, product_concept, product_concept_feature, product_concept_feature_association, product_concept_feature_category, product_concept_feature_category_usage, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, property_definition, shape_aspect, shape_representation); END_TYPE; (* Pruned unused type: effectivity_item_236cc1 *) (* Pruned unused type: effectivity_item_for_replacement *) (* Pruned unused type: effectivity_specification_for_replacement *) (* USED FROM (measure_schema); *) TYPE electric_current_measure = REAL; END_TYPE; (* Pruned unused type: element_component_classification_item *) (* Pruned unused type: event_occurrence_date_and_time_item *) (* Pruned unused type: event_occurrence_date_item *) (* USED FROM (Event_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE event_occurrence_item = SELECT ( alternate_product_relationship, applied_classification_assignment, applied_person_and_organization_assignment, approval_status, assembly_component_usage_substitute, certification, class, class_system, configuration_design, configuration_effectivity, configuration_item, configured_effectivity_assignment, contract, document_file, general_property, material_designation, organization_relationship, organizational_project, person_and_organization, product, product_concept, product_concept_feature, product_concept_feature_association, product_concept_feature_category, product_concept_feature_category_usage, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, property_definition, shape_representation); END_TYPE; (* Pruned unused type: event_occurrence_item_236cc1 *) (* USED FROM (Numerical_interface_mim); *) TYPE expression_extension_select = SELECT ( expression_extension_string, expression_extension_numeric ); END_TYPE; (* Pruned unused type: external_class_name_item *) (* Pruned unused type: external_identification_for_plib_property *) (* USED FROM (External_item_identification_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE external_identification_item = SELECT ( document_file, externally_defined_class, externally_defined_general_property, product_definition, trimmed_curve); END_TYPE; (* Pruned unused type: external_identification_item_236cc1 *) (* Pruned unused type: externally_versioned_item *) (* Pruned unused type: file_identification_item *) (* Pruned unused type: file_location_select *) (* Pruned unused type: file_version_item *) (* Implicit interfaced from: representation_schema *) TYPE founded_item_select = SELECT (founded_item, representation_item); END_TYPE; (* Implicit interfaced from: geometric_model_schema *) TYPE geometric_set_select = SELECT (point, curve, surface); END_TYPE; (* USED FROM (Group_mim); *) (* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) (* NOTE: Empty SELECT set! *) (* TYPE groupable_item = SELECT (); END_TYPE; *) (* Implicit interfaced from: date_time_schema *) TYPE hour_in_day = INTEGER; WHERE WR1: { 0 <= SELF < 24 }; END_TYPE; (* USED FROM (basic_attribute_schema); *) TYPE id_attribute_select = SELECT (action, address, application_context, group, organizational_project, product_category, property_definition, representation, shape_aspect, shape_aspect_relationship); END_TYPE; (* Pruned unused type: id_for_product_identification *) (* USED FROM (Identification_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE identification_item = SELECT ( applied_identification_assignment, approval_status, characterized_class, class, class_system, configuration_item, contract, dimensional_size, document_file, document_type, effectivity, general_property, measure_representation_item, organization, person_and_organization, product, product_as_individual, product_as_individual_version, product_as_individual_view, product_concept, product_concept_feature, product_concept_feature_category, product_definition, product_definition_formation, product_definition_relationship, product_identification, property_definition, security_classification_level, shape_aspect_relationship, shape_representation); END_TYPE; (* Pruned unused type: identification_item_236cc1 *) (* USED FROM (support_resource_schema); *) TYPE identifier = STRING; END_TYPE; (* Pruned unused type: idrm_marked_item *) (* USED FROM (Specification_control_mim); *) (* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) TYPE instance_usage_context_select = SELECT ( product_definition_relationship, product_definition_usage); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE knot_type = ENUMERATION OF (uniform_knots, quasi_uniform_knots, piecewise_bezier_knots, unspecified); END_TYPE; (* USED FROM (support_resource_schema); *) TYPE label = STRING; END_TYPE; (* USED FROM (measure_schema); *) TYPE length_measure = REAL; END_TYPE; (* Implicit interfaced from: shape_aspect_definition_schema *) TYPE limit_condition = ENUMERATION OF (maximum_material_condition, least_material_condition, regardless_of_feature_size); END_TYPE; (* Implicit interfaced from: topology_schema *) TYPE list_of_reversible_topology_item = LIST [0:?] of reversible_topology_item; END_TYPE; (* USED FROM (representation_schema); *) TYPE list_representation_item = LIST [1:?] OF representation_item; END_TYPE; (* USED FROM (measure_schema); *) TYPE luminous_intensity_measure = REAL; END_TYPE; (* USED FROM (measure_schema); *) TYPE mass_measure = REAL; END_TYPE; (* Pruned unused type: mce_organization_item *) (* USED FROM (measure_schema); *) TYPE measure_value = SELECT (amount_of_substance_measure, area_measure, celsius_temperature_measure, context_dependent_measure, count_measure, descriptive_measure, electric_current_measure, length_measure, luminous_intensity_measure, mass_measure, numeric_measure, parameter_value, plane_angle_measure, positive_length_measure, positive_plane_angle_measure, positive_ratio_measure, ratio_measure, solid_angle_measure, thermodynamic_temperature_measure, time_measure, volume_measure); END_TYPE; (* Implicit interfaced from: date_time_schema *) TYPE minute_in_hour = INTEGER; WHERE WR1: { 0 <= SELF <= 59 }; END_TYPE; (* Implicit interfaced from: date_time_schema *) TYPE month_in_year_number = INTEGER; WHERE WR1: { 1 <= SELF <= 12 }; END_TYPE; (* Pruned unused type: mri_aliasable_item *) (* Pruned unused type: mri_approval_item *) (* Pruned unused type: mri_attribute_language_item *) (* Pruned unused type: mri_date_and_time_item *) (* Pruned unused type: mri_date_item *) (* Pruned unused type: mri_identification_item *) (* Pruned unused type: mri_multi_language_attribute_item *) (* Pruned unused type: mri_organization_item *) (* Pruned unused type: mri_person_and_organization_item *) (* USED FROM (Multi_linguism_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE multi_language_attribute_item = SELECT ( alternate_product_relationship, application_context, applied_document_reference, applied_document_usage_constraint_assignment, applied_external_identification_assignment, applied_organizational_project_assignment, approval, approval_relationship, approval_status, assembly_component_usage_substitute, certification, certification_type, configuration_design, configuration_item, contract, date_role, date_time_role, descriptive_representation_item, document_relationship, document_usage_role, effectivity, effectivity_relationship, event_occurrence, external_source, general_property, general_property_relationship, geometric_representation_item, geometric_tolerance, group, group_relationship, identification_role, mapped_item, object_role, organization_relationship, organization_role, organizational_project, organizational_project_relationship, organizational_project_role, person_and_organization, person_and_organization_role, product, product_category, product_concept, product_concept_feature, product_concept_feature_association, product_concept_relationship, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, product_related_product_category, property_definition, representation, representation_relationship, shape_aspect, shape_aspect_relationship, time_interval_role, topological_representation_item, uncertainty_measure_with_unit, uncertainty_qualifier); END_TYPE; (* Pruned unused type: multi_language_attribute_item_236cc1 *) (* Pruned unused type: multi_language_attribute_item_236cc2 *) (* USED FROM (basic_attribute_schema); *) TYPE name_attribute_select = SELECT (action_request_solution, address, configuration_design, context_dependent_shape_representation, derived_unit, effectivity, person_and_organization, product_definition, product_definition_substitute, property_definition_representation); END_TYPE; (* USED FROM (Name_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE name_item = SELECT ( assembly_component_usage, external_class_library); END_TYPE; (* USED FROM (measure_schema); *) TYPE numeric_measure = NUMBER; END_TYPE; (* USED FROM (Person_organization_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE organization_item = SELECT ( action, alternate_product_relationship, applied_action_assignment, applied_classification_assignment, applied_identification_assignment, applied_organization_assignment, applied_person_and_organization_assignment, applied_security_classification_assignment, approval, approval_status, assembly_component_usage_substitute, building, certification, class, class_system, configuration_design, configuration_effectivity, configuration_item, configured_effectivity_assignment, contract, document_file, effectivity, event_occurrence, executed_action, general_property, material_designation, organization_relationship, organizational_project, person_and_organization, product, product_concept, product_concept_feature, product_concept_feature_association, product_concept_feature_category, product_concept_feature_category_usage, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, property_definition, security_classification, shape_representation, versioned_action_request); END_TYPE; (* Pruned unused type: organization_item_236cc1 *) (* Pruned unused type: organization_item_solution *) (* USED FROM (measure_schema); *) TYPE parameter_value = REAL; END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE pcurve_or_surface = SELECT (pcurve, surface); END_TYPE; (* Pruned unused type: pdm_action_items *) (* Pruned unused type: pdm_action_request_item *) (* Pruned unused type: pdm_approval_item *) (* Pruned unused type: pdm_attribute_language_item *) (* Pruned unused type: pdm_certification_item *) (* Pruned unused type: pdm_classification_item *) (* Pruned unused type: pdm_date_and_time_item *) (* Pruned unused type: pdm_date_item *) (* Pruned unused type: pdm_document_reference_item *) (* Pruned unused type: pdm_effectivity_item *) (* Pruned unused type: pdm_event_occurrence_item *) (* Pruned unused type: pdm_external_class_name_item *) (* Pruned unused type: pdm_identification_item *) (* Pruned unused type: pdm_multi_language_attribute_item *) (* Pruned unused type: pdm_organization_item *) (* Pruned unused type: pdm_person_and_organization_item *) (* Pruned unused type: pdm_project_item *) (* Pruned unused type: pdm_security_classification_item *) (* Pruned unused type: pdm_time_interval_item *) (* USED FROM (Person_organization_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE person_and_organization_item = SELECT ( action, alternate_product_relationship, applied_action_assignment, applied_classification_assignment, applied_identification_assignment, applied_organization_assignment, applied_person_and_organization_assignment, applied_security_classification_assignment, approval, approval_status, assembly_component_usage_substitute, building, certification, class, class_system, configuration_design, configuration_effectivity, configuration_item, configured_effectivity_assignment, contract, document_file, event_occurrence, executed_action, general_property, material_designation, organization_relationship, organizational_project, person_and_organization, product, product_concept, product_concept_feature, product_concept_feature_association, product_concept_feature_category, product_concept_feature_category_usage, product_definition, product_definition_formation, product_definition_formation_relationship, product_definition_relationship, product_definition_substitute, property_definition, security_classification, shape_representation, versioned_action_request); END_TYPE; (* Pruned unused type: person_and_organization_item_236cc1 *) (* Chained implicit interfaced from: person_organization_schema *) TYPE person_organization_select = SELECT (organization, person, person_and_organization); END_TYPE; (* USED FROM (measure_schema); *) TYPE plane_angle_measure = REAL; END_TYPE; (* Pruned unused type: plib_class_identification_item *) (* Pruned unused type: plib_class_organization_item *) (* USED FROM (measure_schema); *) TYPE positive_length_measure = length_measure; WHERE WR1: SELF > 0.0; END_TYPE; (* USED FROM (measure_schema); *) TYPE positive_plane_angle_measure = plane_angle_measure; WHERE WR1: SELF > 0.0; END_TYPE; (* USED FROM (measure_schema); *) TYPE positive_ratio_measure = ratio_measure; WHERE WR1: SELF > 0.0; END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE preferred_surface_curve_representation = ENUMERATION OF (curve_3d, pcurve_s1, pcurve_s2); END_TYPE; (* Pruned unused type: product_as_individual_identification_item *) (* USED FROM (Part_occurrence_mim); *) TYPE product_definition_or_assembly_relationship = SELECT (assembly_component_usage, product_definition); END_TYPE; (* USED FROM (Product_breakdown_mim); *) (* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) TYPE product_definition_or_breakdown_element_usage = SELECT ( breakdown_element_usage, product_definition); END_TYPE; (* USED FROM (Product_breakdown_mim); *) (* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) TYPE product_definition_or_product_definition_relationship = SELECT ( product_definition, product_definition_usage); END_TYPE; (* Implicit interfaced from: document_schema *) TYPE product_or_formation_or_definition = SELECT (product, product_definition_formation, product_definition); END_TYPE; (* Pruned unused type: project_as_date_and_time_item *) (* Pruned unused type: project_as_date_item *) (* Pruned unused type: project_event_occurrence_item *) (* USED FROM (Project_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE project_item = SELECT ( executed_action, product_concept); END_TYPE; (* USED FROM (Numerical_interface_mim); *) TYPE property_variable_rep_select = SELECT ( dimensional_size, --ISO 10303-47 representation --ISO 10303-43 ); END_TYPE; (* USED FROM (measure_schema); *) TYPE ratio_measure = REAL; END_TYPE; (* Pruned unused type: representation_identification_item *) (* Pruned unused type: representation_version_item *) (* Implicit interfaced from: product_property_representation_schema *) TYPE represented_definition = SELECT (general_property, property_definition, property_definition_relationship, shape_aspect, shape_aspect_relationship); END_TYPE; (* Pruned unused type: requirement_identification_and_version_mri_identification_item *) (* Implicit interfaced from: topology_schema *) TYPE reversible_topology = SELECT (reversible_topology_item, list_of_reversible_topology_item, set_of_reversible_topology_item); END_TYPE; (* Implicit interfaced from: topology_schema *) TYPE reversible_topology_item = SELECT (edge, path, face, face_bound, closed_shell, open_shell); END_TYPE; (* USED FROM (basic_attribute_schema); *) (* This SELECT set has been pruned. *) TYPE role_select = SELECT ( action_assignment, action_request_assignment, approval_assignment, approval_date_time, certification_assignment, contract_assignment, document_reference, effectivity_assignment, group_assignment, name_assignment, security_classification_assignment); END_TYPE; (* Implicit interfaced from: date_time_schema *) TYPE second_in_minute = REAL; WHERE WR1: { 0 <= SELF <= 60.0 }; END_TYPE; (* USED FROM (Security_classification_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE security_classification_item = SELECT ( assembly_component_usage, document_file, product, product_definition, product_definition_formation); END_TYPE; (* Implicit interfaced from: topology_schema *) TYPE set_of_reversible_topology_item = SET [0:?] of reversible_topology_item; END_TYPE; (* USED FROM (representation_schema); *) TYPE set_representation_item = SET [1:?] OF representation_item; END_TYPE; (* USED FROM (product_property_definition_schema); *) TYPE shape_definition = SELECT (product_definition_shape, shape_aspect, shape_aspect_relationship); END_TYPE; (* Pruned unused type: shape_tolerance_select *) (* Implicit interfaced from: topology_schema *) TYPE shell = SELECT (vertex_shell, wire_shell, open_shell, closed_shell); END_TYPE; (* USED FROM (measure_schema); *) TYPE si_prefix = ENUMERATION OF (exa, peta, tera, giga, mega, kilo, hecto, deca, deci, centi, milli, micro, nano, pico, femto, atto); END_TYPE; (* USED FROM (measure_schema); *) TYPE si_unit_name = ENUMERATION OF (metre, gram, second, ampere, kelvin, mole, candela, radian, steradian, hertz, newton, pascal, joule, watt, coulomb, volt, farad, ohm, siemens, weber, tesla, henry, degree_celsius, lumen, lux, becquerel, gray, sievert); END_TYPE; (* USED FROM (measure_schema); *) TYPE solid_angle_measure = REAL; END_TYPE; (* Implicit interfaced from: product_definition_schema *) TYPE source = ENUMERATION OF (made, bought, not_known); END_TYPE; (* Implicit interfaced from: external_reference_schema *) (* This SELECT set has been pruned. *) TYPE source_item = SELECT ( identifier); END_TYPE; (* Pruned unused type: spr_document_reference_item *) (* Pruned unused type: spr_organization_item *) (* Pruned unused type: spr_person_and_organization_item *) (* Pruned unused type: supported_item *) (* Pruned unused type: surface_boundary *) (* Pruned unused type: surface_model *) (* USED FROM (support_resource_schema); *) TYPE text = STRING; END_TYPE; (* USED FROM (measure_schema); *) TYPE thermodynamic_temperature_measure = REAL; END_TYPE; (* USED FROM (Time_interval_assignment_mim); *) (* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) TYPE time_interval_item = SELECT ( action); END_TYPE; (* USED FROM (measure_schema); *) TYPE time_measure = REAL; END_TYPE; (* USED FROM (shape_tolerance_schema); *) TYPE tolerance_method_definition = SELECT (tolerance_value, limits_and_fits); END_TYPE; (* USED FROM (representation_schema); *) TYPE transformation = SELECT (item_defined_transformation, functionally_defined_transformation); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE transition_code = ENUMERATION OF (discontinuous, continuous, cont_same_gradient, cont_same_gradient_same_curvature); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE trimming_preference = ENUMERATION OF (cartesian, parameter, unspecified); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE trimming_select = SELECT (cartesian_point, parameter_value); END_TYPE; (* USED FROM (measure_schema); *) TYPE unit = SELECT (derived_unit, named_unit); END_TYPE; (* USED FROM (qualified_measure_schema); *) TYPE value_qualifier = SELECT (precision_qualifier, type_qualifier, uncertainty_qualifier); END_TYPE; (* Implicit interfaced from: geometry_schema *) TYPE vector_or_direction = SELECT (vector, direction); END_TYPE; (* Pruned unused type: version_for_plib_property *) (* Pruned unused type: version_for_product_identification *) (* Pruned unused type: versionable_item *) (* USED FROM (measure_schema); *) TYPE volume_measure = REAL; END_TYPE; (* Pruned unused type: wireframe_model *) (* Implicit interfaced from: date_time_schema *) TYPE year_number = INTEGER; END_TYPE; (* USED FROM (ISO13584_expressions_schema); *) ENTITY abs_function SUBTYPE OF (unary_function_call); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY acos_function SUBTYPE OF (unary_function_call); END_ENTITY; (* USED FROM (action_schema); *) ENTITY action; name : label; description : OPTIONAL text; chosen_method : action_method; DERIVE id : identifier := get_id_value (SELF); WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY action_assignment ABSTRACT SUPERTYPE; assigned_action : action; DERIVE role : object_role := get_role (SELF); WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; (* USED FROM (action_schema); *) ENTITY action_directive; name : label; description : OPTIONAL text; analysis : text; comment : text; requests : SET[1:?] OF versioned_action_request; END_ENTITY; (* USED FROM (action_schema); *) ENTITY action_method; name : label; description : OPTIONAL text; consequence : text; purpose : text; END_ENTITY; (* USED FROM (process_property_schema); *) ENTITY action_property; name : label; description : text; definition : characterized_action_definition; END_ENTITY; (* USED FROM (process_property_representation_schema); *) ENTITY action_property_representation; name : label; description : text; property : action_property; representation : representation; END_ENTITY; (* USED FROM (action_schema); *) ENTITY action_relationship; name : label; description : OPTIONAL text; relating_action : action; related_action : action; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY action_request_assignment ABSTRACT SUPERTYPE; assigned_action_request : versioned_action_request; DERIVE role : object_role := get_role (SELF); WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; (* USED FROM (action_schema); *) ENTITY action_request_solution; method : action_method; request : versioned_action_request; DERIVE description : text := get_description_value (SELF); name : label := get_name_value (SELF); WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; WR2: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; (* USED FROM (action_schema); *) ENTITY action_request_status; status : label; assigned_request : versioned_action_request; END_ENTITY; (* USED FROM (action_schema); *) ENTITY action_status; status : label; assigned_action : executed_action; END_ENTITY; (* USED FROM (person_organization_schema); *) ENTITY address; internal_location : OPTIONAL label; street_number : OPTIONAL label; street : OPTIONAL label; postal_box : OPTIONAL label; town : OPTIONAL label; region : OPTIONAL label; postal_code : OPTIONAL label; country : OPTIONAL label; facsimile_number : OPTIONAL label; telephone_number : OPTIONAL label; electronic_mail_address : OPTIONAL label; telex_number : OPTIONAL label; DERIVE name : label := get_name_value(SELF); url : identifier := get_id_value(SELF); WHERE WR1: EXISTS(internal_location) OR EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region) OR EXISTS(postal_code) OR EXISTS(country) OR EXISTS(facsimile_number) OR EXISTS(telephone_number) OR EXISTS(electronic_mail_address) OR EXISTS(telex_number); END_ENTITY; (* USED FROM (aic_advanced_brep); *) ENTITY advanced_brep_shape_representation SUBTYPE OF ( shape_representation ); WHERE WR1 : SIZEOF ( QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.FACETED_BREP', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAPPED_ITEM', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; WR2 : SIZEOF ( QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; WR3 : SIZEOF ( QUERY ( msb <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( csh <* msb_shells(msb)| NOT ( SIZEOF ( QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0; WR4 : SIZEOF ( QUERY ( msb <* QUERY ( it <* items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; WR5 : SIZEOF ( QUERY ( brv <* QUERY ( it <* items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; WR6 : SIZEOF ( QUERY ( mi <* QUERY ( it <* items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; END_ENTITY ; (* USED FROM (aic_topologically_bounded_surface); *) ENTITY advanced_face SUBTYPE OF ( face_surface ); WHERE WR1 : SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ELEMENTARY_SURFACE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.B_SPLINE_SURFACE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SWEPT_SURFACE' ] * TYPEOF (face_geometry)) = 1; WR2 : SIZEOF ( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element)) )) = 0) )) = 0; WR3 : SIZEOF ( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.LINE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CONIC', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.POLYLINE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SURFACE_CURVE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (oe.edge_element\edge_curve.edge_geometry)) = 1) )) = 0) )) = 0; WR4 : SIZEOF ( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ((('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_start)) AND ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_start\vertex_point.vertex_geometry))) AND (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_end)) AND ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0) )) = 0; WR5 : SIZEOF ( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (elp_fbnds.bound)) )) = 0; WR6 : NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.LINE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CONIC', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.POLYLINE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (face_geometry\swept_surface.swept_curve)) = 1); WR7 : SIZEOF ( QUERY ( vlp_fbnds <* QUERY ( bnds <* bounds| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) )| NOT (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry))) )) = 0; WR8 : SIZEOF ( QUERY ( bnd <* bounds| NOT ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_LOOP', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF (bnd.bound)) = 1) )) = 0; WR9 : SIZEOF ( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF ( QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\surface_curve.associated_geometry| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PCURVE' IN TYPEOF (sc_ag)) )) = 0) )) = 0) )) = 0; WR10 : (NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR (NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (face_geometry\swept_surface.swept_curve)) OR ( SIZEOF (face_geometry\swept_surface.swept_curve\polyline.points) >= 3))) AND ( SIZEOF ( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline.points) >= 3) )) = 0) )) = 0); END_ENTITY ; (* USED FROM (product_structure_schema); *) ENTITY alternate_product_relationship; name : label; definition : OPTIONAL text; alternate : product; base : product; basis : text; UNIQUE UR1: alternate, base; WHERE WR1: alternate :<>: base; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY amount_of_substance_measure_with_unit SUBTYPE OF (measure_with_unit); WHERE WR1: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); END_ENTITY; (* USED FROM (measure_schema); *) ENTITY amount_of_substance_unit SUBTYPE OF (named_unit); WHERE WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 1.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY and_expression SUBTYPE OF (multiple_arity_boolean_expression); END_ENTITY; (* USED FROM (shape_dimension_schema); *) ENTITY angular_location SUBTYPE OF (dimensional_location); angle_selection : angle_relator; END_ENTITY; (* USED FROM (shape_dimension_schema); *) ENTITY angular_size SUBTYPE OF (dimensional_size); angle_selection : angle_relator; END_ENTITY; (* USED FROM (aic_geometric_tolerances); *) ENTITY angularity_tolerance SUBTYPE OF ( geometric_tolerance_with_datum_reference ); WHERE WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) < 3; END_ENTITY ; (* USED FROM (shape_aspect_definition_schema); *) ENTITY apex SUBTYPE OF (derived_shape_aspect); END_ENTITY; (* USED FROM (application_context_schema); *) ENTITY application_context; application : label; DERIVE description : text := get_description_value (SELF); id : identifier := get_id_value (SELF); INVERSE context_elements : SET[1:?] OF application_context_element FOR frame_of_reference; WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; WR2: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; END_ENTITY; (* USED FROM (application_context_schema); *) (* Pruned SUPERTYPE *) ENTITY application_context_element SUPERTYPE OF (ONEOF ( PRODUCT_CONCEPT_CONTEXT, PRODUCT_CONTEXT, PRODUCT_DEFINITION_CONTEXT)); name : label; frame_of_reference : application_context; END_ENTITY; (* USED FROM (application_context_schema); *) ENTITY application_context_relationship; name : label; description : OPTIONAL text; relating_context : application_context; related_context : application_context; END_ENTITY; (* USED FROM (application_context_schema); *) ENTITY application_protocol_definition; status : label; application_interpreted_model_schema_name : label; application_protocol_year : year_number; application : application_context; END_ENTITY; (* USED FROM (Activity_mim); *) ENTITY applied_action_assignment SUBTYPE OF (action_assignment); items : SET [1 : ?] OF action_items; END_ENTITY; (* USED FROM (Work_request_mim); *) ENTITY applied_action_request_assignment SUBTYPE OF (action_request_assignment); items : SET [1 : ?] OF action_request_item; END_ENTITY; (* USED FROM (Approval_mim); *) ENTITY applied_approval_assignment SUBTYPE OF (approval_assignment); items : SET[1:?] OF approval_item; END_ENTITY; (* USED FROM (Certification_mim); *) ENTITY applied_certification_assignment SUBTYPE OF (certification_assignment); items : SET[1:?] OF certification_item; END_ENTITY; (* USED FROM (Classification_assignment_mim); *) ENTITY applied_classification_assignment SUBTYPE OF (classification_assignment); items : SET[1:?] OF classification_item; END_ENTITY; (* USED FROM (Contract_mim); *) ENTITY applied_contract_assignment SUBTYPE OF (contract_assignment); items : SET [1:?] OF contract_item; END_ENTITY; (* USED FROM (Date_time_assignment_mim); *) ENTITY applied_date_and_time_assignment SUBTYPE OF (date_and_time_assignment); items : SET [1:?] OF date_and_time_item; END_ENTITY; (* USED FROM (Date_time_assignment_mim); *) ENTITY applied_date_assignment SUBTYPE OF (date_assignment); items : SET [1:?] OF date_item; END_ENTITY; (* USED FROM (Document_assignment_mim); *) ENTITY applied_document_reference SUBTYPE OF (document_reference); items : SET[1:?] OF document_reference_item; END_ENTITY; (* USED FROM (Document_assignment_mim); *) ENTITY applied_document_usage_constraint_assignment SUBTYPE OF (document_usage_constraint_assignment); items : SET[1:?] OF document_reference_item; END_ENTITY; (* USED FROM (Effectivity_application_mim); *) ENTITY applied_effectivity_assignment SUBTYPE OF (effectivity_assignment); items : SET[1:?] OF effectivity_item; END_ENTITY; (* USED FROM (Event_assignment_mim); *) ENTITY applied_event_occurrence_assignment SUBTYPE OF (event_occurrence_assignment); items : SET[1:?] OF event_occurrence_item; END_ENTITY; (* USED FROM (External_item_identification_assignment_mim); *) ENTITY applied_external_identification_assignment SUBTYPE OF (external_identification_assignment); items : SET [1 : ?] OF external_identification_item; END_ENTITY; (* USED FROM (Group_mim); *) (* error: Undefined identifier 'groupable_item'. The base definition was commented out in the published version because it was empty, so this is unusable as well ENTITY applied_group_assignment SUBTYPE OF (group_assignment); items : SET[1:?] OF groupable_item; END_ENTITY; *) (* USED FROM (Identification_assignment_mim); *) ENTITY applied_identification_assignment SUBTYPE OF (identification_assignment); items : SET[1:?] OF identification_item; END_ENTITY; (* USED FROM (Name_assignment_mim); *) ENTITY applied_name_assignment SUBTYPE OF (name_assignment); item : name_item; END_ENTITY; (* USED FROM (Person_organization_assignment_mim); *) ENTITY applied_organization_assignment SUBTYPE OF (organization_assignment); items : SET [1:?] OF organization_item; END_ENTITY; (* USED FROM (Project_mim); *) ENTITY applied_organizational_project_assignment SUBTYPE OF (organizational_project_assignment); items : SET[1:?] OF project_item; END_ENTITY; (* USED FROM (Person_organization_assignment_mim); *) ENTITY applied_person_and_organization_assignment SUBTYPE OF (person_and_organization_assignment); items : SET [1:?] OF person_and_organization_item; END_ENTITY; (* USED FROM (Security_classification_mim); *) ENTITY applied_security_classification_assignment SUBTYPE OF (security_classification_assignment); items : SET [1:?] OF security_classification_item; END_ENTITY; (* USED FROM (Time_interval_assignment_mim); *) ENTITY applied_time_interval_assignment SUBTYPE OF (time_interval_assignment); items : SET[0:?] OF time_interval_item; END_ENTITY; (* USED FROM (approval_schema); *) ENTITY approval; status : approval_status; level : label; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY approval_assignment ABSTRACT SUPERTYPE; assigned_approval : approval; DERIVE role : object_role := get_role (SELF); WHERE WR1: SIZEOF(USEDIN(SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; (* USED FROM (approval_schema); *) ENTITY approval_date_time; date_time : date_time_select; dated_approval : approval; DERIVE role : object_role := get_role (SELF); WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; (* USED FROM (approval_schema); *) ENTITY approval_person_organization; person_organization : person_organization_select; authorized_approval : approval; role : approval_role; END_ENTITY; (* USED FROM (approval_schema); *) ENTITY approval_relationship; name : label; description : OPTIONAL text; relating_approval : approval; related_approval : approval; END_ENTITY; (* USED FROM (approval_schema); *) ENTITY approval_role; role : label; DERIVE description : text := get_description_value (SELF); WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; (* USED FROM (approval_schema); *) ENTITY approval_status; name : label; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY area_measure_with_unit SUBTYPE OF (measure_with_unit); WHERE WR1: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.AREA_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); END_ENTITY; (* USED FROM (measure_schema); *) ENTITY area_unit SUBTYPE OF (named_unit); WHERE WR1: (SELF\named_unit.dimensions.length_exponent = 2.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY asin_function SUBTYPE OF (unary_function_call); END_ENTITY; (* USED FROM (product_structure_schema); *) ENTITY assembly_component_usage SUPERTYPE OF (ONEOF ( NEXT_ASSEMBLY_USAGE_OCCURRENCE, SPECIFIED_HIGHER_USAGE_OCCURRENCE, PROMISSORY_USAGE_OCCURRENCE)) SUBTYPE OF (product_definition_usage); reference_designator : OPTIONAL identifier; END_ENTITY; (* USED FROM (product_structure_schema); *) ENTITY assembly_component_usage_substitute; name : label; definition : OPTIONAL text; base : assembly_component_usage; substitute : assembly_component_usage; UNIQUE UR1: base,substitute; WHERE WR1: base.relating_product_definition :=: substitute.relating_product_definition; WR2: base :<>: substitute; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY atan_function SUBTYPE OF (binary_function_call); END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY attribute_classification_assignment ABSTRACT SUPERTYPE; assigned_class : group; attribute_name : label; role : classification_role; END_ENTITY; (* USED FROM (Multi_linguism_mim); *) ENTITY attribute_language_assignment SUBTYPE OF (attribute_classification_assignment); SELF\attribute_classification_assignment.assigned_class: language; items : SET [1:?] OF attribute_language_item; WHERE WR1: SELF\attribute_classification_assignment.role.name IN ['primary', 'translated']; WR2: SELF\attribute_classification_assignment.attribute_name<> ''; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY attribute_value_assignment ABSTRACT SUPERTYPE; attribute_name : label; attribute_value : attribute_type; role : attribute_value_role; END_ENTITY; (* Implicit interfaced from: management_resources_schema *) ENTITY attribute_value_role; name : label; description : OPTIONAL text; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY axis1_placement SUBTYPE OF (placement); axis : OPTIONAL direction; DERIVE z : direction := NVL(normalise(axis), dummy_gri || direction([0.0,0.0,1.0])); WHERE WR1: SELF\geometric_representation_item.dim = 3; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY axis2_placement_2d SUBTYPE OF (placement); ref_direction : OPTIONAL direction; DERIVE p : LIST [2:2] OF direction := build_2axes(ref_direction); WHERE WR1: SELF\geometric_representation_item.dim = 2; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY axis2_placement_3d SUBTYPE OF (placement); axis : OPTIONAL direction; ref_direction : OPTIONAL direction; DERIVE p : LIST [3:3] OF direction := build_axes(axis,ref_direction); WHERE WR1: SELF\placement.location.dim = 3; WR2: (NOT (EXISTS (axis))) OR (axis.dim = 3); WR3: (NOT (EXISTS (ref_direction))) OR (ref_direction.dim = 3); WR4: (NOT (EXISTS (axis))) OR (NOT (EXISTS (ref_direction))) OR (cross_product(axis,ref_direction).magnitude > 0.0); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY b_spline_curve SUPERTYPE OF (ONEOF ( UNIFORM_CURVE, B_SPLINE_CURVE_WITH_KNOTS, QUASI_UNIFORM_CURVE, BEZIER_CURVE) ANDOR RATIONAL_B_SPLINE_CURVE) SUBTYPE OF (bounded_curve); degree : INTEGER; control_points_list : LIST [2:?] OF cartesian_point; curve_form : b_spline_curve_form; closed_curve : LOGICAL; self_intersect : LOGICAL; DERIVE upper_index_on_control_points : INTEGER := (SIZEOF(control_points_list) - 1); control_points : ARRAY [0:upper_index_on_control_points] OF cartesian_point := list_to_array(control_points_list,0, upper_index_on_control_points); WHERE WR1: ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.UNIFORM_CURVE' IN TYPEOF(self)) OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF(self)) OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BEZIER_CURVE' IN TYPEOF(self)) OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(self)); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY b_spline_curve_with_knots SUBTYPE OF (b_spline_curve); knot_multiplicities : LIST [2:?] OF INTEGER; knots : LIST [2:?] OF parameter_value; knot_spec : knot_type; DERIVE upper_index_on_knots : INTEGER := SIZEOF(knots); WHERE WR1: constraints_param_b_spline(degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots); WR2: SIZEOF(knot_multiplicities) = upper_index_on_knots; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY b_spline_surface SUPERTYPE OF (ONEOF ( B_SPLINE_SURFACE_WITH_KNOTS, UNIFORM_SURFACE, QUASI_UNIFORM_SURFACE, BEZIER_SURFACE) ANDOR RATIONAL_B_SPLINE_SURFACE) SUBTYPE OF (bounded_surface); u_degree : INTEGER; v_degree : INTEGER; control_points_list : LIST [2:?] OF LIST [2:?] OF cartesian_point; surface_form : b_spline_surface_form; u_closed : LOGICAL; v_closed : LOGICAL; self_intersect : LOGICAL; DERIVE u_upper : INTEGER := SIZEOF(control_points_list) - 1; v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1; control_points : ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF cartesian_point := make_array_of_array(control_points_list, 0,u_upper,0,v_upper); WHERE WR1: ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BEZIER_SURFACE' IN TYPEOF(SELF)) OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF)); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY b_spline_surface_with_knots SUBTYPE OF (b_spline_surface); u_multiplicities : LIST [2:?] OF INTEGER; v_multiplicities : LIST [2:?] OF INTEGER; u_knots : LIST [2:?] OF parameter_value; v_knots : LIST [2:?] OF parameter_value; knot_spec : knot_type; DERIVE knot_u_upper : INTEGER := SIZEOF(u_knots); knot_v_upper : INTEGER := SIZEOF(v_knots); WHERE WR1: constraints_param_b_spline(SELF\b_spline_surface.u_degree, knot_u_upper, SELF\b_spline_surface.u_upper, u_multiplicities, u_knots); WR2: constraints_param_b_spline(SELF\b_spline_surface.v_degree, knot_v_upper, SELF\b_spline_surface.v_upper, v_multiplicities, v_knots); WR3: SIZEOF(u_multiplicities) = knot_u_upper; WR4: SIZEOF(v_multiplicities) = knot_v_upper; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY bezier_curve SUBTYPE OF (b_spline_curve); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY bezier_surface SUBTYPE OF (b_spline_surface); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY binary_boolean_expression ABSTRACT SUPERTYPE OF (ONEOF ( XOR_EXPRESSION, EQUALS_EXPRESSION)) SUBTYPE OF (boolean_expression, binary_generic_expression); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) (* Pruned SUPERTYPE *) ENTITY binary_function_call ABSTRACT SUPERTYPE SUBTYPE OF (binary_numeric_expression); END_ENTITY; (* USED FROM (ISO13584_generic_expressions_schema); *) ENTITY binary_generic_expression ABSTRACT SUPERTYPE SUBTYPE OF(generic_expression); operands: LIST [2:2] OF generic_expression; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY binary_numeric_expression ABSTRACT SUPERTYPE OF (ONEOF ( MINUS_EXPRESSION, DIV_EXPRESSION, MOD_EXPRESSION, SLASH_EXPRESSION, POWER_EXPRESSION, BINARY_FUNCTION_CALL)) SUBTYPE OF (numeric_expression, binary_generic_expression); SELF\binary_generic_expression.operands : LIST [2:2] OF numeric_expression; END_ENTITY; (* USED FROM (geometric_model_schema); *) ENTITY block SUBTYPE OF (geometric_representation_item); position : axis2_placement_3d; x : positive_length_measure; y : positive_length_measure; z : positive_length_measure; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY boolean_defined_function ABSTRACT SUPERTYPE SUBTYPE OF (defined_function, boolean_expression); END_ENTITY ; (* USED FROM (ISO13584_expressions_schema); *) ENTITY boolean_expression ABSTRACT SUPERTYPE OF (ONEOF ( SIMPLE_BOOLEAN_EXPRESSION, UNARY_BOOLEAN_EXPRESSION, BINARY_BOOLEAN_EXPRESSION, MULTIPLE_ARITY_BOOLEAN_EXPRESSION, COMPARISON_EXPRESSION, INTERVAL_EXPRESSION, BOOLEAN_DEFINED_FUNCTION)) SUBTYPE OF (expression); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY boolean_literal SUBTYPE OF (simple_Boolean_expression, generic_literal); the_value: BOOLEAN; END_ENTITY; (* USED FROM (geometric_model_schema); *) ENTITY boolean_result SUBTYPE OF (geometric_representation_item); operator : boolean_operator; first_operand : boolean_operand; second_operand : boolean_operand; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY boolean_variable SUBTYPE OF (simple_Boolean_expression, variable); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY boundary_curve SUBTYPE OF (composite_curve_on_surface); WHERE WR1: SELF\composite_curve.closed_curve; END_ENTITY; (* Implicit interfaced from: geometry_schema *) ENTITY bounded_curve SUPERTYPE OF (ONEOF ( POLYLINE, B_SPLINE_CURVE, TRIMMED_CURVE, BOUNDED_PCURVE, BOUNDED_SURFACE_CURVE, COMPOSITE_CURVE)) SUBTYPE OF (curve); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY bounded_pcurve SUBTYPE OF (pcurve, bounded_curve); WHERE WR1: ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(SELF\pcurve.reference_to_curve.items[1])); END_ENTITY; (* Implicit interfaced from: geometry_schema *) ENTITY bounded_surface SUPERTYPE OF (ONEOF ( B_SPLINE_SURFACE, RECTANGULAR_TRIMMED_SURFACE, CURVE_BOUNDED_SURFACE, RECTANGULAR_COMPOSITE_SURFACE)) SUBTYPE OF (surface); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY bounded_surface_curve SUBTYPE OF (surface_curve, bounded_curve); WHERE WR1: ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(SELF\surface_curve.curve_3d)); END_ENTITY; (* USED FROM (geometric_model_schema); *) ENTITY box_domain SUBTYPE OF (founded_item); corner : cartesian_point; xlength : positive_length_measure; ylength : positive_length_measure; zlength : positive_length_measure; WHERE WR1: SIZEOF(QUERY(item <* USEDIN(SELF,'')| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BOXED_HALF_SPACE' IN TYPEOF(item)))) = 0; END_ENTITY; (* USED FROM (geometric_model_schema); *) ENTITY boxed_half_space SUBTYPE OF(half_space_solid); enclosure : box_domain; END_ENTITY; (* USED FROM (Product_breakdown_mim); *) ENTITY breakdown_context SUBTYPE OF (product_definition_relationship); END_ENTITY; (* USED FROM (Product_breakdown_mim); *) ENTITY breakdown_element_group_assignment SUBTYPE OF (group_assignment); SELF\group_assignment.assigned_group : product_definition_element_relationship; items : SET[1:1] OF product_definition_or_breakdown_element_usage; END_ENTITY; (* USED FROM (Product_breakdown_mim); *) ENTITY breakdown_element_realization SUBTYPE OF (characterized_object, product_definition_element_relationship); END_ENTITY; (* USED FROM (Product_breakdown_mim); *) ENTITY breakdown_element_usage SUBTYPE OF (product_definition_relationship); END_ENTITY; (* USED FROM (Product_breakdown_mim); *) ENTITY breakdown_of SUBTYPE OF (product_definition_relationship); END_ENTITY; (* USED FROM (geometric_model_schema); *) ENTITY brep_with_voids SUBTYPE OF (manifold_solid_brep); voids : SET [1:?] OF oriented_closed_shell; END_ENTITY; (* USED FROM (Building_structure_mim); *) ENTITY building SUBTYPE OF (product_definition); WHERE WR1: SIZEOF (QUERY (bdpa <* USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT.ITEMS') | bdpa.role.name = 'owner')) + SIZEOF (QUERY (bdoa <* USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS') | bdoa.role.name = 'owner')) = 1; WR2: SIZEOF (QUERY (pdr <* USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') | 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BUILDING_SECTION' IN TYPEOF (pdr.related_product_definition))) >= 1; END_ENTITY; (* USED FROM (Building_item_mim); *) ENTITY building_element SUBTYPE OF (product_definition); WHERE WR1: SIZEOF (QUERY (pdr <* USEDIN(SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION') | (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BUILDING_SECTION' IN TYPEOF (pdr.relating_product_definition)) OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SPACE_ELEMENT' IN TYPEOF (pdr.relating_product_definition))) )) = 1; WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'PROPERTY_DEFINITION.DEFINITION') | SIZEOF (QUERY (sa <* USEDIN(pd, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'SHAPE_ASPECT.OF_SHAPE') | (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.POSITIVE_COMPONENT' IN TYPEOF (sa)) AND (sa.description = 'main')) )) = 1 )) = 1; END_ENTITY; (* USED FROM (Building_structure_mim); *) ENTITY building_element_assembly SUBTYPE OF (product_definition); WHERE WR1: SIZEOF (QUERY (acu <* QUERY (pdr <* USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION') | 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN TYPEOF (pdr)) | SIZEOF (TYPEOF (acu.related_product_definition) * ['AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BUILDING_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.FIXTURE_EQUIPMENT_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SERVICE_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SPACE_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.STRUCTURE_ENCLOSURE_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BUILDING_ELEMENT_ASSEMBLY']) = 1)) >= 1; END_ENTITY; (* USED FROM (Building_structure_mim); *) ENTITY building_level SUBTYPE OF (product_definition); WHERE WR1: SIZEOF (QUERY (pdr <* USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION') | 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BUILDING_SECTION' IN TYPEOF (pdr.relating_product_definition))) = 1; END_ENTITY; (* USED FROM (Building_structure_mim); *) ENTITY building_section SUBTYPE OF (product_definition); WHERE WR1: SIZEOF (QUERY (pdr <* USEDIN(SELF,'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION') | 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BUILDING' IN TYPEOF (pdr.relating_product_definition))) = 1; WR2: SIZEOF (QUERY (pdr <* USEDIN (SELF,'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') | SIZEOF (TYPEOF (pdr.related_product_definition) * ['AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BUILDING_LEVEL', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BUILDING_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.FIXTURE_EQUIPMENT_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SERVICE_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SPACE_ELEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.STRUCTURE_ENCLOSURE_ELEMENT']) = 1)) >= 1; END_ENTITY; (* USED FROM (date_time_schema); *) ENTITY calendar_date SUBTYPE OF (date); day_component : day_in_month_number; month_component : month_in_year_number; WHERE WR1: valid_calendar_date (SELF); END_ENTITY; (* USED FROM (geometry_schema); *) (* Pruned SUPERTYPE *) ENTITY cartesian_point SUBTYPE OF (point); coordinates : LIST [1:3] OF length_measure; END_ENTITY; (* Implicit interfaced from: geometry_schema *) ENTITY cartesian_transformation_operator SUPERTYPE OF (ONEOF ( CARTESIAN_TRANSFORMATION_OPERATOR_2D, CARTESIAN_TRANSFORMATION_OPERATOR_3D)) SUBTYPE OF (geometric_representation_item, functionally_defined_transformation); axis1 : OPTIONAL direction; axis2 : OPTIONAL direction; local_origin : cartesian_point; scale : OPTIONAL REAL; DERIVE scl : REAL := NVL(scale, 1.0); WHERE WR1: scl > 0.0; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY cartesian_transformation_operator_2d SUBTYPE OF (cartesian_transformation_operator); DERIVE u : LIST[2:2] OF direction := base_axis(2,SELF\cartesian_transformation_operator.axis1, SELF\cartesian_transformation_operator.axis2,?); WHERE WR1: SELF\geometric_representation_item.dim = 2; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY cartesian_transformation_operator_3d SUBTYPE OF (cartesian_transformation_operator); axis3 : OPTIONAL direction; DERIVE u : LIST[3:3] OF direction := base_axis(3,SELF\cartesian_transformation_operator.axis1, SELF\cartesian_transformation_operator.axis2,axis3); WHERE WR1: SELF\geometric_representation_item.dim = 3; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY celsius_temperature_measure_with_unit SUBTYPE OF (measure_with_unit); WHERE WR1: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); END_ENTITY; (* USED FROM (shape_aspect_definition_schema); *) ENTITY centre_of_symmetry SUBTYPE OF (derived_shape_aspect); WHERE WR1: SIZEOF (QUERY(sadr<*SELF\derived_shape_aspect.deriving_relationships| NOT('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SYMMETRIC_SHAPE_ASPECT' IN TYPEOF (sadr\shape_aspect_relationship.related_shape_aspect))))=0; END_ENTITY; (* USED FROM (certification_schema); *) ENTITY certification; name : label; purpose : text; kind : certification_type; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY certification_assignment ABSTRACT SUPERTYPE; assigned_certification : certification; DERIVE role : object_role := get_role (SELF); WHERE WR1: SIZEOF(USEDIN(SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; (* USED FROM (certification_schema); *) ENTITY certification_type; description : label; END_ENTITY; (* USED FROM (Classification_with_attributes_mim); *) ENTITY characterized_class SUBTYPE OF (characterized_object, class); END_ENTITY; (* USED FROM (product_property_definition_schema); *) ENTITY characterized_object; name : label; description : OPTIONAL text; END_ENTITY; (* USED FROM (product_property_definition_schema); *) ENTITY characterized_object_relationship; name : label; description : OPTIONAL text; relating_object : characterized_object; related_object : characterized_object; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY circle SUBTYPE OF (conic); radius : positive_length_measure; END_ENTITY; (* USED FROM (aic_geometric_tolerances); *) ENTITY circular_runout_tolerance SUBTYPE OF ( geometric_tolerance_with_datum_reference ); WHERE WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2; END_ENTITY ; (* USED FROM (classification_schema); *) ENTITY class SUBTYPE OF (group); END_ENTITY; (* USED FROM (classification_schema); *) ENTITY class_by_extension SUBTYPE OF (class); END_ENTITY; (* USED FROM (classification_schema); *) ENTITY class_by_intension SUBTYPE OF (class); END_ENTITY; (* USED FROM (Classification_with_attributes_mim); *) ENTITY class_system SUBTYPE OF (group); END_ENTITY; (* USED FROM (Specification_control_mim); *) ENTITY class_usage_effectivity_context_assignment SUBTYPE OF (effectivity_context_assignment); items : SET [1:?] OF class_usage_effectivity_context_item; WHERE WR1: SELF.role.name = 'class usage influence'; WR2: SIZEOF( QUERY( i <* SELF.items | NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0; WR3: ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF(SELF.assigned_effectivity_assignment)) AND (SIZEOF(TYPEOF(SELF.assigned_effectivity_assignment.assigned_effectivity) ) = 1) AND (SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage') AND (SIZEOF( QUERY( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | NOT('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) )) = 0); END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY classification_assignment ABSTRACT SUPERTYPE; assigned_class : group; role : classification_role; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY classification_role; name : label; description : OPTIONAL text; END_ENTITY; (* USED FROM (topology_schema); *) ENTITY closed_shell SUBTYPE OF (connected_face_set); END_ENTITY; (* USED FROM (aic_geometric_tolerances); *) ENTITY coaxiality_tolerance SUBTYPE OF ( geometric_tolerance_with_datum_reference ); WHERE WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) <= 2; END_ENTITY ; (* USED FROM (aic_geometric_tolerances); *) ENTITY common_datum SUBTYPE OF ( composite_shape_aspect , datum ); WHERE WR1 : SIZEOF (SELF.component_relationships) = 2; WR2 : SIZEOF ( QUERY ( sar <* SELF.component_relationships| NOT (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar.related_shape_aspect)) AND NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect))) )) = 0; END_ENTITY ; (* USED FROM (ISO13584_expressions_schema); *) ENTITY comparison_equal SUBTYPE OF (comparison_expression); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY comparison_expression ABSTRACT SUPERTYPE OF (ONEOF ( COMPARISON_EQUAL, COMPARISON_GREATER, COMPARISON_GREATER_EQUAL, COMPARISON_LESS, COMPARISON_LESS_EQUAL, COMPARISON_NOT_EQUAL, LIKE_EXPRESSION)) SUBTYPE OF (boolean_expression, binary_generic_expression); SELF\binary_generic_expression.operands : LIST [2:2] OF expression; WHERE WR1: (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF(SELF\binary_generic_expression.operands[1])) AND ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF(SELF\binary_generic_expression.operands[2]))) OR (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF(SELF\binary_generic_expression.operands[1])) AND ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF(SELF\binary_generic_expression.operands[2]))) OR (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF(SELF\binary_generic_expression.operands[1])) AND ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF(SELF\binary_generic_expression.operands[2]))) ; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY comparison_greater SUBTYPE OF (comparison_expression); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY comparison_greater_equal SUBTYPE OF (comparison_expression); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY comparison_less SUBTYPE OF (comparison_expression); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY comparison_less_equal SUBTYPE OF (comparison_expression); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY comparison_not_equal SUBTYPE OF (comparison_expression); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY composite_curve SUBTYPE OF (bounded_curve); segments : LIST [1:?] OF composite_curve_segment; self_intersect : LOGICAL; DERIVE n_segments : INTEGER := SIZEOF(segments); closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; WHERE WR1: ((NOT closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 1)) OR ((closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 0)); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY composite_curve_on_surface SUPERTYPE OF ( BOUNDARY_CURVE) SUBTYPE OF (composite_curve); DERIVE basis_surface : SET[0:2] OF surface := get_basis_surface(SELF); WHERE WR1: SIZEOF(basis_surface) > 0; WR2: constraints_composite_curve_on_surface(SELF); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY composite_curve_segment SUBTYPE OF (founded_item); transition : transition_code; same_sense : BOOLEAN; parent_curve : curve; INVERSE using_curves : BAG[1:?] OF composite_curve FOR segments; WHERE WR1 : ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(parent_curve)); END_ENTITY; (* USED FROM (shape_aspect_definition_schema); *) ENTITY composite_shape_aspect SUBTYPE OF (shape_aspect); INVERSE component_relationships : SET [2:?] OF shape_aspect_relationship FOR relating_shape_aspect; END_ENTITY; (* USED FROM (representation_schema); *) ENTITY compound_representation_item SUBTYPE OF (representation_item); item_element : compound_item_definition; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY concat_expression SUBTYPE OF (string_expression, multiple_arity_generic_expression); SELF\multiple_arity_generic_expression.operands: LIST [2 : ?] OF string_expression; END_ENTITY; (* USED FROM (aic_geometric_tolerances); *) ENTITY concentricity_tolerance SUBTYPE OF ( geometric_tolerance_with_datum_reference ); WHERE WR1 : SIZEOF (SELF\geometric_tolerance_with_datum_reference.datum_system) = 1; END_ENTITY ; (* USED FROM (product_concept_schema); *) ENTITY concept_feature_operator; name : label; description : OPTIONAL text; END_ENTITY; (* Implicit interfaced from: product_concept_schema *) ENTITY concept_feature_relationship; name : label; description : OPTIONAL text; relating_product_concept_feature : product_concept_feature; related_product_concept_feature : product_concept_feature; END_ENTITY; (* Implicit interfaced from: product_concept_schema *) ENTITY concept_feature_relationship_with_condition SUBTYPE OF (concept_feature_relationship); conditional_operator : concept_feature_operator; END_ENTITY; (* USED FROM (product_concept_schema); *) ENTITY conditional_concept_feature SUBTYPE OF (product_concept_feature); condition : concept_feature_relationship_with_condition; END_ENTITY; (* USED FROM (configuration_management_schema); *) ENTITY configurable_item SUBTYPE OF (configuration_item); item_concept_feature : SET[1:?] OF product_concept_feature_association; END_ENTITY; (* USED FROM (configuration_management_schema); *) ENTITY configuration_design; configuration : configuration_item; design : configuration_design_item; DERIVE name : label := get_name_value (SELF); description : text := get_description_value (SELF); UNIQUE UR1: configuration, design; WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; WR2: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; (* USED FROM (configuration_management_schema); *) ENTITY configuration_effectivity SUBTYPE OF (product_definition_effectivity); configuration : configuration_design; UNIQUE UR1: configuration, usage, id; WHERE WR1: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE' IN TYPEOF (SELF\product_definition_effectivity.usage); END_ENTITY; (* USED FROM (configuration_management_schema); *) ENTITY configuration_item; id : identifier; name : label; description : OPTIONAL text; item_concept : product_concept; purpose : OPTIONAL label; END_ENTITY; (* USED FROM (Specification_based_configuration_mim); *) ENTITY configured_effectivity_assignment SUBTYPE OF (effectivity_assignment); items : SET [1:?] OF configured_effectivity_item; WHERE WR1: (SIZEOF(['AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EFFECTIVITY'] * TYPEOF(SELF.assigned_effectivity) ) = 1) AND (SELF.assigned_effectivity.id = 'configuration validity'); WR2: SIZEOF(SELF.items) = 1; WR3: SIZEOF( QUERY( i <* SELF.items | NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) OR NOT (i\product_definition.frame_of_reference.name IN ['conceptual definition','part occurrence', 'functional definition','alternative definition']) )) = 0; WR4: SELF.role.name IN ['design', 'usage']; WR5: (SELF.role.name <> 'design') OR (SIZEOF( QUERY( i <* SELF.items | ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'part occurrence') )) = 0); WR6: (SELF.role.name <> 'usage') OR (SIZEOF( QUERY( i <* SELF.items | ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'conceptual definition') )) = 0); WR7: SELF.role.description IN ['exception', 'inherited', 'local']; WR8: SIZEOF( QUERY( x <* USEDIN(SELF,'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT') | 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(x) )) = 1; END_ENTITY; (* USED FROM (Specification_based_configuration_mim); *) ENTITY configured_effectivity_context_assignment SUBTYPE OF (effectivity_context_assignment); SELF\effectivity_context_assignment.assigned_effectivity_assignment: configured_effectivity_assignment; items : SET [1:?] OF configured_effectivity_context_item; WHERE WR1: SIZEOF(SELF.items) = 1; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY conic SUPERTYPE OF (ONEOF ( CIRCLE, ELLIPSE, HYPERBOLA, PARABOLA)) SUBTYPE OF (curve); position: axis2_placement; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY conical_surface SUBTYPE OF (elementary_surface); radius : length_measure; semi_angle : plane_angle_measure; WHERE WR1: radius >= 0.0; END_ENTITY; (* REFERENCE FROM (topology_schema); *) ENTITY connected_edge_set SUBTYPE OF (topological_representation_item); ces_edges : SET [1:?] OF edge; END_ENTITY; (* USED FROM (topology_schema); *) ENTITY connected_face_set SUPERTYPE OF (ONEOF ( CLOSED_SHELL, OPEN_SHELL)) SUBTYPE OF (topological_representation_item); cfs_faces : SET [1:?] OF face; END_ENTITY; (* USED FROM (Construction_geometry_mim); *) ENTITY constructive_geometry_representation SUBTYPE OF (representation); WHERE WR1: ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.context_of_items)) AND ({2 <= SELF.context_of_items\geometric_representation_context. coordinate_space_dimension <= 3}); WR2: SIZEOF( QUERY( cgr_i <* SELF.items | SIZEOF(['AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PLACEMENT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CURVE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.FACE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.POINT', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SURFACE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.FACE_SURFACE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1 )) = 0; WR3: SIZEOF( USEDIN( SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) > 0; WR4: SIZEOF( USEDIN( SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') ) = 0; END_ENTITY; (* USED FROM (Construction_geometry_mim); *) ENTITY constructive_geometry_representation_relationship SUBTYPE OF (representation_relationship); WHERE WR1: (SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items) AND ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.rep_1.context_of_items)); WR2: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CONSTRUCTIVE_GEOMETRY_REPRESENTATION' IN TYPEOF(SELF.rep_2); WR3: SIZEOF(['AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SHAPE_REPRESENTATION', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CONSTRUCTIVE_GEOMETRY_REPRESENTATION'] * TYPEOF(SELF.rep_1)) = 1; WR4: NOT('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); END_ENTITY; (* USED FROM (Surface_conditions_mim); *) ENTITY contact_ratio_representation SUBTYPE OF (representation); WHERE WR1: ( SIZEOF ( SELF.items ) =1 ) AND ( SIZEOF ( QUERY ( i <* SELF.items | ( SIZEOF ( ['AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) AND ( i.name = 'ratio value' ) ) ) =1 ) ; WR2: ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | pdr. name = 'contact ratio reference' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | ( pdr. name = 'contact ratio reference' ) AND ( 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'PHYSICALLY_MODELLED_PRODUCT_DEFINITION' IN TYPEOF ( pdr. definition.definition ) ) ) ) =1 ) ; WR3: ( SIZEOF ( USEDIN ( SELF , 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( pdr. definition , 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ 'DERIVED_DEFINITION' ) | ( 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa. base_definition ) ) AND ( gpa. base_definition.name ='surface_condition' ) ) ) =1 ) ) =1 ) ; END_ENTITY; (* USED FROM (product_property_representation_schema); *) ENTITY context_dependent_shape_representation; representation_relation : shape_representation_relationship; represented_product_relation : product_definition_shape; DERIVE description : text := get_description_value (SELF); name : label := get_name_value (SELF); WHERE WR1: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF (SELF.represented_product_relation.definition); WR2: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; WR3: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY context_dependent_unit SUBTYPE OF (named_unit); name : label; END_ENTITY; (* USED FROM (contract_schema); *) ENTITY contract; name : label; purpose : text; kind : contract_type; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY contract_assignment ABSTRACT SUPERTYPE; assigned_contract : contract; DERIVE role : object_role := get_role (SELF); WHERE WR1: SIZEOF(USEDIN(SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; (* Implicit interfaced from: contract_schema *) ENTITY contract_type; description : label; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY conversion_based_unit SUBTYPE OF (named_unit); name : label; conversion_factor : measure_with_unit; END_ENTITY; (* USED FROM (date_time_schema); *) ENTITY coordinated_universal_time_offset; hour_offset : INTEGER; minute_offset : OPTIONAL INTEGER; sense : ahead_or_behind; DERIVE actual_minute_offset : INTEGER := NVL(minute_offset,0); WHERE WR1: { 0 <= hour_offset < 24 }; WR2: { 0 <= actual_minute_offset <= 59 }; WR3: NOT (((hour_offset <> 0) OR (actual_minute_offset <>0)) AND (sense = exact)); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY cos_function SUBTYPE OF (unary_function_call); END_ENTITY; (* USED FROM (aic_csg); *) ENTITY csg_shape_representation SUBTYPE OF ( shape_representation ); WHERE WR1 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; WR2 : SIZEOF ( QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CSG_SOLID', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAPPED_ITEM', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SOLID_REPLICA', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.REVOLVED_FACE_SOLID', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (it)) <> 1) )) = 0; WR3 : SIZEOF ( QUERY ( mi <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; WR4 : SIZEOF ( QUERY ( sr <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SOLID_REPLICA' IN TYPEOF (it)) )| ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CSG_SOLID', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.REVOLVED_FACE_SOLID', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (sr\solid_replica.parent_solid)) = 0) )) = 0; WR5 : SIZEOF ( QUERY ( it <* SELF.items| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)) )) > 0; END_ENTITY ; (* USED FROM (geometric_model_schema); *) ENTITY csg_solid SUBTYPE OF (solid_model); tree_root_expression : csg_select; END_ENTITY; (* USED FROM (geometry_schema); *) (* Pruned SUPERTYPE *) ENTITY curve SUPERTYPE OF (ONEOF ( LINE, CONIC, PCURVE, SURFACE_CURVE, OFFSET_CURVE_2D, OFFSET_CURVE_3D, CURVE_REPLICA)) SUBTYPE OF (geometric_representation_item); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY curve_bounded_surface SUBTYPE OF (bounded_surface); basis_surface : surface; boundaries : SET [1:?] OF boundary_curve; implicit_outer : BOOLEAN; WHERE WR1: (NOT implicit_outer) OR (SIZEOF (QUERY (temp <* boundaries | 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0); WR2: (NOT(implicit_outer)) OR ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(basis_surface)); WR3: SIZEOF(QUERY(temp <* boundaries | 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) <= 1; WR4: SIZEOF(QUERY(temp <* boundaries | (temp\composite_curve_on_surface.basis_surface [1] <> SELF.basis_surface))) = 0; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY curve_replica SUBTYPE OF (curve); parent_curve : curve; transformation : cartesian_transformation_operator; WHERE WR1: transformation.dim = parent_curve.dim; WR2: acyclic_curve_replica (SELF, parent_curve); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY cylindrical_surface SUBTYPE OF (elementary_surface); radius : positive_length_measure; END_ENTITY; (* USED FROM (aic_geometric_tolerances); *) ENTITY cylindricity_tolerance SUBTYPE OF ( geometric_tolerance ); WHERE WR1 : NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); END_ENTITY ; (* USED FROM (material_property_representation_schema); *) ENTITY data_environment; name : label; description : text; elements : SET [1:?] OF property_definition_representation; END_ENTITY; (* USED FROM (date_time_schema); *) (* Pruned SUPERTYPE *) ENTITY date ; year_component : year_number; END_ENTITY; (* USED FROM (date_time_schema); *) ENTITY date_and_time; date_component : date; time_component : local_time; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY date_and_time_assignment ABSTRACT SUPERTYPE; assigned_date_and_time : date_and_time; role : date_time_role; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY date_assignment ABSTRACT SUPERTYPE; assigned_date : date; role : date_role; END_ENTITY; (* USED FROM (date_time_schema); *) ENTITY date_role; name : label; DERIVE description : text := get_description_value (SELF); WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; (* USED FROM (date_time_schema); *) ENTITY date_time_role; name : label; DERIVE description : text := get_description_value (SELF); WHERE WR1: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; (* USED FROM (effectivity_schema); *) ENTITY dated_effectivity SUBTYPE OF (effectivity); effectivity_end_date : OPTIONAL date_time_or_event_occurrence; effectivity_start_date : date_time_or_event_occurrence; END_ENTITY; (* USED FROM (shape_aspect_definition_schema); *) ENTITY datum SUBTYPE OF (shape_aspect); identification :identifier; INVERSE established_by_relationships : SET [1:?] OF shape_aspect_relationship FOR related_shape_aspect; WHERE WR1: SIZEOF (QUERY (x<*SELF\datum.established_by_relationships | SIZEOF (TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)* ['AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.DATUM_FEATURE', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.DATUM_TARGET']) <> 1))=0; END_ENTITY; (* USED FROM (shape_aspect_definition_schema); *) ENTITY datum_feature SUBTYPE OF (shape_aspect); INVERSE feature_basis_relationship : shape_aspect_relationship FOR relating_shape_aspect; WHERE WR1: SIZEOF (QUERY (sar<* bag_to_set (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.'+ 'RELATING_SHAPE_ASPECT')) | NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect))))=0; WR2: SELF\shape_aspect.product_definitional = TRUE; END_ENTITY; (* USED FROM (shape_aspect_definition_schema); *) ENTITY datum_reference; precedence : INTEGER; referenced_datum : datum; WHERE WR1: precedence > 0; END_ENTITY; (* USED FROM (shape_aspect_definition_schema); *) ENTITY datum_target SUBTYPE OF (shape_aspect); target_id : identifier; INVERSE target_basis_relationship : shape_aspect_relationship FOR relating_shape_aspect; WHERE WR1: SIZEOF (QUERY (sar<* bag_to_set (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT')) | NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect))))=0; WR2: SELF\shape_aspect.product_definitional = TRUE; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY defined_function ABSTRACT SUPERTYPE OF ((ONEOF ( NUMERIC_DEFINED_FUNCTION, STRING_DEFINED_FUNCTION, BOOLEAN_DEFINED_FUNCTION)) ANDOR SQL_MAPPABLE_DEFINED_FUNCTION); END_ENTITY; (* USED FROM (representation_schema); *) ENTITY definitional_representation SUBTYPE OF (representation); WHERE WR1: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (SELF\representation.context_of_items ); END_ENTITY; (* USED FROM (Extended_basic_geometry_mim); *) ENTITY definitional_representation_relationship SUBTYPE OF (representation_relationship); WHERE WR1: acyclic_representation_relationship(SELF, [SELF\representation_relationship.rep_2], 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.'+ 'REPRESENTATION'); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY degenerate_pcurve SUBTYPE OF (point); basis_surface: surface; reference_to_curve : definitional_representation; WHERE WR1: SIZEOF(reference_to_curve\representation.items) = 1; WR2: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.CURVE' IN TYPEOF (reference_to_curve\representation.items[1]); WR3: reference_to_curve\representation. items[1]\geometric_representation_item.dim =2; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY degenerate_toroidal_surface SUBTYPE OF (toroidal_surface); select_outer : BOOLEAN; WHERE WR1: major_radius < minor_radius; END_ENTITY; (* USED FROM (shape_aspect_definition_schema); *) ENTITY derived_shape_aspect SUPERTYPE OF (ONEOF ( APEX, CENTRE_OF_SYMMETRY, GEOMETRIC_ALIGNMENT, GEOMETRIC_INTERSECTION, PARALLEL_OFFSET, PERPENDICULAR_TO, EXTENSION, TANGENT)) SUBTYPE OF (shape_aspect); INVERSE deriving_relationships : SET [1:?] OF shape_aspect_relationship FOR relating_shape_aspect; WHERE WR1: SIZEOF (QUERY (dr <* SELF\derived_shape_aspect.deriving_relationships | NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_DERIVING_RELATIONSHIP' IN TYPEOF (dr)))) = 0; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY derived_unit; elements : SET[1:?] OF derived_unit_element; DERIVE name : label := get_name_value (SELF); WHERE WR1: (SIZEOF (elements) > 1) OR ((SIZEOF (elements) = 1) AND (elements[1].exponent <> 1.0)); WR2: SIZEOF (USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY derived_unit_element; unit : named_unit; exponent : REAL; END_ENTITY; (* USED FROM (basic_attribute_schema); *) ENTITY description_attribute; attribute_value : text; described_item : description_attribute_select; END_ENTITY; (* USED FROM (qualified_measure_schema); *) ENTITY descriptive_representation_item SUBTYPE OF (representation_item); description : text; END_ENTITY; (* USED FROM (shape_tolerance_schema); *) ENTITY dimension_related_tolerance_zone_element; related_dimension : dimensional_location; related_element : tolerance_zone_definition; END_ENTITY; (* USED FROM (shape_dimension_schema); *) ENTITY dimensional_characteristic_representation; dimension : dimensional_characteristic; representation : shape_dimension_representation; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY dimensional_exponents; length_exponent : REAL; mass_exponent : REAL; time_exponent : REAL; electric_current_exponent : REAL; thermodynamic_temperature_exponent : REAL; amount_of_substance_exponent : REAL; luminous_intensity_exponent : REAL; END_ENTITY; (* USED FROM (shape_dimension_schema); *) ENTITY dimensional_location SUPERTYPE OF (ONEOF ( ANGULAR_LOCATION, DIMENSIONAL_LOCATION_WITH_PATH)) SUBTYPE OF (shape_aspect_relationship); END_ENTITY; (* USED FROM (shape_dimension_schema); *) ENTITY dimensional_location_with_path SUBTYPE OF (dimensional_location); path : shape_aspect; END_ENTITY; (* USED FROM (shape_dimension_schema); *) ENTITY dimensional_size SUPERTYPE OF (ONEOF ( ANGULAR_SIZE, DIMENSIONAL_SIZE_WITH_PATH)); applies_to : shape_aspect; name : label; WHERE WR1: applies_to.product_definitional = TRUE; END_ENTITY; (* USED FROM (shape_dimension_schema); *) ENTITY dimensional_size_with_path SUBTYPE OF (dimensional_size); path : shape_aspect; END_ENTITY; (* USED FROM (action_schema); *) ENTITY directed_action SUBTYPE OF (executed_action); directive : action_directive; END_ENTITY; (* USED FROM (Dimension_tolerance_mim); *) ENTITY directed_dimensional_location SUBTYPE OF (dimensional_location); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY direction SUBTYPE OF (geometric_representation_item); direction_ratios : LIST [2:3] OF REAL; WHERE WR1: SIZEOF(QUERY(tmp <* direction_ratios | tmp <> 0.0)) > 0; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY div_expression SUBTYPE OF (binary_numeric_expression); END_ENTITY; (* USED FROM (document_schema); *) ENTITY document; id : identifier; name : label; description : OPTIONAL text; kind : document_type; INVERSE representation_types : SET[0:?] OF document_representation_type FOR represented_document; END_ENTITY; (* USED FROM (File_identification_mim); *) ENTITY document_file SUBTYPE OF (document, characterized_object); WHERE WR1: SELF\characterized_object.name = ''; WR2: NOT EXISTS(SELF\characterized_object.description); WR3: SIZEOF( QUERY( drt <* SELF\document.representation_types | drt.name IN ['digital','physical'])) = 1; END_ENTITY; (* USED FROM (document_schema); *) ENTITY document_product_association; name : label; description : OPTIONAL text; relating_document : document; related_product : product_or_formation_or_definition; END_ENTITY; (* USED FROM (Document_assignment_mim); *) ENTITY document_product_equivalence SUBTYPE OF (document_product_association); WHERE WR1: SELF\document_product_association.name = 'equivalence'; WR2: NOT('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT' IN TYPEOF(SELF\document_product_association.related_product)) OR ((SELF\document_product_association.relating_document.kind. product_data_type = 'configuration controlled document') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF\document_product_association.related_product,'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document' )) = 1)); WR3: NOT('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document version') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF.related_product\product_definition_formation.of_product, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); WR4: NOT('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document definition') AND (SIZEOF( QUERY( prpc <* USEDIN(SELF\document_product_association.related_product\product_definition.formation.of_product, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document' )) = 1)); END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY document_reference ABSTRACT SUPERTYPE; assigned_document : document; source : label; DERIVE role : object_role := get_role (SELF); WHERE WR1: SIZEOF(USEDIN(SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; (* USED FROM (document_schema); *) ENTITY document_relationship; name : label; description : OPTIONAL text; relating_document : document; related_document : document; END_ENTITY; (* USED FROM (document_schema); *) ENTITY document_representation_type; name : label; represented_document : document; END_ENTITY; (* USED FROM (document_schema); *) ENTITY document_type; product_data_type : label; END_ENTITY; (* REFERENCE FROM (document_schema); *) ENTITY document_usage_constraint; source : document; subject_element : label; subject_element_value : text; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY document_usage_constraint_assignment ABSTRACT SUPERTYPE; assigned_document_usage : document_usage_constraint; role : document_usage_role; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY document_usage_role; name : label; description : OPTIONAL text; END_ENTITY; (* USED FROM (topology_schema); *) (* Pruned SUPERTYPE *) ENTITY edge SUPERTYPE OF (ONEOF ( EDGE_CURVE, ORIENTED_EDGE)) SUBTYPE OF (topological_representation_item); edge_start : vertex; edge_end : vertex; END_ENTITY; (* USED FROM (geometric_model_schema); *) ENTITY edge_based_wireframe_model SUBTYPE OF (geometric_representation_item); ebwm_boundary : SET [1:?] OF connected_edge_set; END_ENTITY; (* USED FROM (aic_edge_based_wireframe); *) ENTITY edge_based_wireframe_shape_representation SUBTYPE OF ( shape_representation ); WHERE WR1 : SIZEOF ( QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAPPED_ITEM', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; WR2 : SIZEOF ( QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; WR3 : SIZEOF ( QUERY ( ebwm <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( QUERY ( edges <* eb.ces_edges| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (edges)) )) = 0) )) = 0) )) = 0; WR4 : SIZEOF ( QUERY ( ebwm <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( QUERY ( pline_edges <* QUERY ( edges <* eb.ces_edges| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (edges\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_edges\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0; WR5 : SIZEOF ( QUERY ( ebwm <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( QUERY ( edges <* eb.ces_edges| NOT (('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_start)) AND ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_end))) )) = 0) )) = 0) )) = 0; WR6 : SIZEOF ( QUERY ( ebwm <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( QUERY ( edges <* eb.ces_edges| NOT valid_wireframe_edge_curve(edges\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0; WR7 : SIZEOF ( QUERY ( ebwm <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( QUERY ( edges <* eb.ces_edges| NOT (valid_wireframe_vertex_point(edges.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(edges.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0; WR8 : SIZEOF ( QUERY ( mi <* QUERY ( it <* SELF.items| ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; WR9 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; END_ENTITY ; (* USED FROM (topology_schema); *) ENTITY edge_curve SUBTYPE OF(edge,geometric_representation_item); edge_geometry : curve; same_sense : BOOLEAN; END_ENTITY; (* USED FROM (topology_schema); *) ENTITY edge_loop SUBTYPE OF (loop,path); DERIVE ne : INTEGER := SIZEOF(SELF\path.edge_list); WHERE WR1: (SELF\path.edge_list[1].edge_start) :=: (SELF\path.edge_list[ne].edge_end); END_ENTITY; (* USED FROM (effectivity_schema); *) ENTITY effectivity SUPERTYPE OF (ONEOF ( SERIAL_NUMBERED_EFFECTIVITY, DATED_EFFECTIVITY, LOT_EFFECTIVITY, TIME_INTERVAL_BASED_EFFECTIVITY)); id : identifier; DERIVE name : label := get_name_value(SELF); description : text := get_description_value(SELF); WHERE WR1: SIZEOF(USEDIN(SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; WR2: SIZEOF(USEDIN(SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY effectivity_assignment ABSTRACT SUPERTYPE; assigned_effectivity : effectivity; DERIVE role : object_role := get_role(SELF); WHERE WR1: SIZEOF(USEDIN(SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY effectivity_context_assignment ABSTRACT SUPERTYPE; assigned_effectivity_assignment : effectivity_assignment; role : effectivity_context_role; END_ENTITY; (* Implicit interfaced from: management_resources_schema *) ENTITY effectivity_context_role; name : label; description : OPTIONAL text; END_ENTITY; (* USED FROM (effectivity_schema); *) ENTITY effectivity_relationship; name : label; description : OPTIONAL text; related_effectivity : effectivity; relating_effectivity : effectivity; END_ENTITY; (* USED FROM (measure_schema); *) ENTITY electric_current_measure_with_unit SUBTYPE OF (measure_with_unit); WHERE WR1: 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); END_ENTITY; (* USED FROM (measure_schema); *) ENTITY electric_current_unit SUBTYPE OF (named_unit); WHERE WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 1.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); END_ENTITY; (* USED FROM (Building_component_mim); *) ENTITY element_component_classification_group SUBTYPE OF (group); WHERE WR1: SIZEOF (QUERY (ga <* USEDIN (SELF, 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'CLASSIFICATION_ASSIGNMENT.ASSIGNED_CLASS') | 'AP236_FURNITURE_CATALOG_AND_INTERIOR_DESIGN_MIM_LF.' + 'APPLIED_CLASSIFICATION_ASSIGNMENT' IN TYPEOF (ga))) >= 1; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY elementary_surface SUPERTYPE OF (ONEOF ( PLANE, CYLINDRICAL_SURFACE, CONICAL_SURFACE, SPHERICAL_SURFACE, TOROIDAL_SURFACE)) SUBTYPE OF (surface); position : axis2_placement_3d; END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY ellipse SUBTYPE OF (conic); semi_axis_1 : positive_length_measure; semi_axis_2 : positive_length_measure; END_ENTITY; (* USED FROM (ISO13584_generic_expressions_schema); *) ENTITY environment; syntactic_representation: generic_variable; semantics: variable_semantics; END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY equals_expression SUBTYPE OF (binary_boolean_expression); END_ENTITY; (* USED FROM (geometry_schema); *) ENTITY evaluated_degenerate_pcurve SUBTYPE OF (degenerate_pcurve); equivalent_point : cartesian_point; END_ENTITY; (* USED FROM (date_time_schema); *) ENTITY event_occurrence; id : identifier; name : label; description : OPTIONAL text; END_ENTITY; (* USED FROM (management_resources_schema); *) ENTITY event_occurrence_assignment ABSTRACT SUPERTYPE; assigned_event_occurrence : event_occurrence; role : event_occurrence_role; END_ENTITY; (* USED FROM (date_time_schema); *) ENTITY event_occurrence_relationship; name : label; description : OPTIONAL text; relating_event : event_occurrence; related_event : event_occurrence; END_ENTITY; (* REFERENCE FROM (date_time_schema); *) ENTITY event_occurrence_role; name : label; description : OPTIONAL text; END_ENTITY; (* USED FROM (Product_class_mim); *) ENTITY exclusive_product_concept_feature_category SUBTYPE OF (product_concept_feature_category); END_ENTITY; (* USED FROM (action_schema); *) ENTITY executed_action SUBTYPE OF (action); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY exp_function SUBTYPE OF (unary_function_call); END_ENTITY; (* USED FROM (ISO13584_expressions_schema); *) ENTITY expression ABSTRACT SUPERTYPE OF (ONEOF ( NUMERIC_EXPRESSION, BOOLEAN_EXPRESSION, STRING_EXPRESSION)) SUBTYPE OF (generic_expression); END_ENTITY; (* USED FROM (Numerical_interface_mim); *) ENTITY expression_extension_numeric SUBTYPE OF (measure_with_unit, numeric_expression); END_ENTITY; (* USED FROM (Numerical_interface_mim); *) ENTITY expression_extension_string SUBTYPE OF (measure_with_unit, string_expression); END_ENTITY; (* USED FROM (Numerical_interface_mim); *) ENTITY expression_extension_to_select; type_expression_associated: expression_extension_select; END_ENTITY; (* USED FROM (shape_aspect_definition_schema); *) ENTITY extension SUBTYPE OF (derived_shape_aspect); WHERE WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; END_ENTITY; (* USED FROM (External_class_mim); *) ENTITY external_class_library SUBTYPE OF (external_source); END_ENTITY; (* USED FROM (management_resources_schema); *)