調用Navisworks的 Api . 我這里是基於.NET 開發的.
我主要是嘗試着獲取一下工程量的API。不過還在研究。
插件的啟動入口.
//插件描述
[PluginAttribute("BJYTTakeOff","ADSK",DisplayName = "工程量查看")]
public class AddinActvitor : AddInPlugin
{
//執行
public override int Execute(params string[] parameters)
{
FrmTakeOff takeOff=new FrmTakeOff();
takeOff.ShowDialog();
return 0;
}
}
try { //獲取工程量對象 if (Autodesk.Navisworks.Api.Application.MainDocument != null) { DocumentTakeoff docTakeoff = Autodesk.Navisworks.Api.Application.MainDocument.GetTakeoff(); //獲取條目表 // ItemTable table = docTakeoff.Items; //開始數據庫操作 if (docTakeoff != null) { using (NavisworksCommand cmd = docTakeoff.Database.Value.CreateCommand()) { //SQL句法 // TK_ITEM是條目表在數據庫中的名字 cmd.CommandText = "SELECT ID,Parent,Name FROM TK_ITEM"; //讀取數據庫 DataTable dt = new DataTable(); NavisworksDataAdapter sdAdapter = new NavisworksDataAdapter(cmd); sdAdapter.Fill(dt); if (dt.Rows.Count > 0) { treeList1.DataSource = dt; } } } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); }

