"Fossies" - the Fresh Open Source Software Archive 
Member "brlcad-7.32.4/src/other/stepcode/data/ap219/10303-219-AIM-long.exp" (29 Jul 2021, 505813 Bytes) of package /linux/misc/brlcad-7.32.4.tar.bz2:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Express source code syntax highlighting (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1 (* AIM EXPRESS long form for ISO/CD 10303-219
2 2004-10-15
3 Len Slovensky
4 ISO TC184/SC4/WG3 N1517
5 *)
6
7 SCHEMA dimensional_inspection_schema;
8
9 CONSTANT
10 dummy_gri : geometric_representation_item := representation_item('') ||
11 geometric_representation_item();
12 dummy_tri : topological_representation_item := representation_item('')
13 || topological_representation_item();
14 END_CONSTANT;
15
16 TYPE ahead_or_behind = ENUMERATION OF
17 (exact,
18 ahead,
19 behind);
20 END_TYPE; -- ahead_or_behind
21
22 TYPE amount_of_substance_measure = REAL;
23 END_TYPE; -- amount_of_substance_measure
24
25 TYPE angle_relator = ENUMERATION OF
26 (equal,
27 small,
28 large);
29 END_TYPE; -- angle_relator
30
31 TYPE area_measure = REAL;
32 END_TYPE; -- area_measure
33
34 TYPE attribute_type = SELECT
35 (label,
36 text);
37 END_TYPE; -- attribute_type
38
39 TYPE axis2_placement = SELECT
40 (axis2_placement_2d,
41 axis2_placement_3d);
42 END_TYPE; -- axis2_placement
43
44 TYPE b_spline_curve_form = ENUMERATION OF
45 (elliptic_arc,
46 polyline_form,
47 parabolic_arc,
48 circular_arc,
49 unspecified,
50 hyperbolic_arc);
51 END_TYPE; -- b_spline_curve_form
52
53 TYPE b_spline_surface_form = ENUMERATION OF
54 (surf_of_linear_extrusion,
55 plane_surf,
56 generalised_cone,
57 toroidal_surf,
58 conical_surf,
59 spherical_surf,
60 unspecified,
61 ruled_surf,
62 surf_of_revolution,
63 cylindrical_surf,
64 quadric_surf);
65 END_TYPE; -- b_spline_surface_form
66
67 TYPE boolean_operand = SELECT
68 (solid_model);
69 END_TYPE; -- boolean_operand
70
71 TYPE celsius_temperature_measure = REAL;
72 END_TYPE; -- celsius_temperature_measure
73
74 TYPE characterized_action_definition = SELECT
75 (action,
76 action_method);
77 END_TYPE; -- characterized_action_definition
78
79 TYPE characterized_definition = SELECT
80 (characterized_object,
81 characterized_product_definition,
82 shape_definition);
83 END_TYPE; -- characterized_definition
84
85 TYPE characterized_product_definition = SELECT
86 (product_definition);
87 END_TYPE; -- characterized_product_definition
88
89 TYPE characterized_resource_definition = SELECT
90 (action_resource,
91 action_resource_requirement);
92 END_TYPE; -- characterized_resource_definition
93
94 TYPE compound_item_definition = SELECT
95 (set_representation_item);
96 END_TYPE; -- compound_item_definition
97
98 TYPE count_measure = NUMBER;
99 END_TYPE; -- count_measure
100
101 TYPE curve_on_surface = SELECT
102 (pcurve,
103 surface_curve,
104 composite_curve_on_surface);
105 END_TYPE; -- curve_on_surface
106
107 TYPE date_item = SELECT
108 (dm_program_run);
109 END_TYPE; -- date_item
110
111 TYPE date_time_or_event_occurrence = SELECT
112 (date_time_select);
113 END_TYPE; -- date_time_or_event_occurrence
114
115 TYPE date_time_select = SELECT
116 (date,
117 local_time,
118 date_and_time);
119 END_TYPE; -- date_time_select
120
121 TYPE day_in_month_number = INTEGER;
122 WHERE
123 wr1: (1 <= SELF) AND (SELF <= 31);
124 END_TYPE; -- day_in_month_number
125
126 TYPE derived_property_select = SELECT
127 (property_definition,
128 action_property,
129 resource_property);
130 END_TYPE; -- derived_property_select
131
132 TYPE description_attribute_select = SELECT
133 (application_context,
134 date_role,
135 external_source,
136 organization_role,
137 person_and_organization_role,
138 person_and_organization,
139 property_definition_representation,
140 representation);
141 END_TYPE; -- description_attribute_select
142
143 TYPE dimension_count = INTEGER;
144 WHERE
145 wr1: SELF > 0;
146 END_TYPE; -- dimension_count
147
148 TYPE dimensional_characteristic = SELECT
149 (dimensional_location,
150 dimensional_size);
151 END_TYPE; -- dimensional_characteristic
152
153 TYPE document_reference_item = SELECT
154 (product_definition_formation,
155 externally_defined_feature_definition,
156 externally_defined_dimension_definition);
157 END_TYPE; -- document_reference_item
158
159 TYPE electric_current_measure = REAL;
160 END_TYPE; -- electric_current_measure
161
162 TYPE founded_item_select = SELECT
163 (founded_item,
164 representation_item);
165 END_TYPE; -- founded_item_select
166
167 TYPE geometric_set_select = SELECT
168 (point,
169 curve,
170 surface);
171 END_TYPE; -- geometric_set_select
172
173 TYPE hour_in_day = INTEGER;
174 WHERE
175 wr1: (0 <= SELF) AND (SELF < 24);
176 END_TYPE; -- hour_in_day
177
178 TYPE id_attribute_select = SELECT
179 (action,
180 address,
181 property_definition,
182 shape_aspect,
183 shape_aspect_relationship,
184 application_context,
185 organizational_project,
186 representation);
187 END_TYPE; -- id_attribute_select
188
189 TYPE identifier = STRING;
190 END_TYPE; -- identifier
191
192 TYPE knot_type = ENUMERATION OF
193 (uniform_knots,
194 quasi_uniform_knots,
195 piecewise_bezier_knots,
196 unspecified);
197 END_TYPE; -- knot_type
198
199 TYPE label = STRING;
200 END_TYPE; -- label
201
202 TYPE length_measure = REAL;
203 END_TYPE; -- length_measure
204
205 TYPE limit_condition = ENUMERATION OF
206 (regardless_of_feature_size,
207 maximum_material_condition,
208 least_material_condition);
209 END_TYPE; -- limit_condition
210
211 TYPE list_of_reversible_topology_item = LIST [0:?] OF
212 reversible_topology_item;
213 END_TYPE; -- list_of_reversible_topology_item
214
215 TYPE luminous_intensity_measure = REAL;
216 END_TYPE; -- luminous_intensity_measure
217
218 TYPE mass_measure = REAL;
219 END_TYPE; -- mass_measure
220
221 TYPE measure_value = SELECT
222 (length_measure,
223 mass_measure,
224 time_measure,
225 electric_current_measure,
226 thermodynamic_temperature_measure,
227 celsius_temperature_measure,
228 amount_of_substance_measure,
229 luminous_intensity_measure,
230 plane_angle_measure,
231 solid_angle_measure,
232 area_measure,
233 volume_measure,
234 ratio_measure,
235 parameter_value,
236 positive_length_measure,
237 positive_plane_angle_measure,
238 count_measure);
239 END_TYPE; -- measure_value
240
241 TYPE minute_in_hour = INTEGER;
242 WHERE
243 wr1: (0 <= SELF) AND (SELF <= 59);
244 END_TYPE; -- minute_in_hour
245
246 TYPE month_in_year_number = INTEGER;
247 WHERE
248 wr1: (1 <= SELF) AND (SELF <= 12);
249 END_TYPE; -- month_in_year_number
250
251 TYPE name_attribute_select = SELECT
252 (address,
253 derived_unit,
254 person_and_organization,
255 product_definition,
256 property_definition_representation);
257 END_TYPE; -- name_attribute_select
258
259 TYPE organization_item = SELECT
260 (dm_program_identification,
261 dm_program_run);
262 END_TYPE; -- organization_item
263
264 TYPE parameter_value = REAL;
265 END_TYPE; -- parameter_value
266
267 TYPE pcurve_or_surface = SELECT
268 (pcurve,
269 surface);
270 END_TYPE; -- pcurve_or_surface
271
272 TYPE person_and_organization_item = SELECT
273 (dm_program_identification,
274 dm_program_run);
275 END_TYPE; -- person_and_organization_item
276
277 TYPE person_organization_select = SELECT
278 (person,
279 organization,
280 person_and_organization);
281 END_TYPE; -- person_organization_select
282
283 TYPE plane_angle_measure = REAL;
284 END_TYPE; -- plane_angle_measure
285
286 TYPE positive_length_measure = length_measure;
287 WHERE
288 wr1: SELF > 0;
289 END_TYPE; -- positive_length_measure
290
291 TYPE positive_plane_angle_measure = plane_angle_measure;
292 WHERE
293 wr1: SELF > 0;
294 END_TYPE; -- positive_plane_angle_measure
295
296 TYPE preferred_surface_curve_representation = ENUMERATION OF
297 (pcurve_s2,
298 pcurve_s1,
299 curve_3d);
300 END_TYPE; -- preferred_surface_curve_representation
301
302 TYPE product_or_formation_or_definition = SELECT
303 (product,
304 product_definition_formation,
305 product_definition);
306 END_TYPE; -- product_or_formation_or_definition
307
308 TYPE property_or_shape_select = SELECT
309 (property_definition,
310 shape_definition);
311 END_TYPE; -- property_or_shape_select
312
313 TYPE ratio_measure = REAL;
314 END_TYPE; -- ratio_measure
315
316 TYPE represented_definition = SELECT
317 (property_definition,
318 property_definition_relationship,
319 shape_aspect,
320 shape_aspect_relationship);
321 END_TYPE; -- represented_definition
322
323 TYPE reversible_topology = SELECT
324 (reversible_topology_item,
325 list_of_reversible_topology_item,
326 set_of_reversible_topology_item);
327 END_TYPE; -- reversible_topology
328
329 TYPE reversible_topology_item = SELECT
330 (edge,
331 path,
332 face,
333 face_bound,
334 closed_shell,
335 open_shell);
336 END_TYPE; -- reversible_topology_item
337
338 TYPE role_select = SELECT
339 (document_reference,
340 security_classification_assignment);
341 END_TYPE; -- role_select
342
343 TYPE second_in_minute = REAL;
344 WHERE
345 wr1: (0 <= SELF) AND (SELF <= 60);
346 END_TYPE; -- second_in_minute
347
348 TYPE security_classification_item = SELECT
349 (product_definition_formation);
350 END_TYPE; -- security_classification_item
351
352 TYPE set_of_reversible_topology_item = SET [0:?] OF
353 reversible_topology_item;
354 END_TYPE; -- set_of_reversible_topology_item
355
356 TYPE set_representation_item = SET [1:?] OF representation_item;
357 END_TYPE; -- set_representation_item
358
359 TYPE shape_definition = SELECT
360 (product_definition_shape,
361 shape_aspect,
362 shape_aspect_relationship);
363 END_TYPE; -- shape_definition
364
365 TYPE shell = SELECT
366 (open_shell,
367 closed_shell);
368 END_TYPE; -- shell
369
370 TYPE si_prefix = ENUMERATION OF
371 (exa,
372 pico,
373 mega,
374 femto,
375 atto,
376 centi,
377 nano,
378 hecto,
379 micro,
380 tera,
381 giga,
382 milli,
383 peta,
384 deci,
385 kilo,
386 deca);
387 END_TYPE; -- si_prefix
388
389 TYPE si_unit_name = ENUMERATION OF
390 (hertz,
391 degree_celsius,
392 siemens,
393 sievert,
394 lux,
395 watt,
396 ohm,
397 second,
398 becquerel,
399 pascal,
400 henry,
401 tesla,
402 volt,
403 joule,
404 kelvin,
405 ampere,
406 gram,
407 steradian,
408 mole,
409 lumen,
410 gray,
411 candela,
412 farad,
413 radian,
414 newton,
415 metre,
416 weber,
417 coulomb);
418 END_TYPE; -- si_unit_name
419
420 TYPE solid_angle_measure = REAL;
421 END_TYPE; -- solid_angle_measure
422
423 TYPE source_item = SELECT
424 (identifier);
425 END_TYPE; -- source_item
426
427 TYPE supported_item = SELECT
428 (action,
429 action_method);
430 END_TYPE; -- supported_item
431
432 TYPE text = STRING;
433 END_TYPE; -- text
434
435 TYPE thermodynamic_temperature_measure = REAL;
436 END_TYPE; -- thermodynamic_temperature_measure
437
438 TYPE time_measure = REAL;
439 END_TYPE; -- time_measure
440
441 TYPE tolerance_method_definition = SELECT
442 (tolerance_value,
443 limits_and_fits);
444 END_TYPE; -- tolerance_method_definition
445
446 TYPE tolerance_select = SELECT
447 (geometric_tolerance,
448 plus_minus_tolerance);
449 END_TYPE; -- tolerance_select
450
451 TYPE transformation = SELECT
452 (functionally_defined_transformation);
453 END_TYPE; -- transformation
454
455 TYPE transition_code = ENUMERATION OF
456 (discontinuous,
457 cont_same_gradient_same_curvature,
458 cont_same_gradient,
459 continuous);
460 END_TYPE; -- transition_code
461
462 TYPE trimming_select = SELECT
463 (cartesian_point,
464 parameter_value);
465 END_TYPE; -- trimming_select
466
467 TYPE unit = SELECT
468 (named_unit,
469 derived_unit);
470 END_TYPE; -- unit
471
472 TYPE value_qualifier = SELECT
473 (precision_qualifier,
474 type_qualifier,
475 uncertainty_qualifier);
476 END_TYPE; -- value_qualifier
477
478 TYPE vector_or_direction = SELECT
479 (vector,
480 direction);
481 END_TYPE; -- vector_or_direction
482
483 TYPE volume_measure = REAL;
484 END_TYPE; -- volume_measure
485
486 TYPE year_number = INTEGER;
487 END_TYPE; -- year_number
488
489 ENTITY action;
490 name: label;
491 description : OPTIONAL text;
492 chosen_method : action_method;
493 DERIVE
494 id : identifier := get_id_value(SELF);
495 WHERE
496 wr1: SIZEOF(USEDIN(SELF,'DIMENSIONAL_INSPECTION_SCHEMA.' +
497 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
498 END_ENTITY; -- action
499
500 ENTITY action_method;
501 name : label;
502 description : OPTIONAL text;
503 consequence : text;
504 purpose : text;
505 END_ENTITY; -- action_method
506
507 ENTITY action_property;
508 name : label;
509 description : text;
510 definition : characterized_action_definition;
511 END_ENTITY; -- action_property
512
513 ENTITY action_property_representation;
514 name : label;
515 description : text;
516 property : action_property;
517 representation : representation;
518 END_ENTITY; -- action_property_representation
519
520 ENTITY action_resource;
521 name : label;
522 description : OPTIONAL text;
523 usage : SET [1:?] OF supported_item;
524 kind : action_resource_type;
525 END_ENTITY; -- action_resource
526
527 ENTITY action_resource_requirement;
528 name : label;
529 description : text;
530 kind : resource_requirement_type;
531 OPERATIONS : SET [1:?] OF characterized_action_definition;
532 END_ENTITY; -- action_resource_requirement
533
534 ENTITY action_resource_type;
535 name : label;
536 END_ENTITY; -- action_resource_type
537
538 ENTITY address;
539 internal_location : OPTIONAL label;
540 street_number : OPTIONAL label;
541 street : OPTIONAL label;
542 postal_box : OPTIONAL label;
543 town: OPTIONAL label;
544 region : OPTIONAL label;
545 postal_code : OPTIONAL label;
546 country : OPTIONAL label;
547 facsimile_number : OPTIONAL label;
548 telephone_number : OPTIONAL label;
549 electronic_mail_address : OPTIONAL label;
550 telex_number : OPTIONAL label;
551 DERIVE
552 name : label := get_name_value(SELF);
553 url : identifier := get_id_value(SELF);
554 WHERE
555 wr1: ((((((((((EXISTS(internal_location) OR EXISTS(street_number))
556 OR EXISTS(street)) OR EXISTS(postal_box)) OR EXISTS(town))
557 OR EXISTS(region)) OR EXISTS(postal_code)) OR EXISTS(country))
558 OR EXISTS(facsimile_number)) OR EXISTS(telephone_number)) OR
559 EXISTS(electronic_mail_address)) OR EXISTS(telex_number);
560 END_ENTITY; -- address
561
562 ENTITY advanced_brep_shape_representation
563 SUBTYPE OF (shape_representation);
564 WHERE
565 wr1: SIZEOF(QUERY ( it <* SELF.items | (NOT (SIZEOF([
566 'DIMENSIONAL_INSPECTION_SCHEMA.MANIFOLD_SOLID_BREP',
567 'DIMENSIONAL_INSPECTION_SCHEMA.FACETED_BREP',
568 'DIMENSIONAL_INSPECTION_SCHEMA.MAPPED_ITEM',
569 'DIMENSIONAL_INSPECTION_SCHEMA.AXIS2_PLACEMENT_3D'] *
570 TYPEOF(it)) = 1)) )) = 0;
571 wr2: SIZEOF(QUERY ( it <* SELF.items | (SIZEOF([
572 'DIMENSIONAL_INSPECTION_SCHEMA.MANIFOLD_SOLID_BREP',
573 'DIMENSIONAL_INSPECTION_SCHEMA.MAPPED_ITEM'] * TYPEOF(it)) =
574 1) )) > 0;
575 wr3: SIZEOF(QUERY ( msb <* QUERY ( it <* SELF.items | (
576 'DIMENSIONAL_INSPECTION_SCHEMA.MANIFOLD_SOLID_BREP' IN
577 TYPEOF(it)) ) | (NOT (SIZEOF(QUERY ( csh <* msb_shells(msb)
578 | (NOT (SIZEOF(QUERY ( fcs <* csh\connected_face_set.
579 cfs_faces | (NOT (
580 'DIMENSIONAL_INSPECTION_SCHEMA.ADVANCED_FACE'
581 IN TYPEOF(fcs))) )) = 0)) )) = 0)) )) = 0;
582 wr4: SIZEOF(QUERY ( msb <* QUERY ( it <* items | (
583 'DIMENSIONAL_INSPECTION_SCHEMA.MANIFOLD_SOLID_BREP' IN
584 TYPEOF(it)) ) | (
585 'DIMENSIONAL_INSPECTION_SCHEMA.ORIENTED_CLOSED_SHELL' IN
586 TYPEOF(msb\manifold_solid_brep.outer)) )) = 0;
587 wr5: SIZEOF(QUERY ( brv <* QUERY ( it <* items | (
588 'DIMENSIONAL_INSPECTION_SCHEMA.BREP_WITH_VOIDS' IN TYPEOF(it)) )
589 | (NOT (SIZEOF(QUERY ( csh <* brv\brep_with_voids.voids |
590 csh\oriented_closed_shell.orientation )) = 0)) )) = 0;
591 wr6: SIZEOF(QUERY ( mi <* QUERY ( it <* items | (
592 'DIMENSIONAL_INSPECTION_SCHEMA.MAPPED_ITEM' IN TYPEOF(it)) )| (NOT
593 ('DIMENSIONAL_INSPECTION_SCHEMA.ADVANCED_BREP_SHAPE_REPRESENTATION'
594 IN TYPEOF(mi\mapped_item.mapping_source.
595 mapped_representation))) )) = 0;
596 END_ENTITY; -- advanced_brep_shape_representation
597
598 ENTITY advanced_face
599 SUBTYPE OF (face_surface);
600 WHERE
601 wr1 : SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.ELEMENTARY_SURFACE',
602 'DIMENSIONAL_INSPECTION_SCHEMA.B_SPLINE_SURFACE',
603 'DIMENSIONAL_INSPECTION_SCHEMA.SWEPT_SURFACE'] * TYPEOF(
604 face_geometry)) = 1;
605 wr2 : SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
606 'DIMENSIONAL_INSPECTION_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.
607 bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path
608 .edge_list | (NOT (
609 'DIMENSIONAL_INSPECTION_SCHEMA.EDGE_CURVE' IN TYPEOF(oe\
610 oriented_edge.edge_element))) )) = 0)) )) = 0;
611 wr3 : SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
612 'DIMENSIONAL_INSPECTION_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.
613 bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path
614 .edge_list | (NOT (SIZEOF([
615 'DIMENSIONAL_INSPECTION_SCHEMA.LINE',
616 'DIMENSIONAL_INSPECTION_SCHEMA.CONIC',
617 'DIMENSIONAL_INSPECTION_SCHEMA.POLYLINE',
618 'DIMENSIONAL_INSPECTION_SCHEMA.SURFACE_CURVE',
619 'DIMENSIONAL_INSPECTION_SCHEMA.B_SPLINE_CURVE'] * TYPEOF(oe
620 .edge_element\edge_curve.edge_geometry)) = 1)) )) = 0)) ))
621 = 0;
622 wr4 : SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
623 'DIMENSIONAL_INSPECTION_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.
624 bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path
625 .edge_list | (NOT (((
626 'DIMENSIONAL_INSPECTION_SCHEMA.VERTEX_POINT' IN TYPEOF(oe\
627 edge.edge_start)) AND (
628 'DIMENSIONAL_INSPECTION_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
629 oe\edge.edge_start\vertex_point.vertex_geometry))) AND ((
630 'DIMENSIONAL_INSPECTION_SCHEMA.VERTEX_POINT' IN TYPEOF(oe\
631 edge.edge_end)) AND (
632 'DIMENSIONAL_INSPECTION_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
633 oe\edge.edge_end\vertex_point.vertex_geometry))))) )) = 0)) ))
634 = 0;
635 wr5 : SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
636 'DIMENSIONAL_INSPECTION_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.
637 bound)) ) | ('DIMENSIONAL_INSPECTION_SCHEMA.ORIENTED_PATH'
638 IN TYPEOF(elp_fbnds.bound)) )) = 0;
639 wr6 : (NOT ('DIMENSIONAL_INSPECTION_SCHEMA.SWEPT_SURFACE' IN TYPEOF(
640 face_geometry))) OR (SIZEOF([
641 'DIMENSIONAL_INSPECTION_SCHEMA.LINE',
642 'DIMENSIONAL_INSPECTION_SCHEMA.CONIC',
643 'DIMENSIONAL_INSPECTION_SCHEMA.POLYLINE',
644 'DIMENSIONAL_INSPECTION_SCHEMA.B_SPLINE_CURVE'] * TYPEOF(
645 face_geometry\swept_surface.swept_curve)) = 1);
646 wr7 : SIZEOF(QUERY ( vlp_fbnds <* QUERY ( bnds <* bounds | (
647 'DIMENSIONAL_INSPECTION_SCHEMA.VERTEX_LOOP' IN TYPEOF(bnds.
648 bound)) ) | (NOT ((
649 'DIMENSIONAL_INSPECTION_SCHEMA.VERTEX_POINT' IN TYPEOF(
650 vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND (
651 'DIMENSIONAL_INSPECTION_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
652 vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\
653 vertex_point.vertex_geometry)))) )) = 0;
654 wr8 : SIZEOF(QUERY ( bnd <* bounds | (NOT (SIZEOF([
655 'DIMENSIONAL_INSPECTION_SCHEMA.EDGE_LOOP',
656 'DIMENSIONAL_INSPECTION_SCHEMA.VERTEX_LOOP'] * TYPEOF(bnd.
657 bound)) = 1)) )) = 0;
658 wr9 : SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | (
659 'DIMENSIONAL_INSPECTION_SCHEMA.EDGE_LOOP' IN TYPEOF(bnds.
660 bound)) ) | (NOT (SIZEOF(QUERY ( oe <* elp_fbnds.bound\path
661 .edge_list | ((
662 'DIMENSIONAL_INSPECTION_SCHEMA.SURFACE_CURVE' IN TYPEOF(oe\
663 oriented_edge.edge_element\edge_curve.edge_geometry)) AND (
664 NOT (SIZEOF(QUERY ( sc_ag <* oe.edge_element\edge_curve.
665 edge_geometry\surface_curve.associated_geometry | (NOT (
666 'DIMENSIONAL_INSPECTION_SCHEMA.PCURVE' IN TYPEOF(sc_ag))) ))
667 = 0))) )) = 0)) )) = 0;
668 wr10: ((NOT ('DIMENSIONAL_INSPECTION_SCHEMA.SWEPT_SURFACE' IN
669 TYPEOF(face_geometry))) OR ((NOT (
670 'DIMENSIONAL_INSPECTION_SCHEMA.POLYLINE' IN TYPEOF(
671 face_geometry\swept_surface.swept_curve))) OR (SIZEOF(
672 face_geometry\swept_surface.swept_curve\polyline.points) >=
673 3))) AND (SIZEOF(QUERY ( elp_fbnds <* QUERY ( bnds <*
674 bounds | ('DIMENSIONAL_INSPECTION_SCHEMA.EDGE_LOOP' IN
675 TYPEOF(bnds.bound)) ) | (NOT (SIZEOF(QUERY ( oe <*
676 elp_fbnds.bound\path.edge_list | ((
677 'DIMENSIONAL_INSPECTION_SCHEMA.POLYLINE' IN TYPEOF(oe\
678 oriented_edge.edge_element\edge_curve.edge_geometry)) AND (
679 NOT (SIZEOF(oe\oriented_edge.edge_element\edge_curve.
680 edge_geometry\polyline.points) >= 3))) )) = 0)) )) = 0);
681 END_ENTITY; -- advanced_face
682
683 ENTITY angular_location
684 SUBTYPE OF (dimensional_location);
685 angle_selection : angle_relator;
686 END_ENTITY; -- angular_location
687
688 ENTITY angular_size
689 SUBTYPE OF (dimensional_size);
690 angle_selection : angle_relator;
691 END_ENTITY; -- angular_size
692
693 ENTITY angularity_tolerance
694 SUBTYPE OF (geometric_tolerance_with_datum_reference);
695 WHERE
696 wr1: SIZEOF(SELF\geometric_tolerance_with_datum_reference.
697 datum_system) < 3;
698 END_ENTITY; -- angularity_tolerance
699
700 ENTITY apex
701 SUBTYPE OF (derived_shape_aspect);
702 END_ENTITY; -- apex
703
704 ENTITY application_context;
705 application : label;
706 DERIVE
707 description : text := get_description_value(SELF);
708 id: identifier := get_id_value(SELF);
709 INVERSE
710 context_elements : SET [1:?] OF application_context_element FOR
711 frame_of_reference;
712 WHERE
713 wr1: SIZEOF(USEDIN(SELF,'DIMENSIONAL_INSPECTION_SCHEMA.' +
714 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
715 wr2: SIZEOF(USEDIN(SELF,'DIMENSIONAL_INSPECTION_SCHEMA.' +
716 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
717 END_ENTITY; -- application_context
718
719 ENTITY application_context_element
720 SUPERTYPE OF (ONEOF (product_context,product_definition_context));
721 name : label;
722 frame_of_reference : application_context;
723 END_ENTITY; -- application_context_element
724
725 ENTITY application_protocol_definition;
726 status : label;
727 application_interpreted_model_schema_name : label;
728 application_protocol_year : year_number;
729 application : application_context;
730 END_ENTITY; -- application_protocol_definition
731
732 ENTITY applied_area
733 SUBTYPE OF (shape_aspect);
734 WHERE
735 wr1: 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
736 TYPEOF(SELF.of_shape);
737 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
738 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
739 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
740 'DIMENSIONAL_INSPECTION_SCHEMA.' +
741 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
742 'DIMENSIONAL_INSPECTION_SCHEMA.' +
743 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
744 used_representation)) )) = 1)) )) = 0;
745 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
746 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
747 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
748 'DIMENSIONAL_INSPECTION_SCHEMA.' +
749 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
750 'DIMENSIONAL_INSPECTION_SCHEMA.' +
751 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
752 used_representation)) ) | (NOT ((2 <= SIZEOF(impl_rep.
753 used_representation.items)) AND (SIZEOF(impl_rep.
754 used_representation.items) <= 3))) )) = 0)) )) = 0;
755 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
756 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
757 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
758 'DIMENSIONAL_INSPECTION_SCHEMA.' +
759 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
760 'DIMENSIONAL_INSPECTION_SCHEMA.' +
761 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
762 used_representation)) AND (SIZEOF(QUERY ( srwp_i <* pdr.
763 used_representation.items | (NOT (srwp_i.name IN [
764 'orientation','effective length','maximum length'])) )) > 0)) ))
765 = 0) )) = 0;
766 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
767 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
768 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
769 'DIMENSIONAL_INSPECTION_SCHEMA.' +
770 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
771 'DIMENSIONAL_INSPECTION_SCHEMA.' +
772 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
773 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
774 impl_rep.used_representation.items | ((SIZEOF([
775 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
776 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
777 TYPEOF(it)) = 2) AND (it.name = 'effective length')) )) = 1)) ))
778 = 0)) )) <= 1;
779 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
780 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
781 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
782 'DIMENSIONAL_INSPECTION_SCHEMA.' +
783 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
784 'DIMENSIONAL_INSPECTION_SCHEMA.' +
785 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
786 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
787 impl_rep.used_representation.items | ((SIZEOF([
788 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
789 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
790 TYPEOF(it)) = 2) AND (it.name = 'maximum length')) )) <= 1)) ))
791 = 0)) )) = 0;
792 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
793 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
794 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
795 'DIMENSIONAL_INSPECTION_SCHEMA.' +
796 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
797 'DIMENSIONAL_INSPECTION_SCHEMA.' +
798 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
799 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
800 impl_rep.used_representation.items | ((
801 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
802 (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0;
803 END_ENTITY; -- applied_area
804
805 ENTITY applied_date_assignment
806 SUBTYPE OF (date_assignment);
807 items : SET [1:?] OF date_item;
808 END_ENTITY; -- applied_date_assignment
809
810 ENTITY applied_document_reference
811 SUBTYPE OF (document_reference);
812 items : SET [1:?] OF document_reference_item;
813 END_ENTITY; -- applied_document_reference
814
815 ENTITY applied_organization_assignment
816 SUBTYPE OF (organization_assignment);
817 items : SET [1:?] OF organization_item;
818 END_ENTITY; -- applied_organization_assignment
819
820 ENTITY applied_person_organization_assignment
821 SUBTYPE OF (person_and_organization_assignment);
822 items : SET [1:?] OF person_and_organization_item;
823 END_ENTITY; -- applied_person_organization_assignment
824
825 ENTITY applied_security_classification_assignment
826 SUBTYPE OF (security_classification_assignment);
827 items : SET [1:?] OF security_classification_item;
828 END_ENTITY; -- applied_security_classification_assignment
829
830 ENTITY axis1_placement
831 SUBTYPE OF (placement);
832 axis : OPTIONAL direction;
833 DERIVE
834 z : direction := NVL(normalise(axis),dummy_gri || direction([0,0,1]));
835 WHERE
836 wr1: SELF\geometric_representation_item.dim = 3;
837 END_ENTITY; -- axis1_placement
838
839 ENTITY axis2_placement_2d
840 SUBTYPE OF (placement);
841 ref_direction : OPTIONAL direction;
842 DERIVE
843 p : LIST [2:2] OF direction := build_2axes(ref_direction);
844 WHERE
845 wr1: SELF\geometric_representation_item.dim = 2;
846 END_ENTITY; -- axis2_placement_2d
847
848 ENTITY axis2_placement_3d
849 SUBTYPE OF (placement);
850 axis: OPTIONAL direction;
851 ref_direction : OPTIONAL direction;
852 DERIVE
853 p : LIST [3:3] OF direction := build_axes(axis,ref_direction);
854 WHERE
855 wr1: SELF\placement.location.dim = 3;
856 wr2: (NOT EXISTS(axis)) OR (axis.dim = 3);
857 wr3: (NOT EXISTS(ref_direction)) OR (ref_direction.dim = 3);
858 wr4: ((NOT EXISTS(axis)) OR (NOT EXISTS(ref_direction))) OR (
859 cross_product(axis,ref_direction).magnitude > 0);
860 END_ENTITY; -- axis2_placement_3d
861
862 ENTITY b_spline_curve
863 SUPERTYPE OF (ONEOF (uniform_curve,b_spline_curve_with_knots,
864 quasi_uniform_curve,bezier_curve) ANDOR rational_b_spline_curve)
865 SUBTYPE OF (bounded_curve);
866 degree : INTEGER;
867 control_points_list : LIST [2:?] OF cartesian_point;
868 curve_form: b_spline_curve_form;
869 closed_curve : LOGICAL;
870 self_intersect : LOGICAL;
871 DERIVE
872 upper_index_on_control_points : INTEGER := SIZEOF(
873 control_points_list) - 1;
874 control_points : ARRAY [0:
875 upper_index_on_control_points] OF
876 cartesian_point := list_to_array(
877 control_points_list,0,
878 upper_index_on_control_points);
879 WHERE
880 wr1: ((('DIMENSIONAL_INSPECTION_SCHEMA.UNIFORM_CURVE' IN TYPEOF(SELF))
881 OR ('DIMENSIONAL_INSPECTION_SCHEMA.QUASI_UNIFORM_CURVE' IN
882 TYPEOF(SELF))) OR (
883 'DIMENSIONAL_INSPECTION_SCHEMA.BEZIER_CURVE' IN TYPEOF(SELF)))
884 OR (
885 'DIMENSIONAL_INSPECTION_SCHEMA.B_SPLINE_CURVE_WITH_KNOTS' IN
886 TYPEOF(SELF));
887 END_ENTITY; -- b_spline_curve
888
889 ENTITY b_spline_curve_with_knots
890 SUBTYPE OF (b_spline_curve);
891 knot_multiplicities : LIST [2:?] OF INTEGER;
892 knots : LIST [2:?] OF parameter_value;
893 knot_spec: knot_type;
894 DERIVE
895 upper_index_on_knots : INTEGER := SIZEOF(knots);
896 WHERE
897 wr1: constraints_param_b_spline(degree,upper_index_on_knots,
898 upper_index_on_control_points,knot_multiplicities,knots);
899 wr2: SIZEOF(knot_multiplicities) = upper_index_on_knots;
900 END_ENTITY; -- b_spline_curve_with_knots
901
902 ENTITY b_spline_surface
903 SUPERTYPE OF (ONEOF (b_spline_surface_with_knots,uniform_surface,
904 quasi_uniform_surface,bezier_surface) ANDOR
905 rational_b_spline_surface)
906 SUBTYPE OF (bounded_surface);
907 u_degree : INTEGER;
908 v_degree : INTEGER;
909 control_points_list : LIST [2:?] OF LIST [2:?] OF cartesian_point;
910 surface_form : b_spline_surface_form;
911 u_closed : LOGICAL;
912 v_closed : LOGICAL;
913 self_intersect : LOGICAL;
914 DERIVE
915 u_upper : INTEGER := SIZEOF(control_points_list) - 1;
916 v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1;
917 control_points : ARRAY [0:u_upper] OF ARRAY [0:v_upper] OF
918 cartesian_point := make_array_of_array(
919 control_points_list,0,u_upper,0,v_upper);
920 WHERE
921 wr1: ((('DIMENSIONAL_INSPECTION_SCHEMA.UNIFORM_SURFACE' IN TYPEOF(
922 SELF)) OR (
923 'DIMENSIONAL_INSPECTION_SCHEMA.QUASI_UNIFORM_SURFACE' IN
924 TYPEOF(SELF))) OR (
925 'DIMENSIONAL_INSPECTION_SCHEMA.BEZIER_SURFACE' IN TYPEOF(
926 SELF))) OR (
927 'DIMENSIONAL_INSPECTION_SCHEMA.B_SPLINE_SURFACE_WITH_KNOTS'
928 IN TYPEOF(SELF));
929 END_ENTITY; -- b_spline_surface
930
931 ENTITY b_spline_surface_with_knots
932 SUBTYPE OF (b_spline_surface);
933 u_multiplicities : LIST [2:?] OF INTEGER;
934 v_multiplicities : LIST [2:?] OF INTEGER;
935 u_knots : LIST [2:?] OF parameter_value;
936 v_knots : LIST [2:?] OF parameter_value;
937 knot_spec : knot_type;
938 DERIVE
939 knot_u_upper : INTEGER := SIZEOF(u_knots);
940 knot_v_upper : INTEGER := SIZEOF(v_knots);
941 WHERE
942 wr1: constraints_param_b_spline(SELF\b_spline_surface.u_degree,
943 knot_u_upper,SELF\b_spline_surface.u_upper,u_multiplicities,
944 u_knots);
945 wr2: constraints_param_b_spline(SELF\b_spline_surface.v_degree,
946 knot_v_upper,SELF\b_spline_surface.v_upper,v_multiplicities,
947 v_knots);
948 wr3: SIZEOF(u_multiplicities) = knot_u_upper;
949 wr4: SIZEOF(v_multiplicities) = knot_v_upper;
950 END_ENTITY; -- b_spline_surface_with_knots
951
952 ENTITY bezier_curve
953 SUBTYPE OF (b_spline_curve);
954 END_ENTITY; -- bezier_curve
955
956 ENTITY bezier_surface
957 SUBTYPE OF (b_spline_surface);
958 END_ENTITY; -- bezier_surface
959
960 ENTITY block_shape_representation
961 SUBTYPE OF (shape_representation_with_parameters);
962 WHERE
963 wr1: SIZEOF(SELF.items) = 4;
964 wr2: SIZEOF(QUERY ( it <* SELF.items | ((
965 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
966 (it.name = 'orientation')) )) = 1;
967 wr3: SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([
968 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
969 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
970 TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1;
971 wr4: SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([
972 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
973 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
974 TYPEOF(it)) = 2) AND (it.name = 'width')) )) = 1;
975 wr5: SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([
976 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
977 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
978 TYPEOF(it)) = 2) AND (it.name = 'height')) )) = 1;
979 END_ENTITY; -- block_shape_representation
980
981 ENTITY boss
982 SUBTYPE OF (feature_definition);
983 WHERE
984 wr1 : SELF\characterized_object.description IN ['circular','complex',
985 'rectangular'];
986 wr2 : SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
987 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
988 | (
989 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
990 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
991 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
992 sa_occ.description = 'boss height occurrence') AND (SIZEOF(
993 QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
994 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
995 + 'RELATED_SHAPE_ASPECT') | ((sar.description =
996 'path feature component usage') AND ((
997 'DIMENSIONAL_INSPECTION_SCHEMA.' +
998 'SHAPE_DEFINING_RELATIONSHIP') IN TYPEOF(sar))) ) | (((
999 'DIMENSIONAL_INSPECTION_SCHEMA.PATH_FEATURE_COMPONENT' IN
1000 TYPEOF(sdr.relating_shape_aspect)) AND (sdr.
1001 relating_shape_aspect.description = 'linear')) AND (sdr.
1002 name = 'boss height')) )) = 1)) )) = 1)) )) = 0;
1003 wr3 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
1004 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1005 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1006 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1007 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
1008 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1009 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1010 used_representation)) AND ((1 <= SIZEOF(pdr.
1011 used_representation.items)) AND (SIZEOF(pdr.
1012 used_representation.items) <= 2))) )) = 1) )) = 1;
1013 wr4 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
1014 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1015 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1016 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1017 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
1018 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1019 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1020 used_representation)) AND (SIZEOF(QUERY ( srwp_i <* pdr.
1021 used_representation.items | ((srwp_i.name = 'orientation')
1022 OR (srwp_i.name = 'fillet radius')) )) = SIZEOF(pdr.
1023 used_representation.items))) )) = 1) )) = 1;
1024 wr5 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
1025 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1026 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
1027 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
1028 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1029 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1030 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1031 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1032 impl_rep.used_representation.items | ((SIZEOF([
1033 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1034 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
1035 TYPEOF(it)) = 2) AND (it.name = 'fillet radius')) )) <= 1)) ))
1036 = 0)) )) = 0;
1037 wr6 : (NOT (SELF\characterized_object.description = 'circular')) OR
1038 (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
1039 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1040 | (
1041 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1042 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
1043 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1044 sa_occ.description = 'circular profile occurrence') AND (
1045 SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
1046 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
1047 + 'RELATED_SHAPE_ASPECT') | ((sar.description =
1048 'profile usage') AND ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
1049 IN TYPEOF(sar))) ) | (
1050 'DIMENSIONAL_INSPECTION_SCHEMA.CIRCULAR_CLOSED_PROFILE' IN
1051 TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0);
1052 wr7 : SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
1053 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1054 | (
1055 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1056 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
1057 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1058 sa_occ.description = 'top condition occurrence') AND (
1059 SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
1060 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'+
1061 'RELATED_SHAPE_ASPECT')
1062 | ((sar.description = 'boss top usage') AND
1063 ('DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1064 IN TYPEOF(sar))) ) | (
1065 'DIMENSIONAL_INSPECTION_SCHEMA.BOSS_TOP' IN TYPEOF(fcr.
1066 relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0;
1067 wr8 : (NOT (SELF\characterized_object.description = 'circular')) OR
1068 (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
1069 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1070 | (
1071 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1072 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
1073 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1074 sa_occ.description = 'change in diameter occurrence') AND (
1075 SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
1076 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
1077 + 'RELATED_SHAPE_ASPECT') | ((sar.description =
1078 'taper usage') AND (
1079 'DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1080 IN TYPEOF(sar))) ) | ((
1081 'DIMENSIONAL_INSPECTION_SCHEMA.TAPER' IN TYPEOF(fcr.
1082 related_shape_aspect)) AND (
1083 'DIMENSIONAL_INSPECTION_SCHEMA.BOSS' IN TYPEOF(fcr.
1084 relating_shape_aspect))) )) = 1)) )) <= 1)) )) = 0);
1085 wr9 : (NOT (SELF\characterized_object.description = 'complex')) OR (
1086 SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
1087 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1088 | (
1089 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1090 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
1091 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1092 sa_occ.description = 'enclosed boundary occurrence') AND (
1093 SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
1094 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
1095 + 'RELATED_SHAPE_ASPECT') | ((sar.description =
1096 'profile usage') AND
1097 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
1098 IN TYPEOF(sar))) ) | (SIZEOF([
1099 'DIMENSIONAL_INSPECTION_SCHEMA.NGON_CLOSED_PROFILE',
1100 'DIMENSIONAL_INSPECTION_SCHEMA.CLOSED_PATH_PROFILE'] *
1101 TYPEOF(sdr.relating_shape_aspect)) = 1) )) = 1)) )) = 1)) ))
1102 = 0);
1103 wr10: (NOT (SELF\characterized_object.description IN ['complex',
1104 'rectangular'])) OR (SIZEOF(QUERY ( pds <* QUERY ( pd <*
1105 USEDIN(SELF,
1106 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1107 | (
1108 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1109 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
1110 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1111 sa_occ.description = 'change in boundary occurrence') AND (
1112 SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
1113 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
1114 + 'RELATING_SHAPE_ASPECT') | ((sar.description =
1115 'taper usage') AND
1116 ('DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1117 IN TYPEOF(sar))) ) | (((
1118 'DIMENSIONAL_INSPECTION_SCHEMA.TAPER' IN TYPEOF(fcr.
1119 related_shape_aspect)) AND (
1120 'DIMENSIONAL_INSPECTION_SCHEMA.BOSS' IN TYPEOF(fcr.
1121 relating_shape_aspect))) AND (fcr.related_shape_aspect.
1122 description IN ['angle taper','directed taper'])) )) = 1)) ))
1123 <= 1)) )) = 0);
1124 wr11: (NOT (SELF\characterized_object.description = 'rectangular'))
1125 OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
1126 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1127 | (
1128 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1129 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
1130 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1131 sa_occ.description = 'rectangular profile occurrence') AND
1132 (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
1133 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
1134 + 'RELATED_SHAPE_ASPECT') | ((sar.description =
1135 'profile usage') AND (
1136 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
1137 IN TYPEOF(sar))) ) | (
1138 'DIMENSIONAL_INSPECTION_SCHEMA.RECTANGULAR_CLOSED_PROFILE'
1139 IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) ))
1140 = 0);
1141 wr12: SIZEOF(QUERY ( pdr <* get_property_definition_representations(
1142 SELF) | (('DIMENSIONAL_INSPECTION_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
1143 IN TYPEOF(pdr.used_representation)) AND (pdr.
1144 used_representation.name = 'maximum feature limit')) )) >=
1145 0;
1146 END_ENTITY; -- boss
1147
1148 ENTITY boss_top
1149 SUBTYPE OF (shape_aspect);
1150 WHERE
1151 wr1: 'DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_DEFINITION' IN
1152 TYPEOF(SELF.of_shape.definition);
1153 wr2: SELF.description IN ['planar','complex'];
1154 wr3: (NOT (SELF.description = 'planar')) OR (SIZEOF(QUERY ( pd <*
1155 USEDIN(SELF,
1156 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1157 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1158 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1159 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
1160 'DIMENSIONAL_INSPECTION_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
1161 IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
1162 wr4: (NOT (SELF.description = 'planar')) OR (SIZEOF(QUERY ( pd <*
1163 USEDIN(SELF,
1164 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1165 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1166 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1167 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
1168 'DIMENSIONAL_INSPECTION_SCHEMA.LOCATION_SHAPE_REPRESENTATION'
1169 IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
1170 wr5: (NOT (SELF.description = 'complex')) OR (SIZEOF(QUERY ( pd <*
1171 USEDIN(SELF,
1172 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1173 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1174 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1175 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
1176 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
1177 TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
1178 wr6: SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
1179 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
1180 'RELATING_SHAPE_ASPECT') | (((sar.description =
1181 'boss top usage') AND (sar.name IN ['boss height start',
1182 'boss height end'])) AND (
1183 'DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1184 IN TYPEOF(sar))) ) | (((fcr.related_shape_aspect.description
1185 = 'top condition occurrence') AND (
1186 'DIMENSIONAL_INSPECTION_SCHEMA.BOSS' IN TYPEOF(fcr.
1187 related_shape_aspect.of_shape.definition))) AND (
1188 'DIMENSIONAL_INSPECTION_SCHEMA.BOSS_TOP' IN TYPEOF(fcr.
1189 relating_shape_aspect))) )) >= 1;
1190 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1191 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1192 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1193 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1194 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1195 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1196 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1197 used_representation)) )) <= 1)) )) = 0;
1198 wr8: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1199 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1200 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1201 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1202 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1203 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1204 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1205 used_representation)) ) | (NOT (SIZEOF(impl_rep.
1206 used_representation.items) = 1)) )) = 0)) )) = 0;
1207 wr9: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1208 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1209 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1210 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1211 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1212 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1213 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1214 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1215 impl_rep.used_representation.items | ((SIZEOF([
1216 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1217 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
1218 TYPEOF(it)) = 2) AND (it.name = 'top radius')) )) <= 1)) ))
1219 = 0)) )) = 0;
1220 END_ENTITY; -- boss_top
1221
1222 ENTITY bounded_curve
1223 SUPERTYPE OF (ONEOF (polyline,b_spline_curve,composite_curve))
1224 SUBTYPE OF (curve);
1225 END_ENTITY; -- bounded_curve
1226
1227 ENTITY bounded_surface
1228 SUPERTYPE OF (b_spline_surface)
1229 SUBTYPE OF (surface);
1230 END_ENTITY; -- bounded_surface
1231
1232 ENTITY brep_with_voids
1233 SUBTYPE OF (manifold_solid_brep);
1234 voids : SET [1:?] OF oriented_closed_shell;
1235 END_ENTITY; -- brep_with_voids
1236
1237 ENTITY calendar_date
1238 SUBTYPE OF (date);
1239 day_component : day_in_month_number;
1240 month_component : month_in_year_number;
1241 WHERE
1242 wr1: valid_calendar_date(SELF);
1243 END_ENTITY; -- calendar_date
1244
1245 ENTITY cartesian_point
1246 SUBTYPE OF (point);
1247 coordinates : LIST [1:3] OF length_measure;
1248 END_ENTITY; -- cartesian_point
1249
1250 ENTITY cartesian_transformation_operator
1251 SUPERTYPE OF (cartesian_transformation_operator_3d)
1252 SUBTYPE OF (geometric_representation_item,
1253 functionally_defined_transformation);
1254 axis1 : OPTIONAL direction;
1255 axis2 : OPTIONAL direction;
1256 local_origin : cartesian_point;
1257 scale : OPTIONAL REAL;
1258 DERIVE
1259 scl : REAL := NVL(scale,1);
1260 WHERE
1261 wr1: scl > 0;
1262 END_ENTITY; -- cartesian_transformation_operator
1263
1264 ENTITY cartesian_transformation_operator_3d
1265 SUBTYPE OF (cartesian_transformation_operator);
1266 axis3 : OPTIONAL direction;
1267 DERIVE
1268 u : LIST [3:3] OF direction := base_axis(3,SELF\
1269 cartesian_transformation_operator.axis1,SELF\
1270 cartesian_transformation_operator.axis2,axis3);
1271 WHERE
1272 wr1: SELF\geometric_representation_item.dim = 3;
1273 END_ENTITY; -- cartesian_transformation_operator_3d
1274
1275 ENTITY centre_of_symmetry
1276 SUBTYPE OF (derived_shape_aspect);
1277 WHERE
1278 wr1: SIZEOF(QUERY ( sadr <* deriving_relationships | (NOT (
1279 'DIMENSIONAL_INSPECTION_SCHEMA.SYMMETRIC_SHAPE_ASPECT' IN
1280 TYPEOF(sadr.related_shape_aspect))) )) = 0;
1281 END_ENTITY; -- centre_of_symmetry
1282
1283 ENTITY chamfer
1284 SUBTYPE OF (transition_feature);
1285 WHERE
1286 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1287 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1288 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1289 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1290 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1291 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
1292 TYPEOF(pdr.used_representation)) AND (pdr.
1293 used_representation.name = 'chamfer face')) )) <= 1)) )) = 0;
1294 wr2: SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
1295 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
1296 'RELATING_SHAPE_ASPECT') |
1297 ('DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1298 IN TYPEOF(sar)) ) | (((
1299 'DIMENSIONAL_INSPECTION_SCHEMA.CHAMFER_OFFSET' IN TYPEOF(fcr
1300 .related_shape_aspect)) AND (
1301 'DIMENSIONAL_INSPECTION_SCHEMA.CHAMFER' IN TYPEOF(fcr.
1302 relating_shape_aspect))) AND (fcr.related_shape_aspect.
1303 description = 'first offset')) )) = 1;
1304 wr3: SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
1305 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
1306 'RELATING_SHAPE_ASPECT') |
1307 ('DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1308 IN TYPEOF(sar)) ) | (((
1309 'DIMENSIONAL_INSPECTION_SCHEMA.CHAMFER_OFFSET' IN TYPEOF(fcr
1310 .related_shape_aspect)) AND (
1311 'DIMENSIONAL_INSPECTION_SCHEMA.CHAMFER' IN TYPEOF(fcr.
1312 relating_shape_aspect))) AND (fcr.related_shape_aspect.
1313 description = 'second offset')) )) = 1;
1314 END_ENTITY; -- chamfer
1315
1316 ENTITY chamfer_offset
1317 SUBTYPE OF (shape_aspect);
1318 WHERE
1319 wr1: SELF.description IN ['first offset','second offset'];
1320 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1321 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1322 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1323 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1324 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1325 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1326 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1327 used_representation)) )) = 1)) )) = 0;
1328 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1329 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1330 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1331 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1332 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1333 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1334 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1335 used_representation)) ) | (NOT (SIZEOF(impl_rep.
1336 used_representation.items) = 1)) )) = 0)) )) = 0;
1337 wr4: (NOT (SELF.description = 'first offset')) OR (SIZEOF(
1338 QUERY ( pd <* USEDIN(SELF,
1339 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1340 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1341 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1342 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1343 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1344 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1345 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1346 impl_rep.used_representation.items | ((SIZEOF([
1347 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1348 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
1349 TYPEOF(it)) = 2) AND (it.name = 'offset amount')) )) = 1)) ))
1350 = 0)) )) = 0);
1351 wr5: (NOT (SELF.description = 'first offset')) OR (SIZEOF(
1352 QUERY ( pd <* USEDIN(SELF,
1353 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1354 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1355 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1356 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1357 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
1358 TYPEOF(pdr.used_representation)) AND (pdr.
1359 used_representation.name = 'first face shape')) )) <= 1)) ))
1360 = 0);
1361 wr6: (NOT (SELF.description = 'second offset')) OR (SIZEOF(
1362 QUERY ( pd <* USEDIN(SELF,
1363 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1364 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1365 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1366 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1367 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1368 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1369 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1370 impl_rep.used_representation.items | (((SIZEOF([
1371 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1372 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
1373 TYPEOF(it)) = 2) AND (it.name = 'offset amount')) OR ((
1374 SIZEOF([
1375 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1376 'DIMENSIONAL_INSPECTION_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']
1377 * TYPEOF(it)) = 2) AND (it.name = 'offset angle'))) )) = 1)) ))
1378 = 0)) )) = 0);
1379 wr7: (NOT (SELF.description = 'second offset')) OR (SIZEOF(
1380 QUERY ( pd <* USEDIN(SELF,
1381 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1382 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1383 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1384 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1385 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
1386 TYPEOF(pdr.used_representation)) AND (pdr.
1387 used_representation.name = 'second face shape')) )) <= 1)) ))
1388 = 0);
1389 wr8: SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(SELF,
1390 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
1391 'RELATED_SHAPE_ASPECT') | ((
1392 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1393 'FEATURE_COMPONENT_RELATIONSHIP') IN TYPEOF(sar)) ) | ((
1394 'DIMENSIONAL_INSPECTION_SCHEMA.CHAMFER' IN TYPEOF(sdr.
1395 relating_shape_aspect)) AND (
1396 'DIMENSIONAL_INSPECTION_SCHEMA.CHAMFER_OFFSET' IN TYPEOF(sdr
1397 .related_shape_aspect))) )) = 1;
1398 END_ENTITY; -- chamfer_offset
1399
1400 ENTITY characterized_object;
1401 name : label;
1402 description : OPTIONAL text;
1403 END_ENTITY; -- characterized_object
1404
1405 ENTITY circle
1406 SUBTYPE OF (conic);
1407 radius : positive_length_measure;
1408 END_ENTITY; -- circle
1409
1410 ENTITY circular_closed_profile
1411 SUBTYPE OF (shape_aspect);
1412 WHERE
1413 wr1: 'DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_DEFINITION' IN
1414 TYPEOF(SELF.of_shape.definition);
1415 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1416 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1417 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1418 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1419 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1420 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1421 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1422 used_representation)) )) = 1)) )) = 0;
1423 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1424 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1425 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1426 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1427 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1428 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1429 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1430 used_representation)) ) | (NOT (SIZEOF(impl_rep.
1431 used_representation.items) = 2)) )) = 0)) )) = 0;
1432 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1433 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1434 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1435 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1436 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1437 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1438 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1439 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1440 impl_rep.used_representation.items | ((
1441 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
1442 (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0;
1443 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1444 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1445 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1446 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1447 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1448 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1449 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1450 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1451 impl_rep.used_representation.items | ((SIZEOF([
1452 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1453 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
1454 TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) )) = 0)) ))
1455 = 0;
1456 END_ENTITY; -- circular_closed_profile
1457
1458 ENTITY circular_pattern
1459 SUBTYPE OF (replicate_feature);
1460 WHERE
1461 wr1: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
1462 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1463 | ('DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
1464 IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
1465 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | (
1466 SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
1467 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
1468 'RELATING_SHAPE_ASPECT') |
1469 ('DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1470 IN TYPEOF(sar)) ) | (
1471 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT' IN TYPEOF(sdr.
1472 related_shape_aspect)) )) = 1) )) <= 3)) )) = 0;
1473 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1474 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1475 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1476 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1477 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1478 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1479 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1480 used_representation)) )) = 1)) )) = 0;
1481 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1482 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1483 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1484 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1485 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1486 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1487 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1488 used_representation)) ) | (NOT ((SIZEOF(impl_rep.
1489 used_representation.items) >= 3) AND (SIZEOF(impl_rep.
1490 used_representation.items) <= 5))) )) = 0)) )) = 0;
1491 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1492 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1493 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1494 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1495 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1496 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1497 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1498 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1499 impl_rep.used_representation.items | ((SIZEOF([
1500 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1501 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
1502 TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) <= 1)) )) =
1503 0)) )) = 0;
1504 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1505 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1506 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1507 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1508 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1509 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1510 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1511 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1512 impl_rep.used_representation.items | ((SIZEOF([
1513 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1514 'DIMENSIONAL_INSPECTION_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']
1515 * TYPEOF(it)) = 2) AND (it.name = 'base feature rotation')) ))
1516 <= 1)) )) = 0)) )) = 0;
1517 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1518 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1519 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1520 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1521 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1522 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1523 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1524 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1525 impl_rep.used_representation.items | (((
1526 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM'
1527 IN TYPEOF(it)) AND (
1528 'DIMENSIONAL_INSPECTION_SCHEMA.COUNT_MEASURE' IN TYPEOF(it\
1529 measure_with_unit.value_component))) AND (it.name =
1530 'number of features')) )) = 1)) )) = 0)) )) = 0;
1531 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1532 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1533 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1534 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1535 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1536 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1537 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1538 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1539 impl_rep.used_representation.items | ((SIZEOF([
1540 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1541 'DIMENSIONAL_INSPECTION_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']
1542 * TYPEOF(it)) = 2) AND (it.name = 'angular spacing')) )) = 1)) ))
1543 = 0)) )) = 0;
1544 wr8: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1545 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1546 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1547 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1548 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1549 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1550 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1551 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1552 impl_rep.used_representation.items | ((
1553 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
1554 (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0;
1555 END_ENTITY; -- circular_pattern
1556
1557 ENTITY circular_runout_tolerance
1558 SUBTYPE OF (geometric_tolerance_with_datum_reference);
1559 WHERE
1560 wr1: SIZEOF(SELF\geometric_tolerance_with_datum_reference.
1561 datum_system) <= 2;
1562 END_ENTITY; -- circular_runout_tolerance
1563
1564 ENTITY closed_path_profile
1565 SUBTYPE OF (shape_aspect);
1566 WHERE
1567 wr1: 'DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_DEFINITION' IN
1568 TYPEOF(SELF.of_shape.definition);
1569 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1570 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.' +
1571 'DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1572 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1573 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1574 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1575 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1576 used_representation)) )) = 1)) )) = 0;
1577 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1578 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1579 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1580 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1581 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1582 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1583 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1584 used_representation)) ) | (NOT (SIZEOF(impl_rep.
1585 used_representation.items) = 1)) )) = 0)) )) = 0;
1586 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1587 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1588 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
1589 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1590 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
1591 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1592 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
1593 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
1594 impl_rep.used_representation.items | ((
1595 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
1596 (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0;
1597 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
1598 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.' +
1599 'DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
1600 'DIMENSIONAL_INSPECTION_SCHEMA.' +
1601 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
1602 'DIMENSIONAL_INSPECTION_SCHEMA.PATH_SHAPE_REPRESENTATION' IN
1603 TYPEOF(pdr.used_representation)) )) = 1)) )) = 0;
1604 END_ENTITY; -- closed_path_profile
1605
1606 ENTITY closed_shell
1607 SUBTYPE OF (connected_face_set);
1608 END_ENTITY; -- closed_shell
1609
1610 ENTITY coaxiality_tolerance
1611 SUBTYPE OF (geometric_tolerance_with_datum_reference);
1612 WHERE
1613 wr1: SIZEOF(SELF\geometric_tolerance_with_datum_reference.
1614 datum_system) <= 2;
1615 END_ENTITY; -- coaxiality_tolerance
1616
1617 ENTITY common_datum
1618 SUBTYPE OF (composite_shape_aspect, datum);
1619 WHERE
1620 wr1: SIZEOF(SELF.component_relationships) = 2;
1621 wr2: SIZEOF(QUERY ( sar <* SELF.component_relationships | (NOT ((
1622 'DIMENSIONAL_INSPECTION_SCHEMA.DATUM' IN TYPEOF(sar.
1623 related_shape_aspect)) AND (NOT (
1624 'DIMENSIONAL_INSPECTION_SCHEMA.COMMON_DATUM' IN TYPEOF(sar.
1625 related_shape_aspect))))) )) = 0;
1626 END_ENTITY; -- common_datum
1627
1628 ENTITY composite_curve
1629 SUBTYPE OF (bounded_curve);
1630 segments : LIST [1:?] OF composite_curve_segment;
1631 self_intersect : LOGICAL;
1632 DERIVE
1633 n_segments : INTEGER := SIZEOF(segments);
1634 closed_curve : LOGICAL := segments[n_segments].transition <>
1635 discontinuous;
1636 WHERE
1637 wr1: ((NOT closed_curve) AND (SIZEOF(QUERY ( temp <* segments | (
1638 temp.transition = discontinuous) )) = 1)) OR (closed_curve
1639 AND (SIZEOF(QUERY ( temp <* segments | (temp.transition =
1640 discontinuous) )) = 0));
1641 END_ENTITY; -- composite_curve
1642
1643 ENTITY composite_curve_on_surface
1644 SUBTYPE OF (composite_curve);
1645 DERIVE
1646 basis_surface : SET [0:2] OF surface := get_basis_surface(SELF);
1647 WHERE
1648 wr1: SIZEOF(basis_surface) > 0;
1649 wr2: constraints_composite_curve_on_surface(SELF);
1650 END_ENTITY; -- composite_curve_on_surface
1651
1652 ENTITY composite_curve_segment
1653 SUBTYPE OF (founded_item);
1654 transition : transition_code;
1655 same_sense : BOOLEAN;
1656 parent_curve : curve;
1657 INVERSE
1658 using_curves : BAG [1:?] OF composite_curve FOR segments;
1659 WHERE
1660 wr1: 'DIMENSIONAL_INSPECTION_SCHEMA.BOUNDED_CURVE' IN TYPEOF(
1661 parent_curve);
1662 END_ENTITY; -- composite_curve_segment
1663
1664 ENTITY composite_hole
1665 SUBTYPE OF (compound_feature);
1666 WHERE
1667 wr1: SELF\characterized_object.description IN ['counterbore',
1668 'countersunk'];
1669 wr2: SIZEOF(QUERY ( pds <* USEDIN(SELF,
1670 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1671 | ((
1672 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1673 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
1674 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1675 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
1676 TYPEOF(csa)) AND (SIZEOF(QUERY ( sar <* csa.
1677 component_relationships |
1678 (('DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1679 IN TYPEOF(sar)) AND (
1680 'DIMENSIONAL_INSPECTION_SCHEMA.ROUND_HOLE' IN TYPEOF(sar.
1681 related_shape_aspect))) )) = 2)) )) = 1)) )) = 1;
1682 wr3: (NOT (SELF\characterized_object.description = 'countersunk'))
1683 OR (SIZEOF(QUERY ( pds <* USEDIN(SELF,
1684 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1685 | ((
1686 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1687 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
1688 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1689 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
1690 TYPEOF(csa)) AND (SIZEOF(QUERY ( sar <* csa.
1691 component_relationships | ((
1692 'DIMENSIONAL_INSPECTION_SCHEMA.ROUND_HOLE' IN TYPEOF(sar.
1693 related_shape_aspect)) AND (NOT (SIZEOF(QUERY ( pds <*
1694 QUERY ( pd <* USEDIN(sar.related_shape_aspect,
1695 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1696 | ('DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
1697 IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
1698 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1699 sa_occ.description = 'change in diameter occurrence') AND (
1700 SIZEOF(QUERY ( fcr2 <* QUERY ( sar2 <* USEDIN(sa_occ,
1701 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'+
1702 'RELATING_SHAPE_ASPECT')
1703 | ((sar2.description = 'taper usage') AND
1704 ('DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1705 IN TYPEOF(sar2))) ) | ('DIMENSIONAL_INSPECTION_SCHEMA.TAPER'
1706 IN TYPEOF(fcr2.related_shape_aspect)) )) = 1)) )) = 0)) )) =
1707 0))) )) = 1)) )) = 1)) )) = 1);
1708 END_ENTITY; -- composite_hole
1709
1710 ENTITY composite_shape_aspect
1711 SUBTYPE OF (shape_aspect);
1712 INVERSE
1713 component_relationships : SET [2:?] OF shape_aspect_relationship FOR
1714 relating_shape_aspect;
1715 END_ENTITY; -- composite_shape_aspect
1716
1717 ENTITY compound_feature
1718 SUBTYPE OF (feature_definition);
1719 WHERE
1720 wr1: SIZEOF(QUERY ( pds <* USEDIN(SELF,
1721 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1722 | ((
1723 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1724 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
1725 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1726 csa.name = 'compound feature in solid') AND (
1727 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
1728 TYPEOF(csa))) )) = 1)) )) = 1;
1729 wr2: SIZEOF(QUERY ( pds <* USEDIN(SELF,
1730 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1731 | ((
1732 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1733 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
1734 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | (
1735 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
1736 TYPEOF(csa)) )) = 1)) )) = 1;
1737 wr3: SIZEOF(QUERY ( pds <* USEDIN(SELF,
1738 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1739 | ((
1740 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1741 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
1742 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1743 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
1744 TYPEOF(csa)) AND (SIZEOF(QUERY ( fcr <* csa.
1745 component_relationships | (NOT (
1746 'DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
1747 IN TYPEOF(fcr))) )) = 0)) )) = 1)) )) = 1;
1748 wr4: SIZEOF(QUERY ( pds <* USEDIN(SELF,
1749 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1750 | ((
1751 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1752 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
1753 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | (
1754 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
1755 TYPEOF(csa)) )) = 1)) )) = 1;
1756 wr5: SIZEOF(QUERY ( pds <* USEDIN(SELF,
1757 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1758 | ((
1759 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1760 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
1761 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1762 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
1763 TYPEOF(csa)) AND (SIZEOF(QUERY ( sar <* csa.
1764 component_relationships | (
1765 'DIMENSIONAL_INSPECTION_SCHEMA.THREAD' IN TYPEOF(sar.
1766 related_shape_aspect)) )) = 0)) )) = 1)) )) = 1;
1767 wr6: SIZEOF(QUERY ( pds <* USEDIN(SELF,
1768 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
1769 | ((
1770 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
1771 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
1772 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
1773 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
1774 TYPEOF(csa)) AND (SIZEOF(QUERY ( sar <* csa.
1775 component_relationships | ((
1776 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOUND_FEATURE' IN TYPEOF(
1777 sar.related_shape_aspect)) AND (sar.related_shape_aspect\
1778 characterized_object.name <> SELF\characterized_object.name)) ))
1779 = 0)) )) = 1)) )) = 1;
1780 END_ENTITY; -- compound_feature
1781
1782 ENTITY compound_representation_item
1783 SUBTYPE OF (representation_item);
1784 item_element : compound_item_definition;
1785 END_ENTITY; -- compound_representation_item
1786
1787 ENTITY concentricity_tolerance
1788 SUBTYPE OF (geometric_tolerance_with_datum_reference);
1789 WHERE
1790 wr1: SIZEOF(SELF\geometric_tolerance_with_datum_reference.
1791 datum_system) = 1;
1792 END_ENTITY; -- concentricity_tolerance
1793
1794 ENTITY conic
1795 SUPERTYPE OF (ONEOF (circle,ellipse,hyperbola,parabola))
1796 SUBTYPE OF (curve);
1797 position : axis2_placement;
1798 END_ENTITY; -- conic
1799
1800 ENTITY conical_surface
1801 SUBTYPE OF (elementary_surface);
1802 radius : length_measure;
1803 semi_angle : plane_angle_measure;
1804 WHERE
1805 wr1: radius >= 0;
1806 END_ENTITY; -- conical_surface
1807
1808 ENTITY connected_face_set
1809 SUPERTYPE OF (ONEOF (closed_shell,open_shell))
1810 SUBTYPE OF (topological_representation_item);
1811 cfs_faces : SET [1:?] OF face;
1812 END_ENTITY; -- connected_face_set
1813
1814 ENTITY context_dependent_unit
1815 SUBTYPE OF (named_unit);
1816 name : label;
1817 END_ENTITY; -- context_dependent_unit
1818
1819 ENTITY conversion_based_unit
1820 SUBTYPE OF (named_unit);
1821 name : label;
1822 conversion_factor : measure_with_unit;
1823 END_ENTITY; -- conversion_based_unit
1824
1825 ENTITY coordinated_universal_time_offset;
1826 hour_offset : INTEGER;
1827 minute_offset : OPTIONAL INTEGER;
1828 sense : ahead_or_behind;
1829 DERIVE
1830 actual_minute_offset : INTEGER := NVL(minute_offset,0);
1831 WHERE
1832 wr1: (0 <= hour_offset) AND (hour_offset < 24);
1833 wr2: (0 <= actual_minute_offset) AND (actual_minute_offset <= 59);
1834 wr3: NOT (((hour_offset <> 0) OR (actual_minute_offset <> 0)) AND (
1835 sense = exact));
1836 END_ENTITY; -- coordinated_universal_time_offset
1837
1838 ENTITY curve
1839 SUPERTYPE OF (ONEOF (line,conic,pcurve,surface_curve))
1840 SUBTYPE OF (geometric_representation_item);
1841 END_ENTITY; -- curve
1842
1843 ENTITY cylindrical_shape_representation
1844 SUBTYPE OF (shape_representation_with_parameters);
1845 WHERE
1846 wr1: SIZEOF(SELF.items) = 3;
1847 wr2: SIZEOF(QUERY ( it <* SELF.items | ((
1848 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
1849 (it.name = 'orientation')) )) = 1;
1850 wr3: SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([
1851 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1852 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
1853 TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1;
1854 wr4: SIZEOF(QUERY ( it <* SELF.items | ((SIZEOF([
1855 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
1856 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
1857 TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1;
1858 END_ENTITY; -- cylindrical_shape_representation
1859
1860 ENTITY cylindrical_surface
1861 SUBTYPE OF (elementary_surface);
1862 radius : positive_length_measure;
1863 END_ENTITY; -- cylindrical_surface
1864
1865 ENTITY cylindricity_tolerance
1866 SUBTYPE OF (geometric_tolerance);
1867 WHERE
1868 wr1: NOT (('DIMENSIONAL_INSPECTION_SCHEMA.' +
1869 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE') IN TYPEOF(SELF));
1870 END_ENTITY; -- cylindricity_tolerance
1871
1872 ENTITY date
1873 SUPERTYPE OF (calendar_date);
1874 year_component : year_number;
1875 END_ENTITY; -- date
1876
1877 ENTITY date_and_time;
1878 date_component : date;
1879 time_component : local_time;
1880 END_ENTITY; -- date_and_time
1881
1882 ENTITY date_assignment
1883 ABSTRACT SUPERTYPE;
1884 assigned_date : date;
1885 role : date_role;
1886 END_ENTITY; -- date_assignment
1887
1888 ENTITY date_role;
1889 name : label;
1890 DERIVE
1891 description : text := get_description_value(SELF);
1892 WHERE
1893 wr1: SIZEOF(USEDIN(SELF,'DIMENSIONAL_INSPECTION_SCHEMA.' +
1894 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
1895 END_ENTITY; -- date_role
1896
1897 ENTITY datum
1898 SUBTYPE OF (shape_aspect);
1899 identification : identifier;
1900 INVERSE
1901 established_by_relationships : SET [1:?] OF
1902 shape_aspect_relationship FOR
1903 related_shape_aspect;
1904 WHERE
1905 wr1: SIZEOF(QUERY ( x <* SELF.established_by_relationships | (
1906 SIZEOF(TYPEOF(x.relating_shape_aspect) * [
1907 'DIMENSIONAL_INSPECTION_SCHEMA.DATUM_FEATURE',
1908 'DIMENSIONAL_INSPECTION_SCHEMA.DATUM_TARGET']) <> 1) )) = 0;
1909 END_ENTITY; -- datum
1910
1911 ENTITY datum_feature
1912 SUBTYPE OF (shape_aspect);
1913 INVERSE
1914 feature_basis_relationship : shape_aspect_relationship FOR
1915 relating_shape_aspect;
1916 WHERE
1917 wr1: SIZEOF(QUERY ( sar <* bag_to_set(USEDIN(SELF,
1918 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
1919 'RELATING_SHAPE_ASPECT')) | (NOT (
1920 'DIMENSIONAL_INSPECTION_SCHEMA.DATUM' IN TYPEOF(sar.
1921 related_shape_aspect))) )) = 0;
1922 wr2: SELF.product_definitional = TRUE;
1923 END_ENTITY; -- datum_feature
1924
1925 ENTITY datum_reference;
1926 precedence : INTEGER;
1927 referenced_datum : datum;
1928 WHERE
1929 wr1: precedence > 0;
1930 END_ENTITY; -- datum_reference
1931
1932 ENTITY datum_target
1933 SUBTYPE OF (shape_aspect);
1934 target_id : identifier;
1935 INVERSE
1936 target_basis_relationship : shape_aspect_relationship FOR
1937 relating_shape_aspect;
1938 WHERE
1939 wr1: SIZEOF(QUERY ( sar <* bag_to_set(USEDIN(SELF,
1940 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
1941 'RELATING_SHAPE_ASPECT')) | (NOT (
1942 'DIMENSIONAL_INSPECTION_SCHEMA.DATUM' IN TYPEOF(sar.
1943 related_shape_aspect))) )) = 0;
1944 wr2: SELF.product_definitional = TRUE;
1945 END_ENTITY; -- datum_target
1946
1947 ENTITY definitional_representation
1948 SUBTYPE OF (representation);
1949 WHERE
1950 wr1: 'DIMENSIONAL_INSPECTION_SCHEMA.'+
1951 'PARAMETRIC_REPRESENTATION_CONTEXT'
1952 IN TYPEOF(SELF\representation.context_of_items);
1953 END_ENTITY; -- definitional_representation
1954
1955 ENTITY degenerate_toroidal_surface
1956 SUBTYPE OF (toroidal_surface);
1957 select_outer : BOOLEAN;
1958 WHERE
1959 wr1: major_radius < minor_radius;
1960 END_ENTITY; -- degenerate_toroidal_surface
1961
1962 ENTITY derived_shape_aspect
1963 SUPERTYPE OF (ONEOF (apex,centre_of_symmetry,
1964 geometric_alignment,
1965 geometric_intersection,parallel_offset,
1966 perpendicular_to,extension,
1967 tangent))
1968 SUBTYPE OF (shape_aspect);
1969 INVERSE
1970 deriving_relationships : SET [1:?] OF
1971 shape_aspect_deriving_relationship FOR
1972 relating_shape_aspect;
1973 END_ENTITY; -- derived_shape_aspect
1974
1975 ENTITY derived_unit;
1976 elements : SET [1:?] OF derived_unit_element;
1977 DERIVE
1978 name : label := get_name_value(SELF);
1979 WHERE
1980 wr1: (SIZEOF(elements) > 1) OR ((SIZEOF(elements) = 1)
1981 AND (elements
1982 [1].exponent <> 1));
1983 wr2: SIZEOF(USEDIN(SELF,'DIMENSIONAL_INSPECTION_SCHEMA.' +
1984 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
1985 END_ENTITY; -- derived_unit
1986
1987 ENTITY derived_unit_element;
1988 unit : named_unit;
1989 exponent : REAL;
1990 END_ENTITY; -- derived_unit_element
1991
1992 ENTITY description_attribute;
1993 attribute_value : text;
1994 described_item : description_attribute_select;
1995 END_ENTITY; -- description_attribute
1996
1997 ENTITY descriptive_representation_item
1998 SUBTYPE OF (representation_item);
1999 description : text;
2000 END_ENTITY; -- descriptive_representation_item
2001
2002 ENTITY dimension_related_tolerance_zone_element;
2003 related_dimension : dimensional_location;
2004 related_element : tolerance_zone_definition;
2005 END_ENTITY; -- dimension_related_tolerance_zone_element
2006
2007 ENTITY dimensional_characteristic_representation;
2008 dimension : dimensional_characteristic;
2009 representation : shape_dimension_representation;
2010 END_ENTITY; -- dimensional_characteristic_representation
2011
2012 ENTITY dimensional_exponents;
2013 length_exponent : REAL;
2014 mass_exponent: REAL;
2015 time_exponent: REAL;
2016 electric_current_exponent : REAL;
2017 thermodynamic_temperature_exponent : REAL;
2018 amount_of_substance_exponent : REAL;
2019 luminous_intensity_exponent : REAL;
2020 END_ENTITY; -- dimensional_exponents
2021
2022 ENTITY dimensional_location
2023 SUPERTYPE OF (ONEOF (angular_location,
2024 dimensional_location_with_path))
2025 SUBTYPE OF (shape_aspect_relationship);
2026 END_ENTITY; -- dimensional_location
2027
2028 ENTITY dimensional_location_with_path
2029 SUBTYPE OF (dimensional_location);
2030 path : shape_aspect;
2031 END_ENTITY; -- dimensional_location_with_path
2032
2033 ENTITY dimensional_measurement_representation
2034 SUBTYPE OF (representation);
2035 END_ENTITY; -- dimensional_measurement_representation
2036
2037 ENTITY dimensional_size
2038 SUPERTYPE OF (ONEOF (angular_size,
2039 dimensional_size_with_path));
2040 applies_to : shape_aspect;
2041 name : label;
2042 WHERE
2043 wr1: applies_to.product_definitional = TRUE;
2044 END_ENTITY; -- dimensional_size
2045
2046 ENTITY dimensional_size_with_path
2047 SUBTYPE OF (dimensional_size);
2048 path : shape_aspect;
2049 END_ENTITY; -- dimensional_size_with_path
2050
2051 ENTITY directed_dimensional_location
2052 SUBTYPE OF (dimensional_location);
2053 END_ENTITY; -- directed_dimensional_location
2054
2055 ENTITY direction
2056 SUBTYPE OF (geometric_representation_item);
2057 direction_ratios : LIST [2:3] OF REAL;
2058 WHERE
2059 wr1: SIZEOF(QUERY ( tmp <* direction_ratios | (tmp <> 0) )) > 0;
2060 END_ENTITY; -- direction
2061
2062 ENTITY direction_shape_representation
2063 SUBTYPE OF (shape_representation);
2064 WHERE
2065 wr1: SIZEOF(SELF.items) = 1;
2066 wr2: SIZEOF(QUERY ( it <* SELF.items | (NOT (
2067 'DIMENSIONAL_INSPECTION_SCHEMA.DIRECTION' IN TYPEOF(it))) ))
2068 = 0;
2069 END_ENTITY; -- direction_shape_representation
2070
2071 ENTITY dm_analysis_dofs_dml
2072 SUBTYPE OF (dimensional_measurement_representation);
2073 WHERE
2074 wr1: SIZEOF(QUERY ( repi <* SELF.items | ((SIZEOF([
2075 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2076 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2077 * TYPEOF(repi)) = 2) AND (repi.name = 'transx')) )) = 1;
2078 wr2: SIZEOF(QUERY ( repi <* SELF.items | ((SIZEOF([
2079 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2080 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2081 * TYPEOF(repi)) = 2) AND (repi.name = 'transy')) )) = 1;
2082 wr3: SIZEOF(QUERY ( repi <* SELF.items | ((SIZEOF([
2083 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2084 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2085 * TYPEOF(repi)) = 2) AND (repi.name = 'transz')) )) = 1;
2086 wr4: SIZEOF(QUERY ( repi <* SELF.items | ((SIZEOF([
2087 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2088 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2089 * TYPEOF(repi)) = 2) AND (repi.name = 'rotx')) )) = 1;
2090 wr5: SIZEOF(QUERY ( repi <* SELF.items | ((SIZEOF([
2091 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2092 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2093 * TYPEOF(repi)) = 2) AND (repi.name = 'roty')) )) = 1;
2094 wr6: SIZEOF(QUERY ( repi <* SELF.items | ((SIZEOF([
2095 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2096 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2097 * TYPEOF(repi)) = 2) AND (repi.name = 'rotz')) )) = 1;
2098 END_ENTITY; -- dm_analysis_dofs_dml
2099
2100 ENTITY dm_dimension_parameter
2101 SUBTYPE OF (dm_result_parameter);
2102 WHERE
2103 wr1: SIZEOF(QUERY ( pdr <* USEDIN(SELF,
2104 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2105 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') |
2106 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT'
2107 IN TYPEOF(pdr.definition.definition)) )) <= 1;
2108
2109 wr2: SIZEOF(QUERY ( sri <* SELF.items | ((
2110 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM'
2111 IN TYPEOF(sri)) AND (sri.name = 'specification')) )) <= 1;
2112 wr3: SIZEOF(QUERY ( sri <* SELF.items | (
2113 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM'
2114 IN TYPEOF(sri)) )) <= 2;
2115 END_ENTITY; -- dm_dimension_parameter
2116
2117 ENTITY dm_execution_result
2118 SUBTYPE OF (executed_action);
2119 WHERE
2120 wr1: 'DIMENSIONAL_INSPECTION_SCHEMA.DM_PROGRAM_RUN' IN TYPEOF(SELF.
2121 chosen_method);
2122 wr2: SIZEOF(QUERY ( rp <* USEDIN(SELF,
2123 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY.DEFINITION')
2124 | ('DIMENSIONAL_INSPECTION_SCHEMA.DM_EXECUTION_RESULT_MEASUREMENT'
2125 IN TYPEOF(rp)) )) >= 1;
2126 END_ENTITY; -- dm_execution_result
2127
2128 ENTITY dm_execution_result_measurement
2129 SUBTYPE OF (action_property);
2130 WHERE
2131 wr1: NOT (SIZEOF(QUERY ( apr <* USEDIN(SELF,
2132 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2133 | (SIZEOF(QUERY ( it <* apr.representation.items | ((
2134 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2135 IN TYPEOF(it)) AND (it.name = 'application name')) )) <= 1) ))
2136 = 0);
2137 wr2: NOT (SIZEOF(QUERY ( apr <* USEDIN(SELF,
2138 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2139 | (SIZEOF(QUERY ( it <* apr.representation.items | ((
2140 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2141 IN TYPEOF(it)) AND (it.name = 'application version')) )) <=
2142 1) )) = 0);
2143 wr3: NOT (SIZEOF(QUERY ( apr <* USEDIN(SELF,
2144 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2145 | (SIZEOF(QUERY ( it <* apr.representation.items | ((
2146 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2147 IN TYPEOF(it)) AND (it.name = 'vendor name')) )) <= 1) )) =
2148 0);
2149 wr4: SIZEOF(QUERY ( apr <* USEDIN(SELF,
2150 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2151 | ((apr.representation.name = 'measurement points') AND (
2152 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT' IN TYPEOF(apr.
2153 representation))) )) <= 1;
2154 wr5: SIZEOF(QUERY ( apr <* USEDIN(SELF,
2155 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2156 | ('DIMENSIONAL_INSPECTION_SCHEMA.DM_RESULT_PARAMETER' IN
2157 TYPEOF(apr.representation)) )) = 1;
2158 END_ENTITY; -- dm_execution_result_measurement
2159
2160 ENTITY dm_feature_analysis_mode_dml
2161 SUBTYPE OF (dimensional_measurement_representation);
2162 WHERE
2163 wr1: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2164 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2165 IN TYPEOF(repi)) AND (repi.name = 'axis'))) AND (SELF.
2166 description IN ['least square','minimum radius',
2167 'cross section centers'])) )) <= 1;
2168 wr2: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2169 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2170 IN TYPEOF(repi)) AND (repi.name = 'aelpr'))) AND (SELF.
2171 description IN ['least square','minimum maximum'])) )) <= 1;
2172 wr3: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2173 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2174 IN TYPEOF(repi)) AND (repi.name = 'cccpst'))) AND (SELF.
2175 description IN ['least square','minimum maximum',
2176 'circumscribed circle or cylinder',
2177 'maximum inscribed circle or cylinder'])) )) <= 1;
2178 wr4: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2179 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2180 IN TYPEOF(repi)) AND (repi.name = 'curve'))) AND (SELF.
2181 description IN ['least square','minimum maximum','bspline'])) ))
2182 <= 1;
2183 wr5: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2184 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2185 IN TYPEOF(repi)) AND (repi.name = 'limits'))) AND (SELF.
2186 description IN ['functional','mrs average','two point'])) ))
2187 <= 1;
2188 wr6: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2189 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2190 IN TYPEOF(repi)) AND (repi.name = 'surface'))) AND (SELF.
2191 description IN ['least square','minimum maximum','nurbs',
2192 'bezier'])) )) <= 1;
2193 wr7: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2194 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2195 IN TYPEOF(repi)) AND (repi.name = 'axis extrapolate'))) AND
2196 (SELF.description IN ['TRUE','FALSE'])) )) <= 1;
2197 END_ENTITY; -- dm_feature_analysis_mode_dml
2198
2199 ENTITY dm_feature_definition
2200 SUBTYPE OF (characterized_object);
2201 WHERE
2202 wr1: SIZEOF(QUERY ( pdr <* get_property_definition_representations(
2203 SELF) | ('DIMENSIONAL_INSPECTION_SCHEMA.'+
2204 'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2205 IN TYPEOF(pdr.used_representation)) )) >= 1;
2206 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2207 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2208 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
2209 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2210 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2211 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2212 'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2213 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2214 QUERY ( it <* impl_rep.used_representation.items | ((
2215 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
2216 (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0;
2217 wr3: SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.DMF_ARC',
2218 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_LINE_UNBOUNDED',
2219 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_CIRCLE',
2220 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_PATTERN',
2221 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_CONE',
2222 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_PLANE',
2223 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_PLANE_CLOSED_PARALLEL',
2224 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_CYLINDER',
2225 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_ELLIPSE',
2226 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_PLANE_SYMMETRIC',
2227 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_GEOMETRIC_CURVE',
2228 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_POINT',
2229 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_GEOMETRIC_SURFACE',
2230 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_EDGE_POINT',
2231 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_SPHERE',
2232 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_GENERIC_FEATURE',
2233 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_LINE_BOUNDED',
2234 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_TORUS',
2235 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_LINE_CLOSED_PARALLEL',
2236 'DIMENSIONAL_INSPECTION_SCHEMA.DMF_SURFACE_OF_REVOLUTION_DML']
2237 * TYPEOF(SELF)) = 1;
2238 END_ENTITY; -- dm_feature_definition
2239
2240 ENTITY dm_feature_relationship
2241 SUBTYPE OF (shape_aspect_relationship);
2242 END_ENTITY; -- dm_feature_relationship
2243
2244 ENTITY dm_instanced_feature
2245 SUBTYPE OF (dm_feature_definition, shape_aspect);
2246 WHERE
2247 wr1: 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(
2248 SELF.of_shape.definition);
2249 wr2: SELF.product_definitional;
2250 END_ENTITY; -- dm_instanced_feature
2251
2252 ENTITY dm_parameter_analysis_dml
2253 SUBTYPE OF (action_property);
2254 WHERE
2255 wr1: SIZEOF(QUERY ( apr <* USEDIN(SELF,
2256 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2257 | ('DIMENSIONAL_INSPECTION_SCHEMA.DM_FEATURE_ANALYSIS_MODE_DML'
2258 IN TYPEOF(apr.representation)) )) = 1;
2259 wr2: SIZEOF(QUERY ( apr <* USEDIN(SELF,
2260 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2261 | ('DIMENSIONAL_INSPECTION_SCHEMA.DM_TOLERANCE_ANALYSIS_MODE_DML'
2262 IN TYPEOF(apr.representation)) )) = 1;
2263 wr3: SIZEOF(QUERY ( apr <* USEDIN(SELF,
2264 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2265 | ('DIMENSIONAL_INSPECTION_SCHEMA.DM_ANALYSIS_DOFS_DML' IN
2266 TYPEOF(apr.representation)) )) = 1;
2267 END_ENTITY; -- dm_parameter_analysis_dml
2268
2269 ENTITY dm_parameter_value_limits
2270 SUBTYPE OF (compound_representation_item);
2271 WHERE
2272 wr1: (SIZEOF(QUERY ( it <* SELF.item_element |
2273 (((SIZEOF([
2274 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2275 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM'] *
2276 TYPEOF(it)) = 2) AND (it.name = 'calculated limit')) AND
2277 ((SIZEOF(QUERY(qri <* it.qualifiers|
2278 (('DIMENSIONAL_INSPECTION_SCHEMA.TYPE_QUALIFIER' IN TYPEOF(qri)) AND
2279 (qri.name='limits method') )))>0)))))=1);
2280 END_ENTITY; -- dm_parameter_value_limits
2281
2282 ENTITY dm_point
2283 SUBTYPE OF (representation);
2284 WHERE
2285 wr1: SIZEOF(QUERY ( repi <* SELF.items | (NOT ((
2286 'DIMENSIONAL_INSPECTION_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
2287 repi)) AND (repi.name = 'measured point'))) )) = 1;
2288 wr2: SIZEOF(QUERY ( repi <* SELF.items | (NOT ((
2289 'DIMENSIONAL_INSPECTION_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
2290 repi)) AND (repi.name = 'expected point'))) )) <= 1;
2291 END_ENTITY; -- dm_point
2292
2293 ENTITY dm_point_parameter
2294 SUBTYPE OF (dm_result_parameter);
2295 WHERE
2296 wr1: SIZEOF(QUERY ( repi <* SELF.items | (
2297 'DIMENSIONAL_INSPECTION_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
2298 repi)) )) = 1;
2299 END_ENTITY; -- dm_point_parameter
2300
2301 ENTITY dm_program_identification
2302 SUBTYPE OF (action_resource_requirement);
2303 WHERE
2304 wr1: SIZEOF(QUERY ( rp <* USEDIN(SELF,
2305 'DIMENSIONAL_INSPECTION_SCHEMA.RESOURCE_PROPERTY.RESOURCE')
2306 | (rp.name = 'angular units dml') )) <= 1;
2307 wr2: SIZEOF(QUERY ( rp <* USEDIN(SELF,
2308 'DIMENSIONAL_INSPECTION_SCHEMA.RESOURCE_PROPERTY.RESOURCE')
2309 | (rp.name = 'linear units dml') )) <= 1;
2310 wr3: SIZEOF(QUERY ( rp <* USEDIN(SELF,
2311 'DIMENSIONAL_INSPECTION_SCHEMA.RESOURCE_PROPERTY.RESOURCE')
2312 | (rp.name = 'tolerance standard dml') )) <= 1;
2313 wr4: (SIZEOF(QUERY ( adr <* USEDIN(SELF,
2314 'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS')
2315 | ((adr.role.name = 'program custodian') AND (
2316 'DIMENSIONAL_INSPECTION_SCHEMA.ORGANIZATION' IN TYPEOF(adr.
2317 assigned_organization))) )) <= 1) OR (SIZEOF(QUERY ( adr <*
2318 USEDIN(SELF,
2319 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2320 'APPLIED_PERSON_ORGANIZATION_ASSIGNMENT.ITEMS')
2321 | ((adr.role.name = 'program custodian') AND (
2322 'DIMENSIONAL_INSPECTION_SCHEMA.PERSON_AND_ORGANIZATION' IN
2323 TYPEOF(adr.assigned_person_and_organization))) )) <= 1);
2324 END_ENTITY; -- dm_program_identification
2325
2326 ENTITY dm_program_run
2327 SUBTYPE OF (action_method);
2328 WHERE
2329 wr1 : SIZEOF(QUERY ( ap <* USEDIN(SELF,
2330 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY.DEFINITION')
2331 | (NOT (SIZEOF(QUERY ( apr <* USEDIN(ap,
2332 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2333 | (NOT (SIZEOF(QUERY ( it <* apr.representation.items | ((
2334 SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2335 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2336 * TYPEOF(it)) = 2) AND (it.name = 'measurement temperature')) ))
2337 >= 0)) )) = 0)) )) = 0;
2338 wr2 : SIZEOF(QUERY ( ap <* USEDIN(SELF,
2339 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY.DEFINITION')
2340 | (NOT (SIZEOF(QUERY ( apr <* USEDIN(ap,
2341 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2342 | (NOT (SIZEOF(QUERY ( it <* apr.representation.items | ((
2343 SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2344 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2345 * TYPEOF(it)) = 2) AND (it.name = 'workpiece temperature')) ))
2346 >= 0)) )) = 0)) )) = 0;
2347 wr3 : SIZEOF(QUERY ( ap <* USEDIN(SELF,
2348 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY.DEFINITION')
2349 | (NOT (SIZEOF(QUERY ( apr <* USEDIN(ap,
2350 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY_REPRESENTATION.PROPERTY')
2351 | (NOT (SIZEOF(QUERY ( it <* apr.representation.items | ((
2352 SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2353 'DIMENSIONAL_INSPECTION_SCHEMA.QUALIFIED_REPRESENTATION_ITEM']
2354 * TYPEOF(it)) = 2) AND (it.name = 'measurement humidity')) ))
2355 >= 0)) )) = 0)) )) = 0;
2356 wr4 : SIZEOF(QUERY ( ap <* USEDIN(SELF,
2357 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_RESOURCE.USAGE') | (
2358 ap.name = 'part inspection status') )) <= 1;
2359 wr5 : SIZEOF(QUERY ( ap <* USEDIN(SELF,
2360 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_RESOURCE.USAGE') | (
2361 ap.name = 'url') )) <= 1;
2362 wr6 : SIZEOF(QUERY ( arr <* USEDIN(SELF,
2363 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2364 'ACTION_RESOURCE_REQUIREMENT.OPERATIONS')
2365 | (
2366 'DIMENSIONAL_INSPECTION_SCHEMA.DM_PROGRAM_IDENTIFICATION'
2367 IN TYPEOF(arr)) )) = 1;
2368 wr7 : (SIZEOF(QUERY ( adr <* USEDIN(SELF,
2369 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2370 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS')
2371 | ((adr.role.name = 'run administrator') AND (
2372 'DIMENSIONAL_INSPECTION_SCHEMA.ORGANIZATION' IN TYPEOF(adr.
2373 assigned_organization))) )) <= 1) OR (SIZEOF(
2374 QUERY ( adr <* USEDIN(SELF,
2375 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2376 'APPLIED_PERSON_ORGANIZATION_ASSIGNMENT.ITEMS')
2377 | ((adr.role.name = 'run administrator') AND (
2378 'DIMENSIONAL_INSPECTION_SCHEMA.PERSON_AND_ORGANIZATION' IN
2379 TYPEOF(adr.assigned_person_and_organization))) )) <= 1);
2380 wr8 : SIZEOF(QUERY ( rp <* USEDIN(SELF,
2381 'DIMENSIONAL_INSPECTION_SCHEMA.ACTION_PROPERTY.DEFINITION')
2382 | ('DIMENSIONAL_INSPECTION_SCHEMA.MEASURMENT_LOCATION' IN
2383 TYPEOF(rp)) )) <= 1;
2384 wr9 : (SIZEOF(QUERY ( adr <* USEDIN(SELF,
2385 'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_DATE_ASSIGNMENT.ITEMS')
2386 | ((adr.role.name = 'run end') AND (
2387 'DIMENSIONAL_INSPECTION_SCHEMA.DATE' IN TYPEOF(adr.
2388 assigned_date))) )) <= 1) OR (SIZEOF(QUERY ( adr <* USEDIN(
2389 SELF,'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_DATE_ASSIGNMENT.ITEMS')
2390 | ((adr.role.name = 'run end') AND (
2391 'DIMENSIONAL_INSPECTION_SCHEMA.CALENDAR_DATE' IN TYPEOF(adr
2392 .assigned_date))) )) <= 1);
2393 wr10: (SIZEOF(QUERY ( adr <* USEDIN(SELF,
2394 'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_DATE_ASSIGNMENT.ITEMS')
2395 | ((adr.role.name = 'run start') AND (
2396 'DIMENSIONAL_INSPECTION_SCHEMA.DATE' IN TYPEOF(adr.
2397 assigned_date))) )) <= 1) OR (SIZEOF(QUERY ( adr <* USEDIN(
2398 SELF,'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_DATE_ASSIGNMENT.ITEMS')
2399 | ((adr.role.name = 'run start') AND (
2400 'DIMENSIONAL_INSPECTION_SCHEMA.CALENDAR_DATE' IN TYPEOF(adr
2401 .assigned_date))) )) <= 1);
2402 wr11: (SIZEOF(QUERY ( adr <* USEDIN(SELF,
2403 'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_DATE_ASSIGNMENT.ITEMS')
2404 | ((adr.role.name = 'run date') AND (
2405 'DIMENSIONAL_INSPECTION_SCHEMA.DATE' IN TYPEOF(adr.
2406 assigned_date))) )) <= 1) OR (SIZEOF(QUERY ( adr <* USEDIN(
2407 SELF,'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_DATE_ASSIGNMENT.ITEMS')
2408 | ((adr.role.name = 'run date') AND (
2409 'DIMENSIONAL_INSPECTION_SCHEMA.CALENDAR_DATE' IN TYPEOF(adr
2410 .assigned_date))) )) <= 1);
2411 END_ENTITY; -- dm_program_run
2412
2413 ENTITY dm_result_parameter
2414 SUBTYPE OF (representation);
2415 WHERE
2416 wr1: SIZEOF(QUERY ( sri <* SELF.items | (
2417 'DIMENSIONAL_INSPECTION_SCHEMA.DM_PARAMETER_VALUE_LIMITS' IN
2418 TYPEOF(sri)) )) = 1;
2419 wr2: SIZEOF(QUERY ( sri <* SELF.items | ((
2420 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2421 IN TYPEOF(sri)) AND (sri.name = 'calculation method')) )) <=
2422 1;
2423 wr3: SIZEOF(QUERY ( apr <* USEDIN(SELF,
2424 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2425 'ACTION_PROPERTY_REPRESENTATION.REPRESENTATION')
2426 | (
2427 'DIMENSIONAL_INSPECTION_SCHEMA.DM_PARAMETER_ANALYSIS_DML' IN
2428 TYPEOF(apr.property)) )) <= 1;
2429 END_ENTITY; -- dm_result_parameter
2430
2431 ENTITY dm_shape_representation_with_parameters
2432 SUBTYPE OF (shape_representation);
2433 WHERE
2434 wr1: SIZEOF(QUERY ( it <* SELF.items | (NOT (SIZEOF([
2435 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT',
2436 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
2437 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOUND_REPRESENTATION_ITEM',
2438 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM']
2439 * TYPEOF(it)) = 1)) )) = 0;
2440 END_ENTITY; -- dm_shape_representation_with_parameters
2441
2442 ENTITY dm_tolerance_analysis_mode_dml
2443 SUBTYPE OF (dimensional_measurement_representation);
2444 WHERE
2445 wr1: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2446 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2447 IN TYPEOF(repi)) AND (repi.name = 'method'))) AND (SELF.
2448 description IN ['least square 3d','least square normal',
2449 'minimum deviation 3d','standard'])) )) <= 1;
2450 wr2: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2451 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2452 IN TYPEOF(repi)) AND (repi.name = 'option'))) AND (SELF.
2453 description IN ['high point','best fit'])) )) <= 1;
2454 wr3: SIZEOF(QUERY ( repi <* SELF.items | ((NOT ((
2455 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2456 IN TYPEOF(repi)) AND (repi.name = 'setting'))) AND (SELF.
2457 description IN ['inner','outer','standard'])) )) <= 1;
2458 END_ENTITY; -- dm_tolerance_analysis_mode_dml
2459
2460 ENTITY dm_vector_parameter
2461 SUBTYPE OF (dm_result_parameter);
2462 WHERE
2463 wr1: SIZEOF(QUERY ( repi <* SELF.items | (
2464 'DIMENSIONAL_INSPECTION_SCHEMA.VECTOR' IN TYPEOF(repi)) )) =
2465 1;
2466 END_ENTITY; -- dm_vector_parameter
2467
2468 ENTITY dmf_arc
2469 SUBTYPE OF (dm_feature_definition);
2470 WHERE
2471 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2472 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2473 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
2474 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2475 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2476 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2477 'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2478 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2479 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
2480 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2481 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2482 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2483 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2484 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2485 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2486 'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2487 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
2488 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
2489 name = 'orientation') OR (srwp_i.name = 'inner outer')) )) =
2490 SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
2491 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2492 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2493 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
2494 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2495 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2496 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2497 'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2498 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2499 QUERY ( it <* impl_rep.used_representation.items | (((
2500 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2501 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
2502 description = 'inner') OR (it.description = 'outer'))) )) =
2503 1)) )) = 0)) )) = 0;
2504 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2505 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2506 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2507 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2508 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2509 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2510 TYPEOF(pdr.used_representation)) AND (pdr.
2511 used_representation.name = 'start vector')) )) = 1)) )) = 0;
2512 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2513 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2514 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2515 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2516 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2517 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2518 TYPEOF(pdr.used_representation)) AND (pdr.
2519 used_representation.name = 'end vector')) )) = 1)) )) = 0;
2520 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2521 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2522 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2523 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2524 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2525 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2526 TYPEOF(pdr.used_representation)) AND (pdr.
2527 used_representation.name = 'axis direction vector')) )) = 1)) ))
2528 = 0;
2529 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2530 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2531 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2532 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2533 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2534 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2535 TYPEOF(pdr.used_representation)) AND (pdr.
2536 used_representation.name = 'center point')) )) = 1)) )) = 0;
2537 wr8: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2538 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2539 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2540 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2541 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2542 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2543 TYPEOF(pdr.used_representation)) AND (pdr.
2544 used_representation.name = 'radius')) )) = 1)) )) = 0;
2545 END_ENTITY; -- dmf_arc
2546
2547 ENTITY dmf_circle
2548 SUBTYPE OF (dm_feature_definition);
2549 WHERE
2550 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2551 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2552 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
2553 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2554 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2555 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2556 'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2557 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2558 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
2559 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2560 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2561 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2562 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2563 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2564 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2565 'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2566 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
2567 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
2568 name = 'orientation') OR (srwp_i.name = 'inner outer')) )) =
2569 SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
2570 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2571 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2572 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
2573 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2574 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2575 'DIMENSIONAL_INSPECTION_SCHEMA.'+
2576 'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2577 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2578 QUERY ( it <* impl_rep.used_representation.items | (((
2579 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2580 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
2581 description = 'inner') OR (it.description = 'outer'))) )) =
2582 1)) )) = 0)) )) = 0;
2583 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2584 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2585 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2586 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2587 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2588 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2589 TYPEOF(pdr.used_representation)) AND (pdr.
2590 used_representation.name = 'axis direction vector')) )) = 1)) ))
2591 = 0;
2592 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2593 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2594 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2595 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2596 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2597 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2598 TYPEOF(pdr.used_representation)) AND (pdr.
2599 used_representation.name = 'center point')) )) = 1)) )) = 0;
2600 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2601 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2602 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2603 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2604 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2605 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2606 TYPEOF(pdr.used_representation)) AND (pdr.
2607 used_representation.name = 'diameter')) )) = 1)) )) = 0;
2608 END_ENTITY; -- dmf_circle
2609
2610 ENTITY dmf_cone
2611 SUBTYPE OF (dm_feature_definition);
2612 WHERE
2613 wr1 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2614 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2615 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
2616 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
2617 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2618 'DIMENSIONAL_INSPECTION_SCHEMA.'
2619 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2620 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2621 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
2622 wr2 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2623 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2624 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2625 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2626 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2627 'DIMENSIONAL_INSPECTION_SCHEMA.'
2628 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2629 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
2630 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
2631 name = 'orientation') OR (srwp_i.name = 'inner outer')) ))
2632 = SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
2633 wr3 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2634 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2635 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
2636 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
2637 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2638 'DIMENSIONAL_INSPECTION_SCHEMA.'
2639 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2640 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2641 QUERY ( it <* impl_rep.used_representation.items | (((
2642 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2643 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
2644 description = 'inner') OR (it.description = 'outer'))) )) =
2645 1)) )) = 0)) )) = 0;
2646 wr4 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2647 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2648 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2649 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2650 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2651 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2652 TYPEOF(pdr.used_representation)) AND (pdr.
2653 used_representation.name = 'start vector')) )) <= 1)) )) =
2654 0;
2655 wr5 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2656 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2657 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2658 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2659 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2660 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2661 TYPEOF(pdr.used_representation)) AND (pdr.
2662 used_representation.name = 'end vector')) )) <= 1)) )) = 0;
2663 wr6 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2664 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2665 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2666 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2667 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2668 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2669 TYPEOF(pdr.used_representation)) AND (pdr.
2670 used_representation.name = 'axis direction vector')) )) = 1)) ))
2671 = 0;
2672 wr7 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2673 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2674 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2675 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2676 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2677 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2678 TYPEOF(pdr.used_representation)) AND (pdr.
2679 used_representation.name = 'diameter')) )) = 1)) )) = 0;
2680 wr8 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2681 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2682 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2683 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2684 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2685 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2686 TYPEOF(pdr.used_representation)) AND (pdr.
2687 used_representation.name = 'start length dml')) )) <= 1)) ))
2688 = 0;
2689 wr9 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2690 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2691 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2692 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2693 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2694 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2695 TYPEOF(pdr.used_representation)) AND (pdr.
2696 used_representation.name = 'end length dml')) )) <= 1)) ))
2697 = 0;
2698 wr10: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2699 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2700 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2701 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2702 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2703 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2704 TYPEOF(pdr.used_representation)) AND (pdr.
2705 used_representation.name = 'include angle')) )) = 1)) )) =
2706 0;
2707 wr11: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2708 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2709 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2710 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2711 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2712 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2713 TYPEOF(pdr.used_representation)) AND (pdr.
2714 used_representation.name = 'start point')) )) <= 1)) )) = 0;
2715 wr12: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2716 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2717 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2718 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2719 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2720 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2721 TYPEOF(pdr.used_representation)) AND (pdr.
2722 used_representation.name = 'end point')) )) <= 1)) )) = 0;
2723 wr13: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2724 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2725 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2726 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2727 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2728 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2729 TYPEOF(pdr.used_representation)) AND (pdr.
2730 used_representation.name = 'apex point')) )) = 1)) )) = 0;
2731 END_ENTITY; -- dmf_cone
2732
2733 ENTITY dmf_cylinder
2734 SUBTYPE OF (dm_feature_definition);
2735 WHERE
2736 wr1 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2737 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2738 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
2739 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
2740 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2741 'DIMENSIONAL_INSPECTION_SCHEMA.'
2742 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2743 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2744 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
2745 wr2 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2746 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2747 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2748 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2749 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2750 'DIMENSIONAL_INSPECTION_SCHEMA.'
2751 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2752 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
2753 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
2754 name = 'orientation') OR (srwp_i.name = 'inner outer')) ))
2755 = SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
2756 wr3 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2757 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2758 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
2759 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
2760 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2761 'DIMENSIONAL_INSPECTION_SCHEMA.'
2762 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2763 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2764 QUERY ( it <* impl_rep.used_representation.items | (((
2765 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2766 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
2767 description = 'inner') OR (it.description = 'outer'))) )) =
2768 1)) )) = 0)) )) = 0;
2769 wr4 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2770 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2771 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2772 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2773 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2774 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2775 TYPEOF(pdr.used_representation)) AND (pdr.
2776 used_representation.name = 'axis direction vector')) )) = 1)) ))
2777 = 0;
2778 wr5 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2779 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2780 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2781 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2782 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2783 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2784 TYPEOF(pdr.used_representation)) AND (pdr.
2785 used_representation.name = 'diameter')) )) = 1)) )) = 0;
2786 wr6 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2787 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2788 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2789 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2790 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2791 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2792 TYPEOF(pdr.used_representation)) AND (pdr.
2793 used_representation.name = 'length dml')) )) <= 1)) )) = 0;
2794 wr7 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2795 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2796 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2797 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2798 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2799 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2800 TYPEOF(pdr.used_representation)) AND (pdr.
2801 used_representation.name = 'start point')) )) = 1)) )) = 0;
2802 wr8 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2803 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2804 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2805 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2806 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2807 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2808 TYPEOF(pdr.used_representation)) AND (pdr.
2809 used_representation.name = 'end point')) )) = 1)) )) = 0;
2810 wr9 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2811 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2812 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2813 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2814 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2815 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2816 TYPEOF(pdr.used_representation)) AND (pdr.
2817 used_representation.name = 'center point')) )) = 1)) )) = 0;
2818 wr10: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2819 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2820 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2821 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2822 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2823 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2824 TYPEOF(pdr.used_representation)) AND (pdr.
2825 used_representation.name = 'boundary')) )) >= 2)) )) = 0;
2826 END_ENTITY; -- dmf_cylinder
2827
2828 ENTITY dmf_edge_point
2829 SUBTYPE OF (dm_feature_definition);
2830 WHERE
2831 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2832 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2833 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
2834 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2835 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2836 'DIMENSIONAL_INSPECTION_SCHEMA.'
2837 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2838 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2839 impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0;
2840 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2841 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2842 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2843 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2844 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2845 'DIMENSIONAL_INSPECTION_SCHEMA.'
2846 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2847 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
2848 QUERY ( srwp_i <* pdr.used_representation.items | (srwp_i.
2849 name = 'orientation') )) = SIZEOF(pdr.used_representation.
2850 items))) )) = 1) )) = 1;
2851 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2852 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2853 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2854 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2855 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2856 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2857 TYPEOF(pdr.used_representation)) AND (pdr.
2858 used_representation.name = 'edge normal vector')) )) = 1)) ))
2859 = 0;
2860 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2861 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2862 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2863 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2864 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2865 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2866 TYPEOF(pdr.used_representation)) AND (pdr.
2867 used_representation.name = 'surface normal vector')) )) = 1)) ))
2868 = 0;
2869 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2870 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2871 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2872 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2873 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2874 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2875 TYPEOF(pdr.used_representation)) AND (pdr.
2876 used_representation.name = 'location point')) )) = 1)) )) =
2877 0;
2878 END_ENTITY; -- dmf_edge_point
2879
2880 ENTITY dmf_ellipse
2881 SUBTYPE OF (dm_feature_definition);
2882 WHERE
2883 wr1 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2884 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2885 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
2886 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
2887 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2888 'DIMENSIONAL_INSPECTION_SCHEMA.'
2889 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2890 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2891 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
2892 wr2 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2893 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2894 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2895 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2896 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2897 'DIMENSIONAL_INSPECTION_SCHEMA.'
2898 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2899 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
2900 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
2901 name = 'orientation') OR (srwp_i.name = 'inner outer')) ))
2902 = SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
2903 wr3 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2904 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2905 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
2906 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
2907 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2908 'DIMENSIONAL_INSPECTION_SCHEMA.'
2909 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2910 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2911 QUERY ( it <* impl_rep.used_representation.items | (((
2912 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
2913 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
2914 description = 'inner') OR (it.description = 'outer'))) )) =
2915 1)) )) = 0)) )) = 0;
2916 wr4 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2917 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2918 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2919 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2920 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2921 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2922 TYPEOF(pdr.used_representation)) AND (pdr.
2923 used_representation.name = 'normal direction')) )) = 1)) ))
2924 = 0;
2925 wr5 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2926 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2927 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2928 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2929 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2930 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
2931 TYPEOF(pdr.used_representation)) AND (pdr.
2932 used_representation.name = 'major axis vector')) )) = 1)) ))
2933 = 0;
2934 wr6 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2935 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2936 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2937 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2938 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2939 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2940 TYPEOF(pdr.used_representation)) AND (pdr.
2941 used_representation.name = 'center point')) )) = 1)) )) = 0;
2942 wr7 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2943 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2944 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2945 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2946 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2947 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2948 TYPEOF(pdr.used_representation)) AND (pdr.
2949 used_representation.name = 'focus point one dml')) )) <= 1)) ))
2950 = 0;
2951 wr8 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2952 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2953 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2954 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2955 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2956 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
2957 TYPEOF(pdr.used_representation)) AND (pdr.
2958 used_representation.name = 'focus point two dml')) )) <= 1)) ))
2959 = 0;
2960 wr9 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
2961 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2962 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2963 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2964 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2965 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2966 TYPEOF(pdr.used_representation)) AND (pdr.
2967 used_representation.name = 'minor diameter')) )) = 1)) )) =
2968 0;
2969 wr10: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2970 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2971 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2972 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2973 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2974 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
2975 TYPEOF(pdr.used_representation)) AND (pdr.
2976 used_representation.name = 'major diameter')) )) = 1)) )) =
2977 0;
2978 END_ENTITY; -- dmf_ellipse
2979
2980 ENTITY dmf_generic_feature
2981 SUBTYPE OF (dm_feature_definition);
2982 WHERE
2983 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2984 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2985 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
2986 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2987 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
2988 'DIMENSIONAL_INSPECTION_SCHEMA.'
2989 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2990 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
2991 impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0;
2992 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
2993 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
2994 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
2995 'DIMENSIONAL_INSPECTION_SCHEMA.' +
2996 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
2997 'DIMENSIONAL_INSPECTION_SCHEMA.'
2998 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
2999 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3000 QUERY ( srwp_i <* pdr.used_representation.items | (srwp_i.
3001 name = 'orientation') )) = SIZEOF(pdr.used_representation.
3002 items))) )) = 1) )) = 1;
3003 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3004 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3005 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3006 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3007 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3008 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3009 TYPEOF(pdr.used_representation)) AND (pdr.
3010 used_representation.name = 'center point')) )) = 1)) )) = 0;
3011 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3012 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3013 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3014 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3015 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3016 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3017 TYPEOF(pdr.used_representation)) AND (pdr.
3018 used_representation.name = 'secondary vector')) )) <= 1)) ))
3019 = 0;
3020 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3021 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3022 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3023 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3024 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3025 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3026 TYPEOF(pdr.used_representation)) AND (pdr.
3027 used_representation.name = 'vector from center of object')) ))
3028 = 1)) )) = 0;
3029 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3030 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3031 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3032 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3033 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3034 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3035 TYPEOF(pdr.used_representation)) AND (pdr.
3036 used_representation.name = 'parameters')) )) <= 1)) )) = 0;
3037 END_ENTITY; -- dmf_generic_feature
3038
3039 ENTITY dmf_geometric_curve
3040 SUBTYPE OF (dm_feature_definition);
3041 WHERE
3042 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3043 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3044 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3045 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3046 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3047 'DIMENSIONAL_INSPECTION_SCHEMA.'
3048 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3049 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3050 impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0;
3051 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3052 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3053 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3054 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3055 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3056 'DIMENSIONAL_INSPECTION_SCHEMA.'
3057 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3058 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3059 QUERY ( srwp_i <* pdr.used_representation.items | (srwp_i.
3060 name = 'orientation') )) = SIZEOF(pdr.used_representation.
3061 items))) )) = 1) )) = 1;
3062 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3063 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3064 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3065 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3066 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3067 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3068 TYPEOF(pdr.used_representation)) AND (pdr.
3069 used_representation.name = 'curve plane direction')) )) = 1)) ))
3070 = 0;
3071 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3072 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3073 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3074 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3075 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3076 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3077 TYPEOF(pdr.used_representation)) AND (pdr.
3078 used_representation.name = 'point on plane or curve')) )) =
3079 1)) )) = 0;
3080 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3081 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3082 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3083 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3084 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3085 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3086 TYPEOF(pdr.used_representation)) AND (pdr.
3087 used_representation.name = 'data point')) )) >= 2)) )) = 0;
3088 END_ENTITY; -- dmf_geometric_curve
3089
3090 ENTITY dmf_geometric_surface
3091 SUBTYPE OF (dm_feature_definition);
3092 WHERE
3093 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3094 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3095 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3096 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3097 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3098 'DIMENSIONAL_INSPECTION_SCHEMA.'
3099 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3100 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3101 impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0;
3102 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3103 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3104 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3105 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3106 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3107 'DIMENSIONAL_INSPECTION_SCHEMA.'
3108 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3109 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3110 QUERY ( srwp_i <* pdr.used_representation.items | (srwp_i.
3111 name = 'orientation') )) = SIZEOF(pdr.used_representation.
3112 items))) )) = 1) )) = 1;
3113 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3114 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3115 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3116 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3117 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3118 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3119 TYPEOF(pdr.used_representation)) AND (pdr.
3120 used_representation.name = 'curve plane direction')) )) = 1)) ))
3121 = 0;
3122 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3123 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3124 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3125 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3126 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3127 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3128 TYPEOF(pdr.used_representation)) AND (pdr.
3129 used_representation.name = 'point on plane or curve')) )) =
3130 1)) )) = 0;
3131 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3132 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3133 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3134 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3135 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3136 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3137 TYPEOF(pdr.used_representation)) AND (pdr.
3138 used_representation.name = 'data point')) )) >= 2)) )) = 0;
3139 END_ENTITY; -- dmf_geometric_surface
3140
3141 ENTITY dmf_line_bounded
3142 SUBTYPE OF (dm_feature_definition);
3143 WHERE
3144 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3145 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3146 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3147 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3148 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3149 'DIMENSIONAL_INSPECTION_SCHEMA.'
3150 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3151 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3152 impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0;
3153 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3154 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3155 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3156 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3157 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3158 'DIMENSIONAL_INSPECTION_SCHEMA.'
3159 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3160 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3161 QUERY ( srwp_i <* pdr.used_representation.items | (srwp_i.
3162 name = 'orientation') )) = SIZEOF(pdr.used_representation.
3163 items))) )) = 1) )) = 1;
3164 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3165 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3166 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3167 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3168 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3169 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3170 TYPEOF(pdr.used_representation)) AND (pdr.
3171 used_representation.name = 'first end point')) )) = 1)) )) =
3172 0;
3173 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3174 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3175 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3176 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3177 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3178 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3179 TYPEOF(pdr.used_representation)) AND (pdr.
3180 used_representation.name = 'second end point')) )) = 1)) ))
3181 = 0;
3182 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3183 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3184 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3185 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3186 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3187 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3188 TYPEOF(pdr.used_representation)) AND (pdr.
3189 used_representation.name = 'vector dml')) )) = 1)) )) = 0;
3190 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3191 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3192 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3193 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3194 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3195 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3196 TYPEOF(pdr.used_representation)) AND (pdr.
3197 used_representation.name = 'surface approach vector')) )) =
3198 1)) )) = 0;
3199 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3200 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3201 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3202 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3203 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3204 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3205 TYPEOF(pdr.used_representation)) AND (pdr.
3206 used_representation.name = 'length dml')) )) = 1)) )) = 0;
3207 END_ENTITY; -- dmf_line_bounded
3208
3209 ENTITY dmf_line_closed_parallel
3210 SUBTYPE OF (dm_feature_definition);
3211 WHERE
3212 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3213 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3214 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3215 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3216 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3217 'DIMENSIONAL_INSPECTION_SCHEMA.'
3218 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3219 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3220 impl_rep.used_representation.items) = 3)) )) = 0)) )) = 0;
3221 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3222 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3223 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3224 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3225 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3226 'DIMENSIONAL_INSPECTION_SCHEMA.'
3227 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3228 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3229 QUERY ( srwp_i <* pdr.used_representation.items | (((srwp_i.
3230 name = 'orientation') OR (srwp_i.name = 'inner outer')) OR (
3231 srwp_i.name = 'end kind')) )) = SIZEOF(pdr.
3232 used_representation.items))) )) = 1) )) = 1;
3233 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3234 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3235 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3236 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3237 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3238 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3239 TYPEOF(pdr.used_representation)) AND (pdr.
3240 used_representation.name = 'center point')) )) = 1)) )) = 0;
3241 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3242 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3243 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3244 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3245 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3246 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3247 TYPEOF(pdr.used_representation)) AND (pdr.
3248 used_representation.name = 'axis direction vector')) )) = 1)) ))
3249 = 0;
3250 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3251 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3252 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3253 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3254 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3255 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3256 TYPEOF(pdr.used_representation)) AND (pdr.
3257 used_representation.name = 'longitude vector')) )) = 1)) ))
3258 = 0;
3259 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3260 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3261 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3262 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3263 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3264 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3265 TYPEOF(pdr.used_representation)) AND (pdr.
3266 used_representation.name = 'feature length')) )) = 1)) )) =
3267 0;
3268 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3269 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3270 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3271 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3272 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3273 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3274 TYPEOF(pdr.used_representation)) AND (pdr.
3275 used_representation.name = 'width')) )) = 1)) )) = 0;
3276 wr8: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3277 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3278 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3279 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3280 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3281 'DIMENSIONAL_INSPECTION_SCHEMA.'
3282 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3283 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3284 QUERY ( it <* impl_rep.used_representation.items | (((
3285 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
3286 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
3287 description = 'inner') OR (it.description = 'outer'))) )) =
3288 1)) )) = 0)) )) = 0;
3289 wr9: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3290 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3291 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3292 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3293 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3294 'DIMENSIONAL_INSPECTION_SCHEMA.'
3295 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3296 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3297 QUERY ( it <* impl_rep.used_representation.items | (((
3298 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
3299 IN TYPEOF(it)) AND (it.name = 'end kind')) AND ((it.
3300 description = 'round') OR (it.description = 'square'))) )) =
3301 1)) )) = 0)) )) = 0;
3302 END_ENTITY; -- dmf_line_closed_parallel
3303
3304 ENTITY dmf_line_unbounded
3305 SUBTYPE OF (dm_feature_definition);
3306 WHERE
3307 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3308 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3309 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3310 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3311 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3312 'DIMENSIONAL_INSPECTION_SCHEMA.'
3313 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3314 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3315 impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0;
3316 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3317 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3318 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3319 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3320 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3321 'DIMENSIONAL_INSPECTION_SCHEMA.'
3322 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3323 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3324 QUERY ( srwp_i <* pdr.used_representation.items | (srwp_i.
3325 name = 'orientation') )) = SIZEOF(pdr.used_representation.
3326 items))) )) = 1) )) = 1;
3327 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3328 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3329 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3330 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3331 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3332 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3333 TYPEOF(pdr.used_representation)) AND (pdr.
3334 used_representation.name = 'point on line')) )) = 1)) )) = 0;
3335 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3336 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3337 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3338 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3339 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3340 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3341 TYPEOF(pdr.used_representation)) AND (pdr.
3342 used_representation.name = 'surface approach vector')) )) =
3343 1)) )) = 0;
3344 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3345 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3346 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3347 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3348 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3349 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3350 TYPEOF(pdr.used_representation)) AND (pdr.
3351 used_representation.name = 'direction vector')) )) = 1)) ))
3352 = 0;
3353 END_ENTITY; -- dmf_line_unbounded
3354
3355 ENTITY dmf_pattern
3356 SUBTYPE OF (dm_feature_definition);
3357 WHERE
3358 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3359 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3360 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3361 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3362 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3363 'DIMENSIONAL_INSPECTION_SCHEMA.'
3364 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3365 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3366 impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0;
3367 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3368 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3369 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3370 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3371 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3372 'DIMENSIONAL_INSPECTION_SCHEMA.'
3373 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3374 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3375 QUERY ( srwp_i <* pdr.used_representation.items | (srwp_i.
3376 name = 'orientation') )) = SIZEOF(pdr.used_representation.
3377 items))) )) = 1) )) = 1;
3378 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3379 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3380 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3381 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3382 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3383 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3384 TYPEOF(pdr.used_representation)) AND (pdr.
3385 used_representation.name = 'point')) )) <= 1)) )) = 0;
3386 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3387 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3388 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3389 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3390 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3391 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3392 TYPEOF(pdr.used_representation)) AND (pdr.
3393 used_representation.name = 'direction vector')) )) = 1)) ))
3394 = 0;
3395 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3396 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3397 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | (
3398 'DIMENSIONAL_INSPECTION_SCHEMA.DM_FEATURE_RELATIONSHIP' IN
3399 TYPEOF(pd)) )) >= 2;
3400 END_ENTITY; -- dmf_pattern
3401
3402 ENTITY dmf_plane
3403 SUBTYPE OF (dm_feature_definition);
3404 WHERE
3405 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3406 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3407 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3408 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3409 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3410 'DIMENSIONAL_INSPECTION_SCHEMA.'
3411 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3412 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3413 impl_rep.used_representation.items) = 3)) )) = 0)) )) = 0;
3414 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3415 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3416 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3417 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3418 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3419 'DIMENSIONAL_INSPECTION_SCHEMA.'
3420 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3421 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3422 QUERY ( srwp_i <* pdr.used_representation.items | (((srwp_i.
3423 name = 'orientation') OR (srwp_i.name = 'inner outer')) OR (
3424 srwp_i.name = 'boundary')) )) = SIZEOF(pdr.
3425 used_representation.items))) )) = 1) )) = 1;
3426 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3427 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3428 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3429 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3430 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3431 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3432 TYPEOF(pdr.used_representation)) AND (pdr.
3433 used_representation.name = 'point on plane')) )) = 1)) )) =
3434 0;
3435 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3436 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3437 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3438 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3439 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3440 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3441 TYPEOF(pdr.used_representation)) AND (pdr.
3442 used_representation.name = 'point dml')) )) = 1)) )) = 0;
3443 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3444 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3445 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3446 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3447 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3448 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3449 TYPEOF(pdr.used_representation)) AND (pdr.
3450 used_representation.name = 'direction vector')) )) = 1)) ))
3451 = 0;
3452 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3453 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3454 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3455 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3456 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3457 'DIMENSIONAL_INSPECTION_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
3458 pdr.used_representation)) AND (pdr.used_representation.name
3459 = 'boundary')) )) >= 2)) )) = 0;
3460 END_ENTITY; -- dmf_plane
3461
3462 ENTITY dmf_plane_closed_parallel
3463 SUBTYPE OF (dm_feature_definition);
3464 WHERE
3465 wr1 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3466 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3467 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
3468 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
3469 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3470 'DIMENSIONAL_INSPECTION_SCHEMA.'
3471 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3472 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3473 impl_rep.used_representation.items) = 3)) )) = 0)) )) = 0;
3474 wr2 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3475 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3476 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3477 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3478 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3479 'DIMENSIONAL_INSPECTION_SCHEMA.'
3480 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3481 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3482 QUERY ( srwp_i <* pdr.used_representation.items | (((srwp_i
3483 .name = 'orientation') OR (srwp_i.name = 'inner outer')) OR
3484 (srwp_i.name = 'end kind')) )) = SIZEOF(pdr.
3485 used_representation.items))) )) = 1) )) = 1;
3486 wr3 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3487 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3488 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3489 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3490 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3491 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3492 TYPEOF(pdr.used_representation)) AND (pdr.
3493 used_representation.name = 'center point')) )) = 1)) )) = 0;
3494 wr4 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3495 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3496 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3497 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3498 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3499 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3500 TYPEOF(pdr.used_representation)) AND (pdr.
3501 used_representation.name = 'axis direction vector')) )) = 1)) ))
3502 = 0;
3503 wr5 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3504 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3505 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3506 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3507 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3508 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3509 TYPEOF(pdr.used_representation)) AND (pdr.
3510 used_representation.name = 'longitude vector')) )) = 1)) ))
3511 = 0;
3512 wr6 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3513 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3514 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3515 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3516 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3517 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3518 TYPEOF(pdr.used_representation)) AND (pdr.
3519 used_representation.name = 'normal dml')) )) = 1)) )) = 0;
3520 wr7 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3521 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3522 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3523 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3524 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3525 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3526 TYPEOF(pdr.used_representation)) AND (pdr.
3527 used_representation.name = 'feature length')) )) = 1)) )) =
3528 0;
3529 wr8 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3530 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3531 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3532 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3533 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3534 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3535 TYPEOF(pdr.used_representation)) AND (pdr.
3536 used_representation.name = 'width')) )) = 1)) )) = 0;
3537 wr9 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3538 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3539 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3540 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3541 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3542 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3543 TYPEOF(pdr.used_representation)) AND (pdr.
3544 used_representation.name = 'height')) )) = 1)) )) = 0;
3545 wr10: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3546 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3547 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
3548 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
3549 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3550 'DIMENSIONAL_INSPECTION_SCHEMA.'
3551 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3552 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3553 QUERY ( it <* impl_rep.used_representation.items | (((
3554 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
3555 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
3556 description = 'inner') OR (it.description = 'outer'))) )) =
3557 1)) )) = 0)) )) = 0;
3558 wr11: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3559 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3560 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
3561 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
3562 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3563 'DIMENSIONAL_INSPECTION_SCHEMA.'
3564 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3565 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3566 QUERY ( it <* impl_rep.used_representation.items | (((
3567 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
3568 IN TYPEOF(it)) AND (it.name = 'end kind')) AND ((it.
3569 description = 'round') OR (it.description = 'square'))) ))
3570 = 1)) )) = 0)) )) = 0;
3571 END_ENTITY; -- dmf_plane_closed_parallel
3572
3573 ENTITY dmf_plane_symmetric
3574 SUBTYPE OF (dm_feature_definition);
3575 WHERE
3576 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3577 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3578 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3579 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3580 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3581 'DIMENSIONAL_INSPECTION_SCHEMA.'
3582 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3583 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3584 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
3585 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3586 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3587 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3588 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3589 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3590 'DIMENSIONAL_INSPECTION_SCHEMA.'
3591 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3592 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3593 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
3594 name = 'orientation') OR (srwp_i.name = 'inner outer')) )) =
3595 SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
3596 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3597 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3598 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3599 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3600 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3601 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3602 TYPEOF(pdr.used_representation)) AND (pdr.
3603 used_representation.name = 'point on one side')) )) = 1)) ))
3604 = 0;
3605 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3606 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3607 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3608 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3609 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3610 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3611 TYPEOF(pdr.used_representation)) AND (pdr.
3612 used_representation.name = 'point on other side')) )) = 1)) ))
3613 = 0;
3614 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3615 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3616 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3617 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3618 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3619 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3620 TYPEOF(pdr.used_representation)) AND (pdr.
3621 used_representation.name = 'point on mid side')) )) = 1)) ))
3622 = 0;
3623 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3624 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3625 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3626 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3627 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3628 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3629 TYPEOF(pdr.used_representation)) AND (pdr.
3630 used_representation.name = 'direction vector side one')) ))
3631 = 1)) )) = 0;
3632 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3633 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3634 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3635 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3636 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3637 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3638 TYPEOF(pdr.used_representation)) AND (pdr.
3639 used_representation.name = 'direction vector side two')) ))
3640 = 1)) )) = 0;
3641 wr8: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3642 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3643 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3644 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3645 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3646 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3647 TYPEOF(pdr.used_representation)) AND (pdr.
3648 used_representation.name = 'width at mid point')) )) = 1)) ))
3649 = 0;
3650 wr9: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3651 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3652 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3653 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3654 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3655 'DIMENSIONAL_INSPECTION_SCHEMA.'
3656 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3657 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3658 QUERY ( it <* impl_rep.used_representation.items | (((
3659 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
3660 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
3661 description = 'inner') OR (it.description = 'outer'))) )) =
3662 1)) )) = 0)) )) = 0;
3663 END_ENTITY; -- dmf_plane_symmetric
3664
3665 ENTITY dmf_point
3666 SUBTYPE OF (dm_feature_definition);
3667 WHERE
3668 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3669 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3670 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3671 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3672 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3673 'DIMENSIONAL_INSPECTION_SCHEMA.'
3674 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3675 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3676 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
3677 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3678 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3679 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3680 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3681 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3682 'DIMENSIONAL_INSPECTION_SCHEMA.'
3683 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3684 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3685 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
3686 name = 'orientation') OR (srwp_i.name = 'point type dml')) ))
3687 = SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
3688 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3689 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3690 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3691 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3692 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3693 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3694 TYPEOF(pdr.used_representation)) AND (pdr.
3695 used_representation.name = 'point')) )) = 1)) )) = 0;
3696 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3697 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3698 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3699 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3700 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3701 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3702 TYPEOF(pdr.used_representation)) AND (pdr.
3703 used_representation.name = 'direction vector')) )) = 1)) ))
3704 = 0;
3705 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3706 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3707 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3708 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3709 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3710 'DIMENSIONAL_INSPECTION_SCHEMA.'
3711 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3712 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3713 QUERY ( it <* impl_rep.used_representation.items | (((
3714 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
3715 IN TYPEOF(it)) AND (it.name = 'point type dml')) AND ((it.
3716 description = 'h edge') OR (it.description = 't edge'))) ))
3717 = 1)) )) = 0)) )) = 0;
3718 END_ENTITY; -- dmf_point
3719
3720 ENTITY dmf_sphere
3721 SUBTYPE OF (dm_feature_definition);
3722 WHERE
3723 wr1 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3724 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3725 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
3726 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
3727 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3728 'DIMENSIONAL_INSPECTION_SCHEMA.'
3729 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3730 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3731 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
3732 wr2 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3733 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3734 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3735 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3736 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3737 'DIMENSIONAL_INSPECTION_SCHEMA.'
3738 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3739 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3740 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
3741 name = 'orientation') OR (srwp_i.name = 'boundary')) )) =
3742 SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
3743 wr3 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3744 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3745 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3746 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3747 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3748 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3749 TYPEOF(pdr.used_representation)) AND (pdr.
3750 used_representation.name = 'center point')) )) = 1)) )) = 0;
3751 wr4 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3752 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3753 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3754 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3755 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3756 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3757 TYPEOF(pdr.used_representation)) AND (pdr.
3758 used_representation.name = 'north pole vector')) )) = 1)) ))
3759 = 0;
3760 wr5 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3761 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3762 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3763 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3764 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3765 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3766 TYPEOF(pdr.used_representation)) AND (pdr.
3767 used_representation.name = 'prime meridian vector')) )) = 1)) ))
3768 = 0;
3769 wr6 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3770 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3771 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3772 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3773 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3774 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3775 TYPEOF(pdr.used_representation)) AND (pdr.
3776 used_representation.name = 'latitude start angle')) )) = 1)) ))
3777 = 0;
3778 wr7 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3779 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3780 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3781 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3782 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3783 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3784 TYPEOF(pdr.used_representation)) AND (pdr.
3785 used_representation.name = 'latitude stop point')) )) = 1)) ))
3786 = 0;
3787 wr8 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3788 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3789 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3790 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3791 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3792 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3793 TYPEOF(pdr.used_representation)) AND (pdr.
3794 used_representation.name = 'longitude start point')) )) = 1)) ))
3795 = 0;
3796 wr9 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
3797 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3798 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3799 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3800 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3801 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3802 TYPEOF(pdr.used_representation)) AND (pdr.
3803 used_representation.name = 'longitude stop point')) )) = 1)) ))
3804 = 0;
3805 wr10: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3806 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3807 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3808 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3809 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3810 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3811 TYPEOF(pdr.used_representation)) AND (pdr.
3812 used_representation.name = 'diameter')) )) = 1)) )) = 0;
3813 wr11: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3814 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3815 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3816 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3817 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3818 'DIMENSIONAL_INSPECTION_SCHEMA.CARTESIAN_POINT' IN TYPEOF(
3819 pdr.used_representation)) AND (pdr.used_representation.name
3820 = 'boundary')) )) >= 2)) )) = 0;
3821 END_ENTITY; -- dmf_sphere
3822
3823 ENTITY dmf_surface_of_revolution_dml
3824 SUBTYPE OF (dm_feature_definition);
3825 WHERE
3826 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3827 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3828 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3829 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3830 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3831 'DIMENSIONAL_INSPECTION_SCHEMA.'
3832 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3833 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3834 impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0;
3835 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3836 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3837 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3838 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3839 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3840 'DIMENSIONAL_INSPECTION_SCHEMA.'
3841 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3842 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3843 QUERY ( srwp_i <* pdr.used_representation.items | (srwp_i.
3844 name = 'orientation') )) = SIZEOF(pdr.used_representation.
3845 items))) )) = 1) )) = 1;
3846 END_ENTITY; -- dmf_surface_of_revolution_dml
3847
3848 ENTITY dmf_torus
3849 SUBTYPE OF (dm_feature_definition);
3850 WHERE
3851 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3852 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3853 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3854 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3855 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3856 'DIMENSIONAL_INSPECTION_SCHEMA.'
3857 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3858 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3859 impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0;
3860 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3861 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3862 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3863 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3864 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3865 'DIMENSIONAL_INSPECTION_SCHEMA.'
3866 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3867 IN TYPEOF(pdr.used_representation)) AND (SIZEOF(
3868 QUERY ( srwp_i <* pdr.used_representation.items | ((srwp_i.
3869 name = 'orientation') OR (srwp_i.name = 'inner outer')) )) =
3870 SIZEOF(pdr.used_representation.items))) )) = 1) )) = 1;
3871 wr3: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3872 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3873 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3874 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3875 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3876 'DIMENSIONAL_INSPECTION_SCHEMA.DM_POINT_PARAMETER' IN
3877 TYPEOF(pdr.used_representation)) AND (pdr.
3878 used_representation.name = 'center point')) )) = 1)) )) = 0;
3879 wr4: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3880 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3881 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3882 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3883 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3884 'DIMENSIONAL_INSPECTION_SCHEMA.DM_VECTOR_PARAMETER' IN
3885 TYPEOF(pdr.used_representation)) AND (pdr.
3886 used_representation.name = 'vector or plane')) )) = 1)) )) =
3887 0;
3888 wr5: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3889 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3890 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3891 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3892 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3893 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3894 TYPEOF(pdr.used_representation)) AND (pdr.
3895 used_representation.name = 'major diameter')) )) = 1)) )) =
3896 0;
3897 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3898 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3899 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3900 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3901 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
3902 'DIMENSIONAL_INSPECTION_SCHEMA.DM_DIMENSION_PARAMETER' IN
3903 TYPEOF(pdr.used_representation)) AND (pdr.
3904 used_representation.name = 'minor diameter')) )) = 1)) )) =
3905 0;
3906 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
3907 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3908 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3909 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3910 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3911 'DIMENSIONAL_INSPECTION_SCHEMA.'
3912 +'DM_SHAPE_REPRESENTATION_WITH_PARAMETERS'
3913 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
3914 QUERY ( it <* impl_rep.used_representation.items | (((
3915 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
3916 IN TYPEOF(it)) AND (it.name = 'inner outer')) AND ((it.
3917 description = 'inner') OR (it.description = 'outer'))) )) =
3918 1)) )) = 0)) )) = 0;
3919 END_ENTITY; -- dmf_torus
3920
3921 ENTITY document;
3922 id : identifier;
3923 name : label;
3924 description : OPTIONAL text;
3925 kind : document_type;
3926 INVERSE
3927 representation_types : SET [0:?] OF document_representation_type FOR
3928 represented_document;
3929 END_ENTITY; -- document
3930
3931 ENTITY document_reference
3932 ABSTRACT SUPERTYPE;
3933 assigned_document : document;
3934 source : label;
3935 DERIVE
3936 role : object_role := get_role(SELF);
3937 WHERE
3938 wr1: SIZEOF(USEDIN(SELF,'DIMENSIONAL_INSPECTION_SCHEMA.' +
3939 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
3940 END_ENTITY; -- document_reference
3941
3942 ENTITY document_representation_type;
3943 name : label;
3944 represented_document : document;
3945 END_ENTITY; -- document_representation_type
3946
3947 ENTITY document_type;
3948 product_data_type : label;
3949 END_ENTITY; -- document_type
3950
3951 ENTITY document_usage_constraint;
3952 source : document;
3953 subject_element : label;
3954 subject_element_value : text;
3955 END_ENTITY; -- document_usage_constraint
3956
3957 ENTITY document_with_class
3958 SUBTYPE OF (document);
3959 class : identifier;
3960 END_ENTITY; -- document_with_class
3961
3962 ENTITY edge
3963 SUPERTYPE OF (ONEOF (edge_curve,oriented_edge))
3964 SUBTYPE OF (topological_representation_item);
3965 edge_start : vertex;
3966 edge_end : vertex;
3967 END_ENTITY; -- edge
3968
3969 ENTITY edge_curve
3970 SUBTYPE OF (edge, geometric_representation_item);
3971 edge_geometry : curve;
3972 same_sense : BOOLEAN;
3973 END_ENTITY; -- edge_curve
3974
3975 ENTITY edge_loop
3976 SUBTYPE OF (loop, path);
3977 DERIVE
3978 ne : INTEGER := SIZEOF(SELF\path.edge_list);
3979 WHERE
3980 wr1: SELF\path.edge_list[1].edge_start :=: SELF\path.edge_list[ne].
3981 edge_end;
3982 END_ENTITY; -- edge_loop
3983
3984 ENTITY edge_round
3985 SUBTYPE OF (transition_feature);
3986 WHERE
3987 wr1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR (
3988 SIZEOF(QUERY ( pd <* USEDIN(SELF,
3989 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3990 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
3991 'DIMENSIONAL_INSPECTION_SCHEMA.' +
3992 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
3993 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
3994 IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
3995 wr2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR (
3996 SIZEOF(QUERY ( pd <* USEDIN(SELF,
3997 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
3998 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
3999 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4000 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
4001 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4002 IN TYPEOF(pdr.used_representation)) ) | ((NOT (SIZEOF(
4003 impl_rep.used_representation.items) >= 1)) AND (SIZEOF(
4004 impl_rep.used_representation.items) <= 3)) )) = 0)) )) = 0);
4005 wr3: (NOT (SELF.description = 'constant radius')) OR (SIZEOF(
4006 QUERY ( pd <* USEDIN(SELF,
4007 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4008 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4009 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4010 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
4011 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4012 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4013 QUERY ( it <* impl_rep.used_representation.items | ((SIZEOF(
4014 ['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4015 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4016 TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) = 0)) ))
4017 = 0);
4018 wr4: (NOT (SELF.description = 'constant radius')) OR (SIZEOF(
4019 QUERY ( pd <* USEDIN(SELF,
4020 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4021 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4022 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4023 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
4024 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4025 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4026 QUERY ( it <* impl_rep.used_representation.items | ((SIZEOF(
4027 ['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4028 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4029 TYPEOF(it)) = 2) AND (it.name = 'first offset')) )) <= 1)) ))
4030 = 0)) )) = 0);
4031 wr5: (NOT (SELF.description = 'constant radius')) OR (SIZEOF(
4032 QUERY ( pd <* USEDIN(SELF,
4033 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4034 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4035 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4036 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (
4037 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4038 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4039 QUERY ( it <* impl_rep.used_representation.items | ((SIZEOF(
4040 ['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4041 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4042 TYPEOF(it)) = 2) AND (it.name = 'second offset')) )) <= 1)) ))
4043 = 0)) )) = 0);
4044 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4045 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4046 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4047 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4048 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4049 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
4050 TYPEOF(pdr.used_representation)) AND (pdr.
4051 used_representation.name = 'edge round face')) )) <= 1)) ))
4052 = 0;
4053 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4054 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4055 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4056 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4057 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4058 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
4059 TYPEOF(pdr.used_representation)) AND (pdr.
4060 used_representation.name = 'first face shape')) )) <= 1)) ))
4061 = 0;
4062 wr8: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4063 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4064 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4065 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4066 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4067 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
4068 TYPEOF(pdr.used_representation)) AND (pdr.
4069 used_representation.name = 'second face shape')) )) <= 1)) ))
4070 = 0;
4071 END_ENTITY; -- edge_round
4072
4073 ENTITY elementary_surface
4074 SUPERTYPE OF (ONEOF (plane,cylindrical_surface,conical_surface,
4075 spherical_surface,toroidal_surface))
4076 SUBTYPE OF (surface);
4077 position : axis2_placement_3d;
4078 END_ENTITY; -- elementary_surface
4079
4080 ENTITY ellipse
4081 SUBTYPE OF (conic);
4082 semi_axis_1 : positive_length_measure;
4083 semi_axis_2 : positive_length_measure;
4084 END_ENTITY; -- ellipse
4085
4086 ENTITY executed_action
4087 SUBTYPE OF (action);
4088 END_ENTITY; -- executed_action
4089
4090 ENTITY extension
4091 SUBTYPE OF (derived_shape_aspect);
4092 WHERE
4093 wr1: SIZEOF(SELF\derived_shape_aspect.deriving_relationships) = 1;
4094 END_ENTITY; -- extension
4095
4096 ENTITY external_source;
4097 source_id : source_item;
4098 DERIVE
4099 description : text := get_description_value(SELF);
4100 WHERE
4101 wr1: SIZEOF(USEDIN(SELF,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4102 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
4103 END_ENTITY; -- external_source
4104
4105 ENTITY externally_defined_dimension_definition
4106 SUBTYPE OF (externally_defined_item, dimensional_size);
4107 WHERE
4108 wr1: SELF.source.description = 'externally dimension specification';
4109 wr2: SIZEOF(QUERY ( adr <* USEDIN(SELF,
4110 'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_DOCUMENT_REFERENCE.ITEMS')
4111 | (adr.assigned_document.description =
4112 'externally dimension specification') )) <= 1;
4113 END_ENTITY; -- externally_defined_dimension_definition
4114
4115 ENTITY externally_defined_feature_definition
4116 SUBTYPE OF (feature_definition, externally_defined_item);
4117 WHERE
4118 wr1 : (((((SELF\characterized_object.description = 'thread') AND (
4119 SELF\externally_defined_item.item_id = 'external thread'))
4120 AND (SELF\externally_defined_item.source.source_id =
4121 'external feature specification')) OR (((SELF\
4122 characterized_object.description = 'gear') AND (SELF\
4123 externally_defined_item.item_id = 'external gear')) AND (
4124 SELF\externally_defined_item.source.source_id =
4125 'external feature specification'))) OR (((SELF\
4126 characterized_object.description = 'marking') AND (SELF\
4127 externally_defined_item.item_id = 'external marking')) AND
4128 (SELF\externally_defined_item.source.source_id =
4129 'external feature specification'))) OR (((SELF\
4130 characterized_object.description = 'knurl') AND (SELF\
4131 externally_defined_item.item_id = 'external knurl')) AND (
4132 SELF\externally_defined_item.source.source_id =
4133 'external feature specification'));
4134 wr2 : (NOT (SELF\characterized_object.description = 'thread')) OR (
4135 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4136 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4137 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4138 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4139 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
4140 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4141 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4142 used_representation)) AND ((5 <= SIZEOF(pdr.
4143 used_representation.items)) AND (SIZEOF(pdr.
4144 used_representation.items) <= 10))) )) = 1) )) = 1);
4145 wr3 : (NOT (SELF\characterized_object.description = 'marking')) OR (
4146 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4147 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4148 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4149 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4150 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
4151 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4152 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4153 used_representation)) AND (SIZEOF(pdr.used_representation.
4154 items) = 2)) )) = 1) )) = 1);
4155 wr4 : (NOT (SELF\characterized_object.description = 'knurl')) OR (
4156 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4157 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4158 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4159 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4160 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
4161 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4162 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4163 used_representation)) AND (SIZEOF(pdr.used_representation.
4164 items) = 1)) )) = 1) )) = 1);
4165 wr5 : (NOT (SELF\characterized_object.description IN ['knurl',
4166 'thread'])) OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(
4167 SELF,
4168 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4169 | (
4170 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
4171 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
4172 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
4173 sa_occ.description = 'partial area occurrence') AND (
4174 SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
4175 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
4176 + 'RELATED_SHAPE_ASPECT') | ((sar.description =
4177 'applied area usage') AND (
4178 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
4179 IN TYPEOF(sar))) ) | (
4180 'DIMENSIONAL_INSPECTION_SCHEMA.APPLIED_AREA' IN TYPEOF(sdr.
4181 relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0);
4182 wr6 : (NOT (SELF\characterized_object.description = 'marking')) OR (
4183 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4184 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4185 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4186 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4187 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4188 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4189 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4190 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4191 impl_rep.used_representation.items | ((
4192 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4193 IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) ))
4194 = 0)) )) = 0);
4195 wr7 : (NOT (SELF\characterized_object.description = 'thread')) OR (
4196 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4197 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4198 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4199 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4200 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4201 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4202 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4203 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4204 impl_rep.used_representation.items | (((
4205 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4206 IN TYPEOF(it)) AND (it.name = 'removal direction')) AND ((
4207 it.description = 'internal') OR (it.description =
4208 'external'))) )) = 1)) )) = 0)) )) = 0);
4209 wr8 : (NOT (SELF\characterized_object.description = 'thread')) OR (
4210 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4211 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4212 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4213 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4214 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4215 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4216 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4217 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4218 impl_rep.used_representation.items | ((
4219 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4220 IN TYPEOF(it)) AND (it.name = 'qualifier')) )) <= 1)) )) =
4221 0)) )) = 0);
4222 wr9 : (NOT (SELF\characterized_object.description = 'thread')) OR (
4223 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4224 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4225 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4226 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4227 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4228 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4229 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4230 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4231 impl_rep.used_representation.items | ((
4232 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4233 IN TYPEOF(it)) AND (it.name = 'hand')) )) = 1)) )) = 0)) ))
4234 = 0);
4235 wr10: (NOT (SELF\characterized_object.description = 'thread')) OR (
4236 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4237 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4238 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4239 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4240 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4241 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4242 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4243 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4244 impl_rep.used_representation.items | ((
4245 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4246 IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = 0)) ))
4247 = 0);
4248 wr11: (NOT (SELF\characterized_object.description = 'thread')) OR (
4249 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4250 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4251 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4252 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4253 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4254 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4255 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4256 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4257 impl_rep.used_representation.items | ((
4258 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4259 IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) ))
4260 = 0);
4261 wr12: (NOT (SELF\characterized_object.description = 'thread')) OR (
4262 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4263 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4264 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4265 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4266 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4267 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4268 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4269 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4270 impl_rep.used_representation.items | ((SIZEOF([
4271 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4272 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4273 TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) <= 1)) ))
4274 = 0)) )) = 0);
4275 wr13: (NOT (SELF\characterized_object.description = 'thread')) OR (
4276 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4277 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4278 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4279 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4280 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4281 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4282 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4283 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4284 impl_rep.used_representation.items | ((SIZEOF([
4285 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4286 'DIMENSIONAL_INSPECTION_SCHEMA.RATIO_MEASURE_WITH_UNIT'] *
4287 TYPEOF(it)) = 2) AND (it.name = 'number of threads')) )) =
4288 1)) )) = 0)) )) = 0);
4289 wr14: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4290 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4291 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4292 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4293 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4294 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4295 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4296 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4297 impl_rep.used_representation.items | ((
4298 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4299 IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) ))
4300 = 0)) )) = 0;
4301 wr15: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4302 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4303 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4304 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4305 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4306 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4307 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4308 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4309 impl_rep.used_representation.items | ((SIZEOF([
4310 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4311 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4312 TYPEOF(it)) = 2) AND (it.name = 'nominal size')) )) <= 1)) ))
4313 = 0)) )) = 0;
4314 wr16: (NOT (SELF\characterized_object.description IN ['knurl','gear',
4315 'thread'])) OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(
4316 SELF,
4317 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4318 | (
4319 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
4320 TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
4321 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | (
4322 SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
4323 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
4324 + 'RELATED_SHAPE_ASPECT') | ((sar.description =
4325 'applied shape') AND (
4326 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
4327 IN TYPEOF(sar))) ) | (
4328 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT' IN TYPEOF(sdr.
4329 relating_shape_aspect)) )) = 1) )) <= 1)) )) = 0);
4330 wr17: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4331 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4332 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4333 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4334 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4335 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((((
4336 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4337 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4338 used_representation)) AND (10 <= SIZEOF(pdr.
4339 used_representation.items))) AND (SIZEOF(pdr.
4340 used_representation.items) >= 11)) )) = 1) )) = 1);
4341 wr18: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4342 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4343 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4344 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4345 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4346 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4347 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4348 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4349 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4350 impl_rep.used_representation.items | ((SIZEOF([
4351 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4352 'DIMENSIONAL_INSPECTION_SCHEMA.RATIO_MEASURE_WITH_UNIT'] *
4353 TYPEOF(it)) = 2) AND (it.name = 'number of teeth')) )) = 1)) ))
4354 = 0)) )) = 0);
4355 wr19: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4356 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4357 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4358 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4359 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4360 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4361 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4362 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4363 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4364 impl_rep.used_representation.items | ((SIZEOF([
4365 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4366 'DIMENSIONAL_INSPECTION_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']
4367 * TYPEOF(it)) = 2) AND (it.name = 'reference presure angle')) ))
4368 = 1)) )) = 0)) )) = 0);
4369 wr20: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4370 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4371 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4372 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4373 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4374 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4375 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4376 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4377 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4378 impl_rep.used_representation.items | ((SIZEOF([
4379 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4380 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4381 TYPEOF(it)) = 2) AND (it.name = 'rake shift factor')) )) =
4382 1)) )) = 0)) )) = 0);
4383 wr21: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4384 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4385 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4386 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4387 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4388 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4389 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4390 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4391 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4392 impl_rep.used_representation.items | ((SIZEOF([
4393 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4394 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4395 TYPEOF(it)) = 2) AND (it.name = 'nominal tool depth')) ))
4396 = 1)) )) = 0)) )) = 0);
4397 wr22: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4398 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4399 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4400 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4401 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4402 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4403 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4404 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4405 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4406 impl_rep.used_representation.items | ((SIZEOF([
4407 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4408 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4409 TYPEOF(it)) = 2) AND (it.name = 'face width')) )) = 1)) ))
4410 = 0)) )) = 0);
4411 wr23: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4412 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4413 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4414 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4415 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4416 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4417 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4418 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4419 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4420 impl_rep.used_representation.items | ((SIZEOF([
4421 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4422 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4423 TYPEOF(it)) = 2) AND (it.name = 'tip diameter')) )) = 1)) ))
4424 = 0)) )) = 0);
4425 wr24: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4426 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4427 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4428 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4429 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4430 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4431 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4432 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4433 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4434 impl_rep.used_representation.items | (((
4435 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4436 IN TYPEOF(it)) AND (it.name = 'module or diametral pitch'))
4437 AND ((it.description = 'module') OR (it.description =
4438 'diameter pitch'))) )) = 1)) )) = 0)) )) = 0);
4439 wr25: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4440 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4441 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4442 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4443 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4444 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4445 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4446 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4447 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4448 impl_rep.used_representation.items | ((SIZEOF([
4449 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4450 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4451 TYPEOF(it)) = 2) AND (it.name = 'normal attribute')) )) =
4452 1)) )) = 0)) )) = 0);
4453 wr26: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4454 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4455 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4456 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4457 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4458 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4459 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4460 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4461 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4462 impl_rep.used_representation.items | (((
4463 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4464 IN TYPEOF(it)) AND (it.name = 'internal or external gear'))
4465 AND ((it.description = 'internal') OR (it.description =
4466 'external'))) )) = 1)) )) = 0)) )) = 0);
4467 wr27: (NOT (SELF\characterized_object.description IN ['gear'])) OR (
4468 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4469 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4470 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4471 pd,'DIMENSIONAL_INSPECTION_SCHEMA.' +
4472 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4473 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4474 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4475 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4476 impl_rep.used_representation.items | ((SIZEOF([
4477 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4478 'DIMENSIONAL_INSPECTION_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']
4479 * TYPEOF(it)) = 2) AND (it.name = 'root fillet radius')) ))
4480 <= 1)) )) = 0)) )) = 0);
4481 END_ENTITY; -- externally_defined_feature_definition
4482
4483 ENTITY externally_defined_item;
4484 item_id : source_item;
4485 source : external_source;
4486 END_ENTITY; -- externally_defined_item
4487
4488 ENTITY face
4489 SUPERTYPE OF (ONEOF (face_surface,oriented_face))
4490 SUBTYPE OF (topological_representation_item);
4491 bounds : SET [1:?] OF face_bound;
4492 WHERE
4493 wr1: NOT mixed_loop_type_set(list_to_set(list_face_loops(SELF)));
4494 wr2: SIZEOF(QUERY ( temp <* bounds | (
4495 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_OUTER_BOUND' IN TYPEOF(
4496 temp)) )) <= 1;
4497 END_ENTITY; -- face
4498
4499 ENTITY face_bound
4500 SUBTYPE OF (topological_representation_item);
4501 bound : loop;
4502 orientation : BOOLEAN;
4503 END_ENTITY; -- face_bound
4504
4505 ENTITY face_outer_bound
4506 SUBTYPE OF (face_bound);
4507 END_ENTITY; -- face_outer_bound
4508
4509 ENTITY face_shape_representation
4510 SUBTYPE OF (shape_representation);
4511 WHERE
4512 wr1: SIZEOF(SELF.items) >= 1;
4513 wr2: SIZEOF(QUERY ( it <* SELF.items | (NOT ((
4514 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SURFACE' IN TYPEOF(it))
4515 OR ('DIMENSIONAL_INSPECTION_SCHEMA.ORIENTED_FACE' IN TYPEOF(
4516 it)))) )) = 0;
4517 END_ENTITY; -- face_shape_representation
4518
4519 ENTITY face_surface
4520 SUBTYPE OF (face, geometric_representation_item);
4521 face_geometry : surface;
4522 same_sense : BOOLEAN;
4523 WHERE
4524 wr1: NOT ('DIMENSIONAL_INSPECTION_SCHEMA.ORIENTED_SURFACE' IN
4525 TYPEOF(face_geometry));
4526 END_ENTITY; -- face_surface
4527
4528 ENTITY faceted_brep
4529 SUBTYPE OF (manifold_solid_brep);
4530 END_ENTITY; -- faceted_brep
4531
4532 ENTITY feature_component_definition
4533 SUBTYPE OF (characterized_object);
4534 WHERE
4535 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4536 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4537 | (NOT (SIZEOF(USEDIN(pd,
4538 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE')) = 1)) ))
4539 = 0;
4540 END_ENTITY; -- feature_component_definition
4541
4542 ENTITY feature_component_relationship
4543 SUPERTYPE OF (ONEOF (pattern_omit_membership,pattern_offset_membership))
4544 SUBTYPE OF (shape_aspect_relationship);
4545 WHERE
4546 wr1: ((SIZEOF([
4547 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT',
4548 'DIMENSIONAL_INSPECTION_SCHEMA.REPLICATE_FEATURE',
4549 'DIMENSIONAL_INSPECTION_SCHEMA.TRANSITION_FEATURE',
4550 'DIMENSIONAL_INSPECTION_SCHEMA.MODIFIED_PATTERN'] * TYPEOF(
4551 SELF.relating_shape_aspect)) = 1) OR (
4552 'DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_DEFINITION' IN
4553 TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
4554 ('DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_DEFINITION'
4555 IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition));
4556 END_ENTITY; -- feature_component_relationship
4557
4558 ENTITY feature_definition
4559 SUBTYPE OF (characterized_object);
4560 WHERE
4561 wr1: SIZEOF(QUERY ( pdr <* get_property_definition_representations(
4562 SELF) | (
4563 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4564 IN TYPEOF(pdr.used_representation)) )) <= 1;
4565 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4566 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4567 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4568 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4569 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4570 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4571 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4572 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4573 impl_rep.used_representation.items | ((
4574 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
4575 (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0;
4576 wr3: SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.BOSS',
4577 'DIMENSIONAL_INSPECTION_SCHEMA.TURNED_KNURL',
4578 'DIMENSIONAL_INSPECTION_SCHEMA.THREAD',
4579 'DIMENSIONAL_INSPECTION_SCHEMA.GEAR',
4580 'DIMENSIONAL_INSPECTION_SCHEMA.MARKING',
4581 'DIMENSIONAL_INSPECTION_SCHEMA.RIB_TOP',
4582 'DIMENSIONAL_INSPECTION_SCHEMA.ROUND_HOLE',
4583 'DIMENSIONAL_INSPECTION_SCHEMA.OUTSIDE_PROFILE',
4584 'DIMENSIONAL_INSPECTION_SCHEMA.POCKET',
4585 'DIMENSIONAL_INSPECTION_SCHEMA.REMOVAL_VOLUME',
4586 'DIMENSIONAL_INSPECTION_SCHEMA.REVOLVED_PROFILE',
4587 'DIMENSIONAL_INSPECTION_SCHEMA.OUTER_ROUND',
4588 'DIMENSIONAL_INSPECTION_SCHEMA.FLAT_FACE',
4589 'DIMENSIONAL_INSPECTION_SCHEMA.PROTRUSION',
4590 'DIMENSIONAL_INSPECTION_SCHEMA.ROUNDED_END',
4591 'DIMENSIONAL_INSPECTION_SCHEMA.SLOT',
4592 'DIMENSIONAL_INSPECTION_SCHEMA.SPHERICAL_CAP',
4593 'DIMENSIONAL_INSPECTION_SCHEMA.STEP',
4594 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOUND_FEATURE',
4595 'DIMENSIONAL_INSPECTION_SCHEMA.REPLICATE_FEATURE',
4596 'DIMENSIONAL_INSPECTION_SCHEMA.EXTERNALLY_DEFINED_FEATURE_DEFINITION']
4597 * TYPEOF(SELF)) = 1;
4598 wr4: (NOT (SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.ROUND_HOLE',
4599 'DIMENSIONAL_INSPECTION_SCHEMA.BOSS',
4600 'DIMENSIONAL_INSPECTION_SCHEMA.OUTSIDE_PROFILE',
4601 'DIMENSIONAL_INSPECTION_SCHEMA.REMOVAL_VOLUME',
4602 'DIMENSIONAL_INSPECTION_SCHEMA.FLAT_FACE',
4603 'DIMENSIONAL_INSPECTION_SCHEMA.POCKET',
4604 'DIMENSIONAL_INSPECTION_SCHEMA.PROTRUSION',
4605 'DIMENSIONAL_INSPECTION_SCHEMA.RIB_TOP',
4606 'DIMENSIONAL_INSPECTION_SCHEMA.ROUNDED_END',
4607 'DIMENSIONAL_INSPECTION_SCHEMA.SLOT',
4608 'DIMENSIONAL_INSPECTION_SCHEMA.STEP'] * TYPEOF(SELF)) = 1))
4609 OR (SIZEOF(QUERY ( pdr <*
4610 get_property_definition_representations(SELF) | ((
4611 'DIMENSIONAL_INSPECTION_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
4612 IN TYPEOF(pdr.used_representation)) AND (pdr.
4613 used_representation.name = 'maximum feature limit')) )) >= 0);
4614 END_ENTITY; -- feature_definition
4615
4616 ENTITY feature_pattern
4617 SUBTYPE OF (replicate_feature);
4618 WHERE
4619 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4620 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4621 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4622 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4623 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (((
4624 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4625 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4626 used_representation)) AND (SIZEOF(QUERY ( srwp_i <* pdr.
4627 used_representation.items | (NOT (
4628 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(srwp_i))) ))
4629 > 0)) )) > 0) )) = 0;
4630 wr2: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4631 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4632 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4633 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4634 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4635 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4636 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4637 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4638 impl_rep.used_representation.items | ((
4639 'DIMENSIONAL_INSPECTION_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
4640 (it.name = 'base feature placement')) )) > 1)) )) = 0)) ))
4641 = 0;
4642 END_ENTITY; -- feature_pattern
4643
4644 ENTITY fillet
4645 SUBTYPE OF (transition_feature);
4646 WHERE
4647 wr1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR (
4648 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4649 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4650 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4651 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4652 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4653 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4654 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4655 used_representation)) )) = 1)) )) = 0);
4656 wr2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR (
4657 SIZEOF(QUERY ( pd <* USEDIN(SELF,
4658 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4659 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4660 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4661 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4662 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4663 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4664 used_representation)) ) | ((NOT (SIZEOF(impl_rep.
4665 used_representation.items) >= 1)) AND (SIZEOF(impl_rep.
4666 used_representation.items) <= 3)) )) = 0)) )) = 0);
4667 wr3: (NOT (SELF.description = 'constant radius')) OR (SIZEOF(
4668 QUERY ( pd <* USEDIN(SELF,
4669 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4670 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4671 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4672 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4673 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4674 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4675 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4676 impl_rep.used_representation.items | ((SIZEOF([
4677 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4678 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4679 TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) = 0)) ))
4680 = 0);
4681 wr4: (NOT (SELF.description = 'constant radius')) OR (SIZEOF(
4682 QUERY ( pd <* USEDIN(SELF,
4683 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4684 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4685 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4686 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4687 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4688 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4689 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4690 impl_rep.used_representation.items | ((SIZEOF([
4691 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4692 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4693 TYPEOF(it)) = 2) AND (it.name = 'first offset')) )) <= 1)) ))
4694 = 0)) )) = 0);
4695 wr5: (NOT (SELF.description = 'constant radius')) OR (SIZEOF(
4696 QUERY ( pd <* USEDIN(SELF,
4697 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4698 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4699 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4700 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4701 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4702 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4703 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4704 impl_rep.used_representation.items | ((SIZEOF([
4705 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4706 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4707 TYPEOF(it)) = 2) AND (it.name = 'second offset')) )) <= 1)) ))
4708 = 0)) )) = 0);
4709 wr6: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4710 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.' +
4711 'DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4712 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4713 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4714 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
4715 TYPEOF(pdr.used_representation)) AND (pdr.
4716 used_representation.name = 'fillet face')) )) = 1)) )) = 0;
4717 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4718 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.' +
4719 'DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4720 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4721 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4722 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
4723 TYPEOF(pdr.used_representation)) AND (pdr.
4724 used_representation.name = 'first face shape')) )) = 1)) ))
4725 = 0;
4726 wr8: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4727 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.' +
4728 'DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4729 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4730 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4731 'DIMENSIONAL_INSPECTION_SCHEMA.FACE_SHAPE_REPRESENTATION' IN
4732 TYPEOF(pdr.used_representation)) AND (pdr.
4733 used_representation.name = 'second face shape')) )) = 1)) ))
4734 = 0;
4735 END_ENTITY; -- fillet
4736
4737 ENTITY flat_face
4738 SUBTYPE OF (feature_definition);
4739 WHERE
4740 wr1: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4741 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4742 | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4743 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4744 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4745 'DIMENSIONAL_INSPECTION_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
4746 IN TYPEOF(pdr.used_representation)) AND (pdr.
4747 used_representation.name = 'removal direction')) )) = 1)) ))
4748 = 0;
4749 wr2: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
4750 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4751 | ('DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
4752 IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
4753 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
4754 sa_occ.description = 'course of travel occurrence') AND (
4755 SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
4756 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
4757 'RELATED_SHAPE_ASPECT') | ((sar.description =
4758 'path feature component usage') AND (
4759 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
4760 IN TYPEOF(sar))) ) | (((
4761 'DIMENSIONAL_INSPECTION_SCHEMA.PATH_FEATURE_COMPONENT' IN
4762 TYPEOF(sdr.relating_shape_aspect)) AND (sdr.
4763 relating_shape_aspect.description = 'linear')) AND (sdr.name
4764 = 'course of travel')) )) = 1)) )) = 1)) )) = 0;
4765 wr3: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
4766 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4767 | ('DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
4768 IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
4769 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
4770 sa_occ.description = 'removal boundary occurrence') AND (
4771 SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
4772 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
4773 'RELATED_SHAPE_ASPECT') | ((sar.description =
4774 'profile usage') AND (
4775 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
4776 IN TYPEOF(sar))) ) | ((
4777 'DIMENSIONAL_INSPECTION_SCHEMA.LINEAR_PROFILE' IN TYPEOF(sdr
4778 .relating_shape_aspect)) AND (sdr.name = 'removal boundary')) ))
4779 = 1)) )) = 1)) )) = 0;
4780 wr4: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
4781 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4782 | ('DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
4783 IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
4784 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
4785 sa_occ.description = 'enclosed boundary occurrence') AND (
4786 SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
4787 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
4788 'RELATED_SHAPE_ASPECT') | ((sar.description =
4789 'profile usage') AND (
4790 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
4791 IN TYPEOF(sar))) ) | ((SIZEOF([
4792 'DIMENSIONAL_INSPECTION_SCHEMA.CIRCULAR_CLOSED_PROFILE',
4793 'DIMENSIONAL_INSPECTION_SCHEMA.NGON_CLOSED_PROFILE',
4794 'DIMENSIONAL_INSPECTION_SCHEMA.RECTANGULAR_CLOSED_PROFILE',
4795 'DIMENSIONAL_INSPECTION_SCHEMA.CLOSED_PATH_PROFILE'] *
4796 TYPEOF(sdr.relating_shape_aspect)) = 1) AND (sdr.
4797 relating_shape_aspect.description = 'boundary')) )) = 1)) ))
4798 <= 1)) )) = 0;
4799 wr5: SIZEOF(QUERY ( pdr <* get_property_definition_representations(
4800 SELF) | ((
4801 'DIMENSIONAL_INSPECTION_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
4802 IN TYPEOF(pdr.used_representation)) AND (pdr.
4803 used_representation.name = 'maximum feature limit')) )) >= 0;
4804 wr6: SIZEOF(QUERY ( pds <* USEDIN(SELF,
4805 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4806 | ((
4807 'DIMENSIONAL_INSPECTION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
4808 TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
4809 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | (((
4810 'DIMENSIONAL_INSPECTION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
4811 TYPEOF(csa)) AND (csa.name = 'uncut area')) AND (SIZEOF(
4812 QUERY ( sar <* csa.component_relationships | ((
4813 'DIMENSIONAL_INSPECTION_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
4814 IN TYPEOF(sar)) AND (SIZEOF([
4815 'DIMENSIONAL_INSPECTION_SCHEMA.BOSS',
4816 'DIMENSIONAL_INSPECTION_SCHEMA.PROTRUSION'] * TYPEOF(sar.
4817 related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1;
4818 wr7: SIZEOF(QUERY ( pd <* USEDIN(SELF,
4819 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4820 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4821 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4822 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
4823 'DIMENSIONAL_INSPECTION_SCHEMA.' +
4824 'SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
4825 used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
4826 impl_rep.used_representation.items | ((SIZEOF([
4827 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4828 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4829 TYPEOF(it)) = 2) AND (it.name = 'removal depth')) )) <= 1)) ))
4830 = 0)) )) = 0;
4831 END_ENTITY; -- flat_face
4832
4833 ENTITY flatness_tolerance
4834 SUBTYPE OF (geometric_tolerance);
4835 WHERE
4836 wr1: NOT (('DIMENSIONAL_INSPECTION_SCHEMA.' +
4837 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE') IN TYPEOF(SELF));
4838 END_ENTITY; -- flatness_tolerance
4839
4840 ENTITY founded_item;
4841 END_ENTITY; -- founded_item
4842
4843 ENTITY functionally_defined_transformation;
4844 name : label;
4845 description : OPTIONAL text;
4846 END_ENTITY; -- functionally_defined_transformation
4847
4848 ENTITY gear
4849 SUBTYPE OF (feature_definition);
4850 WHERE
4851 wr1 : SIZEOF(QUERY ( pd <* USEDIN(SELF,
4852 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4853 | (SIZEOF(QUERY ( pdr <* USEDIN(pd,
4854 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4855 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')| (((
4856 'DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4857 IN TYPEOF(pdr.used_representation)) AND (10 <= SIZEOF(pdr.
4858 used_representation.items))) AND (SIZEOF(pdr.
4859 used_representation.items) >= 13)) )) = 1) )) = 1;
4860 wr2 : (NOT (SELF\characterized_object.description IN [
4861 'straight bevel gear','helical bevel gear','spur gear',
4862 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4863 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4864 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4865 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4866 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')|
4867 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4868 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4869 QUERY ( it <* impl_rep.used_representation.items | ((
4870 SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4871 'DIMENSIONAL_INSPECTION_SCHEMA.RATIO_MEASURE_WITH_UNIT'] *
4872 TYPEOF(it)) = 2) AND (it.name = 'number of teeth')) )) = 1)) ))
4873 = 0)) )) = 0);
4874 wr3 : (NOT (SELF\characterized_object.description IN [
4875 'straight bevel gear','helical bevel gear','spur gear',
4876 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4877 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4878 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4879 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4880 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')|
4881 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4882 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4883 QUERY ( it <* impl_rep.used_representation.items | ((
4884 SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4885 'DIMENSIONAL_INSPECTION_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']
4886 * TYPEOF(it)) = 2) AND (it.name =
4887 'reference pressure angle')) )) = 1)) )) = 0)) )) = 0);
4888 wr4 : (NOT (SELF\characterized_object.description IN [
4889 'straight bevel gear','helical bevel gear','spur gear',
4890 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4891 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4892 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4893 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4894 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')|
4895 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4896 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4897 QUERY ( it <* impl_rep.used_representation.items | ((
4898 SIZEOF([
4899 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4900 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4901 TYPEOF(it)) = 2) AND (it.name = 'rake shift factor')) )) =
4902 1)) )) = 0)) )) = 0);
4903 wr5 : (NOT (SELF\characterized_object.description IN [
4904 'straight bevel gear','helical bevel gear','spur gear',
4905 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4906 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4907 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4908 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4909 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
4910 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4911 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4912 QUERY ( it <* impl_rep.used_representation.items | ((
4913 SIZEOF([
4914 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4915 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4916 TYPEOF(it)) = 2) AND (it.name = 'nominal tooth depth')) ))
4917 = 1)) )) = 0)) )) = 0);
4918 wr6 : (NOT (SELF\characterized_object.description IN [
4919 'straight bevel gear','helical bevel gear','spur gear',
4920 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4921 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4922 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4923 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4924 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
4925 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4926 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4927 QUERY ( it <* impl_rep.used_representation.items | ((
4928 SIZEOF(['DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4929 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4930 TYPEOF(it)) = 2) AND (it.name = 'face width')) )) = 1)) ))
4931 = 0)) )) = 0);
4932 wr7 : (NOT (SELF\characterized_object.description IN [
4933 'straight bevel gear','helical bevel gear','spur gear',
4934 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4935 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4936 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4937 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4938 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
4939 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4940 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4941 QUERY ( it <* impl_rep.used_representation.items | ((
4942 SIZEOF([
4943 'DIMENSIONAL_INSPECTION_SCHEMA.MEASURE_REPRESENTATION_ITEM',
4944 'DIMENSIONAL_INSPECTION_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
4945 TYPEOF(it)) = 2) AND (it.name = 'tip diameter')) )) = 1)) ))
4946 = 0)) )) = 0);
4947 wr8 : (NOT (SELF\characterized_object.description IN [
4948 'straight bevel gear','helical bevel gear','spur gear',
4949 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4950 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4951 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4952 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4953 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
4954 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4955 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4956 QUERY ( it <* impl_rep.used_representation.items | (((
4957 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4958 IN TYPEOF(it)) AND (it.name = 'module or diametral pitch'))
4959 AND ((it.description = 'module') OR (it.description =
4960 'diametral pitch'))) )) = 1)) )) = 0)) )) = 0);
4961 wr9 : (NOT (SELF\characterized_object.description IN [
4962 'straight bevel gear','helical bevel gear','spur gear',
4963 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4964 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4965 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
4966 'DIMENSIONAL_INSPECTION_SCHEMA.'+
4967 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
4968 ('DIMENSIONAL_INSPECTION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
4969 IN TYPEOF(pdr.used_representation)) ) | (NOT (SIZEOF(
4970 QUERY ( it <* impl_rep.used_representation.items | (((
4971 'DIMENSIONAL_INSPECTION_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
4972 IN TYPEOF(it)) AND (it.name = 'internal or external gear'))
4973 AND ((it.description = 'internal') OR (it.description =
4974 'external'))) )) = 1)) )) = 0)) )) = 0);
4975 wr10: (NOT (SELF\characterized_object.description IN [
4976 'straight bevel gear','helical bevel gear','spur gear',
4977 'helical gear'])) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
4978 'DIMENSIONAL_INSPECTION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
4979 | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
4980 pd,'DIMENSIONAL_INSPECTION_SCHEMA.'+
4981 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
4982