solidworks二次开发C#----选择管理器Selected Objects

一.为何要选择

solidworks作为一个设计工具,很多情况下需要对选择的对象进行操作。没有选择,就很难有操作,就像我们画一个草图,需要选择一个基准面。拉伸一个实体,需要选择一个草图轮廓一样。

二.如何选择

1.清理选择

ModelDOc2 swModel = swApp.activeDoc
swModel.ClearSelection(true);

2.选择管理器

选择管理器是soldworks里一个专门用来获得选择对象的接口。
首先我们需要绑定到swModel上。

SelectionMgr swSeleMgr = null;//定义选择管理器对象
swSeleMgr = (SelectionMgr)swModel.SelectionManager;

绑定过后我们就可以用swSeleMgr的方法来获取我们选择的数量,选择的对象,选择的对象类型等。

3.关于ModelDocExtension::SelectByID2

选择管理器主要用于我们获得用户界面选择的对象,如果想用程序去选择一个对象,便可使用selectbyid2了。

retval = ModelDocExtension.SelectByID2 ( Name, Type, X, Y, Z, Append, Mark, Callout, SelectOption ) 
name--需要选择对象的全路径名
type--需要选择对象的类型
x,y,z--需要选择对象的坐标位置(输入全路径名,对象后,可以输入0,0,0,将坐标忽略)
Mark-- 为选择对象设置的标记。

全路径名的规则
名字@特征名@零件名--ID@顶级装配体/子装配体-ID@底层装配体
ID为solidworks为识别相同零件所加的扩展标记

4.对象特有的选择方法

slectedbyid可以选择几乎所有的对象,但有时候拼接路径名较为繁琐。
除了使用这个方法意外,有些对象有选择方法,可以直接调用此对象的选择方法来选择他自己。但在此之前,需要获得此对象。

Annotation  Annotation::Select3 Body   Body2::Select2 BreakLine  BreakLine::Select Component  Component2::Select3 Configuration Configuration::Select2 Edge Point  EdgePoint::Select Entity  Entity::Select4 Feature  Featur::Select2 Sketch Contour SketchContour::Select2 Sketch Hatch SketchHatch::Select4 Sketch Point SketchPoint::Select4 Sketch Segment SketchSegment::Select4 

5.选择过滤器

为了选择我们需要的特有对象,我们可以设置选择过滤器。

swApp.SetSelectionFilter(swSelectType_e.swSelFACES | swSelectType_e.swSelEDGES); 

你可能感兴趣的:(solidworks二次开发C#----选择管理器Selected Objects)