# $RCSfile: automotive_design.ws,v $ # $Revision: 1.5 $ $Date: 2007/07/05 18:11:32 $ # # AP-214 COMPLEX ENTITIES # # This working set file describes the complex entities necessary for # working with AP214. Extend this file as needed. # # # Force all definitions to be generated # SCHEMA automotive_design -all \ -p28ns urn:oid:1.0.10303.214.2.0.1 # # Some additional aggregate types that are useful when working with # AP214 data. # direction -aggs L loop -aggs S representation -aggs S surface -aggs S # # Units # # The AP units for area, length, mass, etc. Create SI and conversion # unit combinations for most. Just SI for solid angle, because only # steradians are ever used. # ANDOR( si_unit amount_of_substance_unit ) ANDOR( si_unit area_unit ) ANDOR( si_unit electric_current_unit ) ANDOR( si_unit length_unit ) ANDOR( si_unit luminous_intensity_unit ) ANDOR( si_unit mass_unit ) ANDOR( si_unit plane_angle_unit ) ANDOR( si_unit ratio_unit ) ANDOR( si_unit solid_angle_unit ) ANDOR( si_unit thermodynamic_temperature_unit ) ANDOR( si_unit time_unit ) ANDOR( si_unit volume_unit ) # no conversion based solid angle or ratio ANDOR( conversion_based_unit area_unit ) ANDOR( conversion_based_unit mass_unit ) ANDOR( conversion_based_unit length_unit ) ANDOR( conversion_based_unit plane_angle_unit ) ANDOR( conversion_based_unit time_unit ) ANDOR( conversion_based_unit volume_unit ) # # Measure Descriptions -- These combine measure rep item with a # measure with unit subtype. This allows the value to be put in a # representation and the subtype identifies the kind of measure. # ANDOR( measure_representation_item amount_of_substance_measure_with_unit ) ANDOR( measure_representation_item area_measure_with_unit ) ANDOR( measure_representation_item celsius_temperature_measure_with_unit ) ANDOR( measure_representation_item electric_current_measure_with_unit ) ANDOR( measure_representation_item length_measure_with_unit ) ANDOR( measure_representation_item luminous_intensity_measure_with_unit ) ANDOR( measure_representation_item mass_measure_with_unit ) ANDOR( measure_representation_item plane_angle_measure_with_unit ) ANDOR( measure_representation_item ratio_measure_with_unit ) ANDOR( measure_representation_item solid_angle_measure_with_unit ) ANDOR( measure_representation_item \ thermodynamic_temperature_measure_with_unit ) ANDOR( measure_representation_item time_measure_with_unit ) ANDOR( measure_representation_item volume_measure_with_unit ) ANDOR( length_measure_with_unit uncertainty_measure_with_unit ) # # Contexts and relationships # ANDOR( geometric_representation_context \ global_uncertainty_assigned_context \ global_unit_assigned_context ) ANDOR( geometric_representation_context \ global_unit_assigned_context ) ANDOR( geometric_representation_context \ parametric_representation_context ) ANDOR( definitional_representation \ shape_representation ) ANDOR( representation_relationship_with_transformation \ shape_representation_relationship ) # # Assemblies # ANDOR( next_assembly_usage_occurrence \ quantified_assembly_component_usage ) # # Spline curves and surfaces (nurbs) # ANDOR( rational_b_spline_curve b_spline_curve_with_knots ) ANDOR( rational_b_spline_curve bezier_curve ) ANDOR( rational_b_spline_curve quasi_uniform_curve ) ANDOR( rational_b_spline_curve uniform_curve ) ANDOR( rational_b_spline_surface b_spline_surface_with_knots ) ANDOR( rational_b_spline_surface bezier_surface ) ANDOR( rational_b_spline_surface quasi_uniform_surface ) ANDOR( rational_b_spline_surface uniform_surface ) ANDOR( brep_with_voids faceted_brep ) # # Drafting and other # ANDOR( draughting_elements linear_dimension ) ANDOR( draughting_elements structured_dimension_callout ) ANDOR( draughting_annotation_occurrence annotation_text_occurrence ) ANDOR( draughting_annotation_occurrence dimension_curve ) ANDOR( draughting_annotation_occurrence dimension_curve_terminator ) ANDOR( draughting_annotation_occurrence projection_curve ) ANDOR( draughting_annotation_occurrence geometric_representation_item \ annotation_text_occurrence ) ANDOR( draughting_annotation_occurrence geometric_representation_item \ leader_curve ) ANDOR( draughting_annotation_occurrence geometric_representation_item \ leader_terminator ) ANDOR( geometric_representation_item camera_image_2d_with_scale ) ANDOR( geometric_representation_item camera_image_3d_with_scale ) # # All features show up as a complex with instanced_feature. The # instanced_feature is a subtype of shape_aspect, which gives us # the means to hook the feature to a shape. # # AP-224 does the same, but uses machining_feature subtype. It # does not cover the sheet metal features. # ## Shared with 224 ANDOR( instanced_feature boss ) ANDOR( instanced_feature pocket ) ANDOR( instanced_feature round_hole ) ANDOR( instanced_feature slot ) ANDOR( instanced_feature thread ) ## In 224, not 214 ##ANDOR( machining_feature flat_face ) ##ANDOR( machining_feature marking ) ##ANDOR( machining_feature outer_round ) ##ANDOR( machining_feature outside_profile ) ##ANDOR( machining_feature protrusion ) ##ANDOR( machining_feature removal_volume ) ##ANDOR( machining_feature revolved_profile ) ##ANDOR( machining_feature rounded_end ) ##ANDOR( machining_feature spherical_cap ) ##ANDOR( machining_feature step ) ##ANDOR( machining_feature turned_knurl ) ##ANDOR( machining_feature composite_machining_feature ) ##ANDOR( machining_feature externally_defined_feature_definition ) ## AP214 only. It's not clear how these are used. ## # barring_hole # bead # externally_defined_thread # feature_in_panel # general_feature # hole_in_panel # joggle # locator # pattern_definition # rib # by wr1 of compound_feature_in_solid #compound_feature_in_solid composite_shape_aspect instanced_feature #compound_feature_in_solid composite_shape_aspect #compound_feature_in_solid instanced_feature # #compound_feature_in_panel composite_shape_aspect instanced_feature #compound_feature_in_panel composite_shape_aspect #compound_feature_in_panel instanced_feature # ============================================================ # GD&T Definitions # # The way the GD&T definitions are handled in STEP requires a fair # number of complex types. In particular, optional components of some # tolerances are handled by adding a type as a complex. Keeping this # in mind, you will see that most of the complex types below are just # adding a path, modification, or measurement segment size to one of # the base geometric tolerance types from AIC 519. # # DIMENSIONS -- the externally defined size dimension can form a # complex instance if a path is specified, and the location dimensions # form a complex instance if they are "directed" # # NOT IN 214E2, introduced in later versions #ANDOR( externally_defined_dimension_definition \ # dimensional_size_with_path ) ANDOR( directed_dimensional_location angular_location ) ANDOR( directed_dimensional_location dimensional_location_with_path ) # DATUMS based on derived shapes -- These are represented as a complex # instance of datum plus derived_shape_aspect or one of the subtypes. # ANDOR( datum derived_shape_aspect ) ANDOR( datum apex ) ANDOR( datum centre_of_symmetry ) ANDOR( datum extension ) ANDOR( datum geometric_alignment ) ANDOR( datum geometric_intersection ) ANDOR( datum parallel_offset ) ANDOR( datum perpendicular_to ) ANDOR( datum tangent ) # TOLERANCES -- The geometric tolerances can form a complex instance # with "modified geometric tolerance" to add a condition like maximum # material extent. The can also be combines with "geometric tolerance # with defined unit" to specify a segment size. The AP-214/1050 ARM # allows this for any, but AP-224 restricts to angularity, flatness, # parallelism, perpendicularity, and straightness. # # The position, line profile, and surface profile tolerances can also # be associated with a datum reference, so we need a complex instance # that includes that GTWDR as well. This is a bit unwieldy, but that # is the way it was modeled. # ANDOR( angularity_tolerance modified_geometric_tolerance ) ANDOR( angularity_tolerance geometric_tolerance_with_defined_unit ) ANDOR( angularity_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( coaxiality_tolerance modified_geometric_tolerance ) ANDOR( coaxiality_tolerance geometric_tolerance_with_defined_unit ) ANDOR( coaxiality_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( concentricity_tolerance modified_geometric_tolerance ) ANDOR( concentricity_tolerance geometric_tolerance_with_defined_unit ) ANDOR( concentricity_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( cylindricity_tolerance modified_geometric_tolerance ) ANDOR( cylindricity_tolerance geometric_tolerance_with_defined_unit ) ANDOR( cylindricity_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( flatness_tolerance modified_geometric_tolerance ) ANDOR( flatness_tolerance geometric_tolerance_with_defined_unit ) ANDOR( flatness_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( line_profile_tolerance modified_geometric_tolerance ) ANDOR( line_profile_tolerance geometric_tolerance_with_defined_unit ) ANDOR( line_profile_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) # Line profile may have datums, so we need these combinations too ANDOR( line_profile_tolerance geometric_tolerance_with_datum_reference ) ANDOR( line_profile_tolerance geometric_tolerance_with_datum_reference \ modified_geometric_tolerance ) ANDOR( line_profile_tolerance geometric_tolerance_with_datum_reference \ geometric_tolerance_with_defined_unit ) ANDOR( line_profile_tolerance geometric_tolerance_with_datum_reference \ geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( parallelism_tolerance modified_geometric_tolerance ) ANDOR( parallelism_tolerance geometric_tolerance_with_defined_unit ) ANDOR( parallelism_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( perpendicularity_tolerance modified_geometric_tolerance ) ANDOR( perpendicularity_tolerance geometric_tolerance_with_defined_unit ) ANDOR( perpendicularity_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( position_tolerance modified_geometric_tolerance ) ANDOR( position_tolerance geometric_tolerance_with_defined_unit ) ANDOR( position_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) # Positions may have datums, so we need these combinations too ANDOR( position_tolerance geometric_tolerance_with_datum_reference ) ANDOR( position_tolerance geometric_tolerance_with_datum_reference \ modified_geometric_tolerance ) ANDOR( position_tolerance geometric_tolerance_with_datum_reference \ geometric_tolerance_with_defined_unit ) ANDOR( position_tolerance geometric_tolerance_with_datum_reference \ geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( roundness_tolerance modified_geometric_tolerance ) ANDOR( roundness_tolerance geometric_tolerance_with_defined_unit ) ANDOR( roundness_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( straightness_tolerance modified_geometric_tolerance ) ANDOR( straightness_tolerance geometric_tolerance_with_defined_unit ) ANDOR( straightness_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( surface_profile_tolerance modified_geometric_tolerance ) ANDOR( surface_profile_tolerance geometric_tolerance_with_defined_unit ) ANDOR( surface_profile_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) # Surface profiles may have datums, so we need these combinations too ANDOR( surface_profile_tolerance geometric_tolerance_with_datum_reference ) ANDOR( surface_profile_tolerance geometric_tolerance_with_datum_reference \ modified_geometric_tolerance ) ANDOR( surface_profile_tolerance geometric_tolerance_with_datum_reference \ geometric_tolerance_with_defined_unit ) ANDOR( surface_profile_tolerance geometric_tolerance_with_datum_reference \ geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( symmetry_tolerance modified_geometric_tolerance ) ANDOR( symmetry_tolerance geometric_tolerance_with_defined_unit ) ANDOR( symmetry_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) ANDOR( total_runout_tolerance modified_geometric_tolerance ) ANDOR( total_runout_tolerance geometric_tolerance_with_defined_unit ) ANDOR( total_runout_tolerance geometric_tolerance_with_defined_unit \ modified_geometric_tolerance ) # This is not in the ARM, but is an artifact from some early tests # where the type was given as a string rather than a subtypes ANDOR( modified_geometric_tolerance geometric_tolerance_with_datum_reference )