1#[derive(Debug)]
7pub struct Arena<T> {
8 pub items: Vec<T>,
9}
10impl<T> Default for Arena<T> {
11 fn default() -> Self {
12 Arena { items: Vec::new() }
13 }
14}
15impl<T> Arena<T> {
16 pub fn push(&mut self, v: T) -> usize {
17 let i = self.items.len();
18 self.items.push(v);
19 i
20 }
21 pub fn get(&self, i: usize) -> &T {
22 &self.items[i]
23 }
24}
25
26#[derive(Debug, Clone, Copy, PartialEq, Eq)]
28pub enum Logical {
29 True,
30 False,
31 Unknown,
32}
33impl Logical {
34 pub fn parse(s: &str) -> Option<Self> {
35 Some(match s {
36 "T" => Self::True,
37 "F" => Self::False,
38 "U" | "UNKNOWN" => Self::Unknown,
39 _ => return None,
40 })
41 }
42 pub fn token(self) -> &'static str {
43 match self {
44 Self::True => ".T.",
45 Self::False => ".F.",
46 Self::Unknown => ".U.",
47 }
48 }
49}
50
51#[derive(Debug, Clone, PartialEq)]
55pub enum MeasureScalar {
56 Int(i64),
57 Real(f64),
58}
59impl MeasureScalar {
60 pub fn as_f64(&self) -> f64 {
61 match self {
62 Self::Int(i) => *i as f64,
63 Self::Real(r) => *r,
64 }
65 }
66}
67#[derive(Debug, Clone, PartialEq)]
68pub struct MeasureValue {
69 pub type_name: Option<String>,
70 pub value: MeasureScalar,
71}
72
73#[derive(Debug, Clone, PartialEq)]
76pub struct StringSelectValue {
77 pub type_name: Option<String>,
78 pub value: String,
79}
80
81#[derive(Debug, Clone, PartialEq)]
85pub struct IntMeasureValue {
86 pub type_name: Option<String>,
87 pub value: i64,
88}
89
90#[derive(Debug, Clone, Copy, PartialEq, Eq)]
91pub enum AheadOrBehind {
92 Ahead,
93 Exact,
94 Behind,
95}
96impl AheadOrBehind {
97 pub fn parse(s: &str) -> Option<Self> {
98 Some(match s {
99 "AHEAD" => Self::Ahead,
100 "EXACT" => Self::Exact,
101 "BEHIND" => Self::Behind,
102 _ => return None,
103 })
104 }
105 pub fn token(self) -> &'static str {
106 match self {
107 Self::Ahead => ".AHEAD.",
108 Self::Exact => ".EXACT.",
109 Self::Behind => ".BEHIND.",
110 }
111 }
112}
113
114#[derive(Debug, Clone, Copy, PartialEq, Eq)]
115pub enum AngleRelator {
116 Equal,
117 Large,
118 Small,
119}
120impl AngleRelator {
121 pub fn parse(s: &str) -> Option<Self> {
122 Some(match s {
123 "EQUAL" => Self::Equal,
124 "LARGE" => Self::Large,
125 "SMALL" => Self::Small,
126 _ => return None,
127 })
128 }
129 pub fn token(self) -> &'static str {
130 match self {
131 Self::Equal => ".EQUAL.",
132 Self::Large => ".LARGE.",
133 Self::Small => ".SMALL.",
134 }
135 }
136}
137
138#[derive(Debug, Clone, Copy, PartialEq, Eq)]
139pub enum AnnotationPlaceholderOccurrenceRole {
140 AnnotationText,
141 GpsData,
142}
143impl AnnotationPlaceholderOccurrenceRole {
144 pub fn parse(s: &str) -> Option<Self> {
145 Some(match s {
146 "ANNOTATION_TEXT" => Self::AnnotationText,
147 "GPS_DATA" => Self::GpsData,
148 _ => return None,
149 })
150 }
151 pub fn token(self) -> &'static str {
152 match self {
153 Self::AnnotationText => ".ANNOTATION_TEXT.",
154 Self::GpsData => ".GPS_DATA.",
155 }
156 }
157}
158
159#[derive(Debug, Clone, Copy, PartialEq, Eq)]
160pub enum ApproximationMethod {
161 ChordalDeviation,
162 ChordalLength,
163}
164impl ApproximationMethod {
165 pub fn parse(s: &str) -> Option<Self> {
166 Some(match s {
167 "CHORDAL_DEVIATION" => Self::ChordalDeviation,
168 "CHORDAL_LENGTH" => Self::ChordalLength,
169 _ => return None,
170 })
171 }
172 pub fn token(self) -> &'static str {
173 match self {
174 Self::ChordalDeviation => ".CHORDAL_DEVIATION.",
175 Self::ChordalLength => ".CHORDAL_LENGTH.",
176 }
177 }
178}
179
180#[derive(Debug, Clone, Copy, PartialEq, Eq)]
181pub enum AreaUnitType {
182 Circular,
183 Cylindrical,
184 Rectangular,
185 Spherical,
186 Square,
187}
188impl AreaUnitType {
189 pub fn parse(s: &str) -> Option<Self> {
190 Some(match s {
191 "CIRCULAR" => Self::Circular,
192 "CYLINDRICAL" => Self::Cylindrical,
193 "RECTANGULAR" => Self::Rectangular,
194 "SPHERICAL" => Self::Spherical,
195 "SQUARE" => Self::Square,
196 _ => return None,
197 })
198 }
199 pub fn token(self) -> &'static str {
200 match self {
201 Self::Circular => ".CIRCULAR.",
202 Self::Cylindrical => ".CYLINDRICAL.",
203 Self::Rectangular => ".RECTANGULAR.",
204 Self::Spherical => ".SPHERICAL.",
205 Self::Square => ".SQUARE.",
206 }
207 }
208}
209
210#[derive(Debug, Clone, Copy, PartialEq, Eq)]
211pub enum BSplineCurveForm {
212 PolylineForm,
213 CircularArc,
214 EllipticArc,
215 ParabolicArc,
216 HyperbolicArc,
217 Unspecified,
218}
219impl BSplineCurveForm {
220 pub fn parse(s: &str) -> Option<Self> {
221 Some(match s {
222 "POLYLINE_FORM" => Self::PolylineForm,
223 "CIRCULAR_ARC" => Self::CircularArc,
224 "ELLIPTIC_ARC" => Self::EllipticArc,
225 "PARABOLIC_ARC" => Self::ParabolicArc,
226 "HYPERBOLIC_ARC" => Self::HyperbolicArc,
227 "UNSPECIFIED" => Self::Unspecified,
228 _ => return None,
229 })
230 }
231 pub fn token(self) -> &'static str {
232 match self {
233 Self::PolylineForm => ".POLYLINE_FORM.",
234 Self::CircularArc => ".CIRCULAR_ARC.",
235 Self::EllipticArc => ".ELLIPTIC_ARC.",
236 Self::ParabolicArc => ".PARABOLIC_ARC.",
237 Self::HyperbolicArc => ".HYPERBOLIC_ARC.",
238 Self::Unspecified => ".UNSPECIFIED.",
239 }
240 }
241}
242
243#[derive(Debug, Clone, Copy, PartialEq, Eq)]
244pub enum BSplineSurfaceForm {
245 PlaneSurf,
246 CylindricalSurf,
247 ConicalSurf,
248 SphericalSurf,
249 ToroidalSurf,
250 SurfOfRevolution,
251 RuledSurf,
252 GeneralisedCone,
253 QuadricSurf,
254 SurfOfLinearExtrusion,
255 Unspecified,
256}
257impl BSplineSurfaceForm {
258 pub fn parse(s: &str) -> Option<Self> {
259 Some(match s {
260 "PLANE_SURF" => Self::PlaneSurf,
261 "CYLINDRICAL_SURF" => Self::CylindricalSurf,
262 "CONICAL_SURF" => Self::ConicalSurf,
263 "SPHERICAL_SURF" => Self::SphericalSurf,
264 "TOROIDAL_SURF" => Self::ToroidalSurf,
265 "SURF_OF_REVOLUTION" => Self::SurfOfRevolution,
266 "RULED_SURF" => Self::RuledSurf,
267 "GENERALISED_CONE" => Self::GeneralisedCone,
268 "QUADRIC_SURF" => Self::QuadricSurf,
269 "SURF_OF_LINEAR_EXTRUSION" => Self::SurfOfLinearExtrusion,
270 "UNSPECIFIED" => Self::Unspecified,
271 _ => return None,
272 })
273 }
274 pub fn token(self) -> &'static str {
275 match self {
276 Self::PlaneSurf => ".PLANE_SURF.",
277 Self::CylindricalSurf => ".CYLINDRICAL_SURF.",
278 Self::ConicalSurf => ".CONICAL_SURF.",
279 Self::SphericalSurf => ".SPHERICAL_SURF.",
280 Self::ToroidalSurf => ".TOROIDAL_SURF.",
281 Self::SurfOfRevolution => ".SURF_OF_REVOLUTION.",
282 Self::RuledSurf => ".RULED_SURF.",
283 Self::GeneralisedCone => ".GENERALISED_CONE.",
284 Self::QuadricSurf => ".QUADRIC_SURF.",
285 Self::SurfOfLinearExtrusion => ".SURF_OF_LINEAR_EXTRUSION.",
286 Self::Unspecified => ".UNSPECIFIED.",
287 }
288 }
289}
290
291#[derive(Debug, Clone, Copy, PartialEq, Eq)]
292pub enum CentralOrParallel {
293 Central,
294 Parallel,
295}
296impl CentralOrParallel {
297 pub fn parse(s: &str) -> Option<Self> {
298 Some(match s {
299 "CENTRAL" => Self::Central,
300 "PARALLEL" => Self::Parallel,
301 _ => return None,
302 })
303 }
304 pub fn token(self) -> &'static str {
305 match self {
306 Self::Central => ".CENTRAL.",
307 Self::Parallel => ".PARALLEL.",
308 }
309 }
310}
311
312#[derive(Debug, Clone, Copy, PartialEq, Eq)]
313pub enum DatumReferenceModifierType {
314 CircularOrCylindrical,
315 Distance,
316 Projected,
317 Spherical,
318}
319impl DatumReferenceModifierType {
320 pub fn parse(s: &str) -> Option<Self> {
321 Some(match s {
322 "CIRCULAR_OR_CYLINDRICAL" => Self::CircularOrCylindrical,
323 "DISTANCE" => Self::Distance,
324 "PROJECTED" => Self::Projected,
325 "SPHERICAL" => Self::Spherical,
326 _ => return None,
327 })
328 }
329 pub fn token(self) -> &'static str {
330 match self {
331 Self::CircularOrCylindrical => ".CIRCULAR_OR_CYLINDRICAL.",
332 Self::Distance => ".DISTANCE.",
333 Self::Projected => ".PROJECTED.",
334 Self::Spherical => ".SPHERICAL.",
335 }
336 }
337}
338
339#[derive(Debug, Clone, Copy, PartialEq, Eq)]
340pub enum DesApllPointSymbol {
341 Circle,
342 Dot,
343 InternalPairForwardArrowhead,
344 InternalPairReverseArrowhead,
345 None,
346 PositiveArrowhead,
347 Triangle,
348}
349impl DesApllPointSymbol {
350 pub fn parse(s: &str) -> Option<Self> {
351 Some(match s {
352 "CIRCLE" => Self::Circle,
353 "DOT" => Self::Dot,
354 "INTERNAL_PAIR_FORWARD_ARROWHEAD" => Self::InternalPairForwardArrowhead,
355 "INTERNAL_PAIR_REVERSE_ARROWHEAD" => Self::InternalPairReverseArrowhead,
356 "NONE" => Self::None,
357 "POSITIVE_ARROWHEAD" => Self::PositiveArrowhead,
358 "TRIANGLE" => Self::Triangle,
359 _ => return None,
360 })
361 }
362 pub fn token(self) -> &'static str {
363 match self {
364 Self::Circle => ".CIRCLE.",
365 Self::Dot => ".DOT.",
366 Self::InternalPairForwardArrowhead => ".INTERNAL_PAIR_FORWARD_ARROWHEAD.",
367 Self::InternalPairReverseArrowhead => ".INTERNAL_PAIR_REVERSE_ARROWHEAD.",
368 Self::None => ".NONE.",
369 Self::PositiveArrowhead => ".POSITIVE_ARROWHEAD.",
370 Self::Triangle => ".TRIANGLE.",
371 }
372 }
373}
374
375#[derive(Debug, Clone, Copy, PartialEq, Eq)]
376pub enum GeometricToleranceModifier {
377 AnyCrossSection,
378 AssociatedLeastSquareFeature,
379 AssociatedMaximumInscribedFeature,
380 AssociatedMinimumInscribedFeature,
381 AssociatedMinmaxFeature,
382 AssociatedTangentFeature,
383 CircleA,
384 CommonZone,
385 EachRadialElement,
386 FreeState,
387 LeastMaterialRequirement,
388 LineElement,
389 MajorDiameter,
390 MaximumMaterialRequirement,
391 MinorDiameter,
392 NotConvex,
393 PeakHeight,
394 PitchDiameter,
395 ReciprocityRequirement,
396 ReferenceLeastSquareFeatureWithExternalMaterialConstraint,
397 ReferenceLeastSquareFeatureWithInternalMaterialConstraint,
398 ReferenceLeastSquareFeatureWithoutConstraint,
399 ReferenceMaximumInscribedFeature,
400 ReferenceMinimaxFeatureWithExternalMaterialConstraint,
401 ReferenceMinimaxFeatureWithInternalMaterialConstraint,
402 ReferenceMinimaxFeatureWithoutConstraint,
403 ReferenceMinimumCircumscribedFeature,
404 SeparateRequirement,
405 StandardDeviation,
406 StatisticalTolerance,
407 TangentPlane,
408 TotalRangeDeviations,
409 UnitedFeature,
410 ValleyDepth,
411}
412impl GeometricToleranceModifier {
413 pub fn parse(s: &str) -> Option<Self> {
414 Some(match s {
415 "ANY_CROSS_SECTION" => Self::AnyCrossSection,
416 "ASSOCIATED_LEAST_SQUARE_FEATURE" => Self::AssociatedLeastSquareFeature,
417 "ASSOCIATED_MAXIMUM_INSCRIBED_FEATURE" => Self::AssociatedMaximumInscribedFeature,
418 "ASSOCIATED_MINIMUM_INSCRIBED_FEATURE" => Self::AssociatedMinimumInscribedFeature,
419 "ASSOCIATED_MINMAX_FEATURE" => Self::AssociatedMinmaxFeature,
420 "ASSOCIATED_TANGENT_FEATURE" => Self::AssociatedTangentFeature,
421 "CIRCLE_A" => Self::CircleA,
422 "COMMON_ZONE" => Self::CommonZone,
423 "EACH_RADIAL_ELEMENT" => Self::EachRadialElement,
424 "FREE_STATE" => Self::FreeState,
425 "LEAST_MATERIAL_REQUIREMENT" => Self::LeastMaterialRequirement,
426 "LINE_ELEMENT" => Self::LineElement,
427 "MAJOR_DIAMETER" => Self::MajorDiameter,
428 "MAXIMUM_MATERIAL_REQUIREMENT" => Self::MaximumMaterialRequirement,
429 "MINOR_DIAMETER" => Self::MinorDiameter,
430 "NOT_CONVEX" => Self::NotConvex,
431 "PEAK_HEIGHT" => Self::PeakHeight,
432 "PITCH_DIAMETER" => Self::PitchDiameter,
433 "RECIPROCITY_REQUIREMENT" => Self::ReciprocityRequirement,
434 "REFERENCE_LEAST_SQUARE_FEATURE_WITH_EXTERNAL_MATERIAL_CONSTRAINT" => {
435 Self::ReferenceLeastSquareFeatureWithExternalMaterialConstraint
436 }
437 "REFERENCE_LEAST_SQUARE_FEATURE_WITH_INTERNAL_MATERIAL_CONSTRAINT" => {
438 Self::ReferenceLeastSquareFeatureWithInternalMaterialConstraint
439 }
440 "REFERENCE_LEAST_SQUARE_FEATURE_WITHOUT_CONSTRAINT" => {
441 Self::ReferenceLeastSquareFeatureWithoutConstraint
442 }
443 "REFERENCE_MAXIMUM_INSCRIBED_FEATURE" => Self::ReferenceMaximumInscribedFeature,
444 "REFERENCE_MINIMAX_FEATURE_WITH_EXTERNAL_MATERIAL_CONSTRAINT" => {
445 Self::ReferenceMinimaxFeatureWithExternalMaterialConstraint
446 }
447 "REFERENCE_MINIMAX_FEATURE_WITH_INTERNAL_MATERIAL_CONSTRAINT" => {
448 Self::ReferenceMinimaxFeatureWithInternalMaterialConstraint
449 }
450 "REFERENCE_MINIMAX_FEATURE_WITHOUT_CONSTRAINT" => {
451 Self::ReferenceMinimaxFeatureWithoutConstraint
452 }
453 "REFERENCE_MINIMUM_CIRCUMSCRIBED_FEATURE" => Self::ReferenceMinimumCircumscribedFeature,
454 "SEPARATE_REQUIREMENT" => Self::SeparateRequirement,
455 "STANDARD_DEVIATION" => Self::StandardDeviation,
456 "STATISTICAL_TOLERANCE" => Self::StatisticalTolerance,
457 "TANGENT_PLANE" => Self::TangentPlane,
458 "TOTAL_RANGE_DEVIATIONS" => Self::TotalRangeDeviations,
459 "UNITED_FEATURE" => Self::UnitedFeature,
460 "VALLEY_DEPTH" => Self::ValleyDepth,
461 _ => return None,
462 })
463 }
464 pub fn token(self) -> &'static str {
465 match self {
466 Self::AnyCrossSection => ".ANY_CROSS_SECTION.",
467 Self::AssociatedLeastSquareFeature => ".ASSOCIATED_LEAST_SQUARE_FEATURE.",
468 Self::AssociatedMaximumInscribedFeature => ".ASSOCIATED_MAXIMUM_INSCRIBED_FEATURE.",
469 Self::AssociatedMinimumInscribedFeature => ".ASSOCIATED_MINIMUM_INSCRIBED_FEATURE.",
470 Self::AssociatedMinmaxFeature => ".ASSOCIATED_MINMAX_FEATURE.",
471 Self::AssociatedTangentFeature => ".ASSOCIATED_TANGENT_FEATURE.",
472 Self::CircleA => ".CIRCLE_A.",
473 Self::CommonZone => ".COMMON_ZONE.",
474 Self::EachRadialElement => ".EACH_RADIAL_ELEMENT.",
475 Self::FreeState => ".FREE_STATE.",
476 Self::LeastMaterialRequirement => ".LEAST_MATERIAL_REQUIREMENT.",
477 Self::LineElement => ".LINE_ELEMENT.",
478 Self::MajorDiameter => ".MAJOR_DIAMETER.",
479 Self::MaximumMaterialRequirement => ".MAXIMUM_MATERIAL_REQUIREMENT.",
480 Self::MinorDiameter => ".MINOR_DIAMETER.",
481 Self::NotConvex => ".NOT_CONVEX.",
482 Self::PeakHeight => ".PEAK_HEIGHT.",
483 Self::PitchDiameter => ".PITCH_DIAMETER.",
484 Self::ReciprocityRequirement => ".RECIPROCITY_REQUIREMENT.",
485 Self::ReferenceLeastSquareFeatureWithExternalMaterialConstraint => {
486 ".REFERENCE_LEAST_SQUARE_FEATURE_WITH_EXTERNAL_MATERIAL_CONSTRAINT."
487 }
488 Self::ReferenceLeastSquareFeatureWithInternalMaterialConstraint => {
489 ".REFERENCE_LEAST_SQUARE_FEATURE_WITH_INTERNAL_MATERIAL_CONSTRAINT."
490 }
491 Self::ReferenceLeastSquareFeatureWithoutConstraint => {
492 ".REFERENCE_LEAST_SQUARE_FEATURE_WITHOUT_CONSTRAINT."
493 }
494 Self::ReferenceMaximumInscribedFeature => ".REFERENCE_MAXIMUM_INSCRIBED_FEATURE.",
495 Self::ReferenceMinimaxFeatureWithExternalMaterialConstraint => {
496 ".REFERENCE_MINIMAX_FEATURE_WITH_EXTERNAL_MATERIAL_CONSTRAINT."
497 }
498 Self::ReferenceMinimaxFeatureWithInternalMaterialConstraint => {
499 ".REFERENCE_MINIMAX_FEATURE_WITH_INTERNAL_MATERIAL_CONSTRAINT."
500 }
501 Self::ReferenceMinimaxFeatureWithoutConstraint => {
502 ".REFERENCE_MINIMAX_FEATURE_WITHOUT_CONSTRAINT."
503 }
504 Self::ReferenceMinimumCircumscribedFeature => {
505 ".REFERENCE_MINIMUM_CIRCUMSCRIBED_FEATURE."
506 }
507 Self::SeparateRequirement => ".SEPARATE_REQUIREMENT.",
508 Self::StandardDeviation => ".STANDARD_DEVIATION.",
509 Self::StatisticalTolerance => ".STATISTICAL_TOLERANCE.",
510 Self::TangentPlane => ".TANGENT_PLANE.",
511 Self::TotalRangeDeviations => ".TOTAL_RANGE_DEVIATIONS.",
512 Self::UnitedFeature => ".UNITED_FEATURE.",
513 Self::ValleyDepth => ".VALLEY_DEPTH.",
514 }
515 }
516}
517
518#[derive(Debug, Clone, Copy, PartialEq, Eq)]
519pub enum KnotType {
520 UniformKnots,
521 QuasiUniformKnots,
522 PiecewiseBezierKnots,
523 Unspecified,
524}
525impl KnotType {
526 pub fn parse(s: &str) -> Option<Self> {
527 Some(match s {
528 "UNIFORM_KNOTS" => Self::UniformKnots,
529 "QUASI_UNIFORM_KNOTS" => Self::QuasiUniformKnots,
530 "PIECEWISE_BEZIER_KNOTS" => Self::PiecewiseBezierKnots,
531 "UNSPECIFIED" => Self::Unspecified,
532 _ => return None,
533 })
534 }
535 pub fn token(self) -> &'static str {
536 match self {
537 Self::UniformKnots => ".UNIFORM_KNOTS.",
538 Self::QuasiUniformKnots => ".QUASI_UNIFORM_KNOTS.",
539 Self::PiecewiseBezierKnots => ".PIECEWISE_BEZIER_KNOTS.",
540 Self::Unspecified => ".UNSPECIFIED.",
541 }
542 }
543}
544
545#[derive(Debug, Clone, Copy, PartialEq, Eq)]
546pub enum LimitCondition {
547 MaximumMaterialCondition,
548 LeastMaterialCondition,
549 RegardlessOfFeatureSize,
550}
551impl LimitCondition {
552 pub fn parse(s: &str) -> Option<Self> {
553 Some(match s {
554 "MAXIMUM_MATERIAL_CONDITION" => Self::MaximumMaterialCondition,
555 "LEAST_MATERIAL_CONDITION" => Self::LeastMaterialCondition,
556 "REGARDLESS_OF_FEATURE_SIZE" => Self::RegardlessOfFeatureSize,
557 _ => return None,
558 })
559 }
560 pub fn token(self) -> &'static str {
561 match self {
562 Self::MaximumMaterialCondition => ".MAXIMUM_MATERIAL_CONDITION.",
563 Self::LeastMaterialCondition => ".LEAST_MATERIAL_CONDITION.",
564 Self::RegardlessOfFeatureSize => ".REGARDLESS_OF_FEATURE_SIZE.",
565 }
566 }
567}
568
569#[derive(Debug, Clone, Copy, PartialEq, Eq)]
570pub enum MarkerType {
571 Dot,
572 X,
573 Plus,
574 Asterisk,
575 Ring,
576 Square,
577 Triangle,
578}
579impl MarkerType {
580 pub fn parse(s: &str) -> Option<Self> {
581 Some(match s {
582 "DOT" => Self::Dot,
583 "X" => Self::X,
584 "PLUS" => Self::Plus,
585 "ASTERISK" => Self::Asterisk,
586 "RING" => Self::Ring,
587 "SQUARE" => Self::Square,
588 "TRIANGLE" => Self::Triangle,
589 _ => return None,
590 })
591 }
592 pub fn token(self) -> &'static str {
593 match self {
594 Self::Dot => ".DOT.",
595 Self::X => ".X.",
596 Self::Plus => ".PLUS.",
597 Self::Asterisk => ".ASTERISK.",
598 Self::Ring => ".RING.",
599 Self::Square => ".SQUARE.",
600 Self::Triangle => ".TRIANGLE.",
601 }
602 }
603}
604
605#[derive(Debug, Clone, Copy, PartialEq, Eq)]
606pub enum NullStyle {
607 Null,
608}
609impl NullStyle {
610 pub fn parse(s: &str) -> Option<Self> {
611 Some(match s {
612 "NULL" => Self::Null,
613 _ => return None,
614 })
615 }
616 pub fn token(self) -> &'static str {
617 match self {
618 Self::Null => ".NULL.",
619 }
620 }
621}
622
623#[derive(Debug, Clone, Copy, PartialEq, Eq)]
624pub enum PreferredSurfaceCurveRepresentation {
625 Curve3d,
626 PcurveS1,
627 PcurveS2,
628}
629impl PreferredSurfaceCurveRepresentation {
630 pub fn parse(s: &str) -> Option<Self> {
631 Some(match s {
632 "CURVE_3D" => Self::Curve3d,
633 "PCURVE_S1" => Self::PcurveS1,
634 "PCURVE_S2" => Self::PcurveS2,
635 _ => return None,
636 })
637 }
638 pub fn token(self) -> &'static str {
639 match self {
640 Self::Curve3d => ".CURVE_3D.",
641 Self::PcurveS1 => ".PCURVE_S1.",
642 Self::PcurveS2 => ".PCURVE_S2.",
643 }
644 }
645}
646
647#[derive(Debug, Clone, Copy, PartialEq, Eq)]
648pub enum ProductOrPresentationSpace {
649 ProductShapeSpace,
650 PresentationAreaSpace,
651}
652impl ProductOrPresentationSpace {
653 pub fn parse(s: &str) -> Option<Self> {
654 Some(match s {
655 "PRODUCT_SHAPE_SPACE" => Self::ProductShapeSpace,
656 "PRESENTATION_AREA_SPACE" => Self::PresentationAreaSpace,
657 _ => return None,
658 })
659 }
660 pub fn token(self) -> &'static str {
661 match self {
662 Self::ProductShapeSpace => ".PRODUCT_SHAPE_SPACE.",
663 Self::PresentationAreaSpace => ".PRESENTATION_AREA_SPACE.",
664 }
665 }
666}
667
668#[derive(Debug, Clone, Copy, PartialEq, Eq)]
669pub enum ShadingCurveMethod {
670 ConstantColour,
671 LinearColour,
672}
673impl ShadingCurveMethod {
674 pub fn parse(s: &str) -> Option<Self> {
675 Some(match s {
676 "CONSTANT_COLOUR" => Self::ConstantColour,
677 "LINEAR_COLOUR" => Self::LinearColour,
678 _ => return None,
679 })
680 }
681 pub fn token(self) -> &'static str {
682 match self {
683 Self::ConstantColour => ".CONSTANT_COLOUR.",
684 Self::LinearColour => ".LINEAR_COLOUR.",
685 }
686 }
687}
688
689#[derive(Debug, Clone, Copy, PartialEq, Eq)]
690pub enum ShadingSurfaceMethod {
691 ConstantShading,
692 ColourShading,
693 DotShading,
694 NormalShading,
695}
696impl ShadingSurfaceMethod {
697 pub fn parse(s: &str) -> Option<Self> {
698 Some(match s {
699 "CONSTANT_SHADING" => Self::ConstantShading,
700 "COLOUR_SHADING" => Self::ColourShading,
701 "DOT_SHADING" => Self::DotShading,
702 "NORMAL_SHADING" => Self::NormalShading,
703 _ => return None,
704 })
705 }
706 pub fn token(self) -> &'static str {
707 match self {
708 Self::ConstantShading => ".CONSTANT_SHADING.",
709 Self::ColourShading => ".COLOUR_SHADING.",
710 Self::DotShading => ".DOT_SHADING.",
711 Self::NormalShading => ".NORMAL_SHADING.",
712 }
713 }
714}
715
716#[derive(Debug, Clone, Copy, PartialEq, Eq)]
717pub enum SiPrefix {
718 Exa,
719 Peta,
720 Tera,
721 Giga,
722 Mega,
723 Kilo,
724 Hecto,
725 Deca,
726 Deci,
727 Centi,
728 Milli,
729 Micro,
730 Nano,
731 Pico,
732 Femto,
733 Atto,
734}
735impl SiPrefix {
736 pub fn parse(s: &str) -> Option<Self> {
737 Some(match s {
738 "EXA" => Self::Exa,
739 "PETA" => Self::Peta,
740 "TERA" => Self::Tera,
741 "GIGA" => Self::Giga,
742 "MEGA" => Self::Mega,
743 "KILO" => Self::Kilo,
744 "HECTO" => Self::Hecto,
745 "DECA" => Self::Deca,
746 "DECI" => Self::Deci,
747 "CENTI" => Self::Centi,
748 "MILLI" => Self::Milli,
749 "MICRO" => Self::Micro,
750 "NANO" => Self::Nano,
751 "PICO" => Self::Pico,
752 "FEMTO" => Self::Femto,
753 "ATTO" => Self::Atto,
754 _ => return None,
755 })
756 }
757 pub fn token(self) -> &'static str {
758 match self {
759 Self::Exa => ".EXA.",
760 Self::Peta => ".PETA.",
761 Self::Tera => ".TERA.",
762 Self::Giga => ".GIGA.",
763 Self::Mega => ".MEGA.",
764 Self::Kilo => ".KILO.",
765 Self::Hecto => ".HECTO.",
766 Self::Deca => ".DECA.",
767 Self::Deci => ".DECI.",
768 Self::Centi => ".CENTI.",
769 Self::Milli => ".MILLI.",
770 Self::Micro => ".MICRO.",
771 Self::Nano => ".NANO.",
772 Self::Pico => ".PICO.",
773 Self::Femto => ".FEMTO.",
774 Self::Atto => ".ATTO.",
775 }
776 }
777}
778
779#[derive(Debug, Clone, Copy, PartialEq, Eq)]
780pub enum SiUnitName {
781 Metre,
782 Gram,
783 Second,
784 Ampere,
785 Kelvin,
786 Mole,
787 Candela,
788 Radian,
789 Steradian,
790 Hertz,
791 Newton,
792 Pascal,
793 Joule,
794 Watt,
795 Coulomb,
796 Volt,
797 Farad,
798 Ohm,
799 Siemens,
800 Weber,
801 Tesla,
802 Henry,
803 DegreeCelsius,
804 Lumen,
805 Lux,
806 Becquerel,
807 Gray,
808 Sievert,
809}
810impl SiUnitName {
811 pub fn parse(s: &str) -> Option<Self> {
812 Some(match s {
813 "METRE" => Self::Metre,
814 "GRAM" => Self::Gram,
815 "SECOND" => Self::Second,
816 "AMPERE" => Self::Ampere,
817 "KELVIN" => Self::Kelvin,
818 "MOLE" => Self::Mole,
819 "CANDELA" => Self::Candela,
820 "RADIAN" => Self::Radian,
821 "STERADIAN" => Self::Steradian,
822 "HERTZ" => Self::Hertz,
823 "NEWTON" => Self::Newton,
824 "PASCAL" => Self::Pascal,
825 "JOULE" => Self::Joule,
826 "WATT" => Self::Watt,
827 "COULOMB" => Self::Coulomb,
828 "VOLT" => Self::Volt,
829 "FARAD" => Self::Farad,
830 "OHM" => Self::Ohm,
831 "SIEMENS" => Self::Siemens,
832 "WEBER" => Self::Weber,
833 "TESLA" => Self::Tesla,
834 "HENRY" => Self::Henry,
835 "DEGREE_CELSIUS" => Self::DegreeCelsius,
836 "LUMEN" => Self::Lumen,
837 "LUX" => Self::Lux,
838 "BECQUEREL" => Self::Becquerel,
839 "GRAY" => Self::Gray,
840 "SIEVERT" => Self::Sievert,
841 _ => return None,
842 })
843 }
844 pub fn token(self) -> &'static str {
845 match self {
846 Self::Metre => ".METRE.",
847 Self::Gram => ".GRAM.",
848 Self::Second => ".SECOND.",
849 Self::Ampere => ".AMPERE.",
850 Self::Kelvin => ".KELVIN.",
851 Self::Mole => ".MOLE.",
852 Self::Candela => ".CANDELA.",
853 Self::Radian => ".RADIAN.",
854 Self::Steradian => ".STERADIAN.",
855 Self::Hertz => ".HERTZ.",
856 Self::Newton => ".NEWTON.",
857 Self::Pascal => ".PASCAL.",
858 Self::Joule => ".JOULE.",
859 Self::Watt => ".WATT.",
860 Self::Coulomb => ".COULOMB.",
861 Self::Volt => ".VOLT.",
862 Self::Farad => ".FARAD.",
863 Self::Ohm => ".OHM.",
864 Self::Siemens => ".SIEMENS.",
865 Self::Weber => ".WEBER.",
866 Self::Tesla => ".TESLA.",
867 Self::Henry => ".HENRY.",
868 Self::DegreeCelsius => ".DEGREE_CELSIUS.",
869 Self::Lumen => ".LUMEN.",
870 Self::Lux => ".LUX.",
871 Self::Becquerel => ".BECQUEREL.",
872 Self::Gray => ".GRAY.",
873 Self::Sievert => ".SIEVERT.",
874 }
875 }
876}
877
878#[derive(Debug, Clone, Copy, PartialEq, Eq)]
879pub enum SimpleDatumReferenceModifier {
880 AnyCrossSection,
881 AnyLongitudinalSection,
882 Basic,
883 ContactingFeature,
884 DegreeOfFreedomConstraintU,
885 DegreeOfFreedomConstraintV,
886 DegreeOfFreedomConstraintW,
887 DegreeOfFreedomConstraintX,
888 DegreeOfFreedomConstraintY,
889 DegreeOfFreedomConstraintZ,
890 DistanceVariable,
891 FreeState,
892 LeastMaterialRequirement,
893 Line,
894 MajorDiameter,
895 MaximumMaterialRequirement,
896 MinorDiameter,
897 Orientation,
898 PitchDiameter,
899 Plane,
900 Point,
901 Translation,
902}
903impl SimpleDatumReferenceModifier {
904 pub fn parse(s: &str) -> Option<Self> {
905 Some(match s {
906 "ANY_CROSS_SECTION" => Self::AnyCrossSection,
907 "ANY_LONGITUDINAL_SECTION" => Self::AnyLongitudinalSection,
908 "BASIC" => Self::Basic,
909 "CONTACTING_FEATURE" => Self::ContactingFeature,
910 "DEGREE_OF_FREEDOM_CONSTRAINT_U" => Self::DegreeOfFreedomConstraintU,
911 "DEGREE_OF_FREEDOM_CONSTRAINT_V" => Self::DegreeOfFreedomConstraintV,
912 "DEGREE_OF_FREEDOM_CONSTRAINT_W" => Self::DegreeOfFreedomConstraintW,
913 "DEGREE_OF_FREEDOM_CONSTRAINT_X" => Self::DegreeOfFreedomConstraintX,
914 "DEGREE_OF_FREEDOM_CONSTRAINT_Y" => Self::DegreeOfFreedomConstraintY,
915 "DEGREE_OF_FREEDOM_CONSTRAINT_Z" => Self::DegreeOfFreedomConstraintZ,
916 "DISTANCE_VARIABLE" => Self::DistanceVariable,
917 "FREE_STATE" => Self::FreeState,
918 "LEAST_MATERIAL_REQUIREMENT" => Self::LeastMaterialRequirement,
919 "LINE" => Self::Line,
920 "MAJOR_DIAMETER" => Self::MajorDiameter,
921 "MAXIMUM_MATERIAL_REQUIREMENT" => Self::MaximumMaterialRequirement,
922 "MINOR_DIAMETER" => Self::MinorDiameter,
923 "ORIENTATION" => Self::Orientation,
924 "PITCH_DIAMETER" => Self::PitchDiameter,
925 "PLANE" => Self::Plane,
926 "POINT" => Self::Point,
927 "TRANSLATION" => Self::Translation,
928 _ => return None,
929 })
930 }
931 pub fn token(self) -> &'static str {
932 match self {
933 Self::AnyCrossSection => ".ANY_CROSS_SECTION.",
934 Self::AnyLongitudinalSection => ".ANY_LONGITUDINAL_SECTION.",
935 Self::Basic => ".BASIC.",
936 Self::ContactingFeature => ".CONTACTING_FEATURE.",
937 Self::DegreeOfFreedomConstraintU => ".DEGREE_OF_FREEDOM_CONSTRAINT_U.",
938 Self::DegreeOfFreedomConstraintV => ".DEGREE_OF_FREEDOM_CONSTRAINT_V.",
939 Self::DegreeOfFreedomConstraintW => ".DEGREE_OF_FREEDOM_CONSTRAINT_W.",
940 Self::DegreeOfFreedomConstraintX => ".DEGREE_OF_FREEDOM_CONSTRAINT_X.",
941 Self::DegreeOfFreedomConstraintY => ".DEGREE_OF_FREEDOM_CONSTRAINT_Y.",
942 Self::DegreeOfFreedomConstraintZ => ".DEGREE_OF_FREEDOM_CONSTRAINT_Z.",
943 Self::DistanceVariable => ".DISTANCE_VARIABLE.",
944 Self::FreeState => ".FREE_STATE.",
945 Self::LeastMaterialRequirement => ".LEAST_MATERIAL_REQUIREMENT.",
946 Self::Line => ".LINE.",
947 Self::MajorDiameter => ".MAJOR_DIAMETER.",
948 Self::MaximumMaterialRequirement => ".MAXIMUM_MATERIAL_REQUIREMENT.",
949 Self::MinorDiameter => ".MINOR_DIAMETER.",
950 Self::Orientation => ".ORIENTATION.",
951 Self::PitchDiameter => ".PITCH_DIAMETER.",
952 Self::Plane => ".PLANE.",
953 Self::Point => ".POINT.",
954 Self::Translation => ".TRANSLATION.",
955 }
956 }
957}
958
959#[derive(Debug, Clone, Copy, PartialEq, Eq)]
960pub enum Source {
961 Made,
962 Bought,
963 NotKnown,
964}
965impl Source {
966 pub fn parse(s: &str) -> Option<Self> {
967 Some(match s {
968 "MADE" => Self::Made,
969 "BOUGHT" => Self::Bought,
970 "NOT_KNOWN" => Self::NotKnown,
971 _ => return None,
972 })
973 }
974 pub fn token(self) -> &'static str {
975 match self {
976 Self::Made => ".MADE.",
977 Self::Bought => ".BOUGHT.",
978 Self::NotKnown => ".NOT_KNOWN.",
979 }
980 }
981}
982
983#[derive(Debug, Clone, Copy, PartialEq, Eq)]
984pub enum SurfaceSide {
985 Positive,
986 Negative,
987 Both,
988}
989impl SurfaceSide {
990 pub fn parse(s: &str) -> Option<Self> {
991 Some(match s {
992 "POSITIVE" => Self::Positive,
993 "NEGATIVE" => Self::Negative,
994 "BOTH" => Self::Both,
995 _ => return None,
996 })
997 }
998 pub fn token(self) -> &'static str {
999 match self {
1000 Self::Positive => ".POSITIVE.",
1001 Self::Negative => ".NEGATIVE.",
1002 Self::Both => ".BOTH.",
1003 }
1004 }
1005}
1006
1007#[derive(Debug, Clone, Copy, PartialEq, Eq)]
1008pub enum TextPath {
1009 Left,
1010 Right,
1011 Up,
1012 Down,
1013}
1014impl TextPath {
1015 pub fn parse(s: &str) -> Option<Self> {
1016 Some(match s {
1017 "LEFT" => Self::Left,
1018 "RIGHT" => Self::Right,
1019 "UP" => Self::Up,
1020 "DOWN" => Self::Down,
1021 _ => return None,
1022 })
1023 }
1024 pub fn token(self) -> &'static str {
1025 match self {
1026 Self::Left => ".LEFT.",
1027 Self::Right => ".RIGHT.",
1028 Self::Up => ".UP.",
1029 Self::Down => ".DOWN.",
1030 }
1031 }
1032}
1033
1034#[derive(Debug, Clone, Copy, PartialEq, Eq)]
1035pub enum TransitionCode {
1036 Discontinuous,
1037 Continuous,
1038 ContSameGradient,
1039 ContSameGradientSameCurvature,
1040}
1041impl TransitionCode {
1042 pub fn parse(s: &str) -> Option<Self> {
1043 Some(match s {
1044 "DISCONTINUOUS" => Self::Discontinuous,
1045 "CONTINUOUS" => Self::Continuous,
1046 "CONT_SAME_GRADIENT" => Self::ContSameGradient,
1047 "CONT_SAME_GRADIENT_SAME_CURVATURE" => Self::ContSameGradientSameCurvature,
1048 _ => return None,
1049 })
1050 }
1051 pub fn token(self) -> &'static str {
1052 match self {
1053 Self::Discontinuous => ".DISCONTINUOUS.",
1054 Self::Continuous => ".CONTINUOUS.",
1055 Self::ContSameGradient => ".CONT_SAME_GRADIENT.",
1056 Self::ContSameGradientSameCurvature => ".CONT_SAME_GRADIENT_SAME_CURVATURE.",
1057 }
1058 }
1059}
1060
1061#[derive(Debug, Clone, Copy, PartialEq, Eq)]
1062pub enum TrimmingPreference {
1063 Cartesian,
1064 Parameter,
1065 Unspecified,
1066}
1067impl TrimmingPreference {
1068 pub fn parse(s: &str) -> Option<Self> {
1069 Some(match s {
1070 "CARTESIAN" => Self::Cartesian,
1071 "PARAMETER" => Self::Parameter,
1072 "UNSPECIFIED" => Self::Unspecified,
1073 _ => return None,
1074 })
1075 }
1076 pub fn token(self) -> &'static str {
1077 match self {
1078 Self::Cartesian => ".CARTESIAN.",
1079 Self::Parameter => ".PARAMETER.",
1080 Self::Unspecified => ".UNSPECIFIED.",
1081 }
1082 }
1083}
1084
1085#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1086pub struct ActionId(pub usize);
1087#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1088pub struct ActionAssignmentId(pub usize);
1089#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1090pub struct ActionDirectiveId(pub usize);
1091#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1092pub struct ActionMethodId(pub usize);
1093#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1094pub struct ActionMethodRelationshipId(pub usize);
1095#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1096pub struct ActionPropertyId(pub usize);
1097#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1098pub struct ActionRelationshipId(pub usize);
1099#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1100pub struct ActionRequestAssignmentId(pub usize);
1101#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1102pub struct ActionRequestSolutionId(pub usize);
1103#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1104pub struct ActionResourceId(pub usize);
1105#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1106pub struct ActionResourceRelationshipId(pub usize);
1107#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1108pub struct ActionResourceRequirementId(pub usize);
1109#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1110pub struct ActionResourceTypeId(pub usize);
1111#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1112pub struct AddressId(pub usize);
1113#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1114pub struct AdvancedBrepShapeRepresentationId(pub usize);
1115#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1116pub struct AdvancedFaceId(pub usize);
1117#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1118pub struct AllAroundShapeAspectId(pub usize);
1119#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1120pub struct AngularLocationId(pub usize);
1121#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1122pub struct AngularSizeId(pub usize);
1123#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1124pub struct AngularityToleranceId(pub usize);
1125#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1126pub struct AnnotationCurveOccurrenceId(pub usize);
1127#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1128pub struct AnnotationFillAreaOccurrenceId(pub usize);
1129#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1130pub struct AnnotationOccurrenceId(pub usize);
1131#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1132pub struct AnnotationOccurrenceAssociativityId(pub usize);
1133#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1134pub struct AnnotationOccurrenceRelationshipId(pub usize);
1135#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1136pub struct AnnotationPlaceholderLeaderLineId(pub usize);
1137#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1138pub struct AnnotationPlaceholderOccurrenceId(pub usize);
1139#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1140pub struct AnnotationPlaceholderOccurrenceWithLeaderLineId(pub usize);
1141#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1142pub struct AnnotationPlaneId(pub usize);
1143#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1144pub struct AnnotationSymbolId(pub usize);
1145#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1146pub struct AnnotationSymbolOccurrenceId(pub usize);
1147#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1148pub struct AnnotationTextId(pub usize);
1149#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1150pub struct AnnotationTextCharacterId(pub usize);
1151#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1152pub struct AnnotationTextOccurrenceId(pub usize);
1153#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1154pub struct AnnotationToAnnotationLeaderLineId(pub usize);
1155#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1156pub struct AnnotationToModelLeaderLineId(pub usize);
1157#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1158pub struct ApllPointId(pub usize);
1159#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1160pub struct ApllPointWithSurfaceId(pub usize);
1161#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1162pub struct ApplicationContextId(pub usize);
1163#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1164pub struct ApplicationContextElementId(pub usize);
1165#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1166pub struct ApplicationProtocolDefinitionId(pub usize);
1167#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1168pub struct AppliedApprovalAssignmentId(pub usize);
1169#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1170pub struct AppliedDateAndTimeAssignmentId(pub usize);
1171#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1172pub struct AppliedDocumentReferenceId(pub usize);
1173#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1174pub struct AppliedExternalIdentificationAssignmentId(pub usize);
1175#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1176pub struct AppliedGroupAssignmentId(pub usize);
1177#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1178pub struct AppliedPersonAndOrganizationAssignmentId(pub usize);
1179#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1180pub struct AppliedPresentedItemId(pub usize);
1181#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1182pub struct AppliedSecurityClassificationAssignmentId(pub usize);
1183#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1184pub struct ApprovalId(pub usize);
1185#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1186pub struct ApprovalAssignmentId(pub usize);
1187#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1188pub struct ApprovalDateTimeId(pub usize);
1189#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1190pub struct ApprovalPersonOrganizationId(pub usize);
1191#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1192pub struct ApprovalRoleId(pub usize);
1193#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1194pub struct ApprovalStatusId(pub usize);
1195#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1196pub struct ApproximationToleranceId(pub usize);
1197#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1198pub struct ApproximationToleranceDeviationId(pub usize);
1199#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1200pub struct ApproximationToleranceParameterId(pub usize);
1201#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1202pub struct AreaInSetId(pub usize);
1203#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1204pub struct AreaUnitId(pub usize);
1205#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1206pub struct AscribableStateId(pub usize);
1207#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1208pub struct AscribableStateRelationshipId(pub usize);
1209#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1210pub struct AssemblyComponentUsageId(pub usize);
1211#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1212pub struct AuxiliaryLeaderLineId(pub usize);
1213#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1214pub struct Axis1PlacementId(pub usize);
1215#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1216pub struct Axis2Placement2dId(pub usize);
1217#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1218pub struct Axis2Placement3dId(pub usize);
1219#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1220pub struct BSplineCurveId(pub usize);
1221#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1222pub struct BSplineCurveWithKnotsId(pub usize);
1223#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1224pub struct BSplineSurfaceId(pub usize);
1225#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1226pub struct BSplineSurfaceWithKnotsId(pub usize);
1227#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1228pub struct BezierCurveId(pub usize);
1229#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1230pub struct BezierSurfaceId(pub usize);
1231#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1232pub struct BoundedCurveId(pub usize);
1233#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1234pub struct BoundedPcurveId(pub usize);
1235#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1236pub struct BoundedSurfaceId(pub usize);
1237#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1238pub struct BoundedSurfaceCurveId(pub usize);
1239#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1240pub struct BrepWithVoidsId(pub usize);
1241#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1242pub struct CalendarDateId(pub usize);
1243#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1244pub struct CameraImageId(pub usize);
1245#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1246pub struct CameraImage3dWithScaleId(pub usize);
1247#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1248pub struct CameraModelId(pub usize);
1249#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1250pub struct CameraModelD3Id(pub usize);
1251#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1252pub struct CameraModelD3MultiClippingId(pub usize);
1253#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1254pub struct CameraModelD3WithHlhsrId(pub usize);
1255#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1256pub struct CameraUsageId(pub usize);
1257#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1258pub struct CartesianPointId(pub usize);
1259#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1260pub struct CcDesignApprovalId(pub usize);
1261#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1262pub struct CcDesignDateAndTimeAssignmentId(pub usize);
1263#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1264pub struct CcDesignPersonAndOrganizationAssignmentId(pub usize);
1265#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1266pub struct CcDesignSecurityClassificationId(pub usize);
1267#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1268pub struct CentreOfSymmetryId(pub usize);
1269#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1270pub struct CertificationId(pub usize);
1271#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1272pub struct CertificationTypeId(pub usize);
1273#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1274pub struct ChangeId(pub usize);
1275#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1276pub struct ChangeRequestId(pub usize);
1277#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1278pub struct CharacterGlyphStyleOutlineId(pub usize);
1279#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1280pub struct CharacterGlyphStyleStrokeId(pub usize);
1281#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1282pub struct CharacterizedItemWithinRepresentationId(pub usize);
1283#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1284pub struct CharacterizedObjectId(pub usize);
1285#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1286pub struct CharacterizedRepresentationId(pub usize);
1287#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1288pub struct CircleId(pub usize);
1289#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1290pub struct CircularRunoutToleranceId(pub usize);
1291#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1292pub struct ClosedShellId(pub usize);
1293#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1294pub struct CoaxialityToleranceId(pub usize);
1295#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1296pub struct ColourId(pub usize);
1297#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1298pub struct ColourRgbId(pub usize);
1299#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1300pub struct ColourSpecificationId(pub usize);
1301#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1302pub struct CommonDatumId(pub usize);
1303#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1304pub struct ComplexTriangulatedFaceId(pub usize);
1305#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1306pub struct ComplexTriangulatedSurfaceSetId(pub usize);
1307#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1308pub struct CompositeCurveId(pub usize);
1309#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1310pub struct CompositeCurveSegmentId(pub usize);
1311#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1312pub struct CompositeGroupShapeAspectId(pub usize);
1313#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1314pub struct CompositeShapeAspectId(pub usize);
1315#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1316pub struct CompositeTextId(pub usize);
1317#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1318pub struct CompoundRepresentationItemId(pub usize);
1319#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1320pub struct ConcentricityToleranceId(pub usize);
1321#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1322pub struct ConfigurationDesignId(pub usize);
1323#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1324pub struct ConfigurationEffectivityId(pub usize);
1325#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1326pub struct ConfigurationItemId(pub usize);
1327#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1328pub struct ConicId(pub usize);
1329#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1330pub struct ConicalSurfaceId(pub usize);
1331#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1332pub struct ConnectedFaceSetId(pub usize);
1333#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1334pub struct ConstructiveGeometryRepresentationId(pub usize);
1335#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1336pub struct ConstructiveGeometryRepresentationRelationshipId(pub usize);
1337#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1338pub struct ContextDependentOverRidingStyledItemId(pub usize);
1339#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1340pub struct ContextDependentShapeRepresentationId(pub usize);
1341#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1342pub struct ContextDependentUnitId(pub usize);
1343#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1344pub struct ContinuousShapeAspectId(pub usize);
1345#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1346pub struct ContractId(pub usize);
1347#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1348pub struct ContractTypeId(pub usize);
1349#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1350pub struct ConversionBasedUnitId(pub usize);
1351#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1352pub struct CoordinatedUniversalTimeOffsetId(pub usize);
1353#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1354pub struct CoordinatesListId(pub usize);
1355#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1356pub struct CurveId(pub usize);
1357#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1358pub struct CurveStyleId(pub usize);
1359#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1360pub struct CurveStyleFontId(pub usize);
1361#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1362pub struct CurveStyleFontAndScalingId(pub usize);
1363#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1364pub struct CurveStyleFontPatternId(pub usize);
1365#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1366pub struct CurveStyleRenderingId(pub usize);
1367#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1368pub struct CylindricalSurfaceId(pub usize);
1369#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1370pub struct CylindricityToleranceId(pub usize);
1371#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1372pub struct DateId(pub usize);
1373#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1374pub struct DateAndTimeId(pub usize);
1375#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1376pub struct DateAndTimeAssignmentId(pub usize);
1377#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1378pub struct DateRoleId(pub usize);
1379#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1380pub struct DateTimeRoleId(pub usize);
1381#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1382pub struct DatumId(pub usize);
1383#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1384pub struct DatumFeatureId(pub usize);
1385#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1386pub struct DatumReferenceId(pub usize);
1387#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1388pub struct DatumReferenceCompartmentId(pub usize);
1389#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1390pub struct DatumReferenceElementId(pub usize);
1391#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1392pub struct DatumReferenceModifierWithValueId(pub usize);
1393#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1394pub struct DatumSystemId(pub usize);
1395#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1396pub struct DatumTargetId(pub usize);
1397#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1398pub struct DefaultModelGeometricViewId(pub usize);
1399#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1400pub struct DefinedCharacterGlyphId(pub usize);
1401#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1402pub struct DefinedSymbolId(pub usize);
1403#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1404pub struct DefinitionalRepresentationId(pub usize);
1405#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1406pub struct DefinitionalRepresentationRelationshipId(pub usize);
1407#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1408pub struct DefinitionalRepresentationRelationshipWithSameContextId(pub usize);
1409#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1410pub struct DegenerateToroidalSurfaceId(pub usize);
1411#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1412pub struct DerivedShapeAspectId(pub usize);
1413#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1414pub struct DerivedUnitId(pub usize);
1415#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1416pub struct DerivedUnitElementId(pub usize);
1417#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1418pub struct DescriptionAttributeId(pub usize);
1419#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1420pub struct DescriptiveRepresentationItemId(pub usize);
1421#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1422pub struct DesignContextId(pub usize);
1423#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1424pub struct DimensionalCharacteristicRepresentationId(pub usize);
1425#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1426pub struct DimensionalExponentsId(pub usize);
1427#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1428pub struct DimensionalLocationId(pub usize);
1429#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1430pub struct DimensionalLocationWithPathId(pub usize);
1431#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1432pub struct DimensionalSizeId(pub usize);
1433#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1434pub struct DimensionalSizeWithDatumFeatureId(pub usize);
1435#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1436pub struct DimensionalSizeWithPathId(pub usize);
1437#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1438pub struct DirectedDimensionalLocationId(pub usize);
1439#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1440pub struct DirectionId(pub usize);
1441#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1442pub struct DocumentId(pub usize);
1443#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1444pub struct DocumentFileId(pub usize);
1445#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1446pub struct DocumentProductAssociationId(pub usize);
1447#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1448pub struct DocumentProductEquivalenceId(pub usize);
1449#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1450pub struct DocumentReferenceId(pub usize);
1451#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1452pub struct DocumentRepresentationTypeId(pub usize);
1453#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1454pub struct DocumentTypeId(pub usize);
1455#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1456pub struct DraughtingAnnotationOccurrenceId(pub usize);
1457#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1458pub struct DraughtingCalloutId(pub usize);
1459#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1460pub struct DraughtingCalloutRelationshipId(pub usize);
1461#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1462pub struct DraughtingModelId(pub usize);
1463#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1464pub struct DraughtingModelItemAssociationId(pub usize);
1465#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1466pub struct DraughtingModelItemAssociationWithPlaceholderId(pub usize);
1467#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1468pub struct DraughtingPreDefinedColourId(pub usize);
1469#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1470pub struct DraughtingPreDefinedCurveFontId(pub usize);
1471#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1472pub struct DraughtingPreDefinedTextFontId(pub usize);
1473#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1474pub struct EdgeId(pub usize);
1475#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1476pub struct EdgeCurveId(pub usize);
1477#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1478pub struct EdgeLoopId(pub usize);
1479#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1480pub struct EffectivityId(pub usize);
1481#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1482pub struct ElementarySurfaceId(pub usize);
1483#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1484pub struct EllipseId(pub usize);
1485#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1486pub struct ExpressionId(pub usize);
1487#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1488pub struct ExternalIdentificationAssignmentId(pub usize);
1489#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1490pub struct ExternalSourceId(pub usize);
1491#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1492pub struct ExternallyDefinedCharacterGlyphId(pub usize);
1493#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1494pub struct ExternallyDefinedCurveFontId(pub usize);
1495#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1496pub struct ExternallyDefinedHatchStyleId(pub usize);
1497#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1498pub struct ExternallyDefinedItemId(pub usize);
1499#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1500pub struct ExternallyDefinedStyleId(pub usize);
1501#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1502pub struct ExternallyDefinedSymbolId(pub usize);
1503#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1504pub struct ExternallyDefinedTextFontId(pub usize);
1505#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1506pub struct ExternallyDefinedTileId(pub usize);
1507#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1508pub struct ExternallyDefinedTileStyleId(pub usize);
1509#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1510pub struct FaceId(pub usize);
1511#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1512pub struct FaceBoundId(pub usize);
1513#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1514pub struct FaceOuterBoundId(pub usize);
1515#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1516pub struct FaceSurfaceId(pub usize);
1517#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1518pub struct FeatureForDatumTargetRelationshipId(pub usize);
1519#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1520pub struct FillAreaStyleId(pub usize);
1521#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1522pub struct FillAreaStyleColourId(pub usize);
1523#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1524pub struct FillAreaStyleHatchingId(pub usize);
1525#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1526pub struct FillAreaStyleTileColouredRegionId(pub usize);
1527#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1528pub struct FillAreaStyleTileCurveWithStyleId(pub usize);
1529#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1530pub struct FillAreaStyleTileSymbolWithStyleId(pub usize);
1531#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1532pub struct FillAreaStyleTilesId(pub usize);
1533#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1534pub struct FlatnessToleranceId(pub usize);
1535#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1536pub struct FoundedItemId(pub usize);
1537#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1538pub struct FunctionallyDefinedTransformationId(pub usize);
1539#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1540pub struct GeneralDatumReferenceId(pub usize);
1541#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1542pub struct GeneralPropertyId(pub usize);
1543#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1544pub struct GeneralPropertyAssociationId(pub usize);
1545#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1546pub struct GenericExpressionId(pub usize);
1547#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1548pub struct GenericLiteralId(pub usize);
1549#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1550pub struct GenericProductDefinitionReferenceId(pub usize);
1551#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1552pub struct GeometricCurveSetId(pub usize);
1553#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1554pub struct GeometricItemSpecificUsageId(pub usize);
1555#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1556pub struct GeometricRepresentationContextId(pub usize);
1557#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1558pub struct GeometricRepresentationItemId(pub usize);
1559#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1560pub struct GeometricSetId(pub usize);
1561#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1562pub struct GeometricToleranceId(pub usize);
1563#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1564pub struct GeometricToleranceRelationshipId(pub usize);
1565#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1566pub struct GeometricToleranceWithDatumReferenceId(pub usize);
1567#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1568pub struct GeometricToleranceWithDefinedAreaUnitId(pub usize);
1569#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1570pub struct GeometricToleranceWithDefinedUnitId(pub usize);
1571#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1572pub struct GeometricToleranceWithMaximumToleranceId(pub usize);
1573#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1574pub struct GeometricToleranceWithModifiersId(pub usize);
1575#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1576pub struct GeometricallyBoundedSurfaceShapeRepresentationId(pub usize);
1577#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1578pub struct GeometricallyBoundedWireframeShapeRepresentationId(pub usize);
1579#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1580pub struct GlobalUncertaintyAssignedContextId(pub usize);
1581#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1582pub struct GlobalUnitAssignedContextId(pub usize);
1583#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1584pub struct GroupId(pub usize);
1585#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1586pub struct GroupAssignmentId(pub usize);
1587#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1588pub struct HyperbolaId(pub usize);
1589#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1590pub struct IdAttributeId(pub usize);
1591#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1592pub struct IdentificationAssignmentId(pub usize);
1593#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1594pub struct IdentificationRoleId(pub usize);
1595#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1596pub struct IntLiteralId(pub usize);
1597#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1598pub struct IntegerRepresentationItemId(pub usize);
1599#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1600pub struct IntersectionCurveId(pub usize);
1601#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1602pub struct InvisibilityId(pub usize);
1603#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1604pub struct ItemDefinedTransformationId(pub usize);
1605#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1606pub struct ItemIdentifiedRepresentationUsageId(pub usize);
1607#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1608pub struct LeaderCurveId(pub usize);
1609#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1610pub struct LeaderDirectedCalloutId(pub usize);
1611#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1612pub struct LeaderTerminatorId(pub usize);
1613#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1614pub struct LengthMeasureWithUnitId(pub usize);
1615#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1616pub struct LengthUnitId(pub usize);
1617#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1618pub struct LimitsAndFitsId(pub usize);
1619#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1620pub struct LineId(pub usize);
1621#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1622pub struct LineProfileToleranceId(pub usize);
1623#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1624pub struct LiteralNumberId(pub usize);
1625#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1626pub struct LocalTimeId(pub usize);
1627#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1628pub struct LoopId(pub usize);
1629#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1630pub struct MakeFromUsageOptionId(pub usize);
1631#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1632pub struct ManifoldSolidBrepId(pub usize);
1633#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1634pub struct ManifoldSurfaceShapeRepresentationId(pub usize);
1635#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1636pub struct MappedItemId(pub usize);
1637#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1638pub struct MassMeasureWithUnitId(pub usize);
1639#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1640pub struct MassUnitId(pub usize);
1641#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1642pub struct MeasureQualificationId(pub usize);
1643#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1644pub struct MeasureRepresentationItemId(pub usize);
1645#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1646pub struct MeasureWithUnitId(pub usize);
1647#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1648pub struct MechanicalContextId(pub usize);
1649#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1650pub struct MechanicalDesignAndDraughtingRelationshipId(pub usize);
1651#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1652pub struct MechanicalDesignGeometricPresentationRepresentationId(pub usize);
1653#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1654pub struct MechanicalDesignPresentationRepresentationWithDraughtingId(pub usize);
1655#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1656pub struct MechanicalDesignShadedPresentationRepresentationId(pub usize);
1657#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1658pub struct ModelGeometricViewId(pub usize);
1659#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1660pub struct ModifiedGeometricToleranceId(pub usize);
1661#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1662pub struct NameAttributeId(pub usize);
1663#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1664pub struct NamedUnitId(pub usize);
1665#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1666pub struct NextAssemblyUsageOccurrenceId(pub usize);
1667#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1668pub struct NumericExpressionId(pub usize);
1669#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1670pub struct ObjectRoleId(pub usize);
1671#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1672pub struct OffsetSurfaceId(pub usize);
1673#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1674pub struct OneDirectionRepeatFactorId(pub usize);
1675#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1676pub struct OpenShellId(pub usize);
1677#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1678pub struct OrganizationId(pub usize);
1679#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1680pub struct OrganizationRelationshipId(pub usize);
1681#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1682pub struct OrganizationRoleId(pub usize);
1683#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1684pub struct OrganizationTypeId(pub usize);
1685#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1686pub struct OrganizationTypeRoleId(pub usize);
1687#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1688pub struct OrganizationalAddressId(pub usize);
1689#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1690pub struct OrganizationalProjectId(pub usize);
1691#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1692pub struct OrganizationalProjectRelationshipId(pub usize);
1693#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1694pub struct OrganizationalProjectRoleId(pub usize);
1695#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1696pub struct OrientedClosedShellId(pub usize);
1697#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1698pub struct OrientedEdgeId(pub usize);
1699#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1700pub struct OverRidingStyledItemId(pub usize);
1701#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1702pub struct ParallelismToleranceId(pub usize);
1703#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1704pub struct ParametricRepresentationContextId(pub usize);
1705#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1706pub struct PathId(pub usize);
1707#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1708pub struct PcurveId(pub usize);
1709#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1710pub struct PerpendicularityToleranceId(pub usize);
1711#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1712pub struct PersonId(pub usize);
1713#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1714pub struct PersonAndOrganizationId(pub usize);
1715#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1716pub struct PersonAndOrganizationAddressId(pub usize);
1717#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1718pub struct PersonAndOrganizationAssignmentId(pub usize);
1719#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1720pub struct PersonAndOrganizationRoleId(pub usize);
1721#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1722pub struct PersonalAddressId(pub usize);
1723#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1724pub struct PlacedDatumTargetFeatureId(pub usize);
1725#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1726pub struct PlacementId(pub usize);
1727#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1728pub struct PlanarBoxId(pub usize);
1729#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1730pub struct PlanarExtentId(pub usize);
1731#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1732pub struct PlaneId(pub usize);
1733#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1734pub struct PlaneAngleMeasureWithUnitId(pub usize);
1735#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1736pub struct PlaneAngleUnitId(pub usize);
1737#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1738pub struct PlusMinusToleranceId(pub usize);
1739#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1740pub struct PointId(pub usize);
1741#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1742pub struct PointStyleId(pub usize);
1743#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1744pub struct PolyLoopId(pub usize);
1745#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1746pub struct PolylineId(pub usize);
1747#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1748pub struct PositionToleranceId(pub usize);
1749#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1750pub struct PreDefinedCharacterGlyphId(pub usize);
1751#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1752pub struct PreDefinedColourId(pub usize);
1753#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1754pub struct PreDefinedCurveFontId(pub usize);
1755#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1756pub struct PreDefinedItemId(pub usize);
1757#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1758pub struct PreDefinedMarkerId(pub usize);
1759#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1760pub struct PreDefinedPointMarkerSymbolId(pub usize);
1761#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1762pub struct PreDefinedPresentationStyleId(pub usize);
1763#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1764pub struct PreDefinedSurfaceSideStyleId(pub usize);
1765#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1766pub struct PreDefinedSymbolId(pub usize);
1767#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1768pub struct PreDefinedTerminatorSymbolId(pub usize);
1769#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1770pub struct PreDefinedTextFontId(pub usize);
1771#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1772pub struct PreDefinedTileId(pub usize);
1773#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1774pub struct PrecisionQualifierId(pub usize);
1775#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1776pub struct PresentationAreaId(pub usize);
1777#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1778pub struct PresentationLayerAssignmentId(pub usize);
1779#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1780pub struct PresentationRepresentationId(pub usize);
1781#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1782pub struct PresentationSetId(pub usize);
1783#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1784pub struct PresentationSizeId(pub usize);
1785#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1786pub struct PresentationStyleAssignmentId(pub usize);
1787#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1788pub struct PresentationStyleByContextId(pub usize);
1789#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1790pub struct PresentationViewId(pub usize);
1791#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1792pub struct PresentedItemId(pub usize);
1793#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1794pub struct PresentedItemRepresentationId(pub usize);
1795#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1796pub struct ProductId(pub usize);
1797#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1798pub struct ProductCategoryId(pub usize);
1799#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1800pub struct ProductCategoryRelationshipId(pub usize);
1801#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1802pub struct ProductConceptId(pub usize);
1803#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1804pub struct ProductConceptContextId(pub usize);
1805#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1806pub struct ProductConceptFeatureId(pub usize);
1807#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1808pub struct ProductConceptFeatureCategoryId(pub usize);
1809#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1810pub struct ProductContextId(pub usize);
1811#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1812pub struct ProductDefinitionId(pub usize);
1813#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1814pub struct ProductDefinitionContextId(pub usize);
1815#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1816pub struct ProductDefinitionContextAssociationId(pub usize);
1817#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1818pub struct ProductDefinitionContextRoleId(pub usize);
1819#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1820pub struct ProductDefinitionEffectivityId(pub usize);
1821#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1822pub struct ProductDefinitionFormationId(pub usize);
1823#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1824pub struct ProductDefinitionFormationWithSpecifiedSourceId(pub usize);
1825#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1826pub struct ProductDefinitionOccurrenceId(pub usize);
1827#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1828pub struct ProductDefinitionRelationshipId(pub usize);
1829#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1830pub struct ProductDefinitionRelationshipRelationshipId(pub usize);
1831#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1832pub struct ProductDefinitionShapeId(pub usize);
1833#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1834pub struct ProductDefinitionSubstituteId(pub usize);
1835#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1836pub struct ProductDefinitionUsageId(pub usize);
1837#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1838pub struct ProductDefinitionWithAssociatedDocumentsId(pub usize);
1839#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1840pub struct ProductRelatedProductCategoryId(pub usize);
1841#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1842pub struct ProjectedZoneDefinitionId(pub usize);
1843#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1844pub struct PropertyDefinitionId(pub usize);
1845#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1846pub struct PropertyDefinitionRelationshipId(pub usize);
1847#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1848pub struct PropertyDefinitionRepresentationId(pub usize);
1849#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1850pub struct QualifiedRepresentationItemId(pub usize);
1851#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1852pub struct QuasiUniformCurveId(pub usize);
1853#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1854pub struct QuasiUniformSurfaceId(pub usize);
1855#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1856pub struct RatioMeasureWithUnitId(pub usize);
1857#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1858pub struct RatioUnitId(pub usize);
1859#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1860pub struct RationalBSplineCurveId(pub usize);
1861#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1862pub struct RationalBSplineSurfaceId(pub usize);
1863#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1864pub struct RealLiteralId(pub usize);
1865#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1866pub struct RealRepresentationItemId(pub usize);
1867#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1868pub struct RepositionedTessellatedItemId(pub usize);
1869#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1870pub struct RepresentationId(pub usize);
1871#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1872pub struct RepresentationContextId(pub usize);
1873#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1874pub struct RepresentationContextReferenceId(pub usize);
1875#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1876pub struct RepresentationItemId(pub usize);
1877#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1878pub struct RepresentationMapId(pub usize);
1879#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1880pub struct RepresentationReferenceId(pub usize);
1881#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1882pub struct RepresentationRelationshipId(pub usize);
1883#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1884pub struct RepresentationRelationshipWithTransformationId(pub usize);
1885#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1886pub struct ResourcePropertyId(pub usize);
1887#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1888pub struct ResourceRequirementTypeId(pub usize);
1889#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1890pub struct RoleAssociationId(pub usize);
1891#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1892pub struct RoundnessToleranceId(pub usize);
1893#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1894pub struct SeamCurveId(pub usize);
1895#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1896pub struct SecurityClassificationId(pub usize);
1897#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1898pub struct SecurityClassificationAssignmentId(pub usize);
1899#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1900pub struct SecurityClassificationLevelId(pub usize);
1901#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1902pub struct ShapeAspectId(pub usize);
1903#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1904pub struct ShapeAspectAssociativityId(pub usize);
1905#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1906pub struct ShapeAspectDerivingRelationshipId(pub usize);
1907#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1908pub struct ShapeAspectRelationshipId(pub usize);
1909#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1910pub struct ShapeDefinitionRepresentationId(pub usize);
1911#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1912pub struct ShapeDimensionRepresentationId(pub usize);
1913#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1914pub struct ShapeRepresentationId(pub usize);
1915#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1916pub struct ShapeRepresentationRelationshipId(pub usize);
1917#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1918pub struct ShapeRepresentationWithParametersId(pub usize);
1919#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1920pub struct ShellBasedSurfaceModelId(pub usize);
1921#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1922pub struct SiUnitId(pub usize);
1923#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1924pub struct SimpleGenericExpressionId(pub usize);
1925#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1926pub struct SimpleNumericExpressionId(pub usize);
1927#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1928pub struct SolidAngleUnitId(pub usize);
1929#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1930pub struct SolidModelId(pub usize);
1931#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1932pub struct SphericalSurfaceId(pub usize);
1933#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1934pub struct StartRequestId(pub usize);
1935#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1936pub struct StartWorkId(pub usize);
1937#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1938pub struct StateObservedId(pub usize);
1939#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1940pub struct StateTypeId(pub usize);
1941#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1942pub struct StraightnessToleranceId(pub usize);
1943#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1944pub struct StyledItemId(pub usize);
1945#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1946pub struct SurfaceId(pub usize);
1947#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1948pub struct SurfaceCurveId(pub usize);
1949#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1950pub struct SurfaceOfLinearExtrusionId(pub usize);
1951#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1952pub struct SurfaceOfRevolutionId(pub usize);
1953#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1954pub struct SurfaceProfileToleranceId(pub usize);
1955#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1956pub struct SurfaceRenderingPropertiesId(pub usize);
1957#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1958pub struct SurfaceSideStyleId(pub usize);
1959#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1960pub struct SurfaceStyleBoundaryId(pub usize);
1961#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1962pub struct SurfaceStyleControlGridId(pub usize);
1963#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1964pub struct SurfaceStyleFillAreaId(pub usize);
1965#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1966pub struct SurfaceStyleParameterLineId(pub usize);
1967#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1968pub struct SurfaceStyleReflectanceAmbientId(pub usize);
1969#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1970pub struct SurfaceStyleRenderingId(pub usize);
1971#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1972pub struct SurfaceStyleRenderingWithPropertiesId(pub usize);
1973#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1974pub struct SurfaceStyleSegmentationCurveId(pub usize);
1975#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1976pub struct SurfaceStyleSilhouetteId(pub usize);
1977#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1978pub struct SurfaceStyleTransparentId(pub usize);
1979#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1980pub struct SurfaceStyleUsageId(pub usize);
1981#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1982pub struct SweptSurfaceId(pub usize);
1983#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1984pub struct SymbolColourId(pub usize);
1985#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1986pub struct SymbolRepresentationId(pub usize);
1987#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1988pub struct SymbolStyleId(pub usize);
1989#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1990pub struct SymbolTargetId(pub usize);
1991#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1992pub struct SymmetryToleranceId(pub usize);
1993#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1994pub struct TerminatorSymbolId(pub usize);
1995#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1996pub struct TessellatedAnnotationOccurrenceId(pub usize);
1997#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
1998pub struct TessellatedCurveSetId(pub usize);
1999#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2000pub struct TessellatedFaceId(pub usize);
2001#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2002pub struct TessellatedGeometricSetId(pub usize);
2003#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2004pub struct TessellatedItemId(pub usize);
2005#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2006pub struct TessellatedShapeRepresentationId(pub usize);
2007#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2008pub struct TessellatedShellId(pub usize);
2009#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2010pub struct TessellatedSolidId(pub usize);
2011#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2012pub struct TessellatedStructuredItemId(pub usize);
2013#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2014pub struct TessellatedSurfaceSetId(pub usize);
2015#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2016pub struct TextFontId(pub usize);
2017#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2018pub struct TextLiteralId(pub usize);
2019#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2020pub struct TextStyleId(pub usize);
2021#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2022pub struct TextStyleForDefinedFontId(pub usize);
2023#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2024pub struct TextStyleWithBoxCharacteristicsId(pub usize);
2025#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2026pub struct TextureStyleSpecificationId(pub usize);
2027#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2028pub struct TextureStyleTessellationSpecificationId(pub usize);
2029#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2030pub struct TimeUnitId(pub usize);
2031#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2032pub struct ToleranceValueId(pub usize);
2033#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2034pub struct ToleranceZoneId(pub usize);
2035#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2036pub struct ToleranceZoneDefinitionId(pub usize);
2037#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2038pub struct ToleranceZoneFormId(pub usize);
2039#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2040pub struct ToleranceZoneWithDatumId(pub usize);
2041#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2042pub struct TopologicalRepresentationItemId(pub usize);
2043#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2044pub struct ToroidalSurfaceId(pub usize);
2045#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2046pub struct TotalRunoutToleranceId(pub usize);
2047#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2048pub struct TrimmedCurveId(pub usize);
2049#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2050pub struct TwoDirectionRepeatFactorId(pub usize);
2051#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2052pub struct TypeQualifierId(pub usize);
2053#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2054pub struct UncertaintyMeasureWithUnitId(pub usize);
2055#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2056pub struct UncertaintyQualifierId(pub usize);
2057#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2058pub struct UnequallyDisposedGeometricToleranceId(pub usize);
2059#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2060pub struct UniformCurveId(pub usize);
2061#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2062pub struct UniformSurfaceId(pub usize);
2063#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2064pub struct ValueFormatTypeQualifierId(pub usize);
2065#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2066pub struct ValueRepresentationItemId(pub usize);
2067#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2068pub struct VectorId(pub usize);
2069#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2070pub struct VersionedActionRequestId(pub usize);
2071#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2072pub struct VertexId(pub usize);
2073#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2074pub struct VertexLoopId(pub usize);
2075#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2076pub struct VertexPointId(pub usize);
2077#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2078pub struct VertexShellId(pub usize);
2079#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2080pub struct ViewVolumeId(pub usize);
2081#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2082pub struct VolumeUnitId(pub usize);
2083#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2084pub struct WireShellId(pub usize);
2085#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2086pub struct ComplexUnitId(pub usize);
2087
2088#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2089pub enum EntityKey {
2090 Action(ActionId),
2091 ActionAssignment(ActionAssignmentId),
2092 ActionDirective(ActionDirectiveId),
2093 ActionMethod(ActionMethodId),
2094 ActionMethodRelationship(ActionMethodRelationshipId),
2095 ActionProperty(ActionPropertyId),
2096 ActionRelationship(ActionRelationshipId),
2097 ActionRequestAssignment(ActionRequestAssignmentId),
2098 ActionRequestSolution(ActionRequestSolutionId),
2099 ActionResource(ActionResourceId),
2100 ActionResourceRelationship(ActionResourceRelationshipId),
2101 ActionResourceRequirement(ActionResourceRequirementId),
2102 ActionResourceType(ActionResourceTypeId),
2103 Address(AddressId),
2104 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
2105 AdvancedFace(AdvancedFaceId),
2106 AllAroundShapeAspect(AllAroundShapeAspectId),
2107 AngularLocation(AngularLocationId),
2108 AngularSize(AngularSizeId),
2109 AngularityTolerance(AngularityToleranceId),
2110 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
2111 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
2112 AnnotationOccurrence(AnnotationOccurrenceId),
2113 AnnotationOccurrenceAssociativity(AnnotationOccurrenceAssociativityId),
2114 AnnotationOccurrenceRelationship(AnnotationOccurrenceRelationshipId),
2115 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
2116 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
2117 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
2118 AnnotationPlane(AnnotationPlaneId),
2119 AnnotationSymbol(AnnotationSymbolId),
2120 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
2121 AnnotationText(AnnotationTextId),
2122 AnnotationTextCharacter(AnnotationTextCharacterId),
2123 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
2124 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
2125 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
2126 ApllPoint(ApllPointId),
2127 ApllPointWithSurface(ApllPointWithSurfaceId),
2128 ApplicationContext(ApplicationContextId),
2129 ApplicationContextElement(ApplicationContextElementId),
2130 ApplicationProtocolDefinition(ApplicationProtocolDefinitionId),
2131 AppliedApprovalAssignment(AppliedApprovalAssignmentId),
2132 AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
2133 AppliedDocumentReference(AppliedDocumentReferenceId),
2134 AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
2135 AppliedGroupAssignment(AppliedGroupAssignmentId),
2136 AppliedPersonAndOrganizationAssignment(AppliedPersonAndOrganizationAssignmentId),
2137 AppliedPresentedItem(AppliedPresentedItemId),
2138 AppliedSecurityClassificationAssignment(AppliedSecurityClassificationAssignmentId),
2139 Approval(ApprovalId),
2140 ApprovalAssignment(ApprovalAssignmentId),
2141 ApprovalDateTime(ApprovalDateTimeId),
2142 ApprovalPersonOrganization(ApprovalPersonOrganizationId),
2143 ApprovalRole(ApprovalRoleId),
2144 ApprovalStatus(ApprovalStatusId),
2145 ApproximationTolerance(ApproximationToleranceId),
2146 ApproximationToleranceDeviation(ApproximationToleranceDeviationId),
2147 ApproximationToleranceParameter(ApproximationToleranceParameterId),
2148 AreaInSet(AreaInSetId),
2149 AreaUnit(AreaUnitId),
2150 AscribableState(AscribableStateId),
2151 AscribableStateRelationship(AscribableStateRelationshipId),
2152 AssemblyComponentUsage(AssemblyComponentUsageId),
2153 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
2154 Axis1Placement(Axis1PlacementId),
2155 Axis2Placement2d(Axis2Placement2dId),
2156 Axis2Placement3d(Axis2Placement3dId),
2157 BSplineCurve(BSplineCurveId),
2158 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
2159 BSplineSurface(BSplineSurfaceId),
2160 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
2161 BezierCurve(BezierCurveId),
2162 BezierSurface(BezierSurfaceId),
2163 BoundedCurve(BoundedCurveId),
2164 BoundedPcurve(BoundedPcurveId),
2165 BoundedSurface(BoundedSurfaceId),
2166 BoundedSurfaceCurve(BoundedSurfaceCurveId),
2167 BrepWithVoids(BrepWithVoidsId),
2168 CalendarDate(CalendarDateId),
2169 CameraImage(CameraImageId),
2170 CameraImage3dWithScale(CameraImage3dWithScaleId),
2171 CameraModel(CameraModelId),
2172 CameraModelD3(CameraModelD3Id),
2173 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
2174 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
2175 CameraUsage(CameraUsageId),
2176 CartesianPoint(CartesianPointId),
2177 CcDesignApproval(CcDesignApprovalId),
2178 CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
2179 CcDesignPersonAndOrganizationAssignment(CcDesignPersonAndOrganizationAssignmentId),
2180 CcDesignSecurityClassification(CcDesignSecurityClassificationId),
2181 CentreOfSymmetry(CentreOfSymmetryId),
2182 Certification(CertificationId),
2183 CertificationType(CertificationTypeId),
2184 Change(ChangeId),
2185 ChangeRequest(ChangeRequestId),
2186 CharacterGlyphStyleOutline(CharacterGlyphStyleOutlineId),
2187 CharacterGlyphStyleStroke(CharacterGlyphStyleStrokeId),
2188 CharacterizedItemWithinRepresentation(CharacterizedItemWithinRepresentationId),
2189 CharacterizedObject(CharacterizedObjectId),
2190 CharacterizedRepresentation(CharacterizedRepresentationId),
2191 Circle(CircleId),
2192 CircularRunoutTolerance(CircularRunoutToleranceId),
2193 ClosedShell(ClosedShellId),
2194 CoaxialityTolerance(CoaxialityToleranceId),
2195 Colour(ColourId),
2196 ColourRgb(ColourRgbId),
2197 ColourSpecification(ColourSpecificationId),
2198 CommonDatum(CommonDatumId),
2199 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
2200 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
2201 CompositeCurve(CompositeCurveId),
2202 CompositeCurveSegment(CompositeCurveSegmentId),
2203 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
2204 CompositeShapeAspect(CompositeShapeAspectId),
2205 CompositeText(CompositeTextId),
2206 CompoundRepresentationItem(CompoundRepresentationItemId),
2207 ConcentricityTolerance(ConcentricityToleranceId),
2208 ConfigurationDesign(ConfigurationDesignId),
2209 ConfigurationEffectivity(ConfigurationEffectivityId),
2210 ConfigurationItem(ConfigurationItemId),
2211 Conic(ConicId),
2212 ConicalSurface(ConicalSurfaceId),
2213 ConnectedFaceSet(ConnectedFaceSetId),
2214 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
2215 ConstructiveGeometryRepresentationRelationship(
2216 ConstructiveGeometryRepresentationRelationshipId,
2217 ),
2218 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
2219 ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
2220 ContextDependentUnit(ContextDependentUnitId),
2221 ContinuousShapeAspect(ContinuousShapeAspectId),
2222 Contract(ContractId),
2223 ContractType(ContractTypeId),
2224 ConversionBasedUnit(ConversionBasedUnitId),
2225 CoordinatedUniversalTimeOffset(CoordinatedUniversalTimeOffsetId),
2226 CoordinatesList(CoordinatesListId),
2227 Curve(CurveId),
2228 CurveStyle(CurveStyleId),
2229 CurveStyleFont(CurveStyleFontId),
2230 CurveStyleFontAndScaling(CurveStyleFontAndScalingId),
2231 CurveStyleFontPattern(CurveStyleFontPatternId),
2232 CurveStyleRendering(CurveStyleRenderingId),
2233 CylindricalSurface(CylindricalSurfaceId),
2234 CylindricityTolerance(CylindricityToleranceId),
2235 Date(DateId),
2236 DateAndTime(DateAndTimeId),
2237 DateAndTimeAssignment(DateAndTimeAssignmentId),
2238 DateRole(DateRoleId),
2239 DateTimeRole(DateTimeRoleId),
2240 Datum(DatumId),
2241 DatumFeature(DatumFeatureId),
2242 DatumReference(DatumReferenceId),
2243 DatumReferenceCompartment(DatumReferenceCompartmentId),
2244 DatumReferenceElement(DatumReferenceElementId),
2245 DatumReferenceModifierWithValue(DatumReferenceModifierWithValueId),
2246 DatumSystem(DatumSystemId),
2247 DatumTarget(DatumTargetId),
2248 DefaultModelGeometricView(DefaultModelGeometricViewId),
2249 DefinedCharacterGlyph(DefinedCharacterGlyphId),
2250 DefinedSymbol(DefinedSymbolId),
2251 DefinitionalRepresentation(DefinitionalRepresentationId),
2252 DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
2253 DefinitionalRepresentationRelationshipWithSameContext(
2254 DefinitionalRepresentationRelationshipWithSameContextId,
2255 ),
2256 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
2257 DerivedShapeAspect(DerivedShapeAspectId),
2258 DerivedUnit(DerivedUnitId),
2259 DerivedUnitElement(DerivedUnitElementId),
2260 DescriptionAttribute(DescriptionAttributeId),
2261 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
2262 DesignContext(DesignContextId),
2263 DimensionalCharacteristicRepresentation(DimensionalCharacteristicRepresentationId),
2264 DimensionalExponents(DimensionalExponentsId),
2265 DimensionalLocation(DimensionalLocationId),
2266 DimensionalLocationWithPath(DimensionalLocationWithPathId),
2267 DimensionalSize(DimensionalSizeId),
2268 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
2269 DimensionalSizeWithPath(DimensionalSizeWithPathId),
2270 DirectedDimensionalLocation(DirectedDimensionalLocationId),
2271 Direction(DirectionId),
2272 Document(DocumentId),
2273 DocumentFile(DocumentFileId),
2274 DocumentProductAssociation(DocumentProductAssociationId),
2275 DocumentProductEquivalence(DocumentProductEquivalenceId),
2276 DocumentReference(DocumentReferenceId),
2277 DocumentRepresentationType(DocumentRepresentationTypeId),
2278 DocumentType(DocumentTypeId),
2279 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
2280 DraughtingCallout(DraughtingCalloutId),
2281 DraughtingCalloutRelationship(DraughtingCalloutRelationshipId),
2282 DraughtingModel(DraughtingModelId),
2283 DraughtingModelItemAssociation(DraughtingModelItemAssociationId),
2284 DraughtingModelItemAssociationWithPlaceholder(DraughtingModelItemAssociationWithPlaceholderId),
2285 DraughtingPreDefinedColour(DraughtingPreDefinedColourId),
2286 DraughtingPreDefinedCurveFont(DraughtingPreDefinedCurveFontId),
2287 DraughtingPreDefinedTextFont(DraughtingPreDefinedTextFontId),
2288 Edge(EdgeId),
2289 EdgeCurve(EdgeCurveId),
2290 EdgeLoop(EdgeLoopId),
2291 Effectivity(EffectivityId),
2292 ElementarySurface(ElementarySurfaceId),
2293 Ellipse(EllipseId),
2294 Expression(ExpressionId),
2295 ExternalIdentificationAssignment(ExternalIdentificationAssignmentId),
2296 ExternalSource(ExternalSourceId),
2297 ExternallyDefinedCharacterGlyph(ExternallyDefinedCharacterGlyphId),
2298 ExternallyDefinedCurveFont(ExternallyDefinedCurveFontId),
2299 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
2300 ExternallyDefinedItem(ExternallyDefinedItemId),
2301 ExternallyDefinedStyle(ExternallyDefinedStyleId),
2302 ExternallyDefinedSymbol(ExternallyDefinedSymbolId),
2303 ExternallyDefinedTextFont(ExternallyDefinedTextFontId),
2304 ExternallyDefinedTile(ExternallyDefinedTileId),
2305 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
2306 Face(FaceId),
2307 FaceBound(FaceBoundId),
2308 FaceOuterBound(FaceOuterBoundId),
2309 FaceSurface(FaceSurfaceId),
2310 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
2311 FillAreaStyle(FillAreaStyleId),
2312 FillAreaStyleColour(FillAreaStyleColourId),
2313 FillAreaStyleHatching(FillAreaStyleHatchingId),
2314 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
2315 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
2316 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
2317 FillAreaStyleTiles(FillAreaStyleTilesId),
2318 FlatnessTolerance(FlatnessToleranceId),
2319 FoundedItem(FoundedItemId),
2320 FunctionallyDefinedTransformation(FunctionallyDefinedTransformationId),
2321 GeneralDatumReference(GeneralDatumReferenceId),
2322 GeneralProperty(GeneralPropertyId),
2323 GeneralPropertyAssociation(GeneralPropertyAssociationId),
2324 GenericExpression(GenericExpressionId),
2325 GenericLiteral(GenericLiteralId),
2326 GenericProductDefinitionReference(GenericProductDefinitionReferenceId),
2327 GeometricCurveSet(GeometricCurveSetId),
2328 GeometricItemSpecificUsage(GeometricItemSpecificUsageId),
2329 GeometricRepresentationContext(GeometricRepresentationContextId),
2330 GeometricRepresentationItem(GeometricRepresentationItemId),
2331 GeometricSet(GeometricSetId),
2332 GeometricTolerance(GeometricToleranceId),
2333 GeometricToleranceRelationship(GeometricToleranceRelationshipId),
2334 GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
2335 GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
2336 GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
2337 GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
2338 GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
2339 GeometricallyBoundedSurfaceShapeRepresentation(
2340 GeometricallyBoundedSurfaceShapeRepresentationId,
2341 ),
2342 GeometricallyBoundedWireframeShapeRepresentation(
2343 GeometricallyBoundedWireframeShapeRepresentationId,
2344 ),
2345 GlobalUncertaintyAssignedContext(GlobalUncertaintyAssignedContextId),
2346 GlobalUnitAssignedContext(GlobalUnitAssignedContextId),
2347 Group(GroupId),
2348 GroupAssignment(GroupAssignmentId),
2349 Hyperbola(HyperbolaId),
2350 IdAttribute(IdAttributeId),
2351 IdentificationAssignment(IdentificationAssignmentId),
2352 IdentificationRole(IdentificationRoleId),
2353 IntLiteral(IntLiteralId),
2354 IntegerRepresentationItem(IntegerRepresentationItemId),
2355 IntersectionCurve(IntersectionCurveId),
2356 Invisibility(InvisibilityId),
2357 ItemDefinedTransformation(ItemDefinedTransformationId),
2358 ItemIdentifiedRepresentationUsage(ItemIdentifiedRepresentationUsageId),
2359 LeaderCurve(LeaderCurveId),
2360 LeaderDirectedCallout(LeaderDirectedCalloutId),
2361 LeaderTerminator(LeaderTerminatorId),
2362 LengthMeasureWithUnit(LengthMeasureWithUnitId),
2363 LengthUnit(LengthUnitId),
2364 LimitsAndFits(LimitsAndFitsId),
2365 Line(LineId),
2366 LineProfileTolerance(LineProfileToleranceId),
2367 LiteralNumber(LiteralNumberId),
2368 LocalTime(LocalTimeId),
2369 Loop(LoopId),
2370 MakeFromUsageOption(MakeFromUsageOptionId),
2371 ManifoldSolidBrep(ManifoldSolidBrepId),
2372 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
2373 MappedItem(MappedItemId),
2374 MassMeasureWithUnit(MassMeasureWithUnitId),
2375 MassUnit(MassUnitId),
2376 MeasureQualification(MeasureQualificationId),
2377 MeasureRepresentationItem(MeasureRepresentationItemId),
2378 MeasureWithUnit(MeasureWithUnitId),
2379 MechanicalContext(MechanicalContextId),
2380 MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
2381 MechanicalDesignGeometricPresentationRepresentation(
2382 MechanicalDesignGeometricPresentationRepresentationId,
2383 ),
2384 MechanicalDesignPresentationRepresentationWithDraughting(
2385 MechanicalDesignPresentationRepresentationWithDraughtingId,
2386 ),
2387 MechanicalDesignShadedPresentationRepresentation(
2388 MechanicalDesignShadedPresentationRepresentationId,
2389 ),
2390 ModelGeometricView(ModelGeometricViewId),
2391 ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
2392 NameAttribute(NameAttributeId),
2393 NamedUnit(NamedUnitId),
2394 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
2395 NumericExpression(NumericExpressionId),
2396 ObjectRole(ObjectRoleId),
2397 OffsetSurface(OffsetSurfaceId),
2398 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
2399 OpenShell(OpenShellId),
2400 Organization(OrganizationId),
2401 OrganizationRelationship(OrganizationRelationshipId),
2402 OrganizationRole(OrganizationRoleId),
2403 OrganizationType(OrganizationTypeId),
2404 OrganizationTypeRole(OrganizationTypeRoleId),
2405 OrganizationalAddress(OrganizationalAddressId),
2406 OrganizationalProject(OrganizationalProjectId),
2407 OrganizationalProjectRelationship(OrganizationalProjectRelationshipId),
2408 OrganizationalProjectRole(OrganizationalProjectRoleId),
2409 OrientedClosedShell(OrientedClosedShellId),
2410 OrientedEdge(OrientedEdgeId),
2411 OverRidingStyledItem(OverRidingStyledItemId),
2412 ParallelismTolerance(ParallelismToleranceId),
2413 ParametricRepresentationContext(ParametricRepresentationContextId),
2414 Path(PathId),
2415 Pcurve(PcurveId),
2416 PerpendicularityTolerance(PerpendicularityToleranceId),
2417 Person(PersonId),
2418 PersonAndOrganization(PersonAndOrganizationId),
2419 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
2420 PersonAndOrganizationAssignment(PersonAndOrganizationAssignmentId),
2421 PersonAndOrganizationRole(PersonAndOrganizationRoleId),
2422 PersonalAddress(PersonalAddressId),
2423 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
2424 Placement(PlacementId),
2425 PlanarBox(PlanarBoxId),
2426 PlanarExtent(PlanarExtentId),
2427 Plane(PlaneId),
2428 PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
2429 PlaneAngleUnit(PlaneAngleUnitId),
2430 PlusMinusTolerance(PlusMinusToleranceId),
2431 Point(PointId),
2432 PointStyle(PointStyleId),
2433 PolyLoop(PolyLoopId),
2434 Polyline(PolylineId),
2435 PositionTolerance(PositionToleranceId),
2436 PreDefinedCharacterGlyph(PreDefinedCharacterGlyphId),
2437 PreDefinedColour(PreDefinedColourId),
2438 PreDefinedCurveFont(PreDefinedCurveFontId),
2439 PreDefinedItem(PreDefinedItemId),
2440 PreDefinedMarker(PreDefinedMarkerId),
2441 PreDefinedPointMarkerSymbol(PreDefinedPointMarkerSymbolId),
2442 PreDefinedPresentationStyle(PreDefinedPresentationStyleId),
2443 PreDefinedSurfaceSideStyle(PreDefinedSurfaceSideStyleId),
2444 PreDefinedSymbol(PreDefinedSymbolId),
2445 PreDefinedTerminatorSymbol(PreDefinedTerminatorSymbolId),
2446 PreDefinedTextFont(PreDefinedTextFontId),
2447 PreDefinedTile(PreDefinedTileId),
2448 PrecisionQualifier(PrecisionQualifierId),
2449 PresentationArea(PresentationAreaId),
2450 PresentationLayerAssignment(PresentationLayerAssignmentId),
2451 PresentationRepresentation(PresentationRepresentationId),
2452 PresentationSet(PresentationSetId),
2453 PresentationSize(PresentationSizeId),
2454 PresentationStyleAssignment(PresentationStyleAssignmentId),
2455 PresentationStyleByContext(PresentationStyleByContextId),
2456 PresentationView(PresentationViewId),
2457 PresentedItem(PresentedItemId),
2458 PresentedItemRepresentation(PresentedItemRepresentationId),
2459 Product(ProductId),
2460 ProductCategory(ProductCategoryId),
2461 ProductCategoryRelationship(ProductCategoryRelationshipId),
2462 ProductConcept(ProductConceptId),
2463 ProductConceptContext(ProductConceptContextId),
2464 ProductConceptFeature(ProductConceptFeatureId),
2465 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
2466 ProductContext(ProductContextId),
2467 ProductDefinition(ProductDefinitionId),
2468 ProductDefinitionContext(ProductDefinitionContextId),
2469 ProductDefinitionContextAssociation(ProductDefinitionContextAssociationId),
2470 ProductDefinitionContextRole(ProductDefinitionContextRoleId),
2471 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
2472 ProductDefinitionFormation(ProductDefinitionFormationId),
2473 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
2474 ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
2475 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
2476 ProductDefinitionRelationshipRelationship(ProductDefinitionRelationshipRelationshipId),
2477 ProductDefinitionShape(ProductDefinitionShapeId),
2478 ProductDefinitionSubstitute(ProductDefinitionSubstituteId),
2479 ProductDefinitionUsage(ProductDefinitionUsageId),
2480 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
2481 ProductRelatedProductCategory(ProductRelatedProductCategoryId),
2482 ProjectedZoneDefinition(ProjectedZoneDefinitionId),
2483 PropertyDefinition(PropertyDefinitionId),
2484 PropertyDefinitionRelationship(PropertyDefinitionRelationshipId),
2485 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
2486 QualifiedRepresentationItem(QualifiedRepresentationItemId),
2487 QuasiUniformCurve(QuasiUniformCurveId),
2488 QuasiUniformSurface(QuasiUniformSurfaceId),
2489 RatioMeasureWithUnit(RatioMeasureWithUnitId),
2490 RatioUnit(RatioUnitId),
2491 RationalBSplineCurve(RationalBSplineCurveId),
2492 RationalBSplineSurface(RationalBSplineSurfaceId),
2493 RealLiteral(RealLiteralId),
2494 RealRepresentationItem(RealRepresentationItemId),
2495 RepositionedTessellatedItem(RepositionedTessellatedItemId),
2496 Representation(RepresentationId),
2497 RepresentationContext(RepresentationContextId),
2498 RepresentationContextReference(RepresentationContextReferenceId),
2499 RepresentationItem(RepresentationItemId),
2500 RepresentationMap(RepresentationMapId),
2501 RepresentationReference(RepresentationReferenceId),
2502 RepresentationRelationship(RepresentationRelationshipId),
2503 RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
2504 ResourceProperty(ResourcePropertyId),
2505 ResourceRequirementType(ResourceRequirementTypeId),
2506 RoleAssociation(RoleAssociationId),
2507 RoundnessTolerance(RoundnessToleranceId),
2508 SeamCurve(SeamCurveId),
2509 SecurityClassification(SecurityClassificationId),
2510 SecurityClassificationAssignment(SecurityClassificationAssignmentId),
2511 SecurityClassificationLevel(SecurityClassificationLevelId),
2512 ShapeAspect(ShapeAspectId),
2513 ShapeAspectAssociativity(ShapeAspectAssociativityId),
2514 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
2515 ShapeAspectRelationship(ShapeAspectRelationshipId),
2516 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
2517 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
2518 ShapeRepresentation(ShapeRepresentationId),
2519 ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
2520 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
2521 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
2522 SiUnit(SiUnitId),
2523 SimpleGenericExpression(SimpleGenericExpressionId),
2524 SimpleNumericExpression(SimpleNumericExpressionId),
2525 SolidAngleUnit(SolidAngleUnitId),
2526 SolidModel(SolidModelId),
2527 SphericalSurface(SphericalSurfaceId),
2528 StartRequest(StartRequestId),
2529 StartWork(StartWorkId),
2530 StateObserved(StateObservedId),
2531 StateType(StateTypeId),
2532 StraightnessTolerance(StraightnessToleranceId),
2533 StyledItem(StyledItemId),
2534 Surface(SurfaceId),
2535 SurfaceCurve(SurfaceCurveId),
2536 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
2537 SurfaceOfRevolution(SurfaceOfRevolutionId),
2538 SurfaceProfileTolerance(SurfaceProfileToleranceId),
2539 SurfaceRenderingProperties(SurfaceRenderingPropertiesId),
2540 SurfaceSideStyle(SurfaceSideStyleId),
2541 SurfaceStyleBoundary(SurfaceStyleBoundaryId),
2542 SurfaceStyleControlGrid(SurfaceStyleControlGridId),
2543 SurfaceStyleFillArea(SurfaceStyleFillAreaId),
2544 SurfaceStyleParameterLine(SurfaceStyleParameterLineId),
2545 SurfaceStyleReflectanceAmbient(SurfaceStyleReflectanceAmbientId),
2546 SurfaceStyleRendering(SurfaceStyleRenderingId),
2547 SurfaceStyleRenderingWithProperties(SurfaceStyleRenderingWithPropertiesId),
2548 SurfaceStyleSegmentationCurve(SurfaceStyleSegmentationCurveId),
2549 SurfaceStyleSilhouette(SurfaceStyleSilhouetteId),
2550 SurfaceStyleTransparent(SurfaceStyleTransparentId),
2551 SurfaceStyleUsage(SurfaceStyleUsageId),
2552 SweptSurface(SweptSurfaceId),
2553 SymbolColour(SymbolColourId),
2554 SymbolRepresentation(SymbolRepresentationId),
2555 SymbolStyle(SymbolStyleId),
2556 SymbolTarget(SymbolTargetId),
2557 SymmetryTolerance(SymmetryToleranceId),
2558 TerminatorSymbol(TerminatorSymbolId),
2559 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
2560 TessellatedCurveSet(TessellatedCurveSetId),
2561 TessellatedFace(TessellatedFaceId),
2562 TessellatedGeometricSet(TessellatedGeometricSetId),
2563 TessellatedItem(TessellatedItemId),
2564 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
2565 TessellatedShell(TessellatedShellId),
2566 TessellatedSolid(TessellatedSolidId),
2567 TessellatedStructuredItem(TessellatedStructuredItemId),
2568 TessellatedSurfaceSet(TessellatedSurfaceSetId),
2569 TextFont(TextFontId),
2570 TextLiteral(TextLiteralId),
2571 TextStyle(TextStyleId),
2572 TextStyleForDefinedFont(TextStyleForDefinedFontId),
2573 TextStyleWithBoxCharacteristics(TextStyleWithBoxCharacteristicsId),
2574 TextureStyleSpecification(TextureStyleSpecificationId),
2575 TextureStyleTessellationSpecification(TextureStyleTessellationSpecificationId),
2576 TimeUnit(TimeUnitId),
2577 ToleranceValue(ToleranceValueId),
2578 ToleranceZone(ToleranceZoneId),
2579 ToleranceZoneDefinition(ToleranceZoneDefinitionId),
2580 ToleranceZoneForm(ToleranceZoneFormId),
2581 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
2582 TopologicalRepresentationItem(TopologicalRepresentationItemId),
2583 ToroidalSurface(ToroidalSurfaceId),
2584 TotalRunoutTolerance(TotalRunoutToleranceId),
2585 TrimmedCurve(TrimmedCurveId),
2586 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
2587 TypeQualifier(TypeQualifierId),
2588 UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
2589 UncertaintyQualifier(UncertaintyQualifierId),
2590 UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
2591 UniformCurve(UniformCurveId),
2592 UniformSurface(UniformSurfaceId),
2593 ValueFormatTypeQualifier(ValueFormatTypeQualifierId),
2594 ValueRepresentationItem(ValueRepresentationItemId),
2595 Vector(VectorId),
2596 VersionedActionRequest(VersionedActionRequestId),
2597 Vertex(VertexId),
2598 VertexLoop(VertexLoopId),
2599 VertexPoint(VertexPointId),
2600 VertexShell(VertexShellId),
2601 ViewVolume(ViewVolumeId),
2602 VolumeUnit(VolumeUnitId),
2603 WireShell(WireShellId),
2604 ComplexUnit(ComplexUnitId),
2605}
2606
2607#[derive(Debug, Clone, PartialEq)]
2608pub enum ActionMethodRef {
2609 ActionMethod(ActionMethodId),
2610 Complex(ComplexUnitId),
2611}
2612impl ActionMethodRef {
2613 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2614 match a {
2615 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
2616 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2617 other => Err(format!("expected ActionMethodRef target, got {other:?}")),
2618 }
2619 }
2620}
2621
2622#[derive(Debug, Clone, PartialEq)]
2623pub enum ActionRef {
2624 Action(ActionId),
2625 Complex(ComplexUnitId),
2626}
2627impl ActionRef {
2628 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2629 match a {
2630 EntityKey::Action(i) => Ok(Self::Action(i)),
2631 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2632 other => Err(format!("expected ActionRef target, got {other:?}")),
2633 }
2634 }
2635}
2636
2637#[derive(Debug, Clone, PartialEq)]
2638pub enum ActionResourceRef {
2639 ActionResource(ActionResourceId),
2640 Complex(ComplexUnitId),
2641}
2642impl ActionResourceRef {
2643 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2644 match a {
2645 EntityKey::ActionResource(i) => Ok(Self::ActionResource(i)),
2646 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2647 other => Err(format!("expected ActionResourceRef target, got {other:?}")),
2648 }
2649 }
2650}
2651
2652#[derive(Debug, Clone, PartialEq)]
2653pub enum ActionResourceTypeRef {
2654 ActionResourceType(ActionResourceTypeId),
2655}
2656impl ActionResourceTypeRef {
2657 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2658 match a {
2659 EntityKey::ActionResourceType(i) => Ok(Self::ActionResourceType(i)),
2660 other => Err(format!(
2661 "expected ActionResourceTypeRef target, got {other:?}"
2662 )),
2663 }
2664 }
2665}
2666
2667#[derive(Debug, Clone, PartialEq)]
2668pub enum AnnotationCurveOccurrenceRef {
2669 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
2670 LeaderCurve(LeaderCurveId),
2671 Complex(ComplexUnitId),
2672}
2673impl AnnotationCurveOccurrenceRef {
2674 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2675 match a {
2676 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
2677 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
2678 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2679 other => Err(format!(
2680 "expected AnnotationCurveOccurrenceRef target, got {other:?}"
2681 )),
2682 }
2683 }
2684}
2685
2686#[derive(Debug, Clone, PartialEq)]
2687pub enum AnnotationOccurrenceRef {
2688 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
2689 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
2690 AnnotationOccurrence(AnnotationOccurrenceId),
2691 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
2692 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
2693 AnnotationPlane(AnnotationPlaneId),
2694 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
2695 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
2696 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
2697 LeaderCurve(LeaderCurveId),
2698 LeaderTerminator(LeaderTerminatorId),
2699 TerminatorSymbol(TerminatorSymbolId),
2700 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
2701 Complex(ComplexUnitId),
2702}
2703impl AnnotationOccurrenceRef {
2704 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2705 match a {
2706 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
2707 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
2708 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
2709 EntityKey::AnnotationPlaceholderOccurrence(i) => {
2710 Ok(Self::AnnotationPlaceholderOccurrence(i))
2711 }
2712 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
2713 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
2714 }
2715 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
2716 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
2717 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
2718 EntityKey::DraughtingAnnotationOccurrence(i) => {
2719 Ok(Self::DraughtingAnnotationOccurrence(i))
2720 }
2721 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
2722 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
2723 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
2724 EntityKey::TessellatedAnnotationOccurrence(i) => {
2725 Ok(Self::TessellatedAnnotationOccurrence(i))
2726 }
2727 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2728 other => Err(format!(
2729 "expected AnnotationOccurrenceRef target, got {other:?}"
2730 )),
2731 }
2732 }
2733}
2734
2735#[derive(Debug, Clone, PartialEq)]
2736pub enum AnnotationPlaceholderLeaderLineRef {
2737 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
2738 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
2739 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
2740 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
2741}
2742impl AnnotationPlaceholderLeaderLineRef {
2743 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2744 match a {
2745 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
2746 Ok(Self::AnnotationPlaceholderLeaderLine(i))
2747 }
2748 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
2749 Ok(Self::AnnotationToAnnotationLeaderLine(i))
2750 }
2751 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
2752 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
2753 other => Err(format!(
2754 "expected AnnotationPlaceholderLeaderLineRef target, got {other:?}"
2755 )),
2756 }
2757 }
2758}
2759
2760#[derive(Debug, Clone, PartialEq)]
2761pub enum AnnotationPlaceholderOccurrenceRef {
2762 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
2763 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
2764 Complex(ComplexUnitId),
2765}
2766impl AnnotationPlaceholderOccurrenceRef {
2767 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2768 match a {
2769 EntityKey::AnnotationPlaceholderOccurrence(i) => {
2770 Ok(Self::AnnotationPlaceholderOccurrence(i))
2771 }
2772 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
2773 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
2774 }
2775 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2776 other => Err(format!(
2777 "expected AnnotationPlaceholderOccurrenceRef target, got {other:?}"
2778 )),
2779 }
2780 }
2781}
2782
2783#[derive(Debug, Clone, PartialEq)]
2784pub enum AnnotationPlaneElementRef {
2785 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
2786 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
2787 AnnotationOccurrence(AnnotationOccurrenceId),
2788 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
2789 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
2790 AnnotationPlane(AnnotationPlaneId),
2791 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
2792 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
2793 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
2794 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
2795 DraughtingCallout(DraughtingCalloutId),
2796 LeaderCurve(LeaderCurveId),
2797 LeaderDirectedCallout(LeaderDirectedCalloutId),
2798 LeaderTerminator(LeaderTerminatorId),
2799 OverRidingStyledItem(OverRidingStyledItemId),
2800 StyledItem(StyledItemId),
2801 TerminatorSymbol(TerminatorSymbolId),
2802 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
2803 Complex(ComplexUnitId),
2804}
2805impl AnnotationPlaneElementRef {
2806 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2807 match a {
2808 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
2809 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
2810 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
2811 EntityKey::AnnotationPlaceholderOccurrence(i) => {
2812 Ok(Self::AnnotationPlaceholderOccurrence(i))
2813 }
2814 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
2815 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
2816 }
2817 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
2818 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
2819 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
2820 EntityKey::ContextDependentOverRidingStyledItem(i) => {
2821 Ok(Self::ContextDependentOverRidingStyledItem(i))
2822 }
2823 EntityKey::DraughtingAnnotationOccurrence(i) => {
2824 Ok(Self::DraughtingAnnotationOccurrence(i))
2825 }
2826 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
2827 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
2828 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
2829 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
2830 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
2831 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
2832 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
2833 EntityKey::TessellatedAnnotationOccurrence(i) => {
2834 Ok(Self::TessellatedAnnotationOccurrence(i))
2835 }
2836 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2837 other => Err(format!(
2838 "expected AnnotationPlaneElementRef target, got {other:?}"
2839 )),
2840 }
2841 }
2842}
2843
2844#[derive(Debug, Clone, PartialEq)]
2845pub enum AnnotationRepresentationSelectRef {
2846 DraughtingModel(DraughtingModelId),
2847 PresentationArea(PresentationAreaId),
2848 PresentationView(PresentationViewId),
2849 SymbolRepresentation(SymbolRepresentationId),
2850 Complex(ComplexUnitId),
2851}
2852impl AnnotationRepresentationSelectRef {
2853 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2854 match a {
2855 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
2856 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
2857 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
2858 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
2859 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2860 other => Err(format!(
2861 "expected AnnotationRepresentationSelectRef target, got {other:?}"
2862 )),
2863 }
2864 }
2865}
2866
2867#[derive(Debug, Clone, PartialEq)]
2868pub enum AnnotationSymbolOccurrenceItemRef {
2869 AnnotationSymbol(AnnotationSymbolId),
2870 DefinedSymbol(DefinedSymbolId),
2871 Complex(ComplexUnitId),
2872}
2873impl AnnotationSymbolOccurrenceItemRef {
2874 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2875 match a {
2876 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
2877 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
2878 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2879 other => Err(format!(
2880 "expected AnnotationSymbolOccurrenceItemRef target, got {other:?}"
2881 )),
2882 }
2883 }
2884}
2885
2886#[derive(Debug, Clone, PartialEq)]
2887pub enum AnnotationSymbolOccurrenceRef {
2888 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
2889 LeaderTerminator(LeaderTerminatorId),
2890 TerminatorSymbol(TerminatorSymbolId),
2891 Complex(ComplexUnitId),
2892}
2893impl AnnotationSymbolOccurrenceRef {
2894 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2895 match a {
2896 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
2897 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
2898 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
2899 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2900 other => Err(format!(
2901 "expected AnnotationSymbolOccurrenceRef target, got {other:?}"
2902 )),
2903 }
2904 }
2905}
2906
2907#[derive(Debug, Clone, PartialEq)]
2908pub enum AnnotationTextOccurrenceItemRef {
2909 AnnotationText(AnnotationTextId),
2910 AnnotationTextCharacter(AnnotationTextCharacterId),
2911 CompositeText(CompositeTextId),
2912 DefinedCharacterGlyph(DefinedCharacterGlyphId),
2913 TextLiteral(TextLiteralId),
2914 Complex(ComplexUnitId),
2915}
2916impl AnnotationTextOccurrenceItemRef {
2917 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2918 match a {
2919 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
2920 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
2921 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
2922 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
2923 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
2924 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
2925 other => Err(format!(
2926 "expected AnnotationTextOccurrenceItemRef target, got {other:?}"
2927 )),
2928 }
2929 }
2930}
2931
2932#[derive(Debug, Clone, PartialEq)]
2933pub enum AnnotationToModelLeaderLineRef {
2934 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
2935}
2936impl AnnotationToModelLeaderLineRef {
2937 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2938 match a {
2939 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
2940 other => Err(format!(
2941 "expected AnnotationToModelLeaderLineRef target, got {other:?}"
2942 )),
2943 }
2944 }
2945}
2946
2947#[derive(Debug, Clone, PartialEq)]
2948pub enum ApplicationContextRef {
2949 ApplicationContext(ApplicationContextId),
2950}
2951impl ApplicationContextRef {
2952 pub fn from_any(a: EntityKey) -> Result<Self, String> {
2953 match a {
2954 EntityKey::ApplicationContext(i) => Ok(Self::ApplicationContext(i)),
2955 other => Err(format!(
2956 "expected ApplicationContextRef target, got {other:?}"
2957 )),
2958 }
2959 }
2960}
2961
2962#[derive(Debug, Clone, PartialEq)]
2963pub enum ApprovalItemRef {
2964 Action(ActionId),
2965 ActionDirective(ActionDirectiveId),
2966 ActionMethod(ActionMethodId),
2967 ActionMethodRelationship(ActionMethodRelationshipId),
2968 ActionProperty(ActionPropertyId),
2969 ActionRequestSolution(ActionRequestSolutionId),
2970 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
2971 AdvancedFace(AdvancedFaceId),
2972 AngularLocation(AngularLocationId),
2973 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
2974 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
2975 AnnotationOccurrence(AnnotationOccurrenceId),
2976 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
2977 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
2978 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
2979 AnnotationPlane(AnnotationPlaneId),
2980 AnnotationSymbol(AnnotationSymbolId),
2981 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
2982 AnnotationText(AnnotationTextId),
2983 AnnotationTextCharacter(AnnotationTextCharacterId),
2984 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
2985 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
2986 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
2987 ApllPoint(ApllPointId),
2988 ApllPointWithSurface(ApllPointWithSurfaceId),
2989 AppliedApprovalAssignment(AppliedApprovalAssignmentId),
2990 AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
2991 AppliedDocumentReference(AppliedDocumentReferenceId),
2992 AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
2993 AppliedPersonAndOrganizationAssignment(AppliedPersonAndOrganizationAssignmentId),
2994 AssemblyComponentUsage(AssemblyComponentUsageId),
2995 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
2996 Axis1Placement(Axis1PlacementId),
2997 Axis2Placement2d(Axis2Placement2dId),
2998 Axis2Placement3d(Axis2Placement3dId),
2999 BSplineCurve(BSplineCurveId),
3000 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
3001 BSplineSurface(BSplineSurfaceId),
3002 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
3003 BezierCurve(BezierCurveId),
3004 BezierSurface(BezierSurfaceId),
3005 BoundedCurve(BoundedCurveId),
3006 BoundedPcurve(BoundedPcurveId),
3007 BoundedSurface(BoundedSurfaceId),
3008 BoundedSurfaceCurve(BoundedSurfaceCurveId),
3009 BrepWithVoids(BrepWithVoidsId),
3010 CalendarDate(CalendarDateId),
3011 CameraImage(CameraImageId),
3012 CameraImage3dWithScale(CameraImage3dWithScaleId),
3013 CameraModel(CameraModelId),
3014 CameraModelD3(CameraModelD3Id),
3015 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
3016 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
3017 CartesianPoint(CartesianPointId),
3018 CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
3019 Certification(CertificationId),
3020 CharacterizedRepresentation(CharacterizedRepresentationId),
3021 Circle(CircleId),
3022 ClosedShell(ClosedShellId),
3023 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
3024 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
3025 CompositeCurve(CompositeCurveId),
3026 CompositeText(CompositeTextId),
3027 CompoundRepresentationItem(CompoundRepresentationItemId),
3028 ConfigurationDesign(ConfigurationDesignId),
3029 ConfigurationEffectivity(ConfigurationEffectivityId),
3030 ConfigurationItem(ConfigurationItemId),
3031 Conic(ConicId),
3032 ConicalSurface(ConicalSurfaceId),
3033 ConnectedFaceSet(ConnectedFaceSetId),
3034 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
3035 ConstructiveGeometryRepresentationRelationship(
3036 ConstructiveGeometryRepresentationRelationshipId,
3037 ),
3038 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
3039 Contract(ContractId),
3040 CoordinatesList(CoordinatesListId),
3041 Curve(CurveId),
3042 CylindricalSurface(CylindricalSurfaceId),
3043 Date(DateId),
3044 DateAndTimeAssignment(DateAndTimeAssignmentId),
3045 DefinedCharacterGlyph(DefinedCharacterGlyphId),
3046 DefinedSymbol(DefinedSymbolId),
3047 DefinitionalRepresentation(DefinitionalRepresentationId),
3048 DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
3049 DefinitionalRepresentationRelationshipWithSameContext(
3050 DefinitionalRepresentationRelationshipWithSameContextId,
3051 ),
3052 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
3053 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
3054 DesignContext(DesignContextId),
3055 DimensionalLocation(DimensionalLocationId),
3056 DimensionalLocationWithPath(DimensionalLocationWithPathId),
3057 DirectedDimensionalLocation(DirectedDimensionalLocationId),
3058 Direction(DirectionId),
3059 Document(DocumentId),
3060 DocumentFile(DocumentFileId),
3061 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
3062 DraughtingCallout(DraughtingCalloutId),
3063 DraughtingModel(DraughtingModelId),
3064 Edge(EdgeId),
3065 EdgeCurve(EdgeCurveId),
3066 EdgeLoop(EdgeLoopId),
3067 Effectivity(EffectivityId),
3068 ElementarySurface(ElementarySurfaceId),
3069 Ellipse(EllipseId),
3070 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
3071 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
3072 Face(FaceId),
3073 FaceBound(FaceBoundId),
3074 FaceOuterBound(FaceOuterBoundId),
3075 FaceSurface(FaceSurfaceId),
3076 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
3077 FillAreaStyleHatching(FillAreaStyleHatchingId),
3078 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
3079 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
3080 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
3081 FillAreaStyleTiles(FillAreaStyleTilesId),
3082 GeneralProperty(GeneralPropertyId),
3083 GeometricCurveSet(GeometricCurveSetId),
3084 GeometricRepresentationItem(GeometricRepresentationItemId),
3085 GeometricSet(GeometricSetId),
3086 GeometricallyBoundedSurfaceShapeRepresentation(
3087 GeometricallyBoundedSurfaceShapeRepresentationId,
3088 ),
3089 GeometricallyBoundedWireframeShapeRepresentation(
3090 GeometricallyBoundedWireframeShapeRepresentationId,
3091 ),
3092 Group(GroupId),
3093 Hyperbola(HyperbolaId),
3094 IntegerRepresentationItem(IntegerRepresentationItemId),
3095 IntersectionCurve(IntersectionCurveId),
3096 LeaderCurve(LeaderCurveId),
3097 LeaderDirectedCallout(LeaderDirectedCalloutId),
3098 LeaderTerminator(LeaderTerminatorId),
3099 Line(LineId),
3100 Loop(LoopId),
3101 MakeFromUsageOption(MakeFromUsageOptionId),
3102 ManifoldSolidBrep(ManifoldSolidBrepId),
3103 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
3104 MappedItem(MappedItemId),
3105 MeasureRepresentationItem(MeasureRepresentationItemId),
3106 MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
3107 MechanicalDesignGeometricPresentationRepresentation(
3108 MechanicalDesignGeometricPresentationRepresentationId,
3109 ),
3110 MechanicalDesignPresentationRepresentationWithDraughting(
3111 MechanicalDesignPresentationRepresentationWithDraughtingId,
3112 ),
3113 MechanicalDesignShadedPresentationRepresentation(
3114 MechanicalDesignShadedPresentationRepresentationId,
3115 ),
3116 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
3117 OffsetSurface(OffsetSurfaceId),
3118 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
3119 OpenShell(OpenShellId),
3120 Organization(OrganizationId),
3121 OrganizationRelationship(OrganizationRelationshipId),
3122 OrganizationalAddress(OrganizationalAddressId),
3123 OrganizationalProject(OrganizationalProjectId),
3124 OrientedClosedShell(OrientedClosedShellId),
3125 OrientedEdge(OrientedEdgeId),
3126 OverRidingStyledItem(OverRidingStyledItemId),
3127 Path(PathId),
3128 Pcurve(PcurveId),
3129 PersonAndOrganization(PersonAndOrganizationId),
3130 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
3131 Placement(PlacementId),
3132 PlanarBox(PlanarBoxId),
3133 PlanarExtent(PlanarExtentId),
3134 Plane(PlaneId),
3135 Point(PointId),
3136 PolyLoop(PolyLoopId),
3137 Polyline(PolylineId),
3138 PresentationArea(PresentationAreaId),
3139 PresentationRepresentation(PresentationRepresentationId),
3140 PresentationView(PresentationViewId),
3141 Product(ProductId),
3142 ProductConcept(ProductConceptId),
3143 ProductConceptFeature(ProductConceptFeatureId),
3144 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
3145 ProductDefinition(ProductDefinitionId),
3146 ProductDefinitionContext(ProductDefinitionContextId),
3147 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
3148 ProductDefinitionFormation(ProductDefinitionFormationId),
3149 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
3150 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
3151 ProductDefinitionShape(ProductDefinitionShapeId),
3152 ProductDefinitionSubstitute(ProductDefinitionSubstituteId),
3153 ProductDefinitionUsage(ProductDefinitionUsageId),
3154 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
3155 PropertyDefinition(PropertyDefinitionId),
3156 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
3157 QualifiedRepresentationItem(QualifiedRepresentationItemId),
3158 QuasiUniformCurve(QuasiUniformCurveId),
3159 QuasiUniformSurface(QuasiUniformSurfaceId),
3160 RationalBSplineCurve(RationalBSplineCurveId),
3161 RationalBSplineSurface(RationalBSplineSurfaceId),
3162 RealRepresentationItem(RealRepresentationItemId),
3163 RepositionedTessellatedItem(RepositionedTessellatedItemId),
3164 Representation(RepresentationId),
3165 RepresentationItem(RepresentationItemId),
3166 RepresentationRelationship(RepresentationRelationshipId),
3167 RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
3168 ResourceProperty(ResourcePropertyId),
3169 SeamCurve(SeamCurveId),
3170 SecurityClassification(SecurityClassificationId),
3171 ShapeAspectAssociativity(ShapeAspectAssociativityId),
3172 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
3173 ShapeAspectRelationship(ShapeAspectRelationshipId),
3174 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
3175 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
3176 ShapeRepresentation(ShapeRepresentationId),
3177 ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
3178 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
3179 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
3180 SolidModel(SolidModelId),
3181 SphericalSurface(SphericalSurfaceId),
3182 StyledItem(StyledItemId),
3183 Surface(SurfaceId),
3184 SurfaceCurve(SurfaceCurveId),
3185 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
3186 SurfaceOfRevolution(SurfaceOfRevolutionId),
3187 SweptSurface(SweptSurfaceId),
3188 SymbolRepresentation(SymbolRepresentationId),
3189 SymbolTarget(SymbolTargetId),
3190 TerminatorSymbol(TerminatorSymbolId),
3191 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
3192 TessellatedCurveSet(TessellatedCurveSetId),
3193 TessellatedFace(TessellatedFaceId),
3194 TessellatedGeometricSet(TessellatedGeometricSetId),
3195 TessellatedItem(TessellatedItemId),
3196 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
3197 TessellatedShell(TessellatedShellId),
3198 TessellatedSolid(TessellatedSolidId),
3199 TessellatedStructuredItem(TessellatedStructuredItemId),
3200 TessellatedSurfaceSet(TessellatedSurfaceSetId),
3201 TextLiteral(TextLiteralId),
3202 TopologicalRepresentationItem(TopologicalRepresentationItemId),
3203 ToroidalSurface(ToroidalSurfaceId),
3204 TrimmedCurve(TrimmedCurveId),
3205 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
3206 UniformCurve(UniformCurveId),
3207 UniformSurface(UniformSurfaceId),
3208 ValueRepresentationItem(ValueRepresentationItemId),
3209 Vector(VectorId),
3210 VersionedActionRequest(VersionedActionRequestId),
3211 Vertex(VertexId),
3212 VertexLoop(VertexLoopId),
3213 VertexPoint(VertexPointId),
3214 VertexShell(VertexShellId),
3215 WireShell(WireShellId),
3216 Complex(ComplexUnitId),
3217}
3218impl ApprovalItemRef {
3219 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3220 match a {
3221 EntityKey::Action(i) => Ok(Self::Action(i)),
3222 EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
3223 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
3224 EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
3225 EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
3226 EntityKey::ActionRequestSolution(i) => Ok(Self::ActionRequestSolution(i)),
3227 EntityKey::AdvancedBrepShapeRepresentation(i) => {
3228 Ok(Self::AdvancedBrepShapeRepresentation(i))
3229 }
3230 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
3231 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
3232 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
3233 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
3234 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
3235 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
3236 Ok(Self::AnnotationPlaceholderLeaderLine(i))
3237 }
3238 EntityKey::AnnotationPlaceholderOccurrence(i) => {
3239 Ok(Self::AnnotationPlaceholderOccurrence(i))
3240 }
3241 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
3242 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
3243 }
3244 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
3245 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
3246 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
3247 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
3248 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
3249 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
3250 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
3251 Ok(Self::AnnotationToAnnotationLeaderLine(i))
3252 }
3253 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
3254 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
3255 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
3256 EntityKey::AppliedApprovalAssignment(i) => Ok(Self::AppliedApprovalAssignment(i)),
3257 EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
3258 EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
3259 EntityKey::AppliedExternalIdentificationAssignment(i) => {
3260 Ok(Self::AppliedExternalIdentificationAssignment(i))
3261 }
3262 EntityKey::AppliedPersonAndOrganizationAssignment(i) => {
3263 Ok(Self::AppliedPersonAndOrganizationAssignment(i))
3264 }
3265 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
3266 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
3267 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
3268 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
3269 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
3270 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
3271 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
3272 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
3273 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
3274 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
3275 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
3276 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
3277 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
3278 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
3279 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
3280 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
3281 EntityKey::CalendarDate(i) => Ok(Self::CalendarDate(i)),
3282 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
3283 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
3284 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
3285 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
3286 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
3287 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
3288 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
3289 EntityKey::CcDesignDateAndTimeAssignment(i) => {
3290 Ok(Self::CcDesignDateAndTimeAssignment(i))
3291 }
3292 EntityKey::Certification(i) => Ok(Self::Certification(i)),
3293 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
3294 EntityKey::Circle(i) => Ok(Self::Circle(i)),
3295 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
3296 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
3297 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
3298 Ok(Self::ComplexTriangulatedSurfaceSet(i))
3299 }
3300 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
3301 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
3302 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
3303 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
3304 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
3305 EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
3306 EntityKey::Conic(i) => Ok(Self::Conic(i)),
3307 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
3308 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
3309 EntityKey::ConstructiveGeometryRepresentation(i) => {
3310 Ok(Self::ConstructiveGeometryRepresentation(i))
3311 }
3312 EntityKey::ConstructiveGeometryRepresentationRelationship(i) => {
3313 Ok(Self::ConstructiveGeometryRepresentationRelationship(i))
3314 }
3315 EntityKey::ContextDependentOverRidingStyledItem(i) => {
3316 Ok(Self::ContextDependentOverRidingStyledItem(i))
3317 }
3318 EntityKey::Contract(i) => Ok(Self::Contract(i)),
3319 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
3320 EntityKey::Curve(i) => Ok(Self::Curve(i)),
3321 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
3322 EntityKey::Date(i) => Ok(Self::Date(i)),
3323 EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
3324 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
3325 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
3326 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
3327 EntityKey::DefinitionalRepresentationRelationship(i) => {
3328 Ok(Self::DefinitionalRepresentationRelationship(i))
3329 }
3330 EntityKey::DefinitionalRepresentationRelationshipWithSameContext(i) => Ok(
3331 Self::DefinitionalRepresentationRelationshipWithSameContext(i),
3332 ),
3333 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
3334 EntityKey::DescriptiveRepresentationItem(i) => {
3335 Ok(Self::DescriptiveRepresentationItem(i))
3336 }
3337 EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
3338 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
3339 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
3340 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
3341 EntityKey::Direction(i) => Ok(Self::Direction(i)),
3342 EntityKey::Document(i) => Ok(Self::Document(i)),
3343 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
3344 EntityKey::DraughtingAnnotationOccurrence(i) => {
3345 Ok(Self::DraughtingAnnotationOccurrence(i))
3346 }
3347 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
3348 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
3349 EntityKey::Edge(i) => Ok(Self::Edge(i)),
3350 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
3351 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
3352 EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
3353 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
3354 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
3355 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
3356 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
3357 EntityKey::Face(i) => Ok(Self::Face(i)),
3358 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
3359 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
3360 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
3361 EntityKey::FeatureForDatumTargetRelationship(i) => {
3362 Ok(Self::FeatureForDatumTargetRelationship(i))
3363 }
3364 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
3365 EntityKey::FillAreaStyleTileColouredRegion(i) => {
3366 Ok(Self::FillAreaStyleTileColouredRegion(i))
3367 }
3368 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
3369 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
3370 }
3371 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
3372 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
3373 }
3374 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
3375 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
3376 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
3377 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
3378 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
3379 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
3380 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
3381 }
3382 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
3383 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
3384 }
3385 EntityKey::Group(i) => Ok(Self::Group(i)),
3386 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
3387 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
3388 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
3389 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
3390 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
3391 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
3392 EntityKey::Line(i) => Ok(Self::Line(i)),
3393 EntityKey::Loop(i) => Ok(Self::Loop(i)),
3394 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
3395 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
3396 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
3397 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
3398 }
3399 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
3400 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
3401 EntityKey::MechanicalDesignAndDraughtingRelationship(i) => {
3402 Ok(Self::MechanicalDesignAndDraughtingRelationship(i))
3403 }
3404 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
3405 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
3406 }
3407 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
3408 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
3409 }
3410 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
3411 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
3412 }
3413 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
3414 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
3415 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
3416 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
3417 EntityKey::Organization(i) => Ok(Self::Organization(i)),
3418 EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
3419 EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
3420 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
3421 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
3422 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
3423 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
3424 EntityKey::Path(i) => Ok(Self::Path(i)),
3425 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
3426 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
3427 EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
3428 EntityKey::Placement(i) => Ok(Self::Placement(i)),
3429 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
3430 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
3431 EntityKey::Plane(i) => Ok(Self::Plane(i)),
3432 EntityKey::Point(i) => Ok(Self::Point(i)),
3433 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
3434 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
3435 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
3436 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
3437 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
3438 EntityKey::Product(i) => Ok(Self::Product(i)),
3439 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
3440 EntityKey::ProductConceptFeature(i) => Ok(Self::ProductConceptFeature(i)),
3441 EntityKey::ProductConceptFeatureCategory(i) => {
3442 Ok(Self::ProductConceptFeatureCategory(i))
3443 }
3444 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
3445 EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
3446 EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
3447 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
3448 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
3449 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
3450 }
3451 EntityKey::ProductDefinitionRelationship(i) => {
3452 Ok(Self::ProductDefinitionRelationship(i))
3453 }
3454 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
3455 EntityKey::ProductDefinitionSubstitute(i) => Ok(Self::ProductDefinitionSubstitute(i)),
3456 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
3457 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
3458 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
3459 }
3460 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
3461 EntityKey::PropertyDefinitionRepresentation(i) => {
3462 Ok(Self::PropertyDefinitionRepresentation(i))
3463 }
3464 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
3465 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
3466 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
3467 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
3468 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
3469 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
3470 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
3471 EntityKey::Representation(i) => Ok(Self::Representation(i)),
3472 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
3473 EntityKey::RepresentationRelationship(i) => Ok(Self::RepresentationRelationship(i)),
3474 EntityKey::RepresentationRelationshipWithTransformation(i) => {
3475 Ok(Self::RepresentationRelationshipWithTransformation(i))
3476 }
3477 EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
3478 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
3479 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
3480 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
3481 EntityKey::ShapeAspectDerivingRelationship(i) => {
3482 Ok(Self::ShapeAspectDerivingRelationship(i))
3483 }
3484 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
3485 EntityKey::ShapeDefinitionRepresentation(i) => {
3486 Ok(Self::ShapeDefinitionRepresentation(i))
3487 }
3488 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
3489 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
3490 EntityKey::ShapeRepresentationRelationship(i) => {
3491 Ok(Self::ShapeRepresentationRelationship(i))
3492 }
3493 EntityKey::ShapeRepresentationWithParameters(i) => {
3494 Ok(Self::ShapeRepresentationWithParameters(i))
3495 }
3496 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
3497 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
3498 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
3499 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
3500 EntityKey::Surface(i) => Ok(Self::Surface(i)),
3501 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
3502 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
3503 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
3504 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
3505 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
3506 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
3507 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
3508 EntityKey::TessellatedAnnotationOccurrence(i) => {
3509 Ok(Self::TessellatedAnnotationOccurrence(i))
3510 }
3511 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
3512 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
3513 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
3514 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
3515 EntityKey::TessellatedShapeRepresentation(i) => {
3516 Ok(Self::TessellatedShapeRepresentation(i))
3517 }
3518 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
3519 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
3520 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
3521 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
3522 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
3523 EntityKey::TopologicalRepresentationItem(i) => {
3524 Ok(Self::TopologicalRepresentationItem(i))
3525 }
3526 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
3527 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
3528 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
3529 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
3530 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
3531 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
3532 EntityKey::Vector(i) => Ok(Self::Vector(i)),
3533 EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
3534 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
3535 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
3536 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
3537 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
3538 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
3539 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
3540 other => Err(format!("expected ApprovalItemRef target, got {other:?}")),
3541 }
3542 }
3543}
3544
3545#[derive(Debug, Clone, PartialEq)]
3546pub enum ApprovalRef {
3547 Approval(ApprovalId),
3548}
3549impl ApprovalRef {
3550 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3551 match a {
3552 EntityKey::Approval(i) => Ok(Self::Approval(i)),
3553 other => Err(format!("expected ApprovalRef target, got {other:?}")),
3554 }
3555 }
3556}
3557
3558#[derive(Debug, Clone, PartialEq)]
3559pub enum ApprovalRoleRef {
3560 ApprovalRole(ApprovalRoleId),
3561}
3562impl ApprovalRoleRef {
3563 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3564 match a {
3565 EntityKey::ApprovalRole(i) => Ok(Self::ApprovalRole(i)),
3566 other => Err(format!("expected ApprovalRoleRef target, got {other:?}")),
3567 }
3568 }
3569}
3570
3571#[derive(Debug, Clone, PartialEq)]
3572pub enum ApprovalStatusRef {
3573 ApprovalStatus(ApprovalStatusId),
3574}
3575impl ApprovalStatusRef {
3576 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3577 match a {
3578 EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
3579 other => Err(format!("expected ApprovalStatusRef target, got {other:?}")),
3580 }
3581 }
3582}
3583
3584#[derive(Debug, Clone, PartialEq)]
3585pub enum ApprovedItemRef {
3586 Certification(CertificationId),
3587 Change(ChangeId),
3588 ChangeRequest(ChangeRequestId),
3589 ConfigurationEffectivity(ConfigurationEffectivityId),
3590 ConfigurationItem(ConfigurationItemId),
3591 Contract(ContractId),
3592 Product(ProductId),
3593 ProductDefinition(ProductDefinitionId),
3594 ProductDefinitionFormation(ProductDefinitionFormationId),
3595 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
3596 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
3597 SecurityClassification(SecurityClassificationId),
3598 StartRequest(StartRequestId),
3599 StartWork(StartWorkId),
3600 Complex(ComplexUnitId),
3601}
3602impl ApprovedItemRef {
3603 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3604 match a {
3605 EntityKey::Certification(i) => Ok(Self::Certification(i)),
3606 EntityKey::Change(i) => Ok(Self::Change(i)),
3607 EntityKey::ChangeRequest(i) => Ok(Self::ChangeRequest(i)),
3608 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
3609 EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
3610 EntityKey::Contract(i) => Ok(Self::Contract(i)),
3611 EntityKey::Product(i) => Ok(Self::Product(i)),
3612 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
3613 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
3614 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
3615 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
3616 }
3617 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
3618 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
3619 }
3620 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
3621 EntityKey::StartRequest(i) => Ok(Self::StartRequest(i)),
3622 EntityKey::StartWork(i) => Ok(Self::StartWork(i)),
3623 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
3624 other => Err(format!("expected ApprovedItemRef target, got {other:?}")),
3625 }
3626 }
3627}
3628
3629#[derive(Debug, Clone, PartialEq)]
3630pub enum AscribableStateRef {
3631 AscribableState(AscribableStateId),
3632}
3633impl AscribableStateRef {
3634 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3635 match a {
3636 EntityKey::AscribableState(i) => Ok(Self::AscribableState(i)),
3637 other => Err(format!("expected AscribableStateRef target, got {other:?}")),
3638 }
3639 }
3640}
3641
3642#[derive(Debug, Clone, PartialEq)]
3643pub enum Axis1PlacementRef {
3644 Axis1Placement(Axis1PlacementId),
3645}
3646impl Axis1PlacementRef {
3647 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3648 match a {
3649 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
3650 other => Err(format!("expected Axis1PlacementRef target, got {other:?}")),
3651 }
3652 }
3653}
3654
3655#[derive(Debug, Clone, PartialEq)]
3656pub enum Axis2Placement3dRef {
3657 Axis2Placement3d(Axis2Placement3dId),
3658}
3659impl Axis2Placement3dRef {
3660 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3661 match a {
3662 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
3663 other => Err(format!(
3664 "expected Axis2Placement3dRef target, got {other:?}"
3665 )),
3666 }
3667 }
3668}
3669
3670#[derive(Debug, Clone, PartialEq)]
3671pub enum Axis2PlacementRef {
3672 Axis2Placement2d(Axis2Placement2dId),
3673 Axis2Placement3d(Axis2Placement3dId),
3674}
3675impl Axis2PlacementRef {
3676 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3677 match a {
3678 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
3679 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
3680 other => Err(format!("expected Axis2PlacementRef target, got {other:?}")),
3681 }
3682 }
3683}
3684
3685#[derive(Debug, Clone, PartialEq)]
3686pub enum CameraModelD3MultiClippingIntersectionSelectRef {
3687 Plane(PlaneId),
3688}
3689impl CameraModelD3MultiClippingIntersectionSelectRef {
3690 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3691 match a {
3692 EntityKey::Plane(i) => Ok(Self::Plane(i)),
3693 other => Err(format!(
3694 "expected CameraModelD3MultiClippingIntersectionSelectRef target, got {other:?}"
3695 )),
3696 }
3697 }
3698}
3699
3700#[derive(Debug, Clone, PartialEq)]
3701pub enum CartesianPointRef {
3702 ApllPoint(ApllPointId),
3703 ApllPointWithSurface(ApllPointWithSurfaceId),
3704 CartesianPoint(CartesianPointId),
3705}
3706impl CartesianPointRef {
3707 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3708 match a {
3709 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
3710 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
3711 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
3712 other => Err(format!("expected CartesianPointRef target, got {other:?}")),
3713 }
3714 }
3715}
3716
3717#[derive(Debug, Clone, PartialEq)]
3718pub enum CcClassifiedItemRef {
3719 AssemblyComponentUsage(AssemblyComponentUsageId),
3720 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
3721 ProductDefinitionFormation(ProductDefinitionFormationId),
3722 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
3723 Complex(ComplexUnitId),
3724}
3725impl CcClassifiedItemRef {
3726 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3727 match a {
3728 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
3729 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
3730 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
3731 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
3732 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
3733 }
3734 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
3735 other => Err(format!(
3736 "expected CcClassifiedItemRef target, got {other:?}"
3737 )),
3738 }
3739 }
3740}
3741
3742#[derive(Debug, Clone, PartialEq)]
3743pub enum CcPersonOrganizationItemRef {
3744 Change(ChangeId),
3745 ChangeRequest(ChangeRequestId),
3746 ConfigurationItem(ConfigurationItemId),
3747 Contract(ContractId),
3748 Product(ProductId),
3749 ProductDefinition(ProductDefinitionId),
3750 ProductDefinitionFormation(ProductDefinitionFormationId),
3751 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
3752 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
3753 SecurityClassification(SecurityClassificationId),
3754 StartRequest(StartRequestId),
3755 StartWork(StartWorkId),
3756 Complex(ComplexUnitId),
3757}
3758impl CcPersonOrganizationItemRef {
3759 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3760 match a {
3761 EntityKey::Change(i) => Ok(Self::Change(i)),
3762 EntityKey::ChangeRequest(i) => Ok(Self::ChangeRequest(i)),
3763 EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
3764 EntityKey::Contract(i) => Ok(Self::Contract(i)),
3765 EntityKey::Product(i) => Ok(Self::Product(i)),
3766 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
3767 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
3768 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
3769 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
3770 }
3771 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
3772 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
3773 }
3774 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
3775 EntityKey::StartRequest(i) => Ok(Self::StartRequest(i)),
3776 EntityKey::StartWork(i) => Ok(Self::StartWork(i)),
3777 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
3778 other => Err(format!(
3779 "expected CcPersonOrganizationItemRef target, got {other:?}"
3780 )),
3781 }
3782 }
3783}
3784
3785#[derive(Debug, Clone, PartialEq)]
3786pub enum CertificationTypeRef {
3787 CertificationType(CertificationTypeId),
3788}
3789impl CertificationTypeRef {
3790 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3791 match a {
3792 EntityKey::CertificationType(i) => Ok(Self::CertificationType(i)),
3793 other => Err(format!(
3794 "expected CertificationTypeRef target, got {other:?}"
3795 )),
3796 }
3797 }
3798}
3799
3800#[derive(Debug, Clone, PartialEq)]
3801pub enum ChangeRequestItemRef {
3802 ProductDefinitionFormation(ProductDefinitionFormationId),
3803 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
3804 Complex(ComplexUnitId),
3805}
3806impl ChangeRequestItemRef {
3807 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3808 match a {
3809 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
3810 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
3811 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
3812 }
3813 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
3814 other => Err(format!(
3815 "expected ChangeRequestItemRef target, got {other:?}"
3816 )),
3817 }
3818 }
3819}
3820
3821#[derive(Debug, Clone, PartialEq)]
3822pub enum CharacterStyleSelectRef {
3823 CharacterGlyphStyleOutline(CharacterGlyphStyleOutlineId),
3824 CharacterGlyphStyleStroke(CharacterGlyphStyleStrokeId),
3825 TextStyleForDefinedFont(TextStyleForDefinedFontId),
3826 Complex(ComplexUnitId),
3827}
3828impl CharacterStyleSelectRef {
3829 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3830 match a {
3831 EntityKey::CharacterGlyphStyleOutline(i) => Ok(Self::CharacterGlyphStyleOutline(i)),
3832 EntityKey::CharacterGlyphStyleStroke(i) => Ok(Self::CharacterGlyphStyleStroke(i)),
3833 EntityKey::TextStyleForDefinedFont(i) => Ok(Self::TextStyleForDefinedFont(i)),
3834 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
3835 other => Err(format!(
3836 "expected CharacterStyleSelectRef target, got {other:?}"
3837 )),
3838 }
3839 }
3840}
3841
3842#[derive(Debug, Clone, PartialEq)]
3843pub enum CharacterizedActionDefinitionRef {
3844 Action(ActionId),
3845 ActionMethod(ActionMethodId),
3846 ActionMethodRelationship(ActionMethodRelationshipId),
3847 ActionRelationship(ActionRelationshipId),
3848 Complex(ComplexUnitId),
3849}
3850impl CharacterizedActionDefinitionRef {
3851 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3852 match a {
3853 EntityKey::Action(i) => Ok(Self::Action(i)),
3854 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
3855 EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
3856 EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
3857 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
3858 other => Err(format!(
3859 "expected CharacterizedActionDefinitionRef target, got {other:?}"
3860 )),
3861 }
3862 }
3863}
3864
3865#[derive(Debug, Clone, PartialEq)]
3866pub enum CharacterizedDefinitionRef {
3867 AllAroundShapeAspect(AllAroundShapeAspectId),
3868 AngularLocation(AngularLocationId),
3869 AngularSize(AngularSizeId),
3870 AngularityTolerance(AngularityToleranceId),
3871 AssemblyComponentUsage(AssemblyComponentUsageId),
3872 CentreOfSymmetry(CentreOfSymmetryId),
3873 CharacterizedItemWithinRepresentation(CharacterizedItemWithinRepresentationId),
3874 CharacterizedObject(CharacterizedObjectId),
3875 CharacterizedRepresentation(CharacterizedRepresentationId),
3876 CircularRunoutTolerance(CircularRunoutToleranceId),
3877 CoaxialityTolerance(CoaxialityToleranceId),
3878 CommonDatum(CommonDatumId),
3879 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
3880 CompositeShapeAspect(CompositeShapeAspectId),
3881 ConcentricityTolerance(ConcentricityToleranceId),
3882 ContinuousShapeAspect(ContinuousShapeAspectId),
3883 CylindricityTolerance(CylindricityToleranceId),
3884 Datum(DatumId),
3885 DatumFeature(DatumFeatureId),
3886 DatumReferenceCompartment(DatumReferenceCompartmentId),
3887 DatumReferenceElement(DatumReferenceElementId),
3888 DatumSystem(DatumSystemId),
3889 DatumTarget(DatumTargetId),
3890 DefaultModelGeometricView(DefaultModelGeometricViewId),
3891 DerivedShapeAspect(DerivedShapeAspectId),
3892 DimensionalLocation(DimensionalLocationId),
3893 DimensionalLocationWithPath(DimensionalLocationWithPathId),
3894 DimensionalSize(DimensionalSizeId),
3895 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
3896 DimensionalSizeWithPath(DimensionalSizeWithPathId),
3897 DirectedDimensionalLocation(DirectedDimensionalLocationId),
3898 DocumentFile(DocumentFileId),
3899 DraughtingModelItemAssociation(DraughtingModelItemAssociationId),
3900 DraughtingModelItemAssociationWithPlaceholder(DraughtingModelItemAssociationWithPlaceholderId),
3901 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
3902 FlatnessTolerance(FlatnessToleranceId),
3903 GeneralDatumReference(GeneralDatumReferenceId),
3904 GeometricItemSpecificUsage(GeometricItemSpecificUsageId),
3905 GeometricTolerance(GeometricToleranceId),
3906 GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
3907 GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
3908 GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
3909 GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
3910 GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
3911 ItemIdentifiedRepresentationUsage(ItemIdentifiedRepresentationUsageId),
3912 LineProfileTolerance(LineProfileToleranceId),
3913 MakeFromUsageOption(MakeFromUsageOptionId),
3914 ModelGeometricView(ModelGeometricViewId),
3915 ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
3916 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
3917 ParallelismTolerance(ParallelismToleranceId),
3918 PerpendicularityTolerance(PerpendicularityToleranceId),
3919 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
3920 PositionTolerance(PositionToleranceId),
3921 ProductDefinition(ProductDefinitionId),
3922 ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
3923 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
3924 ProductDefinitionRelationshipRelationship(ProductDefinitionRelationshipRelationshipId),
3925 ProductDefinitionShape(ProductDefinitionShapeId),
3926 ProductDefinitionUsage(ProductDefinitionUsageId),
3927 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
3928 RoundnessTolerance(RoundnessToleranceId),
3929 ShapeAspect(ShapeAspectId),
3930 ShapeAspectAssociativity(ShapeAspectAssociativityId),
3931 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
3932 ShapeAspectRelationship(ShapeAspectRelationshipId),
3933 StraightnessTolerance(StraightnessToleranceId),
3934 SurfaceProfileTolerance(SurfaceProfileToleranceId),
3935 SymmetryTolerance(SymmetryToleranceId),
3936 ToleranceZone(ToleranceZoneId),
3937 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
3938 TotalRunoutTolerance(TotalRunoutToleranceId),
3939 UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
3940 Complex(ComplexUnitId),
3941}
3942impl CharacterizedDefinitionRef {
3943 pub fn from_any(a: EntityKey) -> Result<Self, String> {
3944 match a {
3945 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
3946 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
3947 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
3948 EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
3949 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
3950 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
3951 EntityKey::CharacterizedItemWithinRepresentation(i) => {
3952 Ok(Self::CharacterizedItemWithinRepresentation(i))
3953 }
3954 EntityKey::CharacterizedObject(i) => Ok(Self::CharacterizedObject(i)),
3955 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
3956 EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
3957 EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
3958 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
3959 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
3960 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
3961 EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
3962 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
3963 EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
3964 EntityKey::Datum(i) => Ok(Self::Datum(i)),
3965 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
3966 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
3967 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
3968 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
3969 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
3970 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
3971 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
3972 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
3973 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
3974 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
3975 EntityKey::DimensionalSizeWithDatumFeature(i) => {
3976 Ok(Self::DimensionalSizeWithDatumFeature(i))
3977 }
3978 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
3979 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
3980 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
3981 EntityKey::DraughtingModelItemAssociation(i) => {
3982 Ok(Self::DraughtingModelItemAssociation(i))
3983 }
3984 EntityKey::DraughtingModelItemAssociationWithPlaceholder(i) => {
3985 Ok(Self::DraughtingModelItemAssociationWithPlaceholder(i))
3986 }
3987 EntityKey::FeatureForDatumTargetRelationship(i) => {
3988 Ok(Self::FeatureForDatumTargetRelationship(i))
3989 }
3990 EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
3991 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
3992 EntityKey::GeometricItemSpecificUsage(i) => Ok(Self::GeometricItemSpecificUsage(i)),
3993 EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
3994 EntityKey::GeometricToleranceWithDatumReference(i) => {
3995 Ok(Self::GeometricToleranceWithDatumReference(i))
3996 }
3997 EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
3998 Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
3999 }
4000 EntityKey::GeometricToleranceWithDefinedUnit(i) => {
4001 Ok(Self::GeometricToleranceWithDefinedUnit(i))
4002 }
4003 EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
4004 Ok(Self::GeometricToleranceWithMaximumTolerance(i))
4005 }
4006 EntityKey::GeometricToleranceWithModifiers(i) => {
4007 Ok(Self::GeometricToleranceWithModifiers(i))
4008 }
4009 EntityKey::ItemIdentifiedRepresentationUsage(i) => {
4010 Ok(Self::ItemIdentifiedRepresentationUsage(i))
4011 }
4012 EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
4013 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
4014 EntityKey::ModelGeometricView(i) => Ok(Self::ModelGeometricView(i)),
4015 EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
4016 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
4017 EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
4018 EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
4019 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
4020 EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
4021 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
4022 EntityKey::ProductDefinitionOccurrence(i) => Ok(Self::ProductDefinitionOccurrence(i)),
4023 EntityKey::ProductDefinitionRelationship(i) => {
4024 Ok(Self::ProductDefinitionRelationship(i))
4025 }
4026 EntityKey::ProductDefinitionRelationshipRelationship(i) => {
4027 Ok(Self::ProductDefinitionRelationshipRelationship(i))
4028 }
4029 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
4030 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
4031 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
4032 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
4033 }
4034 EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
4035 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
4036 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
4037 EntityKey::ShapeAspectDerivingRelationship(i) => {
4038 Ok(Self::ShapeAspectDerivingRelationship(i))
4039 }
4040 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
4041 EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
4042 EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
4043 EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
4044 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
4045 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
4046 EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
4047 EntityKey::UnequallyDisposedGeometricTolerance(i) => {
4048 Ok(Self::UnequallyDisposedGeometricTolerance(i))
4049 }
4050 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4051 other => Err(format!(
4052 "expected CharacterizedDefinitionRef target, got {other:?}"
4053 )),
4054 }
4055 }
4056}
4057
4058#[derive(Debug, Clone, PartialEq)]
4059pub enum CharacterizedResourceDefinitionRef {
4060 ActionResource(ActionResourceId),
4061 ActionResourceRelationship(ActionResourceRelationshipId),
4062 ActionResourceRequirement(ActionResourceRequirementId),
4063 Complex(ComplexUnitId),
4064}
4065impl CharacterizedResourceDefinitionRef {
4066 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4067 match a {
4068 EntityKey::ActionResource(i) => Ok(Self::ActionResource(i)),
4069 EntityKey::ActionResourceRelationship(i) => Ok(Self::ActionResourceRelationship(i)),
4070 EntityKey::ActionResourceRequirement(i) => Ok(Self::ActionResourceRequirement(i)),
4071 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4072 other => Err(format!(
4073 "expected CharacterizedResourceDefinitionRef target, got {other:?}"
4074 )),
4075 }
4076 }
4077}
4078
4079#[derive(Debug, Clone, PartialEq)]
4080pub enum ClosedShellRef {
4081 ClosedShell(ClosedShellId),
4082 OrientedClosedShell(OrientedClosedShellId),
4083 Complex(ComplexUnitId),
4084}
4085impl ClosedShellRef {
4086 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4087 match a {
4088 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
4089 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
4090 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4091 other => Err(format!("expected ClosedShellRef target, got {other:?}")),
4092 }
4093 }
4094}
4095
4096#[derive(Debug, Clone, PartialEq)]
4097pub enum ColourRef {
4098 Colour(ColourId),
4099 ColourRgb(ColourRgbId),
4100 ColourSpecification(ColourSpecificationId),
4101 DraughtingPreDefinedColour(DraughtingPreDefinedColourId),
4102 PreDefinedColour(PreDefinedColourId),
4103 Complex(ComplexUnitId),
4104}
4105impl ColourRef {
4106 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4107 match a {
4108 EntityKey::Colour(i) => Ok(Self::Colour(i)),
4109 EntityKey::ColourRgb(i) => Ok(Self::ColourRgb(i)),
4110 EntityKey::ColourSpecification(i) => Ok(Self::ColourSpecification(i)),
4111 EntityKey::DraughtingPreDefinedColour(i) => Ok(Self::DraughtingPreDefinedColour(i)),
4112 EntityKey::PreDefinedColour(i) => Ok(Self::PreDefinedColour(i)),
4113 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4114 other => Err(format!("expected ColourRef target, got {other:?}")),
4115 }
4116 }
4117}
4118
4119#[derive(Debug, Clone, PartialEq)]
4120pub enum CompositeCurveSegmentRef {
4121 CompositeCurveSegment(CompositeCurveSegmentId),
4122 Complex(ComplexUnitId),
4123}
4124impl CompositeCurveSegmentRef {
4125 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4126 match a {
4127 EntityKey::CompositeCurveSegment(i) => Ok(Self::CompositeCurveSegment(i)),
4128 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4129 other => Err(format!(
4130 "expected CompositeCurveSegmentRef target, got {other:?}"
4131 )),
4132 }
4133 }
4134}
4135
4136#[derive(Debug, Clone, PartialEq)]
4137pub enum CompoundItemDefinitionRef {
4138 AdvancedFace(AdvancedFaceId),
4139 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
4140 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
4141 AnnotationOccurrence(AnnotationOccurrenceId),
4142 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
4143 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
4144 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
4145 AnnotationPlane(AnnotationPlaneId),
4146 AnnotationSymbol(AnnotationSymbolId),
4147 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
4148 AnnotationText(AnnotationTextId),
4149 AnnotationTextCharacter(AnnotationTextCharacterId),
4150 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
4151 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
4152 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
4153 ApllPoint(ApllPointId),
4154 ApllPointWithSurface(ApllPointWithSurfaceId),
4155 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
4156 Axis1Placement(Axis1PlacementId),
4157 Axis2Placement2d(Axis2Placement2dId),
4158 Axis2Placement3d(Axis2Placement3dId),
4159 BSplineCurve(BSplineCurveId),
4160 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
4161 BSplineSurface(BSplineSurfaceId),
4162 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
4163 BezierCurve(BezierCurveId),
4164 BezierSurface(BezierSurfaceId),
4165 BoundedCurve(BoundedCurveId),
4166 BoundedPcurve(BoundedPcurveId),
4167 BoundedSurface(BoundedSurfaceId),
4168 BoundedSurfaceCurve(BoundedSurfaceCurveId),
4169 BrepWithVoids(BrepWithVoidsId),
4170 CameraImage(CameraImageId),
4171 CameraImage3dWithScale(CameraImage3dWithScaleId),
4172 CameraModel(CameraModelId),
4173 CameraModelD3(CameraModelD3Id),
4174 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
4175 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
4176 CartesianPoint(CartesianPointId),
4177 Circle(CircleId),
4178 ClosedShell(ClosedShellId),
4179 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
4180 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
4181 CompositeCurve(CompositeCurveId),
4182 CompositeText(CompositeTextId),
4183 CompoundRepresentationItem(CompoundRepresentationItemId),
4184 Conic(ConicId),
4185 ConicalSurface(ConicalSurfaceId),
4186 ConnectedFaceSet(ConnectedFaceSetId),
4187 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
4188 CoordinatesList(CoordinatesListId),
4189 Curve(CurveId),
4190 CylindricalSurface(CylindricalSurfaceId),
4191 DefinedCharacterGlyph(DefinedCharacterGlyphId),
4192 DefinedSymbol(DefinedSymbolId),
4193 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
4194 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
4195 Direction(DirectionId),
4196 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
4197 DraughtingCallout(DraughtingCalloutId),
4198 Edge(EdgeId),
4199 EdgeCurve(EdgeCurveId),
4200 EdgeLoop(EdgeLoopId),
4201 ElementarySurface(ElementarySurfaceId),
4202 Ellipse(EllipseId),
4203 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
4204 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
4205 Face(FaceId),
4206 FaceBound(FaceBoundId),
4207 FaceOuterBound(FaceOuterBoundId),
4208 FaceSurface(FaceSurfaceId),
4209 FillAreaStyleHatching(FillAreaStyleHatchingId),
4210 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
4211 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
4212 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
4213 FillAreaStyleTiles(FillAreaStyleTilesId),
4214 GeometricCurveSet(GeometricCurveSetId),
4215 GeometricRepresentationItem(GeometricRepresentationItemId),
4216 GeometricSet(GeometricSetId),
4217 Hyperbola(HyperbolaId),
4218 IntegerRepresentationItem(IntegerRepresentationItemId),
4219 IntersectionCurve(IntersectionCurveId),
4220 LeaderCurve(LeaderCurveId),
4221 LeaderDirectedCallout(LeaderDirectedCalloutId),
4222 LeaderTerminator(LeaderTerminatorId),
4223 Line(LineId),
4224 Loop(LoopId),
4225 ManifoldSolidBrep(ManifoldSolidBrepId),
4226 MappedItem(MappedItemId),
4227 MeasureRepresentationItem(MeasureRepresentationItemId),
4228 OffsetSurface(OffsetSurfaceId),
4229 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
4230 OpenShell(OpenShellId),
4231 OrientedClosedShell(OrientedClosedShellId),
4232 OrientedEdge(OrientedEdgeId),
4233 OverRidingStyledItem(OverRidingStyledItemId),
4234 Path(PathId),
4235 Pcurve(PcurveId),
4236 Placement(PlacementId),
4237 PlanarBox(PlanarBoxId),
4238 PlanarExtent(PlanarExtentId),
4239 Plane(PlaneId),
4240 Point(PointId),
4241 PolyLoop(PolyLoopId),
4242 Polyline(PolylineId),
4243 QualifiedRepresentationItem(QualifiedRepresentationItemId),
4244 QuasiUniformCurve(QuasiUniformCurveId),
4245 QuasiUniformSurface(QuasiUniformSurfaceId),
4246 RationalBSplineCurve(RationalBSplineCurveId),
4247 RationalBSplineSurface(RationalBSplineSurfaceId),
4248 RealRepresentationItem(RealRepresentationItemId),
4249 RepositionedTessellatedItem(RepositionedTessellatedItemId),
4250 RepresentationItem(RepresentationItemId),
4251 SeamCurve(SeamCurveId),
4252 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
4253 SolidModel(SolidModelId),
4254 SphericalSurface(SphericalSurfaceId),
4255 StyledItem(StyledItemId),
4256 Surface(SurfaceId),
4257 SurfaceCurve(SurfaceCurveId),
4258 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
4259 SurfaceOfRevolution(SurfaceOfRevolutionId),
4260 SweptSurface(SweptSurfaceId),
4261 SymbolTarget(SymbolTargetId),
4262 TerminatorSymbol(TerminatorSymbolId),
4263 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
4264 TessellatedCurveSet(TessellatedCurveSetId),
4265 TessellatedFace(TessellatedFaceId),
4266 TessellatedGeometricSet(TessellatedGeometricSetId),
4267 TessellatedItem(TessellatedItemId),
4268 TessellatedShell(TessellatedShellId),
4269 TessellatedSolid(TessellatedSolidId),
4270 TessellatedStructuredItem(TessellatedStructuredItemId),
4271 TessellatedSurfaceSet(TessellatedSurfaceSetId),
4272 TextLiteral(TextLiteralId),
4273 TopologicalRepresentationItem(TopologicalRepresentationItemId),
4274 ToroidalSurface(ToroidalSurfaceId),
4275 TrimmedCurve(TrimmedCurveId),
4276 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
4277 UniformCurve(UniformCurveId),
4278 UniformSurface(UniformSurfaceId),
4279 ValueRepresentationItem(ValueRepresentationItemId),
4280 Vector(VectorId),
4281 Vertex(VertexId),
4282 VertexLoop(VertexLoopId),
4283 VertexPoint(VertexPointId),
4284 VertexShell(VertexShellId),
4285 WireShell(WireShellId),
4286 ListRepresentationItem(Vec<RepresentationItemRef>),
4287 SetRepresentationItem(Vec<RepresentationItemRef>),
4288 Complex(ComplexUnitId),
4289}
4290impl CompoundItemDefinitionRef {
4291 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4292 match a {
4293 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
4294 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
4295 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
4296 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
4297 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
4298 Ok(Self::AnnotationPlaceholderLeaderLine(i))
4299 }
4300 EntityKey::AnnotationPlaceholderOccurrence(i) => {
4301 Ok(Self::AnnotationPlaceholderOccurrence(i))
4302 }
4303 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
4304 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
4305 }
4306 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
4307 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
4308 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
4309 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
4310 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
4311 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
4312 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
4313 Ok(Self::AnnotationToAnnotationLeaderLine(i))
4314 }
4315 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
4316 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
4317 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
4318 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
4319 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
4320 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
4321 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
4322 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
4323 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
4324 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
4325 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
4326 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
4327 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
4328 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
4329 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
4330 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
4331 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
4332 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
4333 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
4334 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
4335 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
4336 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
4337 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
4338 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
4339 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
4340 EntityKey::Circle(i) => Ok(Self::Circle(i)),
4341 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
4342 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
4343 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
4344 Ok(Self::ComplexTriangulatedSurfaceSet(i))
4345 }
4346 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
4347 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
4348 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
4349 EntityKey::Conic(i) => Ok(Self::Conic(i)),
4350 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
4351 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
4352 EntityKey::ContextDependentOverRidingStyledItem(i) => {
4353 Ok(Self::ContextDependentOverRidingStyledItem(i))
4354 }
4355 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
4356 EntityKey::Curve(i) => Ok(Self::Curve(i)),
4357 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
4358 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
4359 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
4360 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
4361 EntityKey::DescriptiveRepresentationItem(i) => {
4362 Ok(Self::DescriptiveRepresentationItem(i))
4363 }
4364 EntityKey::Direction(i) => Ok(Self::Direction(i)),
4365 EntityKey::DraughtingAnnotationOccurrence(i) => {
4366 Ok(Self::DraughtingAnnotationOccurrence(i))
4367 }
4368 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
4369 EntityKey::Edge(i) => Ok(Self::Edge(i)),
4370 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
4371 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
4372 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
4373 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
4374 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
4375 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
4376 EntityKey::Face(i) => Ok(Self::Face(i)),
4377 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
4378 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
4379 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
4380 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
4381 EntityKey::FillAreaStyleTileColouredRegion(i) => {
4382 Ok(Self::FillAreaStyleTileColouredRegion(i))
4383 }
4384 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
4385 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
4386 }
4387 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
4388 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
4389 }
4390 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
4391 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
4392 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
4393 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
4394 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
4395 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
4396 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
4397 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
4398 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
4399 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
4400 EntityKey::Line(i) => Ok(Self::Line(i)),
4401 EntityKey::Loop(i) => Ok(Self::Loop(i)),
4402 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
4403 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
4404 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
4405 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
4406 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
4407 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
4408 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
4409 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
4410 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
4411 EntityKey::Path(i) => Ok(Self::Path(i)),
4412 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
4413 EntityKey::Placement(i) => Ok(Self::Placement(i)),
4414 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
4415 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
4416 EntityKey::Plane(i) => Ok(Self::Plane(i)),
4417 EntityKey::Point(i) => Ok(Self::Point(i)),
4418 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
4419 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
4420 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
4421 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
4422 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
4423 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
4424 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
4425 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
4426 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
4427 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
4428 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
4429 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
4430 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
4431 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
4432 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
4433 EntityKey::Surface(i) => Ok(Self::Surface(i)),
4434 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
4435 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
4436 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
4437 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
4438 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
4439 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
4440 EntityKey::TessellatedAnnotationOccurrence(i) => {
4441 Ok(Self::TessellatedAnnotationOccurrence(i))
4442 }
4443 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
4444 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
4445 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
4446 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
4447 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
4448 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
4449 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
4450 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
4451 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
4452 EntityKey::TopologicalRepresentationItem(i) => {
4453 Ok(Self::TopologicalRepresentationItem(i))
4454 }
4455 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
4456 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
4457 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
4458 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
4459 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
4460 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
4461 EntityKey::Vector(i) => Ok(Self::Vector(i)),
4462 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
4463 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
4464 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
4465 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
4466 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
4467 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4468 other => Err(format!(
4469 "expected CompoundItemDefinitionRef target, got {other:?}"
4470 )),
4471 }
4472 }
4473}
4474
4475#[derive(Debug, Clone, PartialEq)]
4476pub enum ConfigurationDesignItemRef {
4477 ProductDefinition(ProductDefinitionId),
4478 ProductDefinitionFormation(ProductDefinitionFormationId),
4479 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
4480 ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
4481 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
4482 Complex(ComplexUnitId),
4483}
4484impl ConfigurationDesignItemRef {
4485 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4486 match a {
4487 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
4488 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
4489 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
4490 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
4491 }
4492 EntityKey::ProductDefinitionOccurrence(i) => Ok(Self::ProductDefinitionOccurrence(i)),
4493 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
4494 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
4495 }
4496 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4497 other => Err(format!(
4498 "expected ConfigurationDesignItemRef target, got {other:?}"
4499 )),
4500 }
4501 }
4502}
4503
4504#[derive(Debug, Clone, PartialEq)]
4505pub enum ConfigurationDesignRef {
4506 ConfigurationDesign(ConfigurationDesignId),
4507}
4508impl ConfigurationDesignRef {
4509 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4510 match a {
4511 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
4512 other => Err(format!(
4513 "expected ConfigurationDesignRef target, got {other:?}"
4514 )),
4515 }
4516 }
4517}
4518
4519#[derive(Debug, Clone, PartialEq)]
4520pub enum ConfigurationItemRef {
4521 ConfigurationItem(ConfigurationItemId),
4522 Complex(ComplexUnitId),
4523}
4524impl ConfigurationItemRef {
4525 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4526 match a {
4527 EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
4528 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4529 other => Err(format!(
4530 "expected ConfigurationItemRef target, got {other:?}"
4531 )),
4532 }
4533 }
4534}
4535
4536#[derive(Debug, Clone, PartialEq)]
4537pub enum ConnectedFaceSetRef {
4538 ClosedShell(ClosedShellId),
4539 ConnectedFaceSet(ConnectedFaceSetId),
4540 OpenShell(OpenShellId),
4541 OrientedClosedShell(OrientedClosedShellId),
4542 Complex(ComplexUnitId),
4543}
4544impl ConnectedFaceSetRef {
4545 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4546 match a {
4547 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
4548 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
4549 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
4550 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
4551 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4552 other => Err(format!(
4553 "expected ConnectedFaceSetRef target, got {other:?}"
4554 )),
4555 }
4556 }
4557}
4558
4559#[derive(Debug, Clone, PartialEq)]
4560pub enum ConstructiveGeometryRepresentationOrShapeRepresentationRef {
4561 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
4562 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
4563 GeometricallyBoundedSurfaceShapeRepresentation(
4564 GeometricallyBoundedSurfaceShapeRepresentationId,
4565 ),
4566 GeometricallyBoundedWireframeShapeRepresentation(
4567 GeometricallyBoundedWireframeShapeRepresentationId,
4568 ),
4569 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
4570 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
4571 ShapeRepresentation(ShapeRepresentationId),
4572 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
4573 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
4574 Complex(ComplexUnitId),
4575}
4576impl ConstructiveGeometryRepresentationOrShapeRepresentationRef {
4577 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4578 match a {
4579 EntityKey::AdvancedBrepShapeRepresentation(i) => {
4580 Ok(Self::AdvancedBrepShapeRepresentation(i))
4581 }
4582 EntityKey::ConstructiveGeometryRepresentation(i) => {
4583 Ok(Self::ConstructiveGeometryRepresentation(i))
4584 }
4585 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
4586 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
4587 }
4588 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
4589 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
4590 }
4591 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
4592 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
4593 }
4594 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
4595 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
4596 EntityKey::ShapeRepresentationWithParameters(i) => {
4597 Ok(Self::ShapeRepresentationWithParameters(i))
4598 }
4599 EntityKey::TessellatedShapeRepresentation(i) => {
4600 Ok(Self::TessellatedShapeRepresentation(i))
4601 }
4602 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4603 other => Err(format!(
4604 "expected ConstructiveGeometryRepresentationOrShapeRepresentationRef target, got {other:?}"
4605 )),
4606 }
4607 }
4608}
4609
4610#[derive(Debug, Clone, PartialEq)]
4611pub enum ContractTypeRef {
4612 ContractType(ContractTypeId),
4613}
4614impl ContractTypeRef {
4615 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4616 match a {
4617 EntityKey::ContractType(i) => Ok(Self::ContractType(i)),
4618 other => Err(format!("expected ContractTypeRef target, got {other:?}")),
4619 }
4620 }
4621}
4622
4623#[derive(Debug, Clone, PartialEq)]
4624pub enum CoordinatedUniversalTimeOffsetRef {
4625 CoordinatedUniversalTimeOffset(CoordinatedUniversalTimeOffsetId),
4626}
4627impl CoordinatedUniversalTimeOffsetRef {
4628 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4629 match a {
4630 EntityKey::CoordinatedUniversalTimeOffset(i) => {
4631 Ok(Self::CoordinatedUniversalTimeOffset(i))
4632 }
4633 other => Err(format!(
4634 "expected CoordinatedUniversalTimeOffsetRef target, got {other:?}"
4635 )),
4636 }
4637 }
4638}
4639
4640#[derive(Debug, Clone, PartialEq)]
4641pub enum CoordinatesListRef {
4642 CoordinatesList(CoordinatesListId),
4643}
4644impl CoordinatesListRef {
4645 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4646 match a {
4647 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
4648 other => Err(format!("expected CoordinatesListRef target, got {other:?}")),
4649 }
4650 }
4651}
4652
4653#[derive(Debug, Clone, PartialEq)]
4654pub enum CurveFontOrScaledCurveFontSelectRef {
4655 CurveStyleFont(CurveStyleFontId),
4656 CurveStyleFontAndScaling(CurveStyleFontAndScalingId),
4657 DraughtingPreDefinedCurveFont(DraughtingPreDefinedCurveFontId),
4658 ExternallyDefinedCurveFont(ExternallyDefinedCurveFontId),
4659 PreDefinedCurveFont(PreDefinedCurveFontId),
4660 Complex(ComplexUnitId),
4661}
4662impl CurveFontOrScaledCurveFontSelectRef {
4663 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4664 match a {
4665 EntityKey::CurveStyleFont(i) => Ok(Self::CurveStyleFont(i)),
4666 EntityKey::CurveStyleFontAndScaling(i) => Ok(Self::CurveStyleFontAndScaling(i)),
4667 EntityKey::DraughtingPreDefinedCurveFont(i) => {
4668 Ok(Self::DraughtingPreDefinedCurveFont(i))
4669 }
4670 EntityKey::ExternallyDefinedCurveFont(i) => Ok(Self::ExternallyDefinedCurveFont(i)),
4671 EntityKey::PreDefinedCurveFont(i) => Ok(Self::PreDefinedCurveFont(i)),
4672 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4673 other => Err(format!(
4674 "expected CurveFontOrScaledCurveFontSelectRef target, got {other:?}"
4675 )),
4676 }
4677 }
4678}
4679
4680#[derive(Debug, Clone, PartialEq)]
4681pub enum CurveOrAnnotationCurveOccurrenceRef {
4682 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
4683 BSplineCurve(BSplineCurveId),
4684 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
4685 BezierCurve(BezierCurveId),
4686 BoundedCurve(BoundedCurveId),
4687 BoundedPcurve(BoundedPcurveId),
4688 BoundedSurfaceCurve(BoundedSurfaceCurveId),
4689 Circle(CircleId),
4690 CompositeCurve(CompositeCurveId),
4691 Conic(ConicId),
4692 Curve(CurveId),
4693 Ellipse(EllipseId),
4694 Hyperbola(HyperbolaId),
4695 IntersectionCurve(IntersectionCurveId),
4696 LeaderCurve(LeaderCurveId),
4697 Line(LineId),
4698 Pcurve(PcurveId),
4699 Polyline(PolylineId),
4700 QuasiUniformCurve(QuasiUniformCurveId),
4701 RationalBSplineCurve(RationalBSplineCurveId),
4702 SeamCurve(SeamCurveId),
4703 SurfaceCurve(SurfaceCurveId),
4704 TrimmedCurve(TrimmedCurveId),
4705 UniformCurve(UniformCurveId),
4706 Complex(ComplexUnitId),
4707}
4708impl CurveOrAnnotationCurveOccurrenceRef {
4709 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4710 match a {
4711 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
4712 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
4713 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
4714 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
4715 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
4716 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
4717 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
4718 EntityKey::Circle(i) => Ok(Self::Circle(i)),
4719 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
4720 EntityKey::Conic(i) => Ok(Self::Conic(i)),
4721 EntityKey::Curve(i) => Ok(Self::Curve(i)),
4722 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
4723 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
4724 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
4725 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
4726 EntityKey::Line(i) => Ok(Self::Line(i)),
4727 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
4728 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
4729 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
4730 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
4731 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
4732 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
4733 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
4734 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
4735 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4736 other => Err(format!(
4737 "expected CurveOrAnnotationCurveOccurrenceRef target, got {other:?}"
4738 )),
4739 }
4740 }
4741}
4742
4743#[derive(Debug, Clone, PartialEq)]
4744pub enum CurveOrCurveSetRef {
4745 BSplineCurve(BSplineCurveId),
4746 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
4747 BezierCurve(BezierCurveId),
4748 BoundedCurve(BoundedCurveId),
4749 BoundedPcurve(BoundedPcurveId),
4750 BoundedSurfaceCurve(BoundedSurfaceCurveId),
4751 Circle(CircleId),
4752 CompositeCurve(CompositeCurveId),
4753 Conic(ConicId),
4754 Curve(CurveId),
4755 Ellipse(EllipseId),
4756 GeometricCurveSet(GeometricCurveSetId),
4757 Hyperbola(HyperbolaId),
4758 IntersectionCurve(IntersectionCurveId),
4759 Line(LineId),
4760 Pcurve(PcurveId),
4761 Polyline(PolylineId),
4762 QuasiUniformCurve(QuasiUniformCurveId),
4763 RationalBSplineCurve(RationalBSplineCurveId),
4764 SeamCurve(SeamCurveId),
4765 SurfaceCurve(SurfaceCurveId),
4766 TrimmedCurve(TrimmedCurveId),
4767 UniformCurve(UniformCurveId),
4768 Complex(ComplexUnitId),
4769}
4770impl CurveOrCurveSetRef {
4771 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4772 match a {
4773 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
4774 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
4775 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
4776 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
4777 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
4778 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
4779 EntityKey::Circle(i) => Ok(Self::Circle(i)),
4780 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
4781 EntityKey::Conic(i) => Ok(Self::Conic(i)),
4782 EntityKey::Curve(i) => Ok(Self::Curve(i)),
4783 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
4784 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
4785 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
4786 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
4787 EntityKey::Line(i) => Ok(Self::Line(i)),
4788 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
4789 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
4790 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
4791 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
4792 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
4793 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
4794 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
4795 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
4796 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4797 other => Err(format!("expected CurveOrCurveSetRef target, got {other:?}")),
4798 }
4799 }
4800}
4801
4802#[derive(Debug, Clone, PartialEq)]
4803pub enum CurveOrRenderRef {
4804 CurveStyle(CurveStyleId),
4805 CurveStyleRendering(CurveStyleRenderingId),
4806 Complex(ComplexUnitId),
4807}
4808impl CurveOrRenderRef {
4809 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4810 match a {
4811 EntityKey::CurveStyle(i) => Ok(Self::CurveStyle(i)),
4812 EntityKey::CurveStyleRendering(i) => Ok(Self::CurveStyleRendering(i)),
4813 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4814 other => Err(format!("expected CurveOrRenderRef target, got {other:?}")),
4815 }
4816 }
4817}
4818
4819#[derive(Debug, Clone, PartialEq)]
4820pub enum CurveRef {
4821 BSplineCurve(BSplineCurveId),
4822 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
4823 BezierCurve(BezierCurveId),
4824 BoundedCurve(BoundedCurveId),
4825 BoundedPcurve(BoundedPcurveId),
4826 BoundedSurfaceCurve(BoundedSurfaceCurveId),
4827 Circle(CircleId),
4828 CompositeCurve(CompositeCurveId),
4829 Conic(ConicId),
4830 Curve(CurveId),
4831 Ellipse(EllipseId),
4832 Hyperbola(HyperbolaId),
4833 IntersectionCurve(IntersectionCurveId),
4834 Line(LineId),
4835 Pcurve(PcurveId),
4836 Polyline(PolylineId),
4837 QuasiUniformCurve(QuasiUniformCurveId),
4838 RationalBSplineCurve(RationalBSplineCurveId),
4839 SeamCurve(SeamCurveId),
4840 SurfaceCurve(SurfaceCurveId),
4841 TrimmedCurve(TrimmedCurveId),
4842 UniformCurve(UniformCurveId),
4843 Complex(ComplexUnitId),
4844}
4845impl CurveRef {
4846 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4847 match a {
4848 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
4849 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
4850 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
4851 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
4852 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
4853 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
4854 EntityKey::Circle(i) => Ok(Self::Circle(i)),
4855 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
4856 EntityKey::Conic(i) => Ok(Self::Conic(i)),
4857 EntityKey::Curve(i) => Ok(Self::Curve(i)),
4858 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
4859 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
4860 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
4861 EntityKey::Line(i) => Ok(Self::Line(i)),
4862 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
4863 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
4864 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
4865 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
4866 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
4867 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
4868 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
4869 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
4870 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4871 other => Err(format!("expected CurveRef target, got {other:?}")),
4872 }
4873 }
4874}
4875
4876#[derive(Debug, Clone, PartialEq)]
4877pub enum CurveStyleFontPatternRef {
4878 CurveStyleFontPattern(CurveStyleFontPatternId),
4879 Complex(ComplexUnitId),
4880}
4881impl CurveStyleFontPatternRef {
4882 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4883 match a {
4884 EntityKey::CurveStyleFontPattern(i) => Ok(Self::CurveStyleFontPattern(i)),
4885 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4886 other => Err(format!(
4887 "expected CurveStyleFontPatternRef target, got {other:?}"
4888 )),
4889 }
4890 }
4891}
4892
4893#[derive(Debug, Clone, PartialEq)]
4894pub enum CurveStyleFontSelectRef {
4895 CurveStyleFont(CurveStyleFontId),
4896 DraughtingPreDefinedCurveFont(DraughtingPreDefinedCurveFontId),
4897 ExternallyDefinedCurveFont(ExternallyDefinedCurveFontId),
4898 PreDefinedCurveFont(PreDefinedCurveFontId),
4899 Complex(ComplexUnitId),
4900}
4901impl CurveStyleFontSelectRef {
4902 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4903 match a {
4904 EntityKey::CurveStyleFont(i) => Ok(Self::CurveStyleFont(i)),
4905 EntityKey::DraughtingPreDefinedCurveFont(i) => {
4906 Ok(Self::DraughtingPreDefinedCurveFont(i))
4907 }
4908 EntityKey::ExternallyDefinedCurveFont(i) => Ok(Self::ExternallyDefinedCurveFont(i)),
4909 EntityKey::PreDefinedCurveFont(i) => Ok(Self::PreDefinedCurveFont(i)),
4910 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4911 other => Err(format!(
4912 "expected CurveStyleFontSelectRef target, got {other:?}"
4913 )),
4914 }
4915 }
4916}
4917
4918#[derive(Debug, Clone, PartialEq)]
4919pub enum CurveStyleRef {
4920 CurveStyle(CurveStyleId),
4921 Complex(ComplexUnitId),
4922}
4923impl CurveStyleRef {
4924 pub fn from_any(a: EntityKey) -> Result<Self, String> {
4925 match a {
4926 EntityKey::CurveStyle(i) => Ok(Self::CurveStyle(i)),
4927 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
4928 other => Err(format!("expected CurveStyleRef target, got {other:?}")),
4929 }
4930 }
4931}
4932
4933#[derive(Debug, Clone, PartialEq)]
4934pub enum DateAndTimeItemRef {
4935 Action(ActionId),
4936 ActionDirective(ActionDirectiveId),
4937 ActionMethod(ActionMethodId),
4938 ActionProperty(ActionPropertyId),
4939 ActionRelationship(ActionRelationshipId),
4940 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
4941 AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
4942 Approval(ApprovalId),
4943 ApprovalPersonOrganization(ApprovalPersonOrganizationId),
4944 ApprovalStatus(ApprovalStatusId),
4945 AscribableState(AscribableStateId),
4946 AssemblyComponentUsage(AssemblyComponentUsageId),
4947 CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
4948 Certification(CertificationId),
4949 CharacterizedRepresentation(CharacterizedRepresentationId),
4950 ConfigurationDesign(ConfigurationDesignId),
4951 ConfigurationEffectivity(ConfigurationEffectivityId),
4952 ConfigurationItem(ConfigurationItemId),
4953 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
4954 Contract(ContractId),
4955 DateAndTimeAssignment(DateAndTimeAssignmentId),
4956 DefinitionalRepresentation(DefinitionalRepresentationId),
4957 DesignContext(DesignContextId),
4958 Document(DocumentId),
4959 DocumentFile(DocumentFileId),
4960 DraughtingModel(DraughtingModelId),
4961 Effectivity(EffectivityId),
4962 GeneralProperty(GeneralPropertyId),
4963 GeometricallyBoundedSurfaceShapeRepresentation(
4964 GeometricallyBoundedSurfaceShapeRepresentationId,
4965 ),
4966 GeometricallyBoundedWireframeShapeRepresentation(
4967 GeometricallyBoundedWireframeShapeRepresentationId,
4968 ),
4969 MakeFromUsageOption(MakeFromUsageOptionId),
4970 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
4971 MechanicalDesignGeometricPresentationRepresentation(
4972 MechanicalDesignGeometricPresentationRepresentationId,
4973 ),
4974 MechanicalDesignPresentationRepresentationWithDraughting(
4975 MechanicalDesignPresentationRepresentationWithDraughtingId,
4976 ),
4977 MechanicalDesignShadedPresentationRepresentation(
4978 MechanicalDesignShadedPresentationRepresentationId,
4979 ),
4980 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
4981 OrganizationRelationship(OrganizationRelationshipId),
4982 OrganizationalAddress(OrganizationalAddressId),
4983 OrganizationalProject(OrganizationalProjectId),
4984 Person(PersonId),
4985 PersonAndOrganization(PersonAndOrganizationId),
4986 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
4987 PresentationArea(PresentationAreaId),
4988 PresentationRepresentation(PresentationRepresentationId),
4989 PresentationView(PresentationViewId),
4990 Product(ProductId),
4991 ProductConcept(ProductConceptId),
4992 ProductDefinition(ProductDefinitionId),
4993 ProductDefinitionContext(ProductDefinitionContextId),
4994 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
4995 ProductDefinitionFormation(ProductDefinitionFormationId),
4996 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
4997 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
4998 ProductDefinitionShape(ProductDefinitionShapeId),
4999 ProductDefinitionUsage(ProductDefinitionUsageId),
5000 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
5001 PropertyDefinition(PropertyDefinitionId),
5002 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
5003 Representation(RepresentationId),
5004 ResourceProperty(ResourcePropertyId),
5005 SecurityClassification(SecurityClassificationId),
5006 SecurityClassificationLevel(SecurityClassificationLevelId),
5007 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
5008 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
5009 ShapeRepresentation(ShapeRepresentationId),
5010 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
5011 StateObserved(StateObservedId),
5012 StateType(StateTypeId),
5013 SymbolRepresentation(SymbolRepresentationId),
5014 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
5015 VersionedActionRequest(VersionedActionRequestId),
5016 Complex(ComplexUnitId),
5017}
5018impl DateAndTimeItemRef {
5019 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5020 match a {
5021 EntityKey::Action(i) => Ok(Self::Action(i)),
5022 EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
5023 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
5024 EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
5025 EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
5026 EntityKey::AdvancedBrepShapeRepresentation(i) => {
5027 Ok(Self::AdvancedBrepShapeRepresentation(i))
5028 }
5029 EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
5030 EntityKey::Approval(i) => Ok(Self::Approval(i)),
5031 EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
5032 EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
5033 EntityKey::AscribableState(i) => Ok(Self::AscribableState(i)),
5034 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
5035 EntityKey::CcDesignDateAndTimeAssignment(i) => {
5036 Ok(Self::CcDesignDateAndTimeAssignment(i))
5037 }
5038 EntityKey::Certification(i) => Ok(Self::Certification(i)),
5039 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
5040 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
5041 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
5042 EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
5043 EntityKey::ConstructiveGeometryRepresentation(i) => {
5044 Ok(Self::ConstructiveGeometryRepresentation(i))
5045 }
5046 EntityKey::Contract(i) => Ok(Self::Contract(i)),
5047 EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
5048 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
5049 EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
5050 EntityKey::Document(i) => Ok(Self::Document(i)),
5051 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
5052 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
5053 EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
5054 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
5055 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
5056 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
5057 }
5058 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
5059 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
5060 }
5061 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
5062 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
5063 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
5064 }
5065 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
5066 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
5067 }
5068 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
5069 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
5070 }
5071 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
5072 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
5073 }
5074 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
5075 EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
5076 EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
5077 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
5078 EntityKey::Person(i) => Ok(Self::Person(i)),
5079 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
5080 EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
5081 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
5082 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
5083 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
5084 EntityKey::Product(i) => Ok(Self::Product(i)),
5085 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
5086 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
5087 EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
5088 EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
5089 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
5090 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
5091 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
5092 }
5093 EntityKey::ProductDefinitionRelationship(i) => {
5094 Ok(Self::ProductDefinitionRelationship(i))
5095 }
5096 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
5097 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
5098 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
5099 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
5100 }
5101 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
5102 EntityKey::PropertyDefinitionRepresentation(i) => {
5103 Ok(Self::PropertyDefinitionRepresentation(i))
5104 }
5105 EntityKey::Representation(i) => Ok(Self::Representation(i)),
5106 EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
5107 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
5108 EntityKey::SecurityClassificationLevel(i) => Ok(Self::SecurityClassificationLevel(i)),
5109 EntityKey::ShapeDefinitionRepresentation(i) => {
5110 Ok(Self::ShapeDefinitionRepresentation(i))
5111 }
5112 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
5113 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
5114 EntityKey::ShapeRepresentationWithParameters(i) => {
5115 Ok(Self::ShapeRepresentationWithParameters(i))
5116 }
5117 EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
5118 EntityKey::StateType(i) => Ok(Self::StateType(i)),
5119 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
5120 EntityKey::TessellatedShapeRepresentation(i) => {
5121 Ok(Self::TessellatedShapeRepresentation(i))
5122 }
5123 EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
5124 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5125 other => Err(format!("expected DateAndTimeItemRef target, got {other:?}")),
5126 }
5127 }
5128}
5129
5130#[derive(Debug, Clone, PartialEq)]
5131pub enum DateAndTimeRef {
5132 DateAndTime(DateAndTimeId),
5133 Complex(ComplexUnitId),
5134}
5135impl DateAndTimeRef {
5136 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5137 match a {
5138 EntityKey::DateAndTime(i) => Ok(Self::DateAndTime(i)),
5139 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5140 other => Err(format!("expected DateAndTimeRef target, got {other:?}")),
5141 }
5142 }
5143}
5144
5145#[derive(Debug, Clone, PartialEq)]
5146pub enum DateRef {
5147 CalendarDate(CalendarDateId),
5148 Date(DateId),
5149 Complex(ComplexUnitId),
5150}
5151impl DateRef {
5152 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5153 match a {
5154 EntityKey::CalendarDate(i) => Ok(Self::CalendarDate(i)),
5155 EntityKey::Date(i) => Ok(Self::Date(i)),
5156 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5157 other => Err(format!("expected DateRef target, got {other:?}")),
5158 }
5159 }
5160}
5161
5162#[derive(Debug, Clone, PartialEq)]
5163pub enum DateTimeItemRef {
5164 ApprovalPersonOrganization(ApprovalPersonOrganizationId),
5165 Certification(CertificationId),
5166 Change(ChangeId),
5167 ChangeRequest(ChangeRequestId),
5168 Contract(ContractId),
5169 ProductDefinition(ProductDefinitionId),
5170 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
5171 SecurityClassification(SecurityClassificationId),
5172 StartRequest(StartRequestId),
5173 StartWork(StartWorkId),
5174 Complex(ComplexUnitId),
5175}
5176impl DateTimeItemRef {
5177 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5178 match a {
5179 EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
5180 EntityKey::Certification(i) => Ok(Self::Certification(i)),
5181 EntityKey::Change(i) => Ok(Self::Change(i)),
5182 EntityKey::ChangeRequest(i) => Ok(Self::ChangeRequest(i)),
5183 EntityKey::Contract(i) => Ok(Self::Contract(i)),
5184 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
5185 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
5186 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
5187 }
5188 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
5189 EntityKey::StartRequest(i) => Ok(Self::StartRequest(i)),
5190 EntityKey::StartWork(i) => Ok(Self::StartWork(i)),
5191 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5192 other => Err(format!("expected DateTimeItemRef target, got {other:?}")),
5193 }
5194 }
5195}
5196
5197#[derive(Debug, Clone, PartialEq)]
5198pub enum DateTimeRoleRef {
5199 DateTimeRole(DateTimeRoleId),
5200}
5201impl DateTimeRoleRef {
5202 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5203 match a {
5204 EntityKey::DateTimeRole(i) => Ok(Self::DateTimeRole(i)),
5205 other => Err(format!("expected DateTimeRoleRef target, got {other:?}")),
5206 }
5207 }
5208}
5209
5210#[derive(Debug, Clone, PartialEq)]
5211pub enum DateTimeSelectRef {
5212 CalendarDate(CalendarDateId),
5213 Date(DateId),
5214 DateAndTime(DateAndTimeId),
5215 LocalTime(LocalTimeId),
5216 Complex(ComplexUnitId),
5217}
5218impl DateTimeSelectRef {
5219 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5220 match a {
5221 EntityKey::CalendarDate(i) => Ok(Self::CalendarDate(i)),
5222 EntityKey::Date(i) => Ok(Self::Date(i)),
5223 EntityKey::DateAndTime(i) => Ok(Self::DateAndTime(i)),
5224 EntityKey::LocalTime(i) => Ok(Self::LocalTime(i)),
5225 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5226 other => Err(format!("expected DateTimeSelectRef target, got {other:?}")),
5227 }
5228 }
5229}
5230
5231#[derive(Debug, Clone, PartialEq)]
5232pub enum DatumOrCommonDatumRef {
5233 CommonDatum(CommonDatumId),
5234 Datum(DatumId),
5235 DatumReferenceElement(DatumReferenceElementId),
5236 CommonDatumList(Vec<DatumReferenceElementRef>),
5237 Complex(ComplexUnitId),
5238}
5239impl DatumOrCommonDatumRef {
5240 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5241 match a {
5242 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
5243 EntityKey::Datum(i) => Ok(Self::Datum(i)),
5244 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
5245 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5246 other => Err(format!(
5247 "expected DatumOrCommonDatumRef target, got {other:?}"
5248 )),
5249 }
5250 }
5251}
5252
5253#[derive(Debug, Clone, PartialEq)]
5254pub enum DatumRef {
5255 CommonDatum(CommonDatumId),
5256 Datum(DatumId),
5257 Complex(ComplexUnitId),
5258}
5259impl DatumRef {
5260 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5261 match a {
5262 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
5263 EntityKey::Datum(i) => Ok(Self::Datum(i)),
5264 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5265 other => Err(format!("expected DatumRef target, got {other:?}")),
5266 }
5267 }
5268}
5269
5270#[derive(Debug, Clone, PartialEq)]
5271pub enum DatumReferenceCompartmentRef {
5272 DatumReferenceCompartment(DatumReferenceCompartmentId),
5273}
5274impl DatumReferenceCompartmentRef {
5275 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5276 match a {
5277 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
5278 other => Err(format!(
5279 "expected DatumReferenceCompartmentRef target, got {other:?}"
5280 )),
5281 }
5282 }
5283}
5284
5285#[derive(Debug, Clone, PartialEq)]
5286pub enum DatumReferenceElementRef {
5287 DatumReferenceElement(DatumReferenceElementId),
5288}
5289impl DatumReferenceElementRef {
5290 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5291 match a {
5292 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
5293 other => Err(format!(
5294 "expected DatumReferenceElementRef target, got {other:?}"
5295 )),
5296 }
5297 }
5298}
5299
5300#[derive(Debug, Clone, PartialEq)]
5301pub enum DatumReferenceModifierRef {
5302 DatumReferenceModifierWithValue(DatumReferenceModifierWithValueId),
5303 SimpleDatumReferenceModifier(SimpleDatumReferenceModifier),
5304}
5305impl DatumReferenceModifierRef {
5306 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5307 match a {
5308 EntityKey::DatumReferenceModifierWithValue(i) => {
5309 Ok(Self::DatumReferenceModifierWithValue(i))
5310 }
5311 other => Err(format!(
5312 "expected DatumReferenceModifierRef target, got {other:?}"
5313 )),
5314 }
5315 }
5316}
5317
5318#[derive(Debug, Clone, PartialEq)]
5319pub enum DatumSystemOrReferenceRef {
5320 DatumReference(DatumReferenceId),
5321 DatumSystem(DatumSystemId),
5322 Complex(ComplexUnitId),
5323}
5324impl DatumSystemOrReferenceRef {
5325 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5326 match a {
5327 EntityKey::DatumReference(i) => Ok(Self::DatumReference(i)),
5328 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
5329 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5330 other => Err(format!(
5331 "expected DatumSystemOrReferenceRef target, got {other:?}"
5332 )),
5333 }
5334 }
5335}
5336
5337#[derive(Debug, Clone, PartialEq)]
5338pub enum DatumSystemRef {
5339 DatumSystem(DatumSystemId),
5340 Complex(ComplexUnitId),
5341}
5342impl DatumSystemRef {
5343 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5344 match a {
5345 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
5346 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5347 other => Err(format!("expected DatumSystemRef target, got {other:?}")),
5348 }
5349 }
5350}
5351
5352#[derive(Debug, Clone, PartialEq)]
5353pub enum DefinedGlyphSelectRef {
5354 ExternallyDefinedCharacterGlyph(ExternallyDefinedCharacterGlyphId),
5355 PreDefinedCharacterGlyph(PreDefinedCharacterGlyphId),
5356 Complex(ComplexUnitId),
5357}
5358impl DefinedGlyphSelectRef {
5359 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5360 match a {
5361 EntityKey::ExternallyDefinedCharacterGlyph(i) => {
5362 Ok(Self::ExternallyDefinedCharacterGlyph(i))
5363 }
5364 EntityKey::PreDefinedCharacterGlyph(i) => Ok(Self::PreDefinedCharacterGlyph(i)),
5365 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5366 other => Err(format!(
5367 "expected DefinedGlyphSelectRef target, got {other:?}"
5368 )),
5369 }
5370 }
5371}
5372
5373#[derive(Debug, Clone, PartialEq)]
5374pub enum DefinedSymbolSelectRef {
5375 ExternallyDefinedSymbol(ExternallyDefinedSymbolId),
5376 PreDefinedPointMarkerSymbol(PreDefinedPointMarkerSymbolId),
5377 PreDefinedSymbol(PreDefinedSymbolId),
5378 PreDefinedTerminatorSymbol(PreDefinedTerminatorSymbolId),
5379 Complex(ComplexUnitId),
5380}
5381impl DefinedSymbolSelectRef {
5382 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5383 match a {
5384 EntityKey::ExternallyDefinedSymbol(i) => Ok(Self::ExternallyDefinedSymbol(i)),
5385 EntityKey::PreDefinedPointMarkerSymbol(i) => Ok(Self::PreDefinedPointMarkerSymbol(i)),
5386 EntityKey::PreDefinedSymbol(i) => Ok(Self::PreDefinedSymbol(i)),
5387 EntityKey::PreDefinedTerminatorSymbol(i) => Ok(Self::PreDefinedTerminatorSymbol(i)),
5388 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5389 other => Err(format!(
5390 "expected DefinedSymbolSelectRef target, got {other:?}"
5391 )),
5392 }
5393 }
5394}
5395
5396#[derive(Debug, Clone, PartialEq)]
5397pub enum DefinitionalRepresentationRef {
5398 DefinitionalRepresentation(DefinitionalRepresentationId),
5399 Complex(ComplexUnitId),
5400}
5401impl DefinitionalRepresentationRef {
5402 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5403 match a {
5404 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
5405 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5406 other => Err(format!(
5407 "expected DefinitionalRepresentationRef target, got {other:?}"
5408 )),
5409 }
5410 }
5411}
5412
5413#[derive(Debug, Clone, PartialEq)]
5414pub enum DerivedPropertySelectRef {
5415 ActionProperty(ActionPropertyId),
5416 AngularLocation(AngularLocationId),
5417 AngularSize(AngularSizeId),
5418 AngularityTolerance(AngularityToleranceId),
5419 CircularRunoutTolerance(CircularRunoutToleranceId),
5420 CoaxialityTolerance(CoaxialityToleranceId),
5421 ConcentricityTolerance(ConcentricityToleranceId),
5422 CylindricityTolerance(CylindricityToleranceId),
5423 DimensionalLocation(DimensionalLocationId),
5424 DimensionalLocationWithPath(DimensionalLocationWithPathId),
5425 DimensionalSize(DimensionalSizeId),
5426 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
5427 DimensionalSizeWithPath(DimensionalSizeWithPathId),
5428 DirectedDimensionalLocation(DirectedDimensionalLocationId),
5429 FlatnessTolerance(FlatnessToleranceId),
5430 GeometricTolerance(GeometricToleranceId),
5431 GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
5432 GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
5433 GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
5434 GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
5435 GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
5436 LineProfileTolerance(LineProfileToleranceId),
5437 ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
5438 ParallelismTolerance(ParallelismToleranceId),
5439 PerpendicularityTolerance(PerpendicularityToleranceId),
5440 PositionTolerance(PositionToleranceId),
5441 ProductDefinitionShape(ProductDefinitionShapeId),
5442 PropertyDefinition(PropertyDefinitionId),
5443 ResourceProperty(ResourcePropertyId),
5444 RoundnessTolerance(RoundnessToleranceId),
5445 StraightnessTolerance(StraightnessToleranceId),
5446 SurfaceProfileTolerance(SurfaceProfileToleranceId),
5447 SymmetryTolerance(SymmetryToleranceId),
5448 TotalRunoutTolerance(TotalRunoutToleranceId),
5449 UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
5450 Complex(ComplexUnitId),
5451}
5452impl DerivedPropertySelectRef {
5453 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5454 match a {
5455 EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
5456 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
5457 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
5458 EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
5459 EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
5460 EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
5461 EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
5462 EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
5463 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
5464 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
5465 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
5466 EntityKey::DimensionalSizeWithDatumFeature(i) => {
5467 Ok(Self::DimensionalSizeWithDatumFeature(i))
5468 }
5469 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
5470 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
5471 EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
5472 EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
5473 EntityKey::GeometricToleranceWithDatumReference(i) => {
5474 Ok(Self::GeometricToleranceWithDatumReference(i))
5475 }
5476 EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
5477 Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
5478 }
5479 EntityKey::GeometricToleranceWithDefinedUnit(i) => {
5480 Ok(Self::GeometricToleranceWithDefinedUnit(i))
5481 }
5482 EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
5483 Ok(Self::GeometricToleranceWithMaximumTolerance(i))
5484 }
5485 EntityKey::GeometricToleranceWithModifiers(i) => {
5486 Ok(Self::GeometricToleranceWithModifiers(i))
5487 }
5488 EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
5489 EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
5490 EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
5491 EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
5492 EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
5493 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
5494 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
5495 EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
5496 EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
5497 EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
5498 EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
5499 EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
5500 EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
5501 EntityKey::UnequallyDisposedGeometricTolerance(i) => {
5502 Ok(Self::UnequallyDisposedGeometricTolerance(i))
5503 }
5504 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5505 other => Err(format!(
5506 "expected DerivedPropertySelectRef target, got {other:?}"
5507 )),
5508 }
5509 }
5510}
5511
5512#[derive(Debug, Clone, PartialEq)]
5513pub enum DerivedUnitElementRef {
5514 DerivedUnitElement(DerivedUnitElementId),
5515}
5516impl DerivedUnitElementRef {
5517 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5518 match a {
5519 EntityKey::DerivedUnitElement(i) => Ok(Self::DerivedUnitElement(i)),
5520 other => Err(format!(
5521 "expected DerivedUnitElementRef target, got {other:?}"
5522 )),
5523 }
5524 }
5525}
5526
5527#[derive(Debug, Clone, PartialEq)]
5528pub enum DesApllPointSelectRef {
5529 ApllPoint(ApllPointId),
5530 ApllPointWithSurface(ApllPointWithSurfaceId),
5531}
5532impl DesApllPointSelectRef {
5533 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5534 match a {
5535 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
5536 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
5537 other => Err(format!(
5538 "expected DesApllPointSelectRef target, got {other:?}"
5539 )),
5540 }
5541 }
5542}
5543
5544#[derive(Debug, Clone, PartialEq)]
5545pub enum DescriptionAttributeSelectRef {
5546 ActionRequestSolution(ActionRequestSolutionId),
5547 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
5548 ApplicationContext(ApplicationContextId),
5549 ApprovalRole(ApprovalRoleId),
5550 CharacterizedRepresentation(CharacterizedRepresentationId),
5551 ConfigurationDesign(ConfigurationDesignId),
5552 ConfigurationEffectivity(ConfigurationEffectivityId),
5553 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
5554 ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
5555 DateRole(DateRoleId),
5556 DateTimeRole(DateTimeRoleId),
5557 DefinitionalRepresentation(DefinitionalRepresentationId),
5558 DraughtingModel(DraughtingModelId),
5559 Effectivity(EffectivityId),
5560 ExternalSource(ExternalSourceId),
5561 GeometricallyBoundedSurfaceShapeRepresentation(
5562 GeometricallyBoundedSurfaceShapeRepresentationId,
5563 ),
5564 GeometricallyBoundedWireframeShapeRepresentation(
5565 GeometricallyBoundedWireframeShapeRepresentationId,
5566 ),
5567 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
5568 MechanicalDesignGeometricPresentationRepresentation(
5569 MechanicalDesignGeometricPresentationRepresentationId,
5570 ),
5571 MechanicalDesignPresentationRepresentationWithDraughting(
5572 MechanicalDesignPresentationRepresentationWithDraughtingId,
5573 ),
5574 MechanicalDesignShadedPresentationRepresentation(
5575 MechanicalDesignShadedPresentationRepresentationId,
5576 ),
5577 OrganizationRole(OrganizationRoleId),
5578 OrganizationalProject(OrganizationalProjectId),
5579 PersonAndOrganization(PersonAndOrganizationId),
5580 PersonAndOrganizationRole(PersonAndOrganizationRoleId),
5581 PresentationArea(PresentationAreaId),
5582 PresentationRepresentation(PresentationRepresentationId),
5583 PresentationView(PresentationViewId),
5584 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
5585 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
5586 Representation(RepresentationId),
5587 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
5588 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
5589 ShapeRepresentation(ShapeRepresentationId),
5590 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
5591 SymbolRepresentation(SymbolRepresentationId),
5592 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
5593 Complex(ComplexUnitId),
5594}
5595impl DescriptionAttributeSelectRef {
5596 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5597 match a {
5598 EntityKey::ActionRequestSolution(i) => Ok(Self::ActionRequestSolution(i)),
5599 EntityKey::AdvancedBrepShapeRepresentation(i) => {
5600 Ok(Self::AdvancedBrepShapeRepresentation(i))
5601 }
5602 EntityKey::ApplicationContext(i) => Ok(Self::ApplicationContext(i)),
5603 EntityKey::ApprovalRole(i) => Ok(Self::ApprovalRole(i)),
5604 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
5605 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
5606 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
5607 EntityKey::ConstructiveGeometryRepresentation(i) => {
5608 Ok(Self::ConstructiveGeometryRepresentation(i))
5609 }
5610 EntityKey::ContextDependentShapeRepresentation(i) => {
5611 Ok(Self::ContextDependentShapeRepresentation(i))
5612 }
5613 EntityKey::DateRole(i) => Ok(Self::DateRole(i)),
5614 EntityKey::DateTimeRole(i) => Ok(Self::DateTimeRole(i)),
5615 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
5616 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
5617 EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
5618 EntityKey::ExternalSource(i) => Ok(Self::ExternalSource(i)),
5619 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
5620 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
5621 }
5622 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
5623 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
5624 }
5625 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
5626 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
5627 }
5628 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
5629 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
5630 }
5631 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
5632 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
5633 }
5634 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
5635 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
5636 }
5637 EntityKey::OrganizationRole(i) => Ok(Self::OrganizationRole(i)),
5638 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
5639 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
5640 EntityKey::PersonAndOrganizationRole(i) => Ok(Self::PersonAndOrganizationRole(i)),
5641 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
5642 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
5643 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
5644 EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
5645 EntityKey::PropertyDefinitionRepresentation(i) => {
5646 Ok(Self::PropertyDefinitionRepresentation(i))
5647 }
5648 EntityKey::Representation(i) => Ok(Self::Representation(i)),
5649 EntityKey::ShapeDefinitionRepresentation(i) => {
5650 Ok(Self::ShapeDefinitionRepresentation(i))
5651 }
5652 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
5653 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
5654 EntityKey::ShapeRepresentationWithParameters(i) => {
5655 Ok(Self::ShapeRepresentationWithParameters(i))
5656 }
5657 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
5658 EntityKey::TessellatedShapeRepresentation(i) => {
5659 Ok(Self::TessellatedShapeRepresentation(i))
5660 }
5661 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5662 other => Err(format!(
5663 "expected DescriptionAttributeSelectRef target, got {other:?}"
5664 )),
5665 }
5666 }
5667}
5668
5669#[derive(Debug, Clone, PartialEq)]
5670pub enum DimensionalCharacteristicRef {
5671 AngularLocation(AngularLocationId),
5672 AngularSize(AngularSizeId),
5673 DimensionalLocation(DimensionalLocationId),
5674 DimensionalLocationWithPath(DimensionalLocationWithPathId),
5675 DimensionalSize(DimensionalSizeId),
5676 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
5677 DimensionalSizeWithPath(DimensionalSizeWithPathId),
5678 DirectedDimensionalLocation(DirectedDimensionalLocationId),
5679 Complex(ComplexUnitId),
5680}
5681impl DimensionalCharacteristicRef {
5682 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5683 match a {
5684 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
5685 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
5686 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
5687 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
5688 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
5689 EntityKey::DimensionalSizeWithDatumFeature(i) => {
5690 Ok(Self::DimensionalSizeWithDatumFeature(i))
5691 }
5692 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
5693 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
5694 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5695 other => Err(format!(
5696 "expected DimensionalCharacteristicRef target, got {other:?}"
5697 )),
5698 }
5699 }
5700}
5701
5702#[derive(Debug, Clone, PartialEq)]
5703pub enum DimensionalExponentsRef {
5704 DimensionalExponents(DimensionalExponentsId),
5705}
5706impl DimensionalExponentsRef {
5707 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5708 match a {
5709 EntityKey::DimensionalExponents(i) => Ok(Self::DimensionalExponents(i)),
5710 other => Err(format!(
5711 "expected DimensionalExponentsRef target, got {other:?}"
5712 )),
5713 }
5714 }
5715}
5716
5717#[derive(Debug, Clone, PartialEq)]
5718pub enum DirectionRef {
5719 Direction(DirectionId),
5720 Complex(ComplexUnitId),
5721}
5722impl DirectionRef {
5723 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5724 match a {
5725 EntityKey::Direction(i) => Ok(Self::Direction(i)),
5726 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5727 other => Err(format!("expected DirectionRef target, got {other:?}")),
5728 }
5729 }
5730}
5731
5732#[derive(Debug, Clone, PartialEq)]
5733pub enum DocumentRef {
5734 Document(DocumentId),
5735 DocumentFile(DocumentFileId),
5736 Complex(ComplexUnitId),
5737}
5738impl DocumentRef {
5739 pub fn from_any(a: EntityKey) -> Result<Self, String> {
5740 match a {
5741 EntityKey::Document(i) => Ok(Self::Document(i)),
5742 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
5743 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
5744 other => Err(format!("expected DocumentRef target, got {other:?}")),
5745 }
5746 }
5747}
5748
5749#[derive(Debug, Clone, PartialEq)]
5750pub enum DocumentReferenceItemRef {
5751 ActionDirective(ActionDirectiveId),
5752 ActionMethod(ActionMethodId),
5753 ActionMethodRelationship(ActionMethodRelationshipId),
5754 ActionProperty(ActionPropertyId),
5755 ActionRelationship(ActionRelationshipId),
5756 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
5757 AdvancedFace(AdvancedFaceId),
5758 AllAroundShapeAspect(AllAroundShapeAspectId),
5759 AngularLocation(AngularLocationId),
5760 AngularSize(AngularSizeId),
5761 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
5762 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
5763 AnnotationOccurrence(AnnotationOccurrenceId),
5764 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
5765 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
5766 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
5767 AnnotationPlane(AnnotationPlaneId),
5768 AnnotationSymbol(AnnotationSymbolId),
5769 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
5770 AnnotationText(AnnotationTextId),
5771 AnnotationTextCharacter(AnnotationTextCharacterId),
5772 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
5773 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
5774 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
5775 ApllPoint(ApllPointId),
5776 ApllPointWithSurface(ApllPointWithSurfaceId),
5777 AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
5778 AppliedDocumentReference(AppliedDocumentReferenceId),
5779 AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
5780 Approval(ApprovalId),
5781 ApprovalPersonOrganization(ApprovalPersonOrganizationId),
5782 AssemblyComponentUsage(AssemblyComponentUsageId),
5783 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
5784 Axis1Placement(Axis1PlacementId),
5785 Axis2Placement2d(Axis2Placement2dId),
5786 Axis2Placement3d(Axis2Placement3dId),
5787 BSplineCurve(BSplineCurveId),
5788 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
5789 BSplineSurface(BSplineSurfaceId),
5790 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
5791 BezierCurve(BezierCurveId),
5792 BezierSurface(BezierSurfaceId),
5793 BoundedCurve(BoundedCurveId),
5794 BoundedPcurve(BoundedPcurveId),
5795 BoundedSurface(BoundedSurfaceId),
5796 BoundedSurfaceCurve(BoundedSurfaceCurveId),
5797 BrepWithVoids(BrepWithVoidsId),
5798 CameraImage(CameraImageId),
5799 CameraImage3dWithScale(CameraImage3dWithScaleId),
5800 CameraModel(CameraModelId),
5801 CameraModelD3(CameraModelD3Id),
5802 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
5803 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
5804 CartesianPoint(CartesianPointId),
5805 CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
5806 CentreOfSymmetry(CentreOfSymmetryId),
5807 Certification(CertificationId),
5808 CharacterizedItemWithinRepresentation(CharacterizedItemWithinRepresentationId),
5809 CharacterizedObject(CharacterizedObjectId),
5810 CharacterizedRepresentation(CharacterizedRepresentationId),
5811 Circle(CircleId),
5812 ClosedShell(ClosedShellId),
5813 CommonDatum(CommonDatumId),
5814 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
5815 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
5816 CompositeCurve(CompositeCurveId),
5817 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
5818 CompositeShapeAspect(CompositeShapeAspectId),
5819 CompositeText(CompositeTextId),
5820 CompoundRepresentationItem(CompoundRepresentationItemId),
5821 ConfigurationDesign(ConfigurationDesignId),
5822 ConfigurationEffectivity(ConfigurationEffectivityId),
5823 ConfigurationItem(ConfigurationItemId),
5824 Conic(ConicId),
5825 ConicalSurface(ConicalSurfaceId),
5826 ConnectedFaceSet(ConnectedFaceSetId),
5827 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
5828 ConstructiveGeometryRepresentationRelationship(
5829 ConstructiveGeometryRepresentationRelationshipId,
5830 ),
5831 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
5832 ContinuousShapeAspect(ContinuousShapeAspectId),
5833 Contract(ContractId),
5834 CoordinatesList(CoordinatesListId),
5835 Curve(CurveId),
5836 CylindricalSurface(CylindricalSurfaceId),
5837 DateAndTimeAssignment(DateAndTimeAssignmentId),
5838 Datum(DatumId),
5839 DatumFeature(DatumFeatureId),
5840 DatumReferenceCompartment(DatumReferenceCompartmentId),
5841 DatumReferenceElement(DatumReferenceElementId),
5842 DatumSystem(DatumSystemId),
5843 DatumTarget(DatumTargetId),
5844 DefaultModelGeometricView(DefaultModelGeometricViewId),
5845 DefinedCharacterGlyph(DefinedCharacterGlyphId),
5846 DefinedSymbol(DefinedSymbolId),
5847 DefinitionalRepresentation(DefinitionalRepresentationId),
5848 DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
5849 DefinitionalRepresentationRelationshipWithSameContext(
5850 DefinitionalRepresentationRelationshipWithSameContextId,
5851 ),
5852 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
5853 DerivedShapeAspect(DerivedShapeAspectId),
5854 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
5855 DesignContext(DesignContextId),
5856 DimensionalLocation(DimensionalLocationId),
5857 DimensionalLocationWithPath(DimensionalLocationWithPathId),
5858 DimensionalSize(DimensionalSizeId),
5859 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
5860 DimensionalSizeWithPath(DimensionalSizeWithPathId),
5861 DirectedDimensionalLocation(DirectedDimensionalLocationId),
5862 Direction(DirectionId),
5863 DocumentFile(DocumentFileId),
5864 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
5865 DraughtingCallout(DraughtingCalloutId),
5866 DraughtingModel(DraughtingModelId),
5867 Edge(EdgeId),
5868 EdgeCurve(EdgeCurveId),
5869 EdgeLoop(EdgeLoopId),
5870 Effectivity(EffectivityId),
5871 ElementarySurface(ElementarySurfaceId),
5872 Ellipse(EllipseId),
5873 ExternallyDefinedCharacterGlyph(ExternallyDefinedCharacterGlyphId),
5874 ExternallyDefinedCurveFont(ExternallyDefinedCurveFontId),
5875 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
5876 ExternallyDefinedItem(ExternallyDefinedItemId),
5877 ExternallyDefinedStyle(ExternallyDefinedStyleId),
5878 ExternallyDefinedSymbol(ExternallyDefinedSymbolId),
5879 ExternallyDefinedTextFont(ExternallyDefinedTextFontId),
5880 ExternallyDefinedTile(ExternallyDefinedTileId),
5881 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
5882 Face(FaceId),
5883 FaceBound(FaceBoundId),
5884 FaceOuterBound(FaceOuterBoundId),
5885 FaceSurface(FaceSurfaceId),
5886 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
5887 FillAreaStyleHatching(FillAreaStyleHatchingId),
5888 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
5889 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
5890 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
5891 FillAreaStyleTiles(FillAreaStyleTilesId),
5892 GeneralDatumReference(GeneralDatumReferenceId),
5893 GeneralProperty(GeneralPropertyId),
5894 GeometricCurveSet(GeometricCurveSetId),
5895 GeometricRepresentationItem(GeometricRepresentationItemId),
5896 GeometricSet(GeometricSetId),
5897 GeometricallyBoundedSurfaceShapeRepresentation(
5898 GeometricallyBoundedSurfaceShapeRepresentationId,
5899 ),
5900 GeometricallyBoundedWireframeShapeRepresentation(
5901 GeometricallyBoundedWireframeShapeRepresentationId,
5902 ),
5903 Group(GroupId),
5904 Hyperbola(HyperbolaId),
5905 IntegerRepresentationItem(IntegerRepresentationItemId),
5906 IntersectionCurve(IntersectionCurveId),
5907 LeaderCurve(LeaderCurveId),
5908 LeaderDirectedCallout(LeaderDirectedCalloutId),
5909 LeaderTerminator(LeaderTerminatorId),
5910 Line(LineId),
5911 Loop(LoopId),
5912 MakeFromUsageOption(MakeFromUsageOptionId),
5913 ManifoldSolidBrep(ManifoldSolidBrepId),
5914 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
5915 MappedItem(MappedItemId),
5916 MeasureRepresentationItem(MeasureRepresentationItemId),
5917 MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
5918 MechanicalDesignGeometricPresentationRepresentation(
5919 MechanicalDesignGeometricPresentationRepresentationId,
5920 ),
5921 MechanicalDesignPresentationRepresentationWithDraughting(
5922 MechanicalDesignPresentationRepresentationWithDraughtingId,
5923 ),
5924 MechanicalDesignShadedPresentationRepresentation(
5925 MechanicalDesignShadedPresentationRepresentationId,
5926 ),
5927 ModelGeometricView(ModelGeometricViewId),
5928 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
5929 OffsetSurface(OffsetSurfaceId),
5930 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
5931 OpenShell(OpenShellId),
5932 Organization(OrganizationId),
5933 OrganizationRelationship(OrganizationRelationshipId),
5934 OrganizationalAddress(OrganizationalAddressId),
5935 OrganizationalProject(OrganizationalProjectId),
5936 OrganizationalProjectRelationship(OrganizationalProjectRelationshipId),
5937 OrientedClosedShell(OrientedClosedShellId),
5938 OrientedEdge(OrientedEdgeId),
5939 OverRidingStyledItem(OverRidingStyledItemId),
5940 Path(PathId),
5941 Pcurve(PcurveId),
5942 Person(PersonId),
5943 PersonAndOrganization(PersonAndOrganizationId),
5944 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
5945 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
5946 Placement(PlacementId),
5947 PlanarBox(PlanarBoxId),
5948 PlanarExtent(PlanarExtentId),
5949 Plane(PlaneId),
5950 Point(PointId),
5951 PolyLoop(PolyLoopId),
5952 Polyline(PolylineId),
5953 PresentationArea(PresentationAreaId),
5954 PresentationRepresentation(PresentationRepresentationId),
5955 PresentationView(PresentationViewId),
5956 Product(ProductId),
5957 ProductCategory(ProductCategoryId),
5958 ProductConcept(ProductConceptId),
5959 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
5960 ProductDefinition(ProductDefinitionId),
5961 ProductDefinitionContext(ProductDefinitionContextId),
5962 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
5963 ProductDefinitionFormation(ProductDefinitionFormationId),
5964 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
5965 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
5966 ProductDefinitionShape(ProductDefinitionShapeId),
5967 ProductDefinitionUsage(ProductDefinitionUsageId),
5968 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
5969 ProductRelatedProductCategory(ProductRelatedProductCategoryId),
5970 PropertyDefinition(PropertyDefinitionId),
5971 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
5972 QualifiedRepresentationItem(QualifiedRepresentationItemId),
5973 QuasiUniformCurve(QuasiUniformCurveId),
5974 QuasiUniformSurface(QuasiUniformSurfaceId),
5975 RationalBSplineCurve(RationalBSplineCurveId),
5976 RationalBSplineSurface(RationalBSplineSurfaceId),
5977 RealRepresentationItem(RealRepresentationItemId),
5978 RepositionedTessellatedItem(RepositionedTessellatedItemId),
5979 Representation(RepresentationId),
5980 RepresentationItem(RepresentationItemId),
5981 RepresentationRelationship(RepresentationRelationshipId),
5982 RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
5983 ResourceRequirementType(ResourceRequirementTypeId),
5984 SeamCurve(SeamCurveId),
5985 SecurityClassification(SecurityClassificationId),
5986 ShapeAspect(ShapeAspectId),
5987 ShapeAspectAssociativity(ShapeAspectAssociativityId),
5988 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
5989 ShapeAspectRelationship(ShapeAspectRelationshipId),
5990 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
5991 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
5992 ShapeRepresentation(ShapeRepresentationId),
5993 ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
5994 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
5995 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
5996 SolidModel(SolidModelId),
5997 SphericalSurface(SphericalSurfaceId),
5998 StateObserved(StateObservedId),
5999 StateType(StateTypeId),
6000 StyledItem(StyledItemId),
6001 Surface(SurfaceId),
6002 SurfaceCurve(SurfaceCurveId),
6003 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
6004 SurfaceOfRevolution(SurfaceOfRevolutionId),
6005 SweptSurface(SweptSurfaceId),
6006 SymbolRepresentation(SymbolRepresentationId),
6007 SymbolTarget(SymbolTargetId),
6008 TerminatorSymbol(TerminatorSymbolId),
6009 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
6010 TessellatedCurveSet(TessellatedCurveSetId),
6011 TessellatedFace(TessellatedFaceId),
6012 TessellatedGeometricSet(TessellatedGeometricSetId),
6013 TessellatedItem(TessellatedItemId),
6014 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
6015 TessellatedShell(TessellatedShellId),
6016 TessellatedSolid(TessellatedSolidId),
6017 TessellatedStructuredItem(TessellatedStructuredItemId),
6018 TessellatedSurfaceSet(TessellatedSurfaceSetId),
6019 TextLiteral(TextLiteralId),
6020 ToleranceZone(ToleranceZoneId),
6021 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
6022 TopologicalRepresentationItem(TopologicalRepresentationItemId),
6023 ToroidalSurface(ToroidalSurfaceId),
6024 TrimmedCurve(TrimmedCurveId),
6025 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
6026 UniformCurve(UniformCurveId),
6027 UniformSurface(UniformSurfaceId),
6028 ValueRepresentationItem(ValueRepresentationItemId),
6029 Vector(VectorId),
6030 VersionedActionRequest(VersionedActionRequestId),
6031 Vertex(VertexId),
6032 VertexLoop(VertexLoopId),
6033 VertexPoint(VertexPointId),
6034 VertexShell(VertexShellId),
6035 WireShell(WireShellId),
6036 Complex(ComplexUnitId),
6037}
6038impl DocumentReferenceItemRef {
6039 pub fn from_any(a: EntityKey) -> Result<Self, String> {
6040 match a {
6041 EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
6042 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
6043 EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
6044 EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
6045 EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
6046 EntityKey::AdvancedBrepShapeRepresentation(i) => {
6047 Ok(Self::AdvancedBrepShapeRepresentation(i))
6048 }
6049 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
6050 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
6051 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
6052 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
6053 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
6054 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
6055 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
6056 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
6057 Ok(Self::AnnotationPlaceholderLeaderLine(i))
6058 }
6059 EntityKey::AnnotationPlaceholderOccurrence(i) => {
6060 Ok(Self::AnnotationPlaceholderOccurrence(i))
6061 }
6062 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
6063 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
6064 }
6065 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
6066 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
6067 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
6068 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
6069 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
6070 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
6071 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
6072 Ok(Self::AnnotationToAnnotationLeaderLine(i))
6073 }
6074 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
6075 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
6076 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
6077 EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
6078 EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
6079 EntityKey::AppliedExternalIdentificationAssignment(i) => {
6080 Ok(Self::AppliedExternalIdentificationAssignment(i))
6081 }
6082 EntityKey::Approval(i) => Ok(Self::Approval(i)),
6083 EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
6084 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
6085 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
6086 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
6087 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
6088 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
6089 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
6090 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
6091 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
6092 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
6093 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
6094 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
6095 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
6096 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
6097 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
6098 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
6099 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
6100 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
6101 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
6102 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
6103 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
6104 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
6105 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
6106 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
6107 EntityKey::CcDesignDateAndTimeAssignment(i) => {
6108 Ok(Self::CcDesignDateAndTimeAssignment(i))
6109 }
6110 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
6111 EntityKey::Certification(i) => Ok(Self::Certification(i)),
6112 EntityKey::CharacterizedItemWithinRepresentation(i) => {
6113 Ok(Self::CharacterizedItemWithinRepresentation(i))
6114 }
6115 EntityKey::CharacterizedObject(i) => Ok(Self::CharacterizedObject(i)),
6116 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
6117 EntityKey::Circle(i) => Ok(Self::Circle(i)),
6118 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
6119 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
6120 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
6121 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
6122 Ok(Self::ComplexTriangulatedSurfaceSet(i))
6123 }
6124 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
6125 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
6126 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
6127 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
6128 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
6129 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
6130 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
6131 EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
6132 EntityKey::Conic(i) => Ok(Self::Conic(i)),
6133 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
6134 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
6135 EntityKey::ConstructiveGeometryRepresentation(i) => {
6136 Ok(Self::ConstructiveGeometryRepresentation(i))
6137 }
6138 EntityKey::ConstructiveGeometryRepresentationRelationship(i) => {
6139 Ok(Self::ConstructiveGeometryRepresentationRelationship(i))
6140 }
6141 EntityKey::ContextDependentOverRidingStyledItem(i) => {
6142 Ok(Self::ContextDependentOverRidingStyledItem(i))
6143 }
6144 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
6145 EntityKey::Contract(i) => Ok(Self::Contract(i)),
6146 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
6147 EntityKey::Curve(i) => Ok(Self::Curve(i)),
6148 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
6149 EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
6150 EntityKey::Datum(i) => Ok(Self::Datum(i)),
6151 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
6152 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
6153 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
6154 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
6155 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
6156 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
6157 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
6158 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
6159 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
6160 EntityKey::DefinitionalRepresentationRelationship(i) => {
6161 Ok(Self::DefinitionalRepresentationRelationship(i))
6162 }
6163 EntityKey::DefinitionalRepresentationRelationshipWithSameContext(i) => Ok(
6164 Self::DefinitionalRepresentationRelationshipWithSameContext(i),
6165 ),
6166 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
6167 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
6168 EntityKey::DescriptiveRepresentationItem(i) => {
6169 Ok(Self::DescriptiveRepresentationItem(i))
6170 }
6171 EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
6172 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
6173 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
6174 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
6175 EntityKey::DimensionalSizeWithDatumFeature(i) => {
6176 Ok(Self::DimensionalSizeWithDatumFeature(i))
6177 }
6178 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
6179 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
6180 EntityKey::Direction(i) => Ok(Self::Direction(i)),
6181 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
6182 EntityKey::DraughtingAnnotationOccurrence(i) => {
6183 Ok(Self::DraughtingAnnotationOccurrence(i))
6184 }
6185 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
6186 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
6187 EntityKey::Edge(i) => Ok(Self::Edge(i)),
6188 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
6189 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
6190 EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
6191 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
6192 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
6193 EntityKey::ExternallyDefinedCharacterGlyph(i) => {
6194 Ok(Self::ExternallyDefinedCharacterGlyph(i))
6195 }
6196 EntityKey::ExternallyDefinedCurveFont(i) => Ok(Self::ExternallyDefinedCurveFont(i)),
6197 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
6198 EntityKey::ExternallyDefinedItem(i) => Ok(Self::ExternallyDefinedItem(i)),
6199 EntityKey::ExternallyDefinedStyle(i) => Ok(Self::ExternallyDefinedStyle(i)),
6200 EntityKey::ExternallyDefinedSymbol(i) => Ok(Self::ExternallyDefinedSymbol(i)),
6201 EntityKey::ExternallyDefinedTextFont(i) => Ok(Self::ExternallyDefinedTextFont(i)),
6202 EntityKey::ExternallyDefinedTile(i) => Ok(Self::ExternallyDefinedTile(i)),
6203 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
6204 EntityKey::Face(i) => Ok(Self::Face(i)),
6205 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
6206 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
6207 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
6208 EntityKey::FeatureForDatumTargetRelationship(i) => {
6209 Ok(Self::FeatureForDatumTargetRelationship(i))
6210 }
6211 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
6212 EntityKey::FillAreaStyleTileColouredRegion(i) => {
6213 Ok(Self::FillAreaStyleTileColouredRegion(i))
6214 }
6215 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
6216 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
6217 }
6218 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
6219 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
6220 }
6221 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
6222 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
6223 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
6224 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
6225 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
6226 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
6227 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
6228 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
6229 }
6230 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
6231 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
6232 }
6233 EntityKey::Group(i) => Ok(Self::Group(i)),
6234 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
6235 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
6236 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
6237 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
6238 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
6239 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
6240 EntityKey::Line(i) => Ok(Self::Line(i)),
6241 EntityKey::Loop(i) => Ok(Self::Loop(i)),
6242 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
6243 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
6244 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
6245 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
6246 }
6247 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
6248 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
6249 EntityKey::MechanicalDesignAndDraughtingRelationship(i) => {
6250 Ok(Self::MechanicalDesignAndDraughtingRelationship(i))
6251 }
6252 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
6253 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
6254 }
6255 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
6256 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
6257 }
6258 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
6259 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
6260 }
6261 EntityKey::ModelGeometricView(i) => Ok(Self::ModelGeometricView(i)),
6262 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
6263 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
6264 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
6265 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
6266 EntityKey::Organization(i) => Ok(Self::Organization(i)),
6267 EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
6268 EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
6269 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
6270 EntityKey::OrganizationalProjectRelationship(i) => {
6271 Ok(Self::OrganizationalProjectRelationship(i))
6272 }
6273 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
6274 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
6275 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
6276 EntityKey::Path(i) => Ok(Self::Path(i)),
6277 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
6278 EntityKey::Person(i) => Ok(Self::Person(i)),
6279 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
6280 EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
6281 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
6282 EntityKey::Placement(i) => Ok(Self::Placement(i)),
6283 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
6284 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
6285 EntityKey::Plane(i) => Ok(Self::Plane(i)),
6286 EntityKey::Point(i) => Ok(Self::Point(i)),
6287 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
6288 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
6289 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
6290 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
6291 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
6292 EntityKey::Product(i) => Ok(Self::Product(i)),
6293 EntityKey::ProductCategory(i) => Ok(Self::ProductCategory(i)),
6294 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
6295 EntityKey::ProductConceptFeatureCategory(i) => {
6296 Ok(Self::ProductConceptFeatureCategory(i))
6297 }
6298 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
6299 EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
6300 EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
6301 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
6302 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
6303 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
6304 }
6305 EntityKey::ProductDefinitionRelationship(i) => {
6306 Ok(Self::ProductDefinitionRelationship(i))
6307 }
6308 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
6309 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
6310 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
6311 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
6312 }
6313 EntityKey::ProductRelatedProductCategory(i) => {
6314 Ok(Self::ProductRelatedProductCategory(i))
6315 }
6316 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
6317 EntityKey::PropertyDefinitionRepresentation(i) => {
6318 Ok(Self::PropertyDefinitionRepresentation(i))
6319 }
6320 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
6321 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
6322 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
6323 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
6324 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
6325 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
6326 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
6327 EntityKey::Representation(i) => Ok(Self::Representation(i)),
6328 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
6329 EntityKey::RepresentationRelationship(i) => Ok(Self::RepresentationRelationship(i)),
6330 EntityKey::RepresentationRelationshipWithTransformation(i) => {
6331 Ok(Self::RepresentationRelationshipWithTransformation(i))
6332 }
6333 EntityKey::ResourceRequirementType(i) => Ok(Self::ResourceRequirementType(i)),
6334 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
6335 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
6336 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
6337 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
6338 EntityKey::ShapeAspectDerivingRelationship(i) => {
6339 Ok(Self::ShapeAspectDerivingRelationship(i))
6340 }
6341 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
6342 EntityKey::ShapeDefinitionRepresentation(i) => {
6343 Ok(Self::ShapeDefinitionRepresentation(i))
6344 }
6345 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
6346 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
6347 EntityKey::ShapeRepresentationRelationship(i) => {
6348 Ok(Self::ShapeRepresentationRelationship(i))
6349 }
6350 EntityKey::ShapeRepresentationWithParameters(i) => {
6351 Ok(Self::ShapeRepresentationWithParameters(i))
6352 }
6353 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
6354 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
6355 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
6356 EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
6357 EntityKey::StateType(i) => Ok(Self::StateType(i)),
6358 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
6359 EntityKey::Surface(i) => Ok(Self::Surface(i)),
6360 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
6361 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
6362 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
6363 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
6364 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
6365 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
6366 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
6367 EntityKey::TessellatedAnnotationOccurrence(i) => {
6368 Ok(Self::TessellatedAnnotationOccurrence(i))
6369 }
6370 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
6371 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
6372 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
6373 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
6374 EntityKey::TessellatedShapeRepresentation(i) => {
6375 Ok(Self::TessellatedShapeRepresentation(i))
6376 }
6377 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
6378 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
6379 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
6380 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
6381 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
6382 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
6383 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
6384 EntityKey::TopologicalRepresentationItem(i) => {
6385 Ok(Self::TopologicalRepresentationItem(i))
6386 }
6387 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
6388 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
6389 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
6390 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
6391 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
6392 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
6393 EntityKey::Vector(i) => Ok(Self::Vector(i)),
6394 EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
6395 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
6396 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
6397 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
6398 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
6399 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
6400 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
6401 other => Err(format!(
6402 "expected DocumentReferenceItemRef target, got {other:?}"
6403 )),
6404 }
6405 }
6406}
6407
6408#[derive(Debug, Clone, PartialEq)]
6409pub enum DocumentTypeRef {
6410 DocumentType(DocumentTypeId),
6411}
6412impl DocumentTypeRef {
6413 pub fn from_any(a: EntityKey) -> Result<Self, String> {
6414 match a {
6415 EntityKey::DocumentType(i) => Ok(Self::DocumentType(i)),
6416 other => Err(format!("expected DocumentTypeRef target, got {other:?}")),
6417 }
6418 }
6419}
6420
6421#[derive(Debug, Clone, PartialEq)]
6422pub enum DraughtingCalloutElementRef {
6423 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
6424 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
6425 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
6426 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
6427 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
6428 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
6429 LeaderCurve(LeaderCurveId),
6430 LeaderTerminator(LeaderTerminatorId),
6431 TerminatorSymbol(TerminatorSymbolId),
6432 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
6433 Complex(ComplexUnitId),
6434}
6435impl DraughtingCalloutElementRef {
6436 pub fn from_any(a: EntityKey) -> Result<Self, String> {
6437 match a {
6438 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
6439 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
6440 EntityKey::AnnotationPlaceholderOccurrence(i) => {
6441 Ok(Self::AnnotationPlaceholderOccurrence(i))
6442 }
6443 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
6444 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
6445 }
6446 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
6447 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
6448 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
6449 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
6450 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
6451 EntityKey::TessellatedAnnotationOccurrence(i) => {
6452 Ok(Self::TessellatedAnnotationOccurrence(i))
6453 }
6454 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
6455 other => Err(format!(
6456 "expected DraughtingCalloutElementRef target, got {other:?}"
6457 )),
6458 }
6459 }
6460}
6461
6462#[derive(Debug, Clone, PartialEq)]
6463pub enum DraughtingCalloutRef {
6464 DraughtingCallout(DraughtingCalloutId),
6465 LeaderDirectedCallout(LeaderDirectedCalloutId),
6466 Complex(ComplexUnitId),
6467}
6468impl DraughtingCalloutRef {
6469 pub fn from_any(a: EntityKey) -> Result<Self, String> {
6470 match a {
6471 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
6472 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
6473 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
6474 other => Err(format!(
6475 "expected DraughtingCalloutRef target, got {other:?}"
6476 )),
6477 }
6478 }
6479}
6480
6481#[derive(Debug, Clone, PartialEq)]
6482pub enum DraughtingModelItemAssociationSelectRef {
6483 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
6484 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
6485 AnnotationOccurrence(AnnotationOccurrenceId),
6486 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
6487 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
6488 AnnotationPlane(AnnotationPlaneId),
6489 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
6490 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
6491 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
6492 DraughtingCallout(DraughtingCalloutId),
6493 LeaderCurve(LeaderCurveId),
6494 LeaderDirectedCallout(LeaderDirectedCalloutId),
6495 LeaderTerminator(LeaderTerminatorId),
6496 TerminatorSymbol(TerminatorSymbolId),
6497 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
6498 Complex(ComplexUnitId),
6499}
6500impl DraughtingModelItemAssociationSelectRef {
6501 pub fn from_any(a: EntityKey) -> Result<Self, String> {
6502 match a {
6503 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
6504 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
6505 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
6506 EntityKey::AnnotationPlaceholderOccurrence(i) => {
6507 Ok(Self::AnnotationPlaceholderOccurrence(i))
6508 }
6509 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
6510 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
6511 }
6512 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
6513 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
6514 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
6515 EntityKey::DraughtingAnnotationOccurrence(i) => {
6516 Ok(Self::DraughtingAnnotationOccurrence(i))
6517 }
6518 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
6519 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
6520 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
6521 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
6522 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
6523 EntityKey::TessellatedAnnotationOccurrence(i) => {
6524 Ok(Self::TessellatedAnnotationOccurrence(i))
6525 }
6526 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
6527 other => Err(format!(
6528 "expected DraughtingModelItemAssociationSelectRef target, got {other:?}"
6529 )),
6530 }
6531 }
6532}
6533
6534#[derive(Debug, Clone, PartialEq)]
6535pub enum DraughtingModelItemDefinitionRef {
6536 AllAroundShapeAspect(AllAroundShapeAspectId),
6537 AngularLocation(AngularLocationId),
6538 AngularSize(AngularSizeId),
6539 AngularityTolerance(AngularityToleranceId),
6540 AssemblyComponentUsage(AssemblyComponentUsageId),
6541 CentreOfSymmetry(CentreOfSymmetryId),
6542 CircularRunoutTolerance(CircularRunoutToleranceId),
6543 CoaxialityTolerance(CoaxialityToleranceId),
6544 CommonDatum(CommonDatumId),
6545 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
6546 CompositeShapeAspect(CompositeShapeAspectId),
6547 ConcentricityTolerance(ConcentricityToleranceId),
6548 ContinuousShapeAspect(ContinuousShapeAspectId),
6549 CylindricityTolerance(CylindricityToleranceId),
6550 Datum(DatumId),
6551 DatumFeature(DatumFeatureId),
6552 DatumReferenceCompartment(DatumReferenceCompartmentId),
6553 DatumReferenceElement(DatumReferenceElementId),
6554 DatumSystem(DatumSystemId),
6555 DatumTarget(DatumTargetId),
6556 DefaultModelGeometricView(DefaultModelGeometricViewId),
6557 DerivedShapeAspect(DerivedShapeAspectId),
6558 DimensionalLocation(DimensionalLocationId),
6559 DimensionalLocationWithPath(DimensionalLocationWithPathId),
6560 DimensionalSize(DimensionalSizeId),
6561 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
6562 DimensionalSizeWithPath(DimensionalSizeWithPathId),
6563 DirectedDimensionalLocation(DirectedDimensionalLocationId),
6564 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
6565 FlatnessTolerance(FlatnessToleranceId),
6566 GeneralDatumReference(GeneralDatumReferenceId),
6567 GeometricTolerance(GeometricToleranceId),
6568 GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
6569 GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
6570 GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
6571 GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
6572 GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
6573 LineProfileTolerance(LineProfileToleranceId),
6574 MakeFromUsageOption(MakeFromUsageOptionId),
6575 ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
6576 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
6577 ParallelismTolerance(ParallelismToleranceId),
6578 PerpendicularityTolerance(PerpendicularityToleranceId),
6579 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
6580 PositionTolerance(PositionToleranceId),
6581 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
6582 ProductDefinitionShape(ProductDefinitionShapeId),
6583 ProductDefinitionUsage(ProductDefinitionUsageId),
6584 PropertyDefinition(PropertyDefinitionId),
6585 RoundnessTolerance(RoundnessToleranceId),
6586 ShapeAspect(ShapeAspectId),
6587 ShapeAspectAssociativity(ShapeAspectAssociativityId),
6588 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
6589 ShapeAspectRelationship(ShapeAspectRelationshipId),
6590 StraightnessTolerance(StraightnessToleranceId),
6591 SurfaceProfileTolerance(SurfaceProfileToleranceId),
6592 SymmetryTolerance(SymmetryToleranceId),
6593 ToleranceZone(ToleranceZoneId),
6594 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
6595 TotalRunoutTolerance(TotalRunoutToleranceId),
6596 UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
6597 Complex(ComplexUnitId),
6598}
6599impl DraughtingModelItemDefinitionRef {
6600 pub fn from_any(a: EntityKey) -> Result<Self, String> {
6601 match a {
6602 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
6603 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
6604 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
6605 EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
6606 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
6607 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
6608 EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
6609 EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
6610 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
6611 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
6612 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
6613 EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
6614 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
6615 EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
6616 EntityKey::Datum(i) => Ok(Self::Datum(i)),
6617 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
6618 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
6619 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
6620 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
6621 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
6622 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
6623 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
6624 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
6625 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
6626 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
6627 EntityKey::DimensionalSizeWithDatumFeature(i) => {
6628 Ok(Self::DimensionalSizeWithDatumFeature(i))
6629 }
6630 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
6631 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
6632 EntityKey::FeatureForDatumTargetRelationship(i) => {
6633 Ok(Self::FeatureForDatumTargetRelationship(i))
6634 }
6635 EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
6636 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
6637 EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
6638 EntityKey::GeometricToleranceWithDatumReference(i) => {
6639 Ok(Self::GeometricToleranceWithDatumReference(i))
6640 }
6641 EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
6642 Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
6643 }
6644 EntityKey::GeometricToleranceWithDefinedUnit(i) => {
6645 Ok(Self::GeometricToleranceWithDefinedUnit(i))
6646 }
6647 EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
6648 Ok(Self::GeometricToleranceWithMaximumTolerance(i))
6649 }
6650 EntityKey::GeometricToleranceWithModifiers(i) => {
6651 Ok(Self::GeometricToleranceWithModifiers(i))
6652 }
6653 EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
6654 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
6655 EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
6656 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
6657 EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
6658 EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
6659 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
6660 EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
6661 EntityKey::ProductDefinitionRelationship(i) => {
6662 Ok(Self::ProductDefinitionRelationship(i))
6663 }
6664 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
6665 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
6666 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
6667 EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
6668 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
6669 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
6670 EntityKey::ShapeAspectDerivingRelationship(i) => {
6671 Ok(Self::ShapeAspectDerivingRelationship(i))
6672 }
6673 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
6674 EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
6675 EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
6676 EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
6677 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
6678 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
6679 EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
6680 EntityKey::UnequallyDisposedGeometricTolerance(i) => {
6681 Ok(Self::UnequallyDisposedGeometricTolerance(i))
6682 }
6683 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
6684 other => Err(format!(
6685 "expected DraughtingModelItemDefinitionRef target, got {other:?}"
6686 )),
6687 }
6688 }
6689}
6690
6691#[derive(Debug, Clone, PartialEq)]
6692pub enum EdgeRef {
6693 Edge(EdgeId),
6694 EdgeCurve(EdgeCurveId),
6695 OrientedEdge(OrientedEdgeId),
6696 Complex(ComplexUnitId),
6697}
6698impl EdgeRef {
6699 pub fn from_any(a: EntityKey) -> Result<Self, String> {
6700 match a {
6701 EntityKey::Edge(i) => Ok(Self::Edge(i)),
6702 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
6703 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
6704 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
6705 other => Err(format!("expected EdgeRef target, got {other:?}")),
6706 }
6707 }
6708}
6709
6710#[derive(Debug, Clone, PartialEq)]
6711pub enum ExternalIdentificationItemRef {
6712 ActionDirective(ActionDirectiveId),
6713 ActionMethod(ActionMethodId),
6714 ActionMethodRelationship(ActionMethodRelationshipId),
6715 ActionRelationship(ActionRelationshipId),
6716 Address(AddressId),
6717 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
6718 AdvancedFace(AdvancedFaceId),
6719 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
6720 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
6721 AnnotationOccurrence(AnnotationOccurrenceId),
6722 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
6723 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
6724 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
6725 AnnotationPlane(AnnotationPlaneId),
6726 AnnotationSymbol(AnnotationSymbolId),
6727 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
6728 AnnotationText(AnnotationTextId),
6729 AnnotationTextCharacter(AnnotationTextCharacterId),
6730 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
6731 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
6732 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
6733 ApllPoint(ApllPointId),
6734 ApllPointWithSurface(ApllPointWithSurfaceId),
6735 AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
6736 AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
6737 Approval(ApprovalId),
6738 ApprovalPersonOrganization(ApprovalPersonOrganizationId),
6739 ApprovalStatus(ApprovalStatusId),
6740 AreaUnit(AreaUnitId),
6741 AssemblyComponentUsage(AssemblyComponentUsageId),
6742 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
6743 Axis1Placement(Axis1PlacementId),
6744 Axis2Placement2d(Axis2Placement2dId),
6745 Axis2Placement3d(Axis2Placement3dId),
6746 BSplineCurve(BSplineCurveId),
6747 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
6748 BSplineSurface(BSplineSurfaceId),
6749 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
6750 BezierCurve(BezierCurveId),
6751 BezierSurface(BezierSurfaceId),
6752 BoundedCurve(BoundedCurveId),
6753 BoundedPcurve(BoundedPcurveId),
6754 BoundedSurface(BoundedSurfaceId),
6755 BoundedSurfaceCurve(BoundedSurfaceCurveId),
6756 BrepWithVoids(BrepWithVoidsId),
6757 CameraImage(CameraImageId),
6758 CameraImage3dWithScale(CameraImage3dWithScaleId),
6759 CameraModel(CameraModelId),
6760 CameraModelD3(CameraModelD3Id),
6761 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
6762 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
6763 CartesianPoint(CartesianPointId),
6764 CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
6765 Certification(CertificationId),
6766 CharacterizedRepresentation(CharacterizedRepresentationId),
6767 Circle(CircleId),
6768 ClosedShell(ClosedShellId),
6769 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
6770 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
6771 CompositeCurve(CompositeCurveId),
6772 CompositeText(CompositeTextId),
6773 CompoundRepresentationItem(CompoundRepresentationItemId),
6774 ConfigurationEffectivity(ConfigurationEffectivityId),
6775 Conic(ConicId),
6776 ConicalSurface(ConicalSurfaceId),
6777 ConnectedFaceSet(ConnectedFaceSetId),
6778 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
6779 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
6780 ContextDependentUnit(ContextDependentUnitId),
6781 Contract(ContractId),
6782 ConversionBasedUnit(ConversionBasedUnitId),
6783 CoordinatesList(CoordinatesListId),
6784 Curve(CurveId),
6785 CylindricalSurface(CylindricalSurfaceId),
6786 DateAndTimeAssignment(DateAndTimeAssignmentId),
6787 DefinedCharacterGlyph(DefinedCharacterGlyphId),
6788 DefinedSymbol(DefinedSymbolId),
6789 DefinitionalRepresentation(DefinitionalRepresentationId),
6790 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
6791 DerivedUnit(DerivedUnitId),
6792 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
6793 DesignContext(DesignContextId),
6794 Direction(DirectionId),
6795 DocumentFile(DocumentFileId),
6796 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
6797 DraughtingCallout(DraughtingCalloutId),
6798 DraughtingModel(DraughtingModelId),
6799 Edge(EdgeId),
6800 EdgeCurve(EdgeCurveId),
6801 EdgeLoop(EdgeLoopId),
6802 Effectivity(EffectivityId),
6803 ElementarySurface(ElementarySurfaceId),
6804 Ellipse(EllipseId),
6805 ExternalSource(ExternalSourceId),
6806 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
6807 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
6808 Face(FaceId),
6809 FaceBound(FaceBoundId),
6810 FaceOuterBound(FaceOuterBoundId),
6811 FaceSurface(FaceSurfaceId),
6812 FillAreaStyleHatching(FillAreaStyleHatchingId),
6813 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
6814 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
6815 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
6816 FillAreaStyleTiles(FillAreaStyleTilesId),
6817 GeneralProperty(GeneralPropertyId),
6818 GenericProductDefinitionReference(GenericProductDefinitionReferenceId),
6819 GeometricCurveSet(GeometricCurveSetId),
6820 GeometricRepresentationItem(GeometricRepresentationItemId),
6821 GeometricSet(GeometricSetId),
6822 GeometricallyBoundedSurfaceShapeRepresentation(
6823 GeometricallyBoundedSurfaceShapeRepresentationId,
6824 ),
6825 GeometricallyBoundedWireframeShapeRepresentation(
6826 GeometricallyBoundedWireframeShapeRepresentationId,
6827 ),
6828 Group(GroupId),
6829 Hyperbola(HyperbolaId),
6830 IntegerRepresentationItem(IntegerRepresentationItemId),
6831 IntersectionCurve(IntersectionCurveId),
6832 LeaderCurve(LeaderCurveId),
6833 LeaderDirectedCallout(LeaderDirectedCalloutId),
6834 LeaderTerminator(LeaderTerminatorId),
6835 LengthUnit(LengthUnitId),
6836 Line(LineId),
6837 Loop(LoopId),
6838 ManifoldSolidBrep(ManifoldSolidBrepId),
6839 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
6840 MappedItem(MappedItemId),
6841 MassUnit(MassUnitId),
6842 MeasureRepresentationItem(MeasureRepresentationItemId),
6843 MechanicalDesignGeometricPresentationRepresentation(
6844 MechanicalDesignGeometricPresentationRepresentationId,
6845 ),
6846 MechanicalDesignPresentationRepresentationWithDraughting(
6847 MechanicalDesignPresentationRepresentationWithDraughtingId,
6848 ),
6849 MechanicalDesignShadedPresentationRepresentation(
6850 MechanicalDesignShadedPresentationRepresentationId,
6851 ),
6852 NamedUnit(NamedUnitId),
6853 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
6854 OffsetSurface(OffsetSurfaceId),
6855 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
6856 OpenShell(OpenShellId),
6857 Organization(OrganizationId),
6858 OrganizationalAddress(OrganizationalAddressId),
6859 OrganizationalProject(OrganizationalProjectId),
6860 OrientedClosedShell(OrientedClosedShellId),
6861 OrientedEdge(OrientedEdgeId),
6862 OverRidingStyledItem(OverRidingStyledItemId),
6863 Path(PathId),
6864 Pcurve(PcurveId),
6865 Person(PersonId),
6866 PersonAndOrganization(PersonAndOrganizationId),
6867 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
6868 PersonalAddress(PersonalAddressId),
6869 Placement(PlacementId),
6870 PlanarBox(PlanarBoxId),
6871 PlanarExtent(PlanarExtentId),
6872 Plane(PlaneId),
6873 PlaneAngleUnit(PlaneAngleUnitId),
6874 Point(PointId),
6875 PolyLoop(PolyLoopId),
6876 Polyline(PolylineId),
6877 PrecisionQualifier(PrecisionQualifierId),
6878 PresentationArea(PresentationAreaId),
6879 PresentationRepresentation(PresentationRepresentationId),
6880 PresentationView(PresentationViewId),
6881 Product(ProductId),
6882 ProductConcept(ProductConceptId),
6883 ProductConceptContext(ProductConceptContextId),
6884 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
6885 ProductDefinition(ProductDefinitionId),
6886 ProductDefinitionContext(ProductDefinitionContextId),
6887 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
6888 ProductDefinitionFormation(ProductDefinitionFormationId),
6889 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
6890 ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
6891 ProductDefinitionShape(ProductDefinitionShapeId),
6892 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
6893 PropertyDefinition(PropertyDefinitionId),
6894 QualifiedRepresentationItem(QualifiedRepresentationItemId),
6895 QuasiUniformCurve(QuasiUniformCurveId),
6896 QuasiUniformSurface(QuasiUniformSurfaceId),
6897 RatioUnit(RatioUnitId),
6898 RationalBSplineCurve(RationalBSplineCurveId),
6899 RationalBSplineSurface(RationalBSplineSurfaceId),
6900 RealRepresentationItem(RealRepresentationItemId),
6901 RepositionedTessellatedItem(RepositionedTessellatedItemId),
6902 Representation(RepresentationId),
6903 RepresentationItem(RepresentationItemId),
6904 SeamCurve(SeamCurveId),
6905 SecurityClassification(SecurityClassificationId),
6906 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
6907 ShapeRepresentation(ShapeRepresentationId),
6908 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
6909 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
6910 SiUnit(SiUnitId),
6911 SolidAngleUnit(SolidAngleUnitId),
6912 SolidModel(SolidModelId),
6913 SphericalSurface(SphericalSurfaceId),
6914 StateObserved(StateObservedId),
6915 StateType(StateTypeId),
6916 StyledItem(StyledItemId),
6917 Surface(SurfaceId),
6918 SurfaceCurve(SurfaceCurveId),
6919 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
6920 SurfaceOfRevolution(SurfaceOfRevolutionId),
6921 SweptSurface(SweptSurfaceId),
6922 SymbolRepresentation(SymbolRepresentationId),
6923 SymbolTarget(SymbolTargetId),
6924 TerminatorSymbol(TerminatorSymbolId),
6925 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
6926 TessellatedCurveSet(TessellatedCurveSetId),
6927 TessellatedFace(TessellatedFaceId),
6928 TessellatedGeometricSet(TessellatedGeometricSetId),
6929 TessellatedItem(TessellatedItemId),
6930 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
6931 TessellatedShell(TessellatedShellId),
6932 TessellatedSolid(TessellatedSolidId),
6933 TessellatedStructuredItem(TessellatedStructuredItemId),
6934 TessellatedSurfaceSet(TessellatedSurfaceSetId),
6935 TextLiteral(TextLiteralId),
6936 TimeUnit(TimeUnitId),
6937 TopologicalRepresentationItem(TopologicalRepresentationItemId),
6938 ToroidalSurface(ToroidalSurfaceId),
6939 TrimmedCurve(TrimmedCurveId),
6940 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
6941 TypeQualifier(TypeQualifierId),
6942 UncertaintyQualifier(UncertaintyQualifierId),
6943 UniformCurve(UniformCurveId),
6944 UniformSurface(UniformSurfaceId),
6945 ValueRepresentationItem(ValueRepresentationItemId),
6946 Vector(VectorId),
6947 VersionedActionRequest(VersionedActionRequestId),
6948 Vertex(VertexId),
6949 VertexLoop(VertexLoopId),
6950 VertexPoint(VertexPointId),
6951 VertexShell(VertexShellId),
6952 VolumeUnit(VolumeUnitId),
6953 WireShell(WireShellId),
6954 Complex(ComplexUnitId),
6955}
6956impl ExternalIdentificationItemRef {
6957 pub fn from_any(a: EntityKey) -> Result<Self, String> {
6958 match a {
6959 EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
6960 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
6961 EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
6962 EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
6963 EntityKey::Address(i) => Ok(Self::Address(i)),
6964 EntityKey::AdvancedBrepShapeRepresentation(i) => {
6965 Ok(Self::AdvancedBrepShapeRepresentation(i))
6966 }
6967 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
6968 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
6969 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
6970 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
6971 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
6972 Ok(Self::AnnotationPlaceholderLeaderLine(i))
6973 }
6974 EntityKey::AnnotationPlaceholderOccurrence(i) => {
6975 Ok(Self::AnnotationPlaceholderOccurrence(i))
6976 }
6977 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
6978 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
6979 }
6980 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
6981 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
6982 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
6983 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
6984 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
6985 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
6986 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
6987 Ok(Self::AnnotationToAnnotationLeaderLine(i))
6988 }
6989 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
6990 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
6991 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
6992 EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
6993 EntityKey::AppliedExternalIdentificationAssignment(i) => {
6994 Ok(Self::AppliedExternalIdentificationAssignment(i))
6995 }
6996 EntityKey::Approval(i) => Ok(Self::Approval(i)),
6997 EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
6998 EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
6999 EntityKey::AreaUnit(i) => Ok(Self::AreaUnit(i)),
7000 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
7001 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
7002 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
7003 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
7004 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
7005 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
7006 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
7007 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
7008 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
7009 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
7010 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
7011 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
7012 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
7013 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
7014 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
7015 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
7016 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
7017 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
7018 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
7019 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
7020 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
7021 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
7022 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
7023 EntityKey::CcDesignDateAndTimeAssignment(i) => {
7024 Ok(Self::CcDesignDateAndTimeAssignment(i))
7025 }
7026 EntityKey::Certification(i) => Ok(Self::Certification(i)),
7027 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
7028 EntityKey::Circle(i) => Ok(Self::Circle(i)),
7029 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
7030 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
7031 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
7032 Ok(Self::ComplexTriangulatedSurfaceSet(i))
7033 }
7034 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
7035 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
7036 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
7037 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
7038 EntityKey::Conic(i) => Ok(Self::Conic(i)),
7039 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
7040 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
7041 EntityKey::ConstructiveGeometryRepresentation(i) => {
7042 Ok(Self::ConstructiveGeometryRepresentation(i))
7043 }
7044 EntityKey::ContextDependentOverRidingStyledItem(i) => {
7045 Ok(Self::ContextDependentOverRidingStyledItem(i))
7046 }
7047 EntityKey::ContextDependentUnit(i) => Ok(Self::ContextDependentUnit(i)),
7048 EntityKey::Contract(i) => Ok(Self::Contract(i)),
7049 EntityKey::ConversionBasedUnit(i) => Ok(Self::ConversionBasedUnit(i)),
7050 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
7051 EntityKey::Curve(i) => Ok(Self::Curve(i)),
7052 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
7053 EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
7054 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
7055 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
7056 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
7057 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
7058 EntityKey::DerivedUnit(i) => Ok(Self::DerivedUnit(i)),
7059 EntityKey::DescriptiveRepresentationItem(i) => {
7060 Ok(Self::DescriptiveRepresentationItem(i))
7061 }
7062 EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
7063 EntityKey::Direction(i) => Ok(Self::Direction(i)),
7064 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
7065 EntityKey::DraughtingAnnotationOccurrence(i) => {
7066 Ok(Self::DraughtingAnnotationOccurrence(i))
7067 }
7068 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
7069 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
7070 EntityKey::Edge(i) => Ok(Self::Edge(i)),
7071 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
7072 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
7073 EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
7074 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
7075 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
7076 EntityKey::ExternalSource(i) => Ok(Self::ExternalSource(i)),
7077 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
7078 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
7079 EntityKey::Face(i) => Ok(Self::Face(i)),
7080 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
7081 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
7082 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
7083 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
7084 EntityKey::FillAreaStyleTileColouredRegion(i) => {
7085 Ok(Self::FillAreaStyleTileColouredRegion(i))
7086 }
7087 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
7088 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
7089 }
7090 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
7091 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
7092 }
7093 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
7094 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
7095 EntityKey::GenericProductDefinitionReference(i) => {
7096 Ok(Self::GenericProductDefinitionReference(i))
7097 }
7098 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
7099 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
7100 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
7101 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
7102 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
7103 }
7104 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
7105 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
7106 }
7107 EntityKey::Group(i) => Ok(Self::Group(i)),
7108 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
7109 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
7110 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
7111 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
7112 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
7113 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
7114 EntityKey::LengthUnit(i) => Ok(Self::LengthUnit(i)),
7115 EntityKey::Line(i) => Ok(Self::Line(i)),
7116 EntityKey::Loop(i) => Ok(Self::Loop(i)),
7117 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
7118 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
7119 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
7120 }
7121 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
7122 EntityKey::MassUnit(i) => Ok(Self::MassUnit(i)),
7123 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
7124 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
7125 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
7126 }
7127 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
7128 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
7129 }
7130 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
7131 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
7132 }
7133 EntityKey::NamedUnit(i) => Ok(Self::NamedUnit(i)),
7134 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
7135 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
7136 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
7137 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
7138 EntityKey::Organization(i) => Ok(Self::Organization(i)),
7139 EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
7140 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
7141 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
7142 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
7143 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
7144 EntityKey::Path(i) => Ok(Self::Path(i)),
7145 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
7146 EntityKey::Person(i) => Ok(Self::Person(i)),
7147 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
7148 EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
7149 EntityKey::PersonalAddress(i) => Ok(Self::PersonalAddress(i)),
7150 EntityKey::Placement(i) => Ok(Self::Placement(i)),
7151 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
7152 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
7153 EntityKey::Plane(i) => Ok(Self::Plane(i)),
7154 EntityKey::PlaneAngleUnit(i) => Ok(Self::PlaneAngleUnit(i)),
7155 EntityKey::Point(i) => Ok(Self::Point(i)),
7156 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
7157 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
7158 EntityKey::PrecisionQualifier(i) => Ok(Self::PrecisionQualifier(i)),
7159 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
7160 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
7161 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
7162 EntityKey::Product(i) => Ok(Self::Product(i)),
7163 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
7164 EntityKey::ProductConceptContext(i) => Ok(Self::ProductConceptContext(i)),
7165 EntityKey::ProductConceptFeatureCategory(i) => {
7166 Ok(Self::ProductConceptFeatureCategory(i))
7167 }
7168 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
7169 EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
7170 EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
7171 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
7172 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
7173 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
7174 }
7175 EntityKey::ProductDefinitionOccurrence(i) => Ok(Self::ProductDefinitionOccurrence(i)),
7176 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
7177 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
7178 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
7179 }
7180 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
7181 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
7182 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
7183 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
7184 EntityKey::RatioUnit(i) => Ok(Self::RatioUnit(i)),
7185 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
7186 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
7187 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
7188 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
7189 EntityKey::Representation(i) => Ok(Self::Representation(i)),
7190 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
7191 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
7192 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
7193 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
7194 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
7195 EntityKey::ShapeRepresentationWithParameters(i) => {
7196 Ok(Self::ShapeRepresentationWithParameters(i))
7197 }
7198 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
7199 EntityKey::SiUnit(i) => Ok(Self::SiUnit(i)),
7200 EntityKey::SolidAngleUnit(i) => Ok(Self::SolidAngleUnit(i)),
7201 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
7202 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
7203 EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
7204 EntityKey::StateType(i) => Ok(Self::StateType(i)),
7205 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
7206 EntityKey::Surface(i) => Ok(Self::Surface(i)),
7207 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
7208 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
7209 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
7210 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
7211 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
7212 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
7213 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
7214 EntityKey::TessellatedAnnotationOccurrence(i) => {
7215 Ok(Self::TessellatedAnnotationOccurrence(i))
7216 }
7217 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
7218 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
7219 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
7220 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
7221 EntityKey::TessellatedShapeRepresentation(i) => {
7222 Ok(Self::TessellatedShapeRepresentation(i))
7223 }
7224 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
7225 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
7226 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
7227 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
7228 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
7229 EntityKey::TimeUnit(i) => Ok(Self::TimeUnit(i)),
7230 EntityKey::TopologicalRepresentationItem(i) => {
7231 Ok(Self::TopologicalRepresentationItem(i))
7232 }
7233 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
7234 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
7235 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
7236 EntityKey::TypeQualifier(i) => Ok(Self::TypeQualifier(i)),
7237 EntityKey::UncertaintyQualifier(i) => Ok(Self::UncertaintyQualifier(i)),
7238 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
7239 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
7240 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
7241 EntityKey::Vector(i) => Ok(Self::Vector(i)),
7242 EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
7243 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
7244 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
7245 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
7246 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
7247 EntityKey::VolumeUnit(i) => Ok(Self::VolumeUnit(i)),
7248 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
7249 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7250 other => Err(format!(
7251 "expected ExternalIdentificationItemRef target, got {other:?}"
7252 )),
7253 }
7254 }
7255}
7256
7257#[derive(Debug, Clone, PartialEq)]
7258pub enum ExternalSourceRef {
7259 ExternalSource(ExternalSourceId),
7260 Complex(ComplexUnitId),
7261}
7262impl ExternalSourceRef {
7263 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7264 match a {
7265 EntityKey::ExternalSource(i) => Ok(Self::ExternalSource(i)),
7266 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7267 other => Err(format!("expected ExternalSourceRef target, got {other:?}")),
7268 }
7269 }
7270}
7271
7272#[derive(Debug, Clone, PartialEq)]
7273pub enum FaceBoundRef {
7274 FaceBound(FaceBoundId),
7275 FaceOuterBound(FaceOuterBoundId),
7276 Complex(ComplexUnitId),
7277}
7278impl FaceBoundRef {
7279 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7280 match a {
7281 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
7282 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
7283 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7284 other => Err(format!("expected FaceBoundRef target, got {other:?}")),
7285 }
7286 }
7287}
7288
7289#[derive(Debug, Clone, PartialEq)]
7290pub enum FaceOrSurfaceRef {
7291 AdvancedFace(AdvancedFaceId),
7292 BSplineSurface(BSplineSurfaceId),
7293 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
7294 BezierSurface(BezierSurfaceId),
7295 BoundedSurface(BoundedSurfaceId),
7296 ConicalSurface(ConicalSurfaceId),
7297 CylindricalSurface(CylindricalSurfaceId),
7298 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
7299 ElementarySurface(ElementarySurfaceId),
7300 Face(FaceId),
7301 FaceSurface(FaceSurfaceId),
7302 OffsetSurface(OffsetSurfaceId),
7303 Plane(PlaneId),
7304 QuasiUniformSurface(QuasiUniformSurfaceId),
7305 RationalBSplineSurface(RationalBSplineSurfaceId),
7306 SphericalSurface(SphericalSurfaceId),
7307 Surface(SurfaceId),
7308 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
7309 SurfaceOfRevolution(SurfaceOfRevolutionId),
7310 SweptSurface(SweptSurfaceId),
7311 ToroidalSurface(ToroidalSurfaceId),
7312 UniformSurface(UniformSurfaceId),
7313 Complex(ComplexUnitId),
7314}
7315impl FaceOrSurfaceRef {
7316 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7317 match a {
7318 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
7319 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
7320 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
7321 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
7322 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
7323 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
7324 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
7325 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
7326 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
7327 EntityKey::Face(i) => Ok(Self::Face(i)),
7328 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
7329 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
7330 EntityKey::Plane(i) => Ok(Self::Plane(i)),
7331 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
7332 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
7333 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
7334 EntityKey::Surface(i) => Ok(Self::Surface(i)),
7335 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
7336 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
7337 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
7338 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
7339 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
7340 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7341 other => Err(format!("expected FaceOrSurfaceRef target, got {other:?}")),
7342 }
7343 }
7344}
7345
7346#[derive(Debug, Clone, PartialEq)]
7347pub enum FaceRef {
7348 AdvancedFace(AdvancedFaceId),
7349 Face(FaceId),
7350 FaceSurface(FaceSurfaceId),
7351 Complex(ComplexUnitId),
7352}
7353impl FaceRef {
7354 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7355 match a {
7356 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
7357 EntityKey::Face(i) => Ok(Self::Face(i)),
7358 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
7359 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7360 other => Err(format!("expected FaceRef target, got {other:?}")),
7361 }
7362 }
7363}
7364
7365#[derive(Debug, Clone, PartialEq)]
7366pub enum FaceSurfaceRef {
7367 AdvancedFace(AdvancedFaceId),
7368 FaceSurface(FaceSurfaceId),
7369 Complex(ComplexUnitId),
7370}
7371impl FaceSurfaceRef {
7372 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7373 match a {
7374 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
7375 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
7376 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7377 other => Err(format!("expected FaceSurfaceRef target, got {other:?}")),
7378 }
7379 }
7380}
7381
7382#[derive(Debug, Clone, PartialEq)]
7383pub enum FillAreaStyleRef {
7384 FillAreaStyle(FillAreaStyleId),
7385 Complex(ComplexUnitId),
7386}
7387impl FillAreaStyleRef {
7388 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7389 match a {
7390 EntityKey::FillAreaStyle(i) => Ok(Self::FillAreaStyle(i)),
7391 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7392 other => Err(format!("expected FillAreaStyleRef target, got {other:?}")),
7393 }
7394 }
7395}
7396
7397#[derive(Debug, Clone, PartialEq)]
7398pub enum FillAreaStyleTileShapeSelectRef {
7399 ExternallyDefinedTile(ExternallyDefinedTileId),
7400 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
7401 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
7402 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
7403 PreDefinedTile(PreDefinedTileId),
7404 Complex(ComplexUnitId),
7405}
7406impl FillAreaStyleTileShapeSelectRef {
7407 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7408 match a {
7409 EntityKey::ExternallyDefinedTile(i) => Ok(Self::ExternallyDefinedTile(i)),
7410 EntityKey::FillAreaStyleTileColouredRegion(i) => {
7411 Ok(Self::FillAreaStyleTileColouredRegion(i))
7412 }
7413 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
7414 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
7415 }
7416 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
7417 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
7418 }
7419 EntityKey::PreDefinedTile(i) => Ok(Self::PreDefinedTile(i)),
7420 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7421 other => Err(format!(
7422 "expected FillAreaStyleTileShapeSelectRef target, got {other:?}"
7423 )),
7424 }
7425 }
7426}
7427
7428#[derive(Debug, Clone, PartialEq)]
7429pub enum FillStyleSelectRef {
7430 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
7431 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
7432 FillAreaStyleColour(FillAreaStyleColourId),
7433 FillAreaStyleHatching(FillAreaStyleHatchingId),
7434 FillAreaStyleTiles(FillAreaStyleTilesId),
7435 TextureStyleSpecification(TextureStyleSpecificationId),
7436 TextureStyleTessellationSpecification(TextureStyleTessellationSpecificationId),
7437 Complex(ComplexUnitId),
7438}
7439impl FillStyleSelectRef {
7440 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7441 match a {
7442 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
7443 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
7444 EntityKey::FillAreaStyleColour(i) => Ok(Self::FillAreaStyleColour(i)),
7445 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
7446 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
7447 EntityKey::TextureStyleSpecification(i) => Ok(Self::TextureStyleSpecification(i)),
7448 EntityKey::TextureStyleTessellationSpecification(i) => {
7449 Ok(Self::TextureStyleTessellationSpecification(i))
7450 }
7451 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7452 other => Err(format!("expected FillStyleSelectRef target, got {other:?}")),
7453 }
7454 }
7455}
7456
7457#[derive(Debug, Clone, PartialEq)]
7458pub enum FontSelectRef {
7459 DraughtingPreDefinedTextFont(DraughtingPreDefinedTextFontId),
7460 ExternallyDefinedTextFont(ExternallyDefinedTextFontId),
7461 PreDefinedTextFont(PreDefinedTextFontId),
7462 TextFont(TextFontId),
7463 Complex(ComplexUnitId),
7464}
7465impl FontSelectRef {
7466 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7467 match a {
7468 EntityKey::DraughtingPreDefinedTextFont(i) => Ok(Self::DraughtingPreDefinedTextFont(i)),
7469 EntityKey::ExternallyDefinedTextFont(i) => Ok(Self::ExternallyDefinedTextFont(i)),
7470 EntityKey::PreDefinedTextFont(i) => Ok(Self::PreDefinedTextFont(i)),
7471 EntityKey::TextFont(i) => Ok(Self::TextFont(i)),
7472 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7473 other => Err(format!("expected FontSelectRef target, got {other:?}")),
7474 }
7475 }
7476}
7477
7478#[derive(Debug, Clone, PartialEq)]
7479pub enum GeneralPropertyRef {
7480 GeneralProperty(GeneralPropertyId),
7481 Complex(ComplexUnitId),
7482}
7483impl GeneralPropertyRef {
7484 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7485 match a {
7486 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
7487 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7488 other => Err(format!("expected GeneralPropertyRef target, got {other:?}")),
7489 }
7490 }
7491}
7492
7493#[derive(Debug, Clone, PartialEq)]
7494pub enum GeometricItemSpecificUsageSelectRef {
7495 AllAroundShapeAspect(AllAroundShapeAspectId),
7496 AngularLocation(AngularLocationId),
7497 CentreOfSymmetry(CentreOfSymmetryId),
7498 CommonDatum(CommonDatumId),
7499 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
7500 CompositeShapeAspect(CompositeShapeAspectId),
7501 ContinuousShapeAspect(ContinuousShapeAspectId),
7502 Datum(DatumId),
7503 DatumFeature(DatumFeatureId),
7504 DatumReferenceCompartment(DatumReferenceCompartmentId),
7505 DatumReferenceElement(DatumReferenceElementId),
7506 DatumSystem(DatumSystemId),
7507 DatumTarget(DatumTargetId),
7508 DefaultModelGeometricView(DefaultModelGeometricViewId),
7509 DerivedShapeAspect(DerivedShapeAspectId),
7510 DimensionalLocation(DimensionalLocationId),
7511 DimensionalLocationWithPath(DimensionalLocationWithPathId),
7512 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
7513 DirectedDimensionalLocation(DirectedDimensionalLocationId),
7514 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
7515 GeneralDatumReference(GeneralDatumReferenceId),
7516 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
7517 ShapeAspect(ShapeAspectId),
7518 ShapeAspectAssociativity(ShapeAspectAssociativityId),
7519 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
7520 ShapeAspectRelationship(ShapeAspectRelationshipId),
7521 ToleranceZone(ToleranceZoneId),
7522 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
7523 Complex(ComplexUnitId),
7524}
7525impl GeometricItemSpecificUsageSelectRef {
7526 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7527 match a {
7528 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
7529 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
7530 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
7531 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
7532 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
7533 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
7534 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
7535 EntityKey::Datum(i) => Ok(Self::Datum(i)),
7536 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
7537 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
7538 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
7539 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
7540 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
7541 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
7542 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
7543 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
7544 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
7545 EntityKey::DimensionalSizeWithDatumFeature(i) => {
7546 Ok(Self::DimensionalSizeWithDatumFeature(i))
7547 }
7548 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
7549 EntityKey::FeatureForDatumTargetRelationship(i) => {
7550 Ok(Self::FeatureForDatumTargetRelationship(i))
7551 }
7552 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
7553 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
7554 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
7555 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
7556 EntityKey::ShapeAspectDerivingRelationship(i) => {
7557 Ok(Self::ShapeAspectDerivingRelationship(i))
7558 }
7559 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
7560 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
7561 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
7562 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7563 other => Err(format!(
7564 "expected GeometricItemSpecificUsageSelectRef target, got {other:?}"
7565 )),
7566 }
7567 }
7568}
7569
7570#[derive(Debug, Clone, PartialEq)]
7571pub enum GeometricModelItemRef {
7572 AdvancedFace(AdvancedFaceId),
7573 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
7574 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
7575 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
7576 AnnotationPlane(AnnotationPlaneId),
7577 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
7578 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
7579 ApllPoint(ApllPointId),
7580 ApllPointWithSurface(ApllPointWithSurfaceId),
7581 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
7582 Axis1Placement(Axis1PlacementId),
7583 Axis2Placement2d(Axis2Placement2dId),
7584 Axis2Placement3d(Axis2Placement3dId),
7585 BSplineCurve(BSplineCurveId),
7586 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
7587 BSplineSurface(BSplineSurfaceId),
7588 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
7589 BezierCurve(BezierCurveId),
7590 BezierSurface(BezierSurfaceId),
7591 BoundedCurve(BoundedCurveId),
7592 BoundedPcurve(BoundedPcurveId),
7593 BoundedSurface(BoundedSurfaceId),
7594 BoundedSurfaceCurve(BoundedSurfaceCurveId),
7595 BrepWithVoids(BrepWithVoidsId),
7596 CameraModel(CameraModelId),
7597 CameraModelD3(CameraModelD3Id),
7598 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
7599 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
7600 CartesianPoint(CartesianPointId),
7601 Circle(CircleId),
7602 ClosedShell(ClosedShellId),
7603 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
7604 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
7605 CompositeCurve(CompositeCurveId),
7606 CompositeText(CompositeTextId),
7607 Conic(ConicId),
7608 ConicalSurface(ConicalSurfaceId),
7609 ConnectedFaceSet(ConnectedFaceSetId),
7610 CoordinatesList(CoordinatesListId),
7611 Curve(CurveId),
7612 CylindricalSurface(CylindricalSurfaceId),
7613 DefinedCharacterGlyph(DefinedCharacterGlyphId),
7614 DefinedSymbol(DefinedSymbolId),
7615 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
7616 Direction(DirectionId),
7617 DraughtingCallout(DraughtingCalloutId),
7618 EdgeCurve(EdgeCurveId),
7619 EdgeLoop(EdgeLoopId),
7620 ElementarySurface(ElementarySurfaceId),
7621 Ellipse(EllipseId),
7622 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
7623 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
7624 FaceSurface(FaceSurfaceId),
7625 FillAreaStyleHatching(FillAreaStyleHatchingId),
7626 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
7627 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
7628 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
7629 FillAreaStyleTiles(FillAreaStyleTilesId),
7630 GeometricCurveSet(GeometricCurveSetId),
7631 GeometricRepresentationItem(GeometricRepresentationItemId),
7632 GeometricSet(GeometricSetId),
7633 Hyperbola(HyperbolaId),
7634 IntersectionCurve(IntersectionCurveId),
7635 LeaderDirectedCallout(LeaderDirectedCalloutId),
7636 Line(LineId),
7637 ManifoldSolidBrep(ManifoldSolidBrepId),
7638 OffsetSurface(OffsetSurfaceId),
7639 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
7640 OpenShell(OpenShellId),
7641 OrientedClosedShell(OrientedClosedShellId),
7642 Pcurve(PcurveId),
7643 Placement(PlacementId),
7644 PlanarBox(PlanarBoxId),
7645 PlanarExtent(PlanarExtentId),
7646 Plane(PlaneId),
7647 Point(PointId),
7648 PolyLoop(PolyLoopId),
7649 Polyline(PolylineId),
7650 QuasiUniformCurve(QuasiUniformCurveId),
7651 QuasiUniformSurface(QuasiUniformSurfaceId),
7652 RationalBSplineCurve(RationalBSplineCurveId),
7653 RationalBSplineSurface(RationalBSplineSurfaceId),
7654 RepositionedTessellatedItem(RepositionedTessellatedItemId),
7655 SeamCurve(SeamCurveId),
7656 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
7657 SolidModel(SolidModelId),
7658 SphericalSurface(SphericalSurfaceId),
7659 Surface(SurfaceId),
7660 SurfaceCurve(SurfaceCurveId),
7661 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
7662 SurfaceOfRevolution(SurfaceOfRevolutionId),
7663 SweptSurface(SweptSurfaceId),
7664 SymbolTarget(SymbolTargetId),
7665 TessellatedCurveSet(TessellatedCurveSetId),
7666 TessellatedFace(TessellatedFaceId),
7667 TessellatedGeometricSet(TessellatedGeometricSetId),
7668 TessellatedItem(TessellatedItemId),
7669 TessellatedShell(TessellatedShellId),
7670 TessellatedSolid(TessellatedSolidId),
7671 TessellatedStructuredItem(TessellatedStructuredItemId),
7672 TessellatedSurfaceSet(TessellatedSurfaceSetId),
7673 TextLiteral(TextLiteralId),
7674 ToroidalSurface(ToroidalSurfaceId),
7675 TrimmedCurve(TrimmedCurveId),
7676 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
7677 UniformCurve(UniformCurveId),
7678 UniformSurface(UniformSurfaceId),
7679 Vector(VectorId),
7680 VertexPoint(VertexPointId),
7681 Complex(ComplexUnitId),
7682}
7683impl GeometricModelItemRef {
7684 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7685 match a {
7686 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
7687 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
7688 Ok(Self::AnnotationPlaceholderLeaderLine(i))
7689 }
7690 EntityKey::AnnotationPlaceholderOccurrence(i) => {
7691 Ok(Self::AnnotationPlaceholderOccurrence(i))
7692 }
7693 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
7694 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
7695 }
7696 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
7697 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
7698 Ok(Self::AnnotationToAnnotationLeaderLine(i))
7699 }
7700 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
7701 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
7702 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
7703 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
7704 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
7705 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
7706 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
7707 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
7708 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
7709 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
7710 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
7711 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
7712 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
7713 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
7714 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
7715 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
7716 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
7717 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
7718 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
7719 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
7720 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
7721 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
7722 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
7723 EntityKey::Circle(i) => Ok(Self::Circle(i)),
7724 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
7725 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
7726 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
7727 Ok(Self::ComplexTriangulatedSurfaceSet(i))
7728 }
7729 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
7730 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
7731 EntityKey::Conic(i) => Ok(Self::Conic(i)),
7732 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
7733 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
7734 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
7735 EntityKey::Curve(i) => Ok(Self::Curve(i)),
7736 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
7737 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
7738 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
7739 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
7740 EntityKey::Direction(i) => Ok(Self::Direction(i)),
7741 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
7742 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
7743 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
7744 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
7745 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
7746 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
7747 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
7748 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
7749 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
7750 EntityKey::FillAreaStyleTileColouredRegion(i) => {
7751 Ok(Self::FillAreaStyleTileColouredRegion(i))
7752 }
7753 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
7754 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
7755 }
7756 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
7757 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
7758 }
7759 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
7760 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
7761 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
7762 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
7763 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
7764 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
7765 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
7766 EntityKey::Line(i) => Ok(Self::Line(i)),
7767 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
7768 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
7769 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
7770 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
7771 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
7772 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
7773 EntityKey::Placement(i) => Ok(Self::Placement(i)),
7774 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
7775 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
7776 EntityKey::Plane(i) => Ok(Self::Plane(i)),
7777 EntityKey::Point(i) => Ok(Self::Point(i)),
7778 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
7779 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
7780 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
7781 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
7782 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
7783 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
7784 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
7785 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
7786 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
7787 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
7788 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
7789 EntityKey::Surface(i) => Ok(Self::Surface(i)),
7790 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
7791 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
7792 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
7793 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
7794 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
7795 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
7796 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
7797 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
7798 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
7799 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
7800 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
7801 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
7802 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
7803 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
7804 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
7805 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
7806 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
7807 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
7808 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
7809 EntityKey::Vector(i) => Ok(Self::Vector(i)),
7810 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
7811 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7812 other => Err(format!(
7813 "expected GeometricModelItemRef target, got {other:?}"
7814 )),
7815 }
7816 }
7817}
7818
7819#[derive(Debug, Clone, PartialEq)]
7820pub enum GeometricSetSelectRef {
7821 AnnotationText(AnnotationTextId),
7822 ApllPoint(ApllPointId),
7823 ApllPointWithSurface(ApllPointWithSurfaceId),
7824 Axis1Placement(Axis1PlacementId),
7825 Axis2Placement2d(Axis2Placement2dId),
7826 Axis2Placement3d(Axis2Placement3dId),
7827 BSplineCurve(BSplineCurveId),
7828 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
7829 BSplineSurface(BSplineSurfaceId),
7830 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
7831 BezierCurve(BezierCurveId),
7832 BezierSurface(BezierSurfaceId),
7833 BoundedCurve(BoundedCurveId),
7834 BoundedPcurve(BoundedPcurveId),
7835 BoundedSurface(BoundedSurfaceId),
7836 BoundedSurfaceCurve(BoundedSurfaceCurveId),
7837 CartesianPoint(CartesianPointId),
7838 Circle(CircleId),
7839 CompositeCurve(CompositeCurveId),
7840 Conic(ConicId),
7841 ConicalSurface(ConicalSurfaceId),
7842 Curve(CurveId),
7843 CylindricalSurface(CylindricalSurfaceId),
7844 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
7845 ElementarySurface(ElementarySurfaceId),
7846 Ellipse(EllipseId),
7847 Hyperbola(HyperbolaId),
7848 IntersectionCurve(IntersectionCurveId),
7849 Line(LineId),
7850 OffsetSurface(OffsetSurfaceId),
7851 Pcurve(PcurveId),
7852 Placement(PlacementId),
7853 PlanarBox(PlanarBoxId),
7854 Plane(PlaneId),
7855 Point(PointId),
7856 Polyline(PolylineId),
7857 QuasiUniformCurve(QuasiUniformCurveId),
7858 QuasiUniformSurface(QuasiUniformSurfaceId),
7859 RationalBSplineCurve(RationalBSplineCurveId),
7860 RationalBSplineSurface(RationalBSplineSurfaceId),
7861 SeamCurve(SeamCurveId),
7862 SphericalSurface(SphericalSurfaceId),
7863 Surface(SurfaceId),
7864 SurfaceCurve(SurfaceCurveId),
7865 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
7866 SurfaceOfRevolution(SurfaceOfRevolutionId),
7867 SweptSurface(SweptSurfaceId),
7868 ToroidalSurface(ToroidalSurfaceId),
7869 TrimmedCurve(TrimmedCurveId),
7870 UniformCurve(UniformCurveId),
7871 UniformSurface(UniformSurfaceId),
7872 Complex(ComplexUnitId),
7873}
7874impl GeometricSetSelectRef {
7875 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7876 match a {
7877 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
7878 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
7879 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
7880 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
7881 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
7882 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
7883 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
7884 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
7885 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
7886 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
7887 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
7888 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
7889 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
7890 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
7891 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
7892 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
7893 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
7894 EntityKey::Circle(i) => Ok(Self::Circle(i)),
7895 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
7896 EntityKey::Conic(i) => Ok(Self::Conic(i)),
7897 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
7898 EntityKey::Curve(i) => Ok(Self::Curve(i)),
7899 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
7900 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
7901 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
7902 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
7903 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
7904 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
7905 EntityKey::Line(i) => Ok(Self::Line(i)),
7906 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
7907 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
7908 EntityKey::Placement(i) => Ok(Self::Placement(i)),
7909 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
7910 EntityKey::Plane(i) => Ok(Self::Plane(i)),
7911 EntityKey::Point(i) => Ok(Self::Point(i)),
7912 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
7913 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
7914 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
7915 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
7916 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
7917 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
7918 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
7919 EntityKey::Surface(i) => Ok(Self::Surface(i)),
7920 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
7921 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
7922 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
7923 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
7924 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
7925 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
7926 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
7927 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
7928 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
7929 other => Err(format!(
7930 "expected GeometricSetSelectRef target, got {other:?}"
7931 )),
7932 }
7933 }
7934}
7935
7936#[derive(Debug, Clone, PartialEq)]
7937pub enum GeometricToleranceRef {
7938 AngularityTolerance(AngularityToleranceId),
7939 CircularRunoutTolerance(CircularRunoutToleranceId),
7940 CoaxialityTolerance(CoaxialityToleranceId),
7941 ConcentricityTolerance(ConcentricityToleranceId),
7942 CylindricityTolerance(CylindricityToleranceId),
7943 FlatnessTolerance(FlatnessToleranceId),
7944 GeometricTolerance(GeometricToleranceId),
7945 GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
7946 GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
7947 GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
7948 GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
7949 GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
7950 LineProfileTolerance(LineProfileToleranceId),
7951 ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
7952 ParallelismTolerance(ParallelismToleranceId),
7953 PerpendicularityTolerance(PerpendicularityToleranceId),
7954 PositionTolerance(PositionToleranceId),
7955 RoundnessTolerance(RoundnessToleranceId),
7956 StraightnessTolerance(StraightnessToleranceId),
7957 SurfaceProfileTolerance(SurfaceProfileToleranceId),
7958 SymmetryTolerance(SymmetryToleranceId),
7959 TotalRunoutTolerance(TotalRunoutToleranceId),
7960 UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
7961 Complex(ComplexUnitId),
7962}
7963impl GeometricToleranceRef {
7964 pub fn from_any(a: EntityKey) -> Result<Self, String> {
7965 match a {
7966 EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
7967 EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
7968 EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
7969 EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
7970 EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
7971 EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
7972 EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
7973 EntityKey::GeometricToleranceWithDatumReference(i) => {
7974 Ok(Self::GeometricToleranceWithDatumReference(i))
7975 }
7976 EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
7977 Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
7978 }
7979 EntityKey::GeometricToleranceWithDefinedUnit(i) => {
7980 Ok(Self::GeometricToleranceWithDefinedUnit(i))
7981 }
7982 EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
7983 Ok(Self::GeometricToleranceWithMaximumTolerance(i))
7984 }
7985 EntityKey::GeometricToleranceWithModifiers(i) => {
7986 Ok(Self::GeometricToleranceWithModifiers(i))
7987 }
7988 EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
7989 EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
7990 EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
7991 EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
7992 EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
7993 EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
7994 EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
7995 EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
7996 EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
7997 EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
7998 EntityKey::UnequallyDisposedGeometricTolerance(i) => {
7999 Ok(Self::UnequallyDisposedGeometricTolerance(i))
8000 }
8001 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
8002 other => Err(format!(
8003 "expected GeometricToleranceRef target, got {other:?}"
8004 )),
8005 }
8006 }
8007}
8008
8009#[derive(Debug, Clone, PartialEq)]
8010pub enum GeometricToleranceTargetRef {
8011 AllAroundShapeAspect(AllAroundShapeAspectId),
8012 AngularLocation(AngularLocationId),
8013 AngularSize(AngularSizeId),
8014 CentreOfSymmetry(CentreOfSymmetryId),
8015 CommonDatum(CommonDatumId),
8016 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
8017 CompositeShapeAspect(CompositeShapeAspectId),
8018 ContinuousShapeAspect(ContinuousShapeAspectId),
8019 Datum(DatumId),
8020 DatumFeature(DatumFeatureId),
8021 DatumReferenceCompartment(DatumReferenceCompartmentId),
8022 DatumReferenceElement(DatumReferenceElementId),
8023 DatumSystem(DatumSystemId),
8024 DatumTarget(DatumTargetId),
8025 DefaultModelGeometricView(DefaultModelGeometricViewId),
8026 DerivedShapeAspect(DerivedShapeAspectId),
8027 DimensionalLocation(DimensionalLocationId),
8028 DimensionalLocationWithPath(DimensionalLocationWithPathId),
8029 DimensionalSize(DimensionalSizeId),
8030 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
8031 DimensionalSizeWithPath(DimensionalSizeWithPathId),
8032 DirectedDimensionalLocation(DirectedDimensionalLocationId),
8033 GeneralDatumReference(GeneralDatumReferenceId),
8034 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
8035 ProductDefinitionShape(ProductDefinitionShapeId),
8036 ShapeAspect(ShapeAspectId),
8037 ToleranceZone(ToleranceZoneId),
8038 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
8039 Complex(ComplexUnitId),
8040}
8041impl GeometricToleranceTargetRef {
8042 pub fn from_any(a: EntityKey) -> Result<Self, String> {
8043 match a {
8044 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
8045 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
8046 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
8047 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
8048 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
8049 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
8050 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
8051 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
8052 EntityKey::Datum(i) => Ok(Self::Datum(i)),
8053 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
8054 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
8055 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
8056 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
8057 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
8058 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
8059 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
8060 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
8061 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
8062 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
8063 EntityKey::DimensionalSizeWithDatumFeature(i) => {
8064 Ok(Self::DimensionalSizeWithDatumFeature(i))
8065 }
8066 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
8067 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
8068 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
8069 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
8070 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
8071 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
8072 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
8073 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
8074 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
8075 other => Err(format!(
8076 "expected GeometricToleranceTargetRef target, got {other:?}"
8077 )),
8078 }
8079 }
8080}
8081
8082#[derive(Debug, Clone, PartialEq)]
8083pub enum GroupRef {
8084 Group(GroupId),
8085 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
8086 Complex(ComplexUnitId),
8087}
8088impl GroupRef {
8089 pub fn from_any(a: EntityKey) -> Result<Self, String> {
8090 match a {
8091 EntityKey::Group(i) => Ok(Self::Group(i)),
8092 EntityKey::ProductConceptFeatureCategory(i) => {
8093 Ok(Self::ProductConceptFeatureCategory(i))
8094 }
8095 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
8096 other => Err(format!("expected GroupRef target, got {other:?}")),
8097 }
8098 }
8099}
8100
8101#[derive(Debug, Clone, PartialEq)]
8102pub enum GroupableItemRef {
8103 ActionMethod(ActionMethodId),
8104 Address(AddressId),
8105 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
8106 AdvancedFace(AdvancedFaceId),
8107 AllAroundShapeAspect(AllAroundShapeAspectId),
8108 AngularLocation(AngularLocationId),
8109 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
8110 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
8111 AnnotationOccurrence(AnnotationOccurrenceId),
8112 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
8113 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
8114 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
8115 AnnotationPlane(AnnotationPlaneId),
8116 AnnotationSymbol(AnnotationSymbolId),
8117 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
8118 AnnotationText(AnnotationTextId),
8119 AnnotationTextCharacter(AnnotationTextCharacterId),
8120 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
8121 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
8122 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
8123 ApllPoint(ApllPointId),
8124 ApllPointWithSurface(ApllPointWithSurfaceId),
8125 AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
8126 AppliedGroupAssignment(AppliedGroupAssignmentId),
8127 Approval(ApprovalId),
8128 ApprovalPersonOrganization(ApprovalPersonOrganizationId),
8129 ApprovalStatus(ApprovalStatusId),
8130 AreaUnit(AreaUnitId),
8131 AscribableState(AscribableStateId),
8132 AscribableStateRelationship(AscribableStateRelationshipId),
8133 AssemblyComponentUsage(AssemblyComponentUsageId),
8134 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
8135 Axis1Placement(Axis1PlacementId),
8136 Axis2Placement2d(Axis2Placement2dId),
8137 Axis2Placement3d(Axis2Placement3dId),
8138 BSplineCurve(BSplineCurveId),
8139 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
8140 BSplineSurface(BSplineSurfaceId),
8141 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
8142 BezierCurve(BezierCurveId),
8143 BezierSurface(BezierSurfaceId),
8144 BoundedCurve(BoundedCurveId),
8145 BoundedPcurve(BoundedPcurveId),
8146 BoundedSurface(BoundedSurfaceId),
8147 BoundedSurfaceCurve(BoundedSurfaceCurveId),
8148 BrepWithVoids(BrepWithVoidsId),
8149 CalendarDate(CalendarDateId),
8150 CameraImage(CameraImageId),
8151 CameraImage3dWithScale(CameraImage3dWithScaleId),
8152 CameraModel(CameraModelId),
8153 CameraModelD3(CameraModelD3Id),
8154 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
8155 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
8156 CartesianPoint(CartesianPointId),
8157 CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
8158 CentreOfSymmetry(CentreOfSymmetryId),
8159 Certification(CertificationId),
8160 CharacterizedRepresentation(CharacterizedRepresentationId),
8161 Circle(CircleId),
8162 ClosedShell(ClosedShellId),
8163 CommonDatum(CommonDatumId),
8164 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
8165 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
8166 CompositeCurve(CompositeCurveId),
8167 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
8168 CompositeShapeAspect(CompositeShapeAspectId),
8169 CompositeText(CompositeTextId),
8170 CompoundRepresentationItem(CompoundRepresentationItemId),
8171 ConfigurationDesign(ConfigurationDesignId),
8172 ConfigurationEffectivity(ConfigurationEffectivityId),
8173 ConfigurationItem(ConfigurationItemId),
8174 Conic(ConicId),
8175 ConicalSurface(ConicalSurfaceId),
8176 ConnectedFaceSet(ConnectedFaceSetId),
8177 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
8178 ConstructiveGeometryRepresentationRelationship(
8179 ConstructiveGeometryRepresentationRelationshipId,
8180 ),
8181 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
8182 ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
8183 ContextDependentUnit(ContextDependentUnitId),
8184 ContinuousShapeAspect(ContinuousShapeAspectId),
8185 Contract(ContractId),
8186 ConversionBasedUnit(ConversionBasedUnitId),
8187 CoordinatedUniversalTimeOffset(CoordinatedUniversalTimeOffsetId),
8188 CoordinatesList(CoordinatesListId),
8189 Curve(CurveId),
8190 CylindricalSurface(CylindricalSurfaceId),
8191 DateAndTime(DateAndTimeId),
8192 DateAndTimeAssignment(DateAndTimeAssignmentId),
8193 Datum(DatumId),
8194 DatumFeature(DatumFeatureId),
8195 DatumReferenceCompartment(DatumReferenceCompartmentId),
8196 DatumReferenceElement(DatumReferenceElementId),
8197 DatumSystem(DatumSystemId),
8198 DatumTarget(DatumTargetId),
8199 DefaultModelGeometricView(DefaultModelGeometricViewId),
8200 DefinedCharacterGlyph(DefinedCharacterGlyphId),
8201 DefinedSymbol(DefinedSymbolId),
8202 DefinitionalRepresentation(DefinitionalRepresentationId),
8203 DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
8204 DefinitionalRepresentationRelationshipWithSameContext(
8205 DefinitionalRepresentationRelationshipWithSameContextId,
8206 ),
8207 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
8208 DerivedShapeAspect(DerivedShapeAspectId),
8209 DerivedUnit(DerivedUnitId),
8210 DerivedUnitElement(DerivedUnitElementId),
8211 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
8212 DesignContext(DesignContextId),
8213 DimensionalLocation(DimensionalLocationId),
8214 DimensionalLocationWithPath(DimensionalLocationWithPathId),
8215 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
8216 DirectedDimensionalLocation(DirectedDimensionalLocationId),
8217 Direction(DirectionId),
8218 DocumentFile(DocumentFileId),
8219 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
8220 DraughtingCallout(DraughtingCalloutId),
8221 DraughtingModel(DraughtingModelId),
8222 Edge(EdgeId),
8223 EdgeCurve(EdgeCurveId),
8224 EdgeLoop(EdgeLoopId),
8225 Effectivity(EffectivityId),
8226 ElementarySurface(ElementarySurfaceId),
8227 Ellipse(EllipseId),
8228 ExternalSource(ExternalSourceId),
8229 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
8230 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
8231 Face(FaceId),
8232 FaceBound(FaceBoundId),
8233 FaceOuterBound(FaceOuterBoundId),
8234 FaceSurface(FaceSurfaceId),
8235 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
8236 FillAreaStyleHatching(FillAreaStyleHatchingId),
8237 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
8238 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
8239 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
8240 FillAreaStyleTiles(FillAreaStyleTilesId),
8241 GeneralDatumReference(GeneralDatumReferenceId),
8242 GeneralProperty(GeneralPropertyId),
8243 GeometricCurveSet(GeometricCurveSetId),
8244 GeometricItemSpecificUsage(GeometricItemSpecificUsageId),
8245 GeometricRepresentationContext(GeometricRepresentationContextId),
8246 GeometricRepresentationItem(GeometricRepresentationItemId),
8247 GeometricSet(GeometricSetId),
8248 GeometricallyBoundedSurfaceShapeRepresentation(
8249 GeometricallyBoundedSurfaceShapeRepresentationId,
8250 ),
8251 GeometricallyBoundedWireframeShapeRepresentation(
8252 GeometricallyBoundedWireframeShapeRepresentationId,
8253 ),
8254 GlobalUncertaintyAssignedContext(GlobalUncertaintyAssignedContextId),
8255 GlobalUnitAssignedContext(GlobalUnitAssignedContextId),
8256 Hyperbola(HyperbolaId),
8257 IntegerRepresentationItem(IntegerRepresentationItemId),
8258 IntersectionCurve(IntersectionCurveId),
8259 ItemDefinedTransformation(ItemDefinedTransformationId),
8260 LeaderCurve(LeaderCurveId),
8261 LeaderDirectedCallout(LeaderDirectedCalloutId),
8262 LeaderTerminator(LeaderTerminatorId),
8263 LengthMeasureWithUnit(LengthMeasureWithUnitId),
8264 LengthUnit(LengthUnitId),
8265 Line(LineId),
8266 LocalTime(LocalTimeId),
8267 Loop(LoopId),
8268 MakeFromUsageOption(MakeFromUsageOptionId),
8269 ManifoldSolidBrep(ManifoldSolidBrepId),
8270 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
8271 MappedItem(MappedItemId),
8272 MassMeasureWithUnit(MassMeasureWithUnitId),
8273 MassUnit(MassUnitId),
8274 MeasureRepresentationItem(MeasureRepresentationItemId),
8275 MeasureWithUnit(MeasureWithUnitId),
8276 MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
8277 MechanicalDesignGeometricPresentationRepresentation(
8278 MechanicalDesignGeometricPresentationRepresentationId,
8279 ),
8280 MechanicalDesignPresentationRepresentationWithDraughting(
8281 MechanicalDesignPresentationRepresentationWithDraughtingId,
8282 ),
8283 MechanicalDesignShadedPresentationRepresentation(
8284 MechanicalDesignShadedPresentationRepresentationId,
8285 ),
8286 NamedUnit(NamedUnitId),
8287 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
8288 OffsetSurface(OffsetSurfaceId),
8289 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
8290 OpenShell(OpenShellId),
8291 Organization(OrganizationId),
8292 OrganizationRelationship(OrganizationRelationshipId),
8293 OrganizationType(OrganizationTypeId),
8294 OrganizationalAddress(OrganizationalAddressId),
8295 OrganizationalProject(OrganizationalProjectId),
8296 OrganizationalProjectRelationship(OrganizationalProjectRelationshipId),
8297 OrientedClosedShell(OrientedClosedShellId),
8298 OrientedEdge(OrientedEdgeId),
8299 OverRidingStyledItem(OverRidingStyledItemId),
8300 ParametricRepresentationContext(ParametricRepresentationContextId),
8301 Path(PathId),
8302 Pcurve(PcurveId),
8303 Person(PersonId),
8304 PersonAndOrganization(PersonAndOrganizationId),
8305 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
8306 PersonalAddress(PersonalAddressId),
8307 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
8308 Placement(PlacementId),
8309 PlanarBox(PlanarBoxId),
8310 PlanarExtent(PlanarExtentId),
8311 Plane(PlaneId),
8312 PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
8313 PlaneAngleUnit(PlaneAngleUnitId),
8314 Point(PointId),
8315 PolyLoop(PolyLoopId),
8316 Polyline(PolylineId),
8317 PrecisionQualifier(PrecisionQualifierId),
8318 PresentationArea(PresentationAreaId),
8319 PresentationRepresentation(PresentationRepresentationId),
8320 PresentationView(PresentationViewId),
8321 Product(ProductId),
8322 ProductConcept(ProductConceptId),
8323 ProductConceptContext(ProductConceptContextId),
8324 ProductDefinition(ProductDefinitionId),
8325 ProductDefinitionContext(ProductDefinitionContextId),
8326 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
8327 ProductDefinitionFormation(ProductDefinitionFormationId),
8328 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
8329 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
8330 ProductDefinitionShape(ProductDefinitionShapeId),
8331 ProductDefinitionUsage(ProductDefinitionUsageId),
8332 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
8333 PropertyDefinition(PropertyDefinitionId),
8334 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
8335 QualifiedRepresentationItem(QualifiedRepresentationItemId),
8336 QuasiUniformCurve(QuasiUniformCurveId),
8337 QuasiUniformSurface(QuasiUniformSurfaceId),
8338 RatioMeasureWithUnit(RatioMeasureWithUnitId),
8339 RatioUnit(RatioUnitId),
8340 RationalBSplineCurve(RationalBSplineCurveId),
8341 RationalBSplineSurface(RationalBSplineSurfaceId),
8342 RealRepresentationItem(RealRepresentationItemId),
8343 RepositionedTessellatedItem(RepositionedTessellatedItemId),
8344 Representation(RepresentationId),
8345 RepresentationContext(RepresentationContextId),
8346 RepresentationItem(RepresentationItemId),
8347 RepresentationRelationship(RepresentationRelationshipId),
8348 RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
8349 SeamCurve(SeamCurveId),
8350 SecurityClassification(SecurityClassificationId),
8351 ShapeAspect(ShapeAspectId),
8352 ShapeAspectAssociativity(ShapeAspectAssociativityId),
8353 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
8354 ShapeAspectRelationship(ShapeAspectRelationshipId),
8355 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
8356 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
8357 ShapeRepresentation(ShapeRepresentationId),
8358 ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
8359 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
8360 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
8361 SiUnit(SiUnitId),
8362 SolidAngleUnit(SolidAngleUnitId),
8363 SolidModel(SolidModelId),
8364 SphericalSurface(SphericalSurfaceId),
8365 StateObserved(StateObservedId),
8366 StateType(StateTypeId),
8367 StyledItem(StyledItemId),
8368 Surface(SurfaceId),
8369 SurfaceCurve(SurfaceCurveId),
8370 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
8371 SurfaceOfRevolution(SurfaceOfRevolutionId),
8372 SweptSurface(SweptSurfaceId),
8373 SymbolRepresentation(SymbolRepresentationId),
8374 SymbolTarget(SymbolTargetId),
8375 TerminatorSymbol(TerminatorSymbolId),
8376 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
8377 TessellatedCurveSet(TessellatedCurveSetId),
8378 TessellatedFace(TessellatedFaceId),
8379 TessellatedGeometricSet(TessellatedGeometricSetId),
8380 TessellatedItem(TessellatedItemId),
8381 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
8382 TessellatedShell(TessellatedShellId),
8383 TessellatedSolid(TessellatedSolidId),
8384 TessellatedStructuredItem(TessellatedStructuredItemId),
8385 TessellatedSurfaceSet(TessellatedSurfaceSetId),
8386 TextLiteral(TextLiteralId),
8387 TimeUnit(TimeUnitId),
8388 ToleranceZone(ToleranceZoneId),
8389 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
8390 TopologicalRepresentationItem(TopologicalRepresentationItemId),
8391 ToroidalSurface(ToroidalSurfaceId),
8392 TrimmedCurve(TrimmedCurveId),
8393 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
8394 TypeQualifier(TypeQualifierId),
8395 UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
8396 UncertaintyQualifier(UncertaintyQualifierId),
8397 UniformCurve(UniformCurveId),
8398 UniformSurface(UniformSurfaceId),
8399 ValueRepresentationItem(ValueRepresentationItemId),
8400 Vector(VectorId),
8401 VersionedActionRequest(VersionedActionRequestId),
8402 Vertex(VertexId),
8403 VertexLoop(VertexLoopId),
8404 VertexPoint(VertexPointId),
8405 VertexShell(VertexShellId),
8406 VolumeUnit(VolumeUnitId),
8407 WireShell(WireShellId),
8408 Complex(ComplexUnitId),
8409}
8410impl GroupableItemRef {
8411 pub fn from_any(a: EntityKey) -> Result<Self, String> {
8412 match a {
8413 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
8414 EntityKey::Address(i) => Ok(Self::Address(i)),
8415 EntityKey::AdvancedBrepShapeRepresentation(i) => {
8416 Ok(Self::AdvancedBrepShapeRepresentation(i))
8417 }
8418 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
8419 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
8420 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
8421 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
8422 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
8423 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
8424 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
8425 Ok(Self::AnnotationPlaceholderLeaderLine(i))
8426 }
8427 EntityKey::AnnotationPlaceholderOccurrence(i) => {
8428 Ok(Self::AnnotationPlaceholderOccurrence(i))
8429 }
8430 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
8431 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
8432 }
8433 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
8434 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
8435 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
8436 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
8437 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
8438 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
8439 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
8440 Ok(Self::AnnotationToAnnotationLeaderLine(i))
8441 }
8442 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
8443 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
8444 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
8445 EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
8446 EntityKey::AppliedGroupAssignment(i) => Ok(Self::AppliedGroupAssignment(i)),
8447 EntityKey::Approval(i) => Ok(Self::Approval(i)),
8448 EntityKey::ApprovalPersonOrganization(i) => Ok(Self::ApprovalPersonOrganization(i)),
8449 EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
8450 EntityKey::AreaUnit(i) => Ok(Self::AreaUnit(i)),
8451 EntityKey::AscribableState(i) => Ok(Self::AscribableState(i)),
8452 EntityKey::AscribableStateRelationship(i) => Ok(Self::AscribableStateRelationship(i)),
8453 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
8454 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
8455 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
8456 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
8457 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
8458 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
8459 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
8460 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
8461 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
8462 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
8463 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
8464 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
8465 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
8466 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
8467 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
8468 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
8469 EntityKey::CalendarDate(i) => Ok(Self::CalendarDate(i)),
8470 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
8471 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
8472 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
8473 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
8474 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
8475 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
8476 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
8477 EntityKey::CcDesignDateAndTimeAssignment(i) => {
8478 Ok(Self::CcDesignDateAndTimeAssignment(i))
8479 }
8480 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
8481 EntityKey::Certification(i) => Ok(Self::Certification(i)),
8482 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
8483 EntityKey::Circle(i) => Ok(Self::Circle(i)),
8484 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
8485 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
8486 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
8487 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
8488 Ok(Self::ComplexTriangulatedSurfaceSet(i))
8489 }
8490 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
8491 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
8492 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
8493 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
8494 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
8495 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
8496 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
8497 EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
8498 EntityKey::Conic(i) => Ok(Self::Conic(i)),
8499 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
8500 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
8501 EntityKey::ConstructiveGeometryRepresentation(i) => {
8502 Ok(Self::ConstructiveGeometryRepresentation(i))
8503 }
8504 EntityKey::ConstructiveGeometryRepresentationRelationship(i) => {
8505 Ok(Self::ConstructiveGeometryRepresentationRelationship(i))
8506 }
8507 EntityKey::ContextDependentOverRidingStyledItem(i) => {
8508 Ok(Self::ContextDependentOverRidingStyledItem(i))
8509 }
8510 EntityKey::ContextDependentShapeRepresentation(i) => {
8511 Ok(Self::ContextDependentShapeRepresentation(i))
8512 }
8513 EntityKey::ContextDependentUnit(i) => Ok(Self::ContextDependentUnit(i)),
8514 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
8515 EntityKey::Contract(i) => Ok(Self::Contract(i)),
8516 EntityKey::ConversionBasedUnit(i) => Ok(Self::ConversionBasedUnit(i)),
8517 EntityKey::CoordinatedUniversalTimeOffset(i) => {
8518 Ok(Self::CoordinatedUniversalTimeOffset(i))
8519 }
8520 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
8521 EntityKey::Curve(i) => Ok(Self::Curve(i)),
8522 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
8523 EntityKey::DateAndTime(i) => Ok(Self::DateAndTime(i)),
8524 EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
8525 EntityKey::Datum(i) => Ok(Self::Datum(i)),
8526 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
8527 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
8528 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
8529 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
8530 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
8531 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
8532 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
8533 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
8534 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
8535 EntityKey::DefinitionalRepresentationRelationship(i) => {
8536 Ok(Self::DefinitionalRepresentationRelationship(i))
8537 }
8538 EntityKey::DefinitionalRepresentationRelationshipWithSameContext(i) => Ok(
8539 Self::DefinitionalRepresentationRelationshipWithSameContext(i),
8540 ),
8541 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
8542 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
8543 EntityKey::DerivedUnit(i) => Ok(Self::DerivedUnit(i)),
8544 EntityKey::DerivedUnitElement(i) => Ok(Self::DerivedUnitElement(i)),
8545 EntityKey::DescriptiveRepresentationItem(i) => {
8546 Ok(Self::DescriptiveRepresentationItem(i))
8547 }
8548 EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
8549 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
8550 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
8551 EntityKey::DimensionalSizeWithDatumFeature(i) => {
8552 Ok(Self::DimensionalSizeWithDatumFeature(i))
8553 }
8554 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
8555 EntityKey::Direction(i) => Ok(Self::Direction(i)),
8556 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
8557 EntityKey::DraughtingAnnotationOccurrence(i) => {
8558 Ok(Self::DraughtingAnnotationOccurrence(i))
8559 }
8560 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
8561 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
8562 EntityKey::Edge(i) => Ok(Self::Edge(i)),
8563 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
8564 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
8565 EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
8566 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
8567 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
8568 EntityKey::ExternalSource(i) => Ok(Self::ExternalSource(i)),
8569 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
8570 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
8571 EntityKey::Face(i) => Ok(Self::Face(i)),
8572 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
8573 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
8574 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
8575 EntityKey::FeatureForDatumTargetRelationship(i) => {
8576 Ok(Self::FeatureForDatumTargetRelationship(i))
8577 }
8578 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
8579 EntityKey::FillAreaStyleTileColouredRegion(i) => {
8580 Ok(Self::FillAreaStyleTileColouredRegion(i))
8581 }
8582 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
8583 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
8584 }
8585 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
8586 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
8587 }
8588 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
8589 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
8590 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
8591 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
8592 EntityKey::GeometricItemSpecificUsage(i) => Ok(Self::GeometricItemSpecificUsage(i)),
8593 EntityKey::GeometricRepresentationContext(i) => {
8594 Ok(Self::GeometricRepresentationContext(i))
8595 }
8596 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
8597 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
8598 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
8599 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
8600 }
8601 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
8602 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
8603 }
8604 EntityKey::GlobalUncertaintyAssignedContext(i) => {
8605 Ok(Self::GlobalUncertaintyAssignedContext(i))
8606 }
8607 EntityKey::GlobalUnitAssignedContext(i) => Ok(Self::GlobalUnitAssignedContext(i)),
8608 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
8609 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
8610 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
8611 EntityKey::ItemDefinedTransformation(i) => Ok(Self::ItemDefinedTransformation(i)),
8612 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
8613 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
8614 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
8615 EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
8616 EntityKey::LengthUnit(i) => Ok(Self::LengthUnit(i)),
8617 EntityKey::Line(i) => Ok(Self::Line(i)),
8618 EntityKey::LocalTime(i) => Ok(Self::LocalTime(i)),
8619 EntityKey::Loop(i) => Ok(Self::Loop(i)),
8620 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
8621 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
8622 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
8623 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
8624 }
8625 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
8626 EntityKey::MassMeasureWithUnit(i) => Ok(Self::MassMeasureWithUnit(i)),
8627 EntityKey::MassUnit(i) => Ok(Self::MassUnit(i)),
8628 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
8629 EntityKey::MeasureWithUnit(i) => Ok(Self::MeasureWithUnit(i)),
8630 EntityKey::MechanicalDesignAndDraughtingRelationship(i) => {
8631 Ok(Self::MechanicalDesignAndDraughtingRelationship(i))
8632 }
8633 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
8634 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
8635 }
8636 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
8637 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
8638 }
8639 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
8640 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
8641 }
8642 EntityKey::NamedUnit(i) => Ok(Self::NamedUnit(i)),
8643 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
8644 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
8645 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
8646 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
8647 EntityKey::Organization(i) => Ok(Self::Organization(i)),
8648 EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
8649 EntityKey::OrganizationType(i) => Ok(Self::OrganizationType(i)),
8650 EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
8651 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
8652 EntityKey::OrganizationalProjectRelationship(i) => {
8653 Ok(Self::OrganizationalProjectRelationship(i))
8654 }
8655 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
8656 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
8657 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
8658 EntityKey::ParametricRepresentationContext(i) => {
8659 Ok(Self::ParametricRepresentationContext(i))
8660 }
8661 EntityKey::Path(i) => Ok(Self::Path(i)),
8662 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
8663 EntityKey::Person(i) => Ok(Self::Person(i)),
8664 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
8665 EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
8666 EntityKey::PersonalAddress(i) => Ok(Self::PersonalAddress(i)),
8667 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
8668 EntityKey::Placement(i) => Ok(Self::Placement(i)),
8669 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
8670 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
8671 EntityKey::Plane(i) => Ok(Self::Plane(i)),
8672 EntityKey::PlaneAngleMeasureWithUnit(i) => Ok(Self::PlaneAngleMeasureWithUnit(i)),
8673 EntityKey::PlaneAngleUnit(i) => Ok(Self::PlaneAngleUnit(i)),
8674 EntityKey::Point(i) => Ok(Self::Point(i)),
8675 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
8676 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
8677 EntityKey::PrecisionQualifier(i) => Ok(Self::PrecisionQualifier(i)),
8678 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
8679 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
8680 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
8681 EntityKey::Product(i) => Ok(Self::Product(i)),
8682 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
8683 EntityKey::ProductConceptContext(i) => Ok(Self::ProductConceptContext(i)),
8684 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
8685 EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
8686 EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
8687 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
8688 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
8689 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
8690 }
8691 EntityKey::ProductDefinitionRelationship(i) => {
8692 Ok(Self::ProductDefinitionRelationship(i))
8693 }
8694 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
8695 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
8696 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
8697 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
8698 }
8699 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
8700 EntityKey::PropertyDefinitionRepresentation(i) => {
8701 Ok(Self::PropertyDefinitionRepresentation(i))
8702 }
8703 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
8704 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
8705 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
8706 EntityKey::RatioMeasureWithUnit(i) => Ok(Self::RatioMeasureWithUnit(i)),
8707 EntityKey::RatioUnit(i) => Ok(Self::RatioUnit(i)),
8708 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
8709 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
8710 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
8711 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
8712 EntityKey::Representation(i) => Ok(Self::Representation(i)),
8713 EntityKey::RepresentationContext(i) => Ok(Self::RepresentationContext(i)),
8714 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
8715 EntityKey::RepresentationRelationship(i) => Ok(Self::RepresentationRelationship(i)),
8716 EntityKey::RepresentationRelationshipWithTransformation(i) => {
8717 Ok(Self::RepresentationRelationshipWithTransformation(i))
8718 }
8719 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
8720 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
8721 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
8722 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
8723 EntityKey::ShapeAspectDerivingRelationship(i) => {
8724 Ok(Self::ShapeAspectDerivingRelationship(i))
8725 }
8726 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
8727 EntityKey::ShapeDefinitionRepresentation(i) => {
8728 Ok(Self::ShapeDefinitionRepresentation(i))
8729 }
8730 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
8731 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
8732 EntityKey::ShapeRepresentationRelationship(i) => {
8733 Ok(Self::ShapeRepresentationRelationship(i))
8734 }
8735 EntityKey::ShapeRepresentationWithParameters(i) => {
8736 Ok(Self::ShapeRepresentationWithParameters(i))
8737 }
8738 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
8739 EntityKey::SiUnit(i) => Ok(Self::SiUnit(i)),
8740 EntityKey::SolidAngleUnit(i) => Ok(Self::SolidAngleUnit(i)),
8741 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
8742 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
8743 EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
8744 EntityKey::StateType(i) => Ok(Self::StateType(i)),
8745 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
8746 EntityKey::Surface(i) => Ok(Self::Surface(i)),
8747 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
8748 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
8749 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
8750 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
8751 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
8752 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
8753 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
8754 EntityKey::TessellatedAnnotationOccurrence(i) => {
8755 Ok(Self::TessellatedAnnotationOccurrence(i))
8756 }
8757 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
8758 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
8759 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
8760 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
8761 EntityKey::TessellatedShapeRepresentation(i) => {
8762 Ok(Self::TessellatedShapeRepresentation(i))
8763 }
8764 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
8765 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
8766 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
8767 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
8768 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
8769 EntityKey::TimeUnit(i) => Ok(Self::TimeUnit(i)),
8770 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
8771 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
8772 EntityKey::TopologicalRepresentationItem(i) => {
8773 Ok(Self::TopologicalRepresentationItem(i))
8774 }
8775 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
8776 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
8777 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
8778 EntityKey::TypeQualifier(i) => Ok(Self::TypeQualifier(i)),
8779 EntityKey::UncertaintyMeasureWithUnit(i) => Ok(Self::UncertaintyMeasureWithUnit(i)),
8780 EntityKey::UncertaintyQualifier(i) => Ok(Self::UncertaintyQualifier(i)),
8781 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
8782 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
8783 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
8784 EntityKey::Vector(i) => Ok(Self::Vector(i)),
8785 EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
8786 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
8787 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
8788 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
8789 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
8790 EntityKey::VolumeUnit(i) => Ok(Self::VolumeUnit(i)),
8791 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
8792 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
8793 other => Err(format!("expected GroupableItemRef target, got {other:?}")),
8794 }
8795 }
8796}
8797
8798#[derive(Debug, Clone, PartialEq)]
8799pub enum IdAttributeSelectRef {
8800 Action(ActionId),
8801 Address(AddressId),
8802 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
8803 AdvancedFace(AdvancedFaceId),
8804 AllAroundShapeAspect(AllAroundShapeAspectId),
8805 AngularLocation(AngularLocationId),
8806 AngularSize(AngularSizeId),
8807 AngularityTolerance(AngularityToleranceId),
8808 ApplicationContext(ApplicationContextId),
8809 AscribableStateRelationship(AscribableStateRelationshipId),
8810 CentreOfSymmetry(CentreOfSymmetryId),
8811 CharacterizedRepresentation(CharacterizedRepresentationId),
8812 CircularRunoutTolerance(CircularRunoutToleranceId),
8813 ClosedShell(ClosedShellId),
8814 CoaxialityTolerance(CoaxialityToleranceId),
8815 CommonDatum(CommonDatumId),
8816 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
8817 CompositeShapeAspect(CompositeShapeAspectId),
8818 ConcentricityTolerance(ConcentricityToleranceId),
8819 ConnectedFaceSet(ConnectedFaceSetId),
8820 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
8821 ContinuousShapeAspect(ContinuousShapeAspectId),
8822 CylindricityTolerance(CylindricityToleranceId),
8823 Datum(DatumId),
8824 DatumFeature(DatumFeatureId),
8825 DatumReferenceCompartment(DatumReferenceCompartmentId),
8826 DatumReferenceElement(DatumReferenceElementId),
8827 DatumSystem(DatumSystemId),
8828 DatumTarget(DatumTargetId),
8829 DefaultModelGeometricView(DefaultModelGeometricViewId),
8830 DefinitionalRepresentation(DefinitionalRepresentationId),
8831 DerivedShapeAspect(DerivedShapeAspectId),
8832 DimensionalLocation(DimensionalLocationId),
8833 DimensionalLocationWithPath(DimensionalLocationWithPathId),
8834 DimensionalSize(DimensionalSizeId),
8835 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
8836 DimensionalSizeWithPath(DimensionalSizeWithPathId),
8837 DirectedDimensionalLocation(DirectedDimensionalLocationId),
8838 DraughtingModel(DraughtingModelId),
8839 Edge(EdgeId),
8840 EdgeCurve(EdgeCurveId),
8841 EdgeLoop(EdgeLoopId),
8842 Face(FaceId),
8843 FaceBound(FaceBoundId),
8844 FaceOuterBound(FaceOuterBoundId),
8845 FaceSurface(FaceSurfaceId),
8846 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
8847 FlatnessTolerance(FlatnessToleranceId),
8848 GeneralDatumReference(GeneralDatumReferenceId),
8849 GeometricTolerance(GeometricToleranceId),
8850 GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
8851 GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
8852 GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
8853 GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
8854 GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
8855 GeometricallyBoundedSurfaceShapeRepresentation(
8856 GeometricallyBoundedSurfaceShapeRepresentationId,
8857 ),
8858 GeometricallyBoundedWireframeShapeRepresentation(
8859 GeometricallyBoundedWireframeShapeRepresentationId,
8860 ),
8861 Group(GroupId),
8862 LineProfileTolerance(LineProfileToleranceId),
8863 Loop(LoopId),
8864 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
8865 MechanicalDesignGeometricPresentationRepresentation(
8866 MechanicalDesignGeometricPresentationRepresentationId,
8867 ),
8868 MechanicalDesignPresentationRepresentationWithDraughting(
8869 MechanicalDesignPresentationRepresentationWithDraughtingId,
8870 ),
8871 MechanicalDesignShadedPresentationRepresentation(
8872 MechanicalDesignShadedPresentationRepresentationId,
8873 ),
8874 ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
8875 OpenShell(OpenShellId),
8876 OrganizationalAddress(OrganizationalAddressId),
8877 OrganizationalProject(OrganizationalProjectId),
8878 OrientedClosedShell(OrientedClosedShellId),
8879 OrientedEdge(OrientedEdgeId),
8880 ParallelismTolerance(ParallelismToleranceId),
8881 Path(PathId),
8882 PerpendicularityTolerance(PerpendicularityToleranceId),
8883 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
8884 PersonalAddress(PersonalAddressId),
8885 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
8886 PolyLoop(PolyLoopId),
8887 PositionTolerance(PositionToleranceId),
8888 PresentationArea(PresentationAreaId),
8889 PresentationRepresentation(PresentationRepresentationId),
8890 PresentationView(PresentationViewId),
8891 ProductCategory(ProductCategoryId),
8892 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
8893 ProductDefinitionShape(ProductDefinitionShapeId),
8894 ProductRelatedProductCategory(ProductRelatedProductCategoryId),
8895 PropertyDefinition(PropertyDefinitionId),
8896 Representation(RepresentationId),
8897 RoundnessTolerance(RoundnessToleranceId),
8898 ShapeAspect(ShapeAspectId),
8899 ShapeAspectAssociativity(ShapeAspectAssociativityId),
8900 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
8901 ShapeAspectRelationship(ShapeAspectRelationshipId),
8902 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
8903 ShapeRepresentation(ShapeRepresentationId),
8904 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
8905 StraightnessTolerance(StraightnessToleranceId),
8906 SurfaceProfileTolerance(SurfaceProfileToleranceId),
8907 SymbolRepresentation(SymbolRepresentationId),
8908 SymmetryTolerance(SymmetryToleranceId),
8909 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
8910 ToleranceZone(ToleranceZoneId),
8911 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
8912 TopologicalRepresentationItem(TopologicalRepresentationItemId),
8913 TotalRunoutTolerance(TotalRunoutToleranceId),
8914 UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
8915 Vertex(VertexId),
8916 VertexLoop(VertexLoopId),
8917 VertexPoint(VertexPointId),
8918 VertexShell(VertexShellId),
8919 WireShell(WireShellId),
8920 Complex(ComplexUnitId),
8921}
8922impl IdAttributeSelectRef {
8923 pub fn from_any(a: EntityKey) -> Result<Self, String> {
8924 match a {
8925 EntityKey::Action(i) => Ok(Self::Action(i)),
8926 EntityKey::Address(i) => Ok(Self::Address(i)),
8927 EntityKey::AdvancedBrepShapeRepresentation(i) => {
8928 Ok(Self::AdvancedBrepShapeRepresentation(i))
8929 }
8930 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
8931 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
8932 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
8933 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
8934 EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
8935 EntityKey::ApplicationContext(i) => Ok(Self::ApplicationContext(i)),
8936 EntityKey::AscribableStateRelationship(i) => Ok(Self::AscribableStateRelationship(i)),
8937 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
8938 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
8939 EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
8940 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
8941 EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
8942 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
8943 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
8944 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
8945 EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
8946 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
8947 EntityKey::ConstructiveGeometryRepresentation(i) => {
8948 Ok(Self::ConstructiveGeometryRepresentation(i))
8949 }
8950 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
8951 EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
8952 EntityKey::Datum(i) => Ok(Self::Datum(i)),
8953 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
8954 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
8955 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
8956 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
8957 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
8958 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
8959 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
8960 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
8961 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
8962 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
8963 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
8964 EntityKey::DimensionalSizeWithDatumFeature(i) => {
8965 Ok(Self::DimensionalSizeWithDatumFeature(i))
8966 }
8967 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
8968 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
8969 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
8970 EntityKey::Edge(i) => Ok(Self::Edge(i)),
8971 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
8972 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
8973 EntityKey::Face(i) => Ok(Self::Face(i)),
8974 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
8975 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
8976 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
8977 EntityKey::FeatureForDatumTargetRelationship(i) => {
8978 Ok(Self::FeatureForDatumTargetRelationship(i))
8979 }
8980 EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
8981 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
8982 EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
8983 EntityKey::GeometricToleranceWithDatumReference(i) => {
8984 Ok(Self::GeometricToleranceWithDatumReference(i))
8985 }
8986 EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
8987 Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
8988 }
8989 EntityKey::GeometricToleranceWithDefinedUnit(i) => {
8990 Ok(Self::GeometricToleranceWithDefinedUnit(i))
8991 }
8992 EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
8993 Ok(Self::GeometricToleranceWithMaximumTolerance(i))
8994 }
8995 EntityKey::GeometricToleranceWithModifiers(i) => {
8996 Ok(Self::GeometricToleranceWithModifiers(i))
8997 }
8998 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
8999 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
9000 }
9001 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
9002 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
9003 }
9004 EntityKey::Group(i) => Ok(Self::Group(i)),
9005 EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
9006 EntityKey::Loop(i) => Ok(Self::Loop(i)),
9007 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
9008 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
9009 }
9010 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
9011 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
9012 }
9013 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
9014 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
9015 }
9016 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
9017 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
9018 }
9019 EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
9020 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
9021 EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
9022 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
9023 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
9024 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
9025 EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
9026 EntityKey::Path(i) => Ok(Self::Path(i)),
9027 EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
9028 EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
9029 EntityKey::PersonalAddress(i) => Ok(Self::PersonalAddress(i)),
9030 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
9031 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
9032 EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
9033 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
9034 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
9035 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
9036 EntityKey::ProductCategory(i) => Ok(Self::ProductCategory(i)),
9037 EntityKey::ProductConceptFeatureCategory(i) => {
9038 Ok(Self::ProductConceptFeatureCategory(i))
9039 }
9040 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
9041 EntityKey::ProductRelatedProductCategory(i) => {
9042 Ok(Self::ProductRelatedProductCategory(i))
9043 }
9044 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
9045 EntityKey::Representation(i) => Ok(Self::Representation(i)),
9046 EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
9047 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
9048 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
9049 EntityKey::ShapeAspectDerivingRelationship(i) => {
9050 Ok(Self::ShapeAspectDerivingRelationship(i))
9051 }
9052 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
9053 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
9054 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
9055 EntityKey::ShapeRepresentationWithParameters(i) => {
9056 Ok(Self::ShapeRepresentationWithParameters(i))
9057 }
9058 EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
9059 EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
9060 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
9061 EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
9062 EntityKey::TessellatedShapeRepresentation(i) => {
9063 Ok(Self::TessellatedShapeRepresentation(i))
9064 }
9065 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
9066 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
9067 EntityKey::TopologicalRepresentationItem(i) => {
9068 Ok(Self::TopologicalRepresentationItem(i))
9069 }
9070 EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
9071 EntityKey::UnequallyDisposedGeometricTolerance(i) => {
9072 Ok(Self::UnequallyDisposedGeometricTolerance(i))
9073 }
9074 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
9075 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
9076 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
9077 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
9078 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
9079 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
9080 other => Err(format!(
9081 "expected IdAttributeSelectRef target, got {other:?}"
9082 )),
9083 }
9084 }
9085}
9086
9087#[derive(Debug, Clone, PartialEq)]
9088pub enum IdentificationRoleRef {
9089 IdentificationRole(IdentificationRoleId),
9090}
9091impl IdentificationRoleRef {
9092 pub fn from_any(a: EntityKey) -> Result<Self, String> {
9093 match a {
9094 EntityKey::IdentificationRole(i) => Ok(Self::IdentificationRole(i)),
9095 other => Err(format!(
9096 "expected IdentificationRoleRef target, got {other:?}"
9097 )),
9098 }
9099 }
9100}
9101
9102#[derive(Debug, Clone, PartialEq)]
9103pub enum InvisibleItemRef {
9104 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
9105 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
9106 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
9107 AnnotationOccurrence(AnnotationOccurrenceId),
9108 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
9109 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
9110 AnnotationPlane(AnnotationPlaneId),
9111 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
9112 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
9113 CharacterizedRepresentation(CharacterizedRepresentationId),
9114 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
9115 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
9116 DefinitionalRepresentation(DefinitionalRepresentationId),
9117 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
9118 DraughtingCallout(DraughtingCalloutId),
9119 DraughtingModel(DraughtingModelId),
9120 GeometricallyBoundedSurfaceShapeRepresentation(
9121 GeometricallyBoundedSurfaceShapeRepresentationId,
9122 ),
9123 GeometricallyBoundedWireframeShapeRepresentation(
9124 GeometricallyBoundedWireframeShapeRepresentationId,
9125 ),
9126 LeaderCurve(LeaderCurveId),
9127 LeaderDirectedCallout(LeaderDirectedCalloutId),
9128 LeaderTerminator(LeaderTerminatorId),
9129 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
9130 MechanicalDesignGeometricPresentationRepresentation(
9131 MechanicalDesignGeometricPresentationRepresentationId,
9132 ),
9133 MechanicalDesignPresentationRepresentationWithDraughting(
9134 MechanicalDesignPresentationRepresentationWithDraughtingId,
9135 ),
9136 MechanicalDesignShadedPresentationRepresentation(
9137 MechanicalDesignShadedPresentationRepresentationId,
9138 ),
9139 OverRidingStyledItem(OverRidingStyledItemId),
9140 PresentationArea(PresentationAreaId),
9141 PresentationLayerAssignment(PresentationLayerAssignmentId),
9142 PresentationRepresentation(PresentationRepresentationId),
9143 PresentationView(PresentationViewId),
9144 Representation(RepresentationId),
9145 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
9146 ShapeRepresentation(ShapeRepresentationId),
9147 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
9148 StyledItem(StyledItemId),
9149 SymbolRepresentation(SymbolRepresentationId),
9150 TerminatorSymbol(TerminatorSymbolId),
9151 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
9152 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
9153 Complex(ComplexUnitId),
9154}
9155impl InvisibleItemRef {
9156 pub fn from_any(a: EntityKey) -> Result<Self, String> {
9157 match a {
9158 EntityKey::AdvancedBrepShapeRepresentation(i) => {
9159 Ok(Self::AdvancedBrepShapeRepresentation(i))
9160 }
9161 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
9162 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
9163 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
9164 EntityKey::AnnotationPlaceholderOccurrence(i) => {
9165 Ok(Self::AnnotationPlaceholderOccurrence(i))
9166 }
9167 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
9168 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
9169 }
9170 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
9171 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
9172 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
9173 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
9174 EntityKey::ConstructiveGeometryRepresentation(i) => {
9175 Ok(Self::ConstructiveGeometryRepresentation(i))
9176 }
9177 EntityKey::ContextDependentOverRidingStyledItem(i) => {
9178 Ok(Self::ContextDependentOverRidingStyledItem(i))
9179 }
9180 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
9181 EntityKey::DraughtingAnnotationOccurrence(i) => {
9182 Ok(Self::DraughtingAnnotationOccurrence(i))
9183 }
9184 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
9185 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
9186 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
9187 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
9188 }
9189 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
9190 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
9191 }
9192 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
9193 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
9194 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
9195 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
9196 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
9197 }
9198 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
9199 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
9200 }
9201 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
9202 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
9203 }
9204 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
9205 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
9206 }
9207 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
9208 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
9209 EntityKey::PresentationLayerAssignment(i) => Ok(Self::PresentationLayerAssignment(i)),
9210 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
9211 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
9212 EntityKey::Representation(i) => Ok(Self::Representation(i)),
9213 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
9214 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
9215 EntityKey::ShapeRepresentationWithParameters(i) => {
9216 Ok(Self::ShapeRepresentationWithParameters(i))
9217 }
9218 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
9219 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
9220 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
9221 EntityKey::TessellatedAnnotationOccurrence(i) => {
9222 Ok(Self::TessellatedAnnotationOccurrence(i))
9223 }
9224 EntityKey::TessellatedShapeRepresentation(i) => {
9225 Ok(Self::TessellatedShapeRepresentation(i))
9226 }
9227 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
9228 other => Err(format!("expected InvisibleItemRef target, got {other:?}")),
9229 }
9230 }
9231}
9232
9233#[derive(Debug, Clone, PartialEq)]
9234pub enum ItemDefinedTransformationRef {
9235 ItemDefinedTransformation(ItemDefinedTransformationId),
9236 Complex(ComplexUnitId),
9237}
9238impl ItemDefinedTransformationRef {
9239 pub fn from_any(a: EntityKey) -> Result<Self, String> {
9240 match a {
9241 EntityKey::ItemDefinedTransformation(i) => Ok(Self::ItemDefinedTransformation(i)),
9242 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
9243 other => Err(format!(
9244 "expected ItemDefinedTransformationRef target, got {other:?}"
9245 )),
9246 }
9247 }
9248}
9249
9250#[derive(Debug, Clone, PartialEq)]
9251pub enum ItemIdentifiedRepresentationUsageDefinitionRef {
9252 AllAroundShapeAspect(AllAroundShapeAspectId),
9253 AngularLocation(AngularLocationId),
9254 AngularSize(AngularSizeId),
9255 AngularityTolerance(AngularityToleranceId),
9256 AppliedApprovalAssignment(AppliedApprovalAssignmentId),
9257 AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
9258 AppliedDocumentReference(AppliedDocumentReferenceId),
9259 AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
9260 AppliedGroupAssignment(AppliedGroupAssignmentId),
9261 AppliedPersonAndOrganizationAssignment(AppliedPersonAndOrganizationAssignmentId),
9262 AssemblyComponentUsage(AssemblyComponentUsageId),
9263 CentreOfSymmetry(CentreOfSymmetryId),
9264 CharacterizedItemWithinRepresentation(CharacterizedItemWithinRepresentationId),
9265 CharacterizedObject(CharacterizedObjectId),
9266 CharacterizedRepresentation(CharacterizedRepresentationId),
9267 CircularRunoutTolerance(CircularRunoutToleranceId),
9268 CoaxialityTolerance(CoaxialityToleranceId),
9269 CommonDatum(CommonDatumId),
9270 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
9271 CompositeShapeAspect(CompositeShapeAspectId),
9272 ConcentricityTolerance(ConcentricityToleranceId),
9273 ContinuousShapeAspect(ContinuousShapeAspectId),
9274 CylindricityTolerance(CylindricityToleranceId),
9275 Datum(DatumId),
9276 DatumFeature(DatumFeatureId),
9277 DatumReferenceCompartment(DatumReferenceCompartmentId),
9278 DatumReferenceElement(DatumReferenceElementId),
9279 DatumSystem(DatumSystemId),
9280 DatumTarget(DatumTargetId),
9281 DefaultModelGeometricView(DefaultModelGeometricViewId),
9282 DerivedShapeAspect(DerivedShapeAspectId),
9283 DimensionalLocation(DimensionalLocationId),
9284 DimensionalLocationWithPath(DimensionalLocationWithPathId),
9285 DimensionalSize(DimensionalSizeId),
9286 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
9287 DimensionalSizeWithPath(DimensionalSizeWithPathId),
9288 DirectedDimensionalLocation(DirectedDimensionalLocationId),
9289 DocumentFile(DocumentFileId),
9290 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
9291 FlatnessTolerance(FlatnessToleranceId),
9292 GeneralDatumReference(GeneralDatumReferenceId),
9293 GeneralProperty(GeneralPropertyId),
9294 GeometricTolerance(GeometricToleranceId),
9295 GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
9296 GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
9297 GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
9298 GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
9299 GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
9300 LineProfileTolerance(LineProfileToleranceId),
9301 MakeFromUsageOption(MakeFromUsageOptionId),
9302 ModelGeometricView(ModelGeometricViewId),
9303 ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
9304 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
9305 ParallelismTolerance(ParallelismToleranceId),
9306 PerpendicularityTolerance(PerpendicularityToleranceId),
9307 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
9308 PositionTolerance(PositionToleranceId),
9309 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
9310 ProductDefinitionShape(ProductDefinitionShapeId),
9311 ProductDefinitionUsage(ProductDefinitionUsageId),
9312 PropertyDefinition(PropertyDefinitionId),
9313 PropertyDefinitionRelationship(PropertyDefinitionRelationshipId),
9314 RoundnessTolerance(RoundnessToleranceId),
9315 ShapeAspect(ShapeAspectId),
9316 ShapeAspectAssociativity(ShapeAspectAssociativityId),
9317 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
9318 ShapeAspectRelationship(ShapeAspectRelationshipId),
9319 StraightnessTolerance(StraightnessToleranceId),
9320 SurfaceProfileTolerance(SurfaceProfileToleranceId),
9321 SymmetryTolerance(SymmetryToleranceId),
9322 ToleranceZone(ToleranceZoneId),
9323 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
9324 TotalRunoutTolerance(TotalRunoutToleranceId),
9325 UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
9326 Complex(ComplexUnitId),
9327}
9328impl ItemIdentifiedRepresentationUsageDefinitionRef {
9329 pub fn from_any(a: EntityKey) -> Result<Self, String> {
9330 match a {
9331 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
9332 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
9333 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
9334 EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
9335 EntityKey::AppliedApprovalAssignment(i) => Ok(Self::AppliedApprovalAssignment(i)),
9336 EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
9337 EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
9338 EntityKey::AppliedExternalIdentificationAssignment(i) => {
9339 Ok(Self::AppliedExternalIdentificationAssignment(i))
9340 }
9341 EntityKey::AppliedGroupAssignment(i) => Ok(Self::AppliedGroupAssignment(i)),
9342 EntityKey::AppliedPersonAndOrganizationAssignment(i) => {
9343 Ok(Self::AppliedPersonAndOrganizationAssignment(i))
9344 }
9345 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
9346 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
9347 EntityKey::CharacterizedItemWithinRepresentation(i) => {
9348 Ok(Self::CharacterizedItemWithinRepresentation(i))
9349 }
9350 EntityKey::CharacterizedObject(i) => Ok(Self::CharacterizedObject(i)),
9351 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
9352 EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
9353 EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
9354 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
9355 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
9356 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
9357 EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
9358 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
9359 EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
9360 EntityKey::Datum(i) => Ok(Self::Datum(i)),
9361 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
9362 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
9363 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
9364 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
9365 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
9366 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
9367 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
9368 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
9369 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
9370 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
9371 EntityKey::DimensionalSizeWithDatumFeature(i) => {
9372 Ok(Self::DimensionalSizeWithDatumFeature(i))
9373 }
9374 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
9375 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
9376 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
9377 EntityKey::FeatureForDatumTargetRelationship(i) => {
9378 Ok(Self::FeatureForDatumTargetRelationship(i))
9379 }
9380 EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
9381 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
9382 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
9383 EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
9384 EntityKey::GeometricToleranceWithDatumReference(i) => {
9385 Ok(Self::GeometricToleranceWithDatumReference(i))
9386 }
9387 EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
9388 Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
9389 }
9390 EntityKey::GeometricToleranceWithDefinedUnit(i) => {
9391 Ok(Self::GeometricToleranceWithDefinedUnit(i))
9392 }
9393 EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
9394 Ok(Self::GeometricToleranceWithMaximumTolerance(i))
9395 }
9396 EntityKey::GeometricToleranceWithModifiers(i) => {
9397 Ok(Self::GeometricToleranceWithModifiers(i))
9398 }
9399 EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
9400 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
9401 EntityKey::ModelGeometricView(i) => Ok(Self::ModelGeometricView(i)),
9402 EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
9403 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
9404 EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
9405 EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
9406 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
9407 EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
9408 EntityKey::ProductDefinitionRelationship(i) => {
9409 Ok(Self::ProductDefinitionRelationship(i))
9410 }
9411 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
9412 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
9413 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
9414 EntityKey::PropertyDefinitionRelationship(i) => {
9415 Ok(Self::PropertyDefinitionRelationship(i))
9416 }
9417 EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
9418 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
9419 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
9420 EntityKey::ShapeAspectDerivingRelationship(i) => {
9421 Ok(Self::ShapeAspectDerivingRelationship(i))
9422 }
9423 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
9424 EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
9425 EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
9426 EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
9427 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
9428 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
9429 EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
9430 EntityKey::UnequallyDisposedGeometricTolerance(i) => {
9431 Ok(Self::UnequallyDisposedGeometricTolerance(i))
9432 }
9433 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
9434 other => Err(format!(
9435 "expected ItemIdentifiedRepresentationUsageDefinitionRef target, got {other:?}"
9436 )),
9437 }
9438 }
9439}
9440
9441#[derive(Debug, Clone, PartialEq)]
9442pub enum ItemIdentifiedRepresentationUsageSelectRef {
9443 AdvancedFace(AdvancedFaceId),
9444 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
9445 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
9446 AnnotationOccurrence(AnnotationOccurrenceId),
9447 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
9448 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
9449 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
9450 AnnotationPlane(AnnotationPlaneId),
9451 AnnotationSymbol(AnnotationSymbolId),
9452 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
9453 AnnotationText(AnnotationTextId),
9454 AnnotationTextCharacter(AnnotationTextCharacterId),
9455 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
9456 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
9457 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
9458 ApllPoint(ApllPointId),
9459 ApllPointWithSurface(ApllPointWithSurfaceId),
9460 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
9461 Axis1Placement(Axis1PlacementId),
9462 Axis2Placement2d(Axis2Placement2dId),
9463 Axis2Placement3d(Axis2Placement3dId),
9464 BSplineCurve(BSplineCurveId),
9465 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
9466 BSplineSurface(BSplineSurfaceId),
9467 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
9468 BezierCurve(BezierCurveId),
9469 BezierSurface(BezierSurfaceId),
9470 BoundedCurve(BoundedCurveId),
9471 BoundedPcurve(BoundedPcurveId),
9472 BoundedSurface(BoundedSurfaceId),
9473 BoundedSurfaceCurve(BoundedSurfaceCurveId),
9474 BrepWithVoids(BrepWithVoidsId),
9475 CameraImage(CameraImageId),
9476 CameraImage3dWithScale(CameraImage3dWithScaleId),
9477 CameraModel(CameraModelId),
9478 CameraModelD3(CameraModelD3Id),
9479 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
9480 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
9481 CartesianPoint(CartesianPointId),
9482 Circle(CircleId),
9483 ClosedShell(ClosedShellId),
9484 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
9485 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
9486 CompositeCurve(CompositeCurveId),
9487 CompositeText(CompositeTextId),
9488 CompoundRepresentationItem(CompoundRepresentationItemId),
9489 Conic(ConicId),
9490 ConicalSurface(ConicalSurfaceId),
9491 ConnectedFaceSet(ConnectedFaceSetId),
9492 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
9493 CoordinatesList(CoordinatesListId),
9494 Curve(CurveId),
9495 CylindricalSurface(CylindricalSurfaceId),
9496 DefinedCharacterGlyph(DefinedCharacterGlyphId),
9497 DefinedSymbol(DefinedSymbolId),
9498 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
9499 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
9500 Direction(DirectionId),
9501 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
9502 DraughtingCallout(DraughtingCalloutId),
9503 Edge(EdgeId),
9504 EdgeCurve(EdgeCurveId),
9505 EdgeLoop(EdgeLoopId),
9506 ElementarySurface(ElementarySurfaceId),
9507 Ellipse(EllipseId),
9508 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
9509 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
9510 Face(FaceId),
9511 FaceBound(FaceBoundId),
9512 FaceOuterBound(FaceOuterBoundId),
9513 FaceSurface(FaceSurfaceId),
9514 FillAreaStyleHatching(FillAreaStyleHatchingId),
9515 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
9516 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
9517 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
9518 FillAreaStyleTiles(FillAreaStyleTilesId),
9519 GeometricCurveSet(GeometricCurveSetId),
9520 GeometricRepresentationItem(GeometricRepresentationItemId),
9521 GeometricSet(GeometricSetId),
9522 Hyperbola(HyperbolaId),
9523 IntegerRepresentationItem(IntegerRepresentationItemId),
9524 IntersectionCurve(IntersectionCurveId),
9525 LeaderCurve(LeaderCurveId),
9526 LeaderDirectedCallout(LeaderDirectedCalloutId),
9527 LeaderTerminator(LeaderTerminatorId),
9528 Line(LineId),
9529 Loop(LoopId),
9530 ManifoldSolidBrep(ManifoldSolidBrepId),
9531 MappedItem(MappedItemId),
9532 MeasureRepresentationItem(MeasureRepresentationItemId),
9533 OffsetSurface(OffsetSurfaceId),
9534 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
9535 OpenShell(OpenShellId),
9536 OrientedClosedShell(OrientedClosedShellId),
9537 OrientedEdge(OrientedEdgeId),
9538 OverRidingStyledItem(OverRidingStyledItemId),
9539 Path(PathId),
9540 Pcurve(PcurveId),
9541 Placement(PlacementId),
9542 PlanarBox(PlanarBoxId),
9543 PlanarExtent(PlanarExtentId),
9544 Plane(PlaneId),
9545 Point(PointId),
9546 PolyLoop(PolyLoopId),
9547 Polyline(PolylineId),
9548 QualifiedRepresentationItem(QualifiedRepresentationItemId),
9549 QuasiUniformCurve(QuasiUniformCurveId),
9550 QuasiUniformSurface(QuasiUniformSurfaceId),
9551 RationalBSplineCurve(RationalBSplineCurveId),
9552 RationalBSplineSurface(RationalBSplineSurfaceId),
9553 RealRepresentationItem(RealRepresentationItemId),
9554 RepositionedTessellatedItem(RepositionedTessellatedItemId),
9555 RepresentationItem(RepresentationItemId),
9556 SeamCurve(SeamCurveId),
9557 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
9558 SolidModel(SolidModelId),
9559 SphericalSurface(SphericalSurfaceId),
9560 StyledItem(StyledItemId),
9561 Surface(SurfaceId),
9562 SurfaceCurve(SurfaceCurveId),
9563 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
9564 SurfaceOfRevolution(SurfaceOfRevolutionId),
9565 SweptSurface(SweptSurfaceId),
9566 SymbolTarget(SymbolTargetId),
9567 TerminatorSymbol(TerminatorSymbolId),
9568 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
9569 TessellatedCurveSet(TessellatedCurveSetId),
9570 TessellatedFace(TessellatedFaceId),
9571 TessellatedGeometricSet(TessellatedGeometricSetId),
9572 TessellatedItem(TessellatedItemId),
9573 TessellatedShell(TessellatedShellId),
9574 TessellatedSolid(TessellatedSolidId),
9575 TessellatedStructuredItem(TessellatedStructuredItemId),
9576 TessellatedSurfaceSet(TessellatedSurfaceSetId),
9577 TextLiteral(TextLiteralId),
9578 TopologicalRepresentationItem(TopologicalRepresentationItemId),
9579 ToroidalSurface(ToroidalSurfaceId),
9580 TrimmedCurve(TrimmedCurveId),
9581 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
9582 UniformCurve(UniformCurveId),
9583 UniformSurface(UniformSurfaceId),
9584 ValueRepresentationItem(ValueRepresentationItemId),
9585 Vector(VectorId),
9586 Vertex(VertexId),
9587 VertexLoop(VertexLoopId),
9588 VertexPoint(VertexPointId),
9589 VertexShell(VertexShellId),
9590 WireShell(WireShellId),
9591 ListRepresentationItem(Vec<RepresentationItemRef>),
9592 SetRepresentationItem(Vec<RepresentationItemRef>),
9593 Complex(ComplexUnitId),
9594}
9595impl ItemIdentifiedRepresentationUsageSelectRef {
9596 pub fn from_any(a: EntityKey) -> Result<Self, String> {
9597 match a {
9598 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
9599 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
9600 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
9601 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
9602 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
9603 Ok(Self::AnnotationPlaceholderLeaderLine(i))
9604 }
9605 EntityKey::AnnotationPlaceholderOccurrence(i) => {
9606 Ok(Self::AnnotationPlaceholderOccurrence(i))
9607 }
9608 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
9609 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
9610 }
9611 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
9612 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
9613 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
9614 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
9615 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
9616 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
9617 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
9618 Ok(Self::AnnotationToAnnotationLeaderLine(i))
9619 }
9620 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
9621 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
9622 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
9623 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
9624 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
9625 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
9626 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
9627 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
9628 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
9629 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
9630 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
9631 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
9632 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
9633 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
9634 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
9635 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
9636 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
9637 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
9638 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
9639 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
9640 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
9641 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
9642 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
9643 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
9644 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
9645 EntityKey::Circle(i) => Ok(Self::Circle(i)),
9646 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
9647 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
9648 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
9649 Ok(Self::ComplexTriangulatedSurfaceSet(i))
9650 }
9651 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
9652 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
9653 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
9654 EntityKey::Conic(i) => Ok(Self::Conic(i)),
9655 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
9656 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
9657 EntityKey::ContextDependentOverRidingStyledItem(i) => {
9658 Ok(Self::ContextDependentOverRidingStyledItem(i))
9659 }
9660 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
9661 EntityKey::Curve(i) => Ok(Self::Curve(i)),
9662 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
9663 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
9664 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
9665 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
9666 EntityKey::DescriptiveRepresentationItem(i) => {
9667 Ok(Self::DescriptiveRepresentationItem(i))
9668 }
9669 EntityKey::Direction(i) => Ok(Self::Direction(i)),
9670 EntityKey::DraughtingAnnotationOccurrence(i) => {
9671 Ok(Self::DraughtingAnnotationOccurrence(i))
9672 }
9673 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
9674 EntityKey::Edge(i) => Ok(Self::Edge(i)),
9675 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
9676 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
9677 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
9678 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
9679 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
9680 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
9681 EntityKey::Face(i) => Ok(Self::Face(i)),
9682 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
9683 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
9684 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
9685 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
9686 EntityKey::FillAreaStyleTileColouredRegion(i) => {
9687 Ok(Self::FillAreaStyleTileColouredRegion(i))
9688 }
9689 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
9690 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
9691 }
9692 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
9693 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
9694 }
9695 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
9696 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
9697 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
9698 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
9699 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
9700 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
9701 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
9702 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
9703 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
9704 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
9705 EntityKey::Line(i) => Ok(Self::Line(i)),
9706 EntityKey::Loop(i) => Ok(Self::Loop(i)),
9707 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
9708 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
9709 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
9710 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
9711 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
9712 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
9713 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
9714 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
9715 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
9716 EntityKey::Path(i) => Ok(Self::Path(i)),
9717 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
9718 EntityKey::Placement(i) => Ok(Self::Placement(i)),
9719 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
9720 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
9721 EntityKey::Plane(i) => Ok(Self::Plane(i)),
9722 EntityKey::Point(i) => Ok(Self::Point(i)),
9723 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
9724 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
9725 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
9726 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
9727 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
9728 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
9729 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
9730 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
9731 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
9732 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
9733 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
9734 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
9735 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
9736 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
9737 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
9738 EntityKey::Surface(i) => Ok(Self::Surface(i)),
9739 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
9740 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
9741 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
9742 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
9743 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
9744 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
9745 EntityKey::TessellatedAnnotationOccurrence(i) => {
9746 Ok(Self::TessellatedAnnotationOccurrence(i))
9747 }
9748 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
9749 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
9750 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
9751 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
9752 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
9753 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
9754 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
9755 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
9756 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
9757 EntityKey::TopologicalRepresentationItem(i) => {
9758 Ok(Self::TopologicalRepresentationItem(i))
9759 }
9760 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
9761 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
9762 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
9763 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
9764 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
9765 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
9766 EntityKey::Vector(i) => Ok(Self::Vector(i)),
9767 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
9768 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
9769 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
9770 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
9771 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
9772 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
9773 other => Err(format!(
9774 "expected ItemIdentifiedRepresentationUsageSelectRef target, got {other:?}"
9775 )),
9776 }
9777 }
9778}
9779
9780#[derive(Debug, Clone, PartialEq)]
9781pub enum LayeredItemRef {
9782 AdvancedFace(AdvancedFaceId),
9783 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
9784 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
9785 AnnotationOccurrence(AnnotationOccurrenceId),
9786 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
9787 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
9788 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
9789 AnnotationPlane(AnnotationPlaneId),
9790 AnnotationSymbol(AnnotationSymbolId),
9791 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
9792 AnnotationText(AnnotationTextId),
9793 AnnotationTextCharacter(AnnotationTextCharacterId),
9794 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
9795 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
9796 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
9797 ApllPoint(ApllPointId),
9798 ApllPointWithSurface(ApllPointWithSurfaceId),
9799 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
9800 Axis1Placement(Axis1PlacementId),
9801 Axis2Placement2d(Axis2Placement2dId),
9802 Axis2Placement3d(Axis2Placement3dId),
9803 BSplineCurve(BSplineCurveId),
9804 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
9805 BSplineSurface(BSplineSurfaceId),
9806 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
9807 BezierCurve(BezierCurveId),
9808 BezierSurface(BezierSurfaceId),
9809 BoundedCurve(BoundedCurveId),
9810 BoundedPcurve(BoundedPcurveId),
9811 BoundedSurface(BoundedSurfaceId),
9812 BoundedSurfaceCurve(BoundedSurfaceCurveId),
9813 BrepWithVoids(BrepWithVoidsId),
9814 CameraImage(CameraImageId),
9815 CameraImage3dWithScale(CameraImage3dWithScaleId),
9816 CameraModel(CameraModelId),
9817 CameraModelD3(CameraModelD3Id),
9818 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
9819 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
9820 CartesianPoint(CartesianPointId),
9821 Circle(CircleId),
9822 ClosedShell(ClosedShellId),
9823 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
9824 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
9825 CompositeCurve(CompositeCurveId),
9826 CompositeText(CompositeTextId),
9827 CompoundRepresentationItem(CompoundRepresentationItemId),
9828 Conic(ConicId),
9829 ConicalSurface(ConicalSurfaceId),
9830 ConnectedFaceSet(ConnectedFaceSetId),
9831 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
9832 CoordinatesList(CoordinatesListId),
9833 Curve(CurveId),
9834 CylindricalSurface(CylindricalSurfaceId),
9835 DefinedCharacterGlyph(DefinedCharacterGlyphId),
9836 DefinedSymbol(DefinedSymbolId),
9837 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
9838 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
9839 Direction(DirectionId),
9840 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
9841 DraughtingCallout(DraughtingCalloutId),
9842 Edge(EdgeId),
9843 EdgeCurve(EdgeCurveId),
9844 EdgeLoop(EdgeLoopId),
9845 ElementarySurface(ElementarySurfaceId),
9846 Ellipse(EllipseId),
9847 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
9848 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
9849 Face(FaceId),
9850 FaceBound(FaceBoundId),
9851 FaceOuterBound(FaceOuterBoundId),
9852 FaceSurface(FaceSurfaceId),
9853 FillAreaStyleHatching(FillAreaStyleHatchingId),
9854 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
9855 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
9856 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
9857 FillAreaStyleTiles(FillAreaStyleTilesId),
9858 GeometricCurveSet(GeometricCurveSetId),
9859 GeometricRepresentationItem(GeometricRepresentationItemId),
9860 GeometricSet(GeometricSetId),
9861 Hyperbola(HyperbolaId),
9862 IntegerRepresentationItem(IntegerRepresentationItemId),
9863 IntersectionCurve(IntersectionCurveId),
9864 LeaderCurve(LeaderCurveId),
9865 LeaderDirectedCallout(LeaderDirectedCalloutId),
9866 LeaderTerminator(LeaderTerminatorId),
9867 Line(LineId),
9868 Loop(LoopId),
9869 ManifoldSolidBrep(ManifoldSolidBrepId),
9870 MappedItem(MappedItemId),
9871 MeasureRepresentationItem(MeasureRepresentationItemId),
9872 OffsetSurface(OffsetSurfaceId),
9873 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
9874 OpenShell(OpenShellId),
9875 OrientedClosedShell(OrientedClosedShellId),
9876 OrientedEdge(OrientedEdgeId),
9877 OverRidingStyledItem(OverRidingStyledItemId),
9878 Path(PathId),
9879 Pcurve(PcurveId),
9880 Placement(PlacementId),
9881 PlanarBox(PlanarBoxId),
9882 PlanarExtent(PlanarExtentId),
9883 Plane(PlaneId),
9884 Point(PointId),
9885 PolyLoop(PolyLoopId),
9886 Polyline(PolylineId),
9887 PresentationArea(PresentationAreaId),
9888 PresentationRepresentation(PresentationRepresentationId),
9889 PresentationView(PresentationViewId),
9890 QualifiedRepresentationItem(QualifiedRepresentationItemId),
9891 QuasiUniformCurve(QuasiUniformCurveId),
9892 QuasiUniformSurface(QuasiUniformSurfaceId),
9893 RationalBSplineCurve(RationalBSplineCurveId),
9894 RationalBSplineSurface(RationalBSplineSurfaceId),
9895 RealRepresentationItem(RealRepresentationItemId),
9896 RepositionedTessellatedItem(RepositionedTessellatedItemId),
9897 RepresentationItem(RepresentationItemId),
9898 SeamCurve(SeamCurveId),
9899 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
9900 SolidModel(SolidModelId),
9901 SphericalSurface(SphericalSurfaceId),
9902 StyledItem(StyledItemId),
9903 Surface(SurfaceId),
9904 SurfaceCurve(SurfaceCurveId),
9905 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
9906 SurfaceOfRevolution(SurfaceOfRevolutionId),
9907 SweptSurface(SweptSurfaceId),
9908 SymbolTarget(SymbolTargetId),
9909 TerminatorSymbol(TerminatorSymbolId),
9910 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
9911 TessellatedCurveSet(TessellatedCurveSetId),
9912 TessellatedFace(TessellatedFaceId),
9913 TessellatedGeometricSet(TessellatedGeometricSetId),
9914 TessellatedItem(TessellatedItemId),
9915 TessellatedShell(TessellatedShellId),
9916 TessellatedSolid(TessellatedSolidId),
9917 TessellatedStructuredItem(TessellatedStructuredItemId),
9918 TessellatedSurfaceSet(TessellatedSurfaceSetId),
9919 TextLiteral(TextLiteralId),
9920 TopologicalRepresentationItem(TopologicalRepresentationItemId),
9921 ToroidalSurface(ToroidalSurfaceId),
9922 TrimmedCurve(TrimmedCurveId),
9923 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
9924 UniformCurve(UniformCurveId),
9925 UniformSurface(UniformSurfaceId),
9926 ValueRepresentationItem(ValueRepresentationItemId),
9927 Vector(VectorId),
9928 Vertex(VertexId),
9929 VertexLoop(VertexLoopId),
9930 VertexPoint(VertexPointId),
9931 VertexShell(VertexShellId),
9932 WireShell(WireShellId),
9933 Complex(ComplexUnitId),
9934}
9935impl LayeredItemRef {
9936 pub fn from_any(a: EntityKey) -> Result<Self, String> {
9937 match a {
9938 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
9939 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
9940 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
9941 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
9942 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
9943 Ok(Self::AnnotationPlaceholderLeaderLine(i))
9944 }
9945 EntityKey::AnnotationPlaceholderOccurrence(i) => {
9946 Ok(Self::AnnotationPlaceholderOccurrence(i))
9947 }
9948 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
9949 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
9950 }
9951 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
9952 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
9953 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
9954 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
9955 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
9956 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
9957 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
9958 Ok(Self::AnnotationToAnnotationLeaderLine(i))
9959 }
9960 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
9961 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
9962 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
9963 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
9964 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
9965 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
9966 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
9967 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
9968 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
9969 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
9970 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
9971 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
9972 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
9973 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
9974 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
9975 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
9976 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
9977 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
9978 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
9979 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
9980 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
9981 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
9982 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
9983 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
9984 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
9985 EntityKey::Circle(i) => Ok(Self::Circle(i)),
9986 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
9987 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
9988 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
9989 Ok(Self::ComplexTriangulatedSurfaceSet(i))
9990 }
9991 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
9992 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
9993 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
9994 EntityKey::Conic(i) => Ok(Self::Conic(i)),
9995 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
9996 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
9997 EntityKey::ContextDependentOverRidingStyledItem(i) => {
9998 Ok(Self::ContextDependentOverRidingStyledItem(i))
9999 }
10000 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
10001 EntityKey::Curve(i) => Ok(Self::Curve(i)),
10002 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
10003 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
10004 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
10005 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
10006 EntityKey::DescriptiveRepresentationItem(i) => {
10007 Ok(Self::DescriptiveRepresentationItem(i))
10008 }
10009 EntityKey::Direction(i) => Ok(Self::Direction(i)),
10010 EntityKey::DraughtingAnnotationOccurrence(i) => {
10011 Ok(Self::DraughtingAnnotationOccurrence(i))
10012 }
10013 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
10014 EntityKey::Edge(i) => Ok(Self::Edge(i)),
10015 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
10016 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
10017 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
10018 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
10019 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
10020 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
10021 EntityKey::Face(i) => Ok(Self::Face(i)),
10022 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
10023 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
10024 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
10025 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
10026 EntityKey::FillAreaStyleTileColouredRegion(i) => {
10027 Ok(Self::FillAreaStyleTileColouredRegion(i))
10028 }
10029 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
10030 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
10031 }
10032 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
10033 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
10034 }
10035 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
10036 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
10037 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
10038 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
10039 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
10040 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
10041 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
10042 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
10043 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
10044 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
10045 EntityKey::Line(i) => Ok(Self::Line(i)),
10046 EntityKey::Loop(i) => Ok(Self::Loop(i)),
10047 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
10048 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
10049 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
10050 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
10051 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
10052 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
10053 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
10054 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
10055 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
10056 EntityKey::Path(i) => Ok(Self::Path(i)),
10057 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
10058 EntityKey::Placement(i) => Ok(Self::Placement(i)),
10059 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
10060 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
10061 EntityKey::Plane(i) => Ok(Self::Plane(i)),
10062 EntityKey::Point(i) => Ok(Self::Point(i)),
10063 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
10064 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
10065 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
10066 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
10067 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
10068 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
10069 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
10070 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
10071 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
10072 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
10073 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
10074 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
10075 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
10076 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
10077 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
10078 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
10079 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
10080 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
10081 EntityKey::Surface(i) => Ok(Self::Surface(i)),
10082 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
10083 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
10084 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
10085 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
10086 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
10087 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
10088 EntityKey::TessellatedAnnotationOccurrence(i) => {
10089 Ok(Self::TessellatedAnnotationOccurrence(i))
10090 }
10091 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
10092 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
10093 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
10094 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
10095 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
10096 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
10097 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
10098 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
10099 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
10100 EntityKey::TopologicalRepresentationItem(i) => {
10101 Ok(Self::TopologicalRepresentationItem(i))
10102 }
10103 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
10104 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
10105 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
10106 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
10107 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
10108 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
10109 EntityKey::Vector(i) => Ok(Self::Vector(i)),
10110 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
10111 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
10112 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
10113 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
10114 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
10115 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10116 other => Err(format!("expected LayeredItemRef target, got {other:?}")),
10117 }
10118 }
10119}
10120
10121#[derive(Debug, Clone, PartialEq)]
10122pub enum LengthMeasureWithUnitRef {
10123 LengthMeasureWithUnit(LengthMeasureWithUnitId),
10124 Complex(ComplexUnitId),
10125}
10126impl LengthMeasureWithUnitRef {
10127 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10128 match a {
10129 EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
10130 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10131 other => Err(format!(
10132 "expected LengthMeasureWithUnitRef target, got {other:?}"
10133 )),
10134 }
10135 }
10136}
10137
10138#[derive(Debug, Clone, PartialEq)]
10139pub enum LengthOrPlaneAngleMeasureWithUnitSelectRef {
10140 LengthMeasureWithUnit(LengthMeasureWithUnitId),
10141 PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
10142 Complex(ComplexUnitId),
10143}
10144impl LengthOrPlaneAngleMeasureWithUnitSelectRef {
10145 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10146 match a {
10147 EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
10148 EntityKey::PlaneAngleMeasureWithUnit(i) => Ok(Self::PlaneAngleMeasureWithUnit(i)),
10149 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10150 other => Err(format!(
10151 "expected LengthOrPlaneAngleMeasureWithUnitSelectRef target, got {other:?}"
10152 )),
10153 }
10154 }
10155}
10156
10157#[derive(Debug, Clone, PartialEq)]
10158pub enum LocalTimeRef {
10159 LocalTime(LocalTimeId),
10160}
10161impl LocalTimeRef {
10162 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10163 match a {
10164 EntityKey::LocalTime(i) => Ok(Self::LocalTime(i)),
10165 other => Err(format!("expected LocalTimeRef target, got {other:?}")),
10166 }
10167 }
10168}
10169
10170#[derive(Debug, Clone, PartialEq)]
10171pub enum LoopRef {
10172 EdgeLoop(EdgeLoopId),
10173 Loop(LoopId),
10174 PolyLoop(PolyLoopId),
10175 VertexLoop(VertexLoopId),
10176 Complex(ComplexUnitId),
10177}
10178impl LoopRef {
10179 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10180 match a {
10181 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
10182 EntityKey::Loop(i) => Ok(Self::Loop(i)),
10183 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
10184 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
10185 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10186 other => Err(format!("expected LoopRef target, got {other:?}")),
10187 }
10188 }
10189}
10190
10191#[derive(Debug, Clone, PartialEq)]
10192pub enum ManifoldSolidBrepRef {
10193 BrepWithVoids(BrepWithVoidsId),
10194 ManifoldSolidBrep(ManifoldSolidBrepId),
10195 Complex(ComplexUnitId),
10196}
10197impl ManifoldSolidBrepRef {
10198 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10199 match a {
10200 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
10201 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
10202 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10203 other => Err(format!(
10204 "expected ManifoldSolidBrepRef target, got {other:?}"
10205 )),
10206 }
10207 }
10208}
10209
10210#[derive(Debug, Clone, PartialEq)]
10211pub enum MarkerSelectRef {
10212 PreDefinedMarker(PreDefinedMarkerId),
10213 PreDefinedPointMarkerSymbol(PreDefinedPointMarkerSymbolId),
10214 MarkerType(MarkerType),
10215 Complex(ComplexUnitId),
10216}
10217impl MarkerSelectRef {
10218 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10219 match a {
10220 EntityKey::PreDefinedMarker(i) => Ok(Self::PreDefinedMarker(i)),
10221 EntityKey::PreDefinedPointMarkerSymbol(i) => Ok(Self::PreDefinedPointMarkerSymbol(i)),
10222 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10223 other => Err(format!("expected MarkerSelectRef target, got {other:?}")),
10224 }
10225 }
10226}
10227
10228#[derive(Debug, Clone, PartialEq)]
10229pub enum MeasureWithUnitRef {
10230 LengthMeasureWithUnit(LengthMeasureWithUnitId),
10231 MassMeasureWithUnit(MassMeasureWithUnitId),
10232 MeasureRepresentationItem(MeasureRepresentationItemId),
10233 MeasureWithUnit(MeasureWithUnitId),
10234 PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
10235 RatioMeasureWithUnit(RatioMeasureWithUnitId),
10236 UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
10237 Complex(ComplexUnitId),
10238}
10239impl MeasureWithUnitRef {
10240 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10241 match a {
10242 EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
10243 EntityKey::MassMeasureWithUnit(i) => Ok(Self::MassMeasureWithUnit(i)),
10244 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
10245 EntityKey::MeasureWithUnit(i) => Ok(Self::MeasureWithUnit(i)),
10246 EntityKey::PlaneAngleMeasureWithUnit(i) => Ok(Self::PlaneAngleMeasureWithUnit(i)),
10247 EntityKey::RatioMeasureWithUnit(i) => Ok(Self::RatioMeasureWithUnit(i)),
10248 EntityKey::UncertaintyMeasureWithUnit(i) => Ok(Self::UncertaintyMeasureWithUnit(i)),
10249 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10250 other => Err(format!("expected MeasureWithUnitRef target, got {other:?}")),
10251 }
10252 }
10253}
10254
10255#[derive(Debug, Clone, PartialEq)]
10256pub enum MechanicalDesignAndDraughtingRelationshipSelectRef {
10257 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
10258 DraughtingModel(DraughtingModelId),
10259 GeometricallyBoundedSurfaceShapeRepresentation(
10260 GeometricallyBoundedSurfaceShapeRepresentationId,
10261 ),
10262 GeometricallyBoundedWireframeShapeRepresentation(
10263 GeometricallyBoundedWireframeShapeRepresentationId,
10264 ),
10265 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
10266 MechanicalDesignGeometricPresentationRepresentation(
10267 MechanicalDesignGeometricPresentationRepresentationId,
10268 ),
10269 MechanicalDesignPresentationRepresentationWithDraughting(
10270 MechanicalDesignPresentationRepresentationWithDraughtingId,
10271 ),
10272 MechanicalDesignShadedPresentationRepresentation(
10273 MechanicalDesignShadedPresentationRepresentationId,
10274 ),
10275 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
10276 ShapeRepresentation(ShapeRepresentationId),
10277 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
10278 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
10279 Complex(ComplexUnitId),
10280}
10281impl MechanicalDesignAndDraughtingRelationshipSelectRef {
10282 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10283 match a {
10284 EntityKey::AdvancedBrepShapeRepresentation(i) => {
10285 Ok(Self::AdvancedBrepShapeRepresentation(i))
10286 }
10287 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
10288 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
10289 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
10290 }
10291 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
10292 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
10293 }
10294 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
10295 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
10296 }
10297 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
10298 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
10299 }
10300 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
10301 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
10302 }
10303 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
10304 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
10305 }
10306 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
10307 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
10308 EntityKey::ShapeRepresentationWithParameters(i) => {
10309 Ok(Self::ShapeRepresentationWithParameters(i))
10310 }
10311 EntityKey::TessellatedShapeRepresentation(i) => {
10312 Ok(Self::TessellatedShapeRepresentation(i))
10313 }
10314 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10315 other => Err(format!(
10316 "expected MechanicalDesignAndDraughtingRelationshipSelectRef target, got {other:?}"
10317 )),
10318 }
10319 }
10320}
10321
10322#[derive(Debug, Clone, PartialEq)]
10323pub enum NameAttributeSelectRef {
10324 ActionRequestSolution(ActionRequestSolutionId),
10325 Address(AddressId),
10326 AreaUnit(AreaUnitId),
10327 ConfigurationDesign(ConfigurationDesignId),
10328 ConfigurationEffectivity(ConfigurationEffectivityId),
10329 ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
10330 DerivedUnit(DerivedUnitId),
10331 Effectivity(EffectivityId),
10332 OrganizationalAddress(OrganizationalAddressId),
10333 PersonAndOrganization(PersonAndOrganizationId),
10334 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
10335 PersonalAddress(PersonalAddressId),
10336 ProductDefinition(ProductDefinitionId),
10337 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
10338 ProductDefinitionSubstitute(ProductDefinitionSubstituteId),
10339 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
10340 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
10341 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
10342 VolumeUnit(VolumeUnitId),
10343 Complex(ComplexUnitId),
10344}
10345impl NameAttributeSelectRef {
10346 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10347 match a {
10348 EntityKey::ActionRequestSolution(i) => Ok(Self::ActionRequestSolution(i)),
10349 EntityKey::Address(i) => Ok(Self::Address(i)),
10350 EntityKey::AreaUnit(i) => Ok(Self::AreaUnit(i)),
10351 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
10352 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
10353 EntityKey::ContextDependentShapeRepresentation(i) => {
10354 Ok(Self::ContextDependentShapeRepresentation(i))
10355 }
10356 EntityKey::DerivedUnit(i) => Ok(Self::DerivedUnit(i)),
10357 EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
10358 EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
10359 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
10360 EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
10361 EntityKey::PersonalAddress(i) => Ok(Self::PersonalAddress(i)),
10362 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
10363 EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
10364 EntityKey::ProductDefinitionSubstitute(i) => Ok(Self::ProductDefinitionSubstitute(i)),
10365 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
10366 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
10367 }
10368 EntityKey::PropertyDefinitionRepresentation(i) => {
10369 Ok(Self::PropertyDefinitionRepresentation(i))
10370 }
10371 EntityKey::ShapeDefinitionRepresentation(i) => {
10372 Ok(Self::ShapeDefinitionRepresentation(i))
10373 }
10374 EntityKey::VolumeUnit(i) => Ok(Self::VolumeUnit(i)),
10375 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10376 other => Err(format!(
10377 "expected NameAttributeSelectRef target, got {other:?}"
10378 )),
10379 }
10380 }
10381}
10382
10383#[derive(Debug, Clone, PartialEq)]
10384pub enum NamedUnitRef {
10385 ContextDependentUnit(ContextDependentUnitId),
10386 ConversionBasedUnit(ConversionBasedUnitId),
10387 LengthUnit(LengthUnitId),
10388 MassUnit(MassUnitId),
10389 NamedUnit(NamedUnitId),
10390 PlaneAngleUnit(PlaneAngleUnitId),
10391 RatioUnit(RatioUnitId),
10392 SiUnit(SiUnitId),
10393 SolidAngleUnit(SolidAngleUnitId),
10394 TimeUnit(TimeUnitId),
10395 Complex(ComplexUnitId),
10396}
10397impl NamedUnitRef {
10398 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10399 match a {
10400 EntityKey::ContextDependentUnit(i) => Ok(Self::ContextDependentUnit(i)),
10401 EntityKey::ConversionBasedUnit(i) => Ok(Self::ConversionBasedUnit(i)),
10402 EntityKey::LengthUnit(i) => Ok(Self::LengthUnit(i)),
10403 EntityKey::MassUnit(i) => Ok(Self::MassUnit(i)),
10404 EntityKey::NamedUnit(i) => Ok(Self::NamedUnit(i)),
10405 EntityKey::PlaneAngleUnit(i) => Ok(Self::PlaneAngleUnit(i)),
10406 EntityKey::RatioUnit(i) => Ok(Self::RatioUnit(i)),
10407 EntityKey::SiUnit(i) => Ok(Self::SiUnit(i)),
10408 EntityKey::SolidAngleUnit(i) => Ok(Self::SolidAngleUnit(i)),
10409 EntityKey::TimeUnit(i) => Ok(Self::TimeUnit(i)),
10410 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10411 other => Err(format!("expected NamedUnitRef target, got {other:?}")),
10412 }
10413 }
10414}
10415
10416#[derive(Debug, Clone, PartialEq)]
10417pub enum ObjectRoleRef {
10418 ObjectRole(ObjectRoleId),
10419}
10420impl ObjectRoleRef {
10421 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10422 match a {
10423 EntityKey::ObjectRole(i) => Ok(Self::ObjectRole(i)),
10424 other => Err(format!("expected ObjectRoleRef target, got {other:?}")),
10425 }
10426 }
10427}
10428
10429#[derive(Debug, Clone, PartialEq)]
10430pub enum OneDirectionRepeatFactorRef {
10431 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
10432 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
10433 Complex(ComplexUnitId),
10434}
10435impl OneDirectionRepeatFactorRef {
10436 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10437 match a {
10438 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
10439 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
10440 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10441 other => Err(format!(
10442 "expected OneDirectionRepeatFactorRef target, got {other:?}"
10443 )),
10444 }
10445 }
10446}
10447
10448#[derive(Debug, Clone, PartialEq)]
10449pub enum OrganizationRef {
10450 Organization(OrganizationId),
10451}
10452impl OrganizationRef {
10453 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10454 match a {
10455 EntityKey::Organization(i) => Ok(Self::Organization(i)),
10456 other => Err(format!("expected OrganizationRef target, got {other:?}")),
10457 }
10458 }
10459}
10460
10461#[derive(Debug, Clone, PartialEq)]
10462pub enum OrganizationalProjectRef {
10463 OrganizationalProject(OrganizationalProjectId),
10464}
10465impl OrganizationalProjectRef {
10466 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10467 match a {
10468 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
10469 other => Err(format!(
10470 "expected OrganizationalProjectRef target, got {other:?}"
10471 )),
10472 }
10473 }
10474}
10475
10476#[derive(Debug, Clone, PartialEq)]
10477pub enum OrientedClosedShellRef {
10478 OrientedClosedShell(OrientedClosedShellId),
10479 Complex(ComplexUnitId),
10480}
10481impl OrientedClosedShellRef {
10482 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10483 match a {
10484 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
10485 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10486 other => Err(format!(
10487 "expected OrientedClosedShellRef target, got {other:?}"
10488 )),
10489 }
10490 }
10491}
10492
10493#[derive(Debug, Clone, PartialEq)]
10494pub enum OrientedEdgeRef {
10495 OrientedEdge(OrientedEdgeId),
10496 Complex(ComplexUnitId),
10497}
10498impl OrientedEdgeRef {
10499 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10500 match a {
10501 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
10502 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10503 other => Err(format!("expected OrientedEdgeRef target, got {other:?}")),
10504 }
10505 }
10506}
10507
10508#[derive(Debug, Clone, PartialEq)]
10509pub enum PcurveOrSurfaceRef {
10510 BSplineSurface(BSplineSurfaceId),
10511 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
10512 BezierSurface(BezierSurfaceId),
10513 BoundedPcurve(BoundedPcurveId),
10514 BoundedSurface(BoundedSurfaceId),
10515 ConicalSurface(ConicalSurfaceId),
10516 CylindricalSurface(CylindricalSurfaceId),
10517 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
10518 ElementarySurface(ElementarySurfaceId),
10519 OffsetSurface(OffsetSurfaceId),
10520 Pcurve(PcurveId),
10521 Plane(PlaneId),
10522 QuasiUniformSurface(QuasiUniformSurfaceId),
10523 RationalBSplineSurface(RationalBSplineSurfaceId),
10524 SphericalSurface(SphericalSurfaceId),
10525 Surface(SurfaceId),
10526 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
10527 SurfaceOfRevolution(SurfaceOfRevolutionId),
10528 SweptSurface(SweptSurfaceId),
10529 ToroidalSurface(ToroidalSurfaceId),
10530 UniformSurface(UniformSurfaceId),
10531 Complex(ComplexUnitId),
10532}
10533impl PcurveOrSurfaceRef {
10534 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10535 match a {
10536 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
10537 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
10538 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
10539 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
10540 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
10541 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
10542 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
10543 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
10544 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
10545 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
10546 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
10547 EntityKey::Plane(i) => Ok(Self::Plane(i)),
10548 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
10549 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
10550 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
10551 EntityKey::Surface(i) => Ok(Self::Surface(i)),
10552 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
10553 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
10554 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
10555 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
10556 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
10557 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10558 other => Err(format!("expected PcurveOrSurfaceRef target, got {other:?}")),
10559 }
10560 }
10561}
10562
10563#[derive(Debug, Clone, PartialEq)]
10564pub enum PersonAndOrganizationItemRef {
10565 Action(ActionId),
10566 ActionDirective(ActionDirectiveId),
10567 ActionMethod(ActionMethodId),
10568 ActionProperty(ActionPropertyId),
10569 ActionRelationship(ActionRelationshipId),
10570 ActionRequestSolution(ActionRequestSolutionId),
10571 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
10572 AppliedDateAndTimeAssignment(AppliedDateAndTimeAssignmentId),
10573 AppliedDocumentReference(AppliedDocumentReferenceId),
10574 AppliedPersonAndOrganizationAssignment(AppliedPersonAndOrganizationAssignmentId),
10575 Approval(ApprovalId),
10576 ApprovalStatus(ApprovalStatusId),
10577 AscribableState(AscribableStateId),
10578 AssemblyComponentUsage(AssemblyComponentUsageId),
10579 CcDesignDateAndTimeAssignment(CcDesignDateAndTimeAssignmentId),
10580 Certification(CertificationId),
10581 CharacterizedRepresentation(CharacterizedRepresentationId),
10582 ConfigurationDesign(ConfigurationDesignId),
10583 ConfigurationEffectivity(ConfigurationEffectivityId),
10584 ConfigurationItem(ConfigurationItemId),
10585 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
10586 Contract(ContractId),
10587 DateAndTimeAssignment(DateAndTimeAssignmentId),
10588 DefinitionalRepresentation(DefinitionalRepresentationId),
10589 DesignContext(DesignContextId),
10590 DocumentFile(DocumentFileId),
10591 DocumentType(DocumentTypeId),
10592 DraughtingModel(DraughtingModelId),
10593 Effectivity(EffectivityId),
10594 GeneralProperty(GeneralPropertyId),
10595 GeometricallyBoundedSurfaceShapeRepresentation(
10596 GeometricallyBoundedSurfaceShapeRepresentationId,
10597 ),
10598 GeometricallyBoundedWireframeShapeRepresentation(
10599 GeometricallyBoundedWireframeShapeRepresentationId,
10600 ),
10601 MakeFromUsageOption(MakeFromUsageOptionId),
10602 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
10603 MechanicalDesignGeometricPresentationRepresentation(
10604 MechanicalDesignGeometricPresentationRepresentationId,
10605 ),
10606 MechanicalDesignPresentationRepresentationWithDraughting(
10607 MechanicalDesignPresentationRepresentationWithDraughtingId,
10608 ),
10609 MechanicalDesignShadedPresentationRepresentation(
10610 MechanicalDesignShadedPresentationRepresentationId,
10611 ),
10612 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
10613 Organization(OrganizationId),
10614 OrganizationRelationship(OrganizationRelationshipId),
10615 OrganizationalAddress(OrganizationalAddressId),
10616 OrganizationalProject(OrganizationalProjectId),
10617 PersonAndOrganization(PersonAndOrganizationId),
10618 PersonAndOrganizationAddress(PersonAndOrganizationAddressId),
10619 PresentationArea(PresentationAreaId),
10620 PresentationRepresentation(PresentationRepresentationId),
10621 PresentationView(PresentationViewId),
10622 Product(ProductId),
10623 ProductConcept(ProductConceptId),
10624 ProductConceptFeature(ProductConceptFeatureId),
10625 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
10626 ProductDefinition(ProductDefinitionId),
10627 ProductDefinitionContext(ProductDefinitionContextId),
10628 ProductDefinitionEffectivity(ProductDefinitionEffectivityId),
10629 ProductDefinitionFormation(ProductDefinitionFormationId),
10630 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
10631 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
10632 ProductDefinitionShape(ProductDefinitionShapeId),
10633 ProductDefinitionSubstitute(ProductDefinitionSubstituteId),
10634 ProductDefinitionUsage(ProductDefinitionUsageId),
10635 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
10636 PropertyDefinition(PropertyDefinitionId),
10637 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
10638 Representation(RepresentationId),
10639 ResourceProperty(ResourcePropertyId),
10640 SecurityClassification(SecurityClassificationId),
10641 SecurityClassificationLevel(SecurityClassificationLevelId),
10642 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
10643 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
10644 ShapeRepresentation(ShapeRepresentationId),
10645 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
10646 StateObserved(StateObservedId),
10647 StateType(StateTypeId),
10648 SymbolRepresentation(SymbolRepresentationId),
10649 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
10650 VersionedActionRequest(VersionedActionRequestId),
10651 Complex(ComplexUnitId),
10652}
10653impl PersonAndOrganizationItemRef {
10654 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10655 match a {
10656 EntityKey::Action(i) => Ok(Self::Action(i)),
10657 EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
10658 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
10659 EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
10660 EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
10661 EntityKey::ActionRequestSolution(i) => Ok(Self::ActionRequestSolution(i)),
10662 EntityKey::AdvancedBrepShapeRepresentation(i) => {
10663 Ok(Self::AdvancedBrepShapeRepresentation(i))
10664 }
10665 EntityKey::AppliedDateAndTimeAssignment(i) => Ok(Self::AppliedDateAndTimeAssignment(i)),
10666 EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
10667 EntityKey::AppliedPersonAndOrganizationAssignment(i) => {
10668 Ok(Self::AppliedPersonAndOrganizationAssignment(i))
10669 }
10670 EntityKey::Approval(i) => Ok(Self::Approval(i)),
10671 EntityKey::ApprovalStatus(i) => Ok(Self::ApprovalStatus(i)),
10672 EntityKey::AscribableState(i) => Ok(Self::AscribableState(i)),
10673 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
10674 EntityKey::CcDesignDateAndTimeAssignment(i) => {
10675 Ok(Self::CcDesignDateAndTimeAssignment(i))
10676 }
10677 EntityKey::Certification(i) => Ok(Self::Certification(i)),
10678 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
10679 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
10680 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
10681 EntityKey::ConfigurationItem(i) => Ok(Self::ConfigurationItem(i)),
10682 EntityKey::ConstructiveGeometryRepresentation(i) => {
10683 Ok(Self::ConstructiveGeometryRepresentation(i))
10684 }
10685 EntityKey::Contract(i) => Ok(Self::Contract(i)),
10686 EntityKey::DateAndTimeAssignment(i) => Ok(Self::DateAndTimeAssignment(i)),
10687 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
10688 EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
10689 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
10690 EntityKey::DocumentType(i) => Ok(Self::DocumentType(i)),
10691 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
10692 EntityKey::Effectivity(i) => Ok(Self::Effectivity(i)),
10693 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
10694 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
10695 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
10696 }
10697 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
10698 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
10699 }
10700 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
10701 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
10702 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
10703 }
10704 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
10705 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
10706 }
10707 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
10708 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
10709 }
10710 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
10711 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
10712 }
10713 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
10714 EntityKey::Organization(i) => Ok(Self::Organization(i)),
10715 EntityKey::OrganizationRelationship(i) => Ok(Self::OrganizationRelationship(i)),
10716 EntityKey::OrganizationalAddress(i) => Ok(Self::OrganizationalAddress(i)),
10717 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
10718 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
10719 EntityKey::PersonAndOrganizationAddress(i) => Ok(Self::PersonAndOrganizationAddress(i)),
10720 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
10721 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
10722 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
10723 EntityKey::Product(i) => Ok(Self::Product(i)),
10724 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
10725 EntityKey::ProductConceptFeature(i) => Ok(Self::ProductConceptFeature(i)),
10726 EntityKey::ProductConceptFeatureCategory(i) => {
10727 Ok(Self::ProductConceptFeatureCategory(i))
10728 }
10729 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
10730 EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
10731 EntityKey::ProductDefinitionEffectivity(i) => Ok(Self::ProductDefinitionEffectivity(i)),
10732 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
10733 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
10734 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
10735 }
10736 EntityKey::ProductDefinitionRelationship(i) => {
10737 Ok(Self::ProductDefinitionRelationship(i))
10738 }
10739 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
10740 EntityKey::ProductDefinitionSubstitute(i) => Ok(Self::ProductDefinitionSubstitute(i)),
10741 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
10742 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
10743 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
10744 }
10745 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
10746 EntityKey::PropertyDefinitionRepresentation(i) => {
10747 Ok(Self::PropertyDefinitionRepresentation(i))
10748 }
10749 EntityKey::Representation(i) => Ok(Self::Representation(i)),
10750 EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
10751 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
10752 EntityKey::SecurityClassificationLevel(i) => Ok(Self::SecurityClassificationLevel(i)),
10753 EntityKey::ShapeDefinitionRepresentation(i) => {
10754 Ok(Self::ShapeDefinitionRepresentation(i))
10755 }
10756 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
10757 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
10758 EntityKey::ShapeRepresentationWithParameters(i) => {
10759 Ok(Self::ShapeRepresentationWithParameters(i))
10760 }
10761 EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
10762 EntityKey::StateType(i) => Ok(Self::StateType(i)),
10763 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
10764 EntityKey::TessellatedShapeRepresentation(i) => {
10765 Ok(Self::TessellatedShapeRepresentation(i))
10766 }
10767 EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
10768 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10769 other => Err(format!(
10770 "expected PersonAndOrganizationItemRef target, got {other:?}"
10771 )),
10772 }
10773 }
10774}
10775
10776#[derive(Debug, Clone, PartialEq)]
10777pub enum PersonAndOrganizationRef {
10778 PersonAndOrganization(PersonAndOrganizationId),
10779}
10780impl PersonAndOrganizationRef {
10781 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10782 match a {
10783 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
10784 other => Err(format!(
10785 "expected PersonAndOrganizationRef target, got {other:?}"
10786 )),
10787 }
10788 }
10789}
10790
10791#[derive(Debug, Clone, PartialEq)]
10792pub enum PersonAndOrganizationRoleRef {
10793 PersonAndOrganizationRole(PersonAndOrganizationRoleId),
10794}
10795impl PersonAndOrganizationRoleRef {
10796 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10797 match a {
10798 EntityKey::PersonAndOrganizationRole(i) => Ok(Self::PersonAndOrganizationRole(i)),
10799 other => Err(format!(
10800 "expected PersonAndOrganizationRoleRef target, got {other:?}"
10801 )),
10802 }
10803 }
10804}
10805
10806#[derive(Debug, Clone, PartialEq)]
10807pub enum PersonOrganizationSelectRef {
10808 Organization(OrganizationId),
10809 Person(PersonId),
10810 PersonAndOrganization(PersonAndOrganizationId),
10811}
10812impl PersonOrganizationSelectRef {
10813 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10814 match a {
10815 EntityKey::Organization(i) => Ok(Self::Organization(i)),
10816 EntityKey::Person(i) => Ok(Self::Person(i)),
10817 EntityKey::PersonAndOrganization(i) => Ok(Self::PersonAndOrganization(i)),
10818 other => Err(format!(
10819 "expected PersonOrganizationSelectRef target, got {other:?}"
10820 )),
10821 }
10822 }
10823}
10824
10825#[derive(Debug, Clone, PartialEq)]
10826pub enum PersonRef {
10827 Person(PersonId),
10828}
10829impl PersonRef {
10830 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10831 match a {
10832 EntityKey::Person(i) => Ok(Self::Person(i)),
10833 other => Err(format!("expected PersonRef target, got {other:?}")),
10834 }
10835 }
10836}
10837
10838#[derive(Debug, Clone, PartialEq)]
10839pub enum PlanarBoxRef {
10840 PlanarBox(PlanarBoxId),
10841 Complex(ComplexUnitId),
10842}
10843impl PlanarBoxRef {
10844 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10845 match a {
10846 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
10847 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10848 other => Err(format!("expected PlanarBoxRef target, got {other:?}")),
10849 }
10850 }
10851}
10852
10853#[derive(Debug, Clone, PartialEq)]
10854pub enum PlaneOrPlanarBoxRef {
10855 PlanarBox(PlanarBoxId),
10856 Plane(PlaneId),
10857 Complex(ComplexUnitId),
10858}
10859impl PlaneOrPlanarBoxRef {
10860 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10861 match a {
10862 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
10863 EntityKey::Plane(i) => Ok(Self::Plane(i)),
10864 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10865 other => Err(format!(
10866 "expected PlaneOrPlanarBoxRef target, got {other:?}"
10867 )),
10868 }
10869 }
10870}
10871
10872#[derive(Debug, Clone, PartialEq)]
10873pub enum PointRef {
10874 ApllPoint(ApllPointId),
10875 ApllPointWithSurface(ApllPointWithSurfaceId),
10876 CartesianPoint(CartesianPointId),
10877 Point(PointId),
10878 Complex(ComplexUnitId),
10879}
10880impl PointRef {
10881 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10882 match a {
10883 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
10884 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
10885 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
10886 EntityKey::Point(i) => Ok(Self::Point(i)),
10887 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10888 other => Err(format!("expected PointRef target, got {other:?}")),
10889 }
10890 }
10891}
10892
10893#[derive(Debug, Clone, PartialEq)]
10894pub enum PresentationAreaRef {
10895 PresentationArea(PresentationAreaId),
10896 Complex(ComplexUnitId),
10897}
10898impl PresentationAreaRef {
10899 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10900 match a {
10901 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
10902 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10903 other => Err(format!(
10904 "expected PresentationAreaRef target, got {other:?}"
10905 )),
10906 }
10907 }
10908}
10909
10910#[derive(Debug, Clone, PartialEq)]
10911pub enum PresentationRepresentationSelectRef {
10912 PresentationArea(PresentationAreaId),
10913 PresentationRepresentation(PresentationRepresentationId),
10914 PresentationSet(PresentationSetId),
10915 PresentationView(PresentationViewId),
10916 Complex(ComplexUnitId),
10917}
10918impl PresentationRepresentationSelectRef {
10919 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10920 match a {
10921 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
10922 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
10923 EntityKey::PresentationSet(i) => Ok(Self::PresentationSet(i)),
10924 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
10925 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10926 other => Err(format!(
10927 "expected PresentationRepresentationSelectRef target, got {other:?}"
10928 )),
10929 }
10930 }
10931}
10932
10933#[derive(Debug, Clone, PartialEq)]
10934pub enum PresentationSetRef {
10935 PresentationSet(PresentationSetId),
10936 Complex(ComplexUnitId),
10937}
10938impl PresentationSetRef {
10939 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10940 match a {
10941 EntityKey::PresentationSet(i) => Ok(Self::PresentationSet(i)),
10942 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10943 other => Err(format!("expected PresentationSetRef target, got {other:?}")),
10944 }
10945 }
10946}
10947
10948#[derive(Debug, Clone, PartialEq)]
10949pub enum PresentationSizeAssignmentSelectRef {
10950 AreaInSet(AreaInSetId),
10951 PresentationArea(PresentationAreaId),
10952 PresentationView(PresentationViewId),
10953 Complex(ComplexUnitId),
10954}
10955impl PresentationSizeAssignmentSelectRef {
10956 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10957 match a {
10958 EntityKey::AreaInSet(i) => Ok(Self::AreaInSet(i)),
10959 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
10960 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
10961 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10962 other => Err(format!(
10963 "expected PresentationSizeAssignmentSelectRef target, got {other:?}"
10964 )),
10965 }
10966 }
10967}
10968
10969#[derive(Debug, Clone, PartialEq)]
10970pub enum PresentationStyleAssignmentRef {
10971 PresentationStyleAssignment(PresentationStyleAssignmentId),
10972 PresentationStyleByContext(PresentationStyleByContextId),
10973 Complex(ComplexUnitId),
10974}
10975impl PresentationStyleAssignmentRef {
10976 pub fn from_any(a: EntityKey) -> Result<Self, String> {
10977 match a {
10978 EntityKey::PresentationStyleAssignment(i) => Ok(Self::PresentationStyleAssignment(i)),
10979 EntityKey::PresentationStyleByContext(i) => Ok(Self::PresentationStyleByContext(i)),
10980 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
10981 other => Err(format!(
10982 "expected PresentationStyleAssignmentRef target, got {other:?}"
10983 )),
10984 }
10985 }
10986}
10987
10988#[derive(Debug, Clone, PartialEq)]
10989pub enum PresentationStyleSelectRef {
10990 ApproximationTolerance(ApproximationToleranceId),
10991 CurveStyle(CurveStyleId),
10992 ExternallyDefinedStyle(ExternallyDefinedStyleId),
10993 FillAreaStyle(FillAreaStyleId),
10994 PointStyle(PointStyleId),
10995 PreDefinedPresentationStyle(PreDefinedPresentationStyleId),
10996 SurfaceStyleUsage(SurfaceStyleUsageId),
10997 SymbolStyle(SymbolStyleId),
10998 TextStyle(TextStyleId),
10999 TextStyleWithBoxCharacteristics(TextStyleWithBoxCharacteristicsId),
11000 TextureStyleTessellationSpecification(TextureStyleTessellationSpecificationId),
11001 NullStyle(NullStyle),
11002 Complex(ComplexUnitId),
11003}
11004impl PresentationStyleSelectRef {
11005 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11006 match a {
11007 EntityKey::ApproximationTolerance(i) => Ok(Self::ApproximationTolerance(i)),
11008 EntityKey::CurveStyle(i) => Ok(Self::CurveStyle(i)),
11009 EntityKey::ExternallyDefinedStyle(i) => Ok(Self::ExternallyDefinedStyle(i)),
11010 EntityKey::FillAreaStyle(i) => Ok(Self::FillAreaStyle(i)),
11011 EntityKey::PointStyle(i) => Ok(Self::PointStyle(i)),
11012 EntityKey::PreDefinedPresentationStyle(i) => Ok(Self::PreDefinedPresentationStyle(i)),
11013 EntityKey::SurfaceStyleUsage(i) => Ok(Self::SurfaceStyleUsage(i)),
11014 EntityKey::SymbolStyle(i) => Ok(Self::SymbolStyle(i)),
11015 EntityKey::TextStyle(i) => Ok(Self::TextStyle(i)),
11016 EntityKey::TextStyleWithBoxCharacteristics(i) => {
11017 Ok(Self::TextStyleWithBoxCharacteristics(i))
11018 }
11019 EntityKey::TextureStyleTessellationSpecification(i) => {
11020 Ok(Self::TextureStyleTessellationSpecification(i))
11021 }
11022 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11023 other => Err(format!(
11024 "expected PresentationStyleSelectRef target, got {other:?}"
11025 )),
11026 }
11027 }
11028}
11029
11030#[derive(Debug, Clone, PartialEq)]
11031pub enum PresentedItemRef {
11032 AppliedPresentedItem(AppliedPresentedItemId),
11033 PresentedItem(PresentedItemId),
11034 Complex(ComplexUnitId),
11035}
11036impl PresentedItemRef {
11037 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11038 match a {
11039 EntityKey::AppliedPresentedItem(i) => Ok(Self::AppliedPresentedItem(i)),
11040 EntityKey::PresentedItem(i) => Ok(Self::PresentedItem(i)),
11041 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11042 other => Err(format!("expected PresentedItemRef target, got {other:?}")),
11043 }
11044 }
11045}
11046
11047#[derive(Debug, Clone, PartialEq)]
11048pub enum PresentedItemSelectRef {
11049 Action(ActionId),
11050 ActionMethod(ActionMethodId),
11051 ActionRelationship(ActionRelationshipId),
11052 AssemblyComponentUsage(AssemblyComponentUsageId),
11053 MakeFromUsageOption(MakeFromUsageOptionId),
11054 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
11055 ProductConcept(ProductConceptId),
11056 ProductConceptFeature(ProductConceptFeatureId),
11057 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
11058 ProductDefinition(ProductDefinitionId),
11059 ProductDefinitionFormation(ProductDefinitionFormationId),
11060 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
11061 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
11062 ProductDefinitionUsage(ProductDefinitionUsageId),
11063 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
11064 Complex(ComplexUnitId),
11065}
11066impl PresentedItemSelectRef {
11067 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11068 match a {
11069 EntityKey::Action(i) => Ok(Self::Action(i)),
11070 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
11071 EntityKey::ActionRelationship(i) => Ok(Self::ActionRelationship(i)),
11072 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
11073 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
11074 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
11075 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
11076 EntityKey::ProductConceptFeature(i) => Ok(Self::ProductConceptFeature(i)),
11077 EntityKey::ProductConceptFeatureCategory(i) => {
11078 Ok(Self::ProductConceptFeatureCategory(i))
11079 }
11080 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
11081 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
11082 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
11083 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
11084 }
11085 EntityKey::ProductDefinitionRelationship(i) => {
11086 Ok(Self::ProductDefinitionRelationship(i))
11087 }
11088 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
11089 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
11090 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
11091 }
11092 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11093 other => Err(format!(
11094 "expected PresentedItemSelectRef target, got {other:?}"
11095 )),
11096 }
11097 }
11098}
11099
11100#[derive(Debug, Clone, PartialEq)]
11101pub enum ProductCategoryRef {
11102 ProductCategory(ProductCategoryId),
11103 ProductRelatedProductCategory(ProductRelatedProductCategoryId),
11104 Complex(ComplexUnitId),
11105}
11106impl ProductCategoryRef {
11107 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11108 match a {
11109 EntityKey::ProductCategory(i) => Ok(Self::ProductCategory(i)),
11110 EntityKey::ProductRelatedProductCategory(i) => {
11111 Ok(Self::ProductRelatedProductCategory(i))
11112 }
11113 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11114 other => Err(format!("expected ProductCategoryRef target, got {other:?}")),
11115 }
11116 }
11117}
11118
11119#[derive(Debug, Clone, PartialEq)]
11120pub enum ProductConceptContextRef {
11121 ProductConceptContext(ProductConceptContextId),
11122}
11123impl ProductConceptContextRef {
11124 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11125 match a {
11126 EntityKey::ProductConceptContext(i) => Ok(Self::ProductConceptContext(i)),
11127 other => Err(format!(
11128 "expected ProductConceptContextRef target, got {other:?}"
11129 )),
11130 }
11131 }
11132}
11133
11134#[derive(Debug, Clone, PartialEq)]
11135pub enum ProductConceptRef {
11136 ProductConcept(ProductConceptId),
11137 Complex(ComplexUnitId),
11138}
11139impl ProductConceptRef {
11140 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11141 match a {
11142 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
11143 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11144 other => Err(format!("expected ProductConceptRef target, got {other:?}")),
11145 }
11146 }
11147}
11148
11149#[derive(Debug, Clone, PartialEq)]
11150pub enum ProductContextRef {
11151 MechanicalContext(MechanicalContextId),
11152 ProductContext(ProductContextId),
11153 Complex(ComplexUnitId),
11154}
11155impl ProductContextRef {
11156 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11157 match a {
11158 EntityKey::MechanicalContext(i) => Ok(Self::MechanicalContext(i)),
11159 EntityKey::ProductContext(i) => Ok(Self::ProductContext(i)),
11160 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11161 other => Err(format!("expected ProductContextRef target, got {other:?}")),
11162 }
11163 }
11164}
11165
11166#[derive(Debug, Clone, PartialEq)]
11167pub enum ProductDefinitionContextRef {
11168 DesignContext(DesignContextId),
11169 ProductDefinitionContext(ProductDefinitionContextId),
11170 Complex(ComplexUnitId),
11171}
11172impl ProductDefinitionContextRef {
11173 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11174 match a {
11175 EntityKey::DesignContext(i) => Ok(Self::DesignContext(i)),
11176 EntityKey::ProductDefinitionContext(i) => Ok(Self::ProductDefinitionContext(i)),
11177 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11178 other => Err(format!(
11179 "expected ProductDefinitionContextRef target, got {other:?}"
11180 )),
11181 }
11182 }
11183}
11184
11185#[derive(Debug, Clone, PartialEq)]
11186pub enum ProductDefinitionContextRoleRef {
11187 ProductDefinitionContextRole(ProductDefinitionContextRoleId),
11188}
11189impl ProductDefinitionContextRoleRef {
11190 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11191 match a {
11192 EntityKey::ProductDefinitionContextRole(i) => Ok(Self::ProductDefinitionContextRole(i)),
11193 other => Err(format!(
11194 "expected ProductDefinitionContextRoleRef target, got {other:?}"
11195 )),
11196 }
11197 }
11198}
11199
11200#[derive(Debug, Clone, PartialEq)]
11201pub enum ProductDefinitionFormationRef {
11202 ProductDefinitionFormation(ProductDefinitionFormationId),
11203 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
11204 Complex(ComplexUnitId),
11205}
11206impl ProductDefinitionFormationRef {
11207 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11208 match a {
11209 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
11210 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
11211 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
11212 }
11213 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11214 other => Err(format!(
11215 "expected ProductDefinitionFormationRef target, got {other:?}"
11216 )),
11217 }
11218 }
11219}
11220
11221#[derive(Debug, Clone, PartialEq)]
11222pub enum ProductDefinitionOrReferenceRef {
11223 GenericProductDefinitionReference(GenericProductDefinitionReferenceId),
11224 ProductDefinition(ProductDefinitionId),
11225 ProductDefinitionOccurrence(ProductDefinitionOccurrenceId),
11226 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
11227 Complex(ComplexUnitId),
11228}
11229impl ProductDefinitionOrReferenceRef {
11230 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11231 match a {
11232 EntityKey::GenericProductDefinitionReference(i) => {
11233 Ok(Self::GenericProductDefinitionReference(i))
11234 }
11235 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
11236 EntityKey::ProductDefinitionOccurrence(i) => Ok(Self::ProductDefinitionOccurrence(i)),
11237 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
11238 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
11239 }
11240 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11241 other => Err(format!(
11242 "expected ProductDefinitionOrReferenceRef target, got {other:?}"
11243 )),
11244 }
11245 }
11246}
11247
11248#[derive(Debug, Clone, PartialEq)]
11249pub enum ProductDefinitionRef {
11250 ProductDefinition(ProductDefinitionId),
11251 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
11252 Complex(ComplexUnitId),
11253}
11254impl ProductDefinitionRef {
11255 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11256 match a {
11257 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
11258 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
11259 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
11260 }
11261 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11262 other => Err(format!(
11263 "expected ProductDefinitionRef target, got {other:?}"
11264 )),
11265 }
11266 }
11267}
11268
11269#[derive(Debug, Clone, PartialEq)]
11270pub enum ProductDefinitionRelationshipRef {
11271 AssemblyComponentUsage(AssemblyComponentUsageId),
11272 MakeFromUsageOption(MakeFromUsageOptionId),
11273 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
11274 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
11275 ProductDefinitionUsage(ProductDefinitionUsageId),
11276 Complex(ComplexUnitId),
11277}
11278impl ProductDefinitionRelationshipRef {
11279 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11280 match a {
11281 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
11282 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
11283 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
11284 EntityKey::ProductDefinitionRelationship(i) => {
11285 Ok(Self::ProductDefinitionRelationship(i))
11286 }
11287 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
11288 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11289 other => Err(format!(
11290 "expected ProductDefinitionRelationshipRef target, got {other:?}"
11291 )),
11292 }
11293 }
11294}
11295
11296#[derive(Debug, Clone, PartialEq)]
11297pub enum ProductDefinitionShapeRef {
11298 ProductDefinitionShape(ProductDefinitionShapeId),
11299 Complex(ComplexUnitId),
11300}
11301impl ProductDefinitionShapeRef {
11302 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11303 match a {
11304 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
11305 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11306 other => Err(format!(
11307 "expected ProductDefinitionShapeRef target, got {other:?}"
11308 )),
11309 }
11310 }
11311}
11312
11313#[derive(Debug, Clone, PartialEq)]
11314pub enum ProductOrFormationOrDefinitionRef {
11315 Product(ProductId),
11316 ProductDefinition(ProductDefinitionId),
11317 ProductDefinitionFormation(ProductDefinitionFormationId),
11318 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
11319 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
11320 Complex(ComplexUnitId),
11321}
11322impl ProductOrFormationOrDefinitionRef {
11323 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11324 match a {
11325 EntityKey::Product(i) => Ok(Self::Product(i)),
11326 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
11327 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
11328 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
11329 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
11330 }
11331 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
11332 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
11333 }
11334 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11335 other => Err(format!(
11336 "expected ProductOrFormationOrDefinitionRef target, got {other:?}"
11337 )),
11338 }
11339 }
11340}
11341
11342#[derive(Debug, Clone, PartialEq)]
11343pub enum ProductRef {
11344 Product(ProductId),
11345 Complex(ComplexUnitId),
11346}
11347impl ProductRef {
11348 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11349 match a {
11350 EntityKey::Product(i) => Ok(Self::Product(i)),
11351 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11352 other => Err(format!("expected ProductRef target, got {other:?}")),
11353 }
11354 }
11355}
11356
11357#[derive(Debug, Clone, PartialEq)]
11358pub enum PropertyDefinitionRef {
11359 ProductDefinitionShape(ProductDefinitionShapeId),
11360 PropertyDefinition(PropertyDefinitionId),
11361 Complex(ComplexUnitId),
11362}
11363impl PropertyDefinitionRef {
11364 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11365 match a {
11366 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
11367 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
11368 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11369 other => Err(format!(
11370 "expected PropertyDefinitionRef target, got {other:?}"
11371 )),
11372 }
11373 }
11374}
11375
11376#[derive(Debug, Clone, PartialEq)]
11377pub enum RenderingPropertiesSelectRef {
11378 SurfaceStyleReflectanceAmbient(SurfaceStyleReflectanceAmbientId),
11379 SurfaceStyleTransparent(SurfaceStyleTransparentId),
11380 Complex(ComplexUnitId),
11381}
11382impl RenderingPropertiesSelectRef {
11383 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11384 match a {
11385 EntityKey::SurfaceStyleReflectanceAmbient(i) => {
11386 Ok(Self::SurfaceStyleReflectanceAmbient(i))
11387 }
11388 EntityKey::SurfaceStyleTransparent(i) => Ok(Self::SurfaceStyleTransparent(i)),
11389 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11390 other => Err(format!(
11391 "expected RenderingPropertiesSelectRef target, got {other:?}"
11392 )),
11393 }
11394 }
11395}
11396
11397#[derive(Debug, Clone, PartialEq)]
11398pub enum RepresentationContextRef {
11399 GeometricRepresentationContext(GeometricRepresentationContextId),
11400 GlobalUncertaintyAssignedContext(GlobalUncertaintyAssignedContextId),
11401 GlobalUnitAssignedContext(GlobalUnitAssignedContextId),
11402 ParametricRepresentationContext(ParametricRepresentationContextId),
11403 RepresentationContext(RepresentationContextId),
11404 Complex(ComplexUnitId),
11405}
11406impl RepresentationContextRef {
11407 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11408 match a {
11409 EntityKey::GeometricRepresentationContext(i) => {
11410 Ok(Self::GeometricRepresentationContext(i))
11411 }
11412 EntityKey::GlobalUncertaintyAssignedContext(i) => {
11413 Ok(Self::GlobalUncertaintyAssignedContext(i))
11414 }
11415 EntityKey::GlobalUnitAssignedContext(i) => Ok(Self::GlobalUnitAssignedContext(i)),
11416 EntityKey::ParametricRepresentationContext(i) => {
11417 Ok(Self::ParametricRepresentationContext(i))
11418 }
11419 EntityKey::RepresentationContext(i) => Ok(Self::RepresentationContext(i)),
11420 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11421 other => Err(format!(
11422 "expected RepresentationContextRef target, got {other:?}"
11423 )),
11424 }
11425 }
11426}
11427
11428#[derive(Debug, Clone, PartialEq)]
11429pub enum RepresentationContextReferenceRef {
11430 RepresentationContextReference(RepresentationContextReferenceId),
11431}
11432impl RepresentationContextReferenceRef {
11433 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11434 match a {
11435 EntityKey::RepresentationContextReference(i) => {
11436 Ok(Self::RepresentationContextReference(i))
11437 }
11438 other => Err(format!(
11439 "expected RepresentationContextReferenceRef target, got {other:?}"
11440 )),
11441 }
11442 }
11443}
11444
11445#[derive(Debug, Clone, PartialEq)]
11446pub enum RepresentationItemRef {
11447 AdvancedFace(AdvancedFaceId),
11448 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
11449 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
11450 AnnotationOccurrence(AnnotationOccurrenceId),
11451 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
11452 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
11453 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
11454 AnnotationPlane(AnnotationPlaneId),
11455 AnnotationSymbol(AnnotationSymbolId),
11456 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
11457 AnnotationText(AnnotationTextId),
11458 AnnotationTextCharacter(AnnotationTextCharacterId),
11459 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
11460 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
11461 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
11462 ApllPoint(ApllPointId),
11463 ApllPointWithSurface(ApllPointWithSurfaceId),
11464 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
11465 Axis1Placement(Axis1PlacementId),
11466 Axis2Placement2d(Axis2Placement2dId),
11467 Axis2Placement3d(Axis2Placement3dId),
11468 BSplineCurve(BSplineCurveId),
11469 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
11470 BSplineSurface(BSplineSurfaceId),
11471 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
11472 BezierCurve(BezierCurveId),
11473 BezierSurface(BezierSurfaceId),
11474 BoundedCurve(BoundedCurveId),
11475 BoundedPcurve(BoundedPcurveId),
11476 BoundedSurface(BoundedSurfaceId),
11477 BoundedSurfaceCurve(BoundedSurfaceCurveId),
11478 BrepWithVoids(BrepWithVoidsId),
11479 CameraImage(CameraImageId),
11480 CameraImage3dWithScale(CameraImage3dWithScaleId),
11481 CameraModel(CameraModelId),
11482 CameraModelD3(CameraModelD3Id),
11483 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
11484 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
11485 CartesianPoint(CartesianPointId),
11486 Circle(CircleId),
11487 ClosedShell(ClosedShellId),
11488 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
11489 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
11490 CompositeCurve(CompositeCurveId),
11491 CompositeText(CompositeTextId),
11492 CompoundRepresentationItem(CompoundRepresentationItemId),
11493 Conic(ConicId),
11494 ConicalSurface(ConicalSurfaceId),
11495 ConnectedFaceSet(ConnectedFaceSetId),
11496 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
11497 CoordinatesList(CoordinatesListId),
11498 Curve(CurveId),
11499 CylindricalSurface(CylindricalSurfaceId),
11500 DefinedCharacterGlyph(DefinedCharacterGlyphId),
11501 DefinedSymbol(DefinedSymbolId),
11502 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
11503 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
11504 Direction(DirectionId),
11505 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
11506 DraughtingCallout(DraughtingCalloutId),
11507 Edge(EdgeId),
11508 EdgeCurve(EdgeCurveId),
11509 EdgeLoop(EdgeLoopId),
11510 ElementarySurface(ElementarySurfaceId),
11511 Ellipse(EllipseId),
11512 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
11513 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
11514 Face(FaceId),
11515 FaceBound(FaceBoundId),
11516 FaceOuterBound(FaceOuterBoundId),
11517 FaceSurface(FaceSurfaceId),
11518 FillAreaStyleHatching(FillAreaStyleHatchingId),
11519 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
11520 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
11521 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
11522 FillAreaStyleTiles(FillAreaStyleTilesId),
11523 GeometricCurveSet(GeometricCurveSetId),
11524 GeometricRepresentationItem(GeometricRepresentationItemId),
11525 GeometricSet(GeometricSetId),
11526 Hyperbola(HyperbolaId),
11527 IntegerRepresentationItem(IntegerRepresentationItemId),
11528 IntersectionCurve(IntersectionCurveId),
11529 LeaderCurve(LeaderCurveId),
11530 LeaderDirectedCallout(LeaderDirectedCalloutId),
11531 LeaderTerminator(LeaderTerminatorId),
11532 Line(LineId),
11533 Loop(LoopId),
11534 ManifoldSolidBrep(ManifoldSolidBrepId),
11535 MappedItem(MappedItemId),
11536 MeasureRepresentationItem(MeasureRepresentationItemId),
11537 OffsetSurface(OffsetSurfaceId),
11538 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
11539 OpenShell(OpenShellId),
11540 OrientedClosedShell(OrientedClosedShellId),
11541 OrientedEdge(OrientedEdgeId),
11542 OverRidingStyledItem(OverRidingStyledItemId),
11543 Path(PathId),
11544 Pcurve(PcurveId),
11545 Placement(PlacementId),
11546 PlanarBox(PlanarBoxId),
11547 PlanarExtent(PlanarExtentId),
11548 Plane(PlaneId),
11549 Point(PointId),
11550 PolyLoop(PolyLoopId),
11551 Polyline(PolylineId),
11552 QualifiedRepresentationItem(QualifiedRepresentationItemId),
11553 QuasiUniformCurve(QuasiUniformCurveId),
11554 QuasiUniformSurface(QuasiUniformSurfaceId),
11555 RationalBSplineCurve(RationalBSplineCurveId),
11556 RationalBSplineSurface(RationalBSplineSurfaceId),
11557 RealRepresentationItem(RealRepresentationItemId),
11558 RepositionedTessellatedItem(RepositionedTessellatedItemId),
11559 RepresentationItem(RepresentationItemId),
11560 SeamCurve(SeamCurveId),
11561 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
11562 SolidModel(SolidModelId),
11563 SphericalSurface(SphericalSurfaceId),
11564 StyledItem(StyledItemId),
11565 Surface(SurfaceId),
11566 SurfaceCurve(SurfaceCurveId),
11567 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
11568 SurfaceOfRevolution(SurfaceOfRevolutionId),
11569 SweptSurface(SweptSurfaceId),
11570 SymbolTarget(SymbolTargetId),
11571 TerminatorSymbol(TerminatorSymbolId),
11572 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
11573 TessellatedCurveSet(TessellatedCurveSetId),
11574 TessellatedFace(TessellatedFaceId),
11575 TessellatedGeometricSet(TessellatedGeometricSetId),
11576 TessellatedItem(TessellatedItemId),
11577 TessellatedShell(TessellatedShellId),
11578 TessellatedSolid(TessellatedSolidId),
11579 TessellatedStructuredItem(TessellatedStructuredItemId),
11580 TessellatedSurfaceSet(TessellatedSurfaceSetId),
11581 TextLiteral(TextLiteralId),
11582 TopologicalRepresentationItem(TopologicalRepresentationItemId),
11583 ToroidalSurface(ToroidalSurfaceId),
11584 TrimmedCurve(TrimmedCurveId),
11585 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
11586 UniformCurve(UniformCurveId),
11587 UniformSurface(UniformSurfaceId),
11588 ValueRepresentationItem(ValueRepresentationItemId),
11589 Vector(VectorId),
11590 Vertex(VertexId),
11591 VertexLoop(VertexLoopId),
11592 VertexPoint(VertexPointId),
11593 VertexShell(VertexShellId),
11594 WireShell(WireShellId),
11595 Complex(ComplexUnitId),
11596}
11597impl RepresentationItemRef {
11598 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11599 match a {
11600 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
11601 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
11602 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
11603 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
11604 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
11605 Ok(Self::AnnotationPlaceholderLeaderLine(i))
11606 }
11607 EntityKey::AnnotationPlaceholderOccurrence(i) => {
11608 Ok(Self::AnnotationPlaceholderOccurrence(i))
11609 }
11610 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
11611 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
11612 }
11613 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
11614 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
11615 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
11616 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
11617 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
11618 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
11619 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
11620 Ok(Self::AnnotationToAnnotationLeaderLine(i))
11621 }
11622 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
11623 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
11624 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
11625 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
11626 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
11627 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
11628 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
11629 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
11630 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
11631 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
11632 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
11633 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
11634 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
11635 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
11636 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
11637 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
11638 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
11639 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
11640 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
11641 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
11642 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
11643 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
11644 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
11645 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
11646 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
11647 EntityKey::Circle(i) => Ok(Self::Circle(i)),
11648 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
11649 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
11650 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
11651 Ok(Self::ComplexTriangulatedSurfaceSet(i))
11652 }
11653 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
11654 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
11655 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
11656 EntityKey::Conic(i) => Ok(Self::Conic(i)),
11657 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
11658 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
11659 EntityKey::ContextDependentOverRidingStyledItem(i) => {
11660 Ok(Self::ContextDependentOverRidingStyledItem(i))
11661 }
11662 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
11663 EntityKey::Curve(i) => Ok(Self::Curve(i)),
11664 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
11665 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
11666 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
11667 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
11668 EntityKey::DescriptiveRepresentationItem(i) => {
11669 Ok(Self::DescriptiveRepresentationItem(i))
11670 }
11671 EntityKey::Direction(i) => Ok(Self::Direction(i)),
11672 EntityKey::DraughtingAnnotationOccurrence(i) => {
11673 Ok(Self::DraughtingAnnotationOccurrence(i))
11674 }
11675 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
11676 EntityKey::Edge(i) => Ok(Self::Edge(i)),
11677 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
11678 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
11679 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
11680 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
11681 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
11682 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
11683 EntityKey::Face(i) => Ok(Self::Face(i)),
11684 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
11685 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
11686 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
11687 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
11688 EntityKey::FillAreaStyleTileColouredRegion(i) => {
11689 Ok(Self::FillAreaStyleTileColouredRegion(i))
11690 }
11691 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
11692 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
11693 }
11694 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
11695 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
11696 }
11697 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
11698 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
11699 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
11700 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
11701 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
11702 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
11703 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
11704 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
11705 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
11706 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
11707 EntityKey::Line(i) => Ok(Self::Line(i)),
11708 EntityKey::Loop(i) => Ok(Self::Loop(i)),
11709 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
11710 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
11711 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
11712 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
11713 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
11714 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
11715 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
11716 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
11717 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
11718 EntityKey::Path(i) => Ok(Self::Path(i)),
11719 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
11720 EntityKey::Placement(i) => Ok(Self::Placement(i)),
11721 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
11722 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
11723 EntityKey::Plane(i) => Ok(Self::Plane(i)),
11724 EntityKey::Point(i) => Ok(Self::Point(i)),
11725 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
11726 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
11727 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
11728 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
11729 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
11730 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
11731 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
11732 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
11733 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
11734 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
11735 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
11736 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
11737 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
11738 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
11739 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
11740 EntityKey::Surface(i) => Ok(Self::Surface(i)),
11741 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
11742 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
11743 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
11744 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
11745 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
11746 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
11747 EntityKey::TessellatedAnnotationOccurrence(i) => {
11748 Ok(Self::TessellatedAnnotationOccurrence(i))
11749 }
11750 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
11751 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
11752 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
11753 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
11754 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
11755 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
11756 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
11757 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
11758 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
11759 EntityKey::TopologicalRepresentationItem(i) => {
11760 Ok(Self::TopologicalRepresentationItem(i))
11761 }
11762 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
11763 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
11764 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
11765 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
11766 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
11767 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
11768 EntityKey::Vector(i) => Ok(Self::Vector(i)),
11769 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
11770 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
11771 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
11772 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
11773 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
11774 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11775 other => Err(format!(
11776 "expected RepresentationItemRef target, got {other:?}"
11777 )),
11778 }
11779 }
11780}
11781
11782#[derive(Debug, Clone, PartialEq)]
11783pub enum RepresentationMapRef {
11784 CameraUsage(CameraUsageId),
11785 RepresentationMap(RepresentationMapId),
11786 Complex(ComplexUnitId),
11787}
11788impl RepresentationMapRef {
11789 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11790 match a {
11791 EntityKey::CameraUsage(i) => Ok(Self::CameraUsage(i)),
11792 EntityKey::RepresentationMap(i) => Ok(Self::RepresentationMap(i)),
11793 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11794 other => Err(format!(
11795 "expected RepresentationMapRef target, got {other:?}"
11796 )),
11797 }
11798 }
11799}
11800
11801#[derive(Debug, Clone, PartialEq)]
11802pub enum RepresentationOrRepresentationReferenceRef {
11803 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
11804 CharacterizedRepresentation(CharacterizedRepresentationId),
11805 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
11806 DefinitionalRepresentation(DefinitionalRepresentationId),
11807 DraughtingModel(DraughtingModelId),
11808 GeometricallyBoundedSurfaceShapeRepresentation(
11809 GeometricallyBoundedSurfaceShapeRepresentationId,
11810 ),
11811 GeometricallyBoundedWireframeShapeRepresentation(
11812 GeometricallyBoundedWireframeShapeRepresentationId,
11813 ),
11814 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
11815 MechanicalDesignGeometricPresentationRepresentation(
11816 MechanicalDesignGeometricPresentationRepresentationId,
11817 ),
11818 MechanicalDesignPresentationRepresentationWithDraughting(
11819 MechanicalDesignPresentationRepresentationWithDraughtingId,
11820 ),
11821 MechanicalDesignShadedPresentationRepresentation(
11822 MechanicalDesignShadedPresentationRepresentationId,
11823 ),
11824 PresentationArea(PresentationAreaId),
11825 PresentationRepresentation(PresentationRepresentationId),
11826 PresentationView(PresentationViewId),
11827 Representation(RepresentationId),
11828 RepresentationReference(RepresentationReferenceId),
11829 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
11830 ShapeRepresentation(ShapeRepresentationId),
11831 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
11832 SymbolRepresentation(SymbolRepresentationId),
11833 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
11834 Complex(ComplexUnitId),
11835}
11836impl RepresentationOrRepresentationReferenceRef {
11837 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11838 match a {
11839 EntityKey::AdvancedBrepShapeRepresentation(i) => {
11840 Ok(Self::AdvancedBrepShapeRepresentation(i))
11841 }
11842 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
11843 EntityKey::ConstructiveGeometryRepresentation(i) => {
11844 Ok(Self::ConstructiveGeometryRepresentation(i))
11845 }
11846 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
11847 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
11848 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
11849 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
11850 }
11851 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
11852 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
11853 }
11854 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
11855 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
11856 }
11857 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
11858 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
11859 }
11860 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
11861 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
11862 }
11863 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
11864 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
11865 }
11866 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
11867 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
11868 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
11869 EntityKey::Representation(i) => Ok(Self::Representation(i)),
11870 EntityKey::RepresentationReference(i) => Ok(Self::RepresentationReference(i)),
11871 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
11872 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
11873 EntityKey::ShapeRepresentationWithParameters(i) => {
11874 Ok(Self::ShapeRepresentationWithParameters(i))
11875 }
11876 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
11877 EntityKey::TessellatedShapeRepresentation(i) => {
11878 Ok(Self::TessellatedShapeRepresentation(i))
11879 }
11880 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11881 other => Err(format!(
11882 "expected RepresentationOrRepresentationReferenceRef target, got {other:?}"
11883 )),
11884 }
11885 }
11886}
11887
11888#[derive(Debug, Clone, PartialEq)]
11889pub enum RepresentationRef {
11890 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
11891 CharacterizedRepresentation(CharacterizedRepresentationId),
11892 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
11893 DefinitionalRepresentation(DefinitionalRepresentationId),
11894 DraughtingModel(DraughtingModelId),
11895 GeometricallyBoundedSurfaceShapeRepresentation(
11896 GeometricallyBoundedSurfaceShapeRepresentationId,
11897 ),
11898 GeometricallyBoundedWireframeShapeRepresentation(
11899 GeometricallyBoundedWireframeShapeRepresentationId,
11900 ),
11901 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
11902 MechanicalDesignGeometricPresentationRepresentation(
11903 MechanicalDesignGeometricPresentationRepresentationId,
11904 ),
11905 MechanicalDesignPresentationRepresentationWithDraughting(
11906 MechanicalDesignPresentationRepresentationWithDraughtingId,
11907 ),
11908 MechanicalDesignShadedPresentationRepresentation(
11909 MechanicalDesignShadedPresentationRepresentationId,
11910 ),
11911 PresentationArea(PresentationAreaId),
11912 PresentationRepresentation(PresentationRepresentationId),
11913 PresentationView(PresentationViewId),
11914 Representation(RepresentationId),
11915 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
11916 ShapeRepresentation(ShapeRepresentationId),
11917 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
11918 SymbolRepresentation(SymbolRepresentationId),
11919 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
11920 Complex(ComplexUnitId),
11921}
11922impl RepresentationRef {
11923 pub fn from_any(a: EntityKey) -> Result<Self, String> {
11924 match a {
11925 EntityKey::AdvancedBrepShapeRepresentation(i) => {
11926 Ok(Self::AdvancedBrepShapeRepresentation(i))
11927 }
11928 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
11929 EntityKey::ConstructiveGeometryRepresentation(i) => {
11930 Ok(Self::ConstructiveGeometryRepresentation(i))
11931 }
11932 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
11933 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
11934 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
11935 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
11936 }
11937 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
11938 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
11939 }
11940 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
11941 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
11942 }
11943 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
11944 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
11945 }
11946 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
11947 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
11948 }
11949 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
11950 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
11951 }
11952 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
11953 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
11954 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
11955 EntityKey::Representation(i) => Ok(Self::Representation(i)),
11956 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
11957 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
11958 EntityKey::ShapeRepresentationWithParameters(i) => {
11959 Ok(Self::ShapeRepresentationWithParameters(i))
11960 }
11961 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
11962 EntityKey::TessellatedShapeRepresentation(i) => {
11963 Ok(Self::TessellatedShapeRepresentation(i))
11964 }
11965 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
11966 other => Err(format!("expected RepresentationRef target, got {other:?}")),
11967 }
11968 }
11969}
11970
11971#[derive(Debug, Clone, PartialEq)]
11972pub enum RepresentedDefinitionRef {
11973 AllAroundShapeAspect(AllAroundShapeAspectId),
11974 AngularLocation(AngularLocationId),
11975 CentreOfSymmetry(CentreOfSymmetryId),
11976 CommonDatum(CommonDatumId),
11977 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
11978 CompositeShapeAspect(CompositeShapeAspectId),
11979 ContinuousShapeAspect(ContinuousShapeAspectId),
11980 Datum(DatumId),
11981 DatumFeature(DatumFeatureId),
11982 DatumReferenceCompartment(DatumReferenceCompartmentId),
11983 DatumReferenceElement(DatumReferenceElementId),
11984 DatumSystem(DatumSystemId),
11985 DatumTarget(DatumTargetId),
11986 DefaultModelGeometricView(DefaultModelGeometricViewId),
11987 DerivedShapeAspect(DerivedShapeAspectId),
11988 DimensionalLocation(DimensionalLocationId),
11989 DimensionalLocationWithPath(DimensionalLocationWithPathId),
11990 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
11991 DirectedDimensionalLocation(DirectedDimensionalLocationId),
11992 FeatureForDatumTargetRelationship(FeatureForDatumTargetRelationshipId),
11993 GeneralDatumReference(GeneralDatumReferenceId),
11994 GeneralProperty(GeneralPropertyId),
11995 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
11996 ProductDefinitionShape(ProductDefinitionShapeId),
11997 PropertyDefinition(PropertyDefinitionId),
11998 PropertyDefinitionRelationship(PropertyDefinitionRelationshipId),
11999 ShapeAspect(ShapeAspectId),
12000 ShapeAspectAssociativity(ShapeAspectAssociativityId),
12001 ShapeAspectDerivingRelationship(ShapeAspectDerivingRelationshipId),
12002 ShapeAspectRelationship(ShapeAspectRelationshipId),
12003 ToleranceZone(ToleranceZoneId),
12004 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
12005 Complex(ComplexUnitId),
12006}
12007impl RepresentedDefinitionRef {
12008 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12009 match a {
12010 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
12011 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
12012 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
12013 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
12014 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
12015 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
12016 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
12017 EntityKey::Datum(i) => Ok(Self::Datum(i)),
12018 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
12019 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
12020 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
12021 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
12022 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
12023 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
12024 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
12025 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
12026 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
12027 EntityKey::DimensionalSizeWithDatumFeature(i) => {
12028 Ok(Self::DimensionalSizeWithDatumFeature(i))
12029 }
12030 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
12031 EntityKey::FeatureForDatumTargetRelationship(i) => {
12032 Ok(Self::FeatureForDatumTargetRelationship(i))
12033 }
12034 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
12035 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
12036 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
12037 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
12038 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
12039 EntityKey::PropertyDefinitionRelationship(i) => {
12040 Ok(Self::PropertyDefinitionRelationship(i))
12041 }
12042 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
12043 EntityKey::ShapeAspectAssociativity(i) => Ok(Self::ShapeAspectAssociativity(i)),
12044 EntityKey::ShapeAspectDerivingRelationship(i) => {
12045 Ok(Self::ShapeAspectDerivingRelationship(i))
12046 }
12047 EntityKey::ShapeAspectRelationship(i) => Ok(Self::ShapeAspectRelationship(i)),
12048 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
12049 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
12050 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12051 other => Err(format!(
12052 "expected RepresentedDefinitionRef target, got {other:?}"
12053 )),
12054 }
12055 }
12056}
12057
12058#[derive(Debug, Clone, PartialEq)]
12059pub enum ResourceRequirementTypeRef {
12060 ResourceRequirementType(ResourceRequirementTypeId),
12061}
12062impl ResourceRequirementTypeRef {
12063 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12064 match a {
12065 EntityKey::ResourceRequirementType(i) => Ok(Self::ResourceRequirementType(i)),
12066 other => Err(format!(
12067 "expected ResourceRequirementTypeRef target, got {other:?}"
12068 )),
12069 }
12070 }
12071}
12072
12073#[derive(Debug, Clone, PartialEq)]
12074pub enum RoleSelectRef {
12075 ActionAssignment(ActionAssignmentId),
12076 ActionRequestAssignment(ActionRequestAssignmentId),
12077 AppliedApprovalAssignment(AppliedApprovalAssignmentId),
12078 AppliedDocumentReference(AppliedDocumentReferenceId),
12079 AppliedGroupAssignment(AppliedGroupAssignmentId),
12080 AppliedSecurityClassificationAssignment(AppliedSecurityClassificationAssignmentId),
12081 ApprovalAssignment(ApprovalAssignmentId),
12082 ApprovalDateTime(ApprovalDateTimeId),
12083 CcDesignApproval(CcDesignApprovalId),
12084 CcDesignSecurityClassification(CcDesignSecurityClassificationId),
12085 Change(ChangeId),
12086 ChangeRequest(ChangeRequestId),
12087 DocumentReference(DocumentReferenceId),
12088 GroupAssignment(GroupAssignmentId),
12089 SecurityClassificationAssignment(SecurityClassificationAssignmentId),
12090 StartRequest(StartRequestId),
12091 StartWork(StartWorkId),
12092 Complex(ComplexUnitId),
12093}
12094impl RoleSelectRef {
12095 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12096 match a {
12097 EntityKey::ActionAssignment(i) => Ok(Self::ActionAssignment(i)),
12098 EntityKey::ActionRequestAssignment(i) => Ok(Self::ActionRequestAssignment(i)),
12099 EntityKey::AppliedApprovalAssignment(i) => Ok(Self::AppliedApprovalAssignment(i)),
12100 EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
12101 EntityKey::AppliedGroupAssignment(i) => Ok(Self::AppliedGroupAssignment(i)),
12102 EntityKey::AppliedSecurityClassificationAssignment(i) => {
12103 Ok(Self::AppliedSecurityClassificationAssignment(i))
12104 }
12105 EntityKey::ApprovalAssignment(i) => Ok(Self::ApprovalAssignment(i)),
12106 EntityKey::ApprovalDateTime(i) => Ok(Self::ApprovalDateTime(i)),
12107 EntityKey::CcDesignApproval(i) => Ok(Self::CcDesignApproval(i)),
12108 EntityKey::CcDesignSecurityClassification(i) => {
12109 Ok(Self::CcDesignSecurityClassification(i))
12110 }
12111 EntityKey::Change(i) => Ok(Self::Change(i)),
12112 EntityKey::ChangeRequest(i) => Ok(Self::ChangeRequest(i)),
12113 EntityKey::DocumentReference(i) => Ok(Self::DocumentReference(i)),
12114 EntityKey::GroupAssignment(i) => Ok(Self::GroupAssignment(i)),
12115 EntityKey::SecurityClassificationAssignment(i) => {
12116 Ok(Self::SecurityClassificationAssignment(i))
12117 }
12118 EntityKey::StartRequest(i) => Ok(Self::StartRequest(i)),
12119 EntityKey::StartWork(i) => Ok(Self::StartWork(i)),
12120 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12121 other => Err(format!("expected RoleSelectRef target, got {other:?}")),
12122 }
12123 }
12124}
12125
12126#[derive(Debug, Clone, PartialEq)]
12127pub enum SecurityClassificationItemRef {
12128 Action(ActionId),
12129 ActionDirective(ActionDirectiveId),
12130 ActionMethod(ActionMethodId),
12131 ActionMethodRelationship(ActionMethodRelationshipId),
12132 ActionProperty(ActionPropertyId),
12133 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
12134 AppliedDocumentReference(AppliedDocumentReferenceId),
12135 AppliedExternalIdentificationAssignment(AppliedExternalIdentificationAssignmentId),
12136 AssemblyComponentUsage(AssemblyComponentUsageId),
12137 CharacterizedRepresentation(CharacterizedRepresentationId),
12138 ConfigurationDesign(ConfigurationDesignId),
12139 ConfigurationEffectivity(ConfigurationEffectivityId),
12140 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
12141 DefinitionalRepresentation(DefinitionalRepresentationId),
12142 Document(DocumentId),
12143 DocumentFile(DocumentFileId),
12144 DraughtingModel(DraughtingModelId),
12145 GeneralProperty(GeneralPropertyId),
12146 GeometricallyBoundedSurfaceShapeRepresentation(
12147 GeometricallyBoundedSurfaceShapeRepresentationId,
12148 ),
12149 GeometricallyBoundedWireframeShapeRepresentation(
12150 GeometricallyBoundedWireframeShapeRepresentationId,
12151 ),
12152 Group(GroupId),
12153 MakeFromUsageOption(MakeFromUsageOptionId),
12154 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
12155 MechanicalDesignGeometricPresentationRepresentation(
12156 MechanicalDesignGeometricPresentationRepresentationId,
12157 ),
12158 MechanicalDesignPresentationRepresentationWithDraughting(
12159 MechanicalDesignPresentationRepresentationWithDraughtingId,
12160 ),
12161 MechanicalDesignShadedPresentationRepresentation(
12162 MechanicalDesignShadedPresentationRepresentationId,
12163 ),
12164 NextAssemblyUsageOccurrence(NextAssemblyUsageOccurrenceId),
12165 OrganizationalProject(OrganizationalProjectId),
12166 PresentationArea(PresentationAreaId),
12167 PresentationRepresentation(PresentationRepresentationId),
12168 PresentationView(PresentationViewId),
12169 Product(ProductId),
12170 ProductConcept(ProductConceptId),
12171 ProductConceptFeature(ProductConceptFeatureId),
12172 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
12173 ProductDefinition(ProductDefinitionId),
12174 ProductDefinitionFormation(ProductDefinitionFormationId),
12175 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
12176 ProductDefinitionRelationship(ProductDefinitionRelationshipId),
12177 ProductDefinitionShape(ProductDefinitionShapeId),
12178 ProductDefinitionUsage(ProductDefinitionUsageId),
12179 ProductDefinitionWithAssociatedDocuments(ProductDefinitionWithAssociatedDocumentsId),
12180 PropertyDefinition(PropertyDefinitionId),
12181 PropertyDefinitionRepresentation(PropertyDefinitionRepresentationId),
12182 Representation(RepresentationId),
12183 ResourceProperty(ResourcePropertyId),
12184 ShapeDefinitionRepresentation(ShapeDefinitionRepresentationId),
12185 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
12186 ShapeRepresentation(ShapeRepresentationId),
12187 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
12188 SymbolRepresentation(SymbolRepresentationId),
12189 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
12190 VersionedActionRequest(VersionedActionRequestId),
12191 Complex(ComplexUnitId),
12192}
12193impl SecurityClassificationItemRef {
12194 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12195 match a {
12196 EntityKey::Action(i) => Ok(Self::Action(i)),
12197 EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
12198 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
12199 EntityKey::ActionMethodRelationship(i) => Ok(Self::ActionMethodRelationship(i)),
12200 EntityKey::ActionProperty(i) => Ok(Self::ActionProperty(i)),
12201 EntityKey::AdvancedBrepShapeRepresentation(i) => {
12202 Ok(Self::AdvancedBrepShapeRepresentation(i))
12203 }
12204 EntityKey::AppliedDocumentReference(i) => Ok(Self::AppliedDocumentReference(i)),
12205 EntityKey::AppliedExternalIdentificationAssignment(i) => {
12206 Ok(Self::AppliedExternalIdentificationAssignment(i))
12207 }
12208 EntityKey::AssemblyComponentUsage(i) => Ok(Self::AssemblyComponentUsage(i)),
12209 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
12210 EntityKey::ConfigurationDesign(i) => Ok(Self::ConfigurationDesign(i)),
12211 EntityKey::ConfigurationEffectivity(i) => Ok(Self::ConfigurationEffectivity(i)),
12212 EntityKey::ConstructiveGeometryRepresentation(i) => {
12213 Ok(Self::ConstructiveGeometryRepresentation(i))
12214 }
12215 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
12216 EntityKey::Document(i) => Ok(Self::Document(i)),
12217 EntityKey::DocumentFile(i) => Ok(Self::DocumentFile(i)),
12218 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
12219 EntityKey::GeneralProperty(i) => Ok(Self::GeneralProperty(i)),
12220 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
12221 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
12222 }
12223 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
12224 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
12225 }
12226 EntityKey::Group(i) => Ok(Self::Group(i)),
12227 EntityKey::MakeFromUsageOption(i) => Ok(Self::MakeFromUsageOption(i)),
12228 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
12229 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
12230 }
12231 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
12232 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
12233 }
12234 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
12235 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
12236 }
12237 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
12238 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
12239 }
12240 EntityKey::NextAssemblyUsageOccurrence(i) => Ok(Self::NextAssemblyUsageOccurrence(i)),
12241 EntityKey::OrganizationalProject(i) => Ok(Self::OrganizationalProject(i)),
12242 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
12243 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
12244 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
12245 EntityKey::Product(i) => Ok(Self::Product(i)),
12246 EntityKey::ProductConcept(i) => Ok(Self::ProductConcept(i)),
12247 EntityKey::ProductConceptFeature(i) => Ok(Self::ProductConceptFeature(i)),
12248 EntityKey::ProductConceptFeatureCategory(i) => {
12249 Ok(Self::ProductConceptFeatureCategory(i))
12250 }
12251 EntityKey::ProductDefinition(i) => Ok(Self::ProductDefinition(i)),
12252 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
12253 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
12254 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
12255 }
12256 EntityKey::ProductDefinitionRelationship(i) => {
12257 Ok(Self::ProductDefinitionRelationship(i))
12258 }
12259 EntityKey::ProductDefinitionShape(i) => Ok(Self::ProductDefinitionShape(i)),
12260 EntityKey::ProductDefinitionUsage(i) => Ok(Self::ProductDefinitionUsage(i)),
12261 EntityKey::ProductDefinitionWithAssociatedDocuments(i) => {
12262 Ok(Self::ProductDefinitionWithAssociatedDocuments(i))
12263 }
12264 EntityKey::PropertyDefinition(i) => Ok(Self::PropertyDefinition(i)),
12265 EntityKey::PropertyDefinitionRepresentation(i) => {
12266 Ok(Self::PropertyDefinitionRepresentation(i))
12267 }
12268 EntityKey::Representation(i) => Ok(Self::Representation(i)),
12269 EntityKey::ResourceProperty(i) => Ok(Self::ResourceProperty(i)),
12270 EntityKey::ShapeDefinitionRepresentation(i) => {
12271 Ok(Self::ShapeDefinitionRepresentation(i))
12272 }
12273 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
12274 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
12275 EntityKey::ShapeRepresentationWithParameters(i) => {
12276 Ok(Self::ShapeRepresentationWithParameters(i))
12277 }
12278 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
12279 EntityKey::TessellatedShapeRepresentation(i) => {
12280 Ok(Self::TessellatedShapeRepresentation(i))
12281 }
12282 EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
12283 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12284 other => Err(format!(
12285 "expected SecurityClassificationItemRef target, got {other:?}"
12286 )),
12287 }
12288 }
12289}
12290
12291#[derive(Debug, Clone, PartialEq)]
12292pub enum SecurityClassificationLevelRef {
12293 SecurityClassificationLevel(SecurityClassificationLevelId),
12294}
12295impl SecurityClassificationLevelRef {
12296 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12297 match a {
12298 EntityKey::SecurityClassificationLevel(i) => Ok(Self::SecurityClassificationLevel(i)),
12299 other => Err(format!(
12300 "expected SecurityClassificationLevelRef target, got {other:?}"
12301 )),
12302 }
12303 }
12304}
12305
12306#[derive(Debug, Clone, PartialEq)]
12307pub enum SecurityClassificationRef {
12308 SecurityClassification(SecurityClassificationId),
12309}
12310impl SecurityClassificationRef {
12311 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12312 match a {
12313 EntityKey::SecurityClassification(i) => Ok(Self::SecurityClassification(i)),
12314 other => Err(format!(
12315 "expected SecurityClassificationRef target, got {other:?}"
12316 )),
12317 }
12318 }
12319}
12320
12321#[derive(Debug, Clone, PartialEq)]
12322pub enum ShapeAspectRef {
12323 AllAroundShapeAspect(AllAroundShapeAspectId),
12324 CentreOfSymmetry(CentreOfSymmetryId),
12325 CommonDatum(CommonDatumId),
12326 CompositeGroupShapeAspect(CompositeGroupShapeAspectId),
12327 CompositeShapeAspect(CompositeShapeAspectId),
12328 ContinuousShapeAspect(ContinuousShapeAspectId),
12329 Datum(DatumId),
12330 DatumFeature(DatumFeatureId),
12331 DatumReferenceCompartment(DatumReferenceCompartmentId),
12332 DatumReferenceElement(DatumReferenceElementId),
12333 DatumSystem(DatumSystemId),
12334 DatumTarget(DatumTargetId),
12335 DefaultModelGeometricView(DefaultModelGeometricViewId),
12336 DerivedShapeAspect(DerivedShapeAspectId),
12337 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
12338 GeneralDatumReference(GeneralDatumReferenceId),
12339 PlacedDatumTargetFeature(PlacedDatumTargetFeatureId),
12340 ShapeAspect(ShapeAspectId),
12341 ToleranceZone(ToleranceZoneId),
12342 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
12343 Complex(ComplexUnitId),
12344}
12345impl ShapeAspectRef {
12346 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12347 match a {
12348 EntityKey::AllAroundShapeAspect(i) => Ok(Self::AllAroundShapeAspect(i)),
12349 EntityKey::CentreOfSymmetry(i) => Ok(Self::CentreOfSymmetry(i)),
12350 EntityKey::CommonDatum(i) => Ok(Self::CommonDatum(i)),
12351 EntityKey::CompositeGroupShapeAspect(i) => Ok(Self::CompositeGroupShapeAspect(i)),
12352 EntityKey::CompositeShapeAspect(i) => Ok(Self::CompositeShapeAspect(i)),
12353 EntityKey::ContinuousShapeAspect(i) => Ok(Self::ContinuousShapeAspect(i)),
12354 EntityKey::Datum(i) => Ok(Self::Datum(i)),
12355 EntityKey::DatumFeature(i) => Ok(Self::DatumFeature(i)),
12356 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
12357 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
12358 EntityKey::DatumSystem(i) => Ok(Self::DatumSystem(i)),
12359 EntityKey::DatumTarget(i) => Ok(Self::DatumTarget(i)),
12360 EntityKey::DefaultModelGeometricView(i) => Ok(Self::DefaultModelGeometricView(i)),
12361 EntityKey::DerivedShapeAspect(i) => Ok(Self::DerivedShapeAspect(i)),
12362 EntityKey::DimensionalSizeWithDatumFeature(i) => {
12363 Ok(Self::DimensionalSizeWithDatumFeature(i))
12364 }
12365 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
12366 EntityKey::PlacedDatumTargetFeature(i) => Ok(Self::PlacedDatumTargetFeature(i)),
12367 EntityKey::ShapeAspect(i) => Ok(Self::ShapeAspect(i)),
12368 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
12369 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
12370 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12371 other => Err(format!("expected ShapeAspectRef target, got {other:?}")),
12372 }
12373 }
12374}
12375
12376#[derive(Debug, Clone, PartialEq)]
12377pub enum ShapeDimensionRepresentationRef {
12378 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
12379 Complex(ComplexUnitId),
12380}
12381impl ShapeDimensionRepresentationRef {
12382 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12383 match a {
12384 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
12385 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12386 other => Err(format!(
12387 "expected ShapeDimensionRepresentationRef target, got {other:?}"
12388 )),
12389 }
12390 }
12391}
12392
12393#[derive(Debug, Clone, PartialEq)]
12394pub enum ShapeModelRef {
12395 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
12396 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
12397 GeometricallyBoundedSurfaceShapeRepresentation(
12398 GeometricallyBoundedSurfaceShapeRepresentationId,
12399 ),
12400 GeometricallyBoundedWireframeShapeRepresentation(
12401 GeometricallyBoundedWireframeShapeRepresentationId,
12402 ),
12403 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
12404 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
12405 ShapeRepresentation(ShapeRepresentationId),
12406 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
12407 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
12408 Complex(ComplexUnitId),
12409}
12410impl ShapeModelRef {
12411 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12412 match a {
12413 EntityKey::AdvancedBrepShapeRepresentation(i) => {
12414 Ok(Self::AdvancedBrepShapeRepresentation(i))
12415 }
12416 EntityKey::ConstructiveGeometryRepresentation(i) => {
12417 Ok(Self::ConstructiveGeometryRepresentation(i))
12418 }
12419 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
12420 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
12421 }
12422 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
12423 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
12424 }
12425 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
12426 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
12427 }
12428 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
12429 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
12430 EntityKey::ShapeRepresentationWithParameters(i) => {
12431 Ok(Self::ShapeRepresentationWithParameters(i))
12432 }
12433 EntityKey::TessellatedShapeRepresentation(i) => {
12434 Ok(Self::TessellatedShapeRepresentation(i))
12435 }
12436 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12437 other => Err(format!("expected ShapeModelRef target, got {other:?}")),
12438 }
12439 }
12440}
12441
12442#[derive(Debug, Clone, PartialEq)]
12443pub enum ShapeRepresentationRelationshipRef {
12444 ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
12445 Complex(ComplexUnitId),
12446}
12447impl ShapeRepresentationRelationshipRef {
12448 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12449 match a {
12450 EntityKey::ShapeRepresentationRelationship(i) => {
12451 Ok(Self::ShapeRepresentationRelationship(i))
12452 }
12453 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12454 other => Err(format!(
12455 "expected ShapeRepresentationRelationshipRef target, got {other:?}"
12456 )),
12457 }
12458 }
12459}
12460
12461#[derive(Debug, Clone, PartialEq)]
12462pub enum ShellRef {
12463 ClosedShell(ClosedShellId),
12464 OpenShell(OpenShellId),
12465 OrientedClosedShell(OrientedClosedShellId),
12466 VertexShell(VertexShellId),
12467 WireShell(WireShellId),
12468 Complex(ComplexUnitId),
12469}
12470impl ShellRef {
12471 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12472 match a {
12473 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
12474 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
12475 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
12476 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
12477 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
12478 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12479 other => Err(format!("expected ShellRef target, got {other:?}")),
12480 }
12481 }
12482}
12483
12484#[derive(Debug, Clone, PartialEq)]
12485pub enum SizeSelectRef {
12486 LengthMeasureWithUnit(LengthMeasureWithUnitId),
12487 MassMeasureWithUnit(MassMeasureWithUnitId),
12488 MeasureRepresentationItem(MeasureRepresentationItemId),
12489 MeasureWithUnit(MeasureWithUnitId),
12490 PlaneAngleMeasureWithUnit(PlaneAngleMeasureWithUnitId),
12491 RatioMeasureWithUnit(RatioMeasureWithUnitId),
12492 UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
12493 DescriptiveMeasure(String),
12494 PositiveLengthMeasure(f64),
12495 Complex(ComplexUnitId),
12496}
12497impl SizeSelectRef {
12498 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12499 match a {
12500 EntityKey::LengthMeasureWithUnit(i) => Ok(Self::LengthMeasureWithUnit(i)),
12501 EntityKey::MassMeasureWithUnit(i) => Ok(Self::MassMeasureWithUnit(i)),
12502 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
12503 EntityKey::MeasureWithUnit(i) => Ok(Self::MeasureWithUnit(i)),
12504 EntityKey::PlaneAngleMeasureWithUnit(i) => Ok(Self::PlaneAngleMeasureWithUnit(i)),
12505 EntityKey::RatioMeasureWithUnit(i) => Ok(Self::RatioMeasureWithUnit(i)),
12506 EntityKey::UncertaintyMeasureWithUnit(i) => Ok(Self::UncertaintyMeasureWithUnit(i)),
12507 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12508 other => Err(format!("expected SizeSelectRef target, got {other:?}")),
12509 }
12510 }
12511}
12512
12513#[derive(Debug, Clone, PartialEq)]
12514pub enum StartRequestItemRef {
12515 ProductDefinitionFormation(ProductDefinitionFormationId),
12516 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
12517 Complex(ComplexUnitId),
12518}
12519impl StartRequestItemRef {
12520 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12521 match a {
12522 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
12523 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
12524 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
12525 }
12526 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12527 other => Err(format!(
12528 "expected StartRequestItemRef target, got {other:?}"
12529 )),
12530 }
12531 }
12532}
12533
12534#[derive(Debug, Clone, PartialEq)]
12535pub enum StateObservedRef {
12536 StateObserved(StateObservedId),
12537 Complex(ComplexUnitId),
12538}
12539impl StateObservedRef {
12540 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12541 match a {
12542 EntityKey::StateObserved(i) => Ok(Self::StateObserved(i)),
12543 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12544 other => Err(format!("expected StateObservedRef target, got {other:?}")),
12545 }
12546 }
12547}
12548
12549#[derive(Debug, Clone, PartialEq)]
12550pub enum StateTypeRef {
12551 StateType(StateTypeId),
12552 Complex(ComplexUnitId),
12553}
12554impl StateTypeRef {
12555 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12556 match a {
12557 EntityKey::StateType(i) => Ok(Self::StateType(i)),
12558 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
12559 other => Err(format!("expected StateTypeRef target, got {other:?}")),
12560 }
12561 }
12562}
12563
12564#[derive(Debug, Clone, PartialEq)]
12565pub enum StyleContextSelectRef {
12566 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
12567 AdvancedFace(AdvancedFaceId),
12568 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
12569 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
12570 AnnotationOccurrence(AnnotationOccurrenceId),
12571 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
12572 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
12573 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
12574 AnnotationPlane(AnnotationPlaneId),
12575 AnnotationSymbol(AnnotationSymbolId),
12576 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
12577 AnnotationText(AnnotationTextId),
12578 AnnotationTextCharacter(AnnotationTextCharacterId),
12579 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
12580 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
12581 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
12582 ApllPoint(ApllPointId),
12583 ApllPointWithSurface(ApllPointWithSurfaceId),
12584 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
12585 Axis1Placement(Axis1PlacementId),
12586 Axis2Placement2d(Axis2Placement2dId),
12587 Axis2Placement3d(Axis2Placement3dId),
12588 BSplineCurve(BSplineCurveId),
12589 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
12590 BSplineSurface(BSplineSurfaceId),
12591 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
12592 BezierCurve(BezierCurveId),
12593 BezierSurface(BezierSurfaceId),
12594 BoundedCurve(BoundedCurveId),
12595 BoundedPcurve(BoundedPcurveId),
12596 BoundedSurface(BoundedSurfaceId),
12597 BoundedSurfaceCurve(BoundedSurfaceCurveId),
12598 BrepWithVoids(BrepWithVoidsId),
12599 CameraImage(CameraImageId),
12600 CameraImage3dWithScale(CameraImage3dWithScaleId),
12601 CameraModel(CameraModelId),
12602 CameraModelD3(CameraModelD3Id),
12603 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
12604 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
12605 CartesianPoint(CartesianPointId),
12606 CharacterizedRepresentation(CharacterizedRepresentationId),
12607 Circle(CircleId),
12608 ClosedShell(ClosedShellId),
12609 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
12610 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
12611 CompositeCurve(CompositeCurveId),
12612 CompositeText(CompositeTextId),
12613 CompoundRepresentationItem(CompoundRepresentationItemId),
12614 Conic(ConicId),
12615 ConicalSurface(ConicalSurfaceId),
12616 ConnectedFaceSet(ConnectedFaceSetId),
12617 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
12618 ConstructiveGeometryRepresentationRelationship(
12619 ConstructiveGeometryRepresentationRelationshipId,
12620 ),
12621 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
12622 ContextDependentShapeRepresentation(ContextDependentShapeRepresentationId),
12623 CoordinatesList(CoordinatesListId),
12624 Curve(CurveId),
12625 CylindricalSurface(CylindricalSurfaceId),
12626 DefinedCharacterGlyph(DefinedCharacterGlyphId),
12627 DefinedSymbol(DefinedSymbolId),
12628 DefinitionalRepresentation(DefinitionalRepresentationId),
12629 DefinitionalRepresentationRelationship(DefinitionalRepresentationRelationshipId),
12630 DefinitionalRepresentationRelationshipWithSameContext(
12631 DefinitionalRepresentationRelationshipWithSameContextId,
12632 ),
12633 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
12634 DescriptiveRepresentationItem(DescriptiveRepresentationItemId),
12635 Direction(DirectionId),
12636 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
12637 DraughtingCallout(DraughtingCalloutId),
12638 DraughtingModel(DraughtingModelId),
12639 Edge(EdgeId),
12640 EdgeCurve(EdgeCurveId),
12641 EdgeLoop(EdgeLoopId),
12642 ElementarySurface(ElementarySurfaceId),
12643 Ellipse(EllipseId),
12644 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
12645 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
12646 Face(FaceId),
12647 FaceBound(FaceBoundId),
12648 FaceOuterBound(FaceOuterBoundId),
12649 FaceSurface(FaceSurfaceId),
12650 FillAreaStyleHatching(FillAreaStyleHatchingId),
12651 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
12652 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
12653 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
12654 FillAreaStyleTiles(FillAreaStyleTilesId),
12655 GeometricCurveSet(GeometricCurveSetId),
12656 GeometricRepresentationItem(GeometricRepresentationItemId),
12657 GeometricSet(GeometricSetId),
12658 GeometricallyBoundedSurfaceShapeRepresentation(
12659 GeometricallyBoundedSurfaceShapeRepresentationId,
12660 ),
12661 GeometricallyBoundedWireframeShapeRepresentation(
12662 GeometricallyBoundedWireframeShapeRepresentationId,
12663 ),
12664 Group(GroupId),
12665 Hyperbola(HyperbolaId),
12666 IntegerRepresentationItem(IntegerRepresentationItemId),
12667 IntersectionCurve(IntersectionCurveId),
12668 LeaderCurve(LeaderCurveId),
12669 LeaderDirectedCallout(LeaderDirectedCalloutId),
12670 LeaderTerminator(LeaderTerminatorId),
12671 Line(LineId),
12672 Loop(LoopId),
12673 ManifoldSolidBrep(ManifoldSolidBrepId),
12674 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
12675 MappedItem(MappedItemId),
12676 MeasureRepresentationItem(MeasureRepresentationItemId),
12677 MechanicalDesignAndDraughtingRelationship(MechanicalDesignAndDraughtingRelationshipId),
12678 MechanicalDesignGeometricPresentationRepresentation(
12679 MechanicalDesignGeometricPresentationRepresentationId,
12680 ),
12681 MechanicalDesignPresentationRepresentationWithDraughting(
12682 MechanicalDesignPresentationRepresentationWithDraughtingId,
12683 ),
12684 MechanicalDesignShadedPresentationRepresentation(
12685 MechanicalDesignShadedPresentationRepresentationId,
12686 ),
12687 OffsetSurface(OffsetSurfaceId),
12688 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
12689 OpenShell(OpenShellId),
12690 OrientedClosedShell(OrientedClosedShellId),
12691 OrientedEdge(OrientedEdgeId),
12692 OverRidingStyledItem(OverRidingStyledItemId),
12693 Path(PathId),
12694 Pcurve(PcurveId),
12695 Placement(PlacementId),
12696 PlanarBox(PlanarBoxId),
12697 PlanarExtent(PlanarExtentId),
12698 Plane(PlaneId),
12699 Point(PointId),
12700 PolyLoop(PolyLoopId),
12701 Polyline(PolylineId),
12702 PresentationArea(PresentationAreaId),
12703 PresentationLayerAssignment(PresentationLayerAssignmentId),
12704 PresentationRepresentation(PresentationRepresentationId),
12705 PresentationSet(PresentationSetId),
12706 PresentationView(PresentationViewId),
12707 ProductConceptFeatureCategory(ProductConceptFeatureCategoryId),
12708 QualifiedRepresentationItem(QualifiedRepresentationItemId),
12709 QuasiUniformCurve(QuasiUniformCurveId),
12710 QuasiUniformSurface(QuasiUniformSurfaceId),
12711 RationalBSplineCurve(RationalBSplineCurveId),
12712 RationalBSplineSurface(RationalBSplineSurfaceId),
12713 RealRepresentationItem(RealRepresentationItemId),
12714 RepositionedTessellatedItem(RepositionedTessellatedItemId),
12715 Representation(RepresentationId),
12716 RepresentationItem(RepresentationItemId),
12717 RepresentationRelationship(RepresentationRelationshipId),
12718 RepresentationRelationshipWithTransformation(RepresentationRelationshipWithTransformationId),
12719 SeamCurve(SeamCurveId),
12720 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
12721 ShapeRepresentation(ShapeRepresentationId),
12722 ShapeRepresentationRelationship(ShapeRepresentationRelationshipId),
12723 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
12724 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
12725 SolidModel(SolidModelId),
12726 SphericalSurface(SphericalSurfaceId),
12727 StyledItem(StyledItemId),
12728 Surface(SurfaceId),
12729 SurfaceCurve(SurfaceCurveId),
12730 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
12731 SurfaceOfRevolution(SurfaceOfRevolutionId),
12732 SweptSurface(SweptSurfaceId),
12733 SymbolRepresentation(SymbolRepresentationId),
12734 SymbolTarget(SymbolTargetId),
12735 TerminatorSymbol(TerminatorSymbolId),
12736 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
12737 TessellatedCurveSet(TessellatedCurveSetId),
12738 TessellatedFace(TessellatedFaceId),
12739 TessellatedGeometricSet(TessellatedGeometricSetId),
12740 TessellatedItem(TessellatedItemId),
12741 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
12742 TessellatedShell(TessellatedShellId),
12743 TessellatedSolid(TessellatedSolidId),
12744 TessellatedStructuredItem(TessellatedStructuredItemId),
12745 TessellatedSurfaceSet(TessellatedSurfaceSetId),
12746 TextLiteral(TextLiteralId),
12747 TopologicalRepresentationItem(TopologicalRepresentationItemId),
12748 ToroidalSurface(ToroidalSurfaceId),
12749 TrimmedCurve(TrimmedCurveId),
12750 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
12751 UniformCurve(UniformCurveId),
12752 UniformSurface(UniformSurfaceId),
12753 ValueRepresentationItem(ValueRepresentationItemId),
12754 Vector(VectorId),
12755 Vertex(VertexId),
12756 VertexLoop(VertexLoopId),
12757 VertexPoint(VertexPointId),
12758 VertexShell(VertexShellId),
12759 WireShell(WireShellId),
12760 Complex(ComplexUnitId),
12761}
12762impl StyleContextSelectRef {
12763 pub fn from_any(a: EntityKey) -> Result<Self, String> {
12764 match a {
12765 EntityKey::AdvancedBrepShapeRepresentation(i) => {
12766 Ok(Self::AdvancedBrepShapeRepresentation(i))
12767 }
12768 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
12769 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
12770 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
12771 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
12772 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
12773 Ok(Self::AnnotationPlaceholderLeaderLine(i))
12774 }
12775 EntityKey::AnnotationPlaceholderOccurrence(i) => {
12776 Ok(Self::AnnotationPlaceholderOccurrence(i))
12777 }
12778 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
12779 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
12780 }
12781 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
12782 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
12783 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
12784 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
12785 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
12786 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
12787 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
12788 Ok(Self::AnnotationToAnnotationLeaderLine(i))
12789 }
12790 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
12791 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
12792 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
12793 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
12794 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
12795 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
12796 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
12797 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
12798 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
12799 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
12800 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
12801 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
12802 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
12803 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
12804 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
12805 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
12806 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
12807 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
12808 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
12809 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
12810 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
12811 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
12812 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
12813 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
12814 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
12815 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
12816 EntityKey::Circle(i) => Ok(Self::Circle(i)),
12817 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
12818 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
12819 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
12820 Ok(Self::ComplexTriangulatedSurfaceSet(i))
12821 }
12822 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
12823 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
12824 EntityKey::CompoundRepresentationItem(i) => Ok(Self::CompoundRepresentationItem(i)),
12825 EntityKey::Conic(i) => Ok(Self::Conic(i)),
12826 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
12827 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
12828 EntityKey::ConstructiveGeometryRepresentation(i) => {
12829 Ok(Self::ConstructiveGeometryRepresentation(i))
12830 }
12831 EntityKey::ConstructiveGeometryRepresentationRelationship(i) => {
12832 Ok(Self::ConstructiveGeometryRepresentationRelationship(i))
12833 }
12834 EntityKey::ContextDependentOverRidingStyledItem(i) => {
12835 Ok(Self::ContextDependentOverRidingStyledItem(i))
12836 }
12837 EntityKey::ContextDependentShapeRepresentation(i) => {
12838 Ok(Self::ContextDependentShapeRepresentation(i))
12839 }
12840 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
12841 EntityKey::Curve(i) => Ok(Self::Curve(i)),
12842 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
12843 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
12844 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
12845 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
12846 EntityKey::DefinitionalRepresentationRelationship(i) => {
12847 Ok(Self::DefinitionalRepresentationRelationship(i))
12848 }
12849 EntityKey::DefinitionalRepresentationRelationshipWithSameContext(i) => Ok(
12850 Self::DefinitionalRepresentationRelationshipWithSameContext(i),
12851 ),
12852 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
12853 EntityKey::DescriptiveRepresentationItem(i) => {
12854 Ok(Self::DescriptiveRepresentationItem(i))
12855 }
12856 EntityKey::Direction(i) => Ok(Self::Direction(i)),
12857 EntityKey::DraughtingAnnotationOccurrence(i) => {
12858 Ok(Self::DraughtingAnnotationOccurrence(i))
12859 }
12860 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
12861 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
12862 EntityKey::Edge(i) => Ok(Self::Edge(i)),
12863 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
12864 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
12865 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
12866 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
12867 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
12868 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
12869 EntityKey::Face(i) => Ok(Self::Face(i)),
12870 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
12871 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
12872 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
12873 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
12874 EntityKey::FillAreaStyleTileColouredRegion(i) => {
12875 Ok(Self::FillAreaStyleTileColouredRegion(i))
12876 }
12877 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
12878 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
12879 }
12880 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
12881 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
12882 }
12883 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
12884 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
12885 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
12886 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
12887 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
12888 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
12889 }
12890 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
12891 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
12892 }
12893 EntityKey::Group(i) => Ok(Self::Group(i)),
12894 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
12895 EntityKey::IntegerRepresentationItem(i) => Ok(Self::IntegerRepresentationItem(i)),
12896 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
12897 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
12898 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
12899 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
12900 EntityKey::Line(i) => Ok(Self::Line(i)),
12901 EntityKey::Loop(i) => Ok(Self::Loop(i)),
12902 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
12903 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
12904 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
12905 }
12906 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
12907 EntityKey::MeasureRepresentationItem(i) => Ok(Self::MeasureRepresentationItem(i)),
12908 EntityKey::MechanicalDesignAndDraughtingRelationship(i) => {
12909 Ok(Self::MechanicalDesignAndDraughtingRelationship(i))
12910 }
12911 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
12912 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
12913 }
12914 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
12915 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
12916 }
12917 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
12918 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
12919 }
12920 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
12921 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
12922 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
12923 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
12924 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
12925 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
12926 EntityKey::Path(i) => Ok(Self::Path(i)),
12927 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
12928 EntityKey::Placement(i) => Ok(Self::Placement(i)),
12929 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
12930 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
12931 EntityKey::Plane(i) => Ok(Self::Plane(i)),
12932 EntityKey::Point(i) => Ok(Self::Point(i)),
12933 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
12934 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
12935 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
12936 EntityKey::PresentationLayerAssignment(i) => Ok(Self::PresentationLayerAssignment(i)),
12937 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
12938 EntityKey::PresentationSet(i) => Ok(Self::PresentationSet(i)),
12939 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
12940 EntityKey::ProductConceptFeatureCategory(i) => {
12941 Ok(Self::ProductConceptFeatureCategory(i))
12942 }
12943 EntityKey::QualifiedRepresentationItem(i) => Ok(Self::QualifiedRepresentationItem(i)),
12944 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
12945 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
12946 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
12947 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
12948 EntityKey::RealRepresentationItem(i) => Ok(Self::RealRepresentationItem(i)),
12949 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
12950 EntityKey::Representation(i) => Ok(Self::Representation(i)),
12951 EntityKey::RepresentationItem(i) => Ok(Self::RepresentationItem(i)),
12952 EntityKey::RepresentationRelationship(i) => Ok(Self::RepresentationRelationship(i)),
12953 EntityKey::RepresentationRelationshipWithTransformation(i) => {
12954 Ok(Self::RepresentationRelationshipWithTransformation(i))
12955 }
12956 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
12957 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
12958 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
12959 EntityKey::ShapeRepresentationRelationship(i) => {
12960 Ok(Self::ShapeRepresentationRelationship(i))
12961 }
12962 EntityKey::ShapeRepresentationWithParameters(i) => {
12963 Ok(Self::ShapeRepresentationWithParameters(i))
12964 }
12965 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
12966 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
12967 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
12968 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
12969 EntityKey::Surface(i) => Ok(Self::Surface(i)),
12970 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
12971 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
12972 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
12973 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
12974 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
12975 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
12976 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
12977 EntityKey::TessellatedAnnotationOccurrence(i) => {
12978 Ok(Self::TessellatedAnnotationOccurrence(i))
12979 }
12980 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
12981 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
12982 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
12983 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
12984 EntityKey::TessellatedShapeRepresentation(i) => {
12985 Ok(Self::TessellatedShapeRepresentation(i))
12986 }
12987 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
12988 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
12989 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
12990 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
12991 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
12992 EntityKey::TopologicalRepresentationItem(i) => {
12993 Ok(Self::TopologicalRepresentationItem(i))
12994 }
12995 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
12996 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
12997 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
12998 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
12999 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
13000 EntityKey::ValueRepresentationItem(i) => Ok(Self::ValueRepresentationItem(i)),
13001 EntityKey::Vector(i) => Ok(Self::Vector(i)),
13002 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
13003 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
13004 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
13005 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
13006 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
13007 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13008 other => Err(format!(
13009 "expected StyleContextSelectRef target, got {other:?}"
13010 )),
13011 }
13012 }
13013}
13014
13015#[derive(Debug, Clone, PartialEq)]
13016pub enum StyledItemRef {
13017 AnnotationCurveOccurrence(AnnotationCurveOccurrenceId),
13018 AnnotationFillAreaOccurrence(AnnotationFillAreaOccurrenceId),
13019 AnnotationOccurrence(AnnotationOccurrenceId),
13020 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
13021 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
13022 AnnotationPlane(AnnotationPlaneId),
13023 AnnotationSymbolOccurrence(AnnotationSymbolOccurrenceId),
13024 AnnotationTextOccurrence(AnnotationTextOccurrenceId),
13025 ContextDependentOverRidingStyledItem(ContextDependentOverRidingStyledItemId),
13026 DraughtingAnnotationOccurrence(DraughtingAnnotationOccurrenceId),
13027 LeaderCurve(LeaderCurveId),
13028 LeaderTerminator(LeaderTerminatorId),
13029 OverRidingStyledItem(OverRidingStyledItemId),
13030 StyledItem(StyledItemId),
13031 TerminatorSymbol(TerminatorSymbolId),
13032 TessellatedAnnotationOccurrence(TessellatedAnnotationOccurrenceId),
13033 Complex(ComplexUnitId),
13034}
13035impl StyledItemRef {
13036 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13037 match a {
13038 EntityKey::AnnotationCurveOccurrence(i) => Ok(Self::AnnotationCurveOccurrence(i)),
13039 EntityKey::AnnotationFillAreaOccurrence(i) => Ok(Self::AnnotationFillAreaOccurrence(i)),
13040 EntityKey::AnnotationOccurrence(i) => Ok(Self::AnnotationOccurrence(i)),
13041 EntityKey::AnnotationPlaceholderOccurrence(i) => {
13042 Ok(Self::AnnotationPlaceholderOccurrence(i))
13043 }
13044 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
13045 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
13046 }
13047 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
13048 EntityKey::AnnotationSymbolOccurrence(i) => Ok(Self::AnnotationSymbolOccurrence(i)),
13049 EntityKey::AnnotationTextOccurrence(i) => Ok(Self::AnnotationTextOccurrence(i)),
13050 EntityKey::ContextDependentOverRidingStyledItem(i) => {
13051 Ok(Self::ContextDependentOverRidingStyledItem(i))
13052 }
13053 EntityKey::DraughtingAnnotationOccurrence(i) => {
13054 Ok(Self::DraughtingAnnotationOccurrence(i))
13055 }
13056 EntityKey::LeaderCurve(i) => Ok(Self::LeaderCurve(i)),
13057 EntityKey::LeaderTerminator(i) => Ok(Self::LeaderTerminator(i)),
13058 EntityKey::OverRidingStyledItem(i) => Ok(Self::OverRidingStyledItem(i)),
13059 EntityKey::StyledItem(i) => Ok(Self::StyledItem(i)),
13060 EntityKey::TerminatorSymbol(i) => Ok(Self::TerminatorSymbol(i)),
13061 EntityKey::TessellatedAnnotationOccurrence(i) => {
13062 Ok(Self::TessellatedAnnotationOccurrence(i))
13063 }
13064 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13065 other => Err(format!("expected StyledItemRef target, got {other:?}")),
13066 }
13067 }
13068}
13069
13070#[derive(Debug, Clone, PartialEq)]
13071pub enum StyledItemTargetRef {
13072 AdvancedBrepShapeRepresentation(AdvancedBrepShapeRepresentationId),
13073 AdvancedFace(AdvancedFaceId),
13074 AnnotationPlaceholderLeaderLine(AnnotationPlaceholderLeaderLineId),
13075 AnnotationPlaceholderOccurrence(AnnotationPlaceholderOccurrenceId),
13076 AnnotationPlaceholderOccurrenceWithLeaderLine(AnnotationPlaceholderOccurrenceWithLeaderLineId),
13077 AnnotationPlane(AnnotationPlaneId),
13078 AnnotationSymbol(AnnotationSymbolId),
13079 AnnotationText(AnnotationTextId),
13080 AnnotationTextCharacter(AnnotationTextCharacterId),
13081 AnnotationToAnnotationLeaderLine(AnnotationToAnnotationLeaderLineId),
13082 AnnotationToModelLeaderLine(AnnotationToModelLeaderLineId),
13083 ApllPoint(ApllPointId),
13084 ApllPointWithSurface(ApllPointWithSurfaceId),
13085 AuxiliaryLeaderLine(AuxiliaryLeaderLineId),
13086 Axis1Placement(Axis1PlacementId),
13087 Axis2Placement2d(Axis2Placement2dId),
13088 Axis2Placement3d(Axis2Placement3dId),
13089 BSplineCurve(BSplineCurveId),
13090 BSplineCurveWithKnots(BSplineCurveWithKnotsId),
13091 BSplineSurface(BSplineSurfaceId),
13092 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
13093 BezierCurve(BezierCurveId),
13094 BezierSurface(BezierSurfaceId),
13095 BoundedCurve(BoundedCurveId),
13096 BoundedPcurve(BoundedPcurveId),
13097 BoundedSurface(BoundedSurfaceId),
13098 BoundedSurfaceCurve(BoundedSurfaceCurveId),
13099 BrepWithVoids(BrepWithVoidsId),
13100 CameraImage(CameraImageId),
13101 CameraImage3dWithScale(CameraImage3dWithScaleId),
13102 CameraModel(CameraModelId),
13103 CameraModelD3(CameraModelD3Id),
13104 CameraModelD3MultiClipping(CameraModelD3MultiClippingId),
13105 CameraModelD3WithHlhsr(CameraModelD3WithHlhsrId),
13106 CartesianPoint(CartesianPointId),
13107 CharacterizedRepresentation(CharacterizedRepresentationId),
13108 Circle(CircleId),
13109 ClosedShell(ClosedShellId),
13110 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
13111 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
13112 CompositeCurve(CompositeCurveId),
13113 CompositeText(CompositeTextId),
13114 Conic(ConicId),
13115 ConicalSurface(ConicalSurfaceId),
13116 ConnectedFaceSet(ConnectedFaceSetId),
13117 ConstructiveGeometryRepresentation(ConstructiveGeometryRepresentationId),
13118 CoordinatesList(CoordinatesListId),
13119 Curve(CurveId),
13120 CylindricalSurface(CylindricalSurfaceId),
13121 DefinedCharacterGlyph(DefinedCharacterGlyphId),
13122 DefinedSymbol(DefinedSymbolId),
13123 DefinitionalRepresentation(DefinitionalRepresentationId),
13124 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
13125 Direction(DirectionId),
13126 DraughtingCallout(DraughtingCalloutId),
13127 DraughtingModel(DraughtingModelId),
13128 Edge(EdgeId),
13129 EdgeCurve(EdgeCurveId),
13130 EdgeLoop(EdgeLoopId),
13131 ElementarySurface(ElementarySurfaceId),
13132 Ellipse(EllipseId),
13133 ExternallyDefinedHatchStyle(ExternallyDefinedHatchStyleId),
13134 ExternallyDefinedTileStyle(ExternallyDefinedTileStyleId),
13135 Face(FaceId),
13136 FaceBound(FaceBoundId),
13137 FaceOuterBound(FaceOuterBoundId),
13138 FaceSurface(FaceSurfaceId),
13139 FillAreaStyleHatching(FillAreaStyleHatchingId),
13140 FillAreaStyleTileColouredRegion(FillAreaStyleTileColouredRegionId),
13141 FillAreaStyleTileCurveWithStyle(FillAreaStyleTileCurveWithStyleId),
13142 FillAreaStyleTileSymbolWithStyle(FillAreaStyleTileSymbolWithStyleId),
13143 FillAreaStyleTiles(FillAreaStyleTilesId),
13144 GeometricCurveSet(GeometricCurveSetId),
13145 GeometricRepresentationItem(GeometricRepresentationItemId),
13146 GeometricSet(GeometricSetId),
13147 GeometricallyBoundedSurfaceShapeRepresentation(
13148 GeometricallyBoundedSurfaceShapeRepresentationId,
13149 ),
13150 GeometricallyBoundedWireframeShapeRepresentation(
13151 GeometricallyBoundedWireframeShapeRepresentationId,
13152 ),
13153 Hyperbola(HyperbolaId),
13154 IntersectionCurve(IntersectionCurveId),
13155 LeaderDirectedCallout(LeaderDirectedCalloutId),
13156 Line(LineId),
13157 Loop(LoopId),
13158 ManifoldSolidBrep(ManifoldSolidBrepId),
13159 ManifoldSurfaceShapeRepresentation(ManifoldSurfaceShapeRepresentationId),
13160 MappedItem(MappedItemId),
13161 MechanicalDesignGeometricPresentationRepresentation(
13162 MechanicalDesignGeometricPresentationRepresentationId,
13163 ),
13164 MechanicalDesignPresentationRepresentationWithDraughting(
13165 MechanicalDesignPresentationRepresentationWithDraughtingId,
13166 ),
13167 MechanicalDesignShadedPresentationRepresentation(
13168 MechanicalDesignShadedPresentationRepresentationId,
13169 ),
13170 OffsetSurface(OffsetSurfaceId),
13171 OneDirectionRepeatFactor(OneDirectionRepeatFactorId),
13172 OpenShell(OpenShellId),
13173 OrientedClosedShell(OrientedClosedShellId),
13174 OrientedEdge(OrientedEdgeId),
13175 Path(PathId),
13176 Pcurve(PcurveId),
13177 Placement(PlacementId),
13178 PlanarBox(PlanarBoxId),
13179 PlanarExtent(PlanarExtentId),
13180 Plane(PlaneId),
13181 Point(PointId),
13182 PolyLoop(PolyLoopId),
13183 Polyline(PolylineId),
13184 PresentationArea(PresentationAreaId),
13185 PresentationRepresentation(PresentationRepresentationId),
13186 PresentationView(PresentationViewId),
13187 QuasiUniformCurve(QuasiUniformCurveId),
13188 QuasiUniformSurface(QuasiUniformSurfaceId),
13189 RationalBSplineCurve(RationalBSplineCurveId),
13190 RationalBSplineSurface(RationalBSplineSurfaceId),
13191 RepositionedTessellatedItem(RepositionedTessellatedItemId),
13192 Representation(RepresentationId),
13193 RepresentationReference(RepresentationReferenceId),
13194 SeamCurve(SeamCurveId),
13195 ShapeDimensionRepresentation(ShapeDimensionRepresentationId),
13196 ShapeRepresentation(ShapeRepresentationId),
13197 ShapeRepresentationWithParameters(ShapeRepresentationWithParametersId),
13198 ShellBasedSurfaceModel(ShellBasedSurfaceModelId),
13199 SolidModel(SolidModelId),
13200 SphericalSurface(SphericalSurfaceId),
13201 Surface(SurfaceId),
13202 SurfaceCurve(SurfaceCurveId),
13203 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
13204 SurfaceOfRevolution(SurfaceOfRevolutionId),
13205 SweptSurface(SweptSurfaceId),
13206 SymbolRepresentation(SymbolRepresentationId),
13207 SymbolTarget(SymbolTargetId),
13208 TessellatedCurveSet(TessellatedCurveSetId),
13209 TessellatedFace(TessellatedFaceId),
13210 TessellatedGeometricSet(TessellatedGeometricSetId),
13211 TessellatedItem(TessellatedItemId),
13212 TessellatedShapeRepresentation(TessellatedShapeRepresentationId),
13213 TessellatedShell(TessellatedShellId),
13214 TessellatedSolid(TessellatedSolidId),
13215 TessellatedStructuredItem(TessellatedStructuredItemId),
13216 TessellatedSurfaceSet(TessellatedSurfaceSetId),
13217 TextLiteral(TextLiteralId),
13218 TopologicalRepresentationItem(TopologicalRepresentationItemId),
13219 ToroidalSurface(ToroidalSurfaceId),
13220 TrimmedCurve(TrimmedCurveId),
13221 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
13222 UniformCurve(UniformCurveId),
13223 UniformSurface(UniformSurfaceId),
13224 Vector(VectorId),
13225 Vertex(VertexId),
13226 VertexLoop(VertexLoopId),
13227 VertexPoint(VertexPointId),
13228 VertexShell(VertexShellId),
13229 WireShell(WireShellId),
13230 Complex(ComplexUnitId),
13231}
13232impl StyledItemTargetRef {
13233 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13234 match a {
13235 EntityKey::AdvancedBrepShapeRepresentation(i) => {
13236 Ok(Self::AdvancedBrepShapeRepresentation(i))
13237 }
13238 EntityKey::AdvancedFace(i) => Ok(Self::AdvancedFace(i)),
13239 EntityKey::AnnotationPlaceholderLeaderLine(i) => {
13240 Ok(Self::AnnotationPlaceholderLeaderLine(i))
13241 }
13242 EntityKey::AnnotationPlaceholderOccurrence(i) => {
13243 Ok(Self::AnnotationPlaceholderOccurrence(i))
13244 }
13245 EntityKey::AnnotationPlaceholderOccurrenceWithLeaderLine(i) => {
13246 Ok(Self::AnnotationPlaceholderOccurrenceWithLeaderLine(i))
13247 }
13248 EntityKey::AnnotationPlane(i) => Ok(Self::AnnotationPlane(i)),
13249 EntityKey::AnnotationSymbol(i) => Ok(Self::AnnotationSymbol(i)),
13250 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
13251 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
13252 EntityKey::AnnotationToAnnotationLeaderLine(i) => {
13253 Ok(Self::AnnotationToAnnotationLeaderLine(i))
13254 }
13255 EntityKey::AnnotationToModelLeaderLine(i) => Ok(Self::AnnotationToModelLeaderLine(i)),
13256 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
13257 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
13258 EntityKey::AuxiliaryLeaderLine(i) => Ok(Self::AuxiliaryLeaderLine(i)),
13259 EntityKey::Axis1Placement(i) => Ok(Self::Axis1Placement(i)),
13260 EntityKey::Axis2Placement2d(i) => Ok(Self::Axis2Placement2d(i)),
13261 EntityKey::Axis2Placement3d(i) => Ok(Self::Axis2Placement3d(i)),
13262 EntityKey::BSplineCurve(i) => Ok(Self::BSplineCurve(i)),
13263 EntityKey::BSplineCurveWithKnots(i) => Ok(Self::BSplineCurveWithKnots(i)),
13264 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
13265 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
13266 EntityKey::BezierCurve(i) => Ok(Self::BezierCurve(i)),
13267 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
13268 EntityKey::BoundedCurve(i) => Ok(Self::BoundedCurve(i)),
13269 EntityKey::BoundedPcurve(i) => Ok(Self::BoundedPcurve(i)),
13270 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
13271 EntityKey::BoundedSurfaceCurve(i) => Ok(Self::BoundedSurfaceCurve(i)),
13272 EntityKey::BrepWithVoids(i) => Ok(Self::BrepWithVoids(i)),
13273 EntityKey::CameraImage(i) => Ok(Self::CameraImage(i)),
13274 EntityKey::CameraImage3dWithScale(i) => Ok(Self::CameraImage3dWithScale(i)),
13275 EntityKey::CameraModel(i) => Ok(Self::CameraModel(i)),
13276 EntityKey::CameraModelD3(i) => Ok(Self::CameraModelD3(i)),
13277 EntityKey::CameraModelD3MultiClipping(i) => Ok(Self::CameraModelD3MultiClipping(i)),
13278 EntityKey::CameraModelD3WithHlhsr(i) => Ok(Self::CameraModelD3WithHlhsr(i)),
13279 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
13280 EntityKey::CharacterizedRepresentation(i) => Ok(Self::CharacterizedRepresentation(i)),
13281 EntityKey::Circle(i) => Ok(Self::Circle(i)),
13282 EntityKey::ClosedShell(i) => Ok(Self::ClosedShell(i)),
13283 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
13284 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
13285 Ok(Self::ComplexTriangulatedSurfaceSet(i))
13286 }
13287 EntityKey::CompositeCurve(i) => Ok(Self::CompositeCurve(i)),
13288 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
13289 EntityKey::Conic(i) => Ok(Self::Conic(i)),
13290 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
13291 EntityKey::ConnectedFaceSet(i) => Ok(Self::ConnectedFaceSet(i)),
13292 EntityKey::ConstructiveGeometryRepresentation(i) => {
13293 Ok(Self::ConstructiveGeometryRepresentation(i))
13294 }
13295 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
13296 EntityKey::Curve(i) => Ok(Self::Curve(i)),
13297 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
13298 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
13299 EntityKey::DefinedSymbol(i) => Ok(Self::DefinedSymbol(i)),
13300 EntityKey::DefinitionalRepresentation(i) => Ok(Self::DefinitionalRepresentation(i)),
13301 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
13302 EntityKey::Direction(i) => Ok(Self::Direction(i)),
13303 EntityKey::DraughtingCallout(i) => Ok(Self::DraughtingCallout(i)),
13304 EntityKey::DraughtingModel(i) => Ok(Self::DraughtingModel(i)),
13305 EntityKey::Edge(i) => Ok(Self::Edge(i)),
13306 EntityKey::EdgeCurve(i) => Ok(Self::EdgeCurve(i)),
13307 EntityKey::EdgeLoop(i) => Ok(Self::EdgeLoop(i)),
13308 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
13309 EntityKey::Ellipse(i) => Ok(Self::Ellipse(i)),
13310 EntityKey::ExternallyDefinedHatchStyle(i) => Ok(Self::ExternallyDefinedHatchStyle(i)),
13311 EntityKey::ExternallyDefinedTileStyle(i) => Ok(Self::ExternallyDefinedTileStyle(i)),
13312 EntityKey::Face(i) => Ok(Self::Face(i)),
13313 EntityKey::FaceBound(i) => Ok(Self::FaceBound(i)),
13314 EntityKey::FaceOuterBound(i) => Ok(Self::FaceOuterBound(i)),
13315 EntityKey::FaceSurface(i) => Ok(Self::FaceSurface(i)),
13316 EntityKey::FillAreaStyleHatching(i) => Ok(Self::FillAreaStyleHatching(i)),
13317 EntityKey::FillAreaStyleTileColouredRegion(i) => {
13318 Ok(Self::FillAreaStyleTileColouredRegion(i))
13319 }
13320 EntityKey::FillAreaStyleTileCurveWithStyle(i) => {
13321 Ok(Self::FillAreaStyleTileCurveWithStyle(i))
13322 }
13323 EntityKey::FillAreaStyleTileSymbolWithStyle(i) => {
13324 Ok(Self::FillAreaStyleTileSymbolWithStyle(i))
13325 }
13326 EntityKey::FillAreaStyleTiles(i) => Ok(Self::FillAreaStyleTiles(i)),
13327 EntityKey::GeometricCurveSet(i) => Ok(Self::GeometricCurveSet(i)),
13328 EntityKey::GeometricRepresentationItem(i) => Ok(Self::GeometricRepresentationItem(i)),
13329 EntityKey::GeometricSet(i) => Ok(Self::GeometricSet(i)),
13330 EntityKey::GeometricallyBoundedSurfaceShapeRepresentation(i) => {
13331 Ok(Self::GeometricallyBoundedSurfaceShapeRepresentation(i))
13332 }
13333 EntityKey::GeometricallyBoundedWireframeShapeRepresentation(i) => {
13334 Ok(Self::GeometricallyBoundedWireframeShapeRepresentation(i))
13335 }
13336 EntityKey::Hyperbola(i) => Ok(Self::Hyperbola(i)),
13337 EntityKey::IntersectionCurve(i) => Ok(Self::IntersectionCurve(i)),
13338 EntityKey::LeaderDirectedCallout(i) => Ok(Self::LeaderDirectedCallout(i)),
13339 EntityKey::Line(i) => Ok(Self::Line(i)),
13340 EntityKey::Loop(i) => Ok(Self::Loop(i)),
13341 EntityKey::ManifoldSolidBrep(i) => Ok(Self::ManifoldSolidBrep(i)),
13342 EntityKey::ManifoldSurfaceShapeRepresentation(i) => {
13343 Ok(Self::ManifoldSurfaceShapeRepresentation(i))
13344 }
13345 EntityKey::MappedItem(i) => Ok(Self::MappedItem(i)),
13346 EntityKey::MechanicalDesignGeometricPresentationRepresentation(i) => {
13347 Ok(Self::MechanicalDesignGeometricPresentationRepresentation(i))
13348 }
13349 EntityKey::MechanicalDesignPresentationRepresentationWithDraughting(i) => {
13350 Ok(Self::MechanicalDesignPresentationRepresentationWithDraughting(i))
13351 }
13352 EntityKey::MechanicalDesignShadedPresentationRepresentation(i) => {
13353 Ok(Self::MechanicalDesignShadedPresentationRepresentation(i))
13354 }
13355 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
13356 EntityKey::OneDirectionRepeatFactor(i) => Ok(Self::OneDirectionRepeatFactor(i)),
13357 EntityKey::OpenShell(i) => Ok(Self::OpenShell(i)),
13358 EntityKey::OrientedClosedShell(i) => Ok(Self::OrientedClosedShell(i)),
13359 EntityKey::OrientedEdge(i) => Ok(Self::OrientedEdge(i)),
13360 EntityKey::Path(i) => Ok(Self::Path(i)),
13361 EntityKey::Pcurve(i) => Ok(Self::Pcurve(i)),
13362 EntityKey::Placement(i) => Ok(Self::Placement(i)),
13363 EntityKey::PlanarBox(i) => Ok(Self::PlanarBox(i)),
13364 EntityKey::PlanarExtent(i) => Ok(Self::PlanarExtent(i)),
13365 EntityKey::Plane(i) => Ok(Self::Plane(i)),
13366 EntityKey::Point(i) => Ok(Self::Point(i)),
13367 EntityKey::PolyLoop(i) => Ok(Self::PolyLoop(i)),
13368 EntityKey::Polyline(i) => Ok(Self::Polyline(i)),
13369 EntityKey::PresentationArea(i) => Ok(Self::PresentationArea(i)),
13370 EntityKey::PresentationRepresentation(i) => Ok(Self::PresentationRepresentation(i)),
13371 EntityKey::PresentationView(i) => Ok(Self::PresentationView(i)),
13372 EntityKey::QuasiUniformCurve(i) => Ok(Self::QuasiUniformCurve(i)),
13373 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
13374 EntityKey::RationalBSplineCurve(i) => Ok(Self::RationalBSplineCurve(i)),
13375 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
13376 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
13377 EntityKey::Representation(i) => Ok(Self::Representation(i)),
13378 EntityKey::RepresentationReference(i) => Ok(Self::RepresentationReference(i)),
13379 EntityKey::SeamCurve(i) => Ok(Self::SeamCurve(i)),
13380 EntityKey::ShapeDimensionRepresentation(i) => Ok(Self::ShapeDimensionRepresentation(i)),
13381 EntityKey::ShapeRepresentation(i) => Ok(Self::ShapeRepresentation(i)),
13382 EntityKey::ShapeRepresentationWithParameters(i) => {
13383 Ok(Self::ShapeRepresentationWithParameters(i))
13384 }
13385 EntityKey::ShellBasedSurfaceModel(i) => Ok(Self::ShellBasedSurfaceModel(i)),
13386 EntityKey::SolidModel(i) => Ok(Self::SolidModel(i)),
13387 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
13388 EntityKey::Surface(i) => Ok(Self::Surface(i)),
13389 EntityKey::SurfaceCurve(i) => Ok(Self::SurfaceCurve(i)),
13390 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
13391 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
13392 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
13393 EntityKey::SymbolRepresentation(i) => Ok(Self::SymbolRepresentation(i)),
13394 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
13395 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
13396 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
13397 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
13398 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
13399 EntityKey::TessellatedShapeRepresentation(i) => {
13400 Ok(Self::TessellatedShapeRepresentation(i))
13401 }
13402 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
13403 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
13404 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
13405 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
13406 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
13407 EntityKey::TopologicalRepresentationItem(i) => {
13408 Ok(Self::TopologicalRepresentationItem(i))
13409 }
13410 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
13411 EntityKey::TrimmedCurve(i) => Ok(Self::TrimmedCurve(i)),
13412 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
13413 EntityKey::UniformCurve(i) => Ok(Self::UniformCurve(i)),
13414 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
13415 EntityKey::Vector(i) => Ok(Self::Vector(i)),
13416 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
13417 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
13418 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
13419 EntityKey::VertexShell(i) => Ok(Self::VertexShell(i)),
13420 EntityKey::WireShell(i) => Ok(Self::WireShell(i)),
13421 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13422 other => Err(format!(
13423 "expected StyledItemTargetRef target, got {other:?}"
13424 )),
13425 }
13426 }
13427}
13428
13429#[derive(Debug, Clone, PartialEq)]
13430pub enum SupportedItemRef {
13431 Action(ActionId),
13432 ActionDirective(ActionDirectiveId),
13433 ActionMethod(ActionMethodId),
13434 Complex(ComplexUnitId),
13435}
13436impl SupportedItemRef {
13437 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13438 match a {
13439 EntityKey::Action(i) => Ok(Self::Action(i)),
13440 EntityKey::ActionDirective(i) => Ok(Self::ActionDirective(i)),
13441 EntityKey::ActionMethod(i) => Ok(Self::ActionMethod(i)),
13442 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13443 other => Err(format!("expected SupportedItemRef target, got {other:?}")),
13444 }
13445 }
13446}
13447
13448#[derive(Debug, Clone, PartialEq)]
13449pub enum SurfaceRef {
13450 BSplineSurface(BSplineSurfaceId),
13451 BSplineSurfaceWithKnots(BSplineSurfaceWithKnotsId),
13452 BezierSurface(BezierSurfaceId),
13453 BoundedSurface(BoundedSurfaceId),
13454 ConicalSurface(ConicalSurfaceId),
13455 CylindricalSurface(CylindricalSurfaceId),
13456 DegenerateToroidalSurface(DegenerateToroidalSurfaceId),
13457 ElementarySurface(ElementarySurfaceId),
13458 OffsetSurface(OffsetSurfaceId),
13459 Plane(PlaneId),
13460 QuasiUniformSurface(QuasiUniformSurfaceId),
13461 RationalBSplineSurface(RationalBSplineSurfaceId),
13462 SphericalSurface(SphericalSurfaceId),
13463 Surface(SurfaceId),
13464 SurfaceOfLinearExtrusion(SurfaceOfLinearExtrusionId),
13465 SurfaceOfRevolution(SurfaceOfRevolutionId),
13466 SweptSurface(SweptSurfaceId),
13467 ToroidalSurface(ToroidalSurfaceId),
13468 UniformSurface(UniformSurfaceId),
13469 Complex(ComplexUnitId),
13470}
13471impl SurfaceRef {
13472 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13473 match a {
13474 EntityKey::BSplineSurface(i) => Ok(Self::BSplineSurface(i)),
13475 EntityKey::BSplineSurfaceWithKnots(i) => Ok(Self::BSplineSurfaceWithKnots(i)),
13476 EntityKey::BezierSurface(i) => Ok(Self::BezierSurface(i)),
13477 EntityKey::BoundedSurface(i) => Ok(Self::BoundedSurface(i)),
13478 EntityKey::ConicalSurface(i) => Ok(Self::ConicalSurface(i)),
13479 EntityKey::CylindricalSurface(i) => Ok(Self::CylindricalSurface(i)),
13480 EntityKey::DegenerateToroidalSurface(i) => Ok(Self::DegenerateToroidalSurface(i)),
13481 EntityKey::ElementarySurface(i) => Ok(Self::ElementarySurface(i)),
13482 EntityKey::OffsetSurface(i) => Ok(Self::OffsetSurface(i)),
13483 EntityKey::Plane(i) => Ok(Self::Plane(i)),
13484 EntityKey::QuasiUniformSurface(i) => Ok(Self::QuasiUniformSurface(i)),
13485 EntityKey::RationalBSplineSurface(i) => Ok(Self::RationalBSplineSurface(i)),
13486 EntityKey::SphericalSurface(i) => Ok(Self::SphericalSurface(i)),
13487 EntityKey::Surface(i) => Ok(Self::Surface(i)),
13488 EntityKey::SurfaceOfLinearExtrusion(i) => Ok(Self::SurfaceOfLinearExtrusion(i)),
13489 EntityKey::SurfaceOfRevolution(i) => Ok(Self::SurfaceOfRevolution(i)),
13490 EntityKey::SweptSurface(i) => Ok(Self::SweptSurface(i)),
13491 EntityKey::ToroidalSurface(i) => Ok(Self::ToroidalSurface(i)),
13492 EntityKey::UniformSurface(i) => Ok(Self::UniformSurface(i)),
13493 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13494 other => Err(format!("expected SurfaceRef target, got {other:?}")),
13495 }
13496 }
13497}
13498
13499#[derive(Debug, Clone, PartialEq)]
13500pub enum SurfaceRenderingPropertiesRef {
13501 SurfaceRenderingProperties(SurfaceRenderingPropertiesId),
13502}
13503impl SurfaceRenderingPropertiesRef {
13504 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13505 match a {
13506 EntityKey::SurfaceRenderingProperties(i) => Ok(Self::SurfaceRenderingProperties(i)),
13507 other => Err(format!(
13508 "expected SurfaceRenderingPropertiesRef target, got {other:?}"
13509 )),
13510 }
13511 }
13512}
13513
13514#[derive(Debug, Clone, PartialEq)]
13515pub enum SurfaceSideStyleSelectRef {
13516 PreDefinedSurfaceSideStyle(PreDefinedSurfaceSideStyleId),
13517 SurfaceSideStyle(SurfaceSideStyleId),
13518 Complex(ComplexUnitId),
13519}
13520impl SurfaceSideStyleSelectRef {
13521 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13522 match a {
13523 EntityKey::PreDefinedSurfaceSideStyle(i) => Ok(Self::PreDefinedSurfaceSideStyle(i)),
13524 EntityKey::SurfaceSideStyle(i) => Ok(Self::SurfaceSideStyle(i)),
13525 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13526 other => Err(format!(
13527 "expected SurfaceSideStyleSelectRef target, got {other:?}"
13528 )),
13529 }
13530 }
13531}
13532
13533#[derive(Debug, Clone, PartialEq)]
13534pub enum SurfaceStyleElementSelectRef {
13535 SurfaceStyleBoundary(SurfaceStyleBoundaryId),
13536 SurfaceStyleControlGrid(SurfaceStyleControlGridId),
13537 SurfaceStyleFillArea(SurfaceStyleFillAreaId),
13538 SurfaceStyleParameterLine(SurfaceStyleParameterLineId),
13539 SurfaceStyleRendering(SurfaceStyleRenderingId),
13540 SurfaceStyleRenderingWithProperties(SurfaceStyleRenderingWithPropertiesId),
13541 SurfaceStyleSegmentationCurve(SurfaceStyleSegmentationCurveId),
13542 SurfaceStyleSilhouette(SurfaceStyleSilhouetteId),
13543 Complex(ComplexUnitId),
13544}
13545impl SurfaceStyleElementSelectRef {
13546 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13547 match a {
13548 EntityKey::SurfaceStyleBoundary(i) => Ok(Self::SurfaceStyleBoundary(i)),
13549 EntityKey::SurfaceStyleControlGrid(i) => Ok(Self::SurfaceStyleControlGrid(i)),
13550 EntityKey::SurfaceStyleFillArea(i) => Ok(Self::SurfaceStyleFillArea(i)),
13551 EntityKey::SurfaceStyleParameterLine(i) => Ok(Self::SurfaceStyleParameterLine(i)),
13552 EntityKey::SurfaceStyleRendering(i) => Ok(Self::SurfaceStyleRendering(i)),
13553 EntityKey::SurfaceStyleRenderingWithProperties(i) => {
13554 Ok(Self::SurfaceStyleRenderingWithProperties(i))
13555 }
13556 EntityKey::SurfaceStyleSegmentationCurve(i) => {
13557 Ok(Self::SurfaceStyleSegmentationCurve(i))
13558 }
13559 EntityKey::SurfaceStyleSilhouette(i) => Ok(Self::SurfaceStyleSilhouette(i)),
13560 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13561 other => Err(format!(
13562 "expected SurfaceStyleElementSelectRef target, got {other:?}"
13563 )),
13564 }
13565 }
13566}
13567
13568#[derive(Debug, Clone, PartialEq)]
13569pub enum SymbolStyleSelectRef {
13570 SymbolColour(SymbolColourId),
13571}
13572impl SymbolStyleSelectRef {
13573 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13574 match a {
13575 EntityKey::SymbolColour(i) => Ok(Self::SymbolColour(i)),
13576 other => Err(format!(
13577 "expected SymbolStyleSelectRef target, got {other:?}"
13578 )),
13579 }
13580 }
13581}
13582
13583#[derive(Debug, Clone, PartialEq)]
13584pub enum SymbolTargetRef {
13585 SymbolTarget(SymbolTargetId),
13586}
13587impl SymbolTargetRef {
13588 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13589 match a {
13590 EntityKey::SymbolTarget(i) => Ok(Self::SymbolTarget(i)),
13591 other => Err(format!("expected SymbolTargetRef target, got {other:?}")),
13592 }
13593 }
13594}
13595
13596#[derive(Debug, Clone, PartialEq)]
13597pub enum TessellatedItemRef {
13598 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
13599 ComplexTriangulatedSurfaceSet(ComplexTriangulatedSurfaceSetId),
13600 CoordinatesList(CoordinatesListId),
13601 RepositionedTessellatedItem(RepositionedTessellatedItemId),
13602 TessellatedCurveSet(TessellatedCurveSetId),
13603 TessellatedFace(TessellatedFaceId),
13604 TessellatedGeometricSet(TessellatedGeometricSetId),
13605 TessellatedItem(TessellatedItemId),
13606 TessellatedShell(TessellatedShellId),
13607 TessellatedSolid(TessellatedSolidId),
13608 TessellatedStructuredItem(TessellatedStructuredItemId),
13609 TessellatedSurfaceSet(TessellatedSurfaceSetId),
13610 Complex(ComplexUnitId),
13611}
13612impl TessellatedItemRef {
13613 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13614 match a {
13615 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
13616 EntityKey::ComplexTriangulatedSurfaceSet(i) => {
13617 Ok(Self::ComplexTriangulatedSurfaceSet(i))
13618 }
13619 EntityKey::CoordinatesList(i) => Ok(Self::CoordinatesList(i)),
13620 EntityKey::RepositionedTessellatedItem(i) => Ok(Self::RepositionedTessellatedItem(i)),
13621 EntityKey::TessellatedCurveSet(i) => Ok(Self::TessellatedCurveSet(i)),
13622 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
13623 EntityKey::TessellatedGeometricSet(i) => Ok(Self::TessellatedGeometricSet(i)),
13624 EntityKey::TessellatedItem(i) => Ok(Self::TessellatedItem(i)),
13625 EntityKey::TessellatedShell(i) => Ok(Self::TessellatedShell(i)),
13626 EntityKey::TessellatedSolid(i) => Ok(Self::TessellatedSolid(i)),
13627 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
13628 EntityKey::TessellatedSurfaceSet(i) => Ok(Self::TessellatedSurfaceSet(i)),
13629 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13630 other => Err(format!("expected TessellatedItemRef target, got {other:?}")),
13631 }
13632 }
13633}
13634
13635#[derive(Debug, Clone, PartialEq)]
13636pub enum TessellatedStructuredItemRef {
13637 ComplexTriangulatedFace(ComplexTriangulatedFaceId),
13638 TessellatedFace(TessellatedFaceId),
13639 TessellatedStructuredItem(TessellatedStructuredItemId),
13640 Complex(ComplexUnitId),
13641}
13642impl TessellatedStructuredItemRef {
13643 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13644 match a {
13645 EntityKey::ComplexTriangulatedFace(i) => Ok(Self::ComplexTriangulatedFace(i)),
13646 EntityKey::TessellatedFace(i) => Ok(Self::TessellatedFace(i)),
13647 EntityKey::TessellatedStructuredItem(i) => Ok(Self::TessellatedStructuredItem(i)),
13648 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13649 other => Err(format!(
13650 "expected TessellatedStructuredItemRef target, got {other:?}"
13651 )),
13652 }
13653 }
13654}
13655
13656#[derive(Debug, Clone, PartialEq)]
13657pub enum TextOrCharacterRef {
13658 AnnotationText(AnnotationTextId),
13659 AnnotationTextCharacter(AnnotationTextCharacterId),
13660 CompositeText(CompositeTextId),
13661 DefinedCharacterGlyph(DefinedCharacterGlyphId),
13662 TextLiteral(TextLiteralId),
13663 Complex(ComplexUnitId),
13664}
13665impl TextOrCharacterRef {
13666 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13667 match a {
13668 EntityKey::AnnotationText(i) => Ok(Self::AnnotationText(i)),
13669 EntityKey::AnnotationTextCharacter(i) => Ok(Self::AnnotationTextCharacter(i)),
13670 EntityKey::CompositeText(i) => Ok(Self::CompositeText(i)),
13671 EntityKey::DefinedCharacterGlyph(i) => Ok(Self::DefinedCharacterGlyph(i)),
13672 EntityKey::TextLiteral(i) => Ok(Self::TextLiteral(i)),
13673 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13674 other => Err(format!("expected TextOrCharacterRef target, got {other:?}")),
13675 }
13676 }
13677}
13678
13679#[derive(Debug, Clone, PartialEq)]
13680pub enum ToleranceMethodDefinitionRef {
13681 LimitsAndFits(LimitsAndFitsId),
13682 ToleranceValue(ToleranceValueId),
13683}
13684impl ToleranceMethodDefinitionRef {
13685 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13686 match a {
13687 EntityKey::LimitsAndFits(i) => Ok(Self::LimitsAndFits(i)),
13688 EntityKey::ToleranceValue(i) => Ok(Self::ToleranceValue(i)),
13689 other => Err(format!(
13690 "expected ToleranceMethodDefinitionRef target, got {other:?}"
13691 )),
13692 }
13693 }
13694}
13695
13696#[derive(Debug, Clone, PartialEq)]
13697pub enum ToleranceSelectRef {
13698 ApproximationToleranceDeviation(ApproximationToleranceDeviationId),
13699 ApproximationToleranceParameter(ApproximationToleranceParameterId),
13700}
13701impl ToleranceSelectRef {
13702 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13703 match a {
13704 EntityKey::ApproximationToleranceDeviation(i) => {
13705 Ok(Self::ApproximationToleranceDeviation(i))
13706 }
13707 EntityKey::ApproximationToleranceParameter(i) => {
13708 Ok(Self::ApproximationToleranceParameter(i))
13709 }
13710 other => Err(format!("expected ToleranceSelectRef target, got {other:?}")),
13711 }
13712 }
13713}
13714
13715#[derive(Debug, Clone, PartialEq)]
13716pub enum ToleranceZoneFormRef {
13717 ToleranceZoneForm(ToleranceZoneFormId),
13718}
13719impl ToleranceZoneFormRef {
13720 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13721 match a {
13722 EntityKey::ToleranceZoneForm(i) => Ok(Self::ToleranceZoneForm(i)),
13723 other => Err(format!(
13724 "expected ToleranceZoneFormRef target, got {other:?}"
13725 )),
13726 }
13727 }
13728}
13729
13730#[derive(Debug, Clone, PartialEq)]
13731pub enum ToleranceZoneRef {
13732 ToleranceZone(ToleranceZoneId),
13733 ToleranceZoneWithDatum(ToleranceZoneWithDatumId),
13734 Complex(ComplexUnitId),
13735}
13736impl ToleranceZoneRef {
13737 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13738 match a {
13739 EntityKey::ToleranceZone(i) => Ok(Self::ToleranceZone(i)),
13740 EntityKey::ToleranceZoneWithDatum(i) => Ok(Self::ToleranceZoneWithDatum(i)),
13741 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13742 other => Err(format!("expected ToleranceZoneRef target, got {other:?}")),
13743 }
13744 }
13745}
13746
13747#[derive(Debug, Clone, PartialEq)]
13748pub enum ToleranceZoneTargetRef {
13749 AngularLocation(AngularLocationId),
13750 AngularSize(AngularSizeId),
13751 AngularityTolerance(AngularityToleranceId),
13752 CircularRunoutTolerance(CircularRunoutToleranceId),
13753 CoaxialityTolerance(CoaxialityToleranceId),
13754 ConcentricityTolerance(ConcentricityToleranceId),
13755 CylindricityTolerance(CylindricityToleranceId),
13756 DatumReferenceCompartment(DatumReferenceCompartmentId),
13757 DatumReferenceElement(DatumReferenceElementId),
13758 DimensionalLocation(DimensionalLocationId),
13759 DimensionalLocationWithPath(DimensionalLocationWithPathId),
13760 DimensionalSize(DimensionalSizeId),
13761 DimensionalSizeWithDatumFeature(DimensionalSizeWithDatumFeatureId),
13762 DimensionalSizeWithPath(DimensionalSizeWithPathId),
13763 DirectedDimensionalLocation(DirectedDimensionalLocationId),
13764 FlatnessTolerance(FlatnessToleranceId),
13765 GeneralDatumReference(GeneralDatumReferenceId),
13766 GeometricTolerance(GeometricToleranceId),
13767 GeometricToleranceWithDatumReference(GeometricToleranceWithDatumReferenceId),
13768 GeometricToleranceWithDefinedAreaUnit(GeometricToleranceWithDefinedAreaUnitId),
13769 GeometricToleranceWithDefinedUnit(GeometricToleranceWithDefinedUnitId),
13770 GeometricToleranceWithMaximumTolerance(GeometricToleranceWithMaximumToleranceId),
13771 GeometricToleranceWithModifiers(GeometricToleranceWithModifiersId),
13772 LineProfileTolerance(LineProfileToleranceId),
13773 ModifiedGeometricTolerance(ModifiedGeometricToleranceId),
13774 ParallelismTolerance(ParallelismToleranceId),
13775 PerpendicularityTolerance(PerpendicularityToleranceId),
13776 PositionTolerance(PositionToleranceId),
13777 RoundnessTolerance(RoundnessToleranceId),
13778 StraightnessTolerance(StraightnessToleranceId),
13779 SurfaceProfileTolerance(SurfaceProfileToleranceId),
13780 SymmetryTolerance(SymmetryToleranceId),
13781 TotalRunoutTolerance(TotalRunoutToleranceId),
13782 UnequallyDisposedGeometricTolerance(UnequallyDisposedGeometricToleranceId),
13783 Complex(ComplexUnitId),
13784}
13785impl ToleranceZoneTargetRef {
13786 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13787 match a {
13788 EntityKey::AngularLocation(i) => Ok(Self::AngularLocation(i)),
13789 EntityKey::AngularSize(i) => Ok(Self::AngularSize(i)),
13790 EntityKey::AngularityTolerance(i) => Ok(Self::AngularityTolerance(i)),
13791 EntityKey::CircularRunoutTolerance(i) => Ok(Self::CircularRunoutTolerance(i)),
13792 EntityKey::CoaxialityTolerance(i) => Ok(Self::CoaxialityTolerance(i)),
13793 EntityKey::ConcentricityTolerance(i) => Ok(Self::ConcentricityTolerance(i)),
13794 EntityKey::CylindricityTolerance(i) => Ok(Self::CylindricityTolerance(i)),
13795 EntityKey::DatumReferenceCompartment(i) => Ok(Self::DatumReferenceCompartment(i)),
13796 EntityKey::DatumReferenceElement(i) => Ok(Self::DatumReferenceElement(i)),
13797 EntityKey::DimensionalLocation(i) => Ok(Self::DimensionalLocation(i)),
13798 EntityKey::DimensionalLocationWithPath(i) => Ok(Self::DimensionalLocationWithPath(i)),
13799 EntityKey::DimensionalSize(i) => Ok(Self::DimensionalSize(i)),
13800 EntityKey::DimensionalSizeWithDatumFeature(i) => {
13801 Ok(Self::DimensionalSizeWithDatumFeature(i))
13802 }
13803 EntityKey::DimensionalSizeWithPath(i) => Ok(Self::DimensionalSizeWithPath(i)),
13804 EntityKey::DirectedDimensionalLocation(i) => Ok(Self::DirectedDimensionalLocation(i)),
13805 EntityKey::FlatnessTolerance(i) => Ok(Self::FlatnessTolerance(i)),
13806 EntityKey::GeneralDatumReference(i) => Ok(Self::GeneralDatumReference(i)),
13807 EntityKey::GeometricTolerance(i) => Ok(Self::GeometricTolerance(i)),
13808 EntityKey::GeometricToleranceWithDatumReference(i) => {
13809 Ok(Self::GeometricToleranceWithDatumReference(i))
13810 }
13811 EntityKey::GeometricToleranceWithDefinedAreaUnit(i) => {
13812 Ok(Self::GeometricToleranceWithDefinedAreaUnit(i))
13813 }
13814 EntityKey::GeometricToleranceWithDefinedUnit(i) => {
13815 Ok(Self::GeometricToleranceWithDefinedUnit(i))
13816 }
13817 EntityKey::GeometricToleranceWithMaximumTolerance(i) => {
13818 Ok(Self::GeometricToleranceWithMaximumTolerance(i))
13819 }
13820 EntityKey::GeometricToleranceWithModifiers(i) => {
13821 Ok(Self::GeometricToleranceWithModifiers(i))
13822 }
13823 EntityKey::LineProfileTolerance(i) => Ok(Self::LineProfileTolerance(i)),
13824 EntityKey::ModifiedGeometricTolerance(i) => Ok(Self::ModifiedGeometricTolerance(i)),
13825 EntityKey::ParallelismTolerance(i) => Ok(Self::ParallelismTolerance(i)),
13826 EntityKey::PerpendicularityTolerance(i) => Ok(Self::PerpendicularityTolerance(i)),
13827 EntityKey::PositionTolerance(i) => Ok(Self::PositionTolerance(i)),
13828 EntityKey::RoundnessTolerance(i) => Ok(Self::RoundnessTolerance(i)),
13829 EntityKey::StraightnessTolerance(i) => Ok(Self::StraightnessTolerance(i)),
13830 EntityKey::SurfaceProfileTolerance(i) => Ok(Self::SurfaceProfileTolerance(i)),
13831 EntityKey::SymmetryTolerance(i) => Ok(Self::SymmetryTolerance(i)),
13832 EntityKey::TotalRunoutTolerance(i) => Ok(Self::TotalRunoutTolerance(i)),
13833 EntityKey::UnequallyDisposedGeometricTolerance(i) => {
13834 Ok(Self::UnequallyDisposedGeometricTolerance(i))
13835 }
13836 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13837 other => Err(format!(
13838 "expected ToleranceZoneTargetRef target, got {other:?}"
13839 )),
13840 }
13841 }
13842}
13843
13844#[derive(Debug, Clone, PartialEq)]
13845pub enum TransformationRef {
13846 FunctionallyDefinedTransformation(FunctionallyDefinedTransformationId),
13847 ItemDefinedTransformation(ItemDefinedTransformationId),
13848 ListItemDefinedTransformation(Vec<ItemDefinedTransformationRef>),
13849 SetItemDefinedTransformation(Vec<ItemDefinedTransformationRef>),
13850 Complex(ComplexUnitId),
13851}
13852impl TransformationRef {
13853 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13854 match a {
13855 EntityKey::FunctionallyDefinedTransformation(i) => {
13856 Ok(Self::FunctionallyDefinedTransformation(i))
13857 }
13858 EntityKey::ItemDefinedTransformation(i) => Ok(Self::ItemDefinedTransformation(i)),
13859 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13860 other => Err(format!("expected TransformationRef target, got {other:?}")),
13861 }
13862 }
13863}
13864
13865#[derive(Debug, Clone, PartialEq)]
13866pub enum TrimmingSelectRef {
13867 ApllPoint(ApllPointId),
13868 ApllPointWithSurface(ApllPointWithSurfaceId),
13869 CartesianPoint(CartesianPointId),
13870 ParameterValue(f64),
13871}
13872impl TrimmingSelectRef {
13873 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13874 match a {
13875 EntityKey::ApllPoint(i) => Ok(Self::ApllPoint(i)),
13876 EntityKey::ApllPointWithSurface(i) => Ok(Self::ApllPointWithSurface(i)),
13877 EntityKey::CartesianPoint(i) => Ok(Self::CartesianPoint(i)),
13878 other => Err(format!("expected TrimmingSelectRef target, got {other:?}")),
13879 }
13880 }
13881}
13882
13883#[derive(Debug, Clone, PartialEq)]
13884pub enum TwoDirectionRepeatFactorRef {
13885 TwoDirectionRepeatFactor(TwoDirectionRepeatFactorId),
13886 Complex(ComplexUnitId),
13887}
13888impl TwoDirectionRepeatFactorRef {
13889 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13890 match a {
13891 EntityKey::TwoDirectionRepeatFactor(i) => Ok(Self::TwoDirectionRepeatFactor(i)),
13892 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13893 other => Err(format!(
13894 "expected TwoDirectionRepeatFactorRef target, got {other:?}"
13895 )),
13896 }
13897 }
13898}
13899
13900#[derive(Debug, Clone, PartialEq)]
13901pub enum UncertaintyMeasureWithUnitRef {
13902 UncertaintyMeasureWithUnit(UncertaintyMeasureWithUnitId),
13903}
13904impl UncertaintyMeasureWithUnitRef {
13905 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13906 match a {
13907 EntityKey::UncertaintyMeasureWithUnit(i) => Ok(Self::UncertaintyMeasureWithUnit(i)),
13908 other => Err(format!(
13909 "expected UncertaintyMeasureWithUnitRef target, got {other:?}"
13910 )),
13911 }
13912 }
13913}
13914
13915#[derive(Debug, Clone, PartialEq)]
13916pub enum UnitRef {
13917 AreaUnit(AreaUnitId),
13918 ContextDependentUnit(ContextDependentUnitId),
13919 ConversionBasedUnit(ConversionBasedUnitId),
13920 DerivedUnit(DerivedUnitId),
13921 LengthUnit(LengthUnitId),
13922 MassUnit(MassUnitId),
13923 NamedUnit(NamedUnitId),
13924 PlaneAngleUnit(PlaneAngleUnitId),
13925 RatioUnit(RatioUnitId),
13926 SiUnit(SiUnitId),
13927 SolidAngleUnit(SolidAngleUnitId),
13928 TimeUnit(TimeUnitId),
13929 VolumeUnit(VolumeUnitId),
13930 Complex(ComplexUnitId),
13931}
13932impl UnitRef {
13933 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13934 match a {
13935 EntityKey::AreaUnit(i) => Ok(Self::AreaUnit(i)),
13936 EntityKey::ContextDependentUnit(i) => Ok(Self::ContextDependentUnit(i)),
13937 EntityKey::ConversionBasedUnit(i) => Ok(Self::ConversionBasedUnit(i)),
13938 EntityKey::DerivedUnit(i) => Ok(Self::DerivedUnit(i)),
13939 EntityKey::LengthUnit(i) => Ok(Self::LengthUnit(i)),
13940 EntityKey::MassUnit(i) => Ok(Self::MassUnit(i)),
13941 EntityKey::NamedUnit(i) => Ok(Self::NamedUnit(i)),
13942 EntityKey::PlaneAngleUnit(i) => Ok(Self::PlaneAngleUnit(i)),
13943 EntityKey::RatioUnit(i) => Ok(Self::RatioUnit(i)),
13944 EntityKey::SiUnit(i) => Ok(Self::SiUnit(i)),
13945 EntityKey::SolidAngleUnit(i) => Ok(Self::SolidAngleUnit(i)),
13946 EntityKey::TimeUnit(i) => Ok(Self::TimeUnit(i)),
13947 EntityKey::VolumeUnit(i) => Ok(Self::VolumeUnit(i)),
13948 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13949 other => Err(format!("expected UnitRef target, got {other:?}")),
13950 }
13951 }
13952}
13953
13954#[derive(Debug, Clone, PartialEq)]
13955pub enum ValueQualifierRef {
13956 PrecisionQualifier(PrecisionQualifierId),
13957 TypeQualifier(TypeQualifierId),
13958 UncertaintyQualifier(UncertaintyQualifierId),
13959 ValueFormatTypeQualifier(ValueFormatTypeQualifierId),
13960}
13961impl ValueQualifierRef {
13962 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13963 match a {
13964 EntityKey::PrecisionQualifier(i) => Ok(Self::PrecisionQualifier(i)),
13965 EntityKey::TypeQualifier(i) => Ok(Self::TypeQualifier(i)),
13966 EntityKey::UncertaintyQualifier(i) => Ok(Self::UncertaintyQualifier(i)),
13967 EntityKey::ValueFormatTypeQualifier(i) => Ok(Self::ValueFormatTypeQualifier(i)),
13968 other => Err(format!("expected ValueQualifierRef target, got {other:?}")),
13969 }
13970 }
13971}
13972
13973#[derive(Debug, Clone, PartialEq)]
13974pub enum VectorRef {
13975 Vector(VectorId),
13976 Complex(ComplexUnitId),
13977}
13978impl VectorRef {
13979 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13980 match a {
13981 EntityKey::Vector(i) => Ok(Self::Vector(i)),
13982 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
13983 other => Err(format!("expected VectorRef target, got {other:?}")),
13984 }
13985 }
13986}
13987
13988#[derive(Debug, Clone, PartialEq)]
13989pub enum VersionedActionRequestRef {
13990 VersionedActionRequest(VersionedActionRequestId),
13991}
13992impl VersionedActionRequestRef {
13993 pub fn from_any(a: EntityKey) -> Result<Self, String> {
13994 match a {
13995 EntityKey::VersionedActionRequest(i) => Ok(Self::VersionedActionRequest(i)),
13996 other => Err(format!(
13997 "expected VersionedActionRequestRef target, got {other:?}"
13998 )),
13999 }
14000 }
14001}
14002
14003#[derive(Debug, Clone, PartialEq)]
14004pub enum VertexLoopRef {
14005 VertexLoop(VertexLoopId),
14006}
14007impl VertexLoopRef {
14008 pub fn from_any(a: EntityKey) -> Result<Self, String> {
14009 match a {
14010 EntityKey::VertexLoop(i) => Ok(Self::VertexLoop(i)),
14011 other => Err(format!("expected VertexLoopRef target, got {other:?}")),
14012 }
14013 }
14014}
14015
14016#[derive(Debug, Clone, PartialEq)]
14017pub enum VertexRef {
14018 Vertex(VertexId),
14019 VertexPoint(VertexPointId),
14020 Complex(ComplexUnitId),
14021}
14022impl VertexRef {
14023 pub fn from_any(a: EntityKey) -> Result<Self, String> {
14024 match a {
14025 EntityKey::Vertex(i) => Ok(Self::Vertex(i)),
14026 EntityKey::VertexPoint(i) => Ok(Self::VertexPoint(i)),
14027 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
14028 other => Err(format!("expected VertexRef target, got {other:?}")),
14029 }
14030 }
14031}
14032
14033#[derive(Debug, Clone, PartialEq)]
14034pub enum ViewVolumeRef {
14035 ViewVolume(ViewVolumeId),
14036 Complex(ComplexUnitId),
14037}
14038impl ViewVolumeRef {
14039 pub fn from_any(a: EntityKey) -> Result<Self, String> {
14040 match a {
14041 EntityKey::ViewVolume(i) => Ok(Self::ViewVolume(i)),
14042 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
14043 other => Err(format!("expected ViewVolumeRef target, got {other:?}")),
14044 }
14045 }
14046}
14047
14048#[derive(Debug, Clone, PartialEq)]
14049pub enum WorkItemRef {
14050 ProductDefinitionFormation(ProductDefinitionFormationId),
14051 ProductDefinitionFormationWithSpecifiedSource(ProductDefinitionFormationWithSpecifiedSourceId),
14052 Complex(ComplexUnitId),
14053}
14054impl WorkItemRef {
14055 pub fn from_any(a: EntityKey) -> Result<Self, String> {
14056 match a {
14057 EntityKey::ProductDefinitionFormation(i) => Ok(Self::ProductDefinitionFormation(i)),
14058 EntityKey::ProductDefinitionFormationWithSpecifiedSource(i) => {
14059 Ok(Self::ProductDefinitionFormationWithSpecifiedSource(i))
14060 }
14061 EntityKey::ComplexUnit(i) => Ok(Self::Complex(i)),
14062 other => Err(format!("expected WorkItemRef target, got {other:?}")),
14063 }
14064 }
14065}
14066
14067#[derive(Debug, Clone, PartialEq)]
14068pub struct Action {
14069 pub name: String,
14070 pub description: Option<String>,
14071 pub chosen_method: ActionMethodRef,
14072}
14073
14074#[derive(Debug, Clone, PartialEq)]
14075pub struct ActionAssignment {
14076 pub assigned_action: ActionRef,
14077}
14078
14079#[derive(Debug, Clone, PartialEq)]
14080pub struct ActionDirective {
14081 pub name: String,
14082 pub description: Option<String>,
14083 pub analysis: String,
14084 pub comment: String,
14085 pub requests: Vec<VersionedActionRequestRef>,
14086}
14087
14088#[derive(Debug, Clone, PartialEq)]
14089pub struct ActionMethod {
14090 pub name: String,
14091 pub description: Option<String>,
14092 pub consequence: String,
14093 pub purpose: String,
14094}
14095
14096#[derive(Debug, Clone, PartialEq)]
14097pub struct ActionMethodRelationship {
14098 pub name: String,
14099 pub description: Option<String>,
14100 pub relating_method: ActionMethodRef,
14101 pub related_method: ActionMethodRef,
14102}
14103
14104#[derive(Debug, Clone, PartialEq)]
14105pub struct ActionProperty {
14106 pub name: String,
14107 pub description: String,
14108 pub definition: CharacterizedActionDefinitionRef,
14109}
14110
14111#[derive(Debug, Clone, PartialEq)]
14112pub struct ActionRelationship {
14113 pub name: String,
14114 pub description: Option<String>,
14115 pub relating_action: ActionRef,
14116 pub related_action: ActionRef,
14117}
14118
14119#[derive(Debug, Clone, PartialEq)]
14120pub struct ActionRequestAssignment {
14121 pub assigned_action_request: VersionedActionRequestRef,
14122}
14123
14124#[derive(Debug, Clone, PartialEq)]
14125pub struct ActionRequestSolution {
14126 pub method: ActionMethodRef,
14127 pub request: VersionedActionRequestRef,
14128}
14129
14130#[derive(Debug, Clone, PartialEq)]
14131pub struct ActionResource {
14132 pub name: String,
14133 pub description: Option<String>,
14134 pub usage: Vec<SupportedItemRef>,
14135 pub kind: ActionResourceTypeRef,
14136}
14137
14138#[derive(Debug, Clone, PartialEq)]
14139pub struct ActionResourceRelationship {
14140 pub name: String,
14141 pub description: Option<String>,
14142 pub relating_resource: ActionResourceRef,
14143 pub related_resource: ActionResourceRef,
14144}
14145
14146#[derive(Debug, Clone, PartialEq)]
14147pub struct ActionResourceRequirement {
14148 pub name: String,
14149 pub description: String,
14150 pub kind: ResourceRequirementTypeRef,
14151 pub operations: Vec<CharacterizedActionDefinitionRef>,
14152}
14153
14154#[derive(Debug, Clone, PartialEq)]
14155pub struct ActionResourceType {
14156 pub name: String,
14157}
14158
14159#[derive(Debug, Clone, PartialEq)]
14160pub struct Address {
14161 pub internal_location: Option<String>,
14162 pub street_number: Option<String>,
14163 pub street: Option<String>,
14164 pub postal_box: Option<String>,
14165 pub town: Option<String>,
14166 pub region: Option<String>,
14167 pub postal_code: Option<String>,
14168 pub country: Option<String>,
14169 pub facsimile_number: Option<String>,
14170 pub telephone_number: Option<String>,
14171 pub electronic_mail_address: Option<String>,
14172 pub telex_number: Option<String>,
14173}
14174
14175#[derive(Debug, Clone, PartialEq)]
14176pub struct AdvancedBrepShapeRepresentation {
14177 pub name: String,
14178 pub items: Vec<RepresentationItemRef>,
14179 pub context_of_items: RepresentationContextRef,
14180}
14181
14182#[derive(Debug, Clone, PartialEq)]
14183pub struct AdvancedFace {
14184 pub name: String,
14185 pub bounds: Vec<FaceBoundRef>,
14186 pub face_geometry: SurfaceRef,
14187 pub same_sense: bool,
14188}
14189
14190#[derive(Debug, Clone, PartialEq)]
14191pub struct AllAroundShapeAspect {
14192 pub name: String,
14193 pub description: Option<String>,
14194 pub of_shape: ProductDefinitionShapeRef,
14195 pub product_definitional: Logical,
14196}
14197
14198#[derive(Debug, Clone, PartialEq)]
14199pub struct AngularLocation {
14200 pub name: String,
14201 pub description: Option<String>,
14202 pub relating_shape_aspect: ShapeAspectRef,
14203 pub related_shape_aspect: ShapeAspectRef,
14204 pub angle_selection: AngleRelator,
14205}
14206
14207#[derive(Debug, Clone, PartialEq)]
14208pub struct AngularSize {
14209 pub applies_to: ShapeAspectRef,
14210 pub name: String,
14211 pub angle_selection: AngleRelator,
14212}
14213
14214#[derive(Debug, Clone, PartialEq)]
14215pub struct AngularityTolerance {
14216 pub name: String,
14217 pub description: Option<String>,
14218 pub magnitude: Option<LengthMeasureWithUnitRef>,
14219 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
14220 pub datum_system: Vec<DatumSystemOrReferenceRef>,
14221}
14222
14223#[derive(Debug, Clone, PartialEq)]
14224pub struct AnnotationCurveOccurrence {
14225 pub name: String,
14226 pub styles: Vec<PresentationStyleAssignmentRef>,
14227 pub item: CurveOrCurveSetRef,
14228}
14229
14230#[derive(Debug, Clone, PartialEq)]
14231pub struct AnnotationFillAreaOccurrence {
14232 pub name: String,
14233 pub styles: Vec<PresentationStyleAssignmentRef>,
14234 pub item: StyledItemTargetRef,
14235 pub fill_style_target: PointRef,
14236}
14237
14238#[derive(Debug, Clone, PartialEq)]
14239pub struct AnnotationOccurrence {
14240 pub name: String,
14241 pub styles: Vec<PresentationStyleAssignmentRef>,
14242 pub item: StyledItemTargetRef,
14243}
14244
14245#[derive(Debug, Clone, PartialEq)]
14246pub struct AnnotationOccurrenceAssociativity {
14247 pub name: String,
14248 pub description: String,
14249 pub relating_annotation_occurrence: AnnotationOccurrenceRef,
14250 pub related_annotation_occurrence: AnnotationOccurrenceRef,
14251}
14252
14253#[derive(Debug, Clone, PartialEq)]
14254pub struct AnnotationOccurrenceRelationship {
14255 pub name: String,
14256 pub description: String,
14257 pub relating_annotation_occurrence: AnnotationOccurrenceRef,
14258 pub related_annotation_occurrence: AnnotationOccurrenceRef,
14259}
14260
14261#[derive(Debug, Clone, PartialEq)]
14262pub struct AnnotationPlaceholderLeaderLine {
14263 pub name: String,
14264 pub geometric_elements: Vec<DesApllPointSelectRef>,
14265}
14266
14267#[derive(Debug, Clone, PartialEq)]
14268pub struct AnnotationPlaceholderOccurrence {
14269 pub name: String,
14270 pub styles: Vec<PresentationStyleAssignmentRef>,
14271 pub item: StyledItemTargetRef,
14272 pub role: AnnotationPlaceholderOccurrenceRole,
14273 pub line_spacing: f64,
14274}
14275
14276#[derive(Debug, Clone, PartialEq)]
14277pub struct AnnotationPlaceholderOccurrenceWithLeaderLine {
14278 pub name: String,
14279 pub styles: Vec<PresentationStyleAssignmentRef>,
14280 pub item: StyledItemTargetRef,
14281 pub role: AnnotationPlaceholderOccurrenceRole,
14282 pub line_spacing: f64,
14283 pub leader_line: Vec<AnnotationPlaceholderLeaderLineRef>,
14284}
14285
14286#[derive(Debug, Clone, PartialEq)]
14287pub struct AnnotationPlane {
14288 pub name: String,
14289 pub styles: Vec<PresentationStyleAssignmentRef>,
14290 pub item: PlaneOrPlanarBoxRef,
14291 pub elements: Option<Vec<AnnotationPlaneElementRef>>,
14292}
14293
14294#[derive(Debug, Clone, PartialEq)]
14295pub struct AnnotationSymbol {
14296 pub name: String,
14297 pub mapping_source: RepresentationMapRef,
14298 pub mapping_target: RepresentationItemRef,
14299}
14300
14301#[derive(Debug, Clone, PartialEq)]
14302pub struct AnnotationSymbolOccurrence {
14303 pub name: String,
14304 pub styles: Vec<PresentationStyleAssignmentRef>,
14305 pub item: AnnotationSymbolOccurrenceItemRef,
14306}
14307
14308#[derive(Debug, Clone, PartialEq)]
14309pub struct AnnotationText {
14310 pub name: String,
14311 pub mapping_source: RepresentationMapRef,
14312 pub mapping_target: Axis2PlacementRef,
14313}
14314
14315#[derive(Debug, Clone, PartialEq)]
14316pub struct AnnotationTextCharacter {
14317 pub name: String,
14318 pub mapping_source: RepresentationMapRef,
14319 pub mapping_target: Axis2PlacementRef,
14320 pub alignment: String,
14321}
14322
14323#[derive(Debug, Clone, PartialEq)]
14324pub struct AnnotationTextOccurrence {
14325 pub name: String,
14326 pub styles: Vec<PresentationStyleAssignmentRef>,
14327 pub item: AnnotationTextOccurrenceItemRef,
14328}
14329
14330#[derive(Debug, Clone, PartialEq)]
14331pub struct AnnotationToAnnotationLeaderLine {
14332 pub name: String,
14333 pub geometric_elements: Vec<DesApllPointSelectRef>,
14334}
14335
14336#[derive(Debug, Clone, PartialEq)]
14337pub struct AnnotationToModelLeaderLine {
14338 pub name: String,
14339 pub geometric_elements: Vec<DesApllPointSelectRef>,
14340}
14341
14342#[derive(Debug, Clone, PartialEq)]
14343pub struct ApllPoint {
14344 pub name: String,
14345 pub coordinates: Vec<f64>,
14346 pub symbol_applied: DesApllPointSymbol,
14347}
14348
14349#[derive(Debug, Clone, PartialEq)]
14350pub struct ApllPointWithSurface {
14351 pub name: String,
14352 pub coordinates: Vec<f64>,
14353 pub symbol_applied: DesApllPointSymbol,
14354 pub associated_surface: FaceSurfaceRef,
14355}
14356
14357#[derive(Debug, Clone, PartialEq)]
14358pub struct ApplicationContext {
14359 pub application: String,
14360}
14361
14362#[derive(Debug, Clone, PartialEq)]
14363pub struct ApplicationContextElement {
14364 pub name: String,
14365 pub frame_of_reference: ApplicationContextRef,
14366}
14367
14368#[derive(Debug, Clone, PartialEq)]
14369pub struct ApplicationProtocolDefinition {
14370 pub status: String,
14371 pub application_interpreted_model_schema_name: String,
14372 pub application_protocol_year: i64,
14373 pub application: ApplicationContextRef,
14374}
14375
14376#[derive(Debug, Clone, PartialEq)]
14377pub struct AppliedApprovalAssignment {
14378 pub assigned_approval: ApprovalRef,
14379 pub items: Vec<ApprovalItemRef>,
14380}
14381
14382#[derive(Debug, Clone, PartialEq)]
14383pub struct AppliedDateAndTimeAssignment {
14384 pub assigned_date_and_time: DateAndTimeRef,
14385 pub role: DateTimeRoleRef,
14386 pub items: Vec<DateAndTimeItemRef>,
14387}
14388
14389#[derive(Debug, Clone, PartialEq)]
14390pub struct AppliedDocumentReference {
14391 pub assigned_document: DocumentRef,
14392 pub source: String,
14393 pub items: Vec<DocumentReferenceItemRef>,
14394}
14395
14396#[derive(Debug, Clone, PartialEq)]
14397pub struct AppliedExternalIdentificationAssignment {
14398 pub assigned_id: String,
14399 pub role: IdentificationRoleRef,
14400 pub source: ExternalSourceRef,
14401 pub items: Vec<ExternalIdentificationItemRef>,
14402}
14403
14404#[derive(Debug, Clone, PartialEq)]
14405pub struct AppliedGroupAssignment {
14406 pub assigned_group: GroupRef,
14407 pub items: Vec<GroupableItemRef>,
14408}
14409
14410#[derive(Debug, Clone, PartialEq)]
14411pub struct AppliedPersonAndOrganizationAssignment {
14412 pub assigned_person_and_organization: PersonAndOrganizationRef,
14413 pub role: PersonAndOrganizationRoleRef,
14414 pub items: Vec<PersonAndOrganizationItemRef>,
14415}
14416
14417#[derive(Debug, Clone, PartialEq)]
14418pub struct AppliedPresentedItem {
14419 pub items: Vec<PresentedItemSelectRef>,
14420}
14421
14422#[derive(Debug, Clone, PartialEq)]
14423pub struct AppliedSecurityClassificationAssignment {
14424 pub assigned_security_classification: SecurityClassificationRef,
14425 pub items: Vec<SecurityClassificationItemRef>,
14426}
14427
14428#[derive(Debug, Clone, PartialEq)]
14429pub struct Approval {
14430 pub status: ApprovalStatusRef,
14431 pub level: String,
14432}
14433
14434#[derive(Debug, Clone, PartialEq)]
14435pub struct ApprovalAssignment {
14436 pub assigned_approval: ApprovalRef,
14437}
14438
14439#[derive(Debug, Clone, PartialEq)]
14440pub struct ApprovalDateTime {
14441 pub date_time: DateTimeSelectRef,
14442 pub dated_approval: ApprovalRef,
14443}
14444
14445#[derive(Debug, Clone, PartialEq)]
14446pub struct ApprovalPersonOrganization {
14447 pub person_organization: PersonOrganizationSelectRef,
14448 pub authorized_approval: ApprovalRef,
14449 pub role: ApprovalRoleRef,
14450}
14451
14452#[derive(Debug, Clone, PartialEq)]
14453pub struct ApprovalRole {
14454 pub role: String,
14455}
14456
14457#[derive(Debug, Clone, PartialEq)]
14458pub struct ApprovalStatus {
14459 pub name: String,
14460}
14461
14462#[derive(Debug, Clone, PartialEq)]
14463pub struct ApproximationTolerance {
14464 pub tolerance: ToleranceSelectRef,
14465}
14466
14467#[derive(Debug, Clone, PartialEq)]
14468pub struct ApproximationToleranceDeviation {
14469 pub tessellation_type: ApproximationMethod,
14470 pub tolerances: Vec<MeasureValue>,
14471 pub definition_space: ProductOrPresentationSpace,
14472}
14473
14474#[derive(Debug, Clone, PartialEq)]
14475pub struct ApproximationToleranceParameter {
14476 pub tolerances: Vec<MeasureValue>,
14477}
14478
14479#[derive(Debug, Clone, PartialEq)]
14480pub struct AreaInSet {
14481 pub area: PresentationAreaRef,
14482 pub in_set: PresentationSetRef,
14483}
14484
14485#[derive(Debug, Clone, PartialEq)]
14486pub struct AreaUnit {
14487 pub elements: Vec<DerivedUnitElementRef>,
14488}
14489
14490#[derive(Debug, Clone, PartialEq)]
14491pub struct AscribableState {
14492 pub name: String,
14493 pub description: Option<String>,
14494 pub pertaining_state_type: StateTypeRef,
14495 pub ascribed_state_observed: StateObservedRef,
14496}
14497
14498#[derive(Debug, Clone, PartialEq)]
14499pub struct AscribableStateRelationship {
14500 pub name: String,
14501 pub description: Option<String>,
14502 pub relating_ascribable_state: AscribableStateRef,
14503 pub related_ascribable_state: AscribableStateRef,
14504}
14505
14506#[derive(Debug, Clone, PartialEq)]
14507pub struct AssemblyComponentUsage {
14508 pub id: String,
14509 pub name: String,
14510 pub description: Option<String>,
14511 pub relating_product_definition: ProductDefinitionOrReferenceRef,
14512 pub related_product_definition: ProductDefinitionOrReferenceRef,
14513 pub reference_designator: Option<String>,
14514}
14515
14516#[derive(Debug, Clone, PartialEq)]
14517pub struct AuxiliaryLeaderLine {
14518 pub name: String,
14519 pub geometric_elements: Vec<DesApllPointSelectRef>,
14520 pub controlling_leader_line: AnnotationToModelLeaderLineRef,
14521}
14522
14523#[derive(Debug, Clone, PartialEq)]
14524pub struct Axis1Placement {
14525 pub name: String,
14526 pub location: CartesianPointRef,
14527 pub axis: Option<DirectionRef>,
14528}
14529
14530#[derive(Debug, Clone, PartialEq)]
14531pub struct Axis2Placement2d {
14532 pub name: String,
14533 pub location: CartesianPointRef,
14534 pub ref_direction: Option<DirectionRef>,
14535}
14536
14537#[derive(Debug, Clone, PartialEq)]
14538pub struct Axis2Placement3d {
14539 pub name: String,
14540 pub location: CartesianPointRef,
14541 pub axis: Option<DirectionRef>,
14542 pub ref_direction: Option<DirectionRef>,
14543}
14544
14545#[derive(Debug, Clone, PartialEq)]
14546pub struct BSplineCurve {
14547 pub name: String,
14548 pub degree: i64,
14549 pub control_points_list: Vec<CartesianPointRef>,
14550 pub curve_form: BSplineCurveForm,
14551 pub closed_curve: Logical,
14552 pub self_intersect: Logical,
14553}
14554
14555#[derive(Debug, Clone, PartialEq)]
14556pub struct BSplineCurveWithKnots {
14557 pub name: String,
14558 pub degree: i64,
14559 pub control_points_list: Vec<CartesianPointRef>,
14560 pub curve_form: BSplineCurveForm,
14561 pub closed_curve: Logical,
14562 pub self_intersect: Logical,
14563 pub knot_multiplicities: Vec<i64>,
14564 pub knots: Vec<f64>,
14565 pub knot_spec: KnotType,
14566}
14567
14568#[derive(Debug, Clone, PartialEq)]
14569pub struct BSplineSurface {
14570 pub name: String,
14571 pub u_degree: i64,
14572 pub v_degree: i64,
14573 pub control_points_list: Vec<Vec<CartesianPointRef>>,
14574 pub surface_form: BSplineSurfaceForm,
14575 pub u_closed: Logical,
14576 pub v_closed: Logical,
14577 pub self_intersect: Logical,
14578}
14579
14580#[derive(Debug, Clone, PartialEq)]
14581pub struct BSplineSurfaceWithKnots {
14582 pub name: String,
14583 pub u_degree: i64,
14584 pub v_degree: i64,
14585 pub control_points_list: Vec<Vec<CartesianPointRef>>,
14586 pub surface_form: BSplineSurfaceForm,
14587 pub u_closed: Logical,
14588 pub v_closed: Logical,
14589 pub self_intersect: Logical,
14590 pub u_multiplicities: Vec<i64>,
14591 pub v_multiplicities: Vec<i64>,
14592 pub u_knots: Vec<f64>,
14593 pub v_knots: Vec<f64>,
14594 pub knot_spec: KnotType,
14595}
14596
14597#[derive(Debug, Clone, PartialEq)]
14598pub struct BezierCurve {
14599 pub name: String,
14600 pub degree: i64,
14601 pub control_points_list: Vec<CartesianPointRef>,
14602 pub curve_form: BSplineCurveForm,
14603 pub closed_curve: Logical,
14604 pub self_intersect: Logical,
14605}
14606
14607#[derive(Debug, Clone, PartialEq)]
14608pub struct BezierSurface {
14609 pub name: String,
14610 pub u_degree: i64,
14611 pub v_degree: i64,
14612 pub control_points_list: Vec<Vec<CartesianPointRef>>,
14613 pub surface_form: BSplineSurfaceForm,
14614 pub u_closed: Logical,
14615 pub v_closed: Logical,
14616 pub self_intersect: Logical,
14617}
14618
14619#[derive(Debug, Clone, PartialEq)]
14620pub struct BoundedCurve {
14621 pub name: String,
14622}
14623
14624#[derive(Debug, Clone, PartialEq)]
14625pub struct BoundedPcurve {
14626 pub name: String,
14627 pub basis_surface: SurfaceRef,
14628 pub reference_to_curve: DefinitionalRepresentationRef,
14629}
14630
14631#[derive(Debug, Clone, PartialEq)]
14632pub struct BoundedSurface {
14633 pub name: String,
14634}
14635
14636#[derive(Debug, Clone, PartialEq)]
14637pub struct BoundedSurfaceCurve {
14638 pub name: String,
14639 pub curve_3d: CurveRef,
14640 pub associated_geometry: Vec<PcurveOrSurfaceRef>,
14641 pub master_representation: PreferredSurfaceCurveRepresentation,
14642}
14643
14644#[derive(Debug, Clone, PartialEq)]
14645pub struct BrepWithVoids {
14646 pub name: String,
14647 pub outer: ClosedShellRef,
14648 pub voids: Vec<OrientedClosedShellRef>,
14649}
14650
14651#[derive(Debug, Clone, PartialEq)]
14652pub struct CalendarDate {
14653 pub year_component: i64,
14654 pub day_component: i64,
14655 pub month_component: i64,
14656}
14657
14658#[derive(Debug, Clone, PartialEq)]
14659pub struct CameraImage {
14660 pub name: String,
14661 pub mapping_source: RepresentationMapRef,
14662 pub mapping_target: RepresentationItemRef,
14663}
14664
14665#[derive(Debug, Clone, PartialEq)]
14666pub struct CameraImage3dWithScale {
14667 pub name: String,
14668 pub mapping_source: RepresentationMapRef,
14669 pub mapping_target: RepresentationItemRef,
14670}
14671
14672#[derive(Debug, Clone, PartialEq)]
14673pub struct CameraModel {
14674 pub name: String,
14675}
14676
14677#[derive(Debug, Clone, PartialEq)]
14678pub struct CameraModelD3 {
14679 pub name: String,
14680 pub view_reference_system: Axis2Placement3dRef,
14681 pub perspective_of_volume: ViewVolumeRef,
14682}
14683
14684#[derive(Debug, Clone, PartialEq)]
14685pub struct CameraModelD3MultiClipping {
14686 pub name: String,
14687 pub view_reference_system: Axis2Placement3dRef,
14688 pub perspective_of_volume: ViewVolumeRef,
14689 pub shape_clipping: Vec<CameraModelD3MultiClippingIntersectionSelectRef>,
14690}
14691
14692#[derive(Debug, Clone, PartialEq)]
14693pub struct CameraModelD3WithHlhsr {
14694 pub name: String,
14695 pub view_reference_system: Axis2Placement3dRef,
14696 pub perspective_of_volume: ViewVolumeRef,
14697 pub hidden_line_surface_removal: bool,
14698}
14699
14700#[derive(Debug, Clone, PartialEq)]
14701pub struct CameraUsage {
14702 pub mapping_origin: RepresentationItemRef,
14703 pub mapped_representation: RepresentationRef,
14704}
14705
14706#[derive(Debug, Clone, PartialEq)]
14707pub struct CartesianPoint {
14708 pub name: String,
14709 pub coordinates: Vec<f64>,
14710}
14711
14712#[derive(Debug, Clone, PartialEq)]
14713pub struct CcDesignApproval {
14714 pub assigned_approval: ApprovalRef,
14715 pub items: Vec<ApprovedItemRef>,
14716}
14717
14718#[derive(Debug, Clone, PartialEq)]
14719pub struct CcDesignDateAndTimeAssignment {
14720 pub assigned_date_and_time: DateAndTimeRef,
14721 pub role: DateTimeRoleRef,
14722 pub items: Vec<DateTimeItemRef>,
14723}
14724
14725#[derive(Debug, Clone, PartialEq)]
14726pub struct CcDesignPersonAndOrganizationAssignment {
14727 pub assigned_person_and_organization: PersonAndOrganizationRef,
14728 pub role: PersonAndOrganizationRoleRef,
14729 pub items: Vec<CcPersonOrganizationItemRef>,
14730}
14731
14732#[derive(Debug, Clone, PartialEq)]
14733pub struct CcDesignSecurityClassification {
14734 pub assigned_security_classification: SecurityClassificationRef,
14735 pub items: Vec<CcClassifiedItemRef>,
14736}
14737
14738#[derive(Debug, Clone, PartialEq)]
14739pub struct CentreOfSymmetry {
14740 pub name: String,
14741 pub description: Option<String>,
14742 pub of_shape: ProductDefinitionShapeRef,
14743 pub product_definitional: Logical,
14744}
14745
14746#[derive(Debug, Clone, PartialEq)]
14747pub struct Certification {
14748 pub name: String,
14749 pub purpose: String,
14750 pub kind: CertificationTypeRef,
14751}
14752
14753#[derive(Debug, Clone, PartialEq)]
14754pub struct CertificationType {
14755 pub description: String,
14756}
14757
14758#[derive(Debug, Clone, PartialEq)]
14759pub struct Change {
14760 pub assigned_action: ActionRef,
14761 pub items: Vec<WorkItemRef>,
14762}
14763
14764#[derive(Debug, Clone, PartialEq)]
14765pub struct ChangeRequest {
14766 pub assigned_action_request: VersionedActionRequestRef,
14767 pub items: Vec<ChangeRequestItemRef>,
14768}
14769
14770#[derive(Debug, Clone, PartialEq)]
14771pub struct CharacterGlyphStyleOutline {
14772 pub outline_style: CurveStyleRef,
14773}
14774
14775#[derive(Debug, Clone, PartialEq)]
14776pub struct CharacterGlyphStyleStroke {
14777 pub stroke_style: CurveStyleRef,
14778}
14779
14780#[derive(Debug, Clone, PartialEq)]
14781pub struct CharacterizedItemWithinRepresentation {
14782 pub name: String,
14783 pub description: Option<String>,
14784 pub item: RepresentationItemRef,
14785 pub rep: RepresentationRef,
14786}
14787
14788#[derive(Debug, Clone, PartialEq)]
14789pub struct CharacterizedObject {
14790 pub name: Option<String>,
14791 pub description: Option<String>,
14792}
14793
14794#[derive(Debug, Clone, PartialEq)]
14795pub struct CharacterizedRepresentation {
14796 pub items: Vec<RepresentationItemRef>,
14797 pub context_of_items: RepresentationContextRef,
14798}
14799
14800#[derive(Debug, Clone, PartialEq)]
14801pub struct Circle {
14802 pub name: String,
14803 pub position: Axis2PlacementRef,
14804 pub radius: f64,
14805}
14806
14807#[derive(Debug, Clone, PartialEq)]
14808pub struct CircularRunoutTolerance {
14809 pub name: String,
14810 pub description: Option<String>,
14811 pub magnitude: Option<LengthMeasureWithUnitRef>,
14812 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
14813 pub datum_system: Vec<DatumSystemOrReferenceRef>,
14814}
14815
14816#[derive(Debug, Clone, PartialEq)]
14817pub struct ClosedShell {
14818 pub name: String,
14819 pub cfs_faces: Vec<FaceRef>,
14820}
14821
14822#[derive(Debug, Clone, PartialEq)]
14823pub struct CoaxialityTolerance {
14824 pub name: String,
14825 pub description: Option<String>,
14826 pub magnitude: Option<LengthMeasureWithUnitRef>,
14827 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
14828 pub datum_system: Vec<DatumSystemOrReferenceRef>,
14829}
14830
14831#[derive(Debug, Clone, PartialEq)]
14832pub struct Colour {}
14833
14834#[derive(Debug, Clone, PartialEq)]
14835pub struct ColourRgb {
14836 pub name: String,
14837 pub red: f64,
14838 pub green: f64,
14839 pub blue: f64,
14840}
14841
14842#[derive(Debug, Clone, PartialEq)]
14843pub struct ColourSpecification {
14844 pub name: String,
14845}
14846
14847#[derive(Debug, Clone, PartialEq)]
14848pub struct CommonDatum {
14849 pub name: String,
14850 pub description: Option<String>,
14851 pub of_shape: ProductDefinitionShapeRef,
14852 pub product_definitional: Logical,
14853 pub identification: String,
14854}
14855
14856#[derive(Debug, Clone, PartialEq)]
14857pub struct ComplexTriangulatedFace {
14858 pub name: String,
14859 pub coordinates: CoordinatesListRef,
14860 pub pnmax: i64,
14861 pub normals: Vec<Vec<f64>>,
14862 pub geometric_link: Option<FaceOrSurfaceRef>,
14863 pub pnindex: Vec<i64>,
14864 pub triangle_strips: Vec<Vec<i64>>,
14865 pub triangle_fans: Vec<Vec<i64>>,
14866}
14867
14868#[derive(Debug, Clone, PartialEq)]
14869pub struct ComplexTriangulatedSurfaceSet {
14870 pub name: String,
14871 pub coordinates: CoordinatesListRef,
14872 pub pnmax: i64,
14873 pub normals: Vec<Vec<f64>>,
14874 pub pnindex: Vec<i64>,
14875 pub triangle_strips: Vec<Vec<i64>>,
14876 pub triangle_fans: Vec<Vec<i64>>,
14877}
14878
14879#[derive(Debug, Clone, PartialEq)]
14880pub struct CompositeCurve {
14881 pub name: String,
14882 pub segments: Vec<CompositeCurveSegmentRef>,
14883 pub self_intersect: Logical,
14884}
14885
14886#[derive(Debug, Clone, PartialEq)]
14887pub struct CompositeCurveSegment {
14888 pub transition: TransitionCode,
14889 pub same_sense: bool,
14890 pub parent_curve: CurveRef,
14891}
14892
14893#[derive(Debug, Clone, PartialEq)]
14894pub struct CompositeGroupShapeAspect {
14895 pub name: String,
14896 pub description: Option<String>,
14897 pub of_shape: ProductDefinitionShapeRef,
14898 pub product_definitional: Logical,
14899}
14900
14901#[derive(Debug, Clone, PartialEq)]
14902pub struct CompositeShapeAspect {
14903 pub name: String,
14904 pub description: Option<String>,
14905 pub of_shape: ProductDefinitionShapeRef,
14906 pub product_definitional: Logical,
14907}
14908
14909#[derive(Debug, Clone, PartialEq)]
14910pub struct CompositeText {
14911 pub name: String,
14912 pub collected_text: Vec<TextOrCharacterRef>,
14913}
14914
14915#[derive(Debug, Clone, PartialEq)]
14916pub struct CompoundRepresentationItem {
14917 pub name: String,
14918 pub item_element: CompoundItemDefinitionRef,
14919}
14920
14921#[derive(Debug, Clone, PartialEq)]
14922pub struct ConcentricityTolerance {
14923 pub name: String,
14924 pub description: Option<String>,
14925 pub magnitude: Option<LengthMeasureWithUnitRef>,
14926 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
14927 pub datum_system: Vec<DatumSystemOrReferenceRef>,
14928}
14929
14930#[derive(Debug, Clone, PartialEq)]
14931pub struct ConfigurationDesign {
14932 pub configuration: ConfigurationItemRef,
14933 pub design: ConfigurationDesignItemRef,
14934}
14935
14936#[derive(Debug, Clone, PartialEq)]
14937pub struct ConfigurationEffectivity {
14938 pub id: String,
14939 pub usage: ProductDefinitionRelationshipRef,
14940 pub configuration: ConfigurationDesignRef,
14941}
14942
14943#[derive(Debug, Clone, PartialEq)]
14944pub struct ConfigurationItem {
14945 pub id: String,
14946 pub name: String,
14947 pub description: Option<String>,
14948 pub item_concept: ProductConceptRef,
14949 pub purpose: Option<String>,
14950}
14951
14952#[derive(Debug, Clone, PartialEq)]
14953pub struct Conic {
14954 pub name: String,
14955 pub position: Axis2PlacementRef,
14956}
14957
14958#[derive(Debug, Clone, PartialEq)]
14959pub struct ConicalSurface {
14960 pub name: String,
14961 pub position: Axis2Placement3dRef,
14962 pub radius: f64,
14963 pub semi_angle: f64,
14964}
14965
14966#[derive(Debug, Clone, PartialEq)]
14967pub struct ConnectedFaceSet {
14968 pub name: String,
14969 pub cfs_faces: Option<Vec<FaceRef>>,
14970}
14971
14972#[derive(Debug, Clone, PartialEq)]
14973pub struct ConstructiveGeometryRepresentation {
14974 pub name: String,
14975 pub items: Vec<RepresentationItemRef>,
14976 pub context_of_items: RepresentationContextRef,
14977}
14978
14979#[derive(Debug, Clone, PartialEq)]
14980pub struct ConstructiveGeometryRepresentationRelationship {
14981 pub name: String,
14982 pub description: Option<String>,
14983 pub rep_1: ConstructiveGeometryRepresentationOrShapeRepresentationRef,
14984 pub rep_2: RepresentationOrRepresentationReferenceRef,
14985}
14986
14987#[derive(Debug, Clone, PartialEq)]
14988pub struct ContextDependentOverRidingStyledItem {
14989 pub name: String,
14990 pub styles: Vec<PresentationStyleAssignmentRef>,
14991 pub item: StyledItemTargetRef,
14992 pub over_ridden_style: StyledItemRef,
14993 pub style_context: Vec<StyleContextSelectRef>,
14994}
14995
14996#[derive(Debug, Clone, PartialEq)]
14997pub struct ContextDependentShapeRepresentation {
14998 pub representation_relation: ShapeRepresentationRelationshipRef,
14999 pub represented_product_relation: ProductDefinitionShapeRef,
15000}
15001
15002#[derive(Debug, Clone, PartialEq)]
15003pub struct ContextDependentUnit {
15004 pub dimensions: DimensionalExponentsRef,
15005 pub name: String,
15006}
15007
15008#[derive(Debug, Clone, PartialEq)]
15009pub struct ContinuousShapeAspect {
15010 pub name: String,
15011 pub description: Option<String>,
15012 pub of_shape: ProductDefinitionShapeRef,
15013 pub product_definitional: Logical,
15014}
15015
15016#[derive(Debug, Clone, PartialEq)]
15017pub struct Contract {
15018 pub name: String,
15019 pub purpose: String,
15020 pub kind: ContractTypeRef,
15021}
15022
15023#[derive(Debug, Clone, PartialEq)]
15024pub struct ContractType {
15025 pub description: String,
15026}
15027
15028#[derive(Debug, Clone, PartialEq)]
15029pub struct ConversionBasedUnit {
15030 pub dimensions: DimensionalExponentsRef,
15031 pub name: String,
15032 pub conversion_factor: MeasureWithUnitRef,
15033}
15034
15035#[derive(Debug, Clone, PartialEq)]
15036pub struct CoordinatedUniversalTimeOffset {
15037 pub hour_offset: i64,
15038 pub minute_offset: Option<i64>,
15039 pub sense: AheadOrBehind,
15040}
15041
15042#[derive(Debug, Clone, PartialEq)]
15043pub struct CoordinatesList {
15044 pub name: String,
15045 pub npoints: i64,
15046 pub position_coords: Vec<Vec<f64>>,
15047}
15048
15049#[derive(Debug, Clone, PartialEq)]
15050pub struct Curve {
15051 pub name: String,
15052}
15053
15054#[derive(Debug, Clone, PartialEq)]
15055pub struct CurveStyle {
15056 pub name: String,
15057 pub curve_font: Option<CurveFontOrScaledCurveFontSelectRef>,
15058 pub curve_width: Option<SizeSelectRef>,
15059 pub curve_colour: Option<ColourRef>,
15060}
15061
15062#[derive(Debug, Clone, PartialEq)]
15063pub struct CurveStyleFont {
15064 pub name: String,
15065 pub pattern_list: Vec<CurveStyleFontPatternRef>,
15066}
15067
15068#[derive(Debug, Clone, PartialEq)]
15069pub struct CurveStyleFontAndScaling {
15070 pub name: String,
15071 pub curve_font: CurveStyleFontSelectRef,
15072 pub curve_font_scaling: f64,
15073}
15074
15075#[derive(Debug, Clone, PartialEq)]
15076pub struct CurveStyleFontPattern {
15077 pub visible_segment_length: f64,
15078 pub invisible_segment_length: f64,
15079}
15080
15081#[derive(Debug, Clone, PartialEq)]
15082pub struct CurveStyleRendering {
15083 pub rendering_method: ShadingCurveMethod,
15084 pub rendering_properties: SurfaceRenderingPropertiesRef,
15085}
15086
15087#[derive(Debug, Clone, PartialEq)]
15088pub struct CylindricalSurface {
15089 pub name: String,
15090 pub position: Axis2Placement3dRef,
15091 pub radius: f64,
15092}
15093
15094#[derive(Debug, Clone, PartialEq)]
15095pub struct CylindricityTolerance {
15096 pub name: String,
15097 pub description: Option<String>,
15098 pub magnitude: Option<LengthMeasureWithUnitRef>,
15099 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15100}
15101
15102#[derive(Debug, Clone, PartialEq)]
15103pub struct Date {
15104 pub year_component: i64,
15105}
15106
15107#[derive(Debug, Clone, PartialEq)]
15108pub struct DateAndTime {
15109 pub date_component: DateRef,
15110 pub time_component: LocalTimeRef,
15111}
15112
15113#[derive(Debug, Clone, PartialEq)]
15114pub struct DateAndTimeAssignment {
15115 pub assigned_date_and_time: DateAndTimeRef,
15116 pub role: DateTimeRoleRef,
15117}
15118
15119#[derive(Debug, Clone, PartialEq)]
15120pub struct DateRole {
15121 pub name: String,
15122}
15123
15124#[derive(Debug, Clone, PartialEq)]
15125pub struct DateTimeRole {
15126 pub name: String,
15127}
15128
15129#[derive(Debug, Clone, PartialEq)]
15130pub struct Datum {
15131 pub name: String,
15132 pub description: Option<String>,
15133 pub of_shape: ProductDefinitionShapeRef,
15134 pub product_definitional: Logical,
15135 pub identification: String,
15136}
15137
15138#[derive(Debug, Clone, PartialEq)]
15139pub struct DatumFeature {
15140 pub name: String,
15141 pub description: Option<String>,
15142 pub of_shape: ProductDefinitionShapeRef,
15143 pub product_definitional: Logical,
15144}
15145
15146#[derive(Debug, Clone, PartialEq)]
15147pub struct DatumReference {
15148 pub precedence: i64,
15149 pub referenced_datum: DatumRef,
15150}
15151
15152#[derive(Debug, Clone, PartialEq)]
15153pub struct DatumReferenceCompartment {
15154 pub name: String,
15155 pub description: Option<String>,
15156 pub of_shape: ProductDefinitionShapeRef,
15157 pub product_definitional: Logical,
15158 pub base: DatumOrCommonDatumRef,
15159 pub modifiers: Option<Vec<DatumReferenceModifierRef>>,
15160}
15161
15162#[derive(Debug, Clone, PartialEq)]
15163pub struct DatumReferenceElement {
15164 pub name: String,
15165 pub description: Option<String>,
15166 pub of_shape: ProductDefinitionShapeRef,
15167 pub product_definitional: Logical,
15168 pub base: DatumOrCommonDatumRef,
15169 pub modifiers: Option<Vec<DatumReferenceModifierRef>>,
15170}
15171
15172#[derive(Debug, Clone, PartialEq)]
15173pub struct DatumReferenceModifierWithValue {
15174 pub modifier_type: DatumReferenceModifierType,
15175 pub modifier_value: LengthMeasureWithUnitRef,
15176}
15177
15178#[derive(Debug, Clone, PartialEq)]
15179pub struct DatumSystem {
15180 pub name: String,
15181 pub description: Option<String>,
15182 pub of_shape: ProductDefinitionShapeRef,
15183 pub product_definitional: Logical,
15184 pub constituents: Vec<DatumReferenceCompartmentRef>,
15185}
15186
15187#[derive(Debug, Clone, PartialEq)]
15188pub struct DatumTarget {
15189 pub name: String,
15190 pub description: Option<String>,
15191 pub of_shape: ProductDefinitionShapeRef,
15192 pub product_definitional: Logical,
15193 pub target_id: String,
15194}
15195
15196#[derive(Debug, Clone, PartialEq)]
15197pub struct DefaultModelGeometricView {
15198 pub name: String,
15199 pub description: Option<String>,
15200 pub item: RepresentationItemRef,
15201 pub rep: RepresentationRef,
15202 pub name_1: String,
15203 pub description_1: Option<String>,
15204 pub of_shape: ProductDefinitionShapeRef,
15205}
15206
15207#[derive(Debug, Clone, PartialEq)]
15208pub struct DefinedCharacterGlyph {
15209 pub name: String,
15210 pub definition: DefinedGlyphSelectRef,
15211 pub placement: Axis2PlacementRef,
15212}
15213
15214#[derive(Debug, Clone, PartialEq)]
15215pub struct DefinedSymbol {
15216 pub name: String,
15217 pub definition: DefinedSymbolSelectRef,
15218 pub target: SymbolTargetRef,
15219}
15220
15221#[derive(Debug, Clone, PartialEq)]
15222pub struct DefinitionalRepresentation {
15223 pub name: String,
15224 pub items: Vec<RepresentationItemRef>,
15225 pub context_of_items: RepresentationContextRef,
15226}
15227
15228#[derive(Debug, Clone, PartialEq)]
15229pub struct DefinitionalRepresentationRelationship {
15230 pub name: String,
15231 pub description: Option<String>,
15232 pub rep_1: RepresentationOrRepresentationReferenceRef,
15233 pub rep_2: RepresentationOrRepresentationReferenceRef,
15234}
15235
15236#[derive(Debug, Clone, PartialEq)]
15237pub struct DefinitionalRepresentationRelationshipWithSameContext {
15238 pub name: String,
15239 pub description: Option<String>,
15240 pub rep_1: RepresentationOrRepresentationReferenceRef,
15241 pub rep_2: RepresentationOrRepresentationReferenceRef,
15242}
15243
15244#[derive(Debug, Clone, PartialEq)]
15245pub struct DegenerateToroidalSurface {
15246 pub name: String,
15247 pub position: Axis2Placement3dRef,
15248 pub major_radius: f64,
15249 pub minor_radius: f64,
15250 pub select_outer: bool,
15251}
15252
15253#[derive(Debug, Clone, PartialEq)]
15254pub struct DerivedShapeAspect {
15255 pub name: String,
15256 pub description: Option<String>,
15257 pub of_shape: ProductDefinitionShapeRef,
15258 pub product_definitional: Logical,
15259}
15260
15261#[derive(Debug, Clone, PartialEq)]
15262pub struct DerivedUnit {
15263 pub elements: Vec<DerivedUnitElementRef>,
15264}
15265
15266#[derive(Debug, Clone, PartialEq)]
15267pub struct DerivedUnitElement {
15268 pub unit: NamedUnitRef,
15269 pub exponent: f64,
15270}
15271
15272#[derive(Debug, Clone, PartialEq)]
15273pub struct DescriptionAttribute {
15274 pub attribute_value: String,
15275 pub described_item: DescriptionAttributeSelectRef,
15276}
15277
15278#[derive(Debug, Clone, PartialEq)]
15279pub struct DescriptiveRepresentationItem {
15280 pub name: String,
15281 pub description: String,
15282}
15283
15284#[derive(Debug, Clone, PartialEq)]
15285pub struct DesignContext {
15286 pub name: String,
15287 pub frame_of_reference: ApplicationContextRef,
15288 pub life_cycle_stage: String,
15289}
15290
15291#[derive(Debug, Clone, PartialEq)]
15292pub struct DimensionalCharacteristicRepresentation {
15293 pub dimension: DimensionalCharacteristicRef,
15294 pub representation: ShapeDimensionRepresentationRef,
15295}
15296
15297#[derive(Debug, Clone, PartialEq)]
15298pub struct DimensionalExponents {
15299 pub length_exponent: f64,
15300 pub mass_exponent: f64,
15301 pub time_exponent: f64,
15302 pub electric_current_exponent: f64,
15303 pub thermodynamic_temperature_exponent: f64,
15304 pub amount_of_substance_exponent: f64,
15305 pub luminous_intensity_exponent: f64,
15306}
15307
15308#[derive(Debug, Clone, PartialEq)]
15309pub struct DimensionalLocation {
15310 pub name: String,
15311 pub description: Option<String>,
15312 pub relating_shape_aspect: ShapeAspectRef,
15313 pub related_shape_aspect: ShapeAspectRef,
15314}
15315
15316#[derive(Debug, Clone, PartialEq)]
15317pub struct DimensionalLocationWithPath {
15318 pub name: String,
15319 pub description: Option<String>,
15320 pub relating_shape_aspect: ShapeAspectRef,
15321 pub related_shape_aspect: ShapeAspectRef,
15322 pub path: ShapeAspectRef,
15323}
15324
15325#[derive(Debug, Clone, PartialEq)]
15326pub struct DimensionalSize {
15327 pub applies_to: ShapeAspectRef,
15328 pub name: String,
15329}
15330
15331#[derive(Debug, Clone, PartialEq)]
15332pub struct DimensionalSizeWithDatumFeature {
15333 pub name: String,
15334 pub description: Option<String>,
15335 pub of_shape: ProductDefinitionShapeRef,
15336 pub product_definitional: Logical,
15337 pub applies_to: ShapeAspectRef,
15338 pub name_1: String,
15339}
15340
15341#[derive(Debug, Clone, PartialEq)]
15342pub struct DimensionalSizeWithPath {
15343 pub applies_to: ShapeAspectRef,
15344 pub name: String,
15345 pub path: ShapeAspectRef,
15346}
15347
15348#[derive(Debug, Clone, PartialEq)]
15349pub struct DirectedDimensionalLocation {
15350 pub name: String,
15351 pub description: Option<String>,
15352 pub relating_shape_aspect: ShapeAspectRef,
15353 pub related_shape_aspect: ShapeAspectRef,
15354}
15355
15356#[derive(Debug, Clone, PartialEq)]
15357pub struct Direction {
15358 pub name: String,
15359 pub direction_ratios: Vec<f64>,
15360}
15361
15362#[derive(Debug, Clone, PartialEq)]
15363pub struct Document {
15364 pub id: String,
15365 pub name: String,
15366 pub description: Option<String>,
15367 pub kind: DocumentTypeRef,
15368}
15369
15370#[derive(Debug, Clone, PartialEq)]
15371pub struct DocumentFile {
15372 pub id: String,
15373 pub name: String,
15374 pub description: Option<String>,
15375 pub kind: DocumentTypeRef,
15376 pub name_1: String,
15377 pub description_1: Option<String>,
15378}
15379
15380#[derive(Debug, Clone, PartialEq)]
15381pub struct DocumentProductAssociation {
15382 pub name: String,
15383 pub description: Option<String>,
15384 pub relating_document: DocumentRef,
15385 pub related_product: ProductOrFormationOrDefinitionRef,
15386}
15387
15388#[derive(Debug, Clone, PartialEq)]
15389pub struct DocumentProductEquivalence {
15390 pub name: String,
15391 pub description: Option<String>,
15392 pub relating_document: DocumentRef,
15393 pub related_product: ProductOrFormationOrDefinitionRef,
15394}
15395
15396#[derive(Debug, Clone, PartialEq)]
15397pub struct DocumentReference {
15398 pub assigned_document: DocumentRef,
15399 pub source: String,
15400}
15401
15402#[derive(Debug, Clone, PartialEq)]
15403pub struct DocumentRepresentationType {
15404 pub name: String,
15405 pub represented_document: DocumentRef,
15406}
15407
15408#[derive(Debug, Clone, PartialEq)]
15409pub struct DocumentType {
15410 pub product_data_type: String,
15411}
15412
15413#[derive(Debug, Clone, PartialEq)]
15414pub struct DraughtingAnnotationOccurrence {
15415 pub name: String,
15416 pub styles: Vec<PresentationStyleAssignmentRef>,
15417 pub item: StyledItemTargetRef,
15418}
15419
15420#[derive(Debug, Clone, PartialEq)]
15421pub struct DraughtingCallout {
15422 pub name: String,
15423 pub contents: Vec<DraughtingCalloutElementRef>,
15424}
15425
15426#[derive(Debug, Clone, PartialEq)]
15427pub struct DraughtingCalloutRelationship {
15428 pub name: String,
15429 pub description: String,
15430 pub relating_draughting_callout: DraughtingCalloutRef,
15431 pub related_draughting_callout: DraughtingCalloutRef,
15432}
15433
15434#[derive(Debug, Clone, PartialEq)]
15435pub struct DraughtingModel {
15436 pub name: String,
15437 pub items: Vec<RepresentationItemRef>,
15438 pub context_of_items: RepresentationContextRef,
15439}
15440
15441#[derive(Debug, Clone, PartialEq)]
15442pub struct DraughtingModelItemAssociation {
15443 pub name: String,
15444 pub description: Option<String>,
15445 pub definition: DraughtingModelItemDefinitionRef,
15446 pub used_representation: AnnotationRepresentationSelectRef,
15447 pub identified_item: DraughtingModelItemAssociationSelectRef,
15448}
15449
15450#[derive(Debug, Clone, PartialEq)]
15451pub struct DraughtingModelItemAssociationWithPlaceholder {
15452 pub name: String,
15453 pub description: Option<String>,
15454 pub definition: DraughtingModelItemDefinitionRef,
15455 pub used_representation: AnnotationRepresentationSelectRef,
15456 pub identified_item: DraughtingModelItemAssociationSelectRef,
15457 pub annotation_placeholder: AnnotationPlaceholderOccurrenceRef,
15458}
15459
15460#[derive(Debug, Clone, PartialEq)]
15461pub struct DraughtingPreDefinedColour {
15462 pub name: String,
15463}
15464
15465#[derive(Debug, Clone, PartialEq)]
15466pub struct DraughtingPreDefinedCurveFont {
15467 pub name: String,
15468}
15469
15470#[derive(Debug, Clone, PartialEq)]
15471pub struct DraughtingPreDefinedTextFont {
15472 pub name: String,
15473}
15474
15475#[derive(Debug, Clone, PartialEq)]
15476pub struct Edge {
15477 pub name: String,
15478 pub edge_start: Option<VertexRef>,
15479 pub edge_end: Option<VertexRef>,
15480}
15481
15482#[derive(Debug, Clone, PartialEq)]
15483pub struct EdgeCurve {
15484 pub name: String,
15485 pub edge_start: VertexRef,
15486 pub edge_end: VertexRef,
15487 pub edge_geometry: CurveRef,
15488 pub same_sense: bool,
15489}
15490
15491#[derive(Debug, Clone, PartialEq)]
15492pub struct EdgeLoop {
15493 pub name: String,
15494 pub edge_list: Vec<OrientedEdgeRef>,
15495}
15496
15497#[derive(Debug, Clone, PartialEq)]
15498pub struct Effectivity {
15499 pub id: String,
15500}
15501
15502#[derive(Debug, Clone, PartialEq)]
15503pub struct ElementarySurface {
15504 pub name: String,
15505 pub position: Axis2Placement3dRef,
15506}
15507
15508#[derive(Debug, Clone, PartialEq)]
15509pub struct Ellipse {
15510 pub name: String,
15511 pub position: Axis2PlacementRef,
15512 pub semi_axis_1: f64,
15513 pub semi_axis_2: f64,
15514}
15515
15516#[derive(Debug, Clone, PartialEq)]
15517pub struct Expression {}
15518
15519#[derive(Debug, Clone, PartialEq)]
15520pub struct ExternalIdentificationAssignment {
15521 pub assigned_id: String,
15522 pub role: IdentificationRoleRef,
15523 pub source: ExternalSourceRef,
15524}
15525
15526#[derive(Debug, Clone, PartialEq)]
15527pub struct ExternalSource {
15528 pub source_id: StringSelectValue,
15529}
15530
15531#[derive(Debug, Clone, PartialEq)]
15532pub struct ExternallyDefinedCharacterGlyph {
15533 pub item_id: StringSelectValue,
15534 pub source: ExternalSourceRef,
15535}
15536
15537#[derive(Debug, Clone, PartialEq)]
15538pub struct ExternallyDefinedCurveFont {
15539 pub item_id: StringSelectValue,
15540 pub source: ExternalSourceRef,
15541}
15542
15543#[derive(Debug, Clone, PartialEq)]
15544pub struct ExternallyDefinedHatchStyle {
15545 pub item_id: StringSelectValue,
15546 pub source: ExternalSourceRef,
15547 pub name: String,
15548}
15549
15550#[derive(Debug, Clone, PartialEq)]
15551pub struct ExternallyDefinedItem {
15552 pub item_id: StringSelectValue,
15553 pub source: ExternalSourceRef,
15554}
15555
15556#[derive(Debug, Clone, PartialEq)]
15557pub struct ExternallyDefinedStyle {
15558 pub item_id: StringSelectValue,
15559 pub source: ExternalSourceRef,
15560}
15561
15562#[derive(Debug, Clone, PartialEq)]
15563pub struct ExternallyDefinedSymbol {
15564 pub item_id: StringSelectValue,
15565 pub source: ExternalSourceRef,
15566}
15567
15568#[derive(Debug, Clone, PartialEq)]
15569pub struct ExternallyDefinedTextFont {
15570 pub item_id: StringSelectValue,
15571 pub source: ExternalSourceRef,
15572}
15573
15574#[derive(Debug, Clone, PartialEq)]
15575pub struct ExternallyDefinedTile {
15576 pub item_id: StringSelectValue,
15577 pub source: ExternalSourceRef,
15578}
15579
15580#[derive(Debug, Clone, PartialEq)]
15581pub struct ExternallyDefinedTileStyle {
15582 pub item_id: StringSelectValue,
15583 pub source: ExternalSourceRef,
15584 pub name: String,
15585}
15586
15587#[derive(Debug, Clone, PartialEq)]
15588pub struct Face {
15589 pub name: String,
15590 pub bounds: Vec<FaceBoundRef>,
15591}
15592
15593#[derive(Debug, Clone, PartialEq)]
15594pub struct FaceBound {
15595 pub name: String,
15596 pub bound: LoopRef,
15597 pub orientation: bool,
15598}
15599
15600#[derive(Debug, Clone, PartialEq)]
15601pub struct FaceOuterBound {
15602 pub name: String,
15603 pub bound: LoopRef,
15604 pub orientation: bool,
15605}
15606
15607#[derive(Debug, Clone, PartialEq)]
15608pub struct FaceSurface {
15609 pub name: String,
15610 pub bounds: Vec<FaceBoundRef>,
15611 pub face_geometry: SurfaceRef,
15612 pub same_sense: bool,
15613}
15614
15615#[derive(Debug, Clone, PartialEq)]
15616pub struct FeatureForDatumTargetRelationship {
15617 pub name: String,
15618 pub description: Option<String>,
15619 pub relating_shape_aspect: ShapeAspectRef,
15620 pub related_shape_aspect: ShapeAspectRef,
15621}
15622
15623#[derive(Debug, Clone, PartialEq)]
15624pub struct FillAreaStyle {
15625 pub name: String,
15626 pub fill_styles: Vec<FillStyleSelectRef>,
15627}
15628
15629#[derive(Debug, Clone, PartialEq)]
15630pub struct FillAreaStyleColour {
15631 pub name: String,
15632 pub fill_colour: ColourRef,
15633}
15634
15635#[derive(Debug, Clone, PartialEq)]
15636pub struct FillAreaStyleHatching {
15637 pub name: String,
15638 pub hatch_line_appearance: CurveStyleRef,
15639 pub start_of_next_hatch_line: OneDirectionRepeatFactorRef,
15640 pub point_of_reference_hatch_line: CartesianPointRef,
15641 pub pattern_start: CartesianPointRef,
15642 pub hatch_line_angle: f64,
15643}
15644
15645#[derive(Debug, Clone, PartialEq)]
15646pub struct FillAreaStyleTileColouredRegion {
15647 pub name: String,
15648 pub closed_curve: CurveOrAnnotationCurveOccurrenceRef,
15649 pub region_colour: ColourRef,
15650}
15651
15652#[derive(Debug, Clone, PartialEq)]
15653pub struct FillAreaStyleTileCurveWithStyle {
15654 pub name: String,
15655 pub styled_curve: AnnotationCurveOccurrenceRef,
15656}
15657
15658#[derive(Debug, Clone, PartialEq)]
15659pub struct FillAreaStyleTileSymbolWithStyle {
15660 pub name: String,
15661 pub symbol: AnnotationSymbolOccurrenceRef,
15662}
15663
15664#[derive(Debug, Clone, PartialEq)]
15665pub struct FillAreaStyleTiles {
15666 pub name: String,
15667 pub tiling_pattern: TwoDirectionRepeatFactorRef,
15668 pub tiles: Vec<FillAreaStyleTileShapeSelectRef>,
15669 pub tiling_scale: f64,
15670}
15671
15672#[derive(Debug, Clone, PartialEq)]
15673pub struct FlatnessTolerance {
15674 pub name: String,
15675 pub description: Option<String>,
15676 pub magnitude: Option<LengthMeasureWithUnitRef>,
15677 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15678}
15679
15680#[derive(Debug, Clone, PartialEq)]
15681pub struct FoundedItem {}
15682
15683#[derive(Debug, Clone, PartialEq)]
15684pub struct FunctionallyDefinedTransformation {
15685 pub name: String,
15686 pub description: Option<String>,
15687}
15688
15689#[derive(Debug, Clone, PartialEq)]
15690pub struct GeneralDatumReference {
15691 pub name: String,
15692 pub description: Option<String>,
15693 pub of_shape: ProductDefinitionShapeRef,
15694 pub product_definitional: Logical,
15695 pub base: DatumOrCommonDatumRef,
15696 pub modifiers: Option<Vec<DatumReferenceModifierRef>>,
15697}
15698
15699#[derive(Debug, Clone, PartialEq)]
15700pub struct GeneralProperty {
15701 pub id: String,
15702 pub name: String,
15703 pub description: Option<String>,
15704}
15705
15706#[derive(Debug, Clone, PartialEq)]
15707pub struct GeneralPropertyAssociation {
15708 pub name: String,
15709 pub description: Option<String>,
15710 pub base_definition: GeneralPropertyRef,
15711 pub derived_definition: DerivedPropertySelectRef,
15712}
15713
15714#[derive(Debug, Clone, PartialEq)]
15715pub struct GenericExpression {}
15716
15717#[derive(Debug, Clone, PartialEq)]
15718pub struct GenericLiteral {}
15719
15720#[derive(Debug, Clone, PartialEq)]
15721pub struct GenericProductDefinitionReference {
15722 pub source: ExternalSourceRef,
15723}
15724
15725#[derive(Debug, Clone, PartialEq)]
15726pub struct GeometricCurveSet {
15727 pub name: String,
15728 pub elements: Vec<GeometricSetSelectRef>,
15729}
15730
15731#[derive(Debug, Clone, PartialEq)]
15732pub struct GeometricItemSpecificUsage {
15733 pub name: String,
15734 pub description: Option<String>,
15735 pub definition: GeometricItemSpecificUsageSelectRef,
15736 pub used_representation: ShapeModelRef,
15737 pub identified_item: GeometricModelItemRef,
15738}
15739
15740#[derive(Debug, Clone, PartialEq)]
15741pub struct GeometricRepresentationContext {
15742 pub context_identifier: String,
15743 pub context_type: String,
15744 pub coordinate_space_dimension: i64,
15745}
15746
15747#[derive(Debug, Clone, PartialEq)]
15748pub struct GeometricRepresentationItem {
15749 pub name: String,
15750}
15751
15752#[derive(Debug, Clone, PartialEq)]
15753pub struct GeometricSet {
15754 pub name: String,
15755 pub elements: Vec<GeometricSetSelectRef>,
15756}
15757
15758#[derive(Debug, Clone, PartialEq)]
15759pub struct GeometricTolerance {
15760 pub name: String,
15761 pub description: Option<String>,
15762 pub magnitude: Option<LengthMeasureWithUnitRef>,
15763 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15764}
15765
15766#[derive(Debug, Clone, PartialEq)]
15767pub struct GeometricToleranceRelationship {
15768 pub name: String,
15769 pub description: String,
15770 pub relating_geometric_tolerance: GeometricToleranceRef,
15771 pub related_geometric_tolerance: GeometricToleranceRef,
15772}
15773
15774#[derive(Debug, Clone, PartialEq)]
15775pub struct GeometricToleranceWithDatumReference {
15776 pub name: String,
15777 pub description: Option<String>,
15778 pub magnitude: Option<LengthMeasureWithUnitRef>,
15779 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15780 pub datum_system: Vec<DatumSystemOrReferenceRef>,
15781}
15782
15783#[derive(Debug, Clone, PartialEq)]
15784pub struct GeometricToleranceWithDefinedAreaUnit {
15785 pub name: String,
15786 pub description: Option<String>,
15787 pub magnitude: Option<LengthMeasureWithUnitRef>,
15788 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15789 pub unit_size: LengthOrPlaneAngleMeasureWithUnitSelectRef,
15790 pub area_type: AreaUnitType,
15791 pub second_unit_size: Option<LengthOrPlaneAngleMeasureWithUnitSelectRef>,
15792}
15793
15794#[derive(Debug, Clone, PartialEq)]
15795pub struct GeometricToleranceWithDefinedUnit {
15796 pub name: String,
15797 pub description: Option<String>,
15798 pub magnitude: Option<LengthMeasureWithUnitRef>,
15799 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15800 pub unit_size: LengthOrPlaneAngleMeasureWithUnitSelectRef,
15801}
15802
15803#[derive(Debug, Clone, PartialEq)]
15804pub struct GeometricToleranceWithMaximumTolerance {
15805 pub name: String,
15806 pub description: Option<String>,
15807 pub magnitude: Option<LengthMeasureWithUnitRef>,
15808 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15809 pub modifiers: Vec<GeometricToleranceModifier>,
15810 pub maximum_upper_tolerance: LengthMeasureWithUnitRef,
15811}
15812
15813#[derive(Debug, Clone, PartialEq)]
15814pub struct GeometricToleranceWithModifiers {
15815 pub name: String,
15816 pub description: Option<String>,
15817 pub magnitude: Option<LengthMeasureWithUnitRef>,
15818 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15819 pub modifiers: Vec<GeometricToleranceModifier>,
15820}
15821
15822#[derive(Debug, Clone, PartialEq)]
15823pub struct GeometricallyBoundedSurfaceShapeRepresentation {
15824 pub name: String,
15825 pub items: Vec<RepresentationItemRef>,
15826 pub context_of_items: RepresentationContextRef,
15827}
15828
15829#[derive(Debug, Clone, PartialEq)]
15830pub struct GeometricallyBoundedWireframeShapeRepresentation {
15831 pub name: String,
15832 pub items: Vec<RepresentationItemRef>,
15833 pub context_of_items: RepresentationContextRef,
15834}
15835
15836#[derive(Debug, Clone, PartialEq)]
15837pub struct GlobalUncertaintyAssignedContext {
15838 pub context_identifier: String,
15839 pub context_type: String,
15840 pub uncertainty: Vec<UncertaintyMeasureWithUnitRef>,
15841}
15842
15843#[derive(Debug, Clone, PartialEq)]
15844pub struct GlobalUnitAssignedContext {
15845 pub context_identifier: String,
15846 pub context_type: String,
15847 pub units: Vec<UnitRef>,
15848}
15849
15850#[derive(Debug, Clone, PartialEq)]
15851pub struct Group {
15852 pub name: String,
15853 pub description: Option<String>,
15854}
15855
15856#[derive(Debug, Clone, PartialEq)]
15857pub struct GroupAssignment {
15858 pub assigned_group: GroupRef,
15859}
15860
15861#[derive(Debug, Clone, PartialEq)]
15862pub struct Hyperbola {
15863 pub name: String,
15864 pub position: Axis2PlacementRef,
15865 pub semi_axis: f64,
15866 pub semi_imag_axis: f64,
15867}
15868
15869#[derive(Debug, Clone, PartialEq)]
15870pub struct IdAttribute {
15871 pub attribute_value: String,
15872 pub identified_item: IdAttributeSelectRef,
15873}
15874
15875#[derive(Debug, Clone, PartialEq)]
15876pub struct IdentificationAssignment {
15877 pub assigned_id: String,
15878 pub role: IdentificationRoleRef,
15879}
15880
15881#[derive(Debug, Clone, PartialEq)]
15882pub struct IdentificationRole {
15883 pub name: String,
15884 pub description: Option<String>,
15885}
15886
15887#[derive(Debug, Clone, PartialEq)]
15888pub struct IntLiteral {
15889 pub the_value: i64,
15890}
15891
15892#[derive(Debug, Clone, PartialEq)]
15893pub struct IntegerRepresentationItem {
15894 pub name: String,
15895 pub the_value: i64,
15896}
15897
15898#[derive(Debug, Clone, PartialEq)]
15899pub struct IntersectionCurve {
15900 pub name: String,
15901 pub curve_3d: CurveRef,
15902 pub associated_geometry: Vec<PcurveOrSurfaceRef>,
15903 pub master_representation: PreferredSurfaceCurveRepresentation,
15904}
15905
15906#[derive(Debug, Clone, PartialEq)]
15907pub struct Invisibility {
15908 pub invisible_items: Vec<InvisibleItemRef>,
15909}
15910
15911#[derive(Debug, Clone, PartialEq)]
15912pub struct ItemDefinedTransformation {
15913 pub name: String,
15914 pub description: Option<String>,
15915 pub transform_item_1: RepresentationItemRef,
15916 pub transform_item_2: RepresentationItemRef,
15917}
15918
15919#[derive(Debug, Clone, PartialEq)]
15920pub struct ItemIdentifiedRepresentationUsage {
15921 pub name: String,
15922 pub description: Option<String>,
15923 pub definition: ItemIdentifiedRepresentationUsageDefinitionRef,
15924 pub used_representation: RepresentationRef,
15925 pub identified_item: ItemIdentifiedRepresentationUsageSelectRef,
15926}
15927
15928#[derive(Debug, Clone, PartialEq)]
15929pub struct LeaderCurve {
15930 pub name: String,
15931 pub styles: Vec<PresentationStyleAssignmentRef>,
15932 pub item: CurveOrCurveSetRef,
15933}
15934
15935#[derive(Debug, Clone, PartialEq)]
15936pub struct LeaderDirectedCallout {
15937 pub name: String,
15938 pub contents: Vec<DraughtingCalloutElementRef>,
15939}
15940
15941#[derive(Debug, Clone, PartialEq)]
15942pub struct LeaderTerminator {
15943 pub name: String,
15944 pub styles: Vec<PresentationStyleAssignmentRef>,
15945 pub item: AnnotationSymbolOccurrenceItemRef,
15946 pub annotated_curve: AnnotationCurveOccurrenceRef,
15947}
15948
15949#[derive(Debug, Clone, PartialEq)]
15950pub struct LengthMeasureWithUnit {
15951 pub value_component: MeasureValue,
15952 pub unit_component: UnitRef,
15953}
15954
15955#[derive(Debug, Clone, PartialEq)]
15956pub struct LengthUnit {
15957 pub dimensions: DimensionalExponentsRef,
15958}
15959
15960#[derive(Debug, Clone, PartialEq)]
15961pub struct LimitsAndFits {
15962 pub form_variance: String,
15963 pub zone_variance: String,
15964 pub grade: String,
15965 pub source: String,
15966}
15967
15968#[derive(Debug, Clone, PartialEq)]
15969pub struct Line {
15970 pub name: String,
15971 pub pnt: CartesianPointRef,
15972 pub dir: VectorRef,
15973}
15974
15975#[derive(Debug, Clone, PartialEq)]
15976pub struct LineProfileTolerance {
15977 pub name: String,
15978 pub description: Option<String>,
15979 pub magnitude: Option<LengthMeasureWithUnitRef>,
15980 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
15981}
15982
15983#[derive(Debug, Clone, PartialEq)]
15984pub struct LiteralNumber {
15985 pub the_value: f64,
15986}
15987
15988#[derive(Debug, Clone, PartialEq)]
15989pub struct LocalTime {
15990 pub hour_component: i64,
15991 pub minute_component: Option<i64>,
15992 pub second_component: Option<f64>,
15993 pub zone: CoordinatedUniversalTimeOffsetRef,
15994}
15995
15996#[derive(Debug, Clone, PartialEq)]
15997pub struct Loop {
15998 pub name: String,
15999}
16000
16001#[derive(Debug, Clone, PartialEq)]
16002pub struct MakeFromUsageOption {
16003 pub id: String,
16004 pub name: String,
16005 pub description: Option<String>,
16006 pub relating_product_definition: ProductDefinitionOrReferenceRef,
16007 pub related_product_definition: ProductDefinitionOrReferenceRef,
16008 pub ranking: i64,
16009 pub ranking_rationale: String,
16010 pub quantity: MeasureWithUnitRef,
16011}
16012
16013#[derive(Debug, Clone, PartialEq)]
16014pub struct ManifoldSolidBrep {
16015 pub name: String,
16016 pub outer: ClosedShellRef,
16017}
16018
16019#[derive(Debug, Clone, PartialEq)]
16020pub struct ManifoldSurfaceShapeRepresentation {
16021 pub name: String,
16022 pub items: Vec<RepresentationItemRef>,
16023 pub context_of_items: RepresentationContextRef,
16024}
16025
16026#[derive(Debug, Clone, PartialEq)]
16027pub struct MappedItem {
16028 pub name: String,
16029 pub mapping_source: RepresentationMapRef,
16030 pub mapping_target: RepresentationItemRef,
16031}
16032
16033#[derive(Debug, Clone, PartialEq)]
16034pub struct MassMeasureWithUnit {
16035 pub value_component: MeasureValue,
16036 pub unit_component: UnitRef,
16037}
16038
16039#[derive(Debug, Clone, PartialEq)]
16040pub struct MassUnit {
16041 pub dimensions: DimensionalExponentsRef,
16042}
16043
16044#[derive(Debug, Clone, PartialEq)]
16045pub struct MeasureQualification {
16046 pub name: String,
16047 pub description: String,
16048 pub qualified_measure: MeasureWithUnitRef,
16049 pub qualifiers: Vec<ValueQualifierRef>,
16050}
16051
16052#[derive(Debug, Clone, PartialEq)]
16053pub struct MeasureRepresentationItem {
16054 pub name: String,
16055 pub value_component: MeasureValue,
16056 pub unit_component: UnitRef,
16057}
16058
16059#[derive(Debug, Clone, PartialEq)]
16060pub struct MeasureWithUnit {
16061 pub value_component: MeasureValue,
16062 pub unit_component: UnitRef,
16063}
16064
16065#[derive(Debug, Clone, PartialEq)]
16066pub struct MechanicalContext {
16067 pub name: String,
16068 pub frame_of_reference: ApplicationContextRef,
16069 pub discipline_type: String,
16070}
16071
16072#[derive(Debug, Clone, PartialEq)]
16073pub struct MechanicalDesignAndDraughtingRelationship {
16074 pub name: String,
16075 pub description: Option<String>,
16076 pub rep_1: MechanicalDesignAndDraughtingRelationshipSelectRef,
16077 pub rep_2: MechanicalDesignAndDraughtingRelationshipSelectRef,
16078}
16079
16080#[derive(Debug, Clone, PartialEq)]
16081pub struct MechanicalDesignGeometricPresentationRepresentation {
16082 pub name: String,
16083 pub items: Vec<RepresentationItemRef>,
16084 pub context_of_items: RepresentationContextRef,
16085}
16086
16087#[derive(Debug, Clone, PartialEq)]
16088pub struct MechanicalDesignPresentationRepresentationWithDraughting {
16089 pub name: String,
16090 pub items: Vec<RepresentationItemRef>,
16091 pub context_of_items: RepresentationContextRef,
16092}
16093
16094#[derive(Debug, Clone, PartialEq)]
16095pub struct MechanicalDesignShadedPresentationRepresentation {
16096 pub name: String,
16097 pub items: Vec<RepresentationItemRef>,
16098 pub context_of_items: RepresentationContextRef,
16099}
16100
16101#[derive(Debug, Clone, PartialEq)]
16102pub struct ModelGeometricView {
16103 pub name: String,
16104 pub description: Option<String>,
16105 pub item: RepresentationItemRef,
16106 pub rep: RepresentationRef,
16107}
16108
16109#[derive(Debug, Clone, PartialEq)]
16110pub struct ModifiedGeometricTolerance {
16111 pub name: String,
16112 pub description: Option<String>,
16113 pub magnitude: Option<LengthMeasureWithUnitRef>,
16114 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
16115 pub modifier: LimitCondition,
16116}
16117
16118#[derive(Debug, Clone, PartialEq)]
16119pub struct NameAttribute {
16120 pub attribute_value: String,
16121 pub named_item: NameAttributeSelectRef,
16122}
16123
16124#[derive(Debug, Clone, PartialEq)]
16125pub struct NamedUnit {
16126 pub dimensions: Option<DimensionalExponentsRef>,
16127}
16128
16129#[derive(Debug, Clone, PartialEq)]
16130pub struct NextAssemblyUsageOccurrence {
16131 pub id: String,
16132 pub name: String,
16133 pub description: Option<String>,
16134 pub relating_product_definition: ProductDefinitionOrReferenceRef,
16135 pub related_product_definition: ProductDefinitionOrReferenceRef,
16136 pub reference_designator: Option<String>,
16137}
16138
16139#[derive(Debug, Clone, PartialEq)]
16140pub struct NumericExpression {}
16141
16142#[derive(Debug, Clone, PartialEq)]
16143pub struct ObjectRole {
16144 pub name: String,
16145 pub description: Option<String>,
16146}
16147
16148#[derive(Debug, Clone, PartialEq)]
16149pub struct OffsetSurface {
16150 pub name: String,
16151 pub basis_surface: SurfaceRef,
16152 pub distance: f64,
16153 pub self_intersect: Logical,
16154}
16155
16156#[derive(Debug, Clone, PartialEq)]
16157pub struct OneDirectionRepeatFactor {
16158 pub name: String,
16159 pub repeat_factor: VectorRef,
16160}
16161
16162#[derive(Debug, Clone, PartialEq)]
16163pub struct OpenShell {
16164 pub name: String,
16165 pub cfs_faces: Vec<FaceRef>,
16166}
16167
16168#[derive(Debug, Clone, PartialEq)]
16169pub struct Organization {
16170 pub id: Option<String>,
16171 pub name: String,
16172 pub description: Option<String>,
16173}
16174
16175#[derive(Debug, Clone, PartialEq)]
16176pub struct OrganizationRelationship {
16177 pub name: String,
16178 pub description: Option<String>,
16179 pub relating_organization: OrganizationRef,
16180 pub related_organization: OrganizationRef,
16181}
16182
16183#[derive(Debug, Clone, PartialEq)]
16184pub struct OrganizationRole {
16185 pub name: String,
16186}
16187
16188#[derive(Debug, Clone, PartialEq)]
16189pub struct OrganizationType {
16190 pub id: String,
16191 pub name: String,
16192 pub description: Option<String>,
16193}
16194
16195#[derive(Debug, Clone, PartialEq)]
16196pub struct OrganizationTypeRole {
16197 pub id: String,
16198 pub name: String,
16199 pub description: Option<String>,
16200}
16201
16202#[derive(Debug, Clone, PartialEq)]
16203pub struct OrganizationalAddress {
16204 pub internal_location: Option<String>,
16205 pub street_number: Option<String>,
16206 pub street: Option<String>,
16207 pub postal_box: Option<String>,
16208 pub town: Option<String>,
16209 pub region: Option<String>,
16210 pub postal_code: Option<String>,
16211 pub country: Option<String>,
16212 pub facsimile_number: Option<String>,
16213 pub telephone_number: Option<String>,
16214 pub electronic_mail_address: Option<String>,
16215 pub telex_number: Option<String>,
16216 pub organizations: Vec<OrganizationRef>,
16217 pub description: Option<String>,
16218}
16219
16220#[derive(Debug, Clone, PartialEq)]
16221pub struct OrganizationalProject {
16222 pub name: String,
16223 pub description: Option<String>,
16224 pub responsible_organizations: Vec<OrganizationRef>,
16225}
16226
16227#[derive(Debug, Clone, PartialEq)]
16228pub struct OrganizationalProjectRelationship {
16229 pub name: String,
16230 pub description: Option<String>,
16231 pub relating_organizational_project: OrganizationalProjectRef,
16232 pub related_organizational_project: OrganizationalProjectRef,
16233}
16234
16235#[derive(Debug, Clone, PartialEq)]
16236pub struct OrganizationalProjectRole {
16237 pub name: String,
16238 pub description: Option<String>,
16239}
16240
16241#[derive(Debug, Clone, PartialEq)]
16242pub struct OrientedClosedShell {
16243 pub name: String,
16244 pub closed_shell_element: ClosedShellRef,
16245 pub orientation: bool,
16246}
16247
16248#[derive(Debug, Clone, PartialEq)]
16249pub struct OrientedEdge {
16250 pub name: String,
16251 pub edge_element: EdgeRef,
16252 pub orientation: bool,
16253}
16254
16255#[derive(Debug, Clone, PartialEq)]
16256pub struct OverRidingStyledItem {
16257 pub name: String,
16258 pub styles: Vec<PresentationStyleAssignmentRef>,
16259 pub item: StyledItemTargetRef,
16260 pub over_ridden_style: StyledItemRef,
16261}
16262
16263#[derive(Debug, Clone, PartialEq)]
16264pub struct ParallelismTolerance {
16265 pub name: String,
16266 pub description: Option<String>,
16267 pub magnitude: Option<LengthMeasureWithUnitRef>,
16268 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
16269 pub datum_system: Vec<DatumSystemOrReferenceRef>,
16270}
16271
16272#[derive(Debug, Clone, PartialEq)]
16273pub struct ParametricRepresentationContext {
16274 pub context_identifier: String,
16275 pub context_type: String,
16276}
16277
16278#[derive(Debug, Clone, PartialEq)]
16279pub struct Path {
16280 pub name: String,
16281 pub edge_list: Vec<OrientedEdgeRef>,
16282}
16283
16284#[derive(Debug, Clone, PartialEq)]
16285pub struct Pcurve {
16286 pub name: String,
16287 pub basis_surface: SurfaceRef,
16288 pub reference_to_curve: DefinitionalRepresentationRef,
16289}
16290
16291#[derive(Debug, Clone, PartialEq)]
16292pub struct PerpendicularityTolerance {
16293 pub name: String,
16294 pub description: Option<String>,
16295 pub magnitude: Option<LengthMeasureWithUnitRef>,
16296 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
16297 pub datum_system: Vec<DatumSystemOrReferenceRef>,
16298}
16299
16300#[derive(Debug, Clone, PartialEq)]
16301pub struct Person {
16302 pub id: String,
16303 pub last_name: Option<String>,
16304 pub first_name: Option<String>,
16305 pub middle_names: Option<Vec<String>>,
16306 pub prefix_titles: Option<Vec<String>>,
16307 pub suffix_titles: Option<Vec<String>>,
16308}
16309
16310#[derive(Debug, Clone, PartialEq)]
16311pub struct PersonAndOrganization {
16312 pub the_person: PersonRef,
16313 pub the_organization: OrganizationRef,
16314}
16315
16316#[derive(Debug, Clone, PartialEq)]
16317pub struct PersonAndOrganizationAddress {
16318 pub internal_location: Option<String>,
16319 pub street_number: Option<String>,
16320 pub street: Option<String>,
16321 pub postal_box: Option<String>,
16322 pub town: Option<String>,
16323 pub region: Option<String>,
16324 pub postal_code: Option<String>,
16325 pub country: Option<String>,
16326 pub facsimile_number: Option<String>,
16327 pub telephone_number: Option<String>,
16328 pub electronic_mail_address: Option<String>,
16329 pub telex_number: Option<String>,
16330 pub organizations: Vec<OrganizationRef>,
16331 pub description: Option<String>,
16332 pub people: Vec<PersonRef>,
16333 pub description_1: Option<String>,
16334}
16335
16336#[derive(Debug, Clone, PartialEq)]
16337pub struct PersonAndOrganizationAssignment {
16338 pub assigned_person_and_organization: PersonAndOrganizationRef,
16339 pub role: PersonAndOrganizationRoleRef,
16340}
16341
16342#[derive(Debug, Clone, PartialEq)]
16343pub struct PersonAndOrganizationRole {
16344 pub name: String,
16345}
16346
16347#[derive(Debug, Clone, PartialEq)]
16348pub struct PersonalAddress {
16349 pub internal_location: Option<String>,
16350 pub street_number: Option<String>,
16351 pub street: Option<String>,
16352 pub postal_box: Option<String>,
16353 pub town: Option<String>,
16354 pub region: Option<String>,
16355 pub postal_code: Option<String>,
16356 pub country: Option<String>,
16357 pub facsimile_number: Option<String>,
16358 pub telephone_number: Option<String>,
16359 pub electronic_mail_address: Option<String>,
16360 pub telex_number: Option<String>,
16361 pub people: Vec<PersonRef>,
16362 pub description: Option<String>,
16363}
16364
16365#[derive(Debug, Clone, PartialEq)]
16366pub struct PlacedDatumTargetFeature {
16367 pub name: String,
16368 pub description: Option<String>,
16369 pub of_shape: ProductDefinitionShapeRef,
16370 pub product_definitional: Logical,
16371 pub target_id: String,
16372}
16373
16374#[derive(Debug, Clone, PartialEq)]
16375pub struct Placement {
16376 pub name: String,
16377 pub location: CartesianPointRef,
16378}
16379
16380#[derive(Debug, Clone, PartialEq)]
16381pub struct PlanarBox {
16382 pub name: String,
16383 pub size_in_x: f64,
16384 pub size_in_y: f64,
16385 pub placement: Axis2PlacementRef,
16386}
16387
16388#[derive(Debug, Clone, PartialEq)]
16389pub struct PlanarExtent {
16390 pub name: String,
16391 pub size_in_x: f64,
16392 pub size_in_y: f64,
16393}
16394
16395#[derive(Debug, Clone, PartialEq)]
16396pub struct Plane {
16397 pub name: String,
16398 pub position: Axis2Placement3dRef,
16399}
16400
16401#[derive(Debug, Clone, PartialEq)]
16402pub struct PlaneAngleMeasureWithUnit {
16403 pub value_component: MeasureValue,
16404 pub unit_component: UnitRef,
16405}
16406
16407#[derive(Debug, Clone, PartialEq)]
16408pub struct PlaneAngleUnit {
16409 pub dimensions: DimensionalExponentsRef,
16410}
16411
16412#[derive(Debug, Clone, PartialEq)]
16413pub struct PlusMinusTolerance {
16414 pub range: ToleranceMethodDefinitionRef,
16415 pub toleranced_dimension: DimensionalCharacteristicRef,
16416}
16417
16418#[derive(Debug, Clone, PartialEq)]
16419pub struct Point {
16420 pub name: String,
16421}
16422
16423#[derive(Debug, Clone, PartialEq)]
16424pub struct PointStyle {
16425 pub name: String,
16426 pub marker: Option<MarkerSelectRef>,
16427 pub marker_size: Option<SizeSelectRef>,
16428 pub marker_colour: Option<ColourRef>,
16429}
16430
16431#[derive(Debug, Clone, PartialEq)]
16432pub struct PolyLoop {
16433 pub name: String,
16434 pub polygon: Vec<CartesianPointRef>,
16435}
16436
16437#[derive(Debug, Clone, PartialEq)]
16438pub struct Polyline {
16439 pub name: String,
16440 pub points: Vec<CartesianPointRef>,
16441}
16442
16443#[derive(Debug, Clone, PartialEq)]
16444pub struct PositionTolerance {
16445 pub name: String,
16446 pub description: Option<String>,
16447 pub magnitude: Option<LengthMeasureWithUnitRef>,
16448 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
16449}
16450
16451#[derive(Debug, Clone, PartialEq)]
16452pub struct PreDefinedCharacterGlyph {
16453 pub name: String,
16454}
16455
16456#[derive(Debug, Clone, PartialEq)]
16457pub struct PreDefinedColour {
16458 pub name: String,
16459}
16460
16461#[derive(Debug, Clone, PartialEq)]
16462pub struct PreDefinedCurveFont {
16463 pub name: String,
16464}
16465
16466#[derive(Debug, Clone, PartialEq)]
16467pub struct PreDefinedItem {
16468 pub name: String,
16469}
16470
16471#[derive(Debug, Clone, PartialEq)]
16472pub struct PreDefinedMarker {
16473 pub name: String,
16474}
16475
16476#[derive(Debug, Clone, PartialEq)]
16477pub struct PreDefinedPointMarkerSymbol {
16478 pub name: String,
16479}
16480
16481#[derive(Debug, Clone, PartialEq)]
16482pub struct PreDefinedPresentationStyle {
16483 pub name: String,
16484}
16485
16486#[derive(Debug, Clone, PartialEq)]
16487pub struct PreDefinedSurfaceSideStyle {
16488 pub name: String,
16489}
16490
16491#[derive(Debug, Clone, PartialEq)]
16492pub struct PreDefinedSymbol {
16493 pub name: String,
16494}
16495
16496#[derive(Debug, Clone, PartialEq)]
16497pub struct PreDefinedTerminatorSymbol {
16498 pub name: String,
16499}
16500
16501#[derive(Debug, Clone, PartialEq)]
16502pub struct PreDefinedTextFont {
16503 pub name: String,
16504}
16505
16506#[derive(Debug, Clone, PartialEq)]
16507pub struct PreDefinedTile {
16508 pub name: String,
16509}
16510
16511#[derive(Debug, Clone, PartialEq)]
16512pub struct PrecisionQualifier {
16513 pub precision_value: i64,
16514}
16515
16516#[derive(Debug, Clone, PartialEq)]
16517pub struct PresentationArea {
16518 pub name: String,
16519 pub items: Vec<RepresentationItemRef>,
16520 pub context_of_items: RepresentationContextRef,
16521}
16522
16523#[derive(Debug, Clone, PartialEq)]
16524pub struct PresentationLayerAssignment {
16525 pub name: String,
16526 pub description: String,
16527 pub assigned_items: Vec<LayeredItemRef>,
16528}
16529
16530#[derive(Debug, Clone, PartialEq)]
16531pub struct PresentationRepresentation {
16532 pub name: String,
16533 pub items: Vec<RepresentationItemRef>,
16534 pub context_of_items: RepresentationContextRef,
16535}
16536
16537#[derive(Debug, Clone, PartialEq)]
16538pub struct PresentationSet {}
16539
16540#[derive(Debug, Clone, PartialEq)]
16541pub struct PresentationSize {
16542 pub unit: PresentationSizeAssignmentSelectRef,
16543 pub size: PlanarBoxRef,
16544}
16545
16546#[derive(Debug, Clone, PartialEq)]
16547pub struct PresentationStyleAssignment {
16548 pub styles: Vec<PresentationStyleSelectRef>,
16549}
16550
16551#[derive(Debug, Clone, PartialEq)]
16552pub struct PresentationStyleByContext {
16553 pub styles: Vec<PresentationStyleSelectRef>,
16554 pub style_context: StyleContextSelectRef,
16555}
16556
16557#[derive(Debug, Clone, PartialEq)]
16558pub struct PresentationView {
16559 pub name: String,
16560 pub items: Vec<RepresentationItemRef>,
16561 pub context_of_items: RepresentationContextRef,
16562}
16563
16564#[derive(Debug, Clone, PartialEq)]
16565pub struct PresentedItem {}
16566
16567#[derive(Debug, Clone, PartialEq)]
16568pub struct PresentedItemRepresentation {
16569 pub presentation: PresentationRepresentationSelectRef,
16570 pub item: PresentedItemRef,
16571}
16572
16573#[derive(Debug, Clone, PartialEq)]
16574pub struct Product {
16575 pub id: String,
16576 pub name: String,
16577 pub description: Option<String>,
16578 pub frame_of_reference: Vec<ProductContextRef>,
16579}
16580
16581#[derive(Debug, Clone, PartialEq)]
16582pub struct ProductCategory {
16583 pub name: String,
16584 pub description: Option<String>,
16585}
16586
16587#[derive(Debug, Clone, PartialEq)]
16588pub struct ProductCategoryRelationship {
16589 pub name: String,
16590 pub description: Option<String>,
16591 pub category: ProductCategoryRef,
16592 pub sub_category: ProductCategoryRef,
16593}
16594
16595#[derive(Debug, Clone, PartialEq)]
16596pub struct ProductConcept {
16597 pub id: String,
16598 pub name: String,
16599 pub description: Option<String>,
16600 pub market_context: ProductConceptContextRef,
16601}
16602
16603#[derive(Debug, Clone, PartialEq)]
16604pub struct ProductConceptContext {
16605 pub name: String,
16606 pub frame_of_reference: ApplicationContextRef,
16607 pub market_segment_type: String,
16608}
16609
16610#[derive(Debug, Clone, PartialEq)]
16611pub struct ProductConceptFeature {
16612 pub id: String,
16613 pub name: String,
16614 pub description: Option<String>,
16615}
16616
16617#[derive(Debug, Clone, PartialEq)]
16618pub struct ProductConceptFeatureCategory {
16619 pub name: String,
16620 pub description: Option<String>,
16621}
16622
16623#[derive(Debug, Clone, PartialEq)]
16624pub struct ProductContext {
16625 pub name: String,
16626 pub frame_of_reference: ApplicationContextRef,
16627 pub discipline_type: String,
16628}
16629
16630#[derive(Debug, Clone, PartialEq)]
16631pub struct ProductDefinition {
16632 pub id: String,
16633 pub description: Option<String>,
16634 pub formation: ProductDefinitionFormationRef,
16635 pub frame_of_reference: ProductDefinitionContextRef,
16636}
16637
16638#[derive(Debug, Clone, PartialEq)]
16639pub struct ProductDefinitionContext {
16640 pub name: String,
16641 pub frame_of_reference: ApplicationContextRef,
16642 pub life_cycle_stage: String,
16643}
16644
16645#[derive(Debug, Clone, PartialEq)]
16646pub struct ProductDefinitionContextAssociation {
16647 pub definition: ProductDefinitionRef,
16648 pub frame_of_reference: ProductDefinitionContextRef,
16649 pub role: ProductDefinitionContextRoleRef,
16650}
16651
16652#[derive(Debug, Clone, PartialEq)]
16653pub struct ProductDefinitionContextRole {
16654 pub name: String,
16655 pub description: Option<String>,
16656}
16657
16658#[derive(Debug, Clone, PartialEq)]
16659pub struct ProductDefinitionEffectivity {
16660 pub id: String,
16661 pub usage: ProductDefinitionRelationshipRef,
16662}
16663
16664#[derive(Debug, Clone, PartialEq)]
16665pub struct ProductDefinitionFormation {
16666 pub id: String,
16667 pub description: Option<String>,
16668 pub of_product: ProductRef,
16669}
16670
16671#[derive(Debug, Clone, PartialEq)]
16672pub struct ProductDefinitionFormationWithSpecifiedSource {
16673 pub id: String,
16674 pub description: Option<String>,
16675 pub of_product: ProductRef,
16676 pub make_or_buy: Source,
16677}
16678
16679#[derive(Debug, Clone, PartialEq)]
16680pub struct ProductDefinitionOccurrence {
16681 pub id: String,
16682 pub name: Option<String>,
16683 pub description: Option<String>,
16684 pub definition: Option<ProductDefinitionOrReferenceRef>,
16685 pub quantity: Option<MeasureWithUnitRef>,
16686}
16687
16688#[derive(Debug, Clone, PartialEq)]
16689pub struct ProductDefinitionRelationship {
16690 pub id: String,
16691 pub name: String,
16692 pub description: Option<String>,
16693 pub relating_product_definition: ProductDefinitionOrReferenceRef,
16694 pub related_product_definition: ProductDefinitionOrReferenceRef,
16695}
16696
16697#[derive(Debug, Clone, PartialEq)]
16698pub struct ProductDefinitionRelationshipRelationship {
16699 pub id: String,
16700 pub name: String,
16701 pub description: Option<String>,
16702 pub relating: ProductDefinitionRelationshipRef,
16703 pub related: ProductDefinitionRelationshipRef,
16704}
16705
16706#[derive(Debug, Clone, PartialEq)]
16707pub struct ProductDefinitionShape {
16708 pub name: String,
16709 pub description: Option<String>,
16710 pub definition: CharacterizedDefinitionRef,
16711}
16712
16713#[derive(Debug, Clone, PartialEq)]
16714pub struct ProductDefinitionSubstitute {
16715 pub description: Option<String>,
16716 pub context_relationship: ProductDefinitionRelationshipRef,
16717 pub substitute_definition: ProductDefinitionRef,
16718}
16719
16720#[derive(Debug, Clone, PartialEq)]
16721pub struct ProductDefinitionUsage {
16722 pub id: String,
16723 pub name: String,
16724 pub description: Option<String>,
16725 pub relating_product_definition: ProductDefinitionOrReferenceRef,
16726 pub related_product_definition: ProductDefinitionOrReferenceRef,
16727}
16728
16729#[derive(Debug, Clone, PartialEq)]
16730pub struct ProductDefinitionWithAssociatedDocuments {
16731 pub id: String,
16732 pub description: Option<String>,
16733 pub formation: ProductDefinitionFormationRef,
16734 pub frame_of_reference: ProductDefinitionContextRef,
16735 pub documentation_ids: Vec<DocumentRef>,
16736}
16737
16738#[derive(Debug, Clone, PartialEq)]
16739pub struct ProductRelatedProductCategory {
16740 pub name: String,
16741 pub description: Option<String>,
16742 pub products: Vec<ProductRef>,
16743}
16744
16745#[derive(Debug, Clone, PartialEq)]
16746pub struct ProjectedZoneDefinition {
16747 pub zone: ToleranceZoneRef,
16748 pub boundaries: Vec<ShapeAspectRef>,
16749 pub projection_end: ShapeAspectRef,
16750 pub projected_length: LengthMeasureWithUnitRef,
16751}
16752
16753#[derive(Debug, Clone, PartialEq)]
16754pub struct PropertyDefinition {
16755 pub name: String,
16756 pub description: Option<String>,
16757 pub definition: CharacterizedDefinitionRef,
16758}
16759
16760#[derive(Debug, Clone, PartialEq)]
16761pub struct PropertyDefinitionRelationship {
16762 pub name: String,
16763 pub description: String,
16764 pub relating_property_definition: PropertyDefinitionRef,
16765 pub related_property_definition: PropertyDefinitionRef,
16766}
16767
16768#[derive(Debug, Clone, PartialEq)]
16769pub struct PropertyDefinitionRepresentation {
16770 pub definition: RepresentedDefinitionRef,
16771 pub used_representation: RepresentationRef,
16772}
16773
16774#[derive(Debug, Clone, PartialEq)]
16775pub struct QualifiedRepresentationItem {
16776 pub name: String,
16777 pub qualifiers: Vec<ValueQualifierRef>,
16778}
16779
16780#[derive(Debug, Clone, PartialEq)]
16781pub struct QuasiUniformCurve {
16782 pub name: String,
16783 pub degree: i64,
16784 pub control_points_list: Vec<CartesianPointRef>,
16785 pub curve_form: BSplineCurveForm,
16786 pub closed_curve: Logical,
16787 pub self_intersect: Logical,
16788}
16789
16790#[derive(Debug, Clone, PartialEq)]
16791pub struct QuasiUniformSurface {
16792 pub name: String,
16793 pub u_degree: i64,
16794 pub v_degree: i64,
16795 pub control_points_list: Vec<Vec<CartesianPointRef>>,
16796 pub surface_form: BSplineSurfaceForm,
16797 pub u_closed: Logical,
16798 pub v_closed: Logical,
16799 pub self_intersect: Logical,
16800}
16801
16802#[derive(Debug, Clone, PartialEq)]
16803pub struct RatioMeasureWithUnit {
16804 pub value_component: MeasureValue,
16805 pub unit_component: UnitRef,
16806}
16807
16808#[derive(Debug, Clone, PartialEq)]
16809pub struct RatioUnit {
16810 pub dimensions: DimensionalExponentsRef,
16811}
16812
16813#[derive(Debug, Clone, PartialEq)]
16814pub struct RationalBSplineCurve {
16815 pub name: String,
16816 pub degree: i64,
16817 pub control_points_list: Vec<CartesianPointRef>,
16818 pub curve_form: BSplineCurveForm,
16819 pub closed_curve: Logical,
16820 pub self_intersect: Logical,
16821 pub weights_data: Vec<f64>,
16822}
16823
16824#[derive(Debug, Clone, PartialEq)]
16825pub struct RationalBSplineSurface {
16826 pub name: String,
16827 pub u_degree: i64,
16828 pub v_degree: i64,
16829 pub control_points_list: Vec<Vec<CartesianPointRef>>,
16830 pub surface_form: BSplineSurfaceForm,
16831 pub u_closed: Logical,
16832 pub v_closed: Logical,
16833 pub self_intersect: Logical,
16834 pub weights_data: Vec<Vec<f64>>,
16835}
16836
16837#[derive(Debug, Clone, PartialEq)]
16838pub struct RealLiteral {
16839 pub the_value: f64,
16840}
16841
16842#[derive(Debug, Clone, PartialEq)]
16843pub struct RealRepresentationItem {
16844 pub name: String,
16845 pub the_value: f64,
16846}
16847
16848#[derive(Debug, Clone, PartialEq)]
16849pub struct RepositionedTessellatedItem {
16850 pub name: String,
16851 pub location: Axis2Placement3dRef,
16852}
16853
16854#[derive(Debug, Clone, PartialEq)]
16855pub struct Representation {
16856 pub name: String,
16857 pub items: Vec<RepresentationItemRef>,
16858 pub context_of_items: RepresentationContextRef,
16859}
16860
16861#[derive(Debug, Clone, PartialEq)]
16862pub struct RepresentationContext {
16863 pub context_identifier: String,
16864 pub context_type: String,
16865}
16866
16867#[derive(Debug, Clone, PartialEq)]
16868pub struct RepresentationContextReference {
16869 pub context_identifier: String,
16870}
16871
16872#[derive(Debug, Clone, PartialEq)]
16873pub struct RepresentationItem {
16874 pub name: String,
16875}
16876
16877#[derive(Debug, Clone, PartialEq)]
16878pub struct RepresentationMap {
16879 pub mapping_origin: RepresentationItemRef,
16880 pub mapped_representation: RepresentationRef,
16881}
16882
16883#[derive(Debug, Clone, PartialEq)]
16884pub struct RepresentationReference {
16885 pub id: String,
16886 pub context_of_items: RepresentationContextReferenceRef,
16887}
16888
16889#[derive(Debug, Clone, PartialEq)]
16890pub struct RepresentationRelationship {
16891 pub name: String,
16892 pub description: Option<String>,
16893 pub rep_1: RepresentationOrRepresentationReferenceRef,
16894 pub rep_2: RepresentationOrRepresentationReferenceRef,
16895}
16896
16897#[derive(Debug, Clone, PartialEq)]
16898pub struct RepresentationRelationshipWithTransformation {
16899 pub name: String,
16900 pub description: Option<String>,
16901 pub rep_1: RepresentationOrRepresentationReferenceRef,
16902 pub rep_2: RepresentationOrRepresentationReferenceRef,
16903 pub transformation_operator: TransformationRef,
16904}
16905
16906#[derive(Debug, Clone, PartialEq)]
16907pub struct ResourceProperty {
16908 pub name: String,
16909 pub description: String,
16910 pub resource: CharacterizedResourceDefinitionRef,
16911}
16912
16913#[derive(Debug, Clone, PartialEq)]
16914pub struct ResourceRequirementType {
16915 pub name: String,
16916 pub description: String,
16917}
16918
16919#[derive(Debug, Clone, PartialEq)]
16920pub struct RoleAssociation {
16921 pub role: ObjectRoleRef,
16922 pub item_with_role: RoleSelectRef,
16923}
16924
16925#[derive(Debug, Clone, PartialEq)]
16926pub struct RoundnessTolerance {
16927 pub name: String,
16928 pub description: Option<String>,
16929 pub magnitude: Option<LengthMeasureWithUnitRef>,
16930 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
16931}
16932
16933#[derive(Debug, Clone, PartialEq)]
16934pub struct SeamCurve {
16935 pub name: String,
16936 pub curve_3d: CurveRef,
16937 pub associated_geometry: Vec<PcurveOrSurfaceRef>,
16938 pub master_representation: PreferredSurfaceCurveRepresentation,
16939}
16940
16941#[derive(Debug, Clone, PartialEq)]
16942pub struct SecurityClassification {
16943 pub name: String,
16944 pub purpose: String,
16945 pub security_level: SecurityClassificationLevelRef,
16946}
16947
16948#[derive(Debug, Clone, PartialEq)]
16949pub struct SecurityClassificationAssignment {
16950 pub assigned_security_classification: SecurityClassificationRef,
16951}
16952
16953#[derive(Debug, Clone, PartialEq)]
16954pub struct SecurityClassificationLevel {
16955 pub name: String,
16956}
16957
16958#[derive(Debug, Clone, PartialEq)]
16959pub struct ShapeAspect {
16960 pub name: String,
16961 pub description: Option<String>,
16962 pub of_shape: ProductDefinitionShapeRef,
16963 pub product_definitional: Option<Logical>,
16964}
16965
16966#[derive(Debug, Clone, PartialEq)]
16967pub struct ShapeAspectAssociativity {
16968 pub name: String,
16969 pub description: Option<String>,
16970 pub relating_shape_aspect: ShapeAspectRef,
16971 pub related_shape_aspect: ShapeAspectRef,
16972}
16973
16974#[derive(Debug, Clone, PartialEq)]
16975pub struct ShapeAspectDerivingRelationship {
16976 pub name: String,
16977 pub description: Option<String>,
16978 pub relating_shape_aspect: ShapeAspectRef,
16979 pub related_shape_aspect: ShapeAspectRef,
16980}
16981
16982#[derive(Debug, Clone, PartialEq)]
16983pub struct ShapeAspectRelationship {
16984 pub name: String,
16985 pub description: Option<String>,
16986 pub relating_shape_aspect: ShapeAspectRef,
16987 pub related_shape_aspect: ShapeAspectRef,
16988}
16989
16990#[derive(Debug, Clone, PartialEq)]
16991pub struct ShapeDefinitionRepresentation {
16992 pub definition: RepresentedDefinitionRef,
16993 pub used_representation: RepresentationRef,
16994}
16995
16996#[derive(Debug, Clone, PartialEq)]
16997pub struct ShapeDimensionRepresentation {
16998 pub name: String,
16999 pub items: Vec<RepresentationItemRef>,
17000 pub context_of_items: RepresentationContextRef,
17001}
17002
17003#[derive(Debug, Clone, PartialEq)]
17004pub struct ShapeRepresentation {
17005 pub name: String,
17006 pub items: Vec<RepresentationItemRef>,
17007 pub context_of_items: RepresentationContextRef,
17008}
17009
17010#[derive(Debug, Clone, PartialEq)]
17011pub struct ShapeRepresentationRelationship {
17012 pub name: String,
17013 pub description: Option<String>,
17014 pub rep_1: RepresentationOrRepresentationReferenceRef,
17015 pub rep_2: RepresentationOrRepresentationReferenceRef,
17016}
17017
17018#[derive(Debug, Clone, PartialEq)]
17019pub struct ShapeRepresentationWithParameters {
17020 pub name: String,
17021 pub items: Vec<RepresentationItemRef>,
17022 pub context_of_items: RepresentationContextRef,
17023}
17024
17025#[derive(Debug, Clone, PartialEq)]
17026pub struct ShellBasedSurfaceModel {
17027 pub name: String,
17028 pub sbsm_boundary: Vec<ShellRef>,
17029}
17030
17031#[derive(Debug, Clone, PartialEq)]
17032pub struct SiUnit {
17033 pub prefix: Option<SiPrefix>,
17034 pub name: SiUnitName,
17035}
17036
17037#[derive(Debug, Clone, PartialEq)]
17038pub struct SimpleGenericExpression {}
17039
17040#[derive(Debug, Clone, PartialEq)]
17041pub struct SimpleNumericExpression {}
17042
17043#[derive(Debug, Clone, PartialEq)]
17044pub struct SolidAngleUnit {
17045 pub dimensions: DimensionalExponentsRef,
17046}
17047
17048#[derive(Debug, Clone, PartialEq)]
17049pub struct SolidModel {
17050 pub name: String,
17051}
17052
17053#[derive(Debug, Clone, PartialEq)]
17054pub struct SphericalSurface {
17055 pub name: String,
17056 pub position: Axis2Placement3dRef,
17057 pub radius: f64,
17058}
17059
17060#[derive(Debug, Clone, PartialEq)]
17061pub struct StartRequest {
17062 pub assigned_action_request: VersionedActionRequestRef,
17063 pub items: Vec<StartRequestItemRef>,
17064}
17065
17066#[derive(Debug, Clone, PartialEq)]
17067pub struct StartWork {
17068 pub assigned_action: ActionRef,
17069 pub items: Vec<WorkItemRef>,
17070}
17071
17072#[derive(Debug, Clone, PartialEq)]
17073pub struct StateObserved {
17074 pub name: String,
17075 pub description: Option<String>,
17076}
17077
17078#[derive(Debug, Clone, PartialEq)]
17079pub struct StateType {
17080 pub name: String,
17081 pub description: Option<String>,
17082}
17083
17084#[derive(Debug, Clone, PartialEq)]
17085pub struct StraightnessTolerance {
17086 pub name: String,
17087 pub description: Option<String>,
17088 pub magnitude: Option<LengthMeasureWithUnitRef>,
17089 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
17090}
17091
17092#[derive(Debug, Clone, PartialEq)]
17093pub struct StyledItem {
17094 pub name: String,
17095 pub styles: Vec<PresentationStyleAssignmentRef>,
17096 pub item: StyledItemTargetRef,
17097}
17098
17099#[derive(Debug, Clone, PartialEq)]
17100pub struct Surface {
17101 pub name: String,
17102}
17103
17104#[derive(Debug, Clone, PartialEq)]
17105pub struct SurfaceCurve {
17106 pub name: String,
17107 pub curve_3d: CurveRef,
17108 pub associated_geometry: Vec<PcurveOrSurfaceRef>,
17109 pub master_representation: PreferredSurfaceCurveRepresentation,
17110}
17111
17112#[derive(Debug, Clone, PartialEq)]
17113pub struct SurfaceOfLinearExtrusion {
17114 pub name: String,
17115 pub swept_curve: CurveRef,
17116 pub extrusion_axis: VectorRef,
17117}
17118
17119#[derive(Debug, Clone, PartialEq)]
17120pub struct SurfaceOfRevolution {
17121 pub name: String,
17122 pub swept_curve: CurveRef,
17123 pub axis_position: Axis1PlacementRef,
17124}
17125
17126#[derive(Debug, Clone, PartialEq)]
17127pub struct SurfaceProfileTolerance {
17128 pub name: String,
17129 pub description: Option<String>,
17130 pub magnitude: Option<LengthMeasureWithUnitRef>,
17131 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
17132}
17133
17134#[derive(Debug, Clone, PartialEq)]
17135pub struct SurfaceRenderingProperties {
17136 pub rendered_colour: ColourRef,
17137}
17138
17139#[derive(Debug, Clone, PartialEq)]
17140pub struct SurfaceSideStyle {
17141 pub name: String,
17142 pub styles: Vec<SurfaceStyleElementSelectRef>,
17143}
17144
17145#[derive(Debug, Clone, PartialEq)]
17146pub struct SurfaceStyleBoundary {
17147 pub style_of_boundary: CurveOrRenderRef,
17148}
17149
17150#[derive(Debug, Clone, PartialEq)]
17151pub struct SurfaceStyleControlGrid {
17152 pub style_of_control_grid: CurveOrRenderRef,
17153}
17154
17155#[derive(Debug, Clone, PartialEq)]
17156pub struct SurfaceStyleFillArea {
17157 pub fill_area: FillAreaStyleRef,
17158}
17159
17160#[derive(Debug, Clone, PartialEq)]
17161pub struct SurfaceStyleParameterLine {
17162 pub style_of_parameter_lines: CurveOrRenderRef,
17163 pub direction_counts: Vec<IntMeasureValue>,
17164}
17165
17166#[derive(Debug, Clone, PartialEq)]
17167pub struct SurfaceStyleReflectanceAmbient {
17168 pub ambient_reflectance: f64,
17169}
17170
17171#[derive(Debug, Clone, PartialEq)]
17172pub struct SurfaceStyleRendering {
17173 pub rendering_method: ShadingSurfaceMethod,
17174 pub surface_colour: ColourRef,
17175}
17176
17177#[derive(Debug, Clone, PartialEq)]
17178pub struct SurfaceStyleRenderingWithProperties {
17179 pub rendering_method: ShadingSurfaceMethod,
17180 pub surface_colour: ColourRef,
17181 pub properties: Vec<RenderingPropertiesSelectRef>,
17182}
17183
17184#[derive(Debug, Clone, PartialEq)]
17185pub struct SurfaceStyleSegmentationCurve {
17186 pub style_of_segmentation_curve: CurveOrRenderRef,
17187}
17188
17189#[derive(Debug, Clone, PartialEq)]
17190pub struct SurfaceStyleSilhouette {
17191 pub style_of_silhouette: CurveOrRenderRef,
17192}
17193
17194#[derive(Debug, Clone, PartialEq)]
17195pub struct SurfaceStyleTransparent {
17196 pub transparency: f64,
17197}
17198
17199#[derive(Debug, Clone, PartialEq)]
17200pub struct SurfaceStyleUsage {
17201 pub side: SurfaceSide,
17202 pub style: SurfaceSideStyleSelectRef,
17203}
17204
17205#[derive(Debug, Clone, PartialEq)]
17206pub struct SweptSurface {
17207 pub name: String,
17208 pub swept_curve: CurveRef,
17209}
17210
17211#[derive(Debug, Clone, PartialEq)]
17212pub struct SymbolColour {
17213 pub colour_of_symbol: ColourRef,
17214}
17215
17216#[derive(Debug, Clone, PartialEq)]
17217pub struct SymbolRepresentation {
17218 pub name: String,
17219 pub items: Vec<RepresentationItemRef>,
17220 pub context_of_items: RepresentationContextRef,
17221}
17222
17223#[derive(Debug, Clone, PartialEq)]
17224pub struct SymbolStyle {
17225 pub name: String,
17226 pub style_of_symbol: SymbolStyleSelectRef,
17227}
17228
17229#[derive(Debug, Clone, PartialEq)]
17230pub struct SymbolTarget {
17231 pub name: String,
17232 pub placement: Axis2PlacementRef,
17233 pub x_scale: f64,
17234 pub y_scale: f64,
17235}
17236
17237#[derive(Debug, Clone, PartialEq)]
17238pub struct SymmetryTolerance {
17239 pub name: String,
17240 pub description: Option<String>,
17241 pub magnitude: Option<LengthMeasureWithUnitRef>,
17242 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
17243 pub datum_system: Vec<DatumSystemOrReferenceRef>,
17244}
17245
17246#[derive(Debug, Clone, PartialEq)]
17247pub struct TerminatorSymbol {
17248 pub name: String,
17249 pub styles: Vec<PresentationStyleAssignmentRef>,
17250 pub item: AnnotationSymbolOccurrenceItemRef,
17251 pub annotated_curve: AnnotationCurveOccurrenceRef,
17252}
17253
17254#[derive(Debug, Clone, PartialEq)]
17255pub struct TessellatedAnnotationOccurrence {
17256 pub name: String,
17257 pub styles: Vec<PresentationStyleAssignmentRef>,
17258 pub item: StyledItemTargetRef,
17259}
17260
17261#[derive(Debug, Clone, PartialEq)]
17262pub struct TessellatedCurveSet {
17263 pub name: String,
17264 pub coordinates: CoordinatesListRef,
17265 pub line_strips: Vec<Vec<i64>>,
17266}
17267
17268#[derive(Debug, Clone, PartialEq)]
17269pub struct TessellatedFace {
17270 pub name: String,
17271 pub coordinates: CoordinatesListRef,
17272 pub pnmax: i64,
17273 pub normals: Vec<Vec<f64>>,
17274 pub geometric_link: Option<FaceOrSurfaceRef>,
17275}
17276
17277#[derive(Debug, Clone, PartialEq)]
17278pub struct TessellatedGeometricSet {
17279 pub name: String,
17280 pub children: Vec<TessellatedItemRef>,
17281}
17282
17283#[derive(Debug, Clone, PartialEq)]
17284pub struct TessellatedItem {
17285 pub name: String,
17286}
17287
17288#[derive(Debug, Clone, PartialEq)]
17289pub struct TessellatedShapeRepresentation {
17290 pub name: String,
17291 pub items: Vec<RepresentationItemRef>,
17292 pub context_of_items: RepresentationContextRef,
17293}
17294
17295#[derive(Debug, Clone, PartialEq)]
17296pub struct TessellatedShell {
17297 pub name: String,
17298 pub items: Vec<TessellatedStructuredItemRef>,
17299 pub topological_link: Option<ConnectedFaceSetRef>,
17300}
17301
17302#[derive(Debug, Clone, PartialEq)]
17303pub struct TessellatedSolid {
17304 pub name: String,
17305 pub items: Vec<TessellatedStructuredItemRef>,
17306 pub geometric_link: Option<ManifoldSolidBrepRef>,
17307}
17308
17309#[derive(Debug, Clone, PartialEq)]
17310pub struct TessellatedStructuredItem {
17311 pub name: String,
17312}
17313
17314#[derive(Debug, Clone, PartialEq)]
17315pub struct TessellatedSurfaceSet {
17316 pub name: String,
17317 pub coordinates: CoordinatesListRef,
17318 pub pnmax: i64,
17319 pub normals: Vec<Vec<f64>>,
17320}
17321
17322#[derive(Debug, Clone, PartialEq)]
17323pub struct TextFont {
17324 pub id: String,
17325 pub name: String,
17326 pub description: String,
17327}
17328
17329#[derive(Debug, Clone, PartialEq)]
17330pub struct TextLiteral {
17331 pub name: String,
17332 pub literal: String,
17333 pub placement: Axis2PlacementRef,
17334 pub alignment: String,
17335 pub path: TextPath,
17336 pub font: FontSelectRef,
17337}
17338
17339#[derive(Debug, Clone, PartialEq)]
17340pub struct TextStyle {
17341 pub name: String,
17342 pub character_appearance: CharacterStyleSelectRef,
17343}
17344
17345#[derive(Debug, Clone, PartialEq)]
17346pub struct TextStyleForDefinedFont {
17347 pub text_colour: ColourRef,
17348}
17349
17350#[derive(Debug, Clone, PartialEq)]
17351pub struct TextStyleWithBoxCharacteristics {
17352 pub name: String,
17353 pub character_appearance: CharacterStyleSelectRef,
17354 pub characteristics: Vec<MeasureValue>,
17355}
17356
17357#[derive(Debug, Clone, PartialEq)]
17358pub struct TextureStyleSpecification {}
17359
17360#[derive(Debug, Clone, PartialEq)]
17361pub struct TextureStyleTessellationSpecification {}
17362
17363#[derive(Debug, Clone, PartialEq)]
17364pub struct TimeUnit {
17365 pub dimensions: DimensionalExponentsRef,
17366}
17367
17368#[derive(Debug, Clone, PartialEq)]
17369pub struct ToleranceValue {
17370 pub lower_bound: MeasureWithUnitRef,
17371 pub upper_bound: MeasureWithUnitRef,
17372}
17373
17374#[derive(Debug, Clone, PartialEq)]
17375pub struct ToleranceZone {
17376 pub name: String,
17377 pub description: Option<String>,
17378 pub of_shape: ProductDefinitionShapeRef,
17379 pub product_definitional: Logical,
17380 pub defining_tolerance: Vec<ToleranceZoneTargetRef>,
17381 pub form: ToleranceZoneFormRef,
17382}
17383
17384#[derive(Debug, Clone, PartialEq)]
17385pub struct ToleranceZoneDefinition {
17386 pub zone: ToleranceZoneRef,
17387 pub boundaries: Vec<ShapeAspectRef>,
17388}
17389
17390#[derive(Debug, Clone, PartialEq)]
17391pub struct ToleranceZoneForm {
17392 pub name: String,
17393}
17394
17395#[derive(Debug, Clone, PartialEq)]
17396pub struct ToleranceZoneWithDatum {
17397 pub name: String,
17398 pub description: Option<String>,
17399 pub of_shape: ProductDefinitionShapeRef,
17400 pub product_definitional: Logical,
17401 pub defining_tolerance: Vec<ToleranceZoneTargetRef>,
17402 pub form: ToleranceZoneFormRef,
17403 pub datum_reference: DatumSystemRef,
17404}
17405
17406#[derive(Debug, Clone, PartialEq)]
17407pub struct TopologicalRepresentationItem {
17408 pub name: String,
17409}
17410
17411#[derive(Debug, Clone, PartialEq)]
17412pub struct ToroidalSurface {
17413 pub name: String,
17414 pub position: Axis2Placement3dRef,
17415 pub major_radius: f64,
17416 pub minor_radius: f64,
17417}
17418
17419#[derive(Debug, Clone, PartialEq)]
17420pub struct TotalRunoutTolerance {
17421 pub name: String,
17422 pub description: Option<String>,
17423 pub magnitude: Option<LengthMeasureWithUnitRef>,
17424 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
17425 pub datum_system: Vec<DatumSystemOrReferenceRef>,
17426}
17427
17428#[derive(Debug, Clone, PartialEq)]
17429pub struct TrimmedCurve {
17430 pub name: String,
17431 pub basis_curve: CurveRef,
17432 pub trim_1: Vec<TrimmingSelectRef>,
17433 pub trim_2: Vec<TrimmingSelectRef>,
17434 pub sense_agreement: bool,
17435 pub master_representation: TrimmingPreference,
17436}
17437
17438#[derive(Debug, Clone, PartialEq)]
17439pub struct TwoDirectionRepeatFactor {
17440 pub name: String,
17441 pub repeat_factor: VectorRef,
17442 pub second_repeat_factor: VectorRef,
17443}
17444
17445#[derive(Debug, Clone, PartialEq)]
17446pub struct TypeQualifier {
17447 pub name: String,
17448}
17449
17450#[derive(Debug, Clone, PartialEq)]
17451pub struct UncertaintyMeasureWithUnit {
17452 pub value_component: MeasureValue,
17453 pub unit_component: UnitRef,
17454 pub name: String,
17455 pub description: Option<String>,
17456}
17457
17458#[derive(Debug, Clone, PartialEq)]
17459pub struct UncertaintyQualifier {
17460 pub measure_name: String,
17461 pub description: String,
17462}
17463
17464#[derive(Debug, Clone, PartialEq)]
17465pub struct UnequallyDisposedGeometricTolerance {
17466 pub name: String,
17467 pub description: Option<String>,
17468 pub magnitude: Option<LengthMeasureWithUnitRef>,
17469 pub toleranced_shape_aspect: GeometricToleranceTargetRef,
17470 pub displacement: LengthMeasureWithUnitRef,
17471}
17472
17473#[derive(Debug, Clone, PartialEq)]
17474pub struct UniformCurve {
17475 pub name: String,
17476 pub degree: i64,
17477 pub control_points_list: Vec<CartesianPointRef>,
17478 pub curve_form: BSplineCurveForm,
17479 pub closed_curve: Logical,
17480 pub self_intersect: Logical,
17481}
17482
17483#[derive(Debug, Clone, PartialEq)]
17484pub struct UniformSurface {
17485 pub name: String,
17486 pub u_degree: i64,
17487 pub v_degree: i64,
17488 pub control_points_list: Vec<Vec<CartesianPointRef>>,
17489 pub surface_form: BSplineSurfaceForm,
17490 pub u_closed: Logical,
17491 pub v_closed: Logical,
17492 pub self_intersect: Logical,
17493}
17494
17495#[derive(Debug, Clone, PartialEq)]
17496pub struct ValueFormatTypeQualifier {
17497 pub format_type: String,
17498}
17499
17500#[derive(Debug, Clone, PartialEq)]
17501pub struct ValueRepresentationItem {
17502 pub name: String,
17503 pub value_component: MeasureValue,
17504}
17505
17506#[derive(Debug, Clone, PartialEq)]
17507pub struct Vector {
17508 pub name: String,
17509 pub orientation: DirectionRef,
17510 pub magnitude: f64,
17511}
17512
17513#[derive(Debug, Clone, PartialEq)]
17514pub struct VersionedActionRequest {
17515 pub id: String,
17516 pub version: Option<String>,
17517 pub purpose: String,
17518 pub description: Option<String>,
17519}
17520
17521#[derive(Debug, Clone, PartialEq)]
17522pub struct Vertex {
17523 pub name: String,
17524}
17525
17526#[derive(Debug, Clone, PartialEq)]
17527pub struct VertexLoop {
17528 pub name: String,
17529 pub loop_vertex: VertexRef,
17530}
17531
17532#[derive(Debug, Clone, PartialEq)]
17533pub struct VertexPoint {
17534 pub name: String,
17535 pub vertex_geometry: PointRef,
17536}
17537
17538#[derive(Debug, Clone, PartialEq)]
17539pub struct VertexShell {
17540 pub name: String,
17541 pub vertex_shell_extent: VertexLoopRef,
17542}
17543
17544#[derive(Debug, Clone, PartialEq)]
17545pub struct ViewVolume {
17546 pub projection_type: CentralOrParallel,
17547 pub projection_point: CartesianPointRef,
17548 pub view_plane_distance: f64,
17549 pub front_plane_distance: f64,
17550 pub front_plane_clipping: bool,
17551 pub back_plane_distance: f64,
17552 pub back_plane_clipping: bool,
17553 pub view_volume_sides_clipping: bool,
17554 pub view_window: PlanarBoxRef,
17555}
17556
17557#[derive(Debug, Clone, PartialEq)]
17558pub struct VolumeUnit {
17559 pub elements: Vec<DerivedUnitElementRef>,
17560}
17561
17562#[derive(Debug, Clone, PartialEq)]
17563pub struct WireShell {
17564 pub name: String,
17565 pub wire_shell_extent: Vec<LoopRef>,
17566}
17567
17568#[derive(Debug, Clone, PartialEq)]
17569pub enum UnitPart {
17570 Action {
17571 name: String,
17572 description: Option<String>,
17573 chosen_method: ActionMethodRef,
17574 },
17575 ActionMethod {
17576 name: String,
17577 description: Option<String>,
17578 consequence: String,
17579 purpose: String,
17580 },
17581 ActionMethodRelationship {
17582 name: String,
17583 description: Option<String>,
17584 relating_method: ActionMethodRef,
17585 related_method: ActionMethodRef,
17586 },
17587 ActionRelationship {
17588 name: String,
17589 description: Option<String>,
17590 relating_action: ActionRef,
17591 related_action: ActionRef,
17592 },
17593 ActionRequestAssignment {
17594 assigned_action_request: VersionedActionRequestRef,
17595 },
17596 ActionResource {
17597 name: String,
17598 description: Option<String>,
17599 usage: Vec<SupportedItemRef>,
17600 kind: ActionResourceTypeRef,
17601 },
17602 ActionResourceRequirement {
17603 name: String,
17604 description: String,
17605 kind: ResourceRequirementTypeRef,
17606 operations: Vec<CharacterizedActionDefinitionRef>,
17607 },
17608 Address {
17609 internal_location: Option<String>,
17610 street_number: Option<String>,
17611 street: Option<String>,
17612 postal_box: Option<String>,
17613 town: Option<String>,
17614 region: Option<String>,
17615 postal_code: Option<String>,
17616 country: Option<String>,
17617 facsimile_number: Option<String>,
17618 telephone_number: Option<String>,
17619 electronic_mail_address: Option<String>,
17620 telex_number: Option<String>,
17621 },
17622 AdvancedBrepShapeRepresentation,
17623 AdvancedFace,
17624 AnnotationCurveOccurrence,
17625 AnnotationFillAreaOccurrence {
17626 fill_style_target: PointRef,
17627 },
17628 AnnotationOccurrence,
17629 AnnotationOccurrenceAssociativity,
17630 AnnotationOccurrenceRelationship {
17631 name: String,
17632 description: String,
17633 relating_annotation_occurrence: AnnotationOccurrenceRef,
17634 related_annotation_occurrence: AnnotationOccurrenceRef,
17635 },
17636 AnnotationPlaceholderOccurrence {
17637 role: AnnotationPlaceholderOccurrenceRole,
17638 line_spacing: f64,
17639 },
17640 AnnotationPlaceholderOccurrenceWithLeaderLine {
17641 leader_line: Vec<AnnotationPlaceholderLeaderLineRef>,
17642 },
17643 AnnotationPlane {
17644 elements: Option<Vec<AnnotationPlaneElementRef>>,
17645 },
17646 AnnotationSymbol,
17647 AnnotationSymbolOccurrence,
17648 AnnotationText,
17649 AnnotationTextCharacter {
17650 alignment: String,
17651 },
17652 AnnotationTextOccurrence,
17653 ApplicationContextElement {
17654 name: String,
17655 frame_of_reference: ApplicationContextRef,
17656 },
17657 AppliedApprovalAssignment {
17658 items: Vec<ApprovalItemRef>,
17659 },
17660 AppliedDateAndTimeAssignment {
17661 items: Vec<DateAndTimeItemRef>,
17662 },
17663 AppliedDocumentReference {
17664 items: Vec<DocumentReferenceItemRef>,
17665 },
17666 AppliedExternalIdentificationAssignment {
17667 items: Vec<ExternalIdentificationItemRef>,
17668 },
17669 AppliedGroupAssignment {
17670 items: Vec<GroupableItemRef>,
17671 },
17672 AppliedPersonAndOrganizationAssignment {
17673 items: Vec<PersonAndOrganizationItemRef>,
17674 },
17675 AppliedPresentedItem {
17676 items: Vec<PresentedItemSelectRef>,
17677 },
17678 AppliedSecurityClassificationAssignment {
17679 items: Vec<SecurityClassificationItemRef>,
17680 },
17681 ApprovalAssignment {
17682 assigned_approval: ApprovalRef,
17683 },
17684 AreaInSet {
17685 area: PresentationAreaRef,
17686 in_set: PresentationSetRef,
17687 },
17688 AscribableStateRelationship {
17689 name: String,
17690 description: Option<String>,
17691 relating_ascribable_state: AscribableStateRef,
17692 related_ascribable_state: AscribableStateRef,
17693 },
17694 AssemblyComponentUsage {
17695 reference_designator: Option<String>,
17696 },
17697 BSplineCurve {
17698 degree: i64,
17699 control_points_list: Vec<CartesianPointRef>,
17700 curve_form: BSplineCurveForm,
17701 closed_curve: Logical,
17702 self_intersect: Logical,
17703 },
17704 BSplineCurveWithKnots {
17705 knot_multiplicities: Vec<i64>,
17706 knots: Vec<f64>,
17707 knot_spec: KnotType,
17708 },
17709 BSplineSurface {
17710 u_degree: i64,
17711 v_degree: i64,
17712 control_points_list: Vec<Vec<CartesianPointRef>>,
17713 surface_form: BSplineSurfaceForm,
17714 u_closed: Logical,
17715 v_closed: Logical,
17716 self_intersect: Logical,
17717 },
17718 BSplineSurfaceWithKnots {
17719 u_multiplicities: Vec<i64>,
17720 v_multiplicities: Vec<i64>,
17721 u_knots: Vec<f64>,
17722 v_knots: Vec<f64>,
17723 knot_spec: KnotType,
17724 },
17725 BezierCurve,
17726 BezierSurface,
17727 BoundedCurve,
17728 BoundedPcurve,
17729 BoundedSurface,
17730 BoundedSurfaceCurve,
17731 BrepWithVoids {
17732 voids: Vec<OrientedClosedShellRef>,
17733 },
17734 CameraImage,
17735 CameraImage3dWithScale,
17736 CameraModel,
17737 CameraModelD3 {
17738 view_reference_system: Axis2Placement3dRef,
17739 perspective_of_volume: ViewVolumeRef,
17740 },
17741 CameraModelD3MultiClipping {
17742 shape_clipping: Vec<CameraModelD3MultiClippingIntersectionSelectRef>,
17743 },
17744 CameraModelD3WithHlhsr {
17745 hidden_line_surface_removal: bool,
17746 },
17747 CameraUsage,
17748 CcDesignApproval {
17749 items: Vec<ApprovedItemRef>,
17750 },
17751 CcDesignDateAndTimeAssignment {
17752 items: Vec<DateTimeItemRef>,
17753 },
17754 CcDesignPersonAndOrganizationAssignment {
17755 items: Vec<CcPersonOrganizationItemRef>,
17756 },
17757 CcDesignSecurityClassification {
17758 items: Vec<CcClassifiedItemRef>,
17759 },
17760 ChangeRequest {
17761 items: Vec<ChangeRequestItemRef>,
17762 },
17763 CharacterGlyphStyleOutline {
17764 outline_style: CurveStyleRef,
17765 },
17766 CharacterGlyphStyleStroke {
17767 stroke_style: CurveStyleRef,
17768 },
17769 CharacterizedItemWithinRepresentation {
17770 item: RepresentationItemRef,
17771 rep: RepresentationRef,
17772 },
17773 CharacterizedObject {
17774 name: Option<String>,
17775 description: Option<String>,
17776 },
17777 CharacterizedRepresentation,
17778 CircularRunoutTolerance,
17779 ClosedShell,
17780 Colour,
17781 ColourRgb {
17782 red: f64,
17783 green: f64,
17784 blue: f64,
17785 },
17786 ColourSpecification {
17787 name: String,
17788 },
17789 CommonDatum,
17790 CompositeCurve {
17791 segments: Vec<CompositeCurveSegmentRef>,
17792 self_intersect: Logical,
17793 },
17794 CompositeCurveSegment {
17795 transition: TransitionCode,
17796 same_sense: bool,
17797 parent_curve: CurveRef,
17798 },
17799 CompositeGroupShapeAspect,
17800 CompositeShapeAspect,
17801 CompositeText {
17802 collected_text: Vec<TextOrCharacterRef>,
17803 },
17804 CompoundRepresentationItem {
17805 item_element: CompoundItemDefinitionRef,
17806 },
17807 ConfigurationEffectivity {
17808 configuration: ConfigurationDesignRef,
17809 },
17810 ConfigurationItem {
17811 id: String,
17812 name: String,
17813 description: Option<String>,
17814 item_concept: ProductConceptRef,
17815 purpose: Option<String>,
17816 },
17817 ConnectedFaceSet {
17818 cfs_faces: Option<Vec<FaceRef>>,
17819 },
17820 ConstructiveGeometryRepresentationRelationship,
17821 ContextDependentOverRidingStyledItem {
17822 style_context: Vec<StyleContextSelectRef>,
17823 },
17824 ContextDependentUnit {
17825 name: String,
17826 },
17827 ConversionBasedUnit {
17828 name: String,
17829 conversion_factor: MeasureWithUnitRef,
17830 },
17831 Curve,
17832 CurveStyle {
17833 name: String,
17834 curve_font: Option<CurveFontOrScaledCurveFontSelectRef>,
17835 curve_width: Option<SizeSelectRef>,
17836 curve_colour: Option<ColourRef>,
17837 },
17838 CurveStyleFont {
17839 name: String,
17840 pattern_list: Vec<CurveStyleFontPatternRef>,
17841 },
17842 CurveStyleFontAndScaling {
17843 name: String,
17844 curve_font: CurveStyleFontSelectRef,
17845 curve_font_scaling: f64,
17846 },
17847 CurveStyleFontPattern {
17848 visible_segment_length: f64,
17849 invisible_segment_length: f64,
17850 },
17851 CylindricityTolerance,
17852 Date {
17853 year_component: i64,
17854 },
17855 DateAndTime {
17856 date_component: DateRef,
17857 time_component: LocalTimeRef,
17858 },
17859 DateAndTimeAssignment {
17860 assigned_date_and_time: DateAndTimeRef,
17861 role: DateTimeRoleRef,
17862 },
17863 Datum {
17864 identification: String,
17865 },
17866 DatumFeature,
17867 DatumReference {
17868 precedence: i64,
17869 referenced_datum: DatumRef,
17870 },
17871 DatumSystem {
17872 constituents: Vec<DatumReferenceCompartmentRef>,
17873 },
17874 DatumTarget {
17875 target_id: String,
17876 },
17877 DefaultModelGeometricView,
17878 DefinitionalRepresentation,
17879 DefinitionalRepresentationRelationship,
17880 DefinitionalRepresentationRelationshipWithSameContext,
17881 DegenerateToroidalSurface {
17882 select_outer: bool,
17883 },
17884 DerivedUnit {
17885 elements: Vec<DerivedUnitElementRef>,
17886 },
17887 DesignContext,
17888 DimensionalSize {
17889 applies_to: ShapeAspectRef,
17890 name: String,
17891 },
17892 Direction {
17893 direction_ratios: Vec<f64>,
17894 },
17895 Document {
17896 id: String,
17897 name: String,
17898 description: Option<String>,
17899 kind: DocumentTypeRef,
17900 },
17901 DocumentFile,
17902 DocumentProductAssociation {
17903 name: String,
17904 description: Option<String>,
17905 relating_document: DocumentRef,
17906 related_product: ProductOrFormationOrDefinitionRef,
17907 },
17908 DocumentProductEquivalence,
17909 DocumentReference {
17910 assigned_document: DocumentRef,
17911 source: String,
17912 },
17913 DraughtingAnnotationOccurrence,
17914 DraughtingCallout {
17915 contents: Vec<DraughtingCalloutElementRef>,
17916 },
17917 DraughtingCalloutRelationship {
17918 name: String,
17919 description: String,
17920 relating_draughting_callout: DraughtingCalloutRef,
17921 related_draughting_callout: DraughtingCalloutRef,
17922 },
17923 DraughtingModel,
17924 DraughtingModelItemAssociation,
17925 DraughtingModelItemAssociationWithPlaceholder {
17926 annotation_placeholder: AnnotationPlaceholderOccurrenceRef,
17927 },
17928 DraughtingPreDefinedColour,
17929 DraughtingPreDefinedCurveFont,
17930 DraughtingPreDefinedTextFont,
17931 Edge {
17932 edge_start: Option<VertexRef>,
17933 edge_end: Option<VertexRef>,
17934 },
17935 EdgeCurve {
17936 edge_geometry: CurveRef,
17937 same_sense: bool,
17938 },
17939 EdgeLoop,
17940 Effectivity {
17941 id: String,
17942 },
17943 ElementarySurface {
17944 position: Axis2Placement3dRef,
17945 },
17946 Expression,
17947 ExternalIdentificationAssignment {
17948 source: ExternalSourceRef,
17949 },
17950 ExternalSource {
17951 source_id: StringSelectValue,
17952 },
17953 ExternallyDefinedCharacterGlyph,
17954 ExternallyDefinedCurveFont,
17955 ExternallyDefinedHatchStyle,
17956 ExternallyDefinedItem {
17957 item_id: StringSelectValue,
17958 source: ExternalSourceRef,
17959 },
17960 ExternallyDefinedStyle,
17961 ExternallyDefinedSymbol,
17962 ExternallyDefinedTextFont,
17963 ExternallyDefinedTile,
17964 ExternallyDefinedTileStyle,
17965 Face {
17966 bounds: Vec<FaceBoundRef>,
17967 },
17968 FaceBound {
17969 bound: LoopRef,
17970 orientation: bool,
17971 },
17972 FaceOuterBound,
17973 FaceSurface {
17974 face_geometry: SurfaceRef,
17975 same_sense: bool,
17976 },
17977 FillAreaStyle {
17978 name: String,
17979 fill_styles: Vec<FillStyleSelectRef>,
17980 },
17981 FillAreaStyleHatching {
17982 hatch_line_appearance: CurveStyleRef,
17983 start_of_next_hatch_line: OneDirectionRepeatFactorRef,
17984 point_of_reference_hatch_line: CartesianPointRef,
17985 pattern_start: CartesianPointRef,
17986 hatch_line_angle: f64,
17987 },
17988 FillAreaStyleTileSymbolWithStyle {
17989 symbol: AnnotationSymbolOccurrenceRef,
17990 },
17991 FillAreaStyleTiles {
17992 tiling_pattern: TwoDirectionRepeatFactorRef,
17993 tiles: Vec<FillAreaStyleTileShapeSelectRef>,
17994 tiling_scale: f64,
17995 },
17996 FlatnessTolerance,
17997 FoundedItem,
17998 FunctionallyDefinedTransformation {
17999 name: String,
18000 description: Option<String>,
18001 },
18002 GeneralDatumReference {
18003 base: DatumOrCommonDatumRef,
18004 modifiers: Option<Vec<DatumReferenceModifierRef>>,
18005 },
18006 GeneralProperty {
18007 id: String,
18008 name: String,
18009 description: Option<String>,
18010 },
18011 GenericExpression,
18012 GenericLiteral,
18013 GenericProductDefinitionReference {
18014 source: ExternalSourceRef,
18015 },
18016 GeometricCurveSet,
18017 GeometricItemSpecificUsage,
18018 GeometricRepresentationContext {
18019 coordinate_space_dimension: i64,
18020 },
18021 GeometricRepresentationItem,
18022 GeometricSet {
18023 elements: Vec<GeometricSetSelectRef>,
18024 },
18025 GeometricTolerance {
18026 name: String,
18027 description: Option<String>,
18028 magnitude: Option<LengthMeasureWithUnitRef>,
18029 toleranced_shape_aspect: GeometricToleranceTargetRef,
18030 },
18031 GeometricToleranceWithDatumReference {
18032 datum_system: Vec<DatumSystemOrReferenceRef>,
18033 },
18034 GeometricToleranceWithDefinedAreaUnit {
18035 area_type: AreaUnitType,
18036 second_unit_size: Option<LengthOrPlaneAngleMeasureWithUnitSelectRef>,
18037 },
18038 GeometricToleranceWithDefinedUnit {
18039 unit_size: LengthOrPlaneAngleMeasureWithUnitSelectRef,
18040 },
18041 GeometricToleranceWithMaximumTolerance {
18042 maximum_upper_tolerance: LengthMeasureWithUnitRef,
18043 },
18044 GeometricToleranceWithModifiers {
18045 modifiers: Vec<GeometricToleranceModifier>,
18046 },
18047 GeometricallyBoundedSurfaceShapeRepresentation,
18048 GeometricallyBoundedWireframeShapeRepresentation,
18049 GlobalUncertaintyAssignedContext {
18050 uncertainty: Vec<UncertaintyMeasureWithUnitRef>,
18051 },
18052 GlobalUnitAssignedContext {
18053 units: Vec<UnitRef>,
18054 },
18055 Group {
18056 name: String,
18057 description: Option<String>,
18058 },
18059 GroupAssignment {
18060 assigned_group: GroupRef,
18061 },
18062 IdentificationAssignment {
18063 assigned_id: String,
18064 role: IdentificationRoleRef,
18065 },
18066 IntLiteral,
18067 IntegerRepresentationItem,
18068 IntersectionCurve,
18069 Invisibility {
18070 invisible_items: Vec<InvisibleItemRef>,
18071 },
18072 ItemDefinedTransformation {
18073 name: String,
18074 description: Option<String>,
18075 transform_item_1: RepresentationItemRef,
18076 transform_item_2: RepresentationItemRef,
18077 },
18078 ItemIdentifiedRepresentationUsage {
18079 name: String,
18080 description: Option<String>,
18081 definition: ItemIdentifiedRepresentationUsageDefinitionRef,
18082 used_representation: RepresentationRef,
18083 identified_item: ItemIdentifiedRepresentationUsageSelectRef,
18084 },
18085 LeaderCurve,
18086 LeaderDirectedCallout,
18087 LeaderTerminator,
18088 LengthMeasureWithUnit,
18089 LengthUnit,
18090 LineProfileTolerance,
18091 LiteralNumber {
18092 the_value: f64,
18093 },
18094 Loop,
18095 ManifoldSolidBrep {
18096 outer: ClosedShellRef,
18097 },
18098 ManifoldSurfaceShapeRepresentation,
18099 MappedItem {
18100 mapping_source: RepresentationMapRef,
18101 mapping_target: RepresentationItemRef,
18102 },
18103 MassUnit,
18104 MeasureRepresentationItem,
18105 MeasureWithUnit {
18106 value_component: MeasureValue,
18107 unit_component: UnitRef,
18108 },
18109 MechanicalContext,
18110 MechanicalDesignAndDraughtingRelationship,
18111 ModelGeometricView,
18112 ModifiedGeometricTolerance {
18113 modifier: LimitCondition,
18114 },
18115 NamedUnit {
18116 dimensions: Option<DimensionalExponentsRef>,
18117 },
18118 NextAssemblyUsageOccurrence,
18119 NumericExpression,
18120 OneDirectionRepeatFactor {
18121 repeat_factor: VectorRef,
18122 },
18123 OpenShell,
18124 OrganizationalAddress {
18125 organizations: Vec<OrganizationRef>,
18126 description: Option<String>,
18127 },
18128 OrientedClosedShell {
18129 closed_shell_element: ClosedShellRef,
18130 orientation: bool,
18131 },
18132 OrientedEdge {
18133 edge_element: EdgeRef,
18134 orientation: bool,
18135 },
18136 OverRidingStyledItem {
18137 over_ridden_style: StyledItemRef,
18138 },
18139 ParallelismTolerance,
18140 ParametricRepresentationContext,
18141 Path {
18142 edge_list: Vec<OrientedEdgeRef>,
18143 },
18144 Pcurve {
18145 basis_surface: SurfaceRef,
18146 reference_to_curve: DefinitionalRepresentationRef,
18147 },
18148 PerpendicularityTolerance,
18149 PersonAndOrganizationAddress,
18150 PersonAndOrganizationAssignment {
18151 assigned_person_and_organization: PersonAndOrganizationRef,
18152 role: PersonAndOrganizationRoleRef,
18153 },
18154 PersonalAddress {
18155 people: Vec<PersonRef>,
18156 description: Option<String>,
18157 },
18158 PlacedDatumTargetFeature,
18159 Placement {
18160 location: CartesianPointRef,
18161 },
18162 PlanarBox {
18163 placement: Axis2PlacementRef,
18164 },
18165 PlanarExtent {
18166 size_in_x: f64,
18167 size_in_y: f64,
18168 },
18169 PlaneAngleMeasureWithUnit,
18170 PlaneAngleUnit,
18171 Point,
18172 PointStyle {
18173 name: String,
18174 marker: Option<MarkerSelectRef>,
18175 marker_size: Option<SizeSelectRef>,
18176 marker_colour: Option<ColourRef>,
18177 },
18178 PolyLoop {
18179 polygon: Vec<CartesianPointRef>,
18180 },
18181 PositionTolerance,
18182 PreDefinedCharacterGlyph,
18183 PreDefinedColour,
18184 PreDefinedCurveFont,
18185 PreDefinedItem {
18186 name: String,
18187 },
18188 PreDefinedMarker,
18189 PreDefinedPointMarkerSymbol,
18190 PreDefinedPresentationStyle,
18191 PreDefinedSurfaceSideStyle,
18192 PreDefinedSymbol,
18193 PreDefinedTerminatorSymbol,
18194 PreDefinedTextFont,
18195 PreDefinedTile,
18196 PresentationArea,
18197 PresentationRepresentation,
18198 PresentationSet,
18199 PresentationStyleAssignment {
18200 styles: Vec<PresentationStyleSelectRef>,
18201 },
18202 PresentationStyleByContext {
18203 style_context: StyleContextSelectRef,
18204 },
18205 PresentationView,
18206 PresentedItem,
18207 Product {
18208 id: String,
18209 name: String,
18210 description: Option<String>,
18211 frame_of_reference: Vec<ProductContextRef>,
18212 },
18213 ProductCategory {
18214 name: String,
18215 description: Option<String>,
18216 },
18217 ProductConcept {
18218 id: String,
18219 name: String,
18220 description: Option<String>,
18221 market_context: ProductConceptContextRef,
18222 },
18223 ProductConceptFeature {
18224 id: String,
18225 name: String,
18226 description: Option<String>,
18227 },
18228 ProductConceptFeatureCategory,
18229 ProductContext {
18230 discipline_type: String,
18231 },
18232 ProductDefinition {
18233 id: String,
18234 description: Option<String>,
18235 formation: ProductDefinitionFormationRef,
18236 frame_of_reference: ProductDefinitionContextRef,
18237 },
18238 ProductDefinitionContext {
18239 life_cycle_stage: String,
18240 },
18241 ProductDefinitionEffectivity {
18242 usage: ProductDefinitionRelationshipRef,
18243 },
18244 ProductDefinitionFormation {
18245 id: String,
18246 description: Option<String>,
18247 of_product: ProductRef,
18248 },
18249 ProductDefinitionFormationWithSpecifiedSource {
18250 make_or_buy: Source,
18251 },
18252 ProductDefinitionOccurrence {
18253 id: String,
18254 name: Option<String>,
18255 description: Option<String>,
18256 definition: Option<ProductDefinitionOrReferenceRef>,
18257 quantity: Option<MeasureWithUnitRef>,
18258 },
18259 ProductDefinitionRelationship {
18260 id: String,
18261 name: String,
18262 description: Option<String>,
18263 relating_product_definition: ProductDefinitionOrReferenceRef,
18264 related_product_definition: ProductDefinitionOrReferenceRef,
18265 },
18266 ProductDefinitionRelationshipRelationship {
18267 id: String,
18268 name: String,
18269 description: Option<String>,
18270 relating: ProductDefinitionRelationshipRef,
18271 related: ProductDefinitionRelationshipRef,
18272 },
18273 ProductDefinitionShape,
18274 ProductDefinitionUsage,
18275 ProductDefinitionWithAssociatedDocuments {
18276 documentation_ids: Vec<DocumentRef>,
18277 },
18278 ProductRelatedProductCategory {
18279 products: Vec<ProductRef>,
18280 },
18281 ProjectedZoneDefinition {
18282 projection_end: ShapeAspectRef,
18283 projected_length: LengthMeasureWithUnitRef,
18284 },
18285 PropertyDefinition {
18286 name: String,
18287 description: Option<String>,
18288 definition: CharacterizedDefinitionRef,
18289 },
18290 PropertyDefinitionRepresentation {
18291 definition: RepresentedDefinitionRef,
18292 used_representation: RepresentationRef,
18293 },
18294 QualifiedRepresentationItem {
18295 qualifiers: Vec<ValueQualifierRef>,
18296 },
18297 QuasiUniformCurve,
18298 QuasiUniformSurface,
18299 RatioMeasureWithUnit,
18300 RatioUnit,
18301 RationalBSplineCurve {
18302 weights_data: Vec<f64>,
18303 },
18304 RationalBSplineSurface {
18305 weights_data: Vec<Vec<f64>>,
18306 },
18307 RealLiteral,
18308 RealRepresentationItem,
18309 RepositionedTessellatedItem {
18310 location: Axis2Placement3dRef,
18311 },
18312 Representation {
18313 name: String,
18314 items: Vec<RepresentationItemRef>,
18315 context_of_items: RepresentationContextRef,
18316 },
18317 RepresentationContext {
18318 context_identifier: String,
18319 context_type: String,
18320 },
18321 RepresentationItem {
18322 name: String,
18323 },
18324 RepresentationMap {
18325 mapping_origin: RepresentationItemRef,
18326 mapped_representation: RepresentationRef,
18327 },
18328 RepresentationReference {
18329 id: String,
18330 context_of_items: RepresentationContextReferenceRef,
18331 },
18332 RepresentationRelationship {
18333 name: String,
18334 description: Option<String>,
18335 rep_1: RepresentationOrRepresentationReferenceRef,
18336 rep_2: RepresentationOrRepresentationReferenceRef,
18337 },
18338 RepresentationRelationshipWithTransformation {
18339 transformation_operator: TransformationRef,
18340 },
18341 RoundnessTolerance,
18342 SeamCurve,
18343 SecurityClassificationAssignment {
18344 assigned_security_classification: SecurityClassificationRef,
18345 },
18346 ShapeAspect {
18347 name: String,
18348 description: Option<String>,
18349 of_shape: ProductDefinitionShapeRef,
18350 product_definitional: Option<Logical>,
18351 },
18352 ShapeAspectRelationship {
18353 name: String,
18354 description: Option<String>,
18355 relating_shape_aspect: ShapeAspectRef,
18356 related_shape_aspect: ShapeAspectRef,
18357 },
18358 ShapeDefinitionRepresentation,
18359 ShapeDimensionRepresentation,
18360 ShapeRepresentation,
18361 ShapeRepresentationRelationship,
18362 ShapeRepresentationWithParameters,
18363 ShellBasedSurfaceModel {
18364 sbsm_boundary: Vec<ShellRef>,
18365 },
18366 SiUnit {
18367 prefix: Option<SiPrefix>,
18368 name: SiUnitName,
18369 },
18370 SimpleGenericExpression,
18371 SimpleNumericExpression,
18372 SolidAngleUnit,
18373 SolidModel,
18374 StartRequest {
18375 items: Vec<StartRequestItemRef>,
18376 },
18377 StateObserved {
18378 name: String,
18379 description: Option<String>,
18380 },
18381 StateType {
18382 name: String,
18383 description: Option<String>,
18384 },
18385 StraightnessTolerance,
18386 StyledItem {
18387 styles: Vec<PresentationStyleAssignmentRef>,
18388 item: StyledItemTargetRef,
18389 },
18390 Surface,
18391 SurfaceCurve {
18392 curve_3d: CurveRef,
18393 associated_geometry: Vec<PcurveOrSurfaceRef>,
18394 master_representation: PreferredSurfaceCurveRepresentation,
18395 },
18396 SurfaceProfileTolerance,
18397 SurfaceSideStyle {
18398 name: String,
18399 styles: Vec<SurfaceStyleElementSelectRef>,
18400 },
18401 SurfaceStyleBoundary {
18402 style_of_boundary: CurveOrRenderRef,
18403 },
18404 SurfaceStyleControlGrid {
18405 style_of_control_grid: CurveOrRenderRef,
18406 },
18407 SurfaceStyleFillArea {
18408 fill_area: FillAreaStyleRef,
18409 },
18410 SurfaceStyleParameterLine {
18411 style_of_parameter_lines: CurveOrRenderRef,
18412 direction_counts: Vec<IntMeasureValue>,
18413 },
18414 SurfaceStyleReflectanceAmbient {
18415 ambient_reflectance: f64,
18416 },
18417 SurfaceStyleRendering {
18418 rendering_method: ShadingSurfaceMethod,
18419 surface_colour: ColourRef,
18420 },
18421 SurfaceStyleRenderingWithProperties {
18422 properties: Vec<RenderingPropertiesSelectRef>,
18423 },
18424 SurfaceStyleSegmentationCurve {
18425 style_of_segmentation_curve: CurveOrRenderRef,
18426 },
18427 SurfaceStyleSilhouette {
18428 style_of_silhouette: CurveOrRenderRef,
18429 },
18430 SurfaceStyleUsage {
18431 side: SurfaceSide,
18432 style: SurfaceSideStyleSelectRef,
18433 },
18434 SymbolRepresentation,
18435 SymbolStyle {
18436 name: String,
18437 style_of_symbol: SymbolStyleSelectRef,
18438 },
18439 TerminatorSymbol {
18440 annotated_curve: AnnotationCurveOccurrenceRef,
18441 },
18442 TessellatedGeometricSet {
18443 children: Vec<TessellatedItemRef>,
18444 },
18445 TessellatedItem,
18446 TessellatedShapeRepresentation,
18447 TessellatedStructuredItem,
18448 TextLiteral {
18449 literal: String,
18450 placement: Axis2PlacementRef,
18451 alignment: String,
18452 path: TextPath,
18453 font: FontSelectRef,
18454 },
18455 TextStyle {
18456 name: String,
18457 character_appearance: CharacterStyleSelectRef,
18458 },
18459 TextStyleWithBoxCharacteristics {
18460 characteristics: Vec<MeasureValue>,
18461 },
18462 TextureStyleSpecification,
18463 TextureStyleTessellationSpecification,
18464 TimeUnit,
18465 ToleranceZone {
18466 defining_tolerance: Vec<ToleranceZoneTargetRef>,
18467 form: ToleranceZoneFormRef,
18468 },
18469 ToleranceZoneDefinition {
18470 zone: ToleranceZoneRef,
18471 boundaries: Vec<ShapeAspectRef>,
18472 },
18473 ToleranceZoneWithDatum {
18474 datum_reference: DatumSystemRef,
18475 },
18476 TopologicalRepresentationItem,
18477 ToroidalSurface {
18478 major_radius: f64,
18479 minor_radius: f64,
18480 },
18481 TwoDirectionRepeatFactor {
18482 second_repeat_factor: VectorRef,
18483 },
18484 UnequallyDisposedGeometricTolerance {
18485 displacement: LengthMeasureWithUnitRef,
18486 },
18487 UniformCurve,
18488 UniformSurface,
18489 ValueRepresentationItem {
18490 value_component: MeasureValue,
18491 },
18492 Vector {
18493 orientation: DirectionRef,
18494 magnitude: f64,
18495 },
18496 Vertex,
18497 VertexPoint {
18498 vertex_geometry: PointRef,
18499 },
18500 ViewVolume {
18501 projection_type: CentralOrParallel,
18502 projection_point: CartesianPointRef,
18503 view_plane_distance: f64,
18504 front_plane_distance: f64,
18505 front_plane_clipping: bool,
18506 back_plane_distance: f64,
18507 back_plane_clipping: bool,
18508 view_volume_sides_clipping: bool,
18509 view_window: PlanarBoxRef,
18510 },
18511}
18512
18513#[derive(Debug, Clone, PartialEq)]
18514pub struct ComplexUnit {
18515 pub parts: Vec<UnitPart>,
18516}
18517
18518#[derive(Debug, Default)]
18519pub struct StepModel {
18520 pub(crate) header: crate::header::FileHeader,
18521 pub action_arena: Arena<Action>,
18522 pub action_assignment_arena: Arena<ActionAssignment>,
18523 pub action_directive_arena: Arena<ActionDirective>,
18524 pub action_method_arena: Arena<ActionMethod>,
18525 pub action_method_relationship_arena: Arena<ActionMethodRelationship>,
18526 pub action_property_arena: Arena<ActionProperty>,
18527 pub action_relationship_arena: Arena<ActionRelationship>,
18528 pub action_request_assignment_arena: Arena<ActionRequestAssignment>,
18529 pub action_request_solution_arena: Arena<ActionRequestSolution>,
18530 pub action_resource_arena: Arena<ActionResource>,
18531 pub action_resource_relationship_arena: Arena<ActionResourceRelationship>,
18532 pub action_resource_requirement_arena: Arena<ActionResourceRequirement>,
18533 pub action_resource_type_arena: Arena<ActionResourceType>,
18534 pub address_arena: Arena<Address>,
18535 pub advanced_brep_shape_representation_arena: Arena<AdvancedBrepShapeRepresentation>,
18536 pub advanced_face_arena: Arena<AdvancedFace>,
18537 pub all_around_shape_aspect_arena: Arena<AllAroundShapeAspect>,
18538 pub angular_location_arena: Arena<AngularLocation>,
18539 pub angular_size_arena: Arena<AngularSize>,
18540 pub angularity_tolerance_arena: Arena<AngularityTolerance>,
18541 pub annotation_curve_occurrence_arena: Arena<AnnotationCurveOccurrence>,
18542 pub annotation_fill_area_occurrence_arena: Arena<AnnotationFillAreaOccurrence>,
18543 pub annotation_occurrence_arena: Arena<AnnotationOccurrence>,
18544 pub annotation_occurrence_associativity_arena: Arena<AnnotationOccurrenceAssociativity>,
18545 pub annotation_occurrence_relationship_arena: Arena<AnnotationOccurrenceRelationship>,
18546 pub annotation_placeholder_leader_line_arena: Arena<AnnotationPlaceholderLeaderLine>,
18547 pub annotation_placeholder_occurrence_arena: Arena<AnnotationPlaceholderOccurrence>,
18548 pub annotation_placeholder_occurrence_with_leader_line_arena:
18549 Arena<AnnotationPlaceholderOccurrenceWithLeaderLine>,
18550 pub annotation_plane_arena: Arena<AnnotationPlane>,
18551 pub annotation_symbol_arena: Arena<AnnotationSymbol>,
18552 pub annotation_symbol_occurrence_arena: Arena<AnnotationSymbolOccurrence>,
18553 pub annotation_text_arena: Arena<AnnotationText>,
18554 pub annotation_text_character_arena: Arena<AnnotationTextCharacter>,
18555 pub annotation_text_occurrence_arena: Arena<AnnotationTextOccurrence>,
18556 pub annotation_to_annotation_leader_line_arena: Arena<AnnotationToAnnotationLeaderLine>,
18557 pub annotation_to_model_leader_line_arena: Arena<AnnotationToModelLeaderLine>,
18558 pub apll_point_arena: Arena<ApllPoint>,
18559 pub apll_point_with_surface_arena: Arena<ApllPointWithSurface>,
18560 pub application_context_arena: Arena<ApplicationContext>,
18561 pub application_context_element_arena: Arena<ApplicationContextElement>,
18562 pub application_protocol_definition_arena: Arena<ApplicationProtocolDefinition>,
18563 pub applied_approval_assignment_arena: Arena<AppliedApprovalAssignment>,
18564 pub applied_date_and_time_assignment_arena: Arena<AppliedDateAndTimeAssignment>,
18565 pub applied_document_reference_arena: Arena<AppliedDocumentReference>,
18566 pub applied_external_identification_assignment_arena:
18567 Arena<AppliedExternalIdentificationAssignment>,
18568 pub applied_group_assignment_arena: Arena<AppliedGroupAssignment>,
18569 pub applied_person_and_organization_assignment_arena:
18570 Arena<AppliedPersonAndOrganizationAssignment>,
18571 pub applied_presented_item_arena: Arena<AppliedPresentedItem>,
18572 pub applied_security_classification_assignment_arena:
18573 Arena<AppliedSecurityClassificationAssignment>,
18574 pub approval_arena: Arena<Approval>,
18575 pub approval_assignment_arena: Arena<ApprovalAssignment>,
18576 pub approval_date_time_arena: Arena<ApprovalDateTime>,
18577 pub approval_person_organization_arena: Arena<ApprovalPersonOrganization>,
18578 pub approval_role_arena: Arena<ApprovalRole>,
18579 pub approval_status_arena: Arena<ApprovalStatus>,
18580 pub approximation_tolerance_arena: Arena<ApproximationTolerance>,
18581 pub approximation_tolerance_deviation_arena: Arena<ApproximationToleranceDeviation>,
18582 pub approximation_tolerance_parameter_arena: Arena<ApproximationToleranceParameter>,
18583 pub area_in_set_arena: Arena<AreaInSet>,
18584 pub area_unit_arena: Arena<AreaUnit>,
18585 pub ascribable_state_arena: Arena<AscribableState>,
18586 pub ascribable_state_relationship_arena: Arena<AscribableStateRelationship>,
18587 pub assembly_component_usage_arena: Arena<AssemblyComponentUsage>,
18588 pub auxiliary_leader_line_arena: Arena<AuxiliaryLeaderLine>,
18589 pub axis1_placement_arena: Arena<Axis1Placement>,
18590 pub axis2_placement2d_arena: Arena<Axis2Placement2d>,
18591 pub axis2_placement3d_arena: Arena<Axis2Placement3d>,
18592 pub b_spline_curve_arena: Arena<BSplineCurve>,
18593 pub b_spline_curve_with_knots_arena: Arena<BSplineCurveWithKnots>,
18594 pub b_spline_surface_arena: Arena<BSplineSurface>,
18595 pub b_spline_surface_with_knots_arena: Arena<BSplineSurfaceWithKnots>,
18596 pub bezier_curve_arena: Arena<BezierCurve>,
18597 pub bezier_surface_arena: Arena<BezierSurface>,
18598 pub bounded_curve_arena: Arena<BoundedCurve>,
18599 pub bounded_pcurve_arena: Arena<BoundedPcurve>,
18600 pub bounded_surface_arena: Arena<BoundedSurface>,
18601 pub bounded_surface_curve_arena: Arena<BoundedSurfaceCurve>,
18602 pub brep_with_voids_arena: Arena<BrepWithVoids>,
18603 pub calendar_date_arena: Arena<CalendarDate>,
18604 pub camera_image_arena: Arena<CameraImage>,
18605 pub camera_image3d_with_scale_arena: Arena<CameraImage3dWithScale>,
18606 pub camera_model_arena: Arena<CameraModel>,
18607 pub camera_model_d3_arena: Arena<CameraModelD3>,
18608 pub camera_model_d3_multi_clipping_arena: Arena<CameraModelD3MultiClipping>,
18609 pub camera_model_d3_with_hlhsr_arena: Arena<CameraModelD3WithHlhsr>,
18610 pub camera_usage_arena: Arena<CameraUsage>,
18611 pub cartesian_point_arena: Arena<CartesianPoint>,
18612 pub cc_design_approval_arena: Arena<CcDesignApproval>,
18613 pub cc_design_date_and_time_assignment_arena: Arena<CcDesignDateAndTimeAssignment>,
18614 pub cc_design_person_and_organization_assignment_arena:
18615 Arena<CcDesignPersonAndOrganizationAssignment>,
18616 pub cc_design_security_classification_arena: Arena<CcDesignSecurityClassification>,
18617 pub centre_of_symmetry_arena: Arena<CentreOfSymmetry>,
18618 pub certification_arena: Arena<Certification>,
18619 pub certification_type_arena: Arena<CertificationType>,
18620 pub change_arena: Arena<Change>,
18621 pub change_request_arena: Arena<ChangeRequest>,
18622 pub character_glyph_style_outline_arena: Arena<CharacterGlyphStyleOutline>,
18623 pub character_glyph_style_stroke_arena: Arena<CharacterGlyphStyleStroke>,
18624 pub characterized_item_within_representation_arena:
18625 Arena<CharacterizedItemWithinRepresentation>,
18626 pub characterized_object_arena: Arena<CharacterizedObject>,
18627 pub characterized_representation_arena: Arena<CharacterizedRepresentation>,
18628 pub circle_arena: Arena<Circle>,
18629 pub circular_runout_tolerance_arena: Arena<CircularRunoutTolerance>,
18630 pub closed_shell_arena: Arena<ClosedShell>,
18631 pub coaxiality_tolerance_arena: Arena<CoaxialityTolerance>,
18632 pub colour_arena: Arena<Colour>,
18633 pub colour_rgb_arena: Arena<ColourRgb>,
18634 pub colour_specification_arena: Arena<ColourSpecification>,
18635 pub common_datum_arena: Arena<CommonDatum>,
18636 pub complex_triangulated_face_arena: Arena<ComplexTriangulatedFace>,
18637 pub complex_triangulated_surface_set_arena: Arena<ComplexTriangulatedSurfaceSet>,
18638 pub composite_curve_arena: Arena<CompositeCurve>,
18639 pub composite_curve_segment_arena: Arena<CompositeCurveSegment>,
18640 pub composite_group_shape_aspect_arena: Arena<CompositeGroupShapeAspect>,
18641 pub composite_shape_aspect_arena: Arena<CompositeShapeAspect>,
18642 pub composite_text_arena: Arena<CompositeText>,
18643 pub compound_representation_item_arena: Arena<CompoundRepresentationItem>,
18644 pub concentricity_tolerance_arena: Arena<ConcentricityTolerance>,
18645 pub configuration_design_arena: Arena<ConfigurationDesign>,
18646 pub configuration_effectivity_arena: Arena<ConfigurationEffectivity>,
18647 pub configuration_item_arena: Arena<ConfigurationItem>,
18648 pub conic_arena: Arena<Conic>,
18649 pub conical_surface_arena: Arena<ConicalSurface>,
18650 pub connected_face_set_arena: Arena<ConnectedFaceSet>,
18651 pub constructive_geometry_representation_arena: Arena<ConstructiveGeometryRepresentation>,
18652 pub constructive_geometry_representation_relationship_arena:
18653 Arena<ConstructiveGeometryRepresentationRelationship>,
18654 pub context_dependent_over_riding_styled_item_arena:
18655 Arena<ContextDependentOverRidingStyledItem>,
18656 pub context_dependent_shape_representation_arena: Arena<ContextDependentShapeRepresentation>,
18657 pub context_dependent_unit_arena: Arena<ContextDependentUnit>,
18658 pub continuous_shape_aspect_arena: Arena<ContinuousShapeAspect>,
18659 pub contract_arena: Arena<Contract>,
18660 pub contract_type_arena: Arena<ContractType>,
18661 pub conversion_based_unit_arena: Arena<ConversionBasedUnit>,
18662 pub coordinated_universal_time_offset_arena: Arena<CoordinatedUniversalTimeOffset>,
18663 pub coordinates_list_arena: Arena<CoordinatesList>,
18664 pub curve_arena: Arena<Curve>,
18665 pub curve_style_arena: Arena<CurveStyle>,
18666 pub curve_style_font_arena: Arena<CurveStyleFont>,
18667 pub curve_style_font_and_scaling_arena: Arena<CurveStyleFontAndScaling>,
18668 pub curve_style_font_pattern_arena: Arena<CurveStyleFontPattern>,
18669 pub curve_style_rendering_arena: Arena<CurveStyleRendering>,
18670 pub cylindrical_surface_arena: Arena<CylindricalSurface>,
18671 pub cylindricity_tolerance_arena: Arena<CylindricityTolerance>,
18672 pub date_arena: Arena<Date>,
18673 pub date_and_time_arena: Arena<DateAndTime>,
18674 pub date_and_time_assignment_arena: Arena<DateAndTimeAssignment>,
18675 pub date_role_arena: Arena<DateRole>,
18676 pub date_time_role_arena: Arena<DateTimeRole>,
18677 pub datum_arena: Arena<Datum>,
18678 pub datum_feature_arena: Arena<DatumFeature>,
18679 pub datum_reference_arena: Arena<DatumReference>,
18680 pub datum_reference_compartment_arena: Arena<DatumReferenceCompartment>,
18681 pub datum_reference_element_arena: Arena<DatumReferenceElement>,
18682 pub datum_reference_modifier_with_value_arena: Arena<DatumReferenceModifierWithValue>,
18683 pub datum_system_arena: Arena<DatumSystem>,
18684 pub datum_target_arena: Arena<DatumTarget>,
18685 pub default_model_geometric_view_arena: Arena<DefaultModelGeometricView>,
18686 pub defined_character_glyph_arena: Arena<DefinedCharacterGlyph>,
18687 pub defined_symbol_arena: Arena<DefinedSymbol>,
18688 pub definitional_representation_arena: Arena<DefinitionalRepresentation>,
18689 pub definitional_representation_relationship_arena:
18690 Arena<DefinitionalRepresentationRelationship>,
18691 pub definitional_representation_relationship_with_same_context_arena:
18692 Arena<DefinitionalRepresentationRelationshipWithSameContext>,
18693 pub degenerate_toroidal_surface_arena: Arena<DegenerateToroidalSurface>,
18694 pub derived_shape_aspect_arena: Arena<DerivedShapeAspect>,
18695 pub derived_unit_arena: Arena<DerivedUnit>,
18696 pub derived_unit_element_arena: Arena<DerivedUnitElement>,
18697 pub description_attribute_arena: Arena<DescriptionAttribute>,
18698 pub descriptive_representation_item_arena: Arena<DescriptiveRepresentationItem>,
18699 pub design_context_arena: Arena<DesignContext>,
18700 pub dimensional_characteristic_representation_arena:
18701 Arena<DimensionalCharacteristicRepresentation>,
18702 pub dimensional_exponents_arena: Arena<DimensionalExponents>,
18703 pub dimensional_location_arena: Arena<DimensionalLocation>,
18704 pub dimensional_location_with_path_arena: Arena<DimensionalLocationWithPath>,
18705 pub dimensional_size_arena: Arena<DimensionalSize>,
18706 pub dimensional_size_with_datum_feature_arena: Arena<DimensionalSizeWithDatumFeature>,
18707 pub dimensional_size_with_path_arena: Arena<DimensionalSizeWithPath>,
18708 pub directed_dimensional_location_arena: Arena<DirectedDimensionalLocation>,
18709 pub direction_arena: Arena<Direction>,
18710 pub document_arena: Arena<Document>,
18711 pub document_file_arena: Arena<DocumentFile>,
18712 pub document_product_association_arena: Arena<DocumentProductAssociation>,
18713 pub document_product_equivalence_arena: Arena<DocumentProductEquivalence>,
18714 pub document_reference_arena: Arena<DocumentReference>,
18715 pub document_representation_type_arena: Arena<DocumentRepresentationType>,
18716 pub document_type_arena: Arena<DocumentType>,
18717 pub draughting_annotation_occurrence_arena: Arena<DraughtingAnnotationOccurrence>,
18718 pub draughting_callout_arena: Arena<DraughtingCallout>,
18719 pub draughting_callout_relationship_arena: Arena<DraughtingCalloutRelationship>,
18720 pub draughting_model_arena: Arena<DraughtingModel>,
18721 pub draughting_model_item_association_arena: Arena<DraughtingModelItemAssociation>,
18722 pub draughting_model_item_association_with_placeholder_arena:
18723 Arena<DraughtingModelItemAssociationWithPlaceholder>,
18724 pub draughting_pre_defined_colour_arena: Arena<DraughtingPreDefinedColour>,
18725 pub draughting_pre_defined_curve_font_arena: Arena<DraughtingPreDefinedCurveFont>,
18726 pub draughting_pre_defined_text_font_arena: Arena<DraughtingPreDefinedTextFont>,
18727 pub edge_arena: Arena<Edge>,
18728 pub edge_curve_arena: Arena<EdgeCurve>,
18729 pub edge_loop_arena: Arena<EdgeLoop>,
18730 pub effectivity_arena: Arena<Effectivity>,
18731 pub elementary_surface_arena: Arena<ElementarySurface>,
18732 pub ellipse_arena: Arena<Ellipse>,
18733 pub expression_arena: Arena<Expression>,
18734 pub external_identification_assignment_arena: Arena<ExternalIdentificationAssignment>,
18735 pub external_source_arena: Arena<ExternalSource>,
18736 pub externally_defined_character_glyph_arena: Arena<ExternallyDefinedCharacterGlyph>,
18737 pub externally_defined_curve_font_arena: Arena<ExternallyDefinedCurveFont>,
18738 pub externally_defined_hatch_style_arena: Arena<ExternallyDefinedHatchStyle>,
18739 pub externally_defined_item_arena: Arena<ExternallyDefinedItem>,
18740 pub externally_defined_style_arena: Arena<ExternallyDefinedStyle>,
18741 pub externally_defined_symbol_arena: Arena<ExternallyDefinedSymbol>,
18742 pub externally_defined_text_font_arena: Arena<ExternallyDefinedTextFont>,
18743 pub externally_defined_tile_arena: Arena<ExternallyDefinedTile>,
18744 pub externally_defined_tile_style_arena: Arena<ExternallyDefinedTileStyle>,
18745 pub face_arena: Arena<Face>,
18746 pub face_bound_arena: Arena<FaceBound>,
18747 pub face_outer_bound_arena: Arena<FaceOuterBound>,
18748 pub face_surface_arena: Arena<FaceSurface>,
18749 pub feature_for_datum_target_relationship_arena: Arena<FeatureForDatumTargetRelationship>,
18750 pub fill_area_style_arena: Arena<FillAreaStyle>,
18751 pub fill_area_style_colour_arena: Arena<FillAreaStyleColour>,
18752 pub fill_area_style_hatching_arena: Arena<FillAreaStyleHatching>,
18753 pub fill_area_style_tile_coloured_region_arena: Arena<FillAreaStyleTileColouredRegion>,
18754 pub fill_area_style_tile_curve_with_style_arena: Arena<FillAreaStyleTileCurveWithStyle>,
18755 pub fill_area_style_tile_symbol_with_style_arena: Arena<FillAreaStyleTileSymbolWithStyle>,
18756 pub fill_area_style_tiles_arena: Arena<FillAreaStyleTiles>,
18757 pub flatness_tolerance_arena: Arena<FlatnessTolerance>,
18758 pub founded_item_arena: Arena<FoundedItem>,
18759 pub functionally_defined_transformation_arena: Arena<FunctionallyDefinedTransformation>,
18760 pub general_datum_reference_arena: Arena<GeneralDatumReference>,
18761 pub general_property_arena: Arena<GeneralProperty>,
18762 pub general_property_association_arena: Arena<GeneralPropertyAssociation>,
18763 pub generic_expression_arena: Arena<GenericExpression>,
18764 pub generic_literal_arena: Arena<GenericLiteral>,
18765 pub generic_product_definition_reference_arena: Arena<GenericProductDefinitionReference>,
18766 pub geometric_curve_set_arena: Arena<GeometricCurveSet>,
18767 pub geometric_item_specific_usage_arena: Arena<GeometricItemSpecificUsage>,
18768 pub geometric_representation_context_arena: Arena<GeometricRepresentationContext>,
18769 pub geometric_representation_item_arena: Arena<GeometricRepresentationItem>,
18770 pub geometric_set_arena: Arena<GeometricSet>,
18771 pub geometric_tolerance_arena: Arena<GeometricTolerance>,
18772 pub geometric_tolerance_relationship_arena: Arena<GeometricToleranceRelationship>,
18773 pub geometric_tolerance_with_datum_reference_arena: Arena<GeometricToleranceWithDatumReference>,
18774 pub geometric_tolerance_with_defined_area_unit_arena:
18775 Arena<GeometricToleranceWithDefinedAreaUnit>,
18776 pub geometric_tolerance_with_defined_unit_arena: Arena<GeometricToleranceWithDefinedUnit>,
18777 pub geometric_tolerance_with_maximum_tolerance_arena:
18778 Arena<GeometricToleranceWithMaximumTolerance>,
18779 pub geometric_tolerance_with_modifiers_arena: Arena<GeometricToleranceWithModifiers>,
18780 pub geometrically_bounded_surface_shape_representation_arena:
18781 Arena<GeometricallyBoundedSurfaceShapeRepresentation>,
18782 pub geometrically_bounded_wireframe_shape_representation_arena:
18783 Arena<GeometricallyBoundedWireframeShapeRepresentation>,
18784 pub global_uncertainty_assigned_context_arena: Arena<GlobalUncertaintyAssignedContext>,
18785 pub global_unit_assigned_context_arena: Arena<GlobalUnitAssignedContext>,
18786 pub group_arena: Arena<Group>,
18787 pub group_assignment_arena: Arena<GroupAssignment>,
18788 pub hyperbola_arena: Arena<Hyperbola>,
18789 pub id_attribute_arena: Arena<IdAttribute>,
18790 pub identification_assignment_arena: Arena<IdentificationAssignment>,
18791 pub identification_role_arena: Arena<IdentificationRole>,
18792 pub int_literal_arena: Arena<IntLiteral>,
18793 pub integer_representation_item_arena: Arena<IntegerRepresentationItem>,
18794 pub intersection_curve_arena: Arena<IntersectionCurve>,
18795 pub invisibility_arena: Arena<Invisibility>,
18796 pub item_defined_transformation_arena: Arena<ItemDefinedTransformation>,
18797 pub item_identified_representation_usage_arena: Arena<ItemIdentifiedRepresentationUsage>,
18798 pub leader_curve_arena: Arena<LeaderCurve>,
18799 pub leader_directed_callout_arena: Arena<LeaderDirectedCallout>,
18800 pub leader_terminator_arena: Arena<LeaderTerminator>,
18801 pub length_measure_with_unit_arena: Arena<LengthMeasureWithUnit>,
18802 pub length_unit_arena: Arena<LengthUnit>,
18803 pub limits_and_fits_arena: Arena<LimitsAndFits>,
18804 pub line_arena: Arena<Line>,
18805 pub line_profile_tolerance_arena: Arena<LineProfileTolerance>,
18806 pub literal_number_arena: Arena<LiteralNumber>,
18807 pub local_time_arena: Arena<LocalTime>,
18808 pub loop_arena: Arena<Loop>,
18809 pub make_from_usage_option_arena: Arena<MakeFromUsageOption>,
18810 pub manifold_solid_brep_arena: Arena<ManifoldSolidBrep>,
18811 pub manifold_surface_shape_representation_arena: Arena<ManifoldSurfaceShapeRepresentation>,
18812 pub mapped_item_arena: Arena<MappedItem>,
18813 pub mass_measure_with_unit_arena: Arena<MassMeasureWithUnit>,
18814 pub mass_unit_arena: Arena<MassUnit>,
18815 pub measure_qualification_arena: Arena<MeasureQualification>,
18816 pub measure_representation_item_arena: Arena<MeasureRepresentationItem>,
18817 pub measure_with_unit_arena: Arena<MeasureWithUnit>,
18818 pub mechanical_context_arena: Arena<MechanicalContext>,
18819 pub mechanical_design_and_draughting_relationship_arena:
18820 Arena<MechanicalDesignAndDraughtingRelationship>,
18821 pub mechanical_design_geometric_presentation_representation_arena:
18822 Arena<MechanicalDesignGeometricPresentationRepresentation>,
18823 pub mechanical_design_presentation_representation_with_draughting_arena:
18824 Arena<MechanicalDesignPresentationRepresentationWithDraughting>,
18825 pub mechanical_design_shaded_presentation_representation_arena:
18826 Arena<MechanicalDesignShadedPresentationRepresentation>,
18827 pub model_geometric_view_arena: Arena<ModelGeometricView>,
18828 pub modified_geometric_tolerance_arena: Arena<ModifiedGeometricTolerance>,
18829 pub name_attribute_arena: Arena<NameAttribute>,
18830 pub named_unit_arena: Arena<NamedUnit>,
18831 pub next_assembly_usage_occurrence_arena: Arena<NextAssemblyUsageOccurrence>,
18832 pub numeric_expression_arena: Arena<NumericExpression>,
18833 pub object_role_arena: Arena<ObjectRole>,
18834 pub offset_surface_arena: Arena<OffsetSurface>,
18835 pub one_direction_repeat_factor_arena: Arena<OneDirectionRepeatFactor>,
18836 pub open_shell_arena: Arena<OpenShell>,
18837 pub organization_arena: Arena<Organization>,
18838 pub organization_relationship_arena: Arena<OrganizationRelationship>,
18839 pub organization_role_arena: Arena<OrganizationRole>,
18840 pub organization_type_arena: Arena<OrganizationType>,
18841 pub organization_type_role_arena: Arena<OrganizationTypeRole>,
18842 pub organizational_address_arena: Arena<OrganizationalAddress>,
18843 pub organizational_project_arena: Arena<OrganizationalProject>,
18844 pub organizational_project_relationship_arena: Arena<OrganizationalProjectRelationship>,
18845 pub organizational_project_role_arena: Arena<OrganizationalProjectRole>,
18846 pub oriented_closed_shell_arena: Arena<OrientedClosedShell>,
18847 pub oriented_edge_arena: Arena<OrientedEdge>,
18848 pub over_riding_styled_item_arena: Arena<OverRidingStyledItem>,
18849 pub parallelism_tolerance_arena: Arena<ParallelismTolerance>,
18850 pub parametric_representation_context_arena: Arena<ParametricRepresentationContext>,
18851 pub path_arena: Arena<Path>,
18852 pub pcurve_arena: Arena<Pcurve>,
18853 pub perpendicularity_tolerance_arena: Arena<PerpendicularityTolerance>,
18854 pub person_arena: Arena<Person>,
18855 pub person_and_organization_arena: Arena<PersonAndOrganization>,
18856 pub person_and_organization_address_arena: Arena<PersonAndOrganizationAddress>,
18857 pub person_and_organization_assignment_arena: Arena<PersonAndOrganizationAssignment>,
18858 pub person_and_organization_role_arena: Arena<PersonAndOrganizationRole>,
18859 pub personal_address_arena: Arena<PersonalAddress>,
18860 pub placed_datum_target_feature_arena: Arena<PlacedDatumTargetFeature>,
18861 pub placement_arena: Arena<Placement>,
18862 pub planar_box_arena: Arena<PlanarBox>,
18863 pub planar_extent_arena: Arena<PlanarExtent>,
18864 pub plane_arena: Arena<Plane>,
18865 pub plane_angle_measure_with_unit_arena: Arena<PlaneAngleMeasureWithUnit>,
18866 pub plane_angle_unit_arena: Arena<PlaneAngleUnit>,
18867 pub plus_minus_tolerance_arena: Arena<PlusMinusTolerance>,
18868 pub point_arena: Arena<Point>,
18869 pub point_style_arena: Arena<PointStyle>,
18870 pub poly_loop_arena: Arena<PolyLoop>,
18871 pub polyline_arena: Arena<Polyline>,
18872 pub position_tolerance_arena: Arena<PositionTolerance>,
18873 pub pre_defined_character_glyph_arena: Arena<PreDefinedCharacterGlyph>,
18874 pub pre_defined_colour_arena: Arena<PreDefinedColour>,
18875 pub pre_defined_curve_font_arena: Arena<PreDefinedCurveFont>,
18876 pub pre_defined_item_arena: Arena<PreDefinedItem>,
18877 pub pre_defined_marker_arena: Arena<PreDefinedMarker>,
18878 pub pre_defined_point_marker_symbol_arena: Arena<PreDefinedPointMarkerSymbol>,
18879 pub pre_defined_presentation_style_arena: Arena<PreDefinedPresentationStyle>,
18880 pub pre_defined_surface_side_style_arena: Arena<PreDefinedSurfaceSideStyle>,
18881 pub pre_defined_symbol_arena: Arena<PreDefinedSymbol>,
18882 pub pre_defined_terminator_symbol_arena: Arena<PreDefinedTerminatorSymbol>,
18883 pub pre_defined_text_font_arena: Arena<PreDefinedTextFont>,
18884 pub pre_defined_tile_arena: Arena<PreDefinedTile>,
18885 pub precision_qualifier_arena: Arena<PrecisionQualifier>,
18886 pub presentation_area_arena: Arena<PresentationArea>,
18887 pub presentation_layer_assignment_arena: Arena<PresentationLayerAssignment>,
18888 pub presentation_representation_arena: Arena<PresentationRepresentation>,
18889 pub presentation_set_arena: Arena<PresentationSet>,
18890 pub presentation_size_arena: Arena<PresentationSize>,
18891 pub presentation_style_assignment_arena: Arena<PresentationStyleAssignment>,
18892 pub presentation_style_by_context_arena: Arena<PresentationStyleByContext>,
18893 pub presentation_view_arena: Arena<PresentationView>,
18894 pub presented_item_arena: Arena<PresentedItem>,
18895 pub presented_item_representation_arena: Arena<PresentedItemRepresentation>,
18896 pub product_arena: Arena<Product>,
18897 pub product_category_arena: Arena<ProductCategory>,
18898 pub product_category_relationship_arena: Arena<ProductCategoryRelationship>,
18899 pub product_concept_arena: Arena<ProductConcept>,
18900 pub product_concept_context_arena: Arena<ProductConceptContext>,
18901 pub product_concept_feature_arena: Arena<ProductConceptFeature>,
18902 pub product_concept_feature_category_arena: Arena<ProductConceptFeatureCategory>,
18903 pub product_context_arena: Arena<ProductContext>,
18904 pub product_definition_arena: Arena<ProductDefinition>,
18905 pub product_definition_context_arena: Arena<ProductDefinitionContext>,
18906 pub product_definition_context_association_arena: Arena<ProductDefinitionContextAssociation>,
18907 pub product_definition_context_role_arena: Arena<ProductDefinitionContextRole>,
18908 pub product_definition_effectivity_arena: Arena<ProductDefinitionEffectivity>,
18909 pub product_definition_formation_arena: Arena<ProductDefinitionFormation>,
18910 pub product_definition_formation_with_specified_source_arena:
18911 Arena<ProductDefinitionFormationWithSpecifiedSource>,
18912 pub product_definition_occurrence_arena: Arena<ProductDefinitionOccurrence>,
18913 pub product_definition_relationship_arena: Arena<ProductDefinitionRelationship>,
18914 pub product_definition_relationship_relationship_arena:
18915 Arena<ProductDefinitionRelationshipRelationship>,
18916 pub product_definition_shape_arena: Arena<ProductDefinitionShape>,
18917 pub product_definition_substitute_arena: Arena<ProductDefinitionSubstitute>,
18918 pub product_definition_usage_arena: Arena<ProductDefinitionUsage>,
18919 pub product_definition_with_associated_documents_arena:
18920 Arena<ProductDefinitionWithAssociatedDocuments>,
18921 pub product_related_product_category_arena: Arena<ProductRelatedProductCategory>,
18922 pub projected_zone_definition_arena: Arena<ProjectedZoneDefinition>,
18923 pub property_definition_arena: Arena<PropertyDefinition>,
18924 pub property_definition_relationship_arena: Arena<PropertyDefinitionRelationship>,
18925 pub property_definition_representation_arena: Arena<PropertyDefinitionRepresentation>,
18926 pub qualified_representation_item_arena: Arena<QualifiedRepresentationItem>,
18927 pub quasi_uniform_curve_arena: Arena<QuasiUniformCurve>,
18928 pub quasi_uniform_surface_arena: Arena<QuasiUniformSurface>,
18929 pub ratio_measure_with_unit_arena: Arena<RatioMeasureWithUnit>,
18930 pub ratio_unit_arena: Arena<RatioUnit>,
18931 pub rational_b_spline_curve_arena: Arena<RationalBSplineCurve>,
18932 pub rational_b_spline_surface_arena: Arena<RationalBSplineSurface>,
18933 pub real_literal_arena: Arena<RealLiteral>,
18934 pub real_representation_item_arena: Arena<RealRepresentationItem>,
18935 pub repositioned_tessellated_item_arena: Arena<RepositionedTessellatedItem>,
18936 pub representation_arena: Arena<Representation>,
18937 pub representation_context_arena: Arena<RepresentationContext>,
18938 pub representation_context_reference_arena: Arena<RepresentationContextReference>,
18939 pub representation_item_arena: Arena<RepresentationItem>,
18940 pub representation_map_arena: Arena<RepresentationMap>,
18941 pub representation_reference_arena: Arena<RepresentationReference>,
18942 pub representation_relationship_arena: Arena<RepresentationRelationship>,
18943 pub representation_relationship_with_transformation_arena:
18944 Arena<RepresentationRelationshipWithTransformation>,
18945 pub resource_property_arena: Arena<ResourceProperty>,
18946 pub resource_requirement_type_arena: Arena<ResourceRequirementType>,
18947 pub role_association_arena: Arena<RoleAssociation>,
18948 pub roundness_tolerance_arena: Arena<RoundnessTolerance>,
18949 pub seam_curve_arena: Arena<SeamCurve>,
18950 pub security_classification_arena: Arena<SecurityClassification>,
18951 pub security_classification_assignment_arena: Arena<SecurityClassificationAssignment>,
18952 pub security_classification_level_arena: Arena<SecurityClassificationLevel>,
18953 pub shape_aspect_arena: Arena<ShapeAspect>,
18954 pub shape_aspect_associativity_arena: Arena<ShapeAspectAssociativity>,
18955 pub shape_aspect_deriving_relationship_arena: Arena<ShapeAspectDerivingRelationship>,
18956 pub shape_aspect_relationship_arena: Arena<ShapeAspectRelationship>,
18957 pub shape_definition_representation_arena: Arena<ShapeDefinitionRepresentation>,
18958 pub shape_dimension_representation_arena: Arena<ShapeDimensionRepresentation>,
18959 pub shape_representation_arena: Arena<ShapeRepresentation>,
18960 pub shape_representation_relationship_arena: Arena<ShapeRepresentationRelationship>,
18961 pub shape_representation_with_parameters_arena: Arena<ShapeRepresentationWithParameters>,
18962 pub shell_based_surface_model_arena: Arena<ShellBasedSurfaceModel>,
18963 pub si_unit_arena: Arena<SiUnit>,
18964 pub simple_generic_expression_arena: Arena<SimpleGenericExpression>,
18965 pub simple_numeric_expression_arena: Arena<SimpleNumericExpression>,
18966 pub solid_angle_unit_arena: Arena<SolidAngleUnit>,
18967 pub solid_model_arena: Arena<SolidModel>,
18968 pub spherical_surface_arena: Arena<SphericalSurface>,
18969 pub start_request_arena: Arena<StartRequest>,
18970 pub start_work_arena: Arena<StartWork>,
18971 pub state_observed_arena: Arena<StateObserved>,
18972 pub state_type_arena: Arena<StateType>,
18973 pub straightness_tolerance_arena: Arena<StraightnessTolerance>,
18974 pub styled_item_arena: Arena<StyledItem>,
18975 pub surface_arena: Arena<Surface>,
18976 pub surface_curve_arena: Arena<SurfaceCurve>,
18977 pub surface_of_linear_extrusion_arena: Arena<SurfaceOfLinearExtrusion>,
18978 pub surface_of_revolution_arena: Arena<SurfaceOfRevolution>,
18979 pub surface_profile_tolerance_arena: Arena<SurfaceProfileTolerance>,
18980 pub surface_rendering_properties_arena: Arena<SurfaceRenderingProperties>,
18981 pub surface_side_style_arena: Arena<SurfaceSideStyle>,
18982 pub surface_style_boundary_arena: Arena<SurfaceStyleBoundary>,
18983 pub surface_style_control_grid_arena: Arena<SurfaceStyleControlGrid>,
18984 pub surface_style_fill_area_arena: Arena<SurfaceStyleFillArea>,
18985 pub surface_style_parameter_line_arena: Arena<SurfaceStyleParameterLine>,
18986 pub surface_style_reflectance_ambient_arena: Arena<SurfaceStyleReflectanceAmbient>,
18987 pub surface_style_rendering_arena: Arena<SurfaceStyleRendering>,
18988 pub surface_style_rendering_with_properties_arena: Arena<SurfaceStyleRenderingWithProperties>,
18989 pub surface_style_segmentation_curve_arena: Arena<SurfaceStyleSegmentationCurve>,
18990 pub surface_style_silhouette_arena: Arena<SurfaceStyleSilhouette>,
18991 pub surface_style_transparent_arena: Arena<SurfaceStyleTransparent>,
18992 pub surface_style_usage_arena: Arena<SurfaceStyleUsage>,
18993 pub swept_surface_arena: Arena<SweptSurface>,
18994 pub symbol_colour_arena: Arena<SymbolColour>,
18995 pub symbol_representation_arena: Arena<SymbolRepresentation>,
18996 pub symbol_style_arena: Arena<SymbolStyle>,
18997 pub symbol_target_arena: Arena<SymbolTarget>,
18998 pub symmetry_tolerance_arena: Arena<SymmetryTolerance>,
18999 pub terminator_symbol_arena: Arena<TerminatorSymbol>,
19000 pub tessellated_annotation_occurrence_arena: Arena<TessellatedAnnotationOccurrence>,
19001 pub tessellated_curve_set_arena: Arena<TessellatedCurveSet>,
19002 pub tessellated_face_arena: Arena<TessellatedFace>,
19003 pub tessellated_geometric_set_arena: Arena<TessellatedGeometricSet>,
19004 pub tessellated_item_arena: Arena<TessellatedItem>,
19005 pub tessellated_shape_representation_arena: Arena<TessellatedShapeRepresentation>,
19006 pub tessellated_shell_arena: Arena<TessellatedShell>,
19007 pub tessellated_solid_arena: Arena<TessellatedSolid>,
19008 pub tessellated_structured_item_arena: Arena<TessellatedStructuredItem>,
19009 pub tessellated_surface_set_arena: Arena<TessellatedSurfaceSet>,
19010 pub text_font_arena: Arena<TextFont>,
19011 pub text_literal_arena: Arena<TextLiteral>,
19012 pub text_style_arena: Arena<TextStyle>,
19013 pub text_style_for_defined_font_arena: Arena<TextStyleForDefinedFont>,
19014 pub text_style_with_box_characteristics_arena: Arena<TextStyleWithBoxCharacteristics>,
19015 pub texture_style_specification_arena: Arena<TextureStyleSpecification>,
19016 pub texture_style_tessellation_specification_arena:
19017 Arena<TextureStyleTessellationSpecification>,
19018 pub time_unit_arena: Arena<TimeUnit>,
19019 pub tolerance_value_arena: Arena<ToleranceValue>,
19020 pub tolerance_zone_arena: Arena<ToleranceZone>,
19021 pub tolerance_zone_definition_arena: Arena<ToleranceZoneDefinition>,
19022 pub tolerance_zone_form_arena: Arena<ToleranceZoneForm>,
19023 pub tolerance_zone_with_datum_arena: Arena<ToleranceZoneWithDatum>,
19024 pub topological_representation_item_arena: Arena<TopologicalRepresentationItem>,
19025 pub toroidal_surface_arena: Arena<ToroidalSurface>,
19026 pub total_runout_tolerance_arena: Arena<TotalRunoutTolerance>,
19027 pub trimmed_curve_arena: Arena<TrimmedCurve>,
19028 pub two_direction_repeat_factor_arena: Arena<TwoDirectionRepeatFactor>,
19029 pub type_qualifier_arena: Arena<TypeQualifier>,
19030 pub uncertainty_measure_with_unit_arena: Arena<UncertaintyMeasureWithUnit>,
19031 pub uncertainty_qualifier_arena: Arena<UncertaintyQualifier>,
19032 pub unequally_disposed_geometric_tolerance_arena: Arena<UnequallyDisposedGeometricTolerance>,
19033 pub uniform_curve_arena: Arena<UniformCurve>,
19034 pub uniform_surface_arena: Arena<UniformSurface>,
19035 pub value_format_type_qualifier_arena: Arena<ValueFormatTypeQualifier>,
19036 pub value_representation_item_arena: Arena<ValueRepresentationItem>,
19037 pub vector_arena: Arena<Vector>,
19038 pub versioned_action_request_arena: Arena<VersionedActionRequest>,
19039 pub vertex_arena: Arena<Vertex>,
19040 pub vertex_loop_arena: Arena<VertexLoop>,
19041 pub vertex_point_arena: Arena<VertexPoint>,
19042 pub vertex_shell_arena: Arena<VertexShell>,
19043 pub view_volume_arena: Arena<ViewVolume>,
19044 pub volume_unit_arena: Arena<VolumeUnit>,
19045 pub wire_shell_arena: Arena<WireShell>,
19046 pub complex_unit_arena: Arena<ComplexUnit>,
19047}