久久久久久性生活|欧美二区亚洲一区|欧美婷婷丁香97|五月丁香婷婷精品|一本无码AAAA|亚洲中文免费在线播放|青青草原在线伊人|青草草在线视频永久免费|色婷婷久久色丁香色|黄色三级在线观看

首頁> 資源> 論文>正文

給排水系統(tǒng)圖實(shí)時(shí)窗口的CAD開發(fā)技術(shù)

論文類型 技術(shù)與工程 發(fā)表日期 2000-05-01
來源 《中國給水排水》2000年第5期
作者 許志芳,王耀才,黃樹成
關(guān)鍵詞 建筑給排水 CAD 軟件
摘要 將多窗口技術(shù)應(yīng)用于給排水CAD軟件包中,在主窗口進(jìn)行管線平面布置,在副窗口實(shí)時(shí)形成其系統(tǒng)圖,這樣可以提高軟件的容錯(cuò)性和設(shè)計(jì)效率。本文詳細(xì)討論了多窗口CAD系統(tǒng)的實(shí)現(xiàn)技術(shù)。

許志芳 王耀才 黃樹成
(中國礦業(yè)大學(xué),江蘇 徐州 221008)

  摘 要:將多窗口技術(shù)應(yīng)用于給排水CAD軟件包中,在主窗口進(jìn)行管線平面布置,在副窗口實(shí)時(shí)形成其系統(tǒng)圖,這樣可以提高軟件的容錯(cuò)性和設(shè)計(jì)效率。本文詳細(xì)討論了多窗口CAD系統(tǒng)的實(shí)現(xiàn)技術(shù)。
  關(guān)鍵詞:建筑給排水; CAD; 軟件
  中圖分類號(hào): TP311
  文獻(xiàn)標(biāo)識(shí)碼: C
  文章編號(hào):1000-4602(2000)05-0036-03

  Auto CAD提供的多窗口技術(shù)是建立在嚴(yán)格的投影原理基礎(chǔ)上的,故不能隨意修改、生成各窗口圖形。在建筑給排水工程CAD系統(tǒng)中,在一窗口進(jìn)行管線平面圖設(shè)計(jì),欲在另一窗口中實(shí)時(shí)生成剛布置管線的系統(tǒng)軸測(cè)圖,這樣就必須獲得所有窗口的控制權(quán),即用戶在一窗口中進(jìn)行操作,創(chuàng)建一個(gè)實(shí)體A,程序員利用實(shí)體A的圖形數(shù)據(jù),在其他窗口中生成不同實(shí)體來表達(dá)實(shí)體A的不同形態(tài)。由于給排水平面圖的坐標(biāo)系如圖1所示,而系統(tǒng)圖的坐標(biāo)系如圖2所示,系統(tǒng)圖坐標(biāo)系的獲得想通過用“VPOINT”設(shè)置視點(diǎn)是絕對(duì)不可能的,而且平面圖向系統(tǒng)圖轉(zhuǎn)化不是完全由投影關(guān)系決定的。因此,直接利用Auto CAD提供的窗口操作技術(shù)不能解決以上問題。

t3601.gif (716 字節(jié))

t3602.gif (982 字節(jié))

  可見,改進(jìn)Auto CAD的多窗口顯示技術(shù)是完善給排水CAD系統(tǒng)開發(fā)的一個(gè)重要課題 。在多窗口建筑消防CAD系統(tǒng)中,作者成功地改造了Auto CAD多窗口顯示技術(shù),滿足了設(shè)計(jì)要求。

1 多視窗控制技術(shù)

  改進(jìn)多窗口顯示技術(shù)主要有兩種方法:
  ① 創(chuàng)建您自己的窗口。采用Auto CAD提供的ADS接口,用C編程,去創(chuàng)建自己獨(dú)立的窗口。然后,調(diào)用Auto CAD的繪圖、編輯命令或函數(shù)來繪圖。這種方法工作量很大,而且還要考慮到自己編制的窗口與Auto CAD的接口,影響了Auto CAD的使用效率,不太實(shí)用。
 ?、凇≈苯痈脑霢uto CAD的窗口。采用“MVIEW”窗口(注意一定不能采用“VPORTS”窗口,因?yàn)樵摯翱谶_(dá)不到您的目的),將每一窗口分成顯示層和非顯示層,凍結(jié)非顯示層,解凍顯示層。在程序中將對(duì)窗口的控制轉(zhuǎn)向?qū)Σ煌瑢拥目刂疲@樣就把問題簡(jiǎn)化了。但是,由于在任一窗口中都存在顯示層與非顯示層,在該窗口中想對(duì)非顯示層上的實(shí)體進(jìn)行選取、編輯、控制就顯得有點(diǎn)力不從心了,好在Auto CAD提供了“CVPORT”這一系統(tǒng)變量,利用它就可以“遙控”每一窗口。到此,就較好地解決了多視窗中對(duì)每一窗口的控制技術(shù)。這種方法工作量小,全部采用內(nèi)嵌的AUTOLISP編程,是Auto CAD的內(nèi)部處理,較實(shí)用。而且,每一視窗中均可以直接利用Auto CAD的“ZOOM”、“PAN”進(jìn)行局部縮放、漫游,視窗的大小調(diào)整、視窗搬移均可很簡(jiǎn)單地由程序來控制實(shí)現(xiàn),若干視窗還可以部分重疊,不必平行設(shè)置。
  多視窗系統(tǒng)創(chuàng)建、控制的程序框圖如圖3所示。

t3701.gif (16050 字節(jié))

2 多視窗系統(tǒng)窗口的調(diào)整

  多視窗系統(tǒng)盡管具有直觀、形象的特點(diǎn),但是由于該系統(tǒng)占用了窗口空間,使得主窗口變小、視圖變小,影響了視覺。因此,有時(shí)需要對(duì)副窗口進(jìn)行搬移、大小調(diào)整,甚至將多窗口系統(tǒng)轉(zhuǎn)向單窗口系統(tǒng)。
 ?、佟〈翱诎嵋?br>   用“(VPORTS)”函數(shù)可以返回多視窗系統(tǒng)的窗口配置,其結(jié)果是一個(gè)復(fù)合表。如某系統(tǒng)窗口配置用“(VPORTS)”返回為下表:
  ((2 (0.0 0.0115385)   (16.878 5.18077))
  (3 (0.0 5.18077)     (16.878 9.0))
  (1 (0.0 0.0)      (16.9589 9.0))
  )
  由上表可見,該多視窗系統(tǒng)返回了三個(gè)窗口句柄號(hào)。假設(shè)主窗口的句柄號(hào)為“2”,一副窗口為“3”,若要對(duì)副窗口“3”進(jìn)行搬移,程序如下:
  (defun c:movewin(/p pl)
  (command “pspace”);進(jìn)入紙空間
  (setq p (getpoint “/n 請(qǐng)點(diǎn)取要移動(dòng)的起始點(diǎn):”));點(diǎn)取移動(dòng)的基點(diǎn)
  (while p
  (setq pl (getpoint“/n 請(qǐng)點(diǎn)取移動(dòng)的終止點(diǎn):”));點(diǎn)取移動(dòng)的終點(diǎn)
  (command “move” “c”;用“CROSS”方式選取窗口
  (caddr (assoc 3 (vports)));窗口右上角坐標(biāo)
  (caddr (assoc 3 (vports)));
  “”p pl
  )
  (setq p(getpoint“/n 請(qǐng)點(diǎn)取要移動(dòng)的起始點(diǎn):”));若不滿意可再次搬移
  );結(jié)束“while”循環(huán)
  (command “mspace”);進(jìn)入實(shí)體模型空間
  (command “ucsicon”“all”“off”);將各窗口UCS圖標(biāo)關(guān)閉
  (princ)
  )
 ?、凇〈翱诖笮≌{(diào)整
  再以上述多視窗系統(tǒng)為例,若要對(duì)窗口“3”大小作調(diào)整,程序如下:
  (defun c:dragwin(/p pl)
  (command “pspace”);進(jìn)入紙空間
  (setq pl (getcorner(cadr(assoc 3 (vports)))“/n 請(qǐng)拖動(dòng)窗口到合適大?。骸?)
  (while pl
  (command“stretch”“c”;用“CROSS”方式選取窗口及拖動(dòng)范圍
  (list(-(car(setq p(caddr(assoc 3(vports)))))0.05)(-(cadr p)0.05))
  (list(+(car p)0.05)(+(cadr p)0.05))
  “”p pl
  )
  (setq pl(getcorner(cadr(assoc 3(vports)))“/n 請(qǐng)拖動(dòng)窗口到合適大?。骸?)
  );結(jié)束whiler循環(huán)
  (command“mspace”);進(jìn)入實(shí)體模型空間
  (setvar“cvport”3);激活副窗口
  (command“zoom”“e”)
  (command“zoom”“0.8x”)
  (command“ucsicon”“all”“off”);關(guān)閉UCS圖標(biāo)
  (princ)
  )
 ?、邸我暣芭c多視窗轉(zhuǎn)化
  利用“CVPORT”這一系統(tǒng)變量可以激活某窗口,利用“TILEMODE”可以進(jìn)行單視窗與多視窗間相互轉(zhuǎn)化。如下程序可以實(shí)現(xiàn)由多視窗向單視窗轉(zhuǎn)化:
  (defun c:mtos()
  (setvar“cvport”2)
  (setvar“tilemode”1)
  (command“zoom”“e”)
  (command“zoom”“0.8x”)
  (princ)
  )

3 結(jié)語

  將多窗口技術(shù)應(yīng)用于給排水CAD軟件包中,在主窗口進(jìn)行管線平面布置,在副窗口形成其系統(tǒng)圖,即每布置一條管線,便同時(shí)在副窗口形成相應(yīng)的系統(tǒng)圖,這樣可直觀、形象地反映出設(shè)計(jì)成果,減輕設(shè)計(jì)難度,而且若有錯(cuò)誤能及時(shí)發(fā)現(xiàn)并修改,以防中途設(shè)計(jì)一步錯(cuò)誤而引起大的返工,從而提高了設(shè)計(jì)效率。但是直接利用Auto CAD提供的窗口操作技術(shù)不能解決以上問題,在多窗口建筑消防CAD系統(tǒng)中,作者成功地改造了Auto CAD多窗口顯示技術(shù),在副窗口實(shí)時(shí)形成管線的系統(tǒng)圖。因此將多窗口技術(shù)應(yīng)用于給排水CAD較件包中,必將增強(qiáng)軟件的實(shí)用性。


電話:0516-3888951-2273
E-mail:zhfxu@cumt.edu.cn
收稿日期:1999-11-16

論文搜索

發(fā)表時(shí)間

論文投稿

很多時(shí)候您的文章總是無緣變成鉛字。研究做到關(guān)鍵時(shí),試驗(yàn)有了起色時(shí),是不是想和同行探討一下,工作中有了心得,您是不是很想與人分享,那么不要只是默默工作了,寫下來吧!投稿時(shí),請(qǐng)以附件形式發(fā)至 paper@h2o-china.com ,請(qǐng)注明論文投稿。一旦采用,我們會(huì)為您增加100枚金幣。