ADN Club > Inventor API

Импорт step файла

(1/1)

izhgtumekhanik:
Доброго, не могу понять как импортировать step файл.

Дело в том такая запись ошибочна - options.Value("SaveComponentDuringLoad") = True.

И поэтому код не хочет работать и я не пойму как указывается параметры детали как - составная/сшивание/отдельная.


--- Код - Python [Выбрать] ---import mathfrom datetime import datetime # import pythoncomfrom win32com.client import Dispatch, gencache '''-----------------------------------------------------------------------------    inventor v2016-----------------------------------------------------------------------------''' import inventorApiV16 as inventorApifrom inventorApiV16 import constants as in_const_ AppInvCom = Dispatch('Inventor.Application')AppInvType = inventorApi.Application(AppInvCom) file_import = r"D:\test\Корпус.stp" oSTPTranslator = AppInvCom.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}")oSTPTranslator = inventorApi.TranslatorAddIn(oSTPTranslator) oTransientObject = AppInvCom.TransientObjectsoTransientObject = inventorApi.TransientObjects(oTransientObject) oDataMedium = oTransientObject.CreateDataMedium()oDataMedium = inventorApi.DataMedium(oDataMedium) oDataMedium.FileName = file_import oTranslationContext = oTransientObject.CreateTranslationContext()oTranslationContext = inventorApi.TranslationContext(oTranslationContext) oTranslationContext.Type = in_const_.kDataDropIOMechanism oOptions = oTransientObject.CreateNameValueMap()oOptions = inventorApi.NameValueMap(oOptions) print(oOptions.Count) #сохранение компонента во время загрузкиoOptions.Value("SaveComponentDuringLoad", True) # не совсем понятноoOptions.Value("SaveLocationIndex", 0) # путь к папке, в которую будет сохранен компонент.oOptions.Value("ComponentDestFolder", "") # импорт твердых телoOptions.Value("ImportSolid", True) # импорт поверхностейoOptions.Value("ImportSurface", False) #импорт проволочных моделейoOptions.Value("ImportWire", False) #импорт точекoOptions.Value("ImportPoint", False) #Задает индекс для создания поверхностиoOptions.Value("CreateSurfIndex", 1) #Задает индекс имени группыoOptions.Value("GroupNameIndex", 0) #указать имя группыoOptions.Value("GroupName", "") #Задает уровень группы элементов совместной средыoOptions.Value("CEGroupLevel", 0) #отключение префиксаoOptions.Value("CEPrefixCk", False) #Здесь можно указать префиксoOptions.Value("CEPrefixString", "") #Задает единицы измерения при импортеoOptions.Value("ImportUnit", 0) #отключение проверки во время загрузкиoOptions.Value("CheckDuringLoad", False) #автоматическое объединениеoOptions.Value("AutoStitchAndPromote", True) #отключение расширенного восстановленияoOptions.Value("AdvanceHealing", False) oDoc = NoneoSTPTranslator.Open(oDataMedium, oTranslationContext, oOptions, oDoc)

izhgtumekhanik:
Объект oOptions - список(dict) который имеет следующие объекты 'Add', 'CLSID', 'Clear', 'Count', 'Insert', 'Item', 'Name', 'Remove', 'SetValue', 'Value'
Логически предположить получит число записей в ней, а оно почему то равно нулю print(oOptions.Count) = 0
И как программно получить список oOptions? - получается он пуст?
Отсюда использовать SetValue заместо Value вполне логично или Add.

oOptions.Value("SaveComponentDuringLoad") = True - так везде пишут и в хелпе тоже

Но Python не может функции присваивать значения и ругается на избыточность входных параметров oOptions.Value("SaveComponentDuringLoad", True).

izhgtumekhanik:
Да! так и есть список(dict) пуст и после SetValue - заполняется.


--- Цитата: izhgtumekhanik от 15-10-2023, 09:41:16 ---И как программно получить список oOptions?
--- Конец цитаты ---
получается не как ? (получить имена - SaveComponentDuringLoad/GroupNameIndex и тд)

izhgtumekhanik:
начал различные манипуляции проводить с этими опциями - не работает :(

Навигация

[0] Главная страница сообщений

Перейти к полной версии