Navisworks Addin 插件集成


調用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());
            }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM