偷懶一陣子沒發文,沒想到Dynamo & Revit卻有了新版本,眼看一個月至少一篇文章的計畫就快失敗了~  =口= 趕快來更新文章 (刷存在感)!!

Dynamo正式進入1.0了,其中 Revit 2017更正式將Dynamo 1.0嵌入為正式功能!更多資訊要參考一下官方 Blog : Dynamo 1.0.0 Release 。

雖然1.0了,但小弟的功力卻也沒有進入1.0…. 所以仍然要繼續的筆記文章,好好學習/複習一下,這篇文章要筆記的是關於Custom Nodes的Icons設定,也就是給予我們自己設定好的模塊一個漂亮的外觀^^

學習來源是GitHub-DynamoDS裡面的文章 : Creating Icons for Custom Nodes,而另一篇 Add Icons for a Zero Touch Assembly則是為Zero-Touch建立圖示的方法,其實步驟都蠻類似的,或許也可以參考著用。

先讓大家看看成果~

如果有興趣的話,再繼續往下看囉~

操作步驟如下,如果有任何問題歡迎您留言討論~

01.首先我們要先知道Custom Nodes的ID (這個ID是用來讓每個Node都有不同圖案),如果全部Icon都要一樣的話,可以忽略這一步。

操作方式就是以“記事本"開啟Node.dyf,接著就可以找到ID,如上圖紅框部分。

02.打開Visual Studio,這個時候可能有人覺得熟悉? 覺得可怕? 覺得那是什麼?

如果您覺得熟悉,那太棒了,這邊的使用方法沒有很困難,可以讓大家更有信心~沒聽過的人可以參考微軟的介紹,或是Yotube上的影片介紹,這是Visual Studio下載點

新增專案之後選擇“類別庫"(Visual C# > Class Library)

接著新增項目-資源庫,並且命名為 : PackageImages.resx

03.輸入圖片的方式是點擊PackageImagers.resx的內容,選擇加入資源,通常應該是選擇加入現有資源,例如PNG、JPEG之類的圖檔,當然也可以直接用VS自己畫一個,另外也建議輸入圖檔之前,先行命名圖檔名稱。

 

1.預設的圖案設定可以用"DefaultCustomNode.Large"&"DefaultCustomNode.Small",如果要讓其他的Node圖片不同,則直接"(ID).Large"&"(ID).Small"即可。

2.特別要注意,每張圖檔的Persistence務必選擇 “內嵌於.resx"

04.存取修飾詞要選擇“沒有程式碼產生"

下圖舉例,以ID命名圖檔,另外.Large或.Small可以用不同的圖檔喔!

 

05.重點來了!! 這一步如果沒有執行一定會失敗!!

1.以記事本開啟XXX.csproj

2.找到BeforeBuild的部分

在BeforeBuild內加入以下內容,來源是GitHub,加入之後必須要刪除下圖紅框標註部分,就是 <!– 內容…. –>這兩段標註要刪除,才能讓 BeforeBuild 或是 AfterBuild有作用

<Target Name="BeforeBuild">
<GetReferenceAssemblyPaths TargetFrameworkMoniker=".NETFramework, Version=v2.0">
<Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="FrameworkAssembliesPath" />
</GetReferenceAssemblyPaths>
<GenerateResource UseSourcePath="true" Sources="$(ProjectDir)PackageImages.resx" 
  OutputResources="$(ProjectDir)PackageImages.resources" 
  References="$(FrameworkAssembliesPath)System.Drawing.dll" />
<AL TargetType="library" EmbedResources="$(ProjectDir)PackageImages.resources"
OutputAssembly="$(OutDir)Package.customization.dll" />
</Target>

06.完成上一步的記事本更改之後,重建方案之後就能在/bin/Debug內找到 “Package.customization.dll",之後加入這個檔案就能成功顯示Icon囉!

接著需要發佈套件,加入相關的dyf、dyn以及前一步產生的"Package.customization.dll"就能整合起來,未來也可以用這個方式更新套件

07.完成的結果如下圖~

創作者介紹
創作者 BIM BIM BANG BANG! 學習筆記! 的頭像
ChiMing

BIM BIM BANG BANG! 學習筆記!

ChiMing 發表在 痞客邦 留言(0) 人氣( 54 )