(* This file was generated by exppp (an EXPRESS Pretty Printer) written at the National Institute of Standards and Technology by Don Libes, February 19, 1993. WARNING: If you modify this file and want to save the changes, delete this comment block or else the file will be rewritten the next time exppp processes this schema. *) (* File generated 5 September 2000 Adnan Yucel, LM Aero 817-777-0028 Fedex bug: DIV replaced by / in FUNCTION number_of_terms. Manually corrected. 13584-20 bug: corrected wr1 rule of comparison_expression. revised the derived attribute of surface_of_revolution per latest p42TC3. *) SCHEMA structural_analysis_design; CONSTANT dummy_gri : geometric_representation_item := representation_item('') || geometric_representation_item(); dummy_tri : topological_representation_item := representation_item('') || topological_representation_item(); END_CONSTANT; TYPE action_item = SELECT (product_definition, product_definition_formation, product_definition_relationship); END_TYPE; -- action_item TYPE action_request_item = SELECT (product_definition, product_definition_formation, product_definition_relationship); END_TYPE; -- action_request_item TYPE action_type = ENUMERATION OF (applied_loads, residual_loads); END_TYPE; -- action_type TYPE aggregated_angular_variable = ENUMERATION OF (total_applied_moment, application_defined_aggregated_angular_scalar_variable); END_TYPE; -- aggregated_angular_variable TYPE aggregated_scalar_variable = ENUMERATION OF (total_strain_energy, mass, volume); END_TYPE; -- aggregated_scalar_variable TYPE aggregated_tensor2_3d_variable = ENUMERATION OF (rotational_inertia); END_TYPE; -- aggregated_tensor2_3d_variable TYPE aggregated_vector_3d_variable = ENUMERATION OF (total_applied_force, centre_of_mass_offset); END_TYPE; -- aggregated_vector_3d_variable TYPE ahead_or_behind = ENUMERATION OF (ahead, behind); END_TYPE; -- ahead_or_behind TYPE amount_of_substance_measure = REAL; END_TYPE; -- amount_of_substance_measure TYPE angular_value = context_dependent_measure; END_TYPE; -- angular_value TYPE anisotropic_symmetric_tensor2_2d = ARRAY [1:3] OF context_dependent_measure; END_TYPE; -- anisotropic_symmetric_tensor2_2d TYPE anisotropic_symmetric_tensor2_3d = ARRAY [1:6] OF context_dependent_measure; END_TYPE; -- anisotropic_symmetric_tensor2_3d TYPE anisotropic_symmetric_tensor4_2d = ARRAY [1:6] OF context_dependent_measure; END_TYPE; -- anisotropic_symmetric_tensor4_2d TYPE anisotropic_symmetric_tensor4_3d = ARRAY [1:21] OF context_dependent_measure; END_TYPE; -- anisotropic_symmetric_tensor4_3d TYPE application_defined_degree_of_freedom = STRING; END_TYPE; -- application_defined_degree_of_freedom TYPE application_defined_element_purpose = STRING; END_TYPE; -- application_defined_element_purpose TYPE application_defined_matrix_property_type = STRING; END_TYPE; -- application_defined_matrix_property_type TYPE application_defined_scalar_variable = STRING; END_TYPE; -- application_defined_scalar_variable TYPE application_defined_tensor2_2d_variable = STRING; END_TYPE; -- application_defined_tensor2_2d_variable TYPE application_defined_tensor2_3d_variable = STRING; END_TYPE; -- application_defined_tensor2_3d_variable TYPE application_defined_vector_2d_variable = STRING; END_TYPE; -- application_defined_vector_2d_variable TYPE application_defined_vector_3d_variable = STRING; END_TYPE; -- application_defined_vector_3d_variable TYPE approval_item = SELECT (action_directive, certification, configuration_item, configuration_effectivity, contract, control, fea_model, product_definition, product_definition_formation, result, retention, security_classification, versioned_action_request); END_TYPE; -- approval_item TYPE area_measure = REAL; END_TYPE; -- area_measure TYPE axi_or_plane = ENUMERATION OF (axisymmetric, planar); END_TYPE; -- axi_or_plane TYPE axis2_placement = SELECT (axis2_placement_2d, axis2_placement_3d); END_TYPE; -- axis2_placement TYPE b_spline_curve_form = ENUMERATION OF (polyline_form, circular_arc, elliptic_arc, parabolic_arc, hyperbolic_arc, unspecified); END_TYPE; -- b_spline_curve_form 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; -- b_spline_surface_form TYPE boolean_operand = SELECT (solid_model); END_TYPE; -- boolean_operand TYPE boundary_aggregated_variable = SELECT (aggregated_vector_3d_variable, application_defined_vector_3d_variable); END_TYPE; -- boundary_aggregated_variable TYPE boundary_curve_scalar_variable = ENUMERATION OF (normal_force_per_unit_length); END_TYPE; -- boundary_curve_scalar_variable TYPE boundary_curve_vector_3d_variable = ENUMERATION OF (applied_force_per_unit_length, applied_moment_per_unit_length); END_TYPE; -- boundary_curve_vector_3d_variable TYPE boundary_edge_variable = SELECT (boundary_curve_scalar_variable, boundary_curve_vector_3d_variable, application_defined_scalar_variable, application_defined_vector_3d_variable); END_TYPE; -- boundary_edge_variable TYPE boundary_surface_scalar_variable = ENUMERATION OF (pressure); END_TYPE; -- boundary_surface_scalar_variable TYPE boundary_surface_vector_3d_variable = ENUMERATION OF (applied_force_per_unit_area, applied_moment_per_unit_area); END_TYPE; -- boundary_surface_vector_3d_variable TYPE boundary_variable = SELECT (boundary_surface_scalar_variable, boundary_surface_vector_3d_variable, application_defined_scalar_variable, application_defined_vector_3d_variable); END_TYPE; -- boundary_variable TYPE certification_item = SELECT (product_definition_relationship); END_TYPE; -- certification_item TYPE characterized_definition = SELECT (characterized_object, characterized_product_definition, shape_definition); END_TYPE; -- characterized_definition TYPE characterized_material_property = SELECT (material_property_representation, product_material_composition_relationship); END_TYPE; -- characterized_material_property TYPE characterized_product_definition = SELECT (product_definition, product_definition_relationship); END_TYPE; -- characterized_product_definition TYPE context_dependent_measure = REAL; END_TYPE; -- context_dependent_measure TYPE contract_item = SELECT (product_definition_formation); END_TYPE; -- contract_item TYPE coordinate_system_type = ENUMERATION OF (cartesian, cylindrical, spherical); END_TYPE; -- coordinate_system_type TYPE count_measure = NUMBER; END_TYPE; -- count_measure TYPE curve_2d_element_descriptor = SELECT (axisymmetric_curve_2d_element_descriptor, plane_curve_2d_element_descriptor); END_TYPE; -- curve_2d_element_descriptor TYPE curve_2d_element_output_reference = SELECT (curve_2d_element_representation, curve_2d_element_descriptor, curve_2d_element_group, curve_2d_substructure_element_reference, analysis_item_within_representation); END_TYPE; -- curve_2d_element_output_reference TYPE curve_2d_element_representation = SELECT (axisymmetric_curve_2d_element_representation, plane_curve_2d_element_representation); END_TYPE; -- curve_2d_element_representation TYPE curve_2d_state_coordinate_system = SELECT (fea_axis2_placement_3d, curve_2d_element_coordinate_system); END_TYPE; -- curve_2d_state_coordinate_system TYPE curve_3d_element_coordinate_system = SELECT (aligned_curve_3d_element_coordinate_system, parametric_curve_3d_element_coordinate_system); END_TYPE; -- curve_3d_element_coordinate_system TYPE curve_3d_element_length_integration = SELECT (element_integration_algebraic, curve_3d_element_length_integration_rule, curve_3d_element_length_integration_explicit); END_TYPE; -- curve_3d_element_length_integration TYPE curve_3d_element_output_reference = SELECT (curve_3d_element_representation, curve_3d_element_descriptor, curve_3d_element_group, curve_3d_substructure_element_reference, analysis_item_within_representation); END_TYPE; -- curve_3d_element_output_reference TYPE curve_3d_state_coordinate_system = SELECT (fea_axis2_placement_3d, curve_3d_element_coordinate_system); END_TYPE; -- curve_3d_state_coordinate_system TYPE curve_edge = ENUMERATION OF (element_edge); END_TYPE; -- curve_edge TYPE curve_element_end_coordinate_system = SELECT (fea_axis2_placement_3d, curve_3d_element_coordinate_system); END_TYPE; -- curve_element_end_coordinate_system TYPE curve_element_freedom = SELECT (enumerated_curve_element_freedom, application_defined_degree_of_freedom); END_TYPE; -- curve_element_freedom TYPE curve_element_purpose = SELECT (enumerated_curve_element_purpose, application_defined_element_purpose); END_TYPE; -- curve_element_purpose TYPE curve_element_variable = SELECT (volume_variable, curve_scalar_variable, curve_vector_2d_variable, application_defined_vector_2d_variable, curve_vector_3d_variable); END_TYPE; -- curve_element_variable TYPE curve_matrix_property_type = SELECT (enumerated_curve_matrix_property_type, application_defined_matrix_property_type); END_TYPE; -- curve_matrix_property_type TYPE curve_on_surface = SELECT (pcurve, surface_curve, composite_curve_on_surface); END_TYPE; -- curve_on_surface TYPE curve_scalar_variable = ENUMERATION OF (curve_axial_force, curve_axial_strain, torque, curve_warping, bi_moment, twist); END_TYPE; -- curve_scalar_variable TYPE curve_vector_2d_variable = ENUMERATION OF (curve_shear_force, curve_bending_moment, curve_element_curvature, curve_thermal_gradient, reference_curve_thermal_gradient); END_TYPE; -- curve_vector_2d_variable TYPE curve_vector_3d_variable = ENUMERATION OF (applied_force_per_unit_length, applied_moment_per_unit_length); END_TYPE; -- curve_vector_3d_variable TYPE cylindrical_harmonic_number = INTEGER; WHERE wr1: (SELF >= 0); END_TYPE; -- cylindrical_harmonic_number TYPE date_item = SELECT (action_directive, approval_person_organization, certification, contract, product_definition, retention, security_classification, versioned_action_request); END_TYPE; -- date_item TYPE date_time_item = SELECT (action_directive, approval_person_organization, certification, contract, product_definition, retention, security_classification, versioned_action_request); END_TYPE; -- date_time_item TYPE date_time_select = SELECT (date, local_time, date_and_time); END_TYPE; -- date_time_select TYPE day_in_month_number = INTEGER; END_TYPE; -- day_in_month_number TYPE day_in_week_number = INTEGER; WHERE wr1: ((1 <= SELF) AND (SELF <= 7)); END_TYPE; -- day_in_week_number TYPE day_in_year_number = INTEGER; END_TYPE; -- day_in_year_number TYPE degree_of_freedom = SELECT (enumerated_degree_of_freedom, application_defined_degree_of_freedom); END_TYPE; -- degree_of_freedom TYPE descriptive_measure = STRING; END_TYPE; -- descriptive_measure TYPE dimension_count = INTEGER; WHERE wr1: (SELF > 0); END_TYPE; -- dimension_count TYPE dimensional_characteristic = SELECT (dimensional_size); END_TYPE; -- dimensional_characteristic TYPE directionally_explicit_element_coordinate_system = SELECT (directionally_explicit_element_coordinate_system_arbitrary, directionally_explicit_element_coordinate_system_aligned); END_TYPE; -- directionally_explicit_element_coordinate_system TYPE document_reference_item = SELECT (product_definition, shape_aspect); END_TYPE; -- document_reference_item TYPE electric_current_measure = REAL; END_TYPE; -- electric_current_measure TYPE element_2d_shape = ENUMERATION OF (quadrilateral, triangle); END_TYPE; -- element_2d_shape TYPE element_aspect = SELECT (element_volume, volume_3d_face, volume_2d_face, volume_3d_edge, volume_2d_edge, surface_3d_face, surface_2d_face, surface_3d_edge, surface_2d_edge, curve_edge); END_TYPE; -- element_aspect TYPE element_integration_algebraic = ENUMERATION OF (algebraic); END_TYPE; -- element_integration_algebraic TYPE element_or_element_group = SELECT (element_representation, element_group); END_TYPE; -- element_or_element_group TYPE element_order = ENUMERATION OF (linear, quadratic, cubic); END_TYPE; -- element_order TYPE element_volume = ENUMERATION OF (volume); END_TYPE; -- element_volume TYPE enumerated_curve_element_freedom = ENUMERATION OF (x_translation, y_translation, z_translation, x_rotation, y_rotation, z_rotation, warp, none); END_TYPE; -- enumerated_curve_element_freedom TYPE enumerated_curve_element_purpose = ENUMERATION OF (axial, y_y_bending, z_z_bending, torsion, x_y_shear, x_z_shear, warping); END_TYPE; -- enumerated_curve_element_purpose TYPE enumerated_curve_matrix_property_type = ENUMERATION OF (axial, y_y_bending, z_z_bending, torsion, x_y_shear, x_z_shear, warping, axial_mass, y_y_bending_mass, z_z_bending_mass, torsion_mass, x_y_shear_mass, x_z_shear_mass, warping_mass, mass); END_TYPE; -- enumerated_curve_matrix_property_type TYPE enumerated_degree_of_freedom = ENUMERATION OF (x_translation, y_translation, z_translation, x_rotation, y_rotation, z_rotation, warp); END_TYPE; -- enumerated_degree_of_freedom TYPE enumerated_matrix_property_type = ENUMERATION OF (stiffness, mass, damping); END_TYPE; -- enumerated_matrix_property_type TYPE enumerated_plane_2d_element_purpose = ENUMERATION OF (plane_stress, plane_strain); END_TYPE; -- enumerated_plane_2d_element_purpose TYPE enumerated_surface_element_purpose = ENUMERATION OF (membrane_direct, membrane_shear, bending_direct, bending_torsion, normal_to_plane_shear); END_TYPE; -- enumerated_surface_element_purpose TYPE enumerated_surface_matrix_property_type = ENUMERATION OF (membrane_direct, membrane_shear, bending_direct, bending_torsion, normal_to_plane_shear, membrane_direct_mass, membrane_shear_mass, bending_direct_mass, bending_torsion_mass, normal_to_plane_shear_mass, mass); END_TYPE; -- enumerated_surface_matrix_property_type TYPE enumerated_volume_element_purpose = ENUMERATION OF (stress_displacement); END_TYPE; -- enumerated_volume_element_purpose TYPE fea_column_normalised_monoclinic_symmetric_tensor4_3d = ARRAY [1:13] OF context_dependent_measure; END_TYPE; -- fea_column_normalised_monoclinic_symmetric_tensor4_3d TYPE fea_column_normalised_orthotropic_symmetric_tensor4_3d = ARRAY [1:9] OF context_dependent_measure; END_TYPE; -- fea_column_normalised_orthotropic_symmetric_tensor4_3d TYPE fea_iso_orthotropic_symmetric_tensor4_3d = ARRAY [1:3] OF context_dependent_measure; END_TYPE; -- fea_iso_orthotropic_symmetric_tensor4_3d TYPE fea_isotropic_symmetric_tensor4_3d = ARRAY [1:2] OF context_dependent_measure; END_TYPE; -- fea_isotropic_symmetric_tensor4_3d TYPE fea_transverse_isotropic_symmetric_tensor4_3d = ARRAY [1:5] OF context_dependent_measure; END_TYPE; -- fea_transverse_isotropic_symmetric_tensor4_3d TYPE field_value = SELECT (unspecified_value, scalar, tensor1_2d, tensor1_3d, anisotropic_symmetric_tensor2_2d, isotropic_symmetric_tensor2_3d, orthotropic_symmetric_tensor2_3d, anisotropic_symmetric_tensor2_3d); END_TYPE; -- field_value TYPE founded_item_select = SELECT (founded_item, representation_item); END_TYPE; -- founded_item_select TYPE geometric_set_select = SELECT (point, curve, surface); END_TYPE; -- geometric_set_select TYPE hour_in_day = INTEGER; WHERE wr1: ((0 <= SELF) AND (SELF < 24)); END_TYPE; -- hour_in_day TYPE identifier = STRING; END_TYPE; -- identifier TYPE integration_rule = ENUMERATION OF (gaussian, simpson); END_TYPE; -- integration_rule TYPE isotropic_symmetric_tensor2_3d = context_dependent_measure; END_TYPE; -- isotropic_symmetric_tensor2_3d TYPE knot_type = ENUMERATION OF (uniform_knots, unspecified, quasi_uniform_knots, piecewise_bezier_knots); END_TYPE; -- knot_type TYPE label = STRING; END_TYPE; -- label TYPE length_measure = REAL; END_TYPE; -- length_measure TYPE list_of_reversible_topology_item = LIST [0:?] OF reversible_topology_item; END_TYPE; -- list_of_reversible_topology_item TYPE luminous_intensity_measure = REAL; END_TYPE; -- luminous_intensity_measure TYPE mass_measure = REAL; END_TYPE; -- mass_measure TYPE matrix_property_type = SELECT (enumerated_matrix_property_type, application_defined_matrix_property_type); END_TYPE; -- matrix_property_type TYPE matrix_symmetry = ENUMERATION OF (symmetric, diagonal); END_TYPE; -- matrix_symmetry TYPE measure_or_unspecified_value = SELECT (context_dependent_measure, unspecified_value); END_TYPE; -- measure_or_unspecified_value TYPE measure_value = SELECT (length_measure, mass_measure, time_measure, electric_current_measure, thermodynamic_temperature_measure, amount_of_substance_measure, luminous_intensity_measure, plane_angle_measure, solid_angle_measure, area_measure, volume_measure, ratio_measure, parameter_value, numeric_measure, context_dependent_measure, descriptive_measure, positive_length_measure, positive_plane_angle_measure, positive_ratio_measure, count_measure); END_TYPE; -- measure_value TYPE message_level = ENUMERATION OF (error, warning, note); END_TYPE; -- message_level TYPE minute_in_hour = INTEGER; WHERE wr1: ((0 <= SELF) AND (SELF <= 59)); END_TYPE; -- minute_in_hour TYPE model_or_control_element = SELECT (element_representation, constraint_element); END_TYPE; -- model_or_control_element TYPE month_in_year_number = INTEGER; WHERE wr1: ((1 <= SELF) AND (SELF <= 12)); END_TYPE; -- month_in_year_number TYPE name_item = SELECT (expression_conversion_based_unit); END_TYPE; -- name_item TYPE node_or_node_group = SELECT (node_representation, node_group); END_TYPE; -- node_or_node_group TYPE node_output_reference = SELECT (node_representation, node_group, substructure_node_reference, analysis_item_within_representation); END_TYPE; -- node_output_reference TYPE numeric_measure = NUMBER; END_TYPE; -- numeric_measure TYPE organization_item = SELECT (action_directive, configuration_item, contract, product, product_definition, product_definition_formation, security_classification, versioned_action_request); END_TYPE; -- organization_item TYPE orthotropic_symmetric_tensor2_3d = ARRAY [1:3] OF context_dependent_measure; END_TYPE; -- orthotropic_symmetric_tensor2_3d TYPE parameter_value = REAL; END_TYPE; -- parameter_value TYPE pcurve_or_surface = SELECT (pcurve, surface); END_TYPE; -- pcurve_or_surface TYPE person_organization_item = SELECT (action_directive, configuration_item, contract, product, product_definition, product_definition_formation, security_classification, versioned_action_request); END_TYPE; -- person_organization_item TYPE person_organization_select = SELECT (person, organization, person_and_organization); END_TYPE; -- person_organization_select TYPE plane_2d_element_purpose = SELECT (enumerated_plane_2d_element_purpose, application_defined_element_purpose); END_TYPE; -- plane_2d_element_purpose TYPE plane_angle_measure = REAL; END_TYPE; -- plane_angle_measure TYPE positive_length_measure = length_measure; WHERE wr1: (SELF > 0); END_TYPE; -- positive_length_measure TYPE positive_plane_angle_measure = plane_angle_measure; WHERE wr1: (SELF > 0); END_TYPE; -- positive_plane_angle_measure TYPE positive_ratio_measure = ratio_measure; WHERE wr1: (SELF > 0); END_TYPE; -- positive_ratio_measure TYPE preferred_surface_curve_representation = ENUMERATION OF (curve_3d, pcurve_s1, pcurve_s2); END_TYPE; -- preferred_surface_curve_representation TYPE ratio_measure = REAL; END_TYPE; -- ratio_measure TYPE retention_item = SELECT (control, document, material_property, product, product_definition, product_definition_formation, product_definition_relationship, representation, result); END_TYPE; -- retention_item TYPE reversible_topology = SELECT (reversible_topology_item, list_of_reversible_topology_item, set_of_reversible_topology_item); END_TYPE; -- reversible_topology TYPE reversible_topology_item = SELECT (edge, path, face, face_bound, closed_shell, open_shell); END_TYPE; -- reversible_topology_item TYPE scalar = context_dependent_measure; END_TYPE; -- scalar TYPE second_in_minute = REAL; WHERE wr1: ((0 <= SELF) AND (SELF < 60)); END_TYPE; -- second_in_minute TYPE security_classification_item = SELECT (product_definition, product_definition_formation, product_definition_usage); END_TYPE; -- security_classification_item TYPE set_of_reversible_topology_item = SET [0:?] OF reversible_topology_item; END_TYPE; -- set_of_reversible_topology_item TYPE shape_definition = SELECT (product_definition_shape, shape_aspect, shape_aspect_relationship); END_TYPE; -- shape_definition TYPE shape_function = ENUMERATION OF (lagrangian, serendipity, hermitian, unspecified); END_TYPE; -- shape_function TYPE shell = SELECT (vertex_shell, wire_shell, open_shell, closed_shell); END_TYPE; -- shell TYPE si_prefix = ENUMERATION OF (exa, peta, tera, giga, mega, kilo, hecto, deca, deci, centi, milli, micro, nano, pico, femto, atto); END_TYPE; -- si_prefix 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; -- si_unit_name TYPE solid_angle_measure = REAL; END_TYPE; -- solid_angle_measure TYPE source = ENUMERATION OF (made, bought, not_known); END_TYPE; -- source TYPE supported_item = SELECT (action_directive, action, action_method); END_TYPE; -- supported_item TYPE surface_2d_edge = INTEGER; WHERE wr1: ((SELF >= 1) AND (SELF <= 2)); END_TYPE; -- surface_2d_edge TYPE surface_2d_element_coordinate_system = SELECT (aligned_surface_2d_element_coordinate_system, parametric_surface_2d_element_coordinate_system); END_TYPE; -- surface_2d_element_coordinate_system TYPE surface_2d_element_descriptor = SELECT (axisymmetric_surface_2d_element_descriptor, plane_surface_2d_element_descriptor); END_TYPE; -- surface_2d_element_descriptor TYPE surface_2d_element_length_integration = SELECT (element_integration_algebraic, surface_2d_element_length_integration_rule, surface_2d_element_length_integration_explicit); END_TYPE; -- surface_2d_element_length_integration TYPE surface_2d_element_output_reference = SELECT (surface_2d_element_representation, surface_2d_element_descriptor, surface_2d_element_group, surface_2d_substructure_element_reference, analysis_item_within_representation); END_TYPE; -- surface_2d_element_output_reference TYPE surface_2d_element_representation = SELECT (axisymmetric_surface_2d_element_representation, plane_surface_2d_element_representation); END_TYPE; -- surface_2d_element_representation TYPE surface_2d_face = INTEGER; WHERE wr1: ((SELF >= 1) AND (SELF <= 2)); END_TYPE; -- surface_2d_face TYPE surface_2d_state_coordinate_system = SELECT (fea_axis2_placement_3d, surface_2d_element_coordinate_system); END_TYPE; -- surface_2d_state_coordinate_system TYPE surface_3d_edge = INTEGER; WHERE wr1: ((SELF >= 1) AND (SELF <= 4)); END_TYPE; -- surface_3d_edge TYPE surface_3d_element_coordinate_system = SELECT (aligned_surface_3d_element_coordinate_system, parametric_surface_3d_element_coordinate_system, constant_surface_3d_element_coordinate_system); END_TYPE; -- surface_3d_element_coordinate_system TYPE surface_3d_element_field_integration = SELECT (element_integration_algebraic, surface_3d_element_field_integration_rule, surface_3d_element_field_integration_explicit); END_TYPE; -- surface_3d_element_field_integration TYPE surface_3d_element_output_reference = SELECT (surface_3d_element_representation, surface_3d_element_descriptor, surface_3d_element_group, surface_3d_substructure_element_reference, analysis_item_within_representation); END_TYPE; -- surface_3d_element_output_reference TYPE surface_3d_face = INTEGER; WHERE wr1: ((SELF >= 1) AND (SELF <= 2)); END_TYPE; -- surface_3d_face TYPE surface_3d_state_coordinate_system = SELECT (fea_axis2_placement_3d, surface_3d_element_coordinate_system); END_TYPE; -- surface_3d_state_coordinate_system TYPE surface_element_purpose = SELECT (enumerated_surface_element_purpose, application_defined_element_purpose); END_TYPE; -- surface_element_purpose TYPE surface_element_variable = SELECT (volume_variable, surface_scalar_variable, surface_vector_2d_variable, surface_vector_3d_variable, surface_tensor2_2d_variable, application_defined_tensor2_2d_variable); END_TYPE; -- surface_element_variable TYPE surface_matrix_property_type = SELECT (enumerated_surface_matrix_property_type, application_defined_matrix_property_type); END_TYPE; -- surface_matrix_property_type TYPE surface_model = SELECT (shell_based_surface_model); END_TYPE; -- surface_model TYPE surface_scalar_variable = ENUMERATION OF (thickness, surface_thermal_gradient, reference_surface_thermal_gradient); END_TYPE; -- surface_scalar_variable TYPE surface_section_integration = SELECT (element_integration_algebraic, surface_section_integration_rule, surface_section_integration_explicit); END_TYPE; -- surface_section_integration TYPE surface_tensor2_2d_variable = ENUMERATION OF (surface_membrane_force, surface_membrane_strain, surface_bending_moment, surface_curvature); END_TYPE; -- surface_tensor2_2d_variable TYPE surface_vector_2d_variable = ENUMERATION OF (surface_out_of_plane_shear_force, surface_out_of_plane_shear_strain); END_TYPE; -- surface_vector_2d_variable TYPE surface_vector_3d_variable = ENUMERATION OF (applied_force_per_unit_area, applied_moment_per_unit_area); END_TYPE; -- surface_vector_3d_variable TYPE symmetric_tensor2_2d = SELECT (anisotropic_symmetric_tensor2_2d); END_TYPE; -- symmetric_tensor2_2d TYPE symmetric_tensor2_3d = SELECT (isotropic_symmetric_tensor2_3d, orthotropic_symmetric_tensor2_3d, anisotropic_symmetric_tensor2_3d); END_TYPE; -- symmetric_tensor2_3d TYPE symmetric_tensor4_2d = SELECT (anisotropic_symmetric_tensor4_2d); END_TYPE; -- symmetric_tensor4_2d TYPE symmetric_tensor4_3d = SELECT (anisotropic_symmetric_tensor4_3d, fea_isotropic_symmetric_tensor4_3d, fea_iso_orthotropic_symmetric_tensor4_3d, fea_transverse_isotropic_symmetric_tensor4_3d, fea_column_normalised_orthotropic_symmetric_tensor4_3d, fea_column_normalised_monoclinic_symmetric_tensor4_3d); END_TYPE; -- symmetric_tensor4_3d TYPE tensor1 = SELECT (tensor1_2d, tensor1_3d); END_TYPE; -- tensor1 TYPE tensor1_2d = ARRAY [1:2] OF context_dependent_measure; END_TYPE; -- tensor1_2d TYPE tensor1_3d = ARRAY [1:3] OF context_dependent_measure; END_TYPE; -- tensor1_3d TYPE tensor_type = SELECT (scalar, angular_value, tensor1_2d, tensor1_3d, anisotropic_symmetric_tensor2_2d, isotropic_symmetric_tensor2_3d, orthotropic_symmetric_tensor2_3d, anisotropic_symmetric_tensor2_3d, anisotropic_symmetric_tensor4_2d, anisotropic_symmetric_tensor4_3d, fea_isotropic_symmetric_tensor4_3d, fea_iso_orthotropic_symmetric_tensor4_3d, fea_transverse_isotropic_symmetric_tensor4_3d, fea_column_normalised_orthotropic_symmetric_tensor4_3d, fea_column_normalised_monoclinic_symmetric_tensor4_3d); END_TYPE; -- tensor_type TYPE text = STRING; END_TYPE; -- text TYPE thermodynamic_temperature_measure = REAL; END_TYPE; -- thermodynamic_temperature_measure TYPE time_measure = REAL; END_TYPE; -- time_measure TYPE transformation = SELECT (item_defined_transformation, functionally_defined_transformation); END_TYPE; -- transformation TYPE transition_code = ENUMERATION OF (discontinuous, continuous, cont_same_gradient, cont_same_gradient_same_curvature); END_TYPE; -- transition_code TYPE trimming_preference = ENUMERATION OF (cartesian, parameter, unspecified); END_TYPE; -- trimming_preference TYPE trimming_select = SELECT (cartesian_point, parameter_value); END_TYPE; -- trimming_select TYPE unit = SELECT (named_unit, derived_unit); END_TYPE; -- unit TYPE unspecified_value = ENUMERATION OF (unspecified); END_TYPE; -- unspecified_value TYPE value_qualifier = SELECT (precision_qualifier, type_qualifier, uncertainty_qualifier); END_TYPE; -- value_qualifier TYPE vector_or_direction = SELECT (vector, direction); END_TYPE; -- vector_or_direction TYPE volume_2d_edge = INTEGER; WHERE wr1: ((SELF >= 1) AND (SELF <= 4)); END_TYPE; -- volume_2d_edge TYPE volume_2d_element_coordinate_system = SELECT (arbitrary_volume_2d_element_coordinate_system, parametric_volume_2d_element_coordinate_system); END_TYPE; -- volume_2d_element_coordinate_system TYPE volume_2d_element_descriptor = SELECT (axisymmetric_volume_2d_element_descriptor, plane_volume_2d_element_descriptor); END_TYPE; -- volume_2d_element_descriptor TYPE volume_2d_element_field_integration = SELECT (element_integration_algebraic, volume_2d_element_field_integration_rule, volume_2d_element_field_integration_explicit); END_TYPE; -- volume_2d_element_field_integration TYPE volume_2d_element_output_reference = SELECT (volume_2d_element_representation, volume_2d_element_descriptor, volume_2d_element_group, volume_2d_substructure_element_reference, analysis_item_within_representation); END_TYPE; -- volume_2d_element_output_reference TYPE volume_2d_element_representation = SELECT (axisymmetric_volume_2d_element_representation, plane_volume_2d_element_representation); END_TYPE; -- volume_2d_element_representation TYPE volume_2d_face = INTEGER; WHERE wr1: ((SELF >= 1) AND (SELF <= 4)); END_TYPE; -- volume_2d_face TYPE volume_3d_edge = INTEGER; WHERE wr1: ((SELF >= 1) AND (SELF <= 12)); END_TYPE; -- volume_3d_edge TYPE volume_3d_element_coordinate_system = SELECT (arbitrary_volume_3d_element_coordinate_system, parametric_volume_3d_element_coordinate_system); END_TYPE; -- volume_3d_element_coordinate_system TYPE volume_3d_element_field_integration = SELECT (element_integration_algebraic, volume_3d_element_field_integration_rule, volume_3d_element_field_integration_explicit); END_TYPE; -- volume_3d_element_field_integration TYPE volume_3d_element_output_reference = SELECT (volume_3d_element_representation, volume_3d_element_descriptor, volume_3d_element_group, volume_3d_substructure_element_reference, analysis_item_within_representation); END_TYPE; -- volume_3d_element_output_reference TYPE volume_3d_element_shape = ENUMERATION OF (hexahedron, wedge, tetrahedron, pyramid); END_TYPE; -- volume_3d_element_shape TYPE volume_3d_face = INTEGER; WHERE wr1: ((SELF >= 1) AND (SELF <= 6)); END_TYPE; -- volume_3d_face TYPE volume_aggregated_variable = SELECT (aggregated_scalar_variable, aggregated_angular_variable, aggregated_vector_3d_variable, aggregated_tensor2_3d_variable, application_defined_scalar_variable, application_defined_vector_3d_variable, application_defined_tensor2_3d_variable); END_TYPE; -- volume_aggregated_variable TYPE volume_angular_variable = ENUMERATION OF (constant_angular_acceleration, application_defined_angular_scalar_variable); END_TYPE; -- volume_angular_variable TYPE volume_element_purpose = SELECT (enumerated_volume_element_purpose, application_defined_element_purpose); END_TYPE; -- volume_element_purpose TYPE volume_measure = REAL; END_TYPE; -- volume_measure TYPE volume_scalar_variable = ENUMERATION OF (temperature, moisture, reference_temperature, strain_energy_per_unit_volume); END_TYPE; -- volume_scalar_variable TYPE volume_tensor2_3d_variable = ENUMERATION OF (total_strain, stress); END_TYPE; -- volume_tensor2_3d_variable TYPE volume_variable = SELECT (volume_scalar_variable, volume_angular_variable, volume_vector_3d_variable, volume_tensor2_3d_variable, application_defined_scalar_variable, application_defined_vector_3d_variable, application_defined_tensor2_3d_variable); END_TYPE; -- volume_variable TYPE volume_vector_3d_variable = ENUMERATION OF (position, applied_force_per_unit_volume, applied_moment_per_unit_volume, displacement, infinitesimal_rotation, acceleration); END_TYPE; -- volume_vector_3d_variable TYPE week_in_year_number = INTEGER; WHERE wr1: ((1 <= SELF) AND (SELF <= 53)); END_TYPE; -- week_in_year_number TYPE wireframe_model = SELECT (shell_based_wireframe_model, edge_based_wireframe_model); END_TYPE; -- wireframe_model TYPE year_number = INTEGER; END_TYPE; -- year_number ENTITY action; name : label; description : text; chosen_method : action_method; END_ENTITY; -- action ENTITY action_assignment ABSTRACT SUPERTYPE; assigned_action : action; END_ENTITY; -- action_assignment ENTITY action_directive; name : label; description : text; analysis : text; comment : text; requests : SET [1:?] OF versioned_action_request; END_ENTITY; -- action_directive ENTITY action_method; name : label; description : text; consequence : text; purpose : text; END_ENTITY; -- action_method ENTITY action_request_assignment ABSTRACT SUPERTYPE; assigned_action_request : versioned_action_request; END_ENTITY; -- action_request_assignment ENTITY action_request_solution; method : action_method; request : versioned_action_request; END_ENTITY; -- action_request_solution ENTITY action_request_status; status : label; assigned_request : versioned_action_request; END_ENTITY; -- action_request_status ENTITY action_status; status : label; assigned_action : executed_action; END_ENTITY; -- action_status 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; 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; -- address ENTITY advanced_brep_shape_representation SUBTYPE OF (shape_representation); WHERE wr1: (SIZEOF(QUERY ( it <* SELF.items | (NOT (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.MANIFOLD_SOLID_BREP', 'STRUCTURAL_ANALYSIS_DESIGN.FACETED_BREP', 'STRUCTURAL_ANALYSIS_DESIGN.MAPPED_ITEM', 'STRUCTURAL_ANALYSIS_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1)) )) = 0); wr2: (SIZEOF(QUERY ( it <* SELF.items | (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.MANIFOLD_SOLID_BREP', 'STRUCTURAL_ANALYSIS_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1) )) > 0); wr3: (SIZEOF(QUERY ( msb <* QUERY ( it <* SELF.items | ( 'STRUCTURAL_ANALYSIS_DESIGN.MANIFOLD_SOLID_BREP' IN TYPEOF( it)) ) | (NOT (SIZEOF(QUERY ( csh <* msb_shells(msb) | (NOT (SIZEOF(QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ('STRUCTURAL_ANALYSIS_DESIGN.ADVANCED_FACE' IN TYPEOF( fcs))) )) = 0)) )) = 0)) )) = 0); wr4: (SIZEOF(QUERY ( msb <* QUERY ( it <* items | ( 'STRUCTURAL_ANALYSIS_DESIGN.MANIFOLD_SOLID_BREP' IN TYPEOF( it)) ) | ('STRUCTURAL_ANALYSIS_DESIGN.ORIENTED_CLOSED_SHELL' IN TYPEOF(msb\manifold_solid_brep.outer)) )) = 0); wr5: (SIZEOF(QUERY ( brv <* QUERY ( it <* items | ( 'STRUCTURAL_ANALYSIS_DESIGN.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 | ( 'STRUCTURAL_ANALYSIS_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) ) | (NOT ('STRUCTURAL_ANALYSIS_DESIGN.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF(mi\mapped_item.mapping_source. mapped_representation))) )) = 0); END_ENTITY; -- advanced_brep_shape_representation ENTITY advanced_face SUBTYPE OF (face_surface); WHERE wr1 : (SIZEOF(['STRUCTURAL_ANALYSIS_DESIGN.ELEMENTARY_SURFACE', 'STRUCTURAL_ANALYSIS_DESIGN.B_SPLINE_SURFACE', 'STRUCTURAL_ANALYSIS_DESIGN.SWEPT_SURFACE'] * TYPEOF( face_geometry)) = 1); wr2 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path. edge_list | (NOT ('STRUCTURAL_ANALYSIS_DESIGN.EDGE_CURVE' IN TYPEOF(oe\oriented_edge.edge_element))) )) = 0)) )) = 0); wr3 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path. edge_list | (NOT (SIZEOF(['STRUCTURAL_ANALYSIS_DESIGN.LINE', 'STRUCTURAL_ANALYSIS_DESIGN.CONIC', 'STRUCTURAL_ANALYSIS_DESIGN.POLYLINE', 'STRUCTURAL_ANALYSIS_DESIGN.SURFACE_CURVE', 'STRUCTURAL_ANALYSIS_DESIGN.B_SPLINE_CURVE'] * TYPEOF(oe. edge_element\edge_curve.edge_geometry)) = 1)) )) = 0)) )) = 0); wr4 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path. edge_list | (NOT (( 'STRUCTURAL_ANALYSIS_DESIGN.VERTEX_POINT' IN TYPEOF(oe\edge .edge_start)) AND ( 'STRUCTURAL_ANALYSIS_DESIGN.CARTESIAN_POINT' IN TYPEOF(oe\ edge.edge_start\vertex_point.vertex_geometry)) AND ( 'STRUCTURAL_ANALYSIS_DESIGN.VERTEX_POINT' IN TYPEOF(oe\edge .edge_end)) AND ( 'STRUCTURAL_ANALYSIS_DESIGN.CARTESIAN_POINT' IN TYPEOF(oe\ edge.edge_end\vertex_point.vertex_geometry)))) )) = 0)) )) = 0); wr5 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) | ('STRUCTURAL_ANALYSIS_DESIGN.ORIENTED_PATH' IN TYPEOF( elp_fbnds.bound)) )) = 0); wr6 : ((NOT ('STRUCTURAL_ANALYSIS_DESIGN.SWEPT_SURFACE' IN TYPEOF( face_geometry))) OR (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.LINE', 'STRUCTURAL_ANALYSIS_DESIGN.CONIC', 'STRUCTURAL_ANALYSIS_DESIGN.POLYLINE', 'STRUCTURAL_ANALYSIS_DESIGN.B_SPLINE_CURVE'] * TYPEOF( face_geometry\swept_surface.swept_curve)) = 1)); wr7 : (SIZEOF(QUERY ( vlp_fbnds <* QUERY ( bnds <* bounds | ( 'STRUCTURAL_ANALYSIS_DESIGN.VERTEX_LOOP' IN TYPEOF(bnds. bound)) ) | (NOT (( 'STRUCTURAL_ANALYSIS_DESIGN.VERTEX_POINT' IN TYPEOF( vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ( 'STRUCTURAL_ANALYSIS_DESIGN.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([ 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_LOOP', 'STRUCTURAL_ANALYSIS_DESIGN.VERTEX_LOOP'] * TYPEOF(bnd. bound)) = 1)) )) = 0); wr9 : (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_LOOP' IN TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path. edge_list | (('STRUCTURAL_ANALYSIS_DESIGN.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 ( 'STRUCTURAL_ANALYSIS_DESIGN.PCURVE' IN TYPEOF(sc_ag))) )) = 0))) )) = 0)) )) = 0); wr10: (((NOT ('STRUCTURAL_ANALYSIS_DESIGN.SWEPT_SURFACE' IN TYPEOF( face_geometry))) OR (NOT ( 'STRUCTURAL_ANALYSIS_DESIGN.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 | ('STRUCTURAL_ANALYSIS_DESIGN.EDGE_LOOP' IN TYPEOF( bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound \path.edge_list | (('STRUCTURAL_ANALYSIS_DESIGN.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; -- advanced_face ENTITY aligned_axis_tolerance; model_ref : fea_model; tolerance : context_dependent_measure; END_ENTITY; -- aligned_axis_tolerance ENTITY aligned_curve_3d_element_coordinate_system SUBTYPE OF (fea_representation_item); coordinate_system : fea_axis2_placement_3d; END_ENTITY; -- aligned_curve_3d_element_coordinate_system ENTITY aligned_surface_2d_element_coordinate_system SUBTYPE OF (fea_representation_item); orientation : direction; WHERE wr1: (SELF\geometric_representation_item.dim = 2); END_ENTITY; -- aligned_surface_2d_element_coordinate_system ENTITY aligned_surface_3d_element_coordinate_system SUBTYPE OF (fea_representation_item); coordinate_system : fea_axis2_placement_3d; END_ENTITY; -- aligned_surface_3d_element_coordinate_system ENTITY alternate_product_relationship; name : label; definition : text; alternate : product; base : product; basis : text; UNIQUE ur1 : alternate, base; WHERE wr1: (alternate :<>: base); END_ENTITY; -- alternate_product_relationship ENTITY amount_of_substance_measure_with_unit SUBTYPE OF (measure_with_unit); WHERE wr1: ('STRUCTURAL_ANALYSIS_DESIGN.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component)); END_ENTITY; -- amount_of_substance_measure_with_unit ENTITY amount_of_substance_unit SUBTYPE OF (named_unit); WHERE wr1: ((SELF\named_unit.dimensions.length_exponent = 0) AND (SELF\ named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND ( SELF\named_unit.dimensions. thermodynamic_temperature_exponent = 0) AND (SELF\named_unit .dimensions.amount_of_substance_exponent = 1) AND (SELF\ named_unit.dimensions.luminous_intensity_exponent = 0)); END_ENTITY; -- amount_of_substance_unit ENTITY analysis_item_within_representation; name : label; description : text; item : representation_item; rep : representation; WHERE wr1: (SIZEOF(QUERY ( tmp <* using_representations(item) | (tmp :=: rep) )) = 1); END_ENTITY; -- analysis_item_within_representation ENTITY analysis_message SUPERTYPE OF (ONEOF (whole_model_analysis_message, element_analysis_message,node_analysis_message, element_group_analysis_message)) SUBTYPE OF (state_definition); level : message_level; message_text : text; END_ENTITY; -- analysis_message ENTITY analysis_step SUPERTYPE OF (ONEOF (control_analysis_step,result_analysis_step)); analysis_control : control; END_ENTITY; -- analysis_step ENTITY application_context; application : text; INVERSE context_elements : SET [1:?] OF application_context_element FOR frame_of_reference; END_ENTITY; -- application_context ENTITY application_context_element SUPERTYPE OF (ONEOF (product_context,product_definition_context, product_concept_context)); name : label; frame_of_reference : application_context; END_ENTITY; -- application_context_element ENTITY application_protocol_definition; status : label; application_interpreted_model_schema_name : label; application_protocol_year : year_number; application : application_context; END_ENTITY; -- application_protocol_definition ENTITY applied_action_assignment SUBTYPE OF (action_assignment); items : SET [1:?] OF action_item; END_ENTITY; -- applied_action_assignment ENTITY applied_action_request_assignment SUBTYPE OF (action_request_assignment); items : SET [1:?] OF action_request_item; END_ENTITY; -- applied_action_request_assignment ENTITY applied_approval_assignment SUBTYPE OF (approval_assignment); items : SET [1:?] OF approval_item; END_ENTITY; -- applied_approval_assignment ENTITY applied_certification_assignment SUBTYPE OF (certification_assignment); items : SET [1:?] OF certification_item; END_ENTITY; -- applied_certification_assignment ENTITY applied_contract_assignment SUBTYPE OF (contract_assignment); items : SET [1:?] OF contract_item; END_ENTITY; -- applied_contract_assignment ENTITY applied_date_and_time_assignment SUBTYPE OF (date_and_time_assignment); items : SET [1:?] OF date_time_item; WHERE wr1: applied_date_time_correlation(SELF); END_ENTITY; -- applied_date_and_time_assignment ENTITY applied_date_assignment SUBTYPE OF (date_assignment); items : SET [1:?] OF date_item; WHERE wr1: applied_date_correlation(SELF); END_ENTITY; -- applied_date_assignment ENTITY applied_document_reference SUBTYPE OF (document_reference); items : SET [1:?] OF document_reference_item; END_ENTITY; -- applied_document_reference ENTITY applied_name_assignment SUBTYPE OF (name_assignment); items : SET [1:?] OF name_item; END_ENTITY; -- applied_name_assignment ENTITY applied_organization_assignment SUBTYPE OF (organization_assignment); items : SET [1:?] OF organization_item; WHERE wr1: applied_organization_correlation(SELF); END_ENTITY; -- applied_organization_assignment ENTITY applied_person_and_organization_assignment SUBTYPE OF (person_and_organization_assignment); items : SET [1:?] OF person_organization_item; WHERE wr1: applied_person_and_organization_correlation(SELF); END_ENTITY; -- applied_person_and_organization_assignment ENTITY applied_security_classification_assignment SUBTYPE OF (security_classification_assignment); items : SET [1:?] OF security_classification_item; END_ENTITY; -- applied_security_classification_assignment ENTITY approval; status : approval_status; level : label; END_ENTITY; -- approval ENTITY approval_assignment ABSTRACT SUPERTYPE; assigned_approval : approval; END_ENTITY; -- approval_assignment ENTITY approval_date_time; date_time : date_time_select; dated_approval : approval; END_ENTITY; -- approval_date_time ENTITY approval_person_organization; person_organization : person_organization_select; authorized_approval : approval; role : approval_role; END_ENTITY; -- approval_person_organization ENTITY approval_relationship; name : label; description : text; relating_approval : approval; related_approval : approval; END_ENTITY; -- approval_relationship ENTITY approval_role; role : label; END_ENTITY; -- approval_role ENTITY approval_status; name : label; END_ENTITY; -- approval_status ENTITY arbitrary_volume_2d_element_coordinate_system SUBTYPE OF (fea_representation_item); orientation : direction; WHERE wr1: (SELF\geometric_representation_item.dim = 2); END_ENTITY; -- arbitrary_volume_2d_element_coordinate_system ENTITY arbitrary_volume_3d_element_coordinate_system SUBTYPE OF (fea_representation_item); coordinate_system : fea_axis2_placement_3d; END_ENTITY; -- arbitrary_volume_3d_element_coordinate_system ENTITY area_measure_with_unit SUBTYPE OF (measure_with_unit); WHERE wr1: ('STRUCTURAL_ANALYSIS_DESIGN.AREA_UNIT' IN TYPEOF(SELF\ measure_with_unit.unit_component)); END_ENTITY; -- area_measure_with_unit ENTITY area_unit SUBTYPE OF (named_unit); WHERE wr1: ((SELF\named_unit.dimensions.length_exponent = 2) AND (SELF\ named_unit.dimensions.mass_exponent = 0) AND (SELF\ named_unit.dimensions.time_exponent = 0) AND (SELF\ named_unit.dimensions.electric_current_exponent = 0) AND ( SELF\named_unit.dimensions. thermodynamic_temperature_exponent = 0) AND (SELF\named_unit .dimensions.amount_of_substance_exponent = 0) AND (SELF\ named_unit.dimensions.luminous_intensity_exponent = 0)); END_ENTITY; -- area_unit 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; -- assembly_component_usage ENTITY assembly_component_usage_substitute; name : label; definition : 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; -- assembly_component_usage_substitute ENTITY axis1_placement SUBTYPE OF (placement); axis : OPTIONAL direction; DERIVE z : direction := NVL(normalise(axis),dummy_gri || direction([0,0,1])); WHERE wr1: (SELF\geometric_representation_item.dim = 3); END_ENTITY; -- axis1_placement 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; -- axis2_placement_2d 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)); END_ENTITY; -- axis2_placement_3d ENTITY axisymmetric_2d_element_property; angle : plane_angle_measure; END_ENTITY; -- axisymmetric_2d_element_property ENTITY axisymmetric_curve_2d_element_descriptor SUBTYPE OF (element_descriptor); purpose : SET [1:?] OF SET [1:?] OF curve_element_purpose; END_ENTITY; -- axisymmetric_curve_2d_element_descriptor ENTITY axisymmetric_curve_2d_element_representation SUBTYPE OF (element_representation); model_ref : fea_model_2d; element_descriptor : axisymmetric_curve_2d_element_descriptor; property : curve_2d_element_property; angle_property : axisymmetric_2d_element_property; material : element_material; UNIQUE ur1 : model_ref, name; WHERE wr1: (model_ref.type_of_2d_analysis = axisymmetric); wr2: (SIZEOF(QUERY ( item <* SELF\representation.items | (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'CURVE_2D_ELEMENT_COORDINATE_SYSTEM') IN TYPEOF(item)) )) = 1); wr3: (SIZEOF(QUERY ( item1 <* material.properties | (SIZEOF( QUERY ( item2 <* item1\property_definition_representation. used_representation.items | (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_LINEAR_ELASTICITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_MASS_DENSITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_AREA_DENSITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF(item2)) = 1) )) = 1) )) >= 1); wr4: ('STRUCTURAL_ANALYSIS_DESIGN.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF\representation.context_of_items)); fu1: required_0d_nodes(SELF\element_representation.node_list); END_ENTITY; -- axisymmetric_curve_2d_element_representation ENTITY axisymmetric_surface_2d_element_descriptor SUBTYPE OF (element_descriptor); purpose : SET [1:?] OF SET [1:?] OF surface_element_purpose; END_ENTITY; -- axisymmetric_surface_2d_element_descriptor ENTITY axisymmetric_surface_2d_element_representation SUBTYPE OF (element_representation); model_ref : fea_model_2d; element_descriptor : axisymmetric_surface_2d_element_descriptor; property : surface_element_property; angle_property : axisymmetric_2d_element_property; material : element_material; UNIQUE ur1 : model_ref, name; WHERE wr1: (model_ref.type_of_2d_analysis = axisymmetric); wr2: ((SIZEOF(QUERY ( item <* SELF\representation.items | (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'PARAMETRIC_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM') IN TYPEOF(item)) )) + SIZEOF(QUERY ( item <* SELF\ representation.items | (('STRUCTURAL_ANALYSIS_DESIGN.' + 'ALIGNED_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM') IN TYPEOF( item)) ))) = 1); wr3: (SIZEOF(QUERY ( item1 <* material.properties | (SIZEOF( QUERY ( item2 <* item1\property_definition_representation. used_representation.items | (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_LINEAR_ELASTICITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_MASS_DENSITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_AREA_DENSITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_MOISTURE_ABSORPTION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_SHELL_MEMBRANE_STIFFNESS','STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_SHELL_BENDING_STIFFNESS', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF(item2)) = 1) )) = 1) )) >= 1); wr4: ('STRUCTURAL_ANALYSIS_DESIGN.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF\representation.context_of_items)); fu1: required_1d_nodes(SELF\element_representation.node_list, element_descriptor\element_descriptor.topology_order); END_ENTITY; -- axisymmetric_surface_2d_element_representation ENTITY axisymmetric_volume_2d_element_descriptor SUBTYPE OF (element_descriptor); purpose : SET [1:?] OF SET [1:?] OF volume_element_purpose; shape : element_2d_shape; END_ENTITY; -- axisymmetric_volume_2d_element_descriptor ENTITY axisymmetric_volume_2d_element_representation SUBTYPE OF (element_representation); model_ref : fea_model_2d; element_descriptor : axisymmetric_volume_2d_element_descriptor; angle_property : axisymmetric_2d_element_property; material : element_material; UNIQUE ur1 : model_ref, name; WHERE wr1: (model_ref.type_of_2d_analysis = axisymmetric); wr2: ((SIZEOF(QUERY ( item <* SELF\representation.items | (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'PARAMETRIC_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM') IN TYPEOF( item)) )) + SIZEOF(QUERY ( item <* SELF\representation.items | (('STRUCTURAL_ANALYSIS_DESIGN.' + 'ARBITRARY_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM') IN TYPEOF( item)) ))) = 1); wr3: (SIZEOF(QUERY ( item1 <* material.properties | (SIZEOF( QUERY ( item2 <* item1\property_definition_representation. used_representation.items | (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_LINEAR_ELASTICITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_MASS_DENSITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_AREA_DENSITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF(item2)) = 1) )) = 1) )) >= 1); wr4: ('STRUCTURAL_ANALYSIS_DESIGN.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF\representation.context_of_items)); fu1: required_2d_nodes(SELF\element_representation.node_list, element_descriptor.shape,element_descriptor\ element_descriptor.topology_order); END_ENTITY; -- axisymmetric_volume_2d_element_representation 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: (('STRUCTURAL_ANALYSIS_DESIGN.UNIFORM_CURVE' IN TYPEOF(SELF)) OR ('STRUCTURAL_ANALYSIS_DESIGN.QUASI_UNIFORM_CURVE' IN TYPEOF(SELF)) OR ('STRUCTURAL_ANALYSIS_DESIGN.BEZIER_CURVE' IN TYPEOF(SELF)) OR ( 'STRUCTURAL_ANALYSIS_DESIGN.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(SELF))); END_ENTITY; -- b_spline_curve 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; -- b_spline_curve_with_knots 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: (('STRUCTURAL_ANALYSIS_DESIGN.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('STRUCTURAL_ANALYSIS_DESIGN.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ( 'STRUCTURAL_ANALYSIS_DESIGN.BEZIER_SURFACE' IN TYPEOF(SELF)) OR ('STRUCTURAL_ANALYSIS_DESIGN.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF))); END_ENTITY; -- b_spline_surface 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; -- b_spline_surface_with_knots ENTITY beveled_sheet_representation SUBTYPE OF (shape_representation); END_ENTITY; -- beveled_sheet_representation ENTITY bezier_curve SUBTYPE OF (b_spline_curve); END_ENTITY; -- bezier_curve ENTITY bezier_surface SUBTYPE OF (b_spline_surface); END_ENTITY; -- bezier_surface ENTITY binary_generic_expression ABSTRACT SUPERTYPE SUBTYPE OF (generic_expression); operands : LIST [2:2] OF generic_expression; END_ENTITY; -- binary_generic_expression ENTITY binary_numeric_expression ABSTRACT SUPERTYPE OF (ONEOF (minus_expression,div_expression)) SUBTYPE OF (numeric_expression, binary_generic_expression); SELF\binary_generic_expression.operands : LIST [2:2] OF numeric_expression; END_ENTITY; -- binary_numeric_expression ENTITY boolean_expression ABSTRACT SUPERTYPE OF (ONEOF (multiple_arity_boolean_expression, comparison_expression,interval_expression)) SUBTYPE OF (expression); END_ENTITY; -- boolean_expression ENTITY boundary_curve SUBTYPE OF (composite_curve_on_surface); WHERE wr1: SELF\composite_curve.closed_curve; END_ENTITY; -- boundary_curve ENTITY bounded_curve SUPERTYPE OF (ONEOF (polyline,b_spline_curve,trimmed_curve, bounded_pcurve,bounded_surface_curve,composite_curve)) SUBTYPE OF (curve); END_ENTITY; -- bounded_curve ENTITY bounded_pcurve SUBTYPE OF (pcurve, bounded_curve); WHERE wr1: ('STRUCTURAL_ANALYSIS_DESIGN.BOUNDED_CURVE' IN TYPEOF(SELF\ pcurve.reference_to_curve.items[1])); END_ENTITY; -- bounded_pcurve ENTITY bounded_surface SUPERTYPE OF (ONEOF (b_spline_surface,rectangular_trimmed_surface, curve_bounded_surface,rectangular_composite_surface)) SUBTYPE OF (surface); END_ENTITY; -- bounded_surface ENTITY bounded_surface_curve SUBTYPE OF (surface_curve, bounded_curve); WHERE wr1: ('STRUCTURAL_ANALYSIS_DESIGN.BOUNDED_CURVE' IN TYPEOF(SELF\ surface_curve.curve_3d)); END_ENTITY; -- bounded_surface_curve ENTITY brep_with_voids SUBTYPE OF (manifold_solid_brep); voids : SET [1:?] OF oriented_closed_shell; END_ENTITY; -- brep_with_voids ENTITY calculated_state SUBTYPE OF (state); END_ENTITY; -- calculated_state 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; -- calendar_date ENTITY cartesian_point SUPERTYPE OF (ONEOF (cylindrical_point,spherical_point)) SUBTYPE OF (point); coordinates : LIST [1:3] OF length_measure; END_ENTITY; -- cartesian_point 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); WHERE wr1: (scl > 0); END_ENTITY; -- cartesian_transformation_operator 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; -- cartesian_transformation_operator_2d 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; -- cartesian_transformation_operator_3d ENTITY certification; name : label; purpose : text; kind : certification_type; END_ENTITY; -- certification ENTITY certification_assignment ABSTRACT SUPERTYPE; assigned_certification : certification; END_ENTITY; -- certification_assignment ENTITY certification_type; description : label; END_ENTITY; -- certification_type ENTITY characterized_object; name : label; description : text; END_ENTITY; -- characterized_object ENTITY circle SUBTYPE OF (conic); radius : positive_length_measure; END_ENTITY; -- circle ENTITY closed_shell SUBTYPE OF (connected_face_set); END_ENTITY; -- closed_shell ENTITY comparison_equal SUBTYPE OF (comparison_expression); END_ENTITY; -- comparison_equal ENTITY comparison_expression ABSTRACT SUPERTYPE OF (comparison_equal) SUBTYPE OF (boolean_expression, binary_generic_expression); SELF\binary_generic_expression.operands : LIST [2:2] OF expression; WHERE wr1: ((('STRUCTURAL_ANALYSIS_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[1])) AND ( 'STRUCTURAL_ANALYSIS_DESIGN.NUMERIC_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[2]))) OR (( 'STRUCTURAL_ANALYSIS_DESIGN.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[1])) AND ( 'STRUCTURAL_ANALYSIS_DESIGN.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[2]))) OR (( 'STRUCTURAL_ANALYSIS_DESIGN.STRING_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[1])) AND ( 'STRUCTURAL_ANALYSIS_DESIGN.STRING_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[2])))); END_ENTITY; -- comparison_expression ENTITY composite_assembly_definition SUBTYPE OF (product_definition); WHERE wr1: (SIZEOF(QUERY ( pdr <* USEDIN(SELF, 'STRUCTURAL_ANALYSIS_DESIGN.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION') | (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'NEXT_ASSEMBLY_USAGE_OCCURRENCE') IN TYPEOF(pdr)) )) = 1); END_ENTITY; -- composite_assembly_definition ENTITY composite_assembly_sequence_definition SUBTYPE OF (product_definition); WHERE wr1: (SIZEOF(QUERY ( pdr <* USEDIN(SELF, 'STRUCTURAL_ANALYSIS_DESIGN.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION') | (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'NEXT_ASSEMBLY_USAGE_OCCURRENCE') IN TYPEOF(pdr)) )) > 0); END_ENTITY; -- composite_assembly_sequence_definition 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; -- composite_curve 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; -- composite_curve_on_surface 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: ('STRUCTURAL_ANALYSIS_DESIGN.BOUNDED_CURVE' IN TYPEOF( parent_curve)); END_ENTITY; -- composite_curve_segment ENTITY composite_sheet_representation SUBTYPE OF (shape_representation); WHERE wr1: (SIZEOF(['STRUCTURAL_ANALYSIS_DESIGN.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF(SELF)) = 1); END_ENTITY; -- composite_sheet_representation ENTITY configuration_design; configuration : configuration_item; design : product_definition_formation; UNIQUE ur1 : configuration, design; END_ENTITY; -- configuration_design ENTITY configuration_effectivity SUBTYPE OF (product_definition_effectivity); configuration : configuration_design; UNIQUE ur1 : configuration, usage, id; WHERE wr1: ('STRUCTURAL_ANALYSIS_DESIGN.PRODUCT_DEFINITION_USAGE' IN TYPEOF(SELF\product_definition_effectivity.usage)); END_ENTITY; -- configuration_effectivity ENTITY configuration_item; id : identifier; name : label; description : OPTIONAL text; item_concept : product_concept; purpose : OPTIONAL label; UNIQUE ur1 : id; END_ENTITY; -- configuration_item ENTITY conic SUPERTYPE OF (ONEOF (circle,ellipse,hyperbola,parabola)) SUBTYPE OF (curve); position : axis2_placement; END_ENTITY; -- conic ENTITY conical_surface SUBTYPE OF (elementary_surface); radius : length_measure; semi_angle : plane_angle_measure; WHERE wr1: (radius >= 0); END_ENTITY; -- conical_surface ENTITY connected_edge_set SUBTYPE OF (topological_representation_item); ces_edges : SET [1:?] OF edge; END_ENTITY; -- connected_edge_set ENTITY connected_face_set SUPERTYPE OF (ONEOF (closed_shell,open_shell)) SUBTYPE OF (topological_representation_item); cfs_faces : SET [1:?] OF face; END_ENTITY; -- connected_face_set ENTITY constant_surface_3d_element_coordinate_system SUBTYPE OF (fea_representation_item); axis : INTEGER; angle : plane_angle_measure; WHERE wr1: ((axis >= 1) AND (axis <= 2)); END_ENTITY; -- constant_surface_3d_element_coordinate_system ENTITY constraint_element SUPERTYPE OF (ONEOF (single_point_constraint_element, linear_constraint_equation_element,nodal_dof_reduction, point_constraint,curve_constraint,surface_constraint, solid_constraint)); element_id : identifier; steps : SET [1:?] OF control_analysis_step; END_ENTITY; -- constraint_element ENTITY context_dependent_shape_representation; representation_relation : shape_representation_relationship; represented_product_relation : product_definition_shape; WHERE wr1: ('STRUCTURAL_ANALYSIS_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF.represented_product_relation.definition)); END_ENTITY; -- context_dependent_shape_representation ENTITY context_dependent_unit SUBTYPE OF (named_unit); name : label; END_ENTITY; -- context_dependent_unit ENTITY contract; name : label; purpose : text; kind : contract_type; END_ENTITY; -- contract ENTITY contract_assignment ABSTRACT SUPERTYPE; assigned_contract : contract; END_ENTITY; -- contract_assignment ENTITY contract_type; description : label; END_ENTITY; -- contract_type ENTITY control; model_ref : fea_model; control_id : identifier; creating_software : text; description : text; user_defined_control : SET [1:?] OF text; intended_analysis_code : SET [1:?] OF text; UNIQUE ur1 : model_ref, control_id; END_ENTITY; -- control ENTITY control_analysis_step SUPERTYPE OF (ONEOF (control_linear_static_analysis_step, control_linear_modes_and_frequencies_analysis_step)) SUBTYPE OF (analysis_step); step_id : identifier; sequence : INTEGER; initial_state : state; description : text; UNIQUE ur1 : analysis_control, sequence; ur2 : analysis_control, step_id; END_ENTITY; -- control_analysis_step ENTITY control_linear_modes_and_frequencies_analysis_step SUBTYPE OF (control_analysis_step); process : control_linear_modes_and_frequencies_process; number_of_modes : count_measure; frequency_range : ARRAY [1:2] OF context_dependent_measure; END_ENTITY; -- control_linear_modes_and_frequencies_analysis_step ENTITY control_linear_modes_and_frequencies_process SUBTYPE OF (control_process); final_input_state : state; END_ENTITY; -- control_linear_modes_and_frequencies_process ENTITY control_linear_static_analysis_step SUBTYPE OF (control_analysis_step); process : control_linear_static_load_increment_process; END_ENTITY; -- control_linear_static_analysis_step ENTITY control_linear_static_analysis_step_with_harmonic SUBTYPE OF (control_linear_static_analysis_step); symmetry : cylindrical_symmetry_control; END_ENTITY; -- control_linear_static_analysis_step_with_harmonic ENTITY control_linear_static_load_increment_process SUBTYPE OF (control_process); final_input_state : state; END_ENTITY; -- control_linear_static_load_increment_process ENTITY control_process SUPERTYPE OF (ONEOF (control_linear_static_load_increment_process, control_linear_modes_and_frequencies_process)); process_id : identifier; description : text; END_ENTITY; -- control_process ENTITY control_result_relationship; control : control_analysis_step; result : result_analysis_step; END_ENTITY; -- control_result_relationship ENTITY conversion_based_unit SUBTYPE OF (named_unit); name : label; conversion_factor : measure_with_unit; END_ENTITY; -- conversion_based_unit ENTITY coordinated_universal_time_offset; hour_offset : hour_in_day; minute_offset : OPTIONAL minute_in_hour; sense : ahead_or_behind; END_ENTITY; -- coordinated_universal_time_offset 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; -- curve ENTITY curve_2d_element_basis; descriptor : curve_2d_element_descriptor; variable : curve_element_variable; END_ENTITY; -- curve_2d_element_basis ENTITY curve_2d_element_constant_specified_variable_value SUBTYPE OF (curve_2d_element_field_variable_definition); simple_value : field_value; variable : surface_element_variable; coordinate_system : OPTIONAL curve_2d_element_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_2d_element_constant_specified_variable_value ENTITY curve_2d_element_constant_specified_volume_variable_value SUBTYPE OF (curve_2d_element_field_variable_definition); simple_value : field_value; variable : volume_variable; coordinate_system : OPTIONAL curve_2d_element_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_2d_element_constant_specified_volume_variable_value ENTITY curve_2d_element_coordinate_system SUBTYPE OF (fea_representation_item); orientation : direction; WHERE wr1: (SELF\geometric_representation_item.dim = 2); END_ENTITY; -- curve_2d_element_coordinate_system ENTITY curve_2d_element_field_variable_definition SUPERTYPE OF (ONEOF ( curve_2d_element_location_point_volume_variable_values, curve_2d_element_location_point_variable_values, curve_2d_whole_element_variable_value, curve_2d_element_constant_specified_variable_value, curve_2d_element_constant_specified_volume_variable_value)) SUBTYPE OF (field_variable_element_definition); element : curve_2d_element_output_reference; END_ENTITY; -- curve_2d_element_field_variable_definition ENTITY curve_2d_element_group SUBTYPE OF (element_group); WHERE wr1: (SIZEOF(QUERY ( item <* elements | ((NOT (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'AXISYMMETRIC_CURVE_2D_ELEMENT_REPRESENTATION') IN TYPEOF( item))) AND (NOT (('STRUCTURAL_ANALYSIS_DESIGN.' + 'PLANE_CURVE_2D_ELEMENT_REPRESENTATION') IN TYPEOF(item)))) )) = 0); END_ENTITY; -- curve_2d_element_group ENTITY curve_2d_element_integrated_matrix; descriptor : curve_2d_element_descriptor; property_type : curve_matrix_property_type; integration_description : text; END_ENTITY; -- curve_2d_element_integrated_matrix ENTITY curve_2d_element_integrated_matrix_with_definition SUBTYPE OF (curve_2d_element_integrated_matrix); integration_definition : curve_2d_element_integration; END_ENTITY; -- curve_2d_element_integrated_matrix_with_definition ENTITY curve_2d_element_integration; section : LIST [1:?] OF curve_section_element_location; END_ENTITY; -- curve_2d_element_integration ENTITY curve_2d_element_location_point_variable_values SUBTYPE OF (curve_2d_element_field_variable_definition); basis : BOOLEAN; values_and_locations : SET [1:?] OF curve_2d_element_value_and_location; variable : curve_element_variable; WHERE wr1: consistent_set_values(values_and_locations,variable); wr2: appropriate_set_value_existence(values_and_locations,TYPEOF( SELF\state_definition.defined_state)); END_ENTITY; -- curve_2d_element_location_point_variable_values ENTITY curve_2d_element_location_point_volume_variable_values SUBTYPE OF (curve_2d_element_field_variable_definition); basis : BOOLEAN; values_and_locations : SET [1:?] OF curve_2d_element_value_and_volume_location; variable : curve_element_variable; WHERE wr1: consistent_set_values(values_and_locations,variable); wr2: appropriate_set_value_existence(values_and_locations,TYPEOF( SELF\state_definition.defined_state)); END_ENTITY; -- curve_2d_element_location_point_volume_variable_values ENTITY curve_2d_element_property; property_id : identifier; description : text; section : curve_element_section_definition; END_ENTITY; -- curve_2d_element_property ENTITY curve_2d_element_value_and_location; simple_value : field_value; location : curve_section_element_location; coordinate_system : OPTIONAL curve_2d_state_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); END_ENTITY; -- curve_2d_element_value_and_location ENTITY curve_2d_element_value_and_volume_location; simple_value : field_value; location : curve_volume_element_location; coordinate_system : OPTIONAL curve_2d_state_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); END_ENTITY; -- curve_2d_element_value_and_volume_location ENTITY curve_2d_node_field_aggregated_variable_values SUBTYPE OF (curve_2d_node_field_variable_definition); simple_value : field_value; variable : volume_aggregated_variable; coordinate_system : OPTIONAL curve_2d_state_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_2d_node_field_aggregated_variable_values ENTITY curve_2d_node_field_section_variable_values SUBTYPE OF (curve_2d_node_field_variable_definition); simple_value : field_value; variable : curve_element_variable; location : curve_section_element_location; coordinate_system : OPTIONAL curve_2d_state_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_2d_node_field_section_variable_values ENTITY curve_2d_node_field_variable_definition SUPERTYPE OF (ONEOF (curve_2d_node_field_section_variable_values, curve_2d_node_field_aggregated_variable_values)) SUBTYPE OF (field_variable_node_definition); END_ENTITY; -- curve_2d_node_field_variable_definition ENTITY curve_2d_substructure_element_reference; substructure_element_ref : substructure_element_representation; element_ref : curve_2d_element_representation; END_ENTITY; -- curve_2d_substructure_element_reference ENTITY curve_2d_whole_element_variable_value SUBTYPE OF (curve_2d_element_field_variable_definition); simple_value : field_value; variable : volume_aggregated_variable; coordinate_system : OPTIONAL curve_2d_element_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_2d_whole_element_variable_value ENTITY curve_3d_element_basis; descriptor : curve_3d_element_descriptor; variable : curve_element_variable; variable_order : element_order; variable_shape_function : shape_function; evaluation_points : LIST [1:?] OF curve_element_location; END_ENTITY; -- curve_3d_element_basis ENTITY curve_3d_element_constant_specified_variable_value SUBTYPE OF (curve_3d_element_field_variable_definition); simple_value : field_value; variable : curve_element_variable; coordinate_system : OPTIONAL curve_3d_element_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_3d_element_constant_specified_variable_value ENTITY curve_3d_element_constant_specified_volume_variable_value SUBTYPE OF (curve_3d_element_field_variable_definition); simple_value : field_value; variable : volume_variable; coordinate_system : OPTIONAL curve_3d_element_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_3d_element_constant_specified_volume_variable_value ENTITY curve_3d_element_descriptor SUBTYPE OF (element_descriptor); purpose : SET [1:?] OF SET [1:?] OF curve_element_purpose; END_ENTITY; -- curve_3d_element_descriptor ENTITY curve_3d_element_field_variable_definition SUPERTYPE OF (ONEOF ( curve_3d_element_location_point_volume_variable_values, curve_3d_element_location_point_variable_values, curve_3d_whole_element_variable_value, curve_3d_element_constant_specified_variable_value, curve_3d_element_constant_specified_volume_variable_value, curve_3d_element_nodal_specified_variable_values)) SUBTYPE OF (field_variable_element_definition); element : curve_3d_element_output_reference; END_ENTITY; -- curve_3d_element_field_variable_definition ENTITY curve_3d_element_group SUBTYPE OF (element_group); WHERE wr1: (SIZEOF(QUERY ( item <* elements | (NOT (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'CURVE_3D_ELEMENT_REPRESENTATION') IN TYPEOF(item))) )) = 0); END_ENTITY; -- curve_3d_element_group ENTITY curve_3d_element_integrated_matrix; descriptor : curve_3d_element_descriptor; property_type : curve_matrix_property_type; integration_description : text; END_ENTITY; -- curve_3d_element_integrated_matrix ENTITY curve_3d_element_integrated_matrix_with_definition SUBTYPE OF (curve_3d_element_integrated_matrix); integration_definition : curve_3d_element_integration; END_ENTITY; -- curve_3d_element_integrated_matrix_with_definition ENTITY curve_3d_element_integration; element_length : curve_3d_element_length_integration; section : curve_section_integration_explicit; END_ENTITY; -- curve_3d_element_integration ENTITY curve_3d_element_length_integration_explicit; integration_positions_and_weights : SET [1:?] OF curve_3d_element_position_weight; END_ENTITY; -- curve_3d_element_length_integration_explicit ENTITY curve_3d_element_length_integration_rule; integration_method : integration_rule; integration_order : INTEGER; END_ENTITY; -- curve_3d_element_length_integration_rule ENTITY curve_3d_element_location_point_variable_values SUBTYPE OF (curve_3d_element_field_variable_definition); basis : BOOLEAN; values_and_locations : SET [1:?] OF curve_3d_element_value_and_location; variable : curve_element_variable; WHERE wr1: consistent_set_values(values_and_locations,variable); wr2: appropriate_set_value_existence(values_and_locations,TYPEOF( SELF\state_definition.defined_state)); END_ENTITY; -- curve_3d_element_location_point_variable_values ENTITY curve_3d_element_location_point_volume_variable_values SUBTYPE OF (curve_3d_element_field_variable_definition); basis : BOOLEAN; values_and_locations : SET [1:?] OF curve_3d_element_value_and_volume_location; variable : volume_variable; WHERE wr1: consistent_set_values(values_and_locations,variable); wr2: appropriate_set_value_existence(values_and_locations,TYPEOF( SELF\state_definition.defined_state)); END_ENTITY; -- curve_3d_element_location_point_volume_variable_values ENTITY curve_3d_element_nodal_specified_variable_values SUBTYPE OF (curve_3d_element_field_variable_definition); values : LIST [1:?] OF field_value; additional_node_values : BOOLEAN; variable : curve_element_variable; WHERE wr1: consistent_list_values(values,variable); wr2: appropriate_list_value_existence(values,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_3d_element_nodal_specified_variable_values ENTITY curve_3d_element_position_weight; integration_position : curve_volume_element_location; integration_weight : context_dependent_measure; END_ENTITY; -- curve_3d_element_position_weight ENTITY curve_3d_element_property; property_id : identifier; description : text; interval_definitions : LIST [1:?] OF curve_element_interval; end_offsets : ARRAY [1:2] OF curve_element_end_offset; end_releases : ARRAY [1:2] OF curve_element_end_release; END_ENTITY; -- curve_3d_element_property ENTITY curve_3d_element_representation SUBTYPE OF (element_representation); model_ref : fea_model_3d; element_descriptor : curve_3d_element_descriptor; property : curve_3d_element_property; material : element_material; UNIQUE ur1 : model_ref, name; WHERE wr1: ((SIZEOF(QUERY ( item <* SELF\representation.items | (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM') IN TYPEOF( item)) )) + SIZEOF(QUERY ( item <* SELF\representation.items | (('STRUCTURAL_ANALYSIS_DESIGN.' + 'ALIGNED_CURVE_3D_ELEMENT_COORDINATE_SYSTEM') IN TYPEOF(item)) ))) = 1); wr2: (SIZEOF(QUERY ( item1 <* material.properties | (SIZEOF( QUERY ( item2 <* item1\property_definition_representation. used_representation.items | (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_LINEAR_ELASTICITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_MASS_DENSITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_AREA_DENSITY', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF(item2)) = 1) )) = 1) )) >= 1); wr3: ('STRUCTURAL_ANALYSIS_DESIGN.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF\representation.context_of_items)); fu1: required_1d_nodes(SELF\element_representation.node_list, element_descriptor\element_descriptor.topology_order); END_ENTITY; -- curve_3d_element_representation ENTITY curve_3d_element_value_and_location; simple_value : field_value; location : curve_element_location; coordinate_system : OPTIONAL curve_3d_state_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); END_ENTITY; -- curve_3d_element_value_and_location ENTITY curve_3d_element_value_and_volume_location; simple_value : field_value; location : curve_volume_element_location; coordinate_system : OPTIONAL curve_3d_state_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); END_ENTITY; -- curve_3d_element_value_and_volume_location ENTITY curve_3d_node_field_aggregated_variable_values SUBTYPE OF (curve_3d_node_field_variable_definition); simple_value : field_value; variable : volume_aggregated_variable; coordinate_system : OPTIONAL curve_3d_state_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_3d_node_field_aggregated_variable_values ENTITY curve_3d_node_field_section_variable_values SUBTYPE OF (curve_3d_node_field_variable_definition); simple_value : field_value; variable : curve_element_variable; location : curve_section_element_location; coordinate_system : OPTIONAL curve_3d_state_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_3d_node_field_section_variable_values ENTITY curve_3d_node_field_variable_definition SUPERTYPE OF (ONEOF (curve_3d_node_field_section_variable_values, curve_3d_node_field_aggregated_variable_values)) SUBTYPE OF (field_variable_node_definition); END_ENTITY; -- curve_3d_node_field_variable_definition ENTITY curve_3d_substructure_element_reference; substructure_element_ref : substructure_element_representation; element_ref : curve_3d_element_representation; END_ENTITY; -- curve_3d_substructure_element_reference ENTITY curve_3d_whole_element_variable_value SUBTYPE OF (curve_3d_element_field_variable_definition); simple_value : field_value; variable : volume_aggregated_variable; coordinate_system : OPTIONAL curve_3d_element_coordinate_system; WHERE wr1: necessary_value_coordinate_system(simple_value, coordinate_system); wr2: consistent_value(simple_value,variable); wr3: appropriate_value_existence(simple_value,TYPEOF(SELF\ state_definition.defined_state)); END_ENTITY; -- curve_3d_whole_element_variable_value 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 | ( 'STRUCTURAL_ANALYSIS_DESIGN.OUTER_BOUNDARY_CURVE' IN TYPEOF( temp)) )) = 0)); wr2: ((NOT implicit_outer) OR ( 'STRUCTURAL_ANALYSIS_DESIGN.BOUNDED_SURFACE' IN TYPEOF( basis_surface))); wr3: (SIZEOF(QUERY ( temp <* boundaries | ( 'STRUCTURAL_ANALYSIS_DESIGN.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; -- curve_bounded_surface ENTITY curve_constraint SUBTYPE OF (constraint_element); required_curve : analysis_item_within_representation; coordinate_system : fea_axis2_placement_3d; freedoms_and_coefficients : SET [1:?] OF freedom_and_coefficient; description : text; WHERE wr1: (('STRUCTURAL_ANALYSIS_DESIGN.CURVE' IN TYPEOF(required_curve. item)) OR ('STRUCTURAL_ANALYSIS_DESIGN.EDGE_CURVE' IN TYPEOF(required_curve.item))); END_ENTITY; -- curve_constraint ENTITY curve_element_end_offset; coordinate_system : curve_element_end_coordinate_system; offset_vector : ARRAY [1:3] OF context_dependent_measure; END_ENTITY; -- curve_element_end_offset ENTITY curve_element_end_release; coordinate_system : curve_element_end_coordinate_system; releases : LIST [1:?] OF curve_element_end_release_packet; END_ENTITY; -- curve_element_end_release ENTITY curve_element_end_release_packet; release_freedom : curve_element_freedom; release_stiffness : context_dependent_measure; END_ENTITY; -- curve_element_end_release_packet ENTITY curve_element_interval SUPERTYPE OF (ONEOF (curve_element_interval_constant, curve_element_interval_linearly_varying)); finish_position : curve_element_location; eu_angles : euler_angles; END_ENTITY; -- curve_element_interval ENTITY curve_element_interval_constant SUBTYPE OF (curve_element_interval); section : curve_element_section_definition; END_ENTITY; -- curve_element_interval_constant ENTITY curve_element_interval_linearly_varying SUBTYPE OF (curve_element_interval); sections : ARRAY [1:2] OF curve_element_section_definition; END_ENTITY; -- curve_element_interval_linearly_varying ENTITY curve_element_location; coordinate : fea_parametric_point; END_ENTITY; -- curve_element_location ENTITY curve_element_section_definition SUPERTYPE OF (curve_element_section_derived_definitions); description : text; section_angle : plane_angle_measure; END_ENTITY; -- curve_element_section_definition ENTITY curve_element_section_derived_definitions SUBTYPE OF (curve_element_section_definition); cross_sectional_area : context_dependent_measure; shear_area : ARRAY [1:2] OF measure_or_unspecified_value; second_moment_of_area : ARRAY [1:3] OF context_dependent_measure; torsional_constant : context_dependent_measure; warping_constant : measure_or_unspecified_value; location_of_centroid : ARRAY [1:2] OF measure_or_unspecified_value; location_of_shear_centre : ARRAY [1:2] OF measure_or_unspecified_value; location_of_non_structural_mass : ARRAY [1:2] OF measure_or_unspecified_value; non_structural_mass : measure_or_unspecified_value; polar_moment : measure_or_unspecified_value; END_ENTITY; -- curve_element_section_derived_definitions ENTITY curve_freedom_action_definition SUBTYPE OF (curve_freedom_and_value_definition); action : action_type; END_ENTITY; -- curve_freedom_action_definition ENTITY curve_freedom_and_value_definition SUPERTYPE OF (ONEOF (curve_freedom_values, curve_freedom_action_definition)) SUBTYPE OF (state_definition); required_curve : analysis_item_within_representation; coordinate_system : fea_axis2_placement_3d; degrees_of_freedom : freedoms_list; values : LIST [1:?] OF measure_or_unspecified_value; WHERE wr1: (SIZEOF(degrees_of_freedom.freedoms) = SIZEOF(values)); wr2: (('STRUCTURAL_ANALYSIS_DESIGN.CURVE' IN TYPEOF(required_curve. item)) OR ('STRUCTURAL_ANALYSIS_DESIGN.EDGE_CURVE' IN TYPEOF(required_curve.item))); END_ENTITY; -- curve_freedom_and_value_definition ENTITY curve_freedom_values SUBTYPE OF (curve_freedom_and_value_definition); END_ENTITY; -- curve_freedom_values 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; -- curve_replica ENTITY curve_section_element_location; offsets : ARRAY [1:2] OF context_dependent_measure; END_ENTITY; -- curve_section_element_location ENTITY curve_section_integration_explicit; integration_positions : SET [1:?] OF curve_section_element_location; END_ENTITY; -- curve_section_integration_explicit ENTITY curve_volume_element_location; field_location : curve_element_location; section_location : curve_section_element_location; END_ENTITY; -- curve_volume_element_location ENTITY cylindrical_point SUBTYPE OF (cartesian_point); r : length_measure; theta : plane_angle_measure; z : length_measure; DERIVE SELF\cartesian_point.coordinates : LIST [1:3] OF length_measure := [ r * COS(theta),r * SIN(theta),z]; WHERE wr1: (r >= 0); END_ENTITY; -- cylindrical_point ENTITY cylindrical_surface SUBTYPE OF (elementary_surface); radius : positive_length_measure; END_ENTITY; -- cylindrical_surface ENTITY cylindrical_symmetry_control SUBTYPE OF (symmetry_control); harmonic : cylindrical_harmonic_number; phase : measure_or_unspecified_value; END_ENTITY; -- cylindrical_symmetry_control ENTITY data_environment; name : label; description : text; elements : SET [1:?] OF property_definition_representation; END_ENTITY; -- data_environment ENTITY data_environment_relationship; name : label; description : text; relating_data_environment : data_environment; related_data_environment : data_environment; END_ENTITY; -- data_environment_relationship ENTITY date SUPERTYPE OF (ONEOF (calendar_date,ordinal_date, week_of_year_and_day_date)); year_component : year_number; END_ENTITY; -- date ENTITY date_and_time; date_component : date; time_component : local_time; END_ENTITY; -- date_and_time ENTITY date_and_time_assignment ABSTRACT SUPERTYPE; assigned_date_and_time : date_and_time; role : date_time_role; END_ENTITY; -- date_and_time_assignment ENTITY date_assignment ABSTRACT SUPERTYPE; assigned_date : date; role : date_role; END_ENTITY; -- date_assignment ENTITY date_role; name : label; END_ENTITY; -- date_role ENTITY date_time_role; name : label; END_ENTITY; -- date_time_role ENTITY dated_effectivity SUBTYPE OF (effectivity); effectivity_start_date : date_and_time; effectivity_end_date : OPTIONAL date_and_time; END_ENTITY; -- dated_effectivity ENTITY definitional_representation SUBTYPE OF (representation); WHERE wr1: ('STRUCTURAL_ANALYSIS_DESIGN.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF\representation.context_of_items)); END_ENTITY; -- definitional_representation ENTITY degenerate_pcurve SUBTYPE OF (point); basis_surface : surface; reference_to_curve : definitional_representation; WHERE wr1: (SIZEOF(reference_to_curve\representation.items) = 1); wr2: ('STRUCTURAL_ANALYSIS_DESIGN.CURVE' IN TYPEOF( reference_to_curve\representation.items[1])); wr3: (reference_to_curve\representation.items[1]\ geometric_representation_item.dim = 2); END_ENTITY; -- degenerate_pcurve ENTITY degenerate_toroidal_surface SUBTYPE OF (toroidal_surface); select_outer : BOOLEAN; WHERE wr1: (major_radius < minor_radius); END_ENTITY; -- degenerate_toroidal_surface ENTITY derived_unit; elements : SET [1:?] OF derived_unit_element; WHERE wr1: ((SIZEOF(elements) > 1) OR ((SIZEOF(elements) = 1) AND ( elements[1].exponent <> 1))); END_ENTITY; -- derived_unit ENTITY derived_unit_element; unit : named_unit; exponent : REAL; END_ENTITY; -- derived_unit_element ENTITY descriptive_representation_item SUBTYPE OF (representation_item); description : text; END_ENTITY; -- descriptive_representation_item ENTITY design_make_from_relationship SUBTYPE OF (product_definition_relationship); END_ENTITY; -- design_make_from_relationship 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; -- dimensional_exponents ENTITY dimensional_size; applies_to : shape_aspect; name : label; WHERE wr1: (applies_to.product_definitional = TRUE); END_ENTITY; -- dimensional_size ENTITY directed_action SUBTYPE OF (executed_action); directive : action_directive; END_ENTITY; -- directed_action ENTITY direction SUBTYPE OF (geometric_representation_item); direction_ratios : LIST [2:3] OF REAL; WHERE wr1: (SIZEOF(QUERY ( tmp <* direction_ratios | (tmp <> 0) )) > 0); END_ENTITY; -- direction ENTITY direction_node SUBTYPE OF (direction); node_1 : node_representation; node_2 : node_representation; DERIVE SELF\direction.direction_ratios : LIST [2:3] OF REAL := build_direction_node(node_1, node_2); WHERE wr1: (SIZEOF(QUERY ( item <* node_1\representation.items | ( 'STRUCTURAL_ANALYSIS_DESIGN.CARTESIAN_POINT' IN TYPEOF(item)) )) = 1); wr2: (SIZEOF(QUERY ( item <* node_2\representation.items | ( 'STRUCTURAL_ANALYSIS_DESIGN.CARTESIAN_POINT' IN TYPEOF(item)) )) = 1); wr3: (NOT ((direction_ratios[1] = 0) AND (direction_ratios[2] = 0) AND (direction_ratios[3] = 0))); END_ENTITY; -- direction_node ENTITY directionally_explicit_element_coefficient; property_type : matrix_property_type; coefficient : context_dependent_measure; END_ENTITY; -- directionally_explicit_element_coefficient ENTITY directionally_explicit_element_coordinate_system_aligned SUBTYPE OF (fea_representation_item); aligned_system : curve_3d_element_coordinate_system; END_ENTITY; -- directionally_explicit_element_coordinate_system_aligned ENTITY directionally_explicit_element_coordinate_system_arbitrary SUBTYPE OF (fea_representation_item); arbitrary_system : fea_axis2_placement_3d; END_ENTITY; -- directionally_explicit_element_coordinate_system_arbitrary ENTITY directionally_explicit_element_representation SUBTYPE OF (element_representation); model_ref : fea_model; systems_and_freedoms : LIST [2:2] OF system_and_freedom; description : text; coefficient : directionally_explicit_element_coefficient; UNIQUE ur1 : model_ref, name; WHERE fu1: required_1d_nodes(SELF\element_representation.node_list,linear); END_ENTITY; -- directionally_explicit_element_representation ENTITY div_expression SUBTYPE OF (binary_numeric_expression); END_ENTITY; -- div_expression ENTITY document; id : identifier; name : label; description : text; kind : document_type; UNIQUE ur1 : id; END_ENTITY; -- document ENTITY document_reference ABSTRACT SUPERTYPE; assigned_document : document; source : label; END_ENTITY; -- document_reference ENTITY document_relationship; name : label; description : text; relating_document : document; related_document : document; END_ENTITY; -- document_relationship ENTITY document_type; product_data_type : label; END_ENTITY; -- document_type ENTITY document_usage_constraint; source : document; subject_element : label; subject_element_value : text; END_ENTITY; -- document_usage_constraint ENTITY document_with_class SUBTYPE OF (document); class : identifier; END_ENTITY; -- document_with_class ENTITY draped_defined_transformation SUBTYPE OF (item_defined_transformation); END_ENTITY; -- draped_defined_transformation ENTITY dummy_node SUBTYPE OF (node_representation); END_ENTITY; -- dummy_node ENTITY edge SUPERTYPE OF (ONEOF (edge_curve,oriented_edge)) SUBTYPE OF (topological_representation_item); edge_start : vertex; edge_end : vertex; END_ENTITY; -- edge ENTITY edge_based_wireframe_model SUBTYPE OF (geometric_representation_item); ebwm_boundary : SET [1:?] OF connected_edge_set; END_ENTITY; -- edge_based_wireframe_model ENTITY edge_based_wireframe_shape_representation SUBTYPE OF (shape_representation); WHERE wr1: (SIZEOF(QUERY ( it <* SELF.items | (NOT (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_BASED_WIREFRAME_MODEL', 'STRUCTURAL_ANALYSIS_DESIGN.MAPPED_ITEM', 'STRUCTURAL_ANALYSIS_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1)) )) = 0); wr2: (SIZEOF(QUERY ( it <* SELF.items | (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_BASED_WIREFRAME_MODEL', 'STRUCTURAL_ANALYSIS_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1) )) >= 1); wr3: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'STRUCTURAL_ANALYSIS_DESIGN.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 ( 'STRUCTURAL_ANALYSIS_DESIGN.EDGE_CURVE' IN TYPEOF(edges))) )) = 0)) )) = 0)) )) = 0); wr4: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'STRUCTURAL_ANALYSIS_DESIGN.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 | ( 'STRUCTURAL_ANALYSIS_DESIGN.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 | ( 'STRUCTURAL_ANALYSIS_DESIGN.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 (( 'STRUCTURAL_ANALYSIS_DESIGN.VERTEX_POINT' IN TYPEOF(edges. edge_start)) AND ('STRUCTURAL_ANALYSIS_DESIGN.VERTEX_POINT' IN TYPEOF(edges.edge_end)))) )) = 0)) )) = 0)) )) = 0); wr6: (SIZEOF(QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'STRUCTURAL_ANALYSIS_DESIGN.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 | ( 'STRUCTURAL_ANALYSIS_DESIGN.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 | ( 'STRUCTURAL_ANALYSIS_DESIGN.MAPPED_ITEM' IN TYPEOF(it)) ) | (NOT (('STRUCTURAL_ANALYSIS_DESIGN.' + '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; -- edge_based_wireframe_shape_representation ENTITY edge_curve SUBTYPE OF (edge, geometric_representation_item); edge_geometry : curve; same_sense : BOOLEAN; END_ENTITY; -- edge_curve 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; -- edge_loop ENTITY effectivity SUPERTYPE OF (ONEOF (serial_numbered_effectivity,dated_effectivity, lot_effectivity)); id : identifier; END_ENTITY; -- effectivity ENTITY element_analysis_message SUBTYPE OF (analysis_message); element : element_representation; END_ENTITY; -- element_analysis_message ENTITY element_definition SUBTYPE OF (shape_aspect); END_ENTITY; -- element_definition ENTITY element_descriptor SUPERTYPE OF (ONEOF (volume_3d_element_descriptor, axisymmetric_volume_2d_element_descriptor, plane_volume_2d_element_descriptor,surface_3d_element_descriptor, axisymmetric_surface_2d_element_descriptor, plane_surface_2d_element_descriptor,curve_3d_element_descriptor, axisymmetric_curve_2d_element_descriptor, plane_curve_2d_element_descriptor)); topology_order : element_order; description : text; END_ENTITY; -- element_descriptor ENTITY element_geometric_relationship; element_ref : element_or_element_group; item : analysis_item_within_representation; aspect : element_aspect; WHERE wr1: ('STRUCTURAL_ANALYSIS_DESIGN.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item.item)); wr2: consistent_geometric_reference(aspect,item.item); wr3: consistent_element_or_group_reference(aspect,element_ref); END_ENTITY; -- element_geometric_relationship ENTITY element_group SUBTYPE OF (fea_group); elements : SET [1:?] OF element_representation; END_ENTITY; -- element_group ENTITY element_group_analysis_message SUBTYPE OF (analysis_message); group : element_group; END_ENTITY; -- element_group_analysis_message ENTITY element_material; material_id : identifier; description : text; properties : SET [1:?] OF material_property_representation; END_ENTITY; -- element_material ENTITY element_nodal_freedom_actions SUBTYPE OF (state_definition); element : model_or_control_element; nodal_action : LIST [1:?] OF element_nodal_freedom_terms; END_ENTITY; -- element_nodal_freedom_actions ENTITY element_nodal_freedom_terms; coordinate_system : fea_axis2_placement_3d; degrees_of_freedom : freedoms_list; values : LIST [1:?] OF measure_or_unspecified_value; WHERE wr1: (SIZEOF(degrees_of_freedom.freedoms) = SIZEOF(values)); END_ENTITY; -- element_nodal_freedom_terms ENTITY element_representation SUPERTYPE OF (ONEOF (volume_3d_element_representation, axisymmetric_volume_2d_element_representation, plane_volume_2d_element_representation, surface_3d_element_representation, axisymmetric_surface_2d_element_representation, plane_surface_2d_element_representation, curve_3d_element_representation, axisymmetric_curve_2d_element_representation, plane_curve_2d_element_representation,point_element_representation, directionally_explicit_element_representation, explicit_element_representation,substructure_element_representation)) SUBTYPE OF (representation); node_list : LIST [1:?] OF node_representation; WHERE wr1: (SIZEOF(QUERY ( item <* node_list | (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'GEOMETRIC_NODE') IN TYPEOF( item)) )) = 0); END_ENTITY; -- element_representation ENTITY element_sequence; order_id : identifier; control_ref : control; purpose : text; elements : LIST [1:?] OF model_or_control_element; UNIQUE ur1 : order_id, control_ref; END_ENTITY; -- element_sequence ENTITY elementary_surface SUPERTYPE OF (ONEOF (plane,cylindrical_surface,conical_surface, spherical_surface,toroidal_surface)) SUBTYPE OF (surface); position : axis2_placement_3d; END_ENTITY; -- elementary_surface ENTITY ellipse SUBTYPE OF (conic); semi_axis_1 : positive_length_measure; semi_axis_2 : positive_length_measure; END_ENTITY; -- ellipse ENTITY environment; syntactic_representation : generic_variable; semantics : variable_semantics; END_ENTITY; -- environment ENTITY euler_angles; angles : ARRAY [1:3] OF plane_angle_measure; END_ENTITY; -- euler_angles ENTITY evaluated_degenerate_pcurve SUBTYPE OF (degenerate_pcurve); equivalent_point : cartesian_point; END_ENTITY; -- evaluated_degenerate_pcurve ENTITY executed_action SUBTYPE OF (action); END_ENTITY; -- executed_action ENTITY expanded_uncertainty SUBTYPE OF (standard_uncertainty); coverage_factor : REAL; END_ENTITY; -- expanded_uncertainty ENTITY explicit_element_matrix; property_type : matrix_property_type; symmetry : matrix_symmetry; node_dof_list : LIST [1:?] OF LIST [1:?] OF degree_of_freedom; matrix_values : LIST [1:?] OF context_dependent_measure; WHERE wr1: (SIZEOF(matrix_values) = number_of_terms(node_dof_list,symmetry)); END_ENTITY; -- explicit_element_matrix ENTITY explicit_element_representation SUBTYPE OF (element_representation); model_ref : fea_model; description : text; matrix : explicit_element_matrix; UNIQUE ur1 : model_ref, name; WHERE wr1: (SIZEOF(QUERY ( item <* SELF\representation.items | (( 'STRUCTURAL_ANALYSIS_DESIGN.' + 'FEA_AXIS2_PLACEMENT_3D') IN TYPEOF(item)) )) = 1); wr2: (SIZEOF(matrix.node_dof_list) = SIZEOF(SELF\ element_representation.node_list)); END_ENTITY; -- explicit_element_representation ENTITY expression ABSTRACT SUPERTYPE OF (ONEOF (numeric_expression,boolean_expression)) SUBTYPE OF (generic_expression); END_ENTITY; -- expression ENTITY expression_conversion_based_unit SUBTYPE OF (named_unit, variable_semantics); INVERSE associated_variable_environment : environment FOR semantics; END_ENTITY; -- expression_conversion_based_unit ENTITY face SUPERTYPE OF (ONEOF (face_surface,oriented_face)) SUBTYPE OF (topological_representation_item); bounds : SET [1:?] OF face_bound; WHERE wr1: (NOT mixed_loop_type_set(list_to_set(list_face_loops(SELF)))); wr2: (SIZEOF(QUERY ( temp <* bounds | ( 'STRUCTURAL_ANALYSIS_DESIGN.FACE_OUTER_BOUND' IN TYPEOF(temp)) )) <= 1); END_ENTITY; -- face ENTITY face_bound SUBTYPE OF (topological_representation_item); bound : loop; orientation : BOOLEAN; END_ENTITY; -- face_bound ENTITY face_outer_bound SUBTYPE OF (face_bound); END_ENTITY; -- face_outer_bound ENTITY face_surface SUBTYPE OF (face, geometric_representation_item); face_geometry : surface; same_sense : BOOLEAN; END_ENTITY; -- face_surface ENTITY faceted_brep SUBTYPE OF (manifold_solid_brep); END_ENTITY; -- faceted_brep ENTITY faceted_brep_shape_representation SUBTYPE OF (shape_representation); WHERE wr1: (SIZEOF(QUERY ( it <* items | (NOT (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.FACETED_BREP', 'STRUCTURAL_ANALYSIS_DESIGN.MAPPED_ITEM', 'STRUCTURAL_ANALYSIS_DESIGN.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1)) )) = 0); wr2: (SIZEOF(QUERY ( it <* items | (SIZEOF([ 'STRUCTURAL_ANALYSIS_DESIGN.FACETED_BREP', 'STRUCTURAL_ANALYSIS_DESIGN.MAPPED_ITEM'] * TYPEOF(it)) = 1) )) > 0); wr3: (SIZEOF(QUERY ( fbrep <* QUERY ( it <* items | ( 'STRUCTURAL_ANALYSIS_DESIGN.FACETED_BREP' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( csh <* msb_shells(fbrep) | (NOT ( SIZEOF(QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT (('STRUCTURAL_ANALYSIS_DESIGN.FACE_SURFACE' IN TYPEOF( fcs)) AND ('STRUCTURAL_ANALYSIS_DESIGN.PLANE' IN TYPEOF(fcs\ face_surface.face_geometry)) AND ( 'STRUCTURAL_ANALYSIS_DESIGN.CARTESIAN_POINT' IN TYPEOF(fcs\ face_surface.face_geometry\elementary_surface.position. location)))) )) = 0)) )) = 0)) )) = 0); wr4: (SIZEOF(QUERY ( fbrep <* QUERY ( it <* items | ( 'STRUCTURAL_ANALYSIS_DESIGN.FACETED_BREP' IN TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( csh <* msb_shells(fbrep) | (NOT ( SIZEOF(QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT (SIZEOF(QUERY ( bnds <* fcs.bounds | ( 'STRUCTURAL_ANALYSIS_DESIGN.FACE_OUTER_BOUND' IN TYPEOF(bnds)) )) = 1)) )) = 0)) )) = 0)) )) = 0); wr5: (SIZEOF(QUERY ( msb <* QUERY ( it <* items | ( 'STRUCTURAL_ANALYSIS_DESIGN.MANIFOLD_SOLID_BREP' IN TYPEOF( it)) ) | ('STRUCTURAL_ANALYSIS_DESIGN.ORIENTED_CLOSED_SHELL' IN TYPEOF(msb\manifold_solid_brep.outer)) )) = 0); wr6: (SIZEOF(QUERY ( brv <* QUERY ( it