Overview Schemas Index

AIC_MACHINING_FEATURE (jsdai.SAic_machining_feature)


RULE machining_feature_definition_constraints FOR (feature_definition);
LOCAL
  mfds : SET OF feature_definition := [];
END_LOCAL;
  mfds := QUERY(temp <* feature_definition | 'AIC_MACHINING_FEATURE.MACHINING_FEATURE_DEFINITION' IN TYPEOF (temp) );
WHERE
          wr1: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF(QUERY( pdr <*
       get_property_definition_representations (mfd) |
         'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS' 
       IN TYPEOF ( pdr.used_representation ) ) ) <=1 ) ) ) = 0;
          wr2: SIZEOF(QUERY( mfd <* mfds | NOT  (SIZEOF (QUERY (pd <* USEDIN  (mfd, 
        'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
        NOT  (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
        'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
        'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
        IN  TYPEOF  (pdr.used_representation)) |
        NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
        ('GEOMETRY_SCHEMA.PLACEMENT' 
        IN TYPEOF (it)) AND (it.name = 'orientation'))) = 1))) = 0))) = 0 ) ) ) = 0;
          wr3: SIZEOF(QUERY( mfd <* mfds | NOT ((NOT (SIZEOF(['AIC_MACHINING_FEATURE.ROUND_HOLE',
        'AIC_MACHINING_FEATURE.BOSS',
        'AIC_MACHINING_FEATURE.OUTSIDE_PROFILE',
        'AIC_MACHINING_FEATURE.REMOVAL_VOLUME',
        'AIC_MACHINING_FEATURE.FLAT_FACE',
        'AIC_MACHINING_FEATURE.POCKET',
        'AIC_MACHINING_FEATURE.PROTRUSION',
        'AIC_MACHINING_FEATURE.RIB_TOP',
        'AIC_MACHINING_FEATURE.ROUNDED_END',
        'AIC_MACHINING_FEATURE.SLOT',
        'AIC_MACHINING_FEATURE.STEP'] * TYPEOF(mfds)) = 1))   OR 
     ((SIZEOF(QUERY(pdr <* get_property_definition_representations (mfd) | 
        ( 'AIC_MACHINING_FEATURE.PLANAR_SHAPE_REPRESENTATION' 
        IN TYPEOF ( pdr.used_representation ) ) AND 
        ( pdr.used_representation.name ='maximum feature limit'))) >=0)) ) ) ) = 0;
END_RULE; -- machining_feature_definition_constraints

public class RMachining_feature_definition_constraints
          public int rWr3(SdaiContext _context)
          public int rWr2(SdaiContext _context)
          public int rWr1(SdaiContext _context)
          public int run(SdaiContext _context, A_string violations)