<th id="6yc0e"></th>
  • <samp id="6yc0e"><pre id="6yc0e"></pre></samp>
  • <ul id="6yc0e"><pre id="6yc0e"></pre></ul><ul id="6yc0e"><pre id="6yc0e"></pre></ul>
    <samp id="6yc0e"><pre id="6yc0e"></pre></samp>
  • <th id="6yc0e"></th>
    <samp id="6yc0e"></samp>
  • <kbd id="6yc0e"><pre id="6yc0e"></pre></kbd>
    <samp id="6yc0e"></samp>
    <ul id="6yc0e"><tbody id="6yc0e"></tbody></ul>
  • <samp id="6yc0e"></samp>
  • 在线免费成人亚洲av,无码毛片一区二区本码视频,亚洲日韩一区精品射精,国产99视频精品免费视频36

    淺析基于AutoCAD-VBA 的對象交互式操作方法論文

    時間:2021-05-28 16:14:41 論文 我要投稿

    淺析基于AutoCAD-VBA 的對象交互式操作方法論文

      1 概述

    淺析基于AutoCAD-VBA 的對象交互式操作方法論文

      AutoCAD 中對象的組合拆散是一組常用操作,可以通過Group命令實現對對象的組合,但組合拆散對象時必須都在對話框狀態下進行,而且不能先選定后操作,操作不便捷。到了2002 版本之后,AutoCAD 菜單中甚至取消了這個命令。但在實際繪圖中,對象的組合、拆散功能隊繪圖有很大的幫助,因為在選擇對象時,組合在一起的對象可以一次性選定而不需要逐個對象選擇。所以,通過編程實現快捷使用對象組合拆散功能,是這個程序編寫的目的。程序設計思路是去掉對話框,只要選定對象后輸入一個相應的組合命令就可以直接將選定的對象綜合在一起,而且不需要命名。拆散對象也是同樣的道理。選定組合,輸入拆散的.命令就可以直接將組合在一起的對象拆散。

      2 實例分析

      文章通過AutoCAD-VBA 設計一個組合拆散對象的應用程序。

      (1)運行AutoCAD2004,在【VBA 管理器】對話框中新建一個全局工程,進入VBA 集成開發環境,將其名稱修改為“匿名組”,保存在適當的位置上。

      (2)在【工程資源管理器】窗口中雙擊ThisDrawing,打開該模塊的代碼窗口,首先其中添加對象組合的代碼:

      Sub AddUnNameGroup( )Dim SelObjects As AcadSelectionSetDim ppendObjs( ) As AcadEntitySet SelObjects=GetSelSetDim UnNameGroup As AcadGroupSet UnNameGroup=ThisDrawingGroups.Add(“*”)ReDim appendObjs(0 To SelObjects.Count-1)Dim I As IntegerFor i=0 To SelObjects.Count-1Set appendobjs(i)=SelObjects.Item(i)NextUnNameGroup.AppendItems appendobjsEnd Sub

      (3)在ThisDrawing 模塊的代碼窗口中,添加通過選擇對象所在的組,分解組的代碼:

      Sub DelUnNameGroup( )Dim SelGroup As AcadGroupDim SelObjects As AcadSelectionSetSet SelObjects=GetSelSetDim ObjInSelSet As AcadObjectDim I As IntegerDim j As IntegerDim k As IntegerDim ObjInGroup As AcadObjectOn Error Resume NextFor i=0 To SelObjects.Count-1Set ObjInSelSet=SelObjects.Item(i)For j=0 To ThisDrawing.Groups. Count-1For k=0 To ThisDrawing.Groups.Item(j). Count-1Set ObjInGroup=ThisDrawing.Groups.Item(j).Item(k)If ObjInGroup.ObjectID=ObjInSelect.ObjectID ThenThisDrawing.Groups.Item(j).DeleteExit ForEnd IfNextNextNextEnd Sub

      這段代碼的實現過程由于不能通過選定的對象來直接找到其組合名稱,只能通過循環比較對象ID 的方法來解決這個問題。運行時可能會慢點,但對象不多的情況下其運行速度還是很快的。

      (4)在AutoCAD 安裝路徑的Support 目錄下的新建一個命名為UnNameGroup.lsp 的文文章件,文件內容如下:

      (defun c:ga( ) (princ))(defun c:gd( ) (princ))

      3 實例效果

      (1)在AutoCAD 2004 中,加載UnNnameGroup.lsp 文件。

      (2)選定圖形中的部分對象,在命令行中輸入“ga”并按下Enter鍵,此時選定的對象將自動組合起來。

      (3)選定剛組合的對象,在命令行中輸入“gd”并按下Enter 鍵,此時選定的組合將自動拆散。

      4 總結與提高

      通過這個程序的設計,實現了通過代碼語言實現匿名的組合,匿名的組合可以使用下面的語句生成:ThisDrawing.Groups.Add“( .”)就是名稱項中用“.”即可生成匿名塊。組合的操作與選擇集的操作相似,都應該先生成一個空的組合,然后把對象添加到其中。由于通過對象不能確定對象是否是組合中的一員,所以必須遍歷組合中的對象與指定對象相比較來確定指定對象是否為指定組合中的對象。雖然在幫助文件中說明組合是一種特殊的命名選擇集,但這里選擇集的概念只對于AutoCAD 中的選擇集而言,而不是對于ActiveX 中的選擇集。可以通過使用“PickfirstSelectionSet”方法來實現先選擇后操作,但這個方法有一定的限制,因為在指定VBA 過程運行前我們總是要通過其他命令來加載運行,這樣在加載運行過程中圖形中選定的選擇集將會消失。所以我們這里采用的是自動觸發運行的方法,也就是通過一個空的LISP 程序來觸發相應的事件運行相關的過程。在實際使用過程中,程序運行穩定,提高了工作效率,效果良好。

    【淺析基于AutoCAD-VBA 的對象交互式操作方法論文】相關文章:

    淺析秦觀詞中的閑愁論文08-07

    基于系統設計的科研管理論文03-21

    淺析杜甫詩歌的憂患意識的論文10-27

    基于DSP整流器設計論文04-18

    淺析李清照的精神世界文學論文08-07

    沒對象的520說說05-20

    對象的道歉信02-18

    淺析李清照詞廣泛傳播之原因的論文08-22

    520給對象表白的句子05-20

    送給對象的520表白句子05-20

    主站蜘蛛池模板: 奇米四色7777中文字幕| 国产高清在线不卡一区| 精品视频不卡免费观看| 18禁超污无遮挡无码网址| 97在线视频免费人妻| 人人人澡人人肉久久精品| 亚洲 欧美 国产 制服 动漫| 重口SM一区二区三区视频| 精品久久久久久无码中文野结衣| 国产精品成人中文字幕| 国产无套乱子伦精彩是白视频| 99国产欧美另类久久久精品| 乱妇乱女熟妇熟女网站| 一区二区亚洲人妻精品| 伊人久久大香线蕉AV五月天宝贝| 国产亚洲精品AA片在线播放天 | 国产熟睡乱子伦视频在线播放| 日本中文字幕亚洲乱码| 亚洲男女羞羞无遮挡久久丫| 国产喷水1区2区3区咪咪爱AV| 欧美肥老太牲交大战| 无码人妻一区二区三区精品视频 | 综合激情亚洲丁香社区| 亚洲高清国产拍精品青青草原 | 国精产品一区二区三区有限公司| 在线观看成人永久免费网站| 久久午夜无码鲁丝片直播午夜精品 | 久青草国产在视频在线观看| 亚洲AV无一区二区三区| 精品国产一区AV天美传媒| 天堂V亚洲国产V第一次| 97久久综合亚洲色hezyo| 特级毛片在线大全免费播放| 天天做天天爱夜夜爽导航| caoporn成人免费公开| 国精品人妻无码一区免费视频电影| 強壮公弄得我次次高潮A片| 日韩国产中文字幕精品| 成人久久免费网站| 一本久道久久综合狠狠爱| 伊人色综合久久天天小片|