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());

            }

Navisworks Addin 插件集成

你可能感兴趣的:(add)