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

AutoCAD平臺下多邊形邊長自動標注的方法

2011-03-22 00:13:42解斌朱大勇郝煜
城市勘測 2011年4期
關鍵詞:二次開發方向方法

解斌,朱大勇,郝煜

(1.武漢市勘測設計研究院,湖北武漢 430022;2.天津市勘察院,天津 300191)

1 引言

AutoDesk公司的AutoCAD軟件,以其杰出的圖形編輯和處理能力得到了廣泛應用。在應用中,常常需要結合專業情況將圖形繪制功能進行擴充,僅靠Auto-CAD自身的功能,難以滿足應用中對效率的需求。在筆者的工作中,常常需要對房屋分成平面示意圖中的房屋邊長進行標注。雖然AutoCAD提供了長度的標注功能,但是手工對每條邊進行標注,不僅耗時,而且標注位置難以精確控制,也無法形成統一的標準。

本文對邊長自動標注的方法進行了闡述。經該方法生成的標注滿足以下幾個特點:①標注垂直于所標注邊長;②連續共線的多線統一標注;③所有標注到標注邊長的垂距相等;④標注點位于標注邊長的中心;⑤標注文字已標注點位中心居中對齊。

2 ObjectARX簡介

ObjectARX是一種開發AutoCAD應用程序的工具,它以C++為編程語言,采用先進的面向對象的編程原理,提供可與AutoCAD直接交互的開發環境,能使用戶方便快捷地開發出高效簡潔的AutoCAD應用程序。其主要特點如下:

(1)能對AutoCAD的所有事務進行完整的、先進的、面向對象的設計與開發,相比其他二次開發工具其速度更快、集成度更高、穩定性更強。

(2)ObjectARX包含的動態鏈接庫與AutoCAD在同一地址空間運行并能直接利用AutoCAD核心數據結構和代碼,使二次開發者可以充分利用AutoCAD的開放結構,直接訪問AutoCAD數據庫結構、圖形系統以及CAD幾何造型核心,以實時擴展AutoCAD的功能,創建能全面享受AutoCAD固有命令的新命令。

(3)ObjectARX可以按需要加載應用程序,并可以在同一水平上與Windows系統集成,甚至與其他Windows應用程序實現交互操作。

使用ObjectARX開發技術,可以創建快速、高效、緊湊的AutoCAD程序,使ARX應用程序不僅具有交互性、綜合性,而且還具有智能性。應用ObjectARX技術生成的ARX應用程序充分體現了ObjectARX技術的優點,同時還可在不同的操作系統中移植。

3 算法設計及實現

(1)自動標注基本過程

第一步:手工點選待標注的閉合多邊形。

第二步,計算標注點相對標注邊的方向值。標注點在直線左邊,則相對方向值為90°,否則取270°。

第三步:逐個標注邊長。根據邊的兩個端點及第二步計算的標注方向值,計算標注點,并加入標記到AutoCAD的圖形空間。

(2)計算標注點相對方向

標注點的相對方向,指的是標注點相對于所標注的線段的旋轉角。如圖1所示,閉合多邊形起點為a,止點為b,p1,p2為多邊形中待標注的線段。如標注在多邊形外部,則相對方向為90°,反之如標注在內部,相對方向則為270°。

算法過程如下:

第一步:取閉合多邊形第一點和第二點,并以其中點為基點用極坐標方法解算出與之相交90°、距離為0.5 m的標注點坐標。

第二步:取第一步計算的坐標點,判斷其是否在標注多邊形的內部。如該點坐標滿足注記的條件,則相對方向為90°,反之取270°。

圖1 標注點相對方向示意圖

(3)點鏈的旋轉與多余點的刪除

在實際繪圖過程中,會出現相鄰多點共線的情況,這時候要求把這些共線的點合并為一條邊來注記。為了簡化操作,必須避免起始點和終止點以及它們的相鄰點產生三點或多點共線的情況。一方面需要對多邊形的點鏈進行旋轉,務必使起始點處不出現三點及多點共線的情況。另一方面僅需保留多點共線時的端點,刪除中間點。我們把前后兩條邊不共線的點叫做拐點。點鏈的旋轉實際上是從起始點開始,找到第一個拐點,并以其作為點鏈的起始點,其操作過程只是改變點在點鏈中的位置。共線冗余點的刪除會改變點鏈的大小,實現過程中為了不改變原始圖形,對多邊形注記時首先復制多邊形點鏈,然后對復制的點鏈進行旋轉和刪除操作。

(4)逐邊計算標注點并注記

標注點的計算采用極坐標方法,利用ObjectARX提供的API函數acutPolar來實現。其函數原型如下:

第一個參數表示基準點,第二個參數表示兩點連線的方位角,第三個參數表示兩點之間的距離,第四個參數表示待求點。基準點一般取線段兩端點的中點,方位角取線段的方位角與相對方向之和,距離一般取注記高度的一半。

標注點計算出來后,便在標注點處插入標注。下面是具體實現的代碼:

acedCommand(RTSTR,"._dimaligned",RTPOINT,pt1,RTPOINT,pt2,RTPOINT,pt3,0);

參數pt1,pt2是標注線段的兩個端點,pt3是標注點坐標。acedCommand是一個API函數,其參數由一串參數類型及其值組成,并以0作為結束。如圖2和圖3是實際標注效果圖。

圖2 在房屋輪廓外標注效果圖

圖3 在房屋輪廓內標注效果圖

4 結語

本文詳細介紹了AutoCAD平臺下多邊形邊長自動標注實現的方法,并利用VC.NET 2002和Object-ARX 2005作為開發工具,實現了該方法,給出了應用實例。通過實踐表明,該方法有較強的針對性和實用性,提高了房屋分成平面示意圖的生產效率。

[1] 李長勛.AutoCAD ObjectARX程序開發技術[M].北京:國防工業出版社,2005

[2] Harvey M.Deitel,Paul J.Deitel著.郭凱,蔡飛譯.VC++.NET高級編程[M].北京:清華大學出版社,2004

[3] 張晉西.Visula Basic與AutoCAD二次開發[M].北京:清華大學出版社,2002

[4] 張帆.ObjectARX開發實例教程[M].北京智帆高科科技有限公司,2007

[5] Charles McAuley著.李世國,潘建忠,平雪良譯.Programming AutoCAD 2000 Using ObjectARX[M].北京:機械工業出版社,2000

[6] 李冠億.深居淺出AutoCAD二次開發開發基礎.2010

猜你喜歡
二次開發方向方法
2022年組稿方向
計算機應用(2022年2期)2022-03-01 12:33:42
2021年組稿方向
計算機應用(2021年4期)2021-04-20 14:06:36
2021年組稿方向
計算機應用(2021年1期)2021-01-21 03:22:38
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
位置與方向
主站蜘蛛池模板: 亚洲美女操| 国产在线观看人成激情视频| 伊人久久青草青青综合| 91视频精品| 伊人久久精品无码麻豆精品| 亚洲视频影院| 男人天堂伊人网| 亚洲成aⅴ人片在线影院八| 亚洲AV无码一区二区三区牲色| 不卡的在线视频免费观看| 国产在线观看99| 欧美福利在线播放| 欧美日韩国产成人高清视频| 亚洲男人天堂2020| 欧美在线一二区| 波多野结衣一区二区三区四区视频| AV老司机AV天堂| 欧美日韩国产成人高清视频| 中文字幕第4页| 九九热免费在线视频| a级毛片免费播放| 免费中文字幕在在线不卡| 欧美综合成人| 亚洲精品视频免费观看| 国产亚洲欧美另类一区二区| 91在线无码精品秘九色APP| 国产精品网址你懂的| 国产精品自在在线午夜区app| 久久青青草原亚洲av无码| 伊人中文网| 国产精品福利社| 日韩 欧美 国产 精品 综合| 亚洲天堂视频在线播放| 高清欧美性猛交XXXX黑人猛交| 欧美色综合网站| 亚洲a级在线观看| 青青草国产免费国产| 国产91成人| 日韩精品无码一级毛片免费| 三区在线视频| 国产免费a级片| 激情乱人伦| 国产成人亚洲精品无码电影| 亚洲精品自产拍在线观看APP| 99热最新网址| 99er这里只有精品| 在线亚洲精品福利网址导航| 亚洲成aⅴ人片在线影院八| 亚洲人成网站18禁动漫无码| 天堂网亚洲综合在线| 狠狠色香婷婷久久亚洲精品| 精品自窥自偷在线看| 国产又大又粗又猛又爽的视频| 国产一国产一有一级毛片视频| 又粗又大又爽又紧免费视频| 亚洲精品综合一二三区在线| 欧美精品亚洲精品日韩专区| 国产青青草视频| 午夜在线不卡| 亚洲资源在线视频| 无码专区第一页| 试看120秒男女啪啪免费| 992tv国产人成在线观看| 日韩精品高清自在线| 免费一级α片在线观看| 尤物成AV人片在线观看| 欧美激情视频一区| 91九色最新地址| 免费国产在线精品一区| 中文无码精品A∨在线观看不卡| 久久人人妻人人爽人人卡片av| 亚洲av无码牛牛影视在线二区| 在线免费看黄的网站| 四虎国产永久在线观看| 少妇精品久久久一区二区三区| 国产极品美女在线观看| 久久国产V一级毛多内射| 少妇人妻无码首页| 亚洲男人的天堂久久香蕉网 | 国产乱人乱偷精品视频a人人澡| 国产在线麻豆波多野结衣| 精品国产福利在线|