Solidworks PDM API использует несколько серийных номеров при добавлении файла в хранилище. Должно ли что-то быть изменено в моем коде или в моем хранилище? - PullRequest
0 голосов
/ 20 января 2020

Ниже приведен пример того, что я пытаюсь выполнить sh:

ModelDoc2 topAssembly = swApp.ActiveDoc

EdmVault5 vault = new EdmVault5();
if (!vault.IsLoggedIn) vault.LoginAuto("Sandbox_Vault", 0);

PackAndGo packNGo = topAssembly.Extension.GetPackAndGo();
packNGo.IncludeDrawings = true;

IEdmFolder5 CADFolder = vault.RootFolder.AddFolder(0, "CAD");

object partPathList, docStatusList;
bool status = packNGo.GetDocumentSaveToNames(out partPathList, out docStatusList);

foreach (string path in partPathList as string[]) CADFolder.AddFile(0, path);

Запуск этого кода успешно добавит файлы в хранилище. Однако каждый добавленный файл теперь имеет различный серийный номер для каждой конфигурации (включая конфигурации "@" и "по умолчанию"). Когда я создаю новый файл непосредственно в хранилище, он настраивается так, чтобы каждая конфигурация автоматически разделяла один серийный номер . Почему это отличается в этом сценарии? Есть ли способ добавить эти добавленные файлы в обычные * mimi c и использовать один серийный номер во всех конфигурациях?

1 Ответ

0 голосов
/ 21 апреля 2020

К сожалению, я не могу комментировать из-за репутации, но я бы посоветовал проверить, что в настройках карты данных не указана папка c и она используется для вновь созданной папки, в которую вы помещаете файлы.

Кроме того, я заметил, что вы не передаете какие-либо EdmAddFlags в AddFileMethod - это возможные варианты (вы можете передать несколько):

https://help.solidworks.com/2014/English/api/epdmapi/EPDM.Interop.epdm~EPDM.Interop.epdm.EdmAddFlag.html

CADFolder.AddFile(0, path, EdmAddFlag.EdmAdd_KeepExistingSerialNumbers);
...