物件併入
Last updated
Last updated
Dynamo for Civil 3D 包含功能非常強大的機制,可「記住」每個節點建立的物件。此機制稱為物件併入,它可讓 Dynamo 圖表在每次在同一個文件中執行時產生一致的結果。雖然在許多情況下這非常理想,但有時候,您可能想要對 Dynamo 的行為有更多控制。本節將協助您瞭解物件併入如何運作,以及如何利用此機制。
考慮這個在模型空間中的目前圖層上建立圓的圖表。
請注意半徑變更時所發生的情況。
這是物件併入處於作用中的情況。Dynamo 的預設行為是 修改 圓的半徑,而不是每次半徑輸入變更時就建立一個新的圓。這是因為每次執行圖表時, Object.ByGeometry 節點會「記住」它建立了這個 特定的 圓。此外,Dynamo 會儲存此資訊,以便下次您開啟 Civil 3D 文件並執行圖表時,圖表就會有完全相同的行為。
我們來看一個您要變更 Dynamo 預設物件併入行為的範例。假設您要建置一個將文字放在圓中央的圖表。但是,您使用此圖表的目的是,可以一直重複執行圖表,而每次執行時無論選取哪個圓,都可以放置新的文字。這是圖表的外觀。
但是,以下是實際上選取不同圓時所發生的情況。
看起來每次執行圖表後,文字就會刪除再重新建立。實際上,文字的位置是根據選取的圓做了 修改 。所以它是相同的文字,只是位置不同!為了每次都能建立新文字,我們需要修改 Dynamo 的物件併入設定為不要保留併入資料 (請參閱下面的#binding-settings)。
進行這項變更後,我們會得到我們想要的行為。
Dynamo for Civil 3D 允許透過 「Dynamo」 功能表中的 「併入資料儲存」 設定,修改預設的物件併入行為。
預設會啟用所有選項。以下是每個選項的功能摘要。
啟用此選項後,Dynamo 會「忘記」上次執行圖表時建立的物件。因此,圖表可在任何情況下在任何圖面中執行,並且每次都會建立新物件。
此選項表示在儲存物件併入中繼資料時,會將其序列化至圖表 (.dyn 檔)。如果您關閉/重新開啟圖表,並在相同圖面中執行該圖表,則所有作業應與您之前離開圖表時相同。如果您在不同圖面中執行圖表,則將從圖表中移除併入資料,並建立新物件。這表示如果您開啟原始圖面並再次執行圖表,將建立除舊物件之外的新物件。
此選項最適合 特定圖面 與 Dynamo 圖表之間可以維持 1:1 關係的情況。選項 1 和 3 較適合設計為在多個圖面上執行的圖表。
這與選項 2 類似,不同之處在於物件併入資料是在圖面中而不是在圖表 (.dyn 檔) 中序列化。如果您關閉/重新開啟圖表,並在相同圖面中執行該圖表,則所有作業應與您之前離開圖表時相同。如果您在不同圖面中執行圖表,則併入資料仍會保留在原始圖面中,因為併入資料是儲存在圖面中而不是圖表中。
使用此選項時首先需要注意,透過 Dynamo 主介面執行圖表時,這不會影響圖表與圖面的互動方式。此選項 只 在使用 Dynamo 播放器執行圖表時適用。
如果您使用 Dynamo 主介面執行圖表,然後關閉主介面並使用 Dynamo 播放器執行同一個圖表,則會在之前建立的物件之上建立新物件。但是,Dynamo 播放器執行圖表一次後,就會序列化圖面中的物件併入資料。因此,如果您透過 Dynamo 播放器執行圖表多次,它會更新物件而不是建立新物件。如果您在不同圖面上透過 Dynamo 播放器執行圖表,則併入資料仍會保留在原始圖面中,因為併入資料是儲存在圖面中而不是圖表中。