В поставке T-FLEX CAD приведен пример пользовательского действия контроля качества - Имена слоев. Оно проверяет имена всех имеющихся в документе слоёв на соответствие следующим критериям:
•в имени разрешены только кириллические символы, цифры, нижнее подчёркивание и пробелы;
•имя не должно быть длиннее 30 символов.
В примере также прописаны действия по устранению найденных несоответствий: при выборе команды Исправить в контекстном меню результатов проверки слои, не соответствующие упомянутым критериям, переименовываются в Слой_1, Слой_2 и т.д.
Файлы примера расположены в папке установки T-FLEX CAD (по умолчанию: C:\Program Files\T-FLEX CAD 17\API\QualityManagementSample). Логика действия прописана в исходном файле SampleLogic.cs на языке C#.
Чтобы воспользоваться примером, соберите решение QualityManagementSample.sln средствами Microsoft Visual Studio.
Для работы с проектами пользовательских проверок контроля качества рекомендуется установить для Microsoft Visual Studio рабочую нагрузку Разработка классических приложений .NET.
В результате будет создан файл библиотеки QualityManagementSample.dll. Его расположение внутри папки QualityManagementSample зависит от выбранной конфигурации проекта (по умолчанию - QualityManagementSample\bin\Debug). Скопируйте его в папку ...T-FLEX CAD 17\Program. Затем добавьте в собственный или стандартный сценарий контроля качества соответствующее действие и модуль, подключающий данную библиотеку.
В стандартном сценарии контроля качества модуль и действие для данного примера уже прописаны в качестве комментария. Таким образом, можно быстро включить их в стандартный сценарий, раскомментировав соответствующие элементы в файле ...T-FLEX CAD 17\Program\QualityManagement\DefaultScript.tfqms, как показано ниже. Для редактирования данного файла требуются права администратора.
После редактирования стандартного сценария рекомендуется сохранить его под другим именем или в другую папку, т.к. при обновлении T-FLEX CAD файл стандартного сценария заменяется.
<?xml version="1.0" encoding="UTF-8"?>
<Script>
<!--Example Module
<Modules>
<Module Name="QualityManagementSample" Path="QualityManagementSample.dll"/>
</Modules>
-->
<Parameters>
..............
</Parameters>
<Actions>
<!--Example Module Actions
<Action Name="Имена слоёв" Uid="96d2999d-2f59-492d-b71e-64185753c0de" LogicUid="07bc3705-0bc8-4833-b515-2cc8fb1eaa06" Tags="2D/3D" IsSkipped="true"/>
-->
<?xml version="1.0" encoding="UTF-8"?>
<Script>
<!--Example Module-->
<Modules>
<Module Name="QualityManagementSample" Path="QualityManagementSample.dll"/>
</Modules>
<Parameters>
..............
</Parameters>
<Actions>
<!--Example Module Actions-->
<Action Name="Имена слоёв" Uid="96d2999d-2f59-492d-b71e-64185753c0de" LogicUid="07bc3705-0bc8-4833-b515-2cc8fb1eaa06" Tags="2D/3D" IsSkipped="true"/>
Для данного действия в файле сценария прописан тег 2D/3D, используемый для группировки действий в окне контроля качества, а также атрибут IsSkipped="true", означающий, что действие будет выключено по умолчанию после загрузки сценария (для включения действия установите его флаг в окне контроля качества).