Если для файлов данных требуется периодическое обновление или они используются в нескольких проектах Configurator 360, то загружать копии таких файлов для каждого проекта необязательно. Вместо этого можно загрузить такой файл как общий файл. В правилах проектирования можно считывать содержимое общего файла, используя стандартные функции .NET или Intent. Общий файл можно в любое время обновить, не изменяя и не обновляя сами проекты.
Файлы данных могут поступать из любых источников, включая базы данных, таблицы Excel или отредактированные вручную файлы CSV или XML.
В интерфейсе администратора Configurator 360 перейдите на вкладку «Свойства»
«Общие файлы».
Нажмите кнопку «Выбрать файлы», чтобы выбрать и загрузить файлы для совместного использования. Для создания вложенных папок используйте кнопку «Создать папку». Общий доступ к файлам предоставляется всем администраторам каталога.
Скопируйте файл iLogicVb в папку за пределами рабочего пространства проекта Inventor (например, C:\iLogicRules). Это глобальная папка для внешних правил iLogic.
Перейдите в меню "Сервис"
"Параметры"
"Конфигурация iLogic", чтобы поместить правила iLogic в эту папку. Эта команда доступна в раскрывающемся меню в нижней части панели "Параметры".
Добавьте три файла IKS в путь для поиска в Intent. Рекомендуется использовать папку ivHostlib (например, C:\Program Files\Autodesk\Inventor ETO 20xx\Library\Inventor\ivhostlib).
Определение функции:
Function GetSharedDataFile(sharedFilePath As String) As String
sharedFilePath — это путь к общедоступному файлу (относительно корневой папки). В качестве разделителя каталогов в пути можно использовать прямую косую черту или обратную косую черту. Если файл находится непосредственно в корневой папке, следует указать его имя и расширение в виде «имя_файла.расширение». Функция возвращает полный путь Windows к файлу.
1. Вызовите эту функцию из правила с именем C360_RefreshSharedData.
2. Создайте правило в документе, где содержатся параметры, отображаемые в C360. Из этого правила необходимо извлечь все общие данные. При загрузке проекта правило будет запущено в Configurator 360. Это необходимо, чтобы подтвердить использование актуальной версии общих данных.
3. Используйте любую функцию чтения для доступа к содержимому файла.
Вызов функции GetSharedDataFile() выполняется из определенных деталей-оболочек. Выполните следующие действия:
Design MySharedFileCollection : C360CommonFileCollection
Child MySharedFile As :C360SharedDataFile
SharedPath = "MyFile.txt"
End Child
End Design
В данном проекте каждая дочерняя деталь содержит единый общий файл. Добавьте необходимые детали. Параметр SharedPath используется системой как аргумент для функции GetSharedDataFile().
Dim localPath As String = MySharedFileCollection.MySharedFile.LocalPath
В ETO Intent доступ к общим данным можно получить в любой точке кода. Ни одно из указанных выше ограничений для iLogic не применимо к ETO.
Обновить общие файлы в Configurator 360 можно в любое время. При первом создании ссылки на общий файл в сеансе моделирования Configurator 360 программа проверяет наличие новой версии файла. В новых сеансах всегда используются последние версии файлов. Если файл обновлен уже во время сеанса, то проверка новых версий в течение этого сеанса не выполняется. В этом случае новые версии будут отображаться только в последующих сеансах.
При открытии модели с запросом цены, который создали с использованием данных из одного или нескольких общих файлов, модель по-прежнему будет ссылаться на исходные (устаревшие) версии, использованные в ходе сеанса, в котором была создана исходная модель.
Configurator 360 не проверяет зависимости между общими файлами. Для удобства обновления рекомендуется объединить все зависимые данные (например две таблицы в одной и той же базе данных) в один файл. Это поможет избежать возможных проблем. В этом случае в ходе одного сеанса Configurator 360 новую версию одного файла нельзя будет загрузить одновременно с несовместимой устаревшей версией другого. Однако если две таблицы сохранены в два отдельных файла, эта ошибка может возникнуть.
ETO и iLogic не должны одновременно иметь доступ к общим данным в одном проекте. Если проект ETO содержит детали или узлы с правилами iLogic, то такие правила не должны обращаться к общим файлам данных. Вместо этого следует получить общие данные из правил Intent и передать требуемые значения в компоненты iLogic.
Из правила C360_RefreshSharedData в iLogic можно прочитать один или несколько общих файлов.
Ниже приведен простой пример правила C360_RefreshSharedData.
Оператор AddVbRule обеспечивает выполнение функции GetSharedDataFile.
AddVbFile "C360SharedFilesAccess.iLogicVb"
Dim localPath As String = GetSharedDataFile("WidthFactor.txt")
Dim fileContents As String = IO.File.ReadAllText(localPath)
Dim widthFactorX As Double
If Double.TryParse(fileContents, widthFactorX) Then
Parameter("WidthFactor") = widthFactorX
End If
Это правило выполняет чтение текстового файла, который содержит одну строку с одним числовым значением. Затем правило назначает это значение параметру с именем WidthFactor. Данный параметр можно использовать в другом правиле, чтобы установить связь между двумя параметрами:
Width = Length * WidthFactor