AutoCAD 在測繪制圖中的更好應用
作者:許文歡 曾永遠時間:2015-11-24 13:58:37 來源:www.6scc.cn 閱讀次數:1588次 ]
AutoCAD 作為繪圖軟件的一種, 在測繪行業中得到廣泛應用。本文主要介紹了AutoCAD 操作的基本功能及二次開發的應用。簡單地討論了AutoCAD 中的塊、菜單等的應用,通過實際野外的測量方法在繪圖工作中的運用所總結出來的經驗。通過本文的介紹希望能給使用AutoCAD 制圖的用戶特別是多年從事野外測繪工作且對電腦不太熟悉的(40 歲以上)人員帶來更大的方便。
【關鍵詞】
AutoCAD ;AutoLISP ;塊;菜單
1 概述
近年來,測繪領域機助制圖的研究取得了飛速發展,通過繪圖儀輸出的圖形從過去簡單的工程制圖到現在的各種比例尺的地形圖、地藉圖、宗地圖,以及非常復雜的小比例尺土地利用現狀圖等。AutoCAD 已經成為測繪制圖工作中的一種基礎軟件。但是AutoCAD 中的繪圖命令成百上千,往往難以完全為我們所掌握。若能將這幾百條命令活學活用并與其它軟件相結合將給我們的繪圖工作帶來意想不到的效果。以下將從AutoCAD 菜單,塊和LISP 語言的開發,結合其它軟件作業等幾個方面介紹在實際工作中使用AutoCAD 的一些好方法希望能夠給廣大用戶的操作帶來方便。
2 AutoCAD 在測繪制圖中的應用
2.1 塊的應用
計算機的發展, 特別是AutoCAD 這些繪圖軟件的出現為測繪行業注入了新生命, 測繪制圖由以前的手工繪制轉變成現在的計算機成圖, 效率有了明顯的提高. 但要是沒利用好AutoCAD 這個軟件, 出圖的效率反而會事倍功半. 大家知道在測繪制圖中, 特別是地形圖等一些圖中常會大量重復出現一些圖式符號, 比如燈桿,上水, 下水,管線符號及獨立符號(如:獨立樹)等. 在AutoCAD 中若是一個一個畫這些符號, 會浪費大量的時間和精力. 假如我們能創建一個圖形符號庫, 這些庫中放有經常要繪制的符號, 當需要的時候繪圖員直接從庫中調用相應的符號即可, 達到了事半功倍的效果.
AutoCAD 提供了此項功能. 先把常用的符號嚴格按地形圖圖式以米為單位單獨畫好存圖. 下面以畫上水符號為例, 在AutoCAD 中創建新圖, 在新圖中任意位置畫一個半徑為1 米的圓, 再捕捉四分圓點,畫一直線。再把這個上水符號保存起來, 起名為“上水.dwg ”。 然后通過插入塊操作即可把圖式符號插入到需要的位置了。以塊形式插入的圖的缺省基點是絕對坐標(0,0),即原點,它處于任何新圖形的左下角。若所畫的圖形沒有指定基點時,那么當把此圖形以塊形式插入到當前圖形中時,AutoCAD 用缺省基點(原點) 作為插入基點。當然也可以指定基點,象上水這類是圓形的符號把基點定在圓心是最好了,插的時候直接放到位置。其實做好圖式后,在命令行鍵入“base”,會提示“Base point <0.0000,0.0000,0.0000> :” 捕捉圓心點就行了,這樣圖式的基點就是圓心了。
在測繪制圖中除了一些圖式符號的使用有重復性, 還有一些,如圖框等,不管什么樣的工程圖,畫完后出圖時都要加個圖框,由于出圖用途不一樣,會用到從A0 到A4 等各式各樣的圖框,我們可以把不同大小的圖框分別做好,存放在圖框庫文件夾里,名字也編成如A3.DWG, A2.DWG,宗地圖.DWG 等等,用的時候按名字插入即可。
當然還有很多測繪上的常用的符號也可象這樣做成文件,比如指北針等。中國有句老話叫做“磨刀不誤砍柴工”,平時花點時間把這些圖存放在一個文件夾下, 把這個文件夾下的圖當成圖塊,用的時候插入到圖中即可,即方便又省時。
塊的使用使AutoCAD 的操作變得更加靈活,我們在工作中常常遇到這樣的問題,如在測繪制圖中將兩種相似的符號混淆了,把上水的符號和下水的符號記反了,成圖時發現圖中是上水的地方都成了下水符號,這時我們要是一個一個的把下水符號換成上水符號,肯定是費時的一件事了,而且極容易出錯。AutoCAD 中塊能重新定義,所以這時我們只要把塊進行重新定義,插入的塊也隨之更新。這樣既減少了修改工作的工作量,也避免校核人員一個一個的檢查是否修改完畢。
2.2 LISP 語言的開發
AutoLISP 是AutoCAD 的高級宏編程語言,是LISP 編程語言(目前存在的最古老的計算機編程語言之一)的派生語言。該語言易于掌握,而功能又強大。AutoCAD 內置了 LISP 解釋器,用此解釋器可以在命令行中輸入 AutoLISP 代碼,或從外部文件中加載 AutoLISP 代碼。AutoLISP 應用程序或例行程序可以與 AutoCAD 進行多種方式的交流。這些例行程序可以提示用戶輸入信息,可以直接訪問內置的 AutoCAD 命令,也可以在圖形數據庫中修改或創建對象。通過創建 AutoLISP 例行程序,可將特殊要求的命令添加到 AutoCAD 中。許多標準的 AutoCAD 命令實際上也是 AutoLISP 應用程序。
AutoLISP 語言是當今世界上CAD 軟件中被廣泛采用的設計語言之一。AutoCAD 自面世以來經過不斷努力和創新經歷不同版本的升級,逐漸完善。但是由于用戶使用水平的不斷提高和滿足不同行業發展的需要,AUTODESK 公司在著重考慮了用戶在設計過程中的創新思想和獨立的工程設計后,將AUTOLISP 語言嵌套在AutoCAD 內部,使用戶充分利用AutoCAD 進行二次開發,實現直接增加和修改AutoCAD 命令,隨意擴大圖形編輯功能,建立圖形庫和數據庫,并對當前圖形進行直接訪問和修改,開發CAD 軟
圖1
件包等功能。嵌入了AUTOLISP 以后使僅作為交互式圖形編輯軟件的AutoCAD 變成能真正進行計算機輔助設計和繪圖的AutoCAD 軟件。方便了用戶,進一步提高生產效率,并且通過批量作業提高數據的統一性和標準化。
AutoCAD 已經為我們提供了豐富的繪圖和編輯命令,但是這些命令并不是針對測量專業而設置的。有些測量方面常用的功能AutoCAD 并不具備,但可以利用LISP 語言對AutoCAD 作二次開發,開發出適應測量專業特點的新命令。這里只舉幾個簡單的例子加以說明: 在地形測量中,(1)如果我們測量了某一矩形建筑物的四個點,則很容易把這個建筑物繪制出來。但大多數情況是,我們只測量了這個建筑物的一條邊,丈量了建筑物的寬度, 這種情況,顯然AutoCAD 提供的LINE 或PLINE 命令是無法實現的。(2)在地形測量中,加固陡坎、末加固陡坎、鐵路、電力線路,圍墻,界址線等等地貌符號和圖式符號的繪制,AutoCAD 沒有提供相應的繪圖命令,為此,我們都可以編制相應的LISP 程序來自動處理完成。(3) 在編輯土地利用現狀圖時,經常需要知道某一宗地的面積,同樣也可以編制一個LISP 程序, 它的功能是把圍繞宗地四周的線提出來, 首尾相接,構成封閉的多邊形,計算其面積并顯示出來。
我們可以編制若干個LISP 程序,每一個程序完成一個相應的功能,把這些程序嵌入AutoCAD 內部,調用AutoCAD 時同時裝入內存,我們就可以象調用其它AutoCAD 命令一樣,隨意調用,方便、靈活地完成各種編輯工作。
下面是我在工作中遇到的實際問題, 用LISP 編寫小程序來解決的例子。在單體放樣和竣工測量工作中,驗線其實就是實測樓位,用它來檢查和比較實際樓位與定位圖理論樓位的位移量,所以在畫圖時除了顯示樓位坐標,還得有實測與理論兩個坐標的對照表。首先我先做好一個坐標對照表。如下圖1 :
此表格是依據上級機關發下來的樣圖做的。把此圖存入圖庫,然后利用LISP 寫了一個小程序。如下:
(defun c:yx(/ pt os pt1 pt2 pt3 n0 n1 n2 nm sp1 sp2 e)
(setq os (getvar "osmode"))
(setq sp1 (* 4 hgt))
(setq sp2 (* 9 hgt))
(setq sp3 (* 10 hgt))
(setq n10 "+")
(setq sp4 (* 6 hgt))
(setq sp666 (* 9 hgt))
(setq sp777 (* 6 hgt))
(setq n0 (* 2.2 hgt))
(setq e "T")
(setvar "osmode" 0)
(setq pt1 (getpoint "\nPick a point to define the 1st text:"))
(setvar "osmode" 0)
(while e
(setvar "osmode" 33)
(setq pt8 (getpoint "\nPick 實測坐標 point:"))
(setq pt9 (getpoint "\nPick 原定位坐標 point:"))
(setvar "osmode" 0)
(setq e pt8)
(if (= e " ")
(progn
(command "redraw")
(setvar "osmode" os)
(setq e nil)
)
)
(setq nm (getstring "\nPlease input this point name:"))
(setq n1 (cadr pt8))
(Setq n2 (car pt8))
(setq n3 (cadr pt9))
(Setq n4 (car pt9))
(setq n1 (atof (rtos n1 2 3)))
(setq n2 (atof (rtos n2 2 3)))
(Setq n5 (- n1 n3))
(Setq n6 (- n2 n4))
(Setq n7 (sqrt (+(* n5 n5) (* n6 n6))))
(setq pt2 (polar pt1 0 sp1))
(setq pt3 (polar pt2 0 sp3))
(setq pt4 (polar pt3 0 sp3))
(setq pt5 (polar pt4 0 sp2))
(setq pt6 (polar pt5 0 sp3))
(setq pt66 (polar pt5 0 sp666))
(setq pt7 (polar pt6 0 sp4))
(setq pt77 (polar pt6 0 sp777))
(setq pt8 (polar pt7 0 sp4))
(command "text" pt1 hgt 0 nm)
(command "text" pt2 hgt 0 (rtos n1 2 3))
(command "text" pt3 hgt 0 (rtos n2 2 3))
(command "text" pt4 hgt 0 (rtos n3 2 3))
(command "text" pt5 hgt 0 (rtos n4 2 3))
(if (<= n5 0)
(command "text" pt6 hgt 0 (rtos n5 2 3))
(progn
(command "text" pt66 hgt 0 n10)
(command "text" pt6 hgt 0 (rtos n5 2 3))))
(if (<= n6 0)
(command "text" pt7 hgt 0 (rtos n6 2 3))
(progn
(command "text" pt77 hgt 0 n10)
(command "text" pt7 hgt 0 (rtos n6 2 3))))
(command "text" pt8 hgt 0 (rtos n7 2 3))
(setq pt1 (polar pt1 -1.5708 n0))
)
)
執行此程序后,按提示操作,可得實測坐標和理論坐標的對照表,還有X、Y 及兩坐標點的位移量。一般情況下,在執行這個程序時,實測的樓位已推算好了, 定位的理論樓位也應在圖中有顯示,所以執行程序后,在提示輸入實測坐標和提示輸入理論坐標時,只要捕捉點就行,這樣也免去再次輸入坐標時出錯。
我們編寫LISP 程序是為了給工作帶來方便,提高工作效率。所以我們在編寫
圖2
圖3
LISP 程序時需要十分的慎重,編寫完以后,一定要進行試驗,并且試驗應具有一定的規模和次數,及時發現問題及時進行改正。經過以上步驟,我們可以把寫好的LISP 程序放入到一個文件夾中,需要用的時候可以使用“工具”菜單中的“程序調入”,會出現如下對話框(圖2)
在“文件”中找出需要的程序,“載入” 就可以了。
2.3 自定義菜單
AutoCAD 提供了自定義菜單功能,執行具有特定應用背景的經常性任務時,菜單自定義非常有用。可在菜單中添加適當的選項,用一個菜單項執行完成任務所需的多個步驟,簡化復雜操作,從而提高生產效率。
菜單由菜單文件定義,用戶可以修改現有菜單文件也可以自己創建。我們可以自己創建個屏幕菜單,把塊的插入及LISP 程序的執行加入其中,如下圖3
這樣操作一目了然,比較直觀方便, 使我們的成圖效率更高。
3 結束語
AutoCAD 技術的應用在縮短測繪成圖的周期、節省人力、物力和財力、提高質量及效率方面發揮著巨大的作用。它消除了傳統的采用繪圖工具在空白圖紙上繪制的手工作圖方式或使用繪圖儀作業的一些弊端如:精度不高、速度慢、效率低、成品難以修改等。因此熟練掌握AutoCAD 的操作技巧,不但能夠提高工作效率還大大的提高工作質量。達到既好又快又省的目的,為個人和集體創利潤,為社會創效益,中國夢,我的夢。
總之,AutoCAD 在測繪制圖中所發揮的作用是得到業界認可的。可以說AutoCAD 是測繪的通用軟件。比如目前流行的CASS 等一些軟件,都是在AutoCAD 的基礎平臺上開發出來的,是更適合測繪行業的軟件。所以說學好AutoCAD 的基本操作是提高測繪制圖的前提。我們要學好AutoCAD 軟件,使它能更好地為測繪行業服務。
【參考文獻】
[1] 康博創作室編著.AutoCAD R14 中文版使用指南. 北京. 清華大學出版社,1999
[2] 章憶文編著.AutoLISP 程序員參考手冊.北京. 海洋出版社,1991
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除! 快速論文發表網(www.6scc.cn)本中心和國內數百家期刊雜志社有良好的合作關系,可以幫客戶代發論文投稿.
投稿郵箱:ksfbw@126.com
客服Q Q:
82702382
聯系電話:15295038833
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除!