三維空間坐標(biāo)系:從等軸測(cè)校準(zhǔn)到刻度出圖全攻略)
第一次用Visio畫(huà)空間坐標(biāo)系的人大部分時(shí)間其實(shí)不是花在“不會(huì)畫(huà)”上而是花在“畫(huà)了又調(diào)、調(diào)了又歪”上三條軸的角度怎么都對(duì)不上刻度標(biāo)到一半發(fā)現(xiàn)間距不齊好不容易畫(huà)完導(dǎo)出圖片又帶著一圈白邊。這篇筆記就是想把這趟彎路直接繞過(guò)去講清楚從頁(yè)面校準(zhǔn)、畫(huà)軸、做刻度到出圖的全套操作邏輯。不需要任何CAD插件也不需要寫(xiě)代碼靠Visio自帶的網(wǎng)格、旋轉(zhuǎn)和ShapeSheet就能完成如果你愿意多花十分鐘做一套可復(fù)用的形狀模具之后一張標(biāo)準(zhǔn)的空間坐標(biāo)系圖可以壓縮到幾分鐘出稿。文章內(nèi)容更適合理工科論文插圖畫(huà)手、機(jī)械或機(jī)器人專業(yè)的繪圖員以及剛開(kāi)始用Visio畫(huà)工程示意圖的初學(xué)者。1. 先別急著畫(huà)軸——等軸測(cè)系統(tǒng)里的角度和頁(yè)面校準(zhǔn)1.1 為什么首選等軸測(cè)視角空間坐標(biāo)系是要在二維畫(huà)布上表現(xiàn)三維關(guān)系最常用的投影方式就是等軸測(cè)。三個(gè)坐標(biāo)軸在空間里兩兩垂直投影到平面上之后變成兩兩夾角120度。落到畫(huà)布上的具體表現(xiàn)是Z軸豎直向上X軸朝右下方與水平線成30度角Y軸朝左下方與水平線也成30度角。這樣三個(gè)軸上的單位長(zhǎng)度保持等比例視覺(jué)上最穩(wěn)定標(biāo)注刻度也不會(huì)因?yàn)橥敢曣P(guān)系出現(xiàn)“近大遠(yuǎn)小”的麻煩。有人會(huì)問(wèn)為什么不用透視效果Visio說(shuō)到底是個(gè)矢量繪圖工具不是三維建模軟件硬做透視只會(huì)讓坐標(biāo)點(diǎn)、刻度、輔助虛線全部失去可測(cè)量性。等軸測(cè)的好處是每條軸的比例尺一致坐標(biāo)數(shù)字可以直接按軸長(zhǎng)換算論文插圖里非常實(shí)用。這也是工程制圖里最常見(jiàn)的三維坐標(biāo)系表達(dá)方式讀圖的人一眼就能看懂。1.2 頁(yè)面、網(wǎng)格和捕捉的校準(zhǔn)參數(shù)打開(kāi)Visio后先不要急著拖形狀把頁(yè)面當(dāng)成一塊坐標(biāo)紙來(lái)配置。頁(yè)面尺寸建議用A4或者自定義正方形區(qū)域比如25厘米乘20厘米。頁(yè)面過(guò)大縮放和導(dǎo)出都會(huì)增加渲染負(fù)擔(dān)頁(yè)面過(guò)小軸長(zhǎng)刻度畫(huà)不開(kāi)。在“視圖”選項(xiàng)卡里打開(kāi)標(biāo)尺和網(wǎng)格把標(biāo)尺單位改成“厘米”。網(wǎng)格間距建議設(shè)成2毫米或5毫米。間距太大刻度線不好對(duì)齊間距太小拖動(dòng)時(shí)反而容易被吸附干擾。打開(kāi)“對(duì)齊網(wǎng)格”和“對(duì)齊參考線”功能但注意如果后續(xù)畫(huà)斜線對(duì)齊困難可以臨時(shí)關(guān)閉“對(duì)齊網(wǎng)格”只保留“對(duì)齊參考線”。頁(yè)面中心的確定也很重要??臻g坐標(biāo)系的原點(diǎn)最好放在頁(yè)面中間偏下一點(diǎn)的位置因?yàn)閆軸要向上延伸給頂部留出空間。可以用“大小和位置”窗格精確輸入?yún)⒖季€的位置從標(biāo)尺拖出水平參考線和垂直參考線在窗格里把它們的坐標(biāo)設(shè)為頁(yè)面中心值相當(dāng)于給整個(gè)繪圖建立基準(zhǔn)。1.3 把等軸測(cè)角度鎖死在畫(huà)布上網(wǎng)格是水平的但坐標(biāo)系是斜的如何在畫(huà)布上保證每次畫(huà)的斜線角度都不跑偏核心思路不是靠肉眼而是靠寬高比。等軸測(cè)里那個(gè)30度角對(duì)應(yīng)的是正切值0.57735。也就是說(shuō)任意一條線段只要它的高度等于寬度乘以0.57735它與水平方向的夾角就是30度。例如你畫(huà)了一條寬50毫米的斜線把高度設(shè)為28.87毫米這條線就正好是等軸測(cè)中的軸向線。反過(guò)來(lái)如果你已經(jīng)畫(huà)了一條線和水平參考線交叉也可以通過(guò)這個(gè)比值檢查角度是否準(zhǔn)確。實(shí)際操作里先畫(huà)好一條標(biāo)準(zhǔn)X軸斜線復(fù)制一份再水平翻轉(zhuǎn)就能得到對(duì)稱的Y軸斜線。這樣兩條軸的角度是天然一致的不用二次計(jì)算。Z軸就簡(jiǎn)單了直接畫(huà)豎直向上的直線即可。2. 三種畫(huà)軸方案自由線、精確旋轉(zhuǎn)和ShapeSheet公式2.1 方案A直接用直線工具配合旋轉(zhuǎn)窗格最直覺(jué)的畫(huà)法是用“開(kāi)始”選項(xiàng)卡里的直線工具在畫(huà)布上拉一段線段然后通過(guò)“視圖”任務(wù)窗格里的“大小和位置”把旋轉(zhuǎn)角度設(shè)成30度。默認(rèn)狀態(tài)下Visio的旋轉(zhuǎn)基準(zhǔn)是形狀中心所以旋轉(zhuǎn)之后線段兩端會(huì)偏離原來(lái)的位置需要手動(dòng)把線段起點(diǎn)拖回原點(diǎn)。這個(gè)方案的優(yōu)點(diǎn)是操作快適合臨時(shí)畫(huà)一張示意圖。缺點(diǎn)也很明顯旋轉(zhuǎn)后的線段長(zhǎng)度被壓縮了想精確控制軸長(zhǎng)就得先算好原始長(zhǎng)度而且旋轉(zhuǎn)中心來(lái)回調(diào)整很煩人。我的建議是如果只是畫(huà)個(gè)示意草圖方案A夠用如果這張圖要放進(jìn)論文或報(bào)告直接用方案B或方案C。2.2 方案B按寬高比畫(huà)精確的30度斜線不用旋轉(zhuǎn)而是直接控制線段的寬高。畫(huà)一條任意斜線后在“大小和位置”窗格里把寬度改成100毫米高度改成57.735毫米這條線就是精確的向右下延伸的X軸。再?gòu)?fù)制一條水平翻轉(zhuǎn)移動(dòng)到原點(diǎn)就得到向左下延伸的Y軸。這里的計(jì)算過(guò)程很簡(jiǎn)單tan30度等于0.57735所以高度等于寬度乘以0.57735。軸長(zhǎng)100毫米時(shí)高度57.74毫米軸長(zhǎng)80毫米時(shí)高度46.19毫米。為了減少反復(fù)輸入可以先畫(huà)一條寬100毫米、高57.74毫米的標(biāo)準(zhǔn)斜線保存為固定形狀后面所有軸都從這條標(biāo)準(zhǔn)線派生。這個(gè)方案的優(yōu)點(diǎn)是角度精準(zhǔn)長(zhǎng)度可控不會(huì)因?yàn)樾D(zhuǎn)而出現(xiàn)軸線長(zhǎng)度偏差。缺點(diǎn)是每次都要輸入寬高數(shù)值略麻煩。不過(guò)一旦你把這條標(biāo)準(zhǔn)斜線存進(jìn)自定義模具后面就是拖出來(lái)直接用的事情了。2.3 方案C用ShapeSheet公式讓軸線永保角度這是真正提升效率的地方適合要反復(fù)調(diào)整軸長(zhǎng)的場(chǎng)景。選中畫(huà)好的斜線切換到“開(kāi)發(fā)工具”選項(xiàng)卡打開(kāi)“ShapeSheet”編輯窗口。找到“Geometry”區(qū)域里面定義了線段的起點(diǎn)和終點(diǎn)起點(diǎn)行MoveToX公式設(shè)為0Y公式設(shè)為0終點(diǎn)行LineToX公式設(shè)為WidthY公式設(shè)為Width * 0.57735這樣就等于告訴Visio這條線的高度永遠(yuǎn)自動(dòng)等于寬度的0.57735倍。以后你直接拖動(dòng)線的一端改變長(zhǎng)度角度都會(huì)保持在30度不需要重新計(jì)算。對(duì)于空間坐標(biāo)系這種對(duì)角度敏感、對(duì)長(zhǎng)度又經(jīng)常需要調(diào)整的圖形這是最穩(wěn)的方案。需要注意ShapeSheet里的單位默認(rèn)是英寸但公式里的Width是相對(duì)值不需要額外換算。要是你想讓同一條線既能朝右下又能朝左下復(fù)制后用“水平翻轉(zhuǎn)”處理即可。2.4 軸線的樣式設(shè)置畫(huà)好三條軸之后還需要做三件事設(shè)置線寬、箭頭和顏色。線寬建議統(tǒng)一設(shè)為0.75pt或1pt太細(xì)的線在論文縮印時(shí)會(huì)斷斷續(xù)續(xù)太粗又會(huì)蓋住刻度和點(diǎn)位。箭頭方面在“開(kāi)始”選項(xiàng)卡的“線條”對(duì)話框里把“結(jié)束端箭頭”選成實(shí)心箭頭箭頭大小選中號(hào)。比較合乎工程慣例的配色是X軸用紅色Y軸用綠色Z軸用藍(lán)色RGB組合在黑白打印時(shí)也能通過(guò)灰度區(qū)分。不過(guò)如果最終要發(fā)表在黑白印刷的期刊上光靠顏色區(qū)分是不夠的最好配合線型變化比如Z軸用實(shí)線加粗、X軸用普通實(shí)線、Y軸用雙線。箭頭和顏色都設(shè)置好之后按CtrlG把三條軸和原點(diǎn)標(biāo)簽組合成一個(gè)組這樣整體移動(dòng)、縮放時(shí)就不會(huì)散架。3. 把刻度、點(diǎn)位和坐標(biāo)標(biāo)注做成可復(fù)用的成套零件3.1 刻度陣列與旋轉(zhuǎn)角度預(yù)置畫(huà)刻度最痛的地方是數(shù)量多、間距要一致、方向還要跟著軸走。手動(dòng)畫(huà)幾十條短線純屬浪費(fèi)時(shí)間。正確做法是先畫(huà)一條長(zhǎng)度2毫米的短線按Ctrl拖動(dòng)復(fù)制出5到8條選中它們?cè)凇伴_(kāi)始”選項(xiàng)卡的“排列”里用“水平分布”或“垂直分布”讓間距相等。這個(gè)操作會(huì)自動(dòng)把短線均勻排開(kāi)不需要手動(dòng)計(jì)算間隔。但這些短線還是水平的要變成沿軸方向的刻度需要全部選中旋轉(zhuǎn)30度或150度。這里我建議把“刻度”做成一個(gè)主控形狀打開(kāi)“形狀”窗格新建一個(gè)模具把畫(huà)好的斜線刻度拖進(jìn)去右鍵選擇“編輯形狀”在編輯狀態(tài)里預(yù)設(shè)好旋轉(zhuǎn)角度、線寬和長(zhǎng)度。退出編輯后這個(gè)模具形狀每次拖到畫(huà)布上都是帶角度的省掉重復(fù)旋轉(zhuǎn)的步驟。3.2 坐標(biāo)點(diǎn)形狀的封裝點(diǎn)了坐標(biāo)之后肯定要標(biāo)出點(diǎn)位標(biāo)準(zhǔn)做法是“小圓點(diǎn)加坐標(biāo)文字”。我建議直接做一個(gè)組畫(huà)一個(gè)直徑0.2厘米的小圓無(wú)填充黑色細(xì)線在旁邊加一個(gè)文本框輸入類似“(3, 2, 5)”的內(nèi)容把兩者選中后按CtrlG組合。這個(gè)組合應(yīng)該存進(jìn)模具。更進(jìn)一步可以給這個(gè)點(diǎn)位形狀添加Shape Data屬性在“開(kāi)發(fā)工具”里打開(kāi)“形狀數(shù)據(jù)”新建三個(gè)數(shù)值型字段分別叫X、Y、Z。每個(gè)點(diǎn)拖到畫(huà)布上后在“形狀數(shù)據(jù)”窗口里填入具體坐標(biāo)值位置和標(biāo)簽就都明確了。雖然這一步設(shè)置起來(lái)稍微花點(diǎn)時(shí)間但一旦建好整張圖幾十個(gè)點(diǎn)都能用同一個(gè)模板改坐標(biāo)時(shí)也一目了然。3.3 用標(biāo)注線快速標(biāo)注三維坐標(biāo)點(diǎn)多了之后坐標(biāo)文字直接堆在旁邊會(huì)互相遮擋。Visio自帶“標(biāo)注”類形狀在“更多形狀”的“常規(guī)”分類里可以找到。這類形狀一頭是一個(gè)箭頭或者圓點(diǎn)另一頭是文本容器拖到頁(yè)面上之后自動(dòng)吸附移動(dòng)時(shí)引線會(huì)動(dòng)態(tài)調(diào)整。實(shí)際使用中我的經(jīng)驗(yàn)是少量關(guān)鍵點(diǎn)用標(biāo)注線批量點(diǎn)位直接用小圓點(diǎn)加文本框組合不要每個(gè)點(diǎn)都拉標(biāo)注線否則圖面會(huì)很亂。標(biāo)注線非常適合標(biāo)出坐標(biāo)軸端點(diǎn)、原點(diǎn)、特殊交點(diǎn)這些需要重點(diǎn)說(shuō)明的對(duì)象。3.4 圖層管理和分組習(xí)慣當(dāng)圖里同時(shí)存在軸線、刻度、點(diǎn)位、輔助線、標(biāo)注文字時(shí)一個(gè)誤操作就可能選中一整片元素。建立一個(gè)清晰的圖層體系非常必要。在“開(kāi)始”選項(xiàng)卡的“圖層屬性”里新建四個(gè)圖層“軸”、“刻度”、“點(diǎn)”、“標(biāo)注”。畫(huà)完一類元素后選中它們?cè)凇皥D層”下拉列表里把它們分配到對(duì)應(yīng)圖層。之后可以隨時(shí)鎖定某個(gè)圖層比如鎖定“軸”之后調(diào)整點(diǎn)位時(shí)就不會(huì)誤拖軸線。這個(gè)習(xí)慣一開(kāi)始可能覺(jué)得麻煩但圖一旦復(fù)雜起來(lái)能省下大量返工時(shí)間。分組也是同樣的道理。同一元素的多個(gè)組成部分例如“坐標(biāo)點(diǎn)圓坐標(biāo)文本”“刻度短線刻度數(shù)字”都應(yīng)該按CtrlG打包。Visio里組可以嵌套外層做一個(gè)“點(diǎn)位總組”也沒(méi)問(wèn)題。4. 參數(shù)化更進(jìn)一步讓點(diǎn)隨數(shù)據(jù)自動(dòng)更新4.1 用Shape Data給點(diǎn)賦予XYZ含義前面提到給點(diǎn)位形狀添加Shape Data這里展開(kāi)說(shuō)。選中點(diǎn)位形狀在“開(kāi)發(fā)工具”選項(xiàng)卡打開(kāi)“形狀數(shù)據(jù)”對(duì)話框添加三行類型為“數(shù)字”的數(shù)據(jù)字段分別命名為X、Y、Z默認(rèn)值設(shè)為0。這樣每個(gè)點(diǎn)都擁有了自己的坐標(biāo)屬性。在畫(huà)布上選中某個(gè)點(diǎn)“形狀數(shù)據(jù)”窗口里就能直接修改X、Y、Z數(shù)值。更重要的是這個(gè)數(shù)值可以參與后續(xù)的公式和文本字段這就為自動(dòng)標(biāo)注奠定了基礎(chǔ)。4.2 ShapeSheet公式自動(dòng)生成坐標(biāo)文本如果讓點(diǎn)的坐標(biāo)文字自動(dòng)跟隨Shape Data變化就能避免手動(dòng)維護(hù)幾十個(gè)文本標(biāo)簽的尷尬。打開(kāi)點(diǎn)位形狀的ShapeSheet找到“Text Fields”區(qū)域。正常情況下這里是空的右鍵插入新字段把“Value”設(shè)為類似這樣的公式(X, Y, Z)這里的X、Y、Z就是剛才在Shape Data里定義的字段名。再把文本內(nèi)容放到形狀中央勾選“自動(dòng)換行”。以后每次改變這個(gè)點(diǎn)的Shape Data值圖上顯示的坐標(biāo)文本就會(huì)自動(dòng)刷新完全不需要手動(dòng)改文字。對(duì)于需要反復(fù)調(diào)整位置的批量點(diǎn)位這個(gè)聯(lián)動(dòng)機(jī)制非常香。4.3 用Excel批量生成點(diǎn)位的原理與局限很多人在Visio里也想實(shí)現(xiàn)“Excel表格里改數(shù)字圖里自動(dòng)生成點(diǎn)”的效果。先說(shuō)明一個(gè)現(xiàn)實(shí)如果沒(méi)有寫(xiě)程序Visio的數(shù)據(jù)鏈接更多是用來(lái)做數(shù)據(jù)圖形比如按數(shù)值給形狀填充顏色并不能直接把Excel每行坐標(biāo)自動(dòng)映射為畫(huà)布上的一個(gè)圓點(diǎn)。要實(shí)現(xiàn)真正的批量放置需要借助VBA宏。Visio的坐標(biāo)系統(tǒng)以英寸為單位原點(diǎn)在頁(yè)面左下角這和用戶習(xí)慣的毫米、厘米不一樣。寫(xiě)宏時(shí)要注意單位換算。下面是一個(gè)最簡(jiǎn)示例把三組坐標(biāo)批量生成小圓點(diǎn)和標(biāo)簽Sub AddCoordinatePoints() Dim pg As Visio.Page Set pg ActivePage Dim points As Variant points Array(Array(1, 2, 3), Array(2, 3, 1), Array(3, 1, 2)) Dim originX As Double, originY As Double originX 4 originY 3 Dim scale As Double scale 0.5 Dim i As Integer For i LBound(points) To UBound(points) Dim x As Double, y As Double, z As Double x points(i)(0) y points(i)(1) z points(i)(2) Dim canvasX As Double, canvasY As Double canvasX originX (x - y) * Cos(30 * 3.14159 / 180) * scale canvasY originY z - (x y) * Sin(30 * 3.14159 / 180) * scale Dim sp As Visio.Shape Set sp pg.DrawOval(canvasX - 0.05, canvasY - 0.05, canvasX 0.05, canvasY 0.05) sp.Text ( x , y , z ) Next i End Sub這個(gè)宏里用到了等軸測(cè)投影公式畫(huà)布橫坐標(biāo)等于原點(diǎn)橫坐標(biāo)加上(X減Y)乘cos30度畫(huà)布縱坐標(biāo)等于原點(diǎn)縱坐標(biāo)加上Z再減(X加Y)乘sin30度。跑完宏之后點(diǎn)會(huì)按照三維坐標(biāo)的位置分布在等軸測(cè)坐標(biāo)系里比手動(dòng)一個(gè)個(gè)拖快得多。5. 進(jìn)階圖形球形、向量箭頭與空間曲線的畫(huà)法5.1 用徑向漸變畫(huà)出有立體感的球畫(huà)空間坐標(biāo)系時(shí)常需要表示球體比如機(jī)器人工作空間、分子結(jié)構(gòu)、數(shù)學(xué)里的單位球。Visio里面畫(huà)球體不需要去找專門(mén)的素材庫(kù)一個(gè)圓加一個(gè)徑向漸變就能達(dá)到工程圖需要的立體效果。先按住Shift用“橢圓”工具畫(huà)一個(gè)正圓然后在“設(shè)置形狀格式”里選“漸變填充”類型選“路徑”按順序設(shè)置三個(gè)漸變停止點(diǎn)第一個(gè)是白色或很淺的顏色第二個(gè)是中間色第三個(gè)是較深的陰影色。這樣一來(lái)圓的中心亮、邊緣暗看起來(lái)就有球體感了。再加兩個(gè)小細(xì)節(jié)在右上角放一個(gè)小橢圓當(dāng)高光在左下角放一個(gè)半透明橢圓當(dāng)環(huán)境投影立刻和平面圓區(qū)分開(kāi)。在坐標(biāo)軸里畫(huà)球時(shí)球的圓心最好定位在軸上的某個(gè)坐標(biāo)點(diǎn)圓心位置可以用“大小和位置”窗格精確設(shè)置。5.2 球體在坐標(biāo)平面上的投影輔助工程示意圖里經(jīng)常需要在坐標(biāo)平面上畫(huà)出球體或點(diǎn)的投影以說(shuō)清楚空間位置關(guān)系。做法并不復(fù)雜在XY平面、XZ平面或YZ平面上畫(huà)一個(gè)相同直徑的半透明橢圓或圓填充顏色改成淺灰或淺藍(lán)透明度調(diào)到40%左右。然后從空間球心往投影圓心的位置畫(huà)一條虛線讀者就清楚了。投影圓的定位要用到坐標(biāo)值比如空間點(diǎn)P坐標(biāo)為(2,3,4)在XY平面上投影點(diǎn)的位置就是(2,3,0)。換算到畫(huà)布坐標(biāo)時(shí)把Z等于0代入前面VBA里的投影公式即可。如果嫌計(jì)算麻煩直接用對(duì)齊參考線把空間圓心的位置投影到水平面上再拖出橢圓效果也差不多。5.3 向量箭頭與空間曲線的表示向量通常用帶箭頭的線段表示箭頭大小要明顯。Visio的普通線條能加箭頭但箭頭尺寸偏小放大后不夠醒目。我的做法是畫(huà)一條粗一點(diǎn)的線線寬設(shè)為2pt再把終點(diǎn)的箭頭類型選成“大實(shí)心箭頭”。如果要強(qiáng)調(diào)向量方向還可以在線段末端加一個(gè)小三角形狀手動(dòng)調(diào)整到和線段方向一致??臻g曲線稍微麻煩一點(diǎn)。Visio里的“鉛筆工具”支持繪制曲線段也支持在ShapeSheet中通過(guò)ArcTo或LineTo行來(lái)精確描述曲線上的點(diǎn)。對(duì)于數(shù)據(jù)量較大的曲線最直接的辦法是用前文所述的VBA宏把一組坐標(biāo)點(diǎn)連成折線再把折線的“圓角”或“曲線”屬性打開(kāi)視覺(jué)上就是平滑軌跡。注意曲線節(jié)點(diǎn)數(shù)量直接影響Visio的渲染性能節(jié)點(diǎn)越多縮放越卡。5.4 用虛線輔助線表達(dá)點(diǎn)的空間位置空間坐標(biāo)系里畫(huà)出點(diǎn)之后能不能看出這個(gè)點(diǎn)在空間中的位置很大程度上取決于輔助線。從點(diǎn)P分別向三條軸作垂線或者向三個(gè)坐標(biāo)平面作投影線這些輔助線全部用虛線表示會(huì)顯著提高圖的閱讀性。畫(huà)輔助線的技巧是先畫(huà)好一條與目標(biāo)軸方向完全相同的斜線比如從原點(diǎn)指向X軸的軸線復(fù)制一份把起點(diǎn)拖到點(diǎn)P的位置終點(diǎn)自然就和軸平行。由于模板里的斜線角度是預(yù)設(shè)的復(fù)制沿用即可不需要重新計(jì)算30度。最后把這條輔助線設(shè)為虛線、灰色透明度調(diào)整到50%避免喧賓奪主。6. 出圖與性能繞開(kāi)導(dǎo)出邊距和縮放卡頓的坑6.1 PNG導(dǎo)出的邊距問(wèn)題Visio導(dǎo)出PNG時(shí)默認(rèn)按整頁(yè)導(dǎo)出頁(yè)面空白會(huì)全帶進(jìn)圖片里。解決邊距問(wèn)題的關(guān)鍵是先把頁(yè)面尺寸調(diào)整到貼合圖形。選中全部圖形在“設(shè)計(jì)”選項(xiàng)卡的“大小”里選擇“適應(yīng)繪圖”Visio會(huì)自動(dòng)把頁(yè)面邊框收縮到圖形周圍。接著到“文件”菜單下的“頁(yè)面設(shè)置”里把“打印設(shè)置”的頁(yè)邊距全部改為0。最后再“文件”導(dǎo)出選擇PNG格式保存時(shí)如果還有對(duì)話框詢問(wèn)導(dǎo)出范圍選“當(dāng)前頁(yè)面”而不是“整個(gè)工作區(qū)”。這樣導(dǎo)出的圖片邊距已經(jīng)被壓到最小基本不再需要后期裁剪。如果只是要某個(gè)局部的坐標(biāo)圖可以先框選需要的形狀再“文件”另存為PNG在保存設(shè)置中選擇“僅所選內(nèi)容”也不會(huì)出現(xiàn)大塊白邊。6.2 縮放卡頓的排查思路Visio文件在縮放時(shí)很卡絕大多數(shù)情況出在三點(diǎn)硬件加速、頁(yè)面尺寸過(guò)大、圖形節(jié)點(diǎn)太多。先去“文件”選項(xiàng)“高級(jí)”在“顯示”分類里取消勾選“硬件圖形加速”這個(gè)選項(xiàng)在某些顯卡驅(qū)動(dòng)下反而會(huì)拖慢二維矢量渲染。然后把頁(yè)面尺寸盡量壓縮到圖形實(shí)際占用范圍內(nèi)參考上一節(jié)“適應(yīng)繪圖”的做法。最后檢查是否存在大量帶復(fù)雜ShapeSheet公式或超多節(jié)點(diǎn)的曲線、弧形。空間坐標(biāo)系本身不復(fù)雜但如果從外部導(dǎo)入了幾千條線段卡頓幾乎不可避免。還有一個(gè)容易被忽略的原因是“動(dòng)態(tài)網(wǎng)格”和“自動(dòng)對(duì)齊”功能。在“視圖”里臨時(shí)關(guān)閉“動(dòng)態(tài)網(wǎng)格”拖動(dòng)大圖時(shí)會(huì)明顯變流暢。把這些開(kāi)關(guān)都關(guān)掉之后再操作基本就能恢復(fù)順滑。6.3 用主控形狀保存你的坐標(biāo)系模板整套方法最后一步也是提升長(zhǎng)期效率最關(guān)鍵的一步把畫(huà)好的東西存成主控形狀而不是每次從頭畫(huà)。打開(kāi)“形狀”窗格選擇“更多形狀”新建一個(gè)模具命名成“三維坐標(biāo)系”。把標(biāo)準(zhǔn)軸線、刻度線、點(diǎn)位組合、球體、投影輔助線、標(biāo)注箭頭這些已經(jīng)配置好的形狀逐個(gè)拖進(jìn)去。右鍵模具中的形狀選擇“編輯形狀”可以對(duì)它們的角度、線寬、字體、Fill屬性做進(jìn)一步統(tǒng)一調(diào)整。這樣以后新建任何Visio文件只需要打開(kāi)這個(gè)模具把需要的零件拖到畫(huà)布上拖動(dòng)到目標(biāo)位置即可。我自己的習(xí)慣是把常用軸長(zhǎng)預(yù)存三套短軸版、標(biāo)準(zhǔn)版、長(zhǎng)軸版分別適用于課件插圖、論文配圖和工程示意畫(huà)圖速度會(huì)有質(zhì)的提升。在實(shí)際使用中還有一個(gè)小技巧值得分享畫(huà)完整套坐標(biāo)系之后不要急著導(dǎo)出PNG先用“適應(yīng)繪圖”和“頁(yè)邊距歸零”把頁(yè)面收拾干凈再保存為SVG格式作為備份。SVG是矢量格式后續(xù)放到Word或在線文檔里可以任意無(wú)損縮放PNG作為截圖預(yù)覽則適合快速展示。兩套格式配合使用基本覆蓋了所有常見(jiàn)發(fā)布場(chǎng)景。