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

基于VBA技術的AutoCAD斷面數據的修改

2019-07-22 00:50:46李克鋒王建東任曉東
治淮 2019年6期

李克鋒 王建東 任曉東

一、引言

河道實測橫斷面數據生成AutoCAD斷面圖后,由于設計的變更或其他方面的原因,有時需要在沒有成圖原始數據的情況下,根據AutoCAD電子文檔,將某條線的高程整體上移或下移一定距離,人工逐一修改顯然不是一種簡單高效的方法,也不符合實際。利用VBA技術批量地將提供的AutoCAD電子文檔快速、準確地轉換成符合要求的文檔,不失為解決此類問題的一種方法。

二、AutoCAD斷面數據

1.AutoCAD多義線格式

某設計院生成的DWG文件格式如下:一個DWG文件僅包含一個斷面圖,一條河道如有十幾個實測斷面,那就有相應的十幾個DWG文件,圖1為AutoCAD清淤斷面圖,假定虛線是需要整體修改數據的線。

修改數據時,首先采用AutoCAD過濾組碼與組碼值創建選擇集,過濾組碼與組碼值可以查詢AutoCAD開發文檔獲取,也可以通過命令(entget(car(entsel)))獲取的對象基本特性。以下為執行該命令后得到如下信息:

((-1 .<圖元名: 7ff4fce09a90>) (0 ."LWPOLYLINE") (330 .<圖元名:

7ff4fce06a10>) (5 ."121") (100 ."AcDbEntity") (67 .0) (410 ."Model") (8 ."Dash") (62 .0) (6 ."DASHED") (100 ."AcDbPolyline") (90 .13) (70 .0) (43 .0.0) (38 .0.0) (39 .0.0) (10 0.0 36.7) (40 .0.0) (41 .0.0) (42 .0.0) (91 .0) (10 10.0 35.4) (40 .0.0) (41 .0.0) (42 .0.0) (91 .0) (10 14.0 24.1) ……

其中比較常用的為:

(0 ."LWPOLYLINE") 0表示圖元名稱,例如“ARC”、“LINE”、“CIRCLE”...等等,本例中表示圖元對象類型是輕量多義線;

(8 ."Dash") 8表示圖層名稱,本例中表示圖元對象在Dash層;

(62 .0) 62表示顏色編號,本例中表示對象顏色為BYLAYER,即隨層;

(6 ."DASHED") 6表示線型名稱,本例中表示線型DASHED。

2.創建過濾器

在AutoCAD命令欄輸入vbaide命令,啟動AutoCAD自帶的Visual Basci for Application(即VBA)環境,來到AutoCAD的vba界面。根據所繪圖形的特點創建過濾器,以下為創建滿足條件的過濾器代碼過程:

圖1 AutoCAD清淤斷面圖

圖2 線型信息圖

圖3 黑色虛線相關信息圖

End Sub

通過擴展或收縮過濾器,就可以選擇需要讀取數據的對象,以下為調用創建過濾器過程的代碼,例如:

BuildFilter pType, pData, 0, "LWPOLYLINE":表示建立圖上所有的多段線過濾器;

BuildFilter pType, pData, 0, "LWPOLYLINE", 8, "Dash":表示建立圖層是Dash的多段線過濾器;

BuildFilter pType, pData, 0, "LWPOLYLINE", 8, “Dash”, 62, 0:表示建立圖層是Dash、顏色為BYLAYER的多段線過濾器。

由上所獲取的多義線的信息可知,要修改黑色虛線的值,用BuildFilter(pType, pData, 0, "LWPOLYLINE", 8, " Dash")即可創建所需過濾器。

3.構建選擇集

創建過濾器后,根據過濾條件,將符合條件的所有實體對象,加入到選擇集中,以下為創建選擇集函數代碼:

根據以上所指定的過濾器,以下為將所有滿足條件的實體加入到選擇集的部分代碼。

sset.Select acSelectionSetAll, , , pType, pData

選擇集創建后,就可以將選擇集中所有相應坐標點的數據按需要進行修改。

4.修改數據

在AutoCAD的命令欄輸入List命令,選擇需要修改的黑色虛線多段線,回車后會生成所選線型的相關信息,包括一系列成圖的坐標點,如圖2所示。

由圖2和圖3中同為(50,5,0)的XYZ坐標信息點可知,圖2中的點在圖3的AutoCAD狀態欄顯示為(50,5,0),在圖3的斷面圖中實際所對應的點為(5,0.5,0),即成圖時的X坐標(即起點距)、Y坐標(即河底高程)分別是將實測數據放大10倍后所得,因此對該黑色虛線整體上移或下移時,也就是需要將Y坐標數據擴大10倍。如需要上移0.15m,則實際修改的數字為1.5。修改Y坐標數據時,在創建的選擇集中遍歷所有坐標點,對所有的Y坐標數據加一個常數,然后更新所選線的坐標信息,最后刪除選擇集,以下為遍歷選擇集將所有Y坐標數據整體上移0.15m的部分代碼示例:

一個DWG文件修改完畢后,接下來的工作遍歷同一目錄下所有DWG文件,重復打開→修改→保存→關閉的步驟。

三、結語

本文主要介紹了在AutoCAD VBA環境下,通過遍歷生成的DWG文件,采用AutoCAD過濾組碼與組碼值創建選擇集,從生成的DWG斷面圖中選擇需要修改的斷面數據,然后對所選斷面數據進行整體批量修改的方法。實踐證明,該方法切實可行,實用性強,大大提高了工作效率,為缺少斷面原始數據而需要批量修改DWG文件中某條線的高程數據提供了一種簡便快捷的方法■

主站蜘蛛池模板: 日韩无码视频专区| 人妻无码中文字幕一区二区三区| 精品91自产拍在线| 亚洲精品桃花岛av在线| 欧美日韩福利| 最新午夜男女福利片视频| 亚洲 欧美 中文 AⅤ在线视频| 国产成熟女人性满足视频| 久久女人网| 中文字幕天无码久久精品视频免费| 三级国产在线观看| 中文成人在线视频| 99久久国产精品无码| 无码在线激情片| 波多野结衣视频网站| 成人一级黄色毛片| 国产精品专区第1页| 久久精品国产免费观看频道| 久久美女精品| 人妻中文字幕无码久久一区| 久久天天躁狠狠躁夜夜躁| 亚洲AⅤ永久无码精品毛片| 热99精品视频| 97成人在线视频| 伊人久综合| 久久久噜噜噜| 亚洲国产成人久久精品软件 | 最新亚洲人成无码网站欣赏网| 亚洲三级色| 国产91特黄特色A级毛片| 激情乱人伦| 免费无遮挡AV| 国产日韩欧美黄色片免费观看| 在线另类稀缺国产呦| 99久久国产综合精品2023| 青青青国产在线播放| 久青草国产高清在线视频| 国产欧美性爱网| 欧美性色综合网| 久久精品人人做人人综合试看| 午夜爽爽视频| 激情無極限的亚洲一区免费| 午夜高清国产拍精品| 99热这里都是国产精品| 国产精品成人免费视频99| 中文字幕久久精品波多野结| 国产精品美人久久久久久AV| 亚洲视频黄| 国产视频入口| 久草性视频| 伊人91视频| 毛片在线播放网址| 她的性爱视频| 久久人搡人人玩人妻精品一| 国产在线视频福利资源站| 毛片在线播放网址| 免费看久久精品99| 欧美精品亚洲精品日韩专区va| 亚洲综合精品第一页| 91美女视频在线| 欧美成人一区午夜福利在线| 色哟哟国产精品一区二区| 欧美日韩高清在线| 免费一看一级毛片| 国产国产人在线成免费视频狼人色| 国产精品女熟高潮视频| 国产在线精彩视频二区| 青青操国产视频| 福利国产微拍广场一区视频在线| av尤物免费在线观看| 香蕉久久永久视频| 伊人色综合久久天天| 国产精品极品美女自在线| 国产在线97| 99久久成人国产精品免费| 一本色道久久88亚洲综合| 国产成人午夜福利免费无码r| 久久香蕉国产线看观看精品蕉| 国产午夜一级毛片| 精品国产一二三区| A级全黄试看30分钟小视频| 中文字幕亚洲综久久2021|