Найти - Пользователи
Полная версия: Использование Питона для API Autodesk Inventor
Начало » Центр помощи » Использование Питона для API Autodesk Inventor
1
lexa24
Всех приветствую.

Друзья, следующий вопрос:
Есть задача: получать данные из САПР Autodesk Inventor. Там 3D-модели, у которых есть параметры - размеры, материал и т.д. Хочется обращаться к Инвентору и брать у него эти самые параметры, чтобы потом что-то с ними делать (передавать куда-то дальше или обсчитывать питоном - неважно).
У Инвентора есть свой API, который можно программировать на встроенном VBA. А хочется создать внешнюю программу на питоне для этого.
И вот вопрос: Можно ли это сделать без каких-то специализированных модулей? Если нет, то знает ли кто-нибудь, где можно найти такие модули для Питона?

Спасибо
doza_and
lexa24
Хочется обращаться к Инвентору и брать у него эти самые параметры
lexa24
Инвентора есть свой API, который можно программировать на встроенном VBA.
Это разные задачи. Параметры проще брать из dwg файла. Для этого есть библиотеки на питоне. https://pythonhosted.org/dxfgrabber/ например.

Если надо управлять инвентором (что сложнее). То воспользуйтесь pywin32

lexa24
Можно ли это сделать без каких-то специализированных модулей?
???
Ну конечно можно. Если вы сами напишете специализированный модуль, то чужие не потребуются.
lexa24
doza_and
Спасибо.

На одном форуме посоветовали писать вPyCharm. Сейчас пишу в IDLE.
Разумное предложение или это не особо важно, где писать?
JOHN_16
Код будет работать вкзде;) а так да, не принциаиально, но удобнее
doza_and
lexa24
не особо важно, где писать?
Вообще инструменты важны. Что выбрать зависит от вашего стиля. pycharm ориентирован на работу с проектом. Под windows советуют pyscripter он допускает проекты но можно работать и с отдельными файлами сценариев. Многие работают просто настроив текстовые редакторы под свои нужды/
lexa24
Всем привет

Решилась одна проблемка, о появилось две других:
1) Получается создавать новые файлы Инвентора через Питон, но вот обратиться к его параметрам никак не удается - пишет ошибки, что указанные атрибуты не входят в библиотеки:
import os
import win32com.client
from win32com.client import constants
os.system(r'C://Programm Files/Autodesk/Inventor 2014/Bin/Inventor.exe')
invApp = win32com.client.Dispatch("Inventor.Application")
invApp.Visible = True
asd = invApp.Documents.Add(constants.kPartDocumentObject,"",True)
qwe=invApp.Documents.Item(asd)
#nsk=qwe.PartDocument.Sketches.Add()
#nsk = invApp.ComponentDefinition.Sketches.Add()
#nsk=invApp.Documents.Add(constants.k2DSketchPunchRepresentation, "", True)
#ewq=invApp.Documents.PartDocument(asd).Add


Закомментированные строки - разные попытки добавить скетч в новом файле.

2) Тут вообще тяжко (для меня)

import os
import win32com.client
from win32com.client import constants
#from  import 
os.system(r'C://Programm Files/Autodesk/Inventor 2014/Bin/Inventor.exe')
invApp = win32com.client.Dispatch("Inventor.Application")
invApp.Visible = True
from win32com.client import gencache
mod = gencache.EnsureModule('{D98A091D-3A0F-4C3E-B36E-61F62068D488}', 0, 1, 0)
invApp=mod.Application(invApp) 
oAssemblyDoc=invApp.Documents.Add(constants.kAssemblyDocumentObject, "", True)
asd = invApp.Documents.Add(constants.kPartDocumentObject,"",True)
qwe=invApp.Documents.Item(asd)
oAss = oAssemblyDoc.Activate

При запуске появляется ошибка:
TypeError: ‘module’ object is not callable

На многих форумах пишут, что решение выглядит примерно так:
from YourClass import YourClass
или
from YourClassParentDir import YourClass

Что это значит? Как это реализовать?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB