Пример именования элементов согласно определенным правилам.
Задача: необходимо найти все элементы типа VALV, у которых в наименовании есть слово 'Задвижка' и присвоить каждому уникальный идентификатор, базирующийся на атрибуте Styp из спецификации + номер суффикса.
Решение:
Задача: необходимо найти все элементы типа VALV, у которых в наименовании есть слово 'Задвижка' и присвоить каждому уникальный идентификатор, базирующийся на атрибуте Styp из спецификации + номер суффикса.
Решение:
--сначала проверяем уровень иерархии для которого нужно вести поиск
--и если это не ZONE с атрибутом Purp=PIPE, тогда останавливаем выполнение
if (!!CE.Type NEQ 'ZONE' AND !!CE.Purp NEQ 'PIPE') then
!!Alert.Message('Перейдите на зону с трубами')
RETURN
endif
--если же уровень верный - запрашиваем элементы по критериюПосле команды задания имени следует оператор HANDLE для того, чтобы поймать ошибку, появляющуюся, если имя уже существует и тогда код не прервется, а элемент просто останется непоименованным
VAR !valves COLL ALL VALV WITH (MATCHWILD(DTXR,'*Задвижка*')) FOR CE
--далее запускаем цикл, где по очереди переходим на элементы,
--убираем имя, и задаем новое, согласно правилу V-номер-styp
do !x from 1 to !valves.Size()
$!valves[$!x]
UNNAME
!styp = !!CE.Styp
!newname = '/V-$!x' + '-$!styp'
NAME $!newname
HANDLE (41,12)
ENDHANDL:E
enddo
0 коммент.:
Отправить комментарий