(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC/AP242
ENTITY machining_process_executable
SUBTYPE OF (process_operation);
WHERE
WR1: NOT (0 = SIZEOF(TYPEOF(SELF) * [
'STEP_MERGED_AP_SCHEMA.MACHINING_FEATURE_PROCESS',
'STEP_MERGED_AP_SCHEMA.MACHINING_NC_FUNCTION',
'STEP_MERGED_AP_SCHEMA.MACHINING_WORKINGSTEP',
'STEP_MERGED_AP_SCHEMA.MACHINING_WORKPLAN'
])) OR (SELF.description IN [ 'assignment', 'if statement',
'non-sequential', 'parallel', 'selective', 'while statement',
'setup instructions' ]);
WR2: NOT (SELF.description = 'assignment') OR ((
verify_required_action_property(SELF, 'lvalue') AND
verify_rep_item_for_action_property(SELF, 'lvalue', [
'STEP_MERGED_AP_SCHEMA.EXPRESSION_REPRESENTATION_ITEM'
,
'STEP_MERGED_AP_SCHEMA.NUMERIC_VARIABLE'
])) AND verify_required_action_property(SELF, 'rvalue')) AND
verify_rep_item_for_action_property(SELF, 'rvalue', [
'STEP_MERGED_AP_SCHEMA.EXPRESSION_REPRESENTATION_ITEM'
]);
WR3: NOT (SELF.description = 'if statement') OR ((((
verify_required_action_property(SELF, 'condition') AND
verify_rep_item_for_action_property(SELF, 'condition', [
'STEP_MERGED_AP_SCHEMA.EXPRESSION_REPRESENTATION_ITEM'
,
'STEP_MERGED_AP_SCHEMA.BOOLEAN_EXPRESSION'
])) AND verify_required_relating_amr_with_name(SELF,
'true branch', [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'
])) AND verify_related_type_for_amr_with_name(SELF,
'true branch', [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'
], [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_EXECUTABLE'
])) AND verify_optional_relating_amr_with_name(SELF,
'false branch', [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'
])) AND verify_related_type_for_amr_with_name(SELF,
'false branch', [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'
], [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_EXECUTABLE'
]);
WR4: NOT (SELF.description = 'while statement') OR ((
verify_required_action_property(SELF, 'condition') AND
verify_rep_item_for_action_property(SELF, 'condition', [
'STEP_MERGED_AP_SCHEMA.EXPRESSION_REPRESENTATION_ITEM'
,
'STEP_MERGED_AP_SCHEMA.BOOLEAN_EXPRESSION'
])) AND verify_required_relating_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BODY_RELATIONSHIP'
])) AND verify_related_type_for_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BODY_RELATIONSHIP'
], [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_EXECUTABLE'
]);
WR5: NOT (SELF.description = 'parallel') OR (2 <=
get_count_of_relating_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_CONCURRENT_RELATIONSHIP'
])) AND verify_related_type_for_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_CONCURRENT_RELATIONSHIP'
], [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_EXECUTABLE'
]);
WR6: NOT (SELF.description = 'non-sequential') OR (2 <=
get_count_of_relating_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BODY_RELATIONSHIP'
])) AND verify_related_type_for_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BODY_RELATIONSHIP'
], [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_EXECUTABLE'
]);
WR7: NOT (SELF.description = 'selective') OR (2 <=
get_count_of_relating_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'
])) AND verify_related_type_for_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_BRANCH_RELATIONSHIP'
], [
'STEP_MERGED_AP_SCHEMA.MACHINING_PROCESS_EXECUTABLE'
]);
WR8: NOT (SELF.description = 'setup instructions') OR
verify_related_type_for_amr(SELF, [
'STEP_MERGED_AP_SCHEMA.MACHINING_OPERATOR_INSTRUCTION_RELATIONSHIP'
], [
'STEP_MERGED_AP_SCHEMA.MACHINING_OPERATOR_INSTRUCTION'
]);
END_ENTITY;
|
Generated by STEP Tools® EXPRESS to HTML Converter
2025-09-04T17:14:53-04:00