亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        AutoCAD LISP在市政排水工程中的應(yīng)用

        2010-12-31 00:00:00
        中國科技財富 2010年10期

        摘要:AutoCAD作為當(dāng)前使用最為廣泛的工程繪圖軟件,可以選擇其作為測量數(shù)據(jù)處理的應(yīng)用平臺。但是使用其原有的內(nèi)部命令不能夠一一滿足日常測量工作需要,這就要求工作者在其基礎(chǔ)上進行二次開發(fā)。本文主要是以AutoCAD為二次平臺進行開發(fā)和設(shè)計的,該平臺很好地利用了AutoCAD靈活的編輯和強大的制圖功能,根據(jù)實際需要在此平臺的基礎(chǔ)上進行二次開發(fā),編寫自己所需要的程序,形成一個個獨立的功能模塊,方便調(diào)用與修改,為數(shù)字化成圖提供了一種新的開發(fā)手段和開發(fā)思路。

        關(guān)鍵詞:AutoCAD LIS市政排水測量二次開發(fā)程序

        傳統(tǒng)處理數(shù)據(jù)方式如下:排水井井底標(biāo)注方面,要先按要求做出分?jǐn)?shù)標(biāo)注形式;然后復(fù)制到每個要標(biāo)注的排水井附近,繪圖者利用井面高程減去實地量測的井底深度求得井底高程,并通過命令“DDEDIT”來修改井面高程和井底高程,這樣才能完成排水井井底標(biāo)注;沉沙井管底標(biāo)注基本方法基本與排水井井底標(biāo)注相同,繪圖者用井面高程減去實地量測的管底深度求得管底高程,結(jié)合實地量測的管徑通過命令“DDEDIT”修改管徑和管底高程;管徑和流向標(biāo)注時除了要修改管徑數(shù)據(jù)外,還要旋轉(zhuǎn)管徑數(shù)據(jù)使其與管線方向保持一致,流向線段同樣保持與管線方向成一定的夾角。

        由于一般市政工程的工期都相當(dāng)緊迫,在有限的時間里人工處理大量的數(shù)據(jù)難免會出現(xiàn)一些計算錯誤,而且計算過程本身也會影響繪圖的速度。在標(biāo)注管徑連線和流水方向時很難做到整齊化一,流向線段的長度和其與相應(yīng)管徑的夾角也很難始終保持相同。因此本文采用新的設(shè)計思路,通過程序化繪圖來解決實際問題。程序設(shè)計思路如下:

        1、排水井井底標(biāo)注

        讓編圖人員通過鍵盤輸入井面高程和實地測量的井底深度,利用AutoCAD本身帶有的計算功能自動計算出井底高程,并結(jié)合AutoCAD內(nèi)部文字標(biāo)注命令“TEXT”,在指定位置按要求自動標(biāo)注出井底高程。這樣就會避免編圖人員的計算錯誤,并保持排水井標(biāo)注格式的嚴(yán)格統(tǒng)一。

        2、排水管徑邊線及流向標(biāo)注

        在標(biāo)注管徑連線時,切換AutoCAD的系統(tǒng)變量,使AutoCAD的捕捉狀態(tài)置于只有捕捉“圓心”狀態(tài)下,因為每個排水井的符號都有圓心,這樣大大提高了連線速度,并且可以保證每條連線起點都位于排水井的定位點(即圓心)上。通過計算兩個排水井之間的長度和連線的中心位置,規(guī)定流向與排水井管徑連線的角度,則可以自動標(biāo)注每一段排水管的流向,每個流向線段的長度及其與之相應(yīng)的排水管線的夾角完全相同。

        3、沉沙井管底標(biāo)注

        讓編圖人員通過鍵盤輸入沉沙井井面高程、沉沙井管徑大小及實地測量的管底深度,利用AutoCAD本身帶有的計算功能計算出管底高程,并結(jié)合AutoCAD內(nèi)部文字標(biāo)注命令“TEXT”,在指定位置按要求自動標(biāo)注出管徑和管底高程。在選擇要求標(biāo)注的管位時,切換AutoCAD的系統(tǒng)變量,使AutoCAD的捕捉狀態(tài)置于只有捕捉“最近點”狀態(tài)下,這樣能準(zhǔn)確在連線到相應(yīng)的管徑連線上,然后在選擇標(biāo)注所放的位置時把捕捉狀態(tài)關(guān)掉。

        4、程序編制

        (1).排水井井底標(biāo)注程序主體:

        ;;;;;;;;;;;;;;設(shè)定變量

        (setq pt1 (getpoint\"\標(biāo)注位置:\"))

        (setq jmg (getreal\"\井面高程:\"))

        (setq js (getreal\"\井深:\"))

        ;;;;;;;;;計算井底高程

        (setq jds (- jmg js))

        ;;;;;;;;;根據(jù)井面高程和井底高程字符的長度確定分?jǐn)?shù)線的長度

        (setq string_len (max (fix jmg) (fix jds)))

        (setq len_factor (strlen (itoa string_len)))

        (setq pt2 (polar pt1 0 (* (+ len_factor 2) 0.7)))

        (setq pt3 (polar pt1 0 (* (+ len_factor 2) 0.7 0.5)))

        (setq pt4 (polar pt3 (* pi 0.5) 0.5))

        (setq pt5 (polar pt3 (* pi 1.5) 0.5))

        ;;;;;;;;自動標(biāo)注井面高程和井底高程,并利用wide_change函數(shù)將標(biāo)注字高設(shè)為0.7

        (command \"text\" \"j\" \"m\" pt4 \"0.7\" \"0\" (rtos jmg 2 2))

        (setq en (entlast))

        (wide_change)

        (command \"pline\" pt1 pt2 \"\")

        (command \"text\" \"j\" \"m\" pt5 \"0.7\" \"0\" (rtos jds 2 2))

        (setq en (entlast))

        (wide_change)

        (2)沉沙井管底標(biāo)注程序主體:

        ;;;;;;;設(shè)定變量

        (setq pt1 (getpoint\"\標(biāo)注管位:\"))

        (setq pt2 (getpoint\"\標(biāo)注位置:\"))

        (setq gjdx (getint\"\管徑大小:\"))

        (setq gjdxf (strcat \"D\" (itoa gjdx)))

        (setq jmg (getreal\"\井面高程:\"))

        (setq gs (getreal\"\管底深:\"))

        ;;;;;;;;;計算管底高程

        (setq gds (- jmg gs))

        (setq ang_pt1_pt2 (angle pt1 pt2))

        (setq pt5 (polar pt4 (* pi 0.5) 0.5))

        (setq pt6 (polar pt4 (* pi 1.5) 0.5))

        (command \"pline\" pt1 pt2 pt3 \"\")

        ;;;;;;;;自動標(biāo)注管徑和管底高程,并利用wide_change函數(shù)將標(biāo)注字高設(shè)為0.7

        (command \"text\" \"j\" \"m\" pt5 \"0.7\" \"0\" gjdxf)

        (setq en (entlast))

        (wide_change)

        (command \"text\" \"j\" \"m\" pt6 \"0.7\" \"0\" (rtos gds 2 2))

        (setq en (entlast))

        (wide_change)

        (3)管徑及流向標(biāo)注程序主體:

        ;;;;;;;;將對象捕捉狀態(tài)置為只捕捉圓心

        (setq osdynamic (getvar \"osmode\"))

        (if (= osdynamic 4)

        ()

        (setvar \"osmode\" 4)

        )

        ;;;;;;;設(shè)定變量

        (setq pt1(getpoint\"\起點:\"))

        (setq ans \"y\")

        (setq gjmr 400);;;;;設(shè)定默認(rèn)管徑

        (setq js 1)

        ;;;;;;;;自動標(biāo)注管徑,并利用wide_change函數(shù)將標(biāo)注字高設(shè)為0.7

        (command \"text\" \"j\" \"m\" pt4 \"0.7\" (angtos text_rotate_ang) (strcat \"D\" (itoa dia)))

        (setq en (entlast))

        (wide_change)

        ;;;;;計算管徑連線的中點,并從中點繪制正確的流向線段

        (setq pt5 (polar pt3 (+ ang_pt2_pt1 (* pi 1.13)) 1))

        (command \"pline\" pt3 pt5 \"\")

        (setq en (entlast))

        ……

        AutoCAD所采用的LISP語言是較為簡單的一門計算機語言,容易入門與掌握,不需要掌握太多復(fù)雜的數(shù)據(jù)結(jié)構(gòu)與計算機軟硬件知識;而且開發(fā)一些日常測量工作需要的小程序,不需要涉及到軟件內(nèi)核或操作系統(tǒng)層面上的編程,利用AutoCAD LISP編寫足以勝任。另外由于程序化繪圖時,程序所調(diào)用的AutoCAD命令不用外部響應(yīng),節(jié)省了大量時間,簡化了繪圖過程,大大提高了工作效率,繪圖成果也整齊美觀。

        色狠狠一区二区三区香蕉蜜桃| 国产夫妇肉麻对白| 97人人模人人爽人人喊电影| 欧美精品一区视频| 亚洲av网站首页在线观看| 在线播放亚洲丝袜美腿| 女人色熟女乱| 豆国产95在线 | 亚洲| 亚洲色偷偷偷综合网另类小说 | 蜜桃网站免费在线观看视频| 成人免费看aa片| 无码人妻精品一区二区三18禁| 国产精品亚洲综合天堂夜夜| 久久精品国产亚洲av天美| 疯狂做受xxxx高潮视频免费| 亚洲精品毛片一区二区三区| 国产美女精品AⅤ在线老女人| 少妇又骚又多水的视频| 日本护士xxxx视频| 国产尤物精品自在拍视频首页 | 草色噜噜噜av在线观看香蕉| av在线高清观看亚洲| 亚洲av成人片在线观看| 色妺妺视频网| 日韩精品中文字幕人妻系列| 亚洲av成熟国产一区二区| 欧美日韩国产码高清综合人成| 国产日韩欧美网站| 精品国产精品国产偷麻豆 | 精品性影院一区二区三区内射| 国产美女亚洲精品一区| av在线免费高清观看| 2021国产精品国产精华| 国产精品无码久久久久免费AV | 一区二区三区免费视频网站| 亚洲中文字幕乱码免费| 亚洲一区二区三区资源| 刺激一区仑乱| 香蕉人妻av久久久久天天| 亚洲av天堂久久精品| 国产一区二区三区av天堂|