日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

获取族_批量添加族参数(上)

發布時間:2024/9/3 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取族_批量添加族参数(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????隨著BIM技術在工程行業的普及,不少設備供應商也因此被拉下了水,一些項目的BIM實施細則就要求設備進場之前就必須提供設備的LOD400-500精度的BIM模型。BIM的精髓在于信息,做的再精細而沒有信息的模型也只能當成“花瓶”來看。信息是模型的靈魂,畢竟有趣的靈魂才萬里挑一。那么就來研究一下批量添加設備族參數信息。

????????思路是這樣的:先從表格中讀取參數名和相應參數值,根據讀取到的參數名新建族參數,將參數值寫入到對應的參數名中去。這看上去就和把大象放進冰箱那三步是一樣的簡單。

  • 從excel表格讀取數據

  • 先把參數信息整理成如下圖的表格:

    用Data.ImportExcel從excel表格文件中讀取數據,由于dynamo讀取數據默認是按照行讀取,并且第一行的表頭是無效數據,所以通過List.RestOfItems只保留除第一行外的數據并進行行列轉置List.Transpose將數據處理成需要的形式。

    ????2.新建參數

    ????????新建參數用到的是Orchid節點包中的Parameter.AddParameter節點,分別配置輸入端:用Orchid節點包中的Document.Current獲取當前文檔,第一步讀取到的參數名,參數類型為文字,參數分組為文字,提示這里設置為空“”,非實例參數(即類型參數),非報告參數。

    ????3.參數值寫入

    寫參數值主要是用Parameter.SetValue,輸入端分別輸入:當前文檔,當前文檔的族類型,參數名,參數值。由于建參數和寫參數存在先后的邏輯關系,建完參數后,才能寫參數。這里用到的是DataStream.Await節點,同樣位于Orchid節點包中,waitFor是先運行的等待的節點,pass的是后運行的被等待的節點。若沒有此節點在寫參數是程序會報錯提示找不到該參數。

    看一下運行效果:

    同樣的,可以用同樣的方法批量添加共享參數。

    補充一下:一開始我是想通過Parameter.CreateProjectParameter配合Element.SetParameterByName來實現此功能,發現并不奏效,因為用Parameter.CreateProjectParameter是在項目環境中創建的項目參數。這樣做將族載入到項目中在項目環境下運行程序,看似參數名也加上了,參數值也寫入了。但是添加的參數信息只能依附于當前的項目環境,并不能獨立存在于其族環境。

    ????????好了,今天的文章批量添加族參數(上)實際是為單個族文件添加批量的參數就到這里,下次寫一下批量添加族參數(下)為批量族文件添加單個參數。

    歡迎閱讀,分享,交流,批評指正。

    如轉載請注明出處,否則追究法律責任(說說而已,全靠自覺)。

    總結

    以上是生活随笔為你收集整理的获取族_批量添加族参数(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。