ГОСТ Р ИСО 10303-44—2022
тот же объект типа, входящего в список выбора типа данных product_definition_or_reference, который
играет роль атрибута relating_product_definition (связывающее определение изделия) у следующего
объекта next_assembly_usage_occurrence в списке.
EXPRESS-спеииФикаиия:
*)
FUNCTION unambiguously_specified_multi_level_reference_designator
(links :LIST[1:?] OF next_assembly_usage_occurrence) :BOOLEAN;
REPEAT i := 1 to SIZEOF(links) - 1;
--case 1 all in one file; had to disambiguate
instance type to distinguish case 1 from case
link[i].relating
3.
CASE TRUE OF
(’PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION’ IN
TYPEOF(links[i]\product_definition_relationship.relating_product_definition))
AND
(’PRODUCT_DEFINITION__SCHEMA.PRODUCT_DEFINITION’ IN
TYPEOF(links[i]\product_definition_relationship.related_product_definition))
AND
(’PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION’ IN
TYPEOF(links[i+1]\product_definition_relationship.relating_product_
definition)) :
BEGIN
IF NOT (
(links[i]\product_definition_relationship.related_product_definition
links[i+1]\product_definition_relationship.relating_product_definition)
OR
((SIZEOF (QUERY (pdr <*
USEDIN(links[i]\product_definition_relationship.related_product_definition,
’PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION_RELATIONSHIP.’ +
’RELATED_PRODUCT_DEFINITION’) |
pdr\product_definition_relationship.relating_product_definition :=:
links[i+1]\product_definition_relationship.relating_product_definition)) = 1)
AND
(links[i]\product_definition_relationship.related_product__definition\product_
definition.formation\product_definition_formation.of_product
links[i+1]\product_definition_relationship.relating_product_definition
\product_definition.formation\product_definition_formation.of_product)))
THEN
RETURN(FALSE);
END_IF;
END;
from main to external file or
links[i].relating instance
--case 2 ; intermediate node reference
both node references in external file,
can be either pd or pdref.
(’PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION_REFERENCE’ IN
TYPEOF(links[i]\product_definition_relationship.related_product_definition))
AND
(’PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION_REFERENCE’ IN
TYPEOF(links[i+1]\product_definition_relationship.relating_product_
definition)) :
BEGIN
IF NOT (
(links[i]\product_definition_relationship.related_product_definition
22