可使用特殊碼建立其他幾何形狀以及指定特定動作。
三字元字串的第二個字元 (向量長度規格) 必須為 0,或者您可以直接指定特殊碼的號碼。例如,008 和 8 都是有效的規格。
|
規格位元組碼 |
||
|---|---|---|
|
字碼 |
描述 |
|
|
000 |
造型定義結尾 |
在每一個造型開始時,都會啟用繪製模式。打開繪製模式 (字碼為 1) 時,造型定義向量會使線繪出。關閉繪製模式 (字碼為 2) 時,造型定義向量會移動到一個新位置,但不繪製。 |
|
001 |
啟用繪製模式 (落筆) |
|
|
002 |
不啟用繪製模式 (提筆) |
|
|
003 |
將向量長度除以下一個位元組 |
SHAPE 指令所指定的高度,最初被視為一個正交向量 (方向為 0、4、8 或 C) 的長度。字碼 3 會將向量長度除以下一個位元組。字碼 4 會將向量長度乘以下一個位元組。字碼 3 與字碼 4 之後跟隨一個含有整數比例係數 (1 到 255) 的規格位元組。 如果您想以造型高度指定整個造型的大小,並以 10 個向量長度繪製它,您可以使用 3,10 來調整高度規格的比例。在造型中,比例係數是累計的,即,乘以 2 再乘以 6 所產生的比例悉數為 12。通常,您應該在造型結束時反轉比例係數的效果 (對於子造型和字體造型尤其如此)。程式並不會替您重置比例係數。 |
|
004 |
將向量長度乘以下一個位元組 |
|
|
005 |
將當前位置壓入堆疊中 |
您必須彈出每一個您壓入的位置。位置堆疊只有四個位置的深度。如果因為壓入的位置或未彈出的位置過多而造成溢位,則繪製造型時會顯示下列訊息: 造型 nnn 中的位置堆疊高溢 同樣地,如果您嘗試彈出的位置比壓入堆疊的位置多,則繪製造型時會顯示下列訊息: 造型 nnn 中的位置堆疊低溢 |
|
006 |
堆疊中彈出當前位置 |
|
|
007 |
繪製由下一個位元組指定的子造型號碼 |
對於非 Unicode 字體,規格位元組字碼 7 後面是介於 1 到 255 之間的造型號碼。對於 Unicode 字體,字碼 7 後面是介於 1 到 65535 之間的 Unicode 造型號碼。Unicode 造型號碼應記為兩個位元組。 此時 AutoCAD 會繪製具有該號碼的造型 (在同一造型檔中),但不會因為這個新造型而重置「繪製」模式。子造型完成時,目前造型的繪製作業仍會繼續執行。 |
|
008 |
下兩個位元組指定了 X-Y 位移 |
法線向量規格位元組僅會沿預先定義的 16 個方向繪製,且最大長度為 15。這些限制有助於高效地定義造型,但有時亦會成為束縛。字碼 8 指定由下兩個位元組給出的 X-Y 位移。碼 8 的後面,必須跟著兩個格式如下的規格位元組: 8,X-displacement,Y-displacement X-Y 位移的範圍在 -128 到 +127 之間。前導 + 是可選擇的,而且可以使用括號以提昇可讀性。執行以下的範例,可以產生一個向左側繪製 (或移動) 10 個單位、向上 3 個單位的向量。 8,(-10,3) 在這兩個位移規格位元組之後,造型會返回法線向量模式。 您可以使用字碼 9 來繪製一系列的非標準向量。字碼 9 可指定任意數目的 X-Y 位移對。該字碼序列以 (0,0) 終止。在下列範例中,將繪製三個非標準向量,並返回法線向量模式。 9,(3,1),(3,2),(2,-3),(0,0) 您必須以 (0,0) 對終止 X-Y 位移對序列,以便程式可辨識之後出現的所有法線向量或特殊碼。 |
|
009 |
多個 X-Y 位移,以 (0,0) 終止 |
|
|
00A |
下兩個位元組定義了八分弧 |
因為該弧跨越一個或多個 45 度的八分圓,即起點與終點均在八分圓邊界上,所以稱為八分弧。八分圓是從三點鐘的位置開始,以逆時鐘方向進行編號,如下圖所示。 ![]() 弧的規格為 10,radius,(-)0SC 半徑可以是介於 1 到 255 之間的任意值。第二個規格位元組分別表示弧方向 (正值表示逆時鐘方向,負值表示順時鐘方向)、其起始八分圓 ( s ,一個介於 0 到 7 之間的值) 以及其跨越的八分圓數目 ( c ,一個介於 0 到 7 之間的值,其中 0 等於八個八分圓,即一個完整的圓)。您可以使用括號來提昇可讀性。例如,您可以考慮下列造型定義片段: ...012,10,(1,-032),01E,... 該碼先繪製一個長為一個單位、方向為右上的向量,然後順時鐘方向繪製一個從八分圓的 3 號位置開始的弧 (半徑為一個單位的兩個八分圓),最後再繪製一個長為一個單位、方向為右下的向量,如下圖所示。 ![]() |
|
00B |
下兩個位元組定義了部分弧 |
該定義使用五個規格位元組。 11,start_offset,end_offset,high_radius,radius,(-)0SC start_offset 和 end_offset 表示弧的起點與終點距八分圓邊界的距離。 high_radius 表示半徑最重要的八個位元;除非 radius 大於 255 個單位,否則高位半徑為 0。將 high_radius 的值乘以 256,然後與 radius 值相加,產生大於 255 的弧半徑。 radius 與結尾規格位元組與八分弧規格 (字碼 00A,見前述) 的相同。 透過計算起始八分圓邊界 (45 度的倍數) 與弧起點兩者之間的角度差,來確定 start offset。然後,將該角度差與 256 相乘並除以 45。如果弧的起點在八分圓邊界上,則它的 start offset 為 0。 end offset 可透過類似計算方法取得,不過,應該使用與弧終點相交的最後一個八分圓邊界來計算該角度。如果弧的終點在八分圓邊界上,則其 end offset 為 0。 例如,角度為 55 度到 95 度、半徑為 3 個單位長的一個部份弧,它的編碼如下: 11,(56,28,0,3,012) 說明如下: start_offset = 56 because ((55 - 45) * 256 / 45) = 56 end_offset = 28 because ((95 - 90) * 256 / 45) = 28 high_radius = 0 because (radius < 255) radius = 3 starting octant = 1 because arc starts in the 45 degree octant ending octant = 2 because arc ends in the 90 degree octant |
|
00C |
X-Y 位移和凸度定義了弧度 |
與字碼 8 與字碼 9 相似,您可以使用它們指定 X-Y 位移。但是,字碼 00C 與字碼 00D 透過將凸度係數套用於位移向量來繪製弧。字碼 00C 繪製一個弧段,而字碼 00D 則繪製多個弧段 (多重弧),最後以 (0,0) 位移終止。 字碼 00C 之後必須跟隨三個描述弧的位元組: 0C,X-displacement,Y-displacement,Bulge X 位移和 Y 位移以及用來指定弧曲率的凸度之範圍均在 -127 到 +127 之間。如果位移指定的線段長度為 D、距線段中點的互垂距離為 H,則凸度大小為 ((2* H / D) * 127)。如果從目前位置到新位置的弧為順時鐘方向,則凸度為負值。 ![]() 半圓的凸度是 127 (或 -127),而且也是使用這些字碼所能展現的單一弧段中最大的弧 (使用兩個連續弧段,可畫出更大的弧)。0 凸度是有效的規格,代表一個直線線段。但是,以字碼 8 表示的直線段可以在造型描述中省下一個位元組。 多重弧碼 (00D 或 13) 之後為 0 或更多的弧段組,並以 (0,0) 位移終止。請注意,最終位移之後不可再指定任何凸度。例如,可以使用以下序列定義字母 S: 13,(0,5,127),(0,5,-127),(0,0) 在多重弧內,零凸度線段可用於展現直線線段;這樣的展現方法比終止多重弧、插入一個直線線段,然後再重新開始另一個多重弧來得更有效率。 數值 -128 不能用於弧段與多重弧定義。 |
|
00D |
多個指定凸度的弧 |
|
|
00E |
僅在垂直文字中處理下一個指令 |
在字元定義中發現此特殊碼時,AutoCAD 會按照方位來決定是繼續處理下一個字碼還是將其略過。如果方位為垂直,則繼續處理下一個字碼;如果是方位為水平,則略過下一個字碼。 在水平文字中,每一個字元的起點都在基準線左端。在垂直文字中,則假設起點是在字元的正上方中央處。在每一個字元結束時,通常都會繪製一個提筆區段,以定位下一個字元的起點。如果是水平文字,該提筆區段繪製在右側;如果是垂直文字,則繪製在下方。特殊碼 00E (14) 主要用於調整起點差異與終點差異,可讓相同的字元造型定義既可用於水平方位,也可用於垂直方位。譬如,下列大寫 D 的定義既可以用於水平文字又可用於垂直文字。 *68,22,ucd 2,14,8,(-2, 6),1,030,012,044,016,038,2,010,1,06C,2,050, 14,8,(-4,-3),0 ![]() |