import math
from datetime import datetime
# import pythoncom
from win32com.client import Dispatch, gencache
'''
-----------------------------------------------------------------------------
inventor v2016
-----------------------------------------------------------------------------
'''
import inventorApiV16 as inventorApi
from 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.TransientObjects
oTransientObject = 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 = None
oSTPTranslator.Open(oDataMedium, oTranslationContext, oOptions, oDoc)