日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

AutoCAD .Net二次开发之Editor选择集

發布時間:2024/3/24 asp.net 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AutoCAD .Net二次开发之Editor选择集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AutoCAD .Net二次開發之Editor選擇集

    • PickFirst選擇集
    • 一般選擇集
    • 選擇集過濾SelectionFilter

Editor的路徑:
Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor

PickFirst選擇集

Editor.SelectImplied() —獲取命令執行前所選擇的選擇集(PickFirst選擇集)

使用PickFirst選擇集系統變量PICKFIRST必須設置為1
使用PickFirst選擇集的命令必須定義好UsePickSet命令標志

Editor.SetImpliedSelection() —設置PickFirst選擇集

一般選擇集

Editor.GetSelection() —提示用戶從屏幕拾取對象
Editor.SelectAll() —選擇當前空間內所有未鎖定及未凍結的對象
Editor.SelecCrossingPolygon() —選擇由給定點定義的多邊形內的所有對象以及與多邊形相交的對象

邊界多邊形不能自交

Editor.SelectWindow() —選擇完全框入由兩個點定義的矩形內的所有對象
Editor.SelectCrossingWindow() —選擇由兩個點定義的窗口內的對象以及與窗口相交的對象
Editor.SelectWindowPolygon() —選擇完全框入由點定義的多邊形內的對象

邊界多邊形不能自交

!!!
一般選擇集方法,傳入的點被用作為UCS點,如果是其他坐標系下的點坐標,需轉為UCS,再傳入方法;
還有就是,選擇集進行選擇時,所參照的平面是當前視口的方向,也就是用戶觀察模型空間的方向,以這個方向做法線生成的一個平面,已定義好的選擇區域會向這個平面做映射,以這個映射過來的圖形作最終的選擇區域,視口方向為軸,進行選擇。
!!!
這就會導致一個問題,一般選擇集我們不能自由控制選擇的方向,我所采取的解決方法是臨時改變視口方向

Editor edit = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor; ViewTableRecord VTR = edit.GetCurrentView(); Vector3d oldDirection = VTR.ViewDirection; VTR.ViewDirection = SFD.Normal;//將當前視口調整到想要進行選擇的一個方向 edit.SetCurrentView(VTR);

選擇集過濾SelectionFilter

TypedValue[] tv = new TypedValue[]{new TypedValue(typeCode,”LINE”)}; SelectionFilter sf = new SelectionFilter(tv);

具體請參考https://blog.csdn.net/zhd18/article/details/78726469

總結

以上是生活随笔為你收集整理的AutoCAD .Net二次开发之Editor选择集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。