999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

AutoCAD批量打印的實現

2012-02-08 09:32:00何德平楊本廷
城市勘測 2012年3期
關鍵詞:二次開發圖紙測繪

何德平,楊本廷

(重慶市勘測院,重慶 400020)

1 引言

AutoCAD軟件以其強大而又完善的功能以及方便快捷的操作在計算機輔助設計領域中得到了極為廣泛的運用。AutoCAD軟件的通用功能已經足夠強大,但針對具體專業領域的某些功能還有局限性。因此目前測繪行業使用廣泛、知名度很高的數字測圖軟件包括南方公司的CASS測圖系統、威遠圖的SV300測圖系統、廣州開思的SCS測圖系統均是在AutoCAD平臺上進行的二次開發的,這些軟件滿足了測繪行業數字測繪的需要。但在某些專業測繪領域中,還需開發一些專用的功能,以提高工作效率,滿足實際工作的需要。

2 批量打印的需求

在面積測繪過程中,測繪單位一般也是采用Auto-CAD軟件進行內業的圖形繪制、面積計算、圖形打印。在繪圖過程中需對每棟建筑不相同的樓層均需繪制樓層建筑面積實測圖。由于科學技術的發展,當前城市建設工程的建筑風格、建筑結構和樣式越來越復雜和新穎,特別是別墅和花園洋房的每一層形狀和大小均不相同。因此,遇到該類項目時所繪制的樓層建筑面積實測圖較多,有的甚至需要繪制幾百余張圖。若采用AutoCAD通用的打印功能進行批量圖幅的打印出圖(如圖1),每張圖均需進行打印設備、圖紙大小、打印窗口、打印比例等打印設置,則需要較長的時間。如圖1的64幅圖,若每幅圖打印設置需要 30 s,則64幅圖需要 32 min。這樣花費的時間太長,就需要針對該種情況開發一種能快速批量打印的功能,只要同時選中這則64幅圖,則按一定的順序、比例尺在計算機前臺自動打印,以提高勞動效率。

圖1 需打印的圖幅

3 編程思路

在實際的建筑面積測繪工作中,因為表示的建筑的大小、復雜程度不一樣,但為了統一出圖圖紙大小,一般選用A4或A3紙張,因此會導致建筑面積實測圖按不同的比例尺繪制(如圖2)。打印的圖紙一般需按建筑棟號和樓層號從小到大的先后順序裝訂,因此要求圖紙批量打印時,也按一定的先后順序打印,以節省人工重新排序的時間。但在選擇圖形時,AutoCAD默認的是按圖形制作的先后順序選中,這與需要的順序不一致。這就需要將圖紙的比例尺和出圖順序采用一定的方式注記在圖廓中,打印時可根據注記的比例尺和圖紙的順序進行打印。一般采用添加標準的圖廓來實現上述要求。

圖2 不同比例尺繪制的圖幅

編程時首先需要對出圖配置進行設置,設置的內容主要有:①設置打印設備、圖紙類型、圖紙方向和單位;②設置出圖原點、出圖區域;③設置出圖比例、份數、顏色;其次是進行打印對象的選擇,選擇時Auto-CAD默認的是根據打印范圍線繪制的先后順序選中,需根據圖廓中規定的順序對圖形進行排序和獲取打印的比例尺,并可進行預覽。最后是將圖形按設定的比例尺、順序、顏色、份數在指定打印設備進行打印。

4 程序實現

AutoCAD的特色之一便是提供了廣闊的二次開發空間,如 VBA、VB.NET、ObjectARX、AutoLisp、Visual-Lisp等,讓用戶完成AutoCAD本身所不具備的功能,更高效地完成工作。使用VBA進行二次開發具有很大的優勢,其語法簡單、功能強大、界面清晰。使用VBA編程實現批量打印主要需使用下列方法和屬性:

(1)出圖配置設置

①模型空間出圖

使用AutoCAD打印圖形比較常用的是窗口打印,也就是在模型空間創建所有的實體然后直接從模型空間指定打印范圍,然后選擇大小適當的圖紙進行打印。

ThisDrawing.ActiveLayout=ThisDrawing.Layouts.Item("Model") '確保當前布局是模型空間

②打印設備

使用GetPlotDeviceNames來獲得所有可用的打印設備,再通過ConfigName屬性來指定打印設備。

ThisDrawing.ActiveLayout.ConfigName="DWF6 ePlot.pc3"'指定打印設備

③圖紙類型和單位

圖紙類型是根據用戶系統連接的打印設備而定的,每一種不同的打印設備都會有相應可用圖紙尺寸的標準,使用GetCanonicalMediaNames可獲得所有可用的圖紙類型,再用CanonicalMediaName屬性來配置圖紙的尺寸,用PaperUnits屬性指定圖紙的單位。

ThisDrawing.ActiveLayout.CanonicalMediaName="A4" '指定圖紙為A4

ThisDrawing.ActiveLayout.PaperUnits=acMillimeters '設置圖紙單位為毫米

④紙張方向

使用 PlotRotation來設置紙張方向,設置成ac90degrees為橫向,設置成ac0degrees為縱向。

ThisDrawing.ActiveLayout.PlotRotation=ac90degrees '紙張方向為橫向

⑤出圖原點

出圖原點默認設置為(0,0),用戶也可以通過設置CenterPlot屬性為True來將原點設置在圖紙中央進行對中出圖。

ThisDrawing.ActiveLayout.CenterPlot=True '設置對中出圖

⑥出圖區域

使用PlotType屬性來指定出圖區域,該屬性可以選擇為 acWindow,打印 SetWindowToPlot方法指定的窗口中所有圖形。

ThisDrawing.ActiveLayout.PlotType=acWindow '打印類型為窗口選擇

ThisDrawing.ActiveLayout.SetWindowToPlot ptMin,ptMax '設置打印窗口

⑦出圖比例

出圖時需要使用一個精確的比例來打印到圖紙上,可使用SetCustomScale方法輸入自定義比例。

ThisDrawing.ActiveLayout.UseStandardScale=False '不使用標準比例

ThisDrawing.ActiveLayout.SetCustomScale 1,bl '自定義比例

⑧出圖份數

使用NumberOfCopies指定出圖的份數

ThisDrawing.Plot.NumberOfCopies=1 '出圖份數為 1

⑨出圖顏色

利用StyleSheet來指定打印樣式表,從而確定打印的顏色。

ThisDrawing.ActiveLayout.ShowPlotStyles=True '指定在打印中應用打印樣式

ThisDrawing.ActiveLayout.PlotWithPlotStyles=True '指定對象按打印樣式文件的配置打印

ThisDrawing.ActiveLayout.StyleSheet="Monochrome.ctb" '指定黑色打印樣式表

(2)對象選擇及處理

使用SelectionSets集合的add方法創建選擇集,使用SelectOnScreen方法過濾選擇屏幕中的打印范圍多段線對象并添加到選擇集,再根據指定的順序對打印范圍線進行排序處理,同時獲取每個需要打印的范圍線的比例尺、打印窗口坐標。

Set Sset=ThisDrawing.SelectionSets.add("LWPolyline") '創建選擇集

fType(0)=0:fData(0)="LWPolyline" '選擇對象為多段線

fType(1)=8:fData(1)="打印范圍" '選擇圖層為打印范圍

Sset.SelectOnScreen fType,fData '用過濾器選擇打印范圍線

bl=EntLWP.Thickness '獲取打印范圍線的厚度作為自定義比例

LWPolyEnt.GetBoundingBox ptMin,ptMax '獲取打印范圍線的兩對角點坐標

Set LWPolyEnt(m)=Sset.Item(LineNum(m)- 1) '將多段線對象導出為對象數組,再進行排序

ThisDrawing.ActiveLayout.SetWindowToPlot ptMin,ptMax '設置打印窗口

ThisDrawing.Plot.DisplayPlotPreview acFullPreview '打印預覽

(3)打印對象

將選擇的打印對象按上述設置進行打印。

ThisDrawing.SetVariable"BACKGROUNDPLOT",0 '設置前臺打印

ThisDrawing.Plot.PlotToDevice(PlotDName) '打印當前區域的全部文件

ThisDrawing.SetVariable"BACKGROUNDPLOT",2 '恢復系統變量的值,后臺打印

5 結語

利用AutoCAD VBA二次開發技術以及本文的編程思路和方法編寫了批量打印程序(見圖3),在實際工作中得到了廣泛的應用。幾百余張的圖紙打印,只需要進行一次的打印設置和對象選擇,花費時間不到1分鐘,即可按順序進行批量打印,極大地提高了工作效率,滿足了生產的需要。以上列出了編寫該程序使用的主要屬性和方法的語句,只要在此基礎上根據本文中的編程思路,利用以上列出的一些語句,再添加一些排序、單選鈕、列表框、文本框的使用語句,即可編寫出批量打印程序。

圖3 批量打印程序的界面

[1] 張帆.AutoCAD VBA二次開發教程[M].北京:清華大學出版社,2006.

[2]李鳳華.AutoCAD 2002/2000 VBA開發指南[M].北京:清華大學出版社,2001.

[3]張帆,鄭立楷,王華杰.AutoCAD VBA開發精彩實例教程[M].北京:清華大學出版社,2004.

[4] 曾洪飛,張帆,盧擇臨.AutoCAD VBA&VB.NET開發基礎與實例教程[M].北京:中國電力出版社,2008.

[5]王玉琨,任衛紅,茅艷等.CAD二次開發技術及其工程應用[M].北京:清華大學出版社,2008.

[6]二代龍震工作室.AutoCAD VBA函數庫查詢辭典[M].北京:中國鐵道出版社,2003.

猜你喜歡
二次開發圖紙測繪
淺談汽車線束產品圖紙管理
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
看圖紙
當代工人(2019年20期)2019-12-13 08:26:11
浙江省第一測繪院
工程測繪中GNSS測繪技術的應用
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發
04 無人機測繪應用創新受青睞
無人機在地形測繪中的應用
電子制作(2017年9期)2017-04-17 03:01:00
酒店室內裝修圖紙深化設計淺析
河南科技(2014年12期)2014-02-27 14:10:44
主站蜘蛛池模板: 久久人妻xunleige无码| 五月婷婷伊人网| 日本91视频| 亚洲精品你懂的| 最近最新中文字幕在线第一页| 亚洲Av综合日韩精品久久久| 高清欧美性猛交XXXX黑人猛交| 毛片在线区| 中日韩一区二区三区中文免费视频| 最新国产你懂的在线网址| 综合人妻久久一区二区精品| 999国内精品久久免费视频| 欧美日韩国产成人在线观看| 国产成人精品高清不卡在线 | www.91中文字幕| 亚洲精品中文字幕午夜| 无码在线激情片| 日本91在线| 国产色婷婷视频在线观看| 亚洲人成网7777777国产| 亚洲天堂日本| 天堂中文在线资源| 亚洲国产天堂久久九九九| 婷婷综合缴情亚洲五月伊| 91福利免费| 波多野结衣第一页| 国产精品大尺度尺度视频| 九九这里只有精品视频| 国产亚洲视频中文字幕视频| 手机在线免费毛片| 亚洲乱码视频| 亚洲无线一二三四区男男| 欧美啪啪视频免码| 亚洲香蕉在线| 日韩一区精品视频一区二区| 永久在线精品免费视频观看| 毛片免费在线视频| 97国产在线播放| 精品久久久无码专区中文字幕| 久热re国产手机在线观看| 亚洲精品自在线拍| 久操中文在线| 99视频全部免费| 91精选国产大片| 国产香蕉在线| 日韩高清欧美| 在线免费a视频| 国产欧美精品一区二区| 亚洲v日韩v欧美在线观看| 亚洲成人网在线观看| 国产无人区一区二区三区| 精品日韩亚洲欧美高清a| 亚洲有码在线播放| 亚洲国产中文精品va在线播放| 欧美日韩亚洲国产| 制服丝袜国产精品| 日本国产一区在线观看| 亚洲人成电影在线播放| 国产成人综合日韩精品无码首页| 午夜福利免费视频| 天堂网国产| 国产三级国产精品国产普男人| 国产在线视频导航| 国产人在线成免费视频| 亚洲熟妇AV日韩熟妇在线| 色欲国产一区二区日韩欧美| 色婷婷视频在线| 久久黄色一级片| 国产肉感大码AV无码| 免费国产高清视频| 精久久久久无码区中文字幕| 欧美影院久久| 亚洲无码91视频| 手机看片1024久久精品你懂的| 亚国产欧美在线人成| 尤物特级无码毛片免费| 精品少妇人妻无码久久| 亚洲第一天堂无码专区| 日韩小视频网站hq| 亚洲欧美日韩中文字幕一区二区三区| 天堂va亚洲va欧美va国产| 麻豆AV网站免费进入|