文字功能變數
文字功能變數是用於文字和標註引線的功能。文字功能變數是在 Rhino 執行時計算的公式,結果會顯示在文字中。所有文字功能變數的語法都是 %<功能變數與選項>%。當公式無法計算時,會顯示錯誤字串 ####。
支援數學運算
所有計算數字的功能變數函數 (例如: Area、BlockInstanceCount、CurveLength、NumPages、PageNumber、Volume) 都可以在數學公式中組合。
例如:
%<2*3>% 計算為 6。
如果模型中有 4 個圖紙配置,則 %<NumPages()-1>% 計算為 3。
- 支援 sin()、cos()、ceil()、fabs() 等 Python 數學函數。
字串格式化
支援 Python 和 .NET 字串格式。
範例:
在數字前面加入前導零
如果模型中有 2 個圖紙配置,則 %<'{:03}'.format(NumPages())>% 將 2 轉換為 002。
轉換字母大小寫
%<ModelUnits().upper()>% 可以轉換模型單位,例如 millimeters 轉換為 MILLIMETERS。
Python 和 .NET 中的大小寫轉換函數
Python:
upper(), lower(), and capitalize()
.NET:
ToUpper() and ToLower()
.NET 中沒有直接的 capitalize 函式。
函數
面積
計算封閉曲線 (必須是平面)、剖面線、曲面、多重曲面、網格或 SubD 的面積。
圖塊屬性文字
語法:
%<UserText("block","Key","Prompt","Value")>%
- Key 和 Value 將會是儲存在圖塊引例中的屬性外掛程式文字。
- Prompt 是插入圖塊時會在對話框顯示的提示。
- Value 和 prompt 為非必要。
如何使用:
在此範例中,"Data Table" 圖塊定義是從包含名稱、年齡和性別的圖塊屬性文字的表建立的。
然後將該圖塊插入到其他兩個人員下方的作業視窗, Insert 指令會提示輸入他們的訊息。
圖塊引例數目
顯示指定名稱的圖塊數目。
語法:
%<BlockInstanceCount("BlockName")>%
圖塊名稱
透過在作業視窗中選取圖塊引例而檢索圖塊定義的名稱。
語法:
%<BlockName("Block Instance ID")>%
%<BlockName("Block")>% 會傳回包含文字欄位字串的圖塊定義的名稱。
曲線長度
曲線的長度。
語法:
使用註解型式單位。
%<CurveLength("ObjectID")>%
設定單位。
%<CurveLength("ObjectID","Unit")>%
- 在作業視窗顯示多少位的小數取決於註解距離精確度。
日期
目前的日期和時間。
日期格式:
從清單中選擇日期和時間格式。
區域:
從列表中選擇一個區域及適當的語言。
語法:
%<Date("Format", "Region")>%
範例:
%<Date("M/d/yyyy", "en-US")>% = 12/17/2020
%<Date("M/d/yyyy h:mm tt", "en-US")>% = 12/17/2020 4:48 PM
%<Date("dddd, MMMM dd, yyyy", "en-US")>% = Thursday, December 17, 2020
修改日期
上次儲存此檔案的日期和時間。
日期格式:
從清單中選擇日期和時間格式。
區域:
從列表中選擇一個區域及適當的語言。
語法:
%<DateModified("Format", "Region")>%
範例:
%<DateModified("M/d/yyyy", "en-US")>% = 12/17/2020
%<DateModified("M/d/yyyy h:mm tt", "en-US")>% = 12/17/2020 4:48 PM
%<DateModified("dddd, MMMM dd, yyyy", "en-US")>% = Thursday, December 17, 2020
DetailScale (僅適用於平行的子視圖)
顯示選取的子視圖的格式縮放比。
語法:
%<DetailScale("DetailID","Format")>%
格式範例
無格式 = 0.1
#:1 = 0.1:1
1:# = 1:10
1=# = 1" = 10'
#=1 = 1/8" = 1'
#=1-0 = 1/8" = 1'-0"
使用子視圖屬性名稱
使用在其物件內容中設定的名稱引用子視圖,而非 GUID。
文件外掛程式文字
模型中的文件外掛程式文字。
檔案名稱
這個檔案的路徑。
語法:
%<FileName>%
%<FileName>% - 模型檔案的完整路徑與檔案名稱 (包含副檔名)
%<FileName("0")>% - 模型檔案的完整路徑與檔案名稱 (包含副檔名)
%<FileName("1")>% - 模型檔案的名稱 (包含副檔名)
%<FileName("2")>% - 模型檔案的完整路徑與檔案名稱 (不包含副檔名)
%<FileName("3")>% - 模型檔案的名稱 (不包含副檔名)
數字參數是用來開啟特定功能的遮罩:
1 = 不包含路徑的檔案名稱
2 = 不包含副檔名
1+2 = 3 = 不包含路徑的檔案名稱 + 不包含副檔名
圖層名稱
返回選取圖層的名稱。
語法:
%<LayerName("LayerID")>%
圖紙配置外掛程式文字
傳回儲存在圖紙配置中的外掛程式文字鍵的值。
語法:
目前圖紙配置中的圖紙配置外掛程式文字鍵的值。
%<LayoutUserText("Key")>%
指定圖紙配置中的圖紙配置外掛程式文字鍵的值。
%<LayoutUserText("LayoutID","Key")>%
- 此頁面提供如圖紙配置內容 > 圖紙配置外掛程式文字相同的功能。
模型單位
目前模型的單位。
語法:
%<ModelUnits()>%
附註
附註的內容。
語法:
%<Notes()>%
總頁數
檔案裡圖紙配置的總頁數。
語法:
%<NumPages()>%
物件圖層
返回選取物件的圖層名稱。
語法:
%<ObjectLayer("ObjectID")>%
物件名稱
顯示物件或圖塊的名稱(如果有的話)。
語法:
%<ObjectName("ObjectID")>%
物件頁碼
傳回所選物件所在圖紙配置的頁碼。
如果物件不在圖紙配置中,則傳回 ####。
- 在圖紙配置面板中重新對圖紙配置進行排序會變更圖紙配置的編號。
語法:
%<ObjectPageNumber("ObjectID")>%
圖紙高度
此文字功能變數所在的圖紙配置頁面的高度。
語法:
%<PageHeight()>%
頁面名稱
目前或選取的圖紙配置頁面的名稱。
選取的頁面
顯示選取的圖紙配置頁面的名稱。
語法:
目前圖紙配置頁面的名稱。
%<PageName()>%
選取的圖紙配置頁面的名稱。
%<PageName("PageID")>%
頁碼
目前圖紙配置的編號。
- 頁碼可以偏移,偏移值可以是正值或負值。
- 在模型作業視窗中插入時,PageNumber 會傳回 0。
語法:
%<PageNumber()>%
%<PageNumber() + OffsetNumber>%
圖紙寬度
此文字功能變數所在的圖紙配置頁面的寬度。
語法:
%<PageWidth()>%
圖紙名稱
所選紙張尺寸的名稱。
語法:
%<PaperName()>%
點座標
顯示所選點物件的世界 XYZ 座標。
XYZ 軸可以分別啟用。
語法:
%<PointCoordinate("ObjectID","Axes")>%
體積
讀取擠出物件、曲面、多重曲面、網格或 SubD 的體積。
- 在作業視窗顯示多少位的小數取決於註解距離精確度。
允許開放的物件
啟用以返回開放物件的體積。
語法:
使用註解型式單位。
%<Volume("ObjectID")>%
設定單位。
%<Volume("ObjectID","Unit")>%
允許開放的物件。
%<Volume("ObjectID","True")>%
- True (或 1) 返回開放物件的體積。如果選取開放的物件,則 False (或 0) 返回 0。
炸開 (Explode) vs. 炸開圖塊 (ExplodeBlock)
炸開有包含文字功能變數的圖塊引例時,Explode 和 ExplodeBlock 指令會產生不同的結果。
-
ExplodeBlock 指令會保留原始文字功能變數。 -
Explode 指令會將文字功能變數解析為靜態文字字串。