我如何通过 IronPython 使用其NET API从 Navisworks .NWD文件获取信息(主要是Orden中每个项目的名称,以确认所有零件均已建模)。
我没有C#的经验,但是有python的经验,所以我想使用IronPython。
我了解NavisPythonShell,但经过一些尝试,它对我不起作用。插件运行后,Navisworks崩溃了。
无论如何,我使用IronPython取得了一些进步。 Navisworks会打开,加载文件并关闭,但是使用Autodesk.Navisworks.Api.Application.ActiveDocument,只能得到NoneType“对象”。
import sys, clr
navis_path = r'C:\Program Files\Autodesk\Navisworks Manage 2017'
nw_model = r'C:\Users\myName\Client\navis\nodel.nwd'
sys.path.append(navis_path)
clr.AddReference('Autodesk.Navisworks.Api')
clr.AddReference('Autodesk.Navisworks.Automation')
clr.AddReference('Autodesk.Navisworks.Controls')
from Autodesk.Navisworks.Api import *
from Autodesk.Navisworks.Api.Automation import *
from Autodesk.Navisworks.Api.Controls import *
nw = NavisworksApplication()
nw.Visible = True
nw.OpenFile(nw_model)
doc = Application.ActiveDocument
文档类型等于“ NoneType”
答案 0 :(得分:0)
Autodesk.Navisworks.Api.Application
可在插件中访问。
仅使用Automation API,您可以做的是打开文件,追加文件,合并文件等。要获得更多功能,例如访问活动文档,操纵模型,您将需要编写插件,并在Automation中调用该插件。由NavisworksApplication.ExecuteAddInPlugin
。
虽然您只想做一些批处理工作,但是.NET DocumentControl也是一个选择。 SDK\api\NET\examples\Controls\PublishFile
中有一个示例,它可以像插件一样发布文件,您也可以通过Autodesk.Navisworks.Api.Application.ActiveDocument
访问活动文档。