收藏 分销(赏)

Autocad二次开发概述PPT.ppt

上传人:丰**** 文档编号:6249854 上传时间:2024-12-03 格式:PPT 页数:52 大小:1.08MB
下载 相关 举报
Autocad二次开发概述PPT.ppt_第1页
第1页 / 共52页
Autocad二次开发概述PPT.ppt_第2页
第2页 / 共52页
Autocad二次开发概述PPT.ppt_第3页
第3页 / 共52页
Autocad二次开发概述PPT.ppt_第4页
第4页 / 共52页
Autocad二次开发概述PPT.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,对象创建及选择集的使用,1,2006 name of company.All rights reserved.,对象的创建,你可创建各类对象,包括从简单的线和圆到样条曲线、椭圆和关联阴影区域等。一般情况下,使用,Add,方法以添加到模型空间。也可在图纸空间或图块中创建对象,对象创建后,可更改对象的图层、颜色和线型。也可添加文本以注释图形,确定容器对象,图形对象是创建于,ModelSpace,集合、,PaperSpace,集合或,Block,对象中。,ModelSpace,集合是通过,ModelSpace,属

2、性返回,,PaperSpace,集合是通过,PaperSpace,属性返回,你可直接引用这些对象,或通过用户定义变量引用。直接引用对象,必须包含调用层次对象。例如,以下语句添加直线到模型空间中。,Set lineObj=ThisDrawing.ModelSpace.AddLine(stratpt,endpt),2,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中对象包括:,直线,多义线,复线,二维或三维多线段,圆弧,圆,椭圆,样条曲线,点,文字,填充区域,面域,阴影,3,2006 name of company.All righ

3、ts reserved.,对象的创建,AutoCAD,中常用的对象包括:,直线,直线,AutoCAD,中最基本的对象。你创建多种不同的线,-,单一的直线和带有圆弧或不带圆弧的复线。一般情况下,你通过指定坐标点来绘制线。默认的线型为,CONTINUOUS,,一种不间断的直线,还有许多使用点划线的线型可供选用。,Sub Example_AddLine(),Dim lineObj As AcadLine,Dim start,pt,(0 To 2)As Double,Dim end,pt,(0 To 2)As Double,start,pt,(0)=1#:start,pt,(1)=1#:start,p

4、t,(2)=0#,end,pt,(0)=5#:end,pt,(1)=5#:end,pt,(2)=0#,Set lineObj=ThisDrawing.ModelSpace.AddLine(start,pt,end,pt,),ZoomAll,End Sub,4,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,多义线,轻量多线段是由直线和圆弧组成的宽度可调的线。多线段是旧版的轻量多线段对像,是由直线和圆弧段组成的可调宽度的二维线或者不可调宽度的三维线和网络。,创建多线段和轻量多线段,系统默认的方法都是由一个数组作为

5、参数,要编写创建段多线段的函数,只要将两个点,(Variant),作为参数,然后将点的坐标撮到数组中,创建符合要求的多线段。,Sub Example_AddLightWeightPolyline(),Dim plineObj As AcadLWPolyline,Dim,pt,s(0 To 9)As Double,pt,s(0)=1:,pt,s(1)=1,:pt,s(2)=1:,pt,s(3)=2,pt,s(4)=2,:pt,s(5)=2,:,pt,s(6)=3:,pt,s(7)=2,pt,s(8)=4:,pt,s(9)=4,Set plineObj=ThisDrawing.ModelSpace

6、.AddLightWeightPolyline(,pt,s),End Sub,5,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,二维或三维多线段,二维多线段与三维多线段,是测绘中经常使用的线型。对于二维多线段,等高线数据中经常使用,区别两者除了都包含横坐标与纵坐标以外,二维多线段多了一个,elevation,属性值,(,这跟多线段属性一样,),。而三维多线段包含了一个,z,值,这是这二者之间的本质区别。,Sub Example_AddPolyline(),Dim plineObj As AcadPolylin

7、e,Dim polyObj As Acad3DPolyline,Dim,pt,s(0 To,8,)As,pt,s,pt,s(0)=1:,pt,s(1)=1:,pt,s(2)=,1,0,pt,s(3)=1:,pt,s(4)=2:,pt,s(5)=,1,0,pt,s(6)=2:,pt,s(7)=2:,pt,s(8)=,1,0,Set plineObj=ThisDrawing.ModelSpace.AddPolyline(,pt,s),Set polyObj=ThisDrawing.ModelSpace.Add3DPoly(pts),End Sub,6,2006 name of company.Al

8、l rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,圆,根据圆和半径创建圆形,可心直接调用系统提供的,AddCircle,方法,将这种方法封装到函数中,可以作为基准函数。根据圆心和直径创建圆,则可以由直径计算半径,再调用基准函数即可。,Sub Example_AddCircle(),Dim circleObj As AcadCircle,Dim center,pt,(0 To 2)As Double,Dim radius As Double,center,pt,(0)=0#:center,pt,(1)=0#:center,pt,(2)=0#,radius=5#

9、,Set circleObj=ThisDrawing.ModelSpace.AddCircle(center,pt,radius),End Sub,7,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,复线,多线是指多重互相平等的线条,其给合范围为,116,条平行线。这些平行线称为“多线元素”。它主要用于建筑图纸中的墙线绘制,即是多线在建筑平面图中的表现方式,其绘制方法与直线相似,通过一个起点与终点即可确定一条多线,惟一不同的就是结构组合。,(,在测绘方面不常用,),Sub Example_AddMLine(),

10、Dim mLineObj As AcadMLine,Dim vertexList(0 To 5)As Double,vertexList(0)=4:vertexList(1)=7:vertexList(2)=0,vertexList(3)=5:vertexList(4)=7:vertexList(5)=0,Set mLineObj=ThisDrawing.ModelSpace.AddMLine(vertexList),End Sub,8,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,圆弧,圆弧在绘制过程中具有

11、举足轻重的作用。绘制圆弧时可以通过圆心、起点、端点、弧半径、角度、弦长与方向值等主要参数进行绘制。在状态下,程序会以起点、第二点、终点的方式利用三点确定一段圆弧。,Sub Example_AddArc(),Dim arcObj As AcadArc,Dim centerpt(0 To 2)As Double,Dim radius As Double,centerpt(0)=0#:centerpt(1)=0#:centerpt(2)=0#:radius=5#,startAngle=10#:endAngle=230#,Dim startAngleInRadian As Double,Dim end

12、AngleInRadian As Double,startAngleInRadian=startAngleInDegree*3.141592/180#,endAngleInRadian=endAngleInDegree*3.141592/180#,Set arcObj=ThisDrawing.ModelSpace.AddArc(centerpt,radius,startAngle,endAngle),End Sub,9,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,椭圆,对于创建椭圆对象,系统提供了,AddE

13、llipse,方法,给定点心点、长轴的一个商战和半径比例来创建椭圆。半径比例是一个用来定义椭圆短轴相对于长轴的比例的参数,半径比例为,1,时椭圆变成圆。,Sub Example_AddEllipse(),Dim ellObj As AcadEllipse,Dim majAxis(0 To 2)As Double,Dim center(0 To 2)As Double,Dim radRatio As Double,center(0)=5#:center(1)=5#:center(2)=0#,majAxis(0)=10:majAxis(1)=20#:majAxis(2)=0#:radRatio=0

14、.3,Set ellObj=ThisDrawing.ModelSpace.AddEllipse(center,majAxis,radRatio),End Sub,10,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,样条曲线,样条曲线是指按拟合数据点的方式,在种个控制点之间生成一条光滑的曲线,与其他绘图软件中的贝塞尔曲线相似。它主要用于创建弧状不规则的图形,。,Sub Example_AddSpline(),Dim splineObj As AcadSpline,Dim startTan(0 To 2)As D

15、ouble,Dim endTan(0 To 2)As Double,Dim fitpts(0 To 8)As Double,startTan(0)=0.5:startTan(1)=0.5:startTan(2)=0,endTan(0)=0.5:endTan(1)=0.5:endTan(2)=0,fitpts(0)=1:fitpts(1)=1:fitpts(2)=0,fitpts(3)=5:fitpts(4)=5:fitpts(5)=0,fitpts(6)=10:fitpts(7)=0:fitpts(8)=0,Set splineObj=ThisDrawing.ModelSpace.AddSpl

16、ine(fitpts,startTan,endTan),End Sub,11,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,点,在图形中绘制点,可以作为对象捕捉或者移动对象时的参考点,也可以相对于屏幕或使用绝对单位设置点的样式和大小。,Sub Example_Addpt(),Dim ptObj As Acadpt,Dim location(0 To 2)As Double,location(0)=5#:location(1)=5#:location(2)=0#,Set ptObj=ThisDrawing.Mo

17、delSpace.Addpt(location),ZoomAll,End Sub,12,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,文字,AutoCAD,中提供了两种创建文字的方法,(AddText,、,AddMText),1,、插入,Text,Sub Example_AddText(),Dim textObj As AcadText,Dim textString As String,Dim insertionpt(0 To 2)As Double,Dim height As Double,textStri

18、ng=Hello,World.,insertionpt(0)=2:insertionpt(1)=2:insertionpt(2)=0,height=0.5,Set textObj=ThisDrawing.ModelSpace.AddText(textString,insertionpt,height),End Sub,13,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,文字,2,、插入,Text,Sub Example_AddMtext(),Dim MTextObj As AcadMText,Dim corn

19、er(0 To 2)As Double,Dim width As Double,Dim text As String,corner(0)=0#:corner(1)=10#:corner(2)=0#,width=10,text=This is the text String for the mtext Object,Set MTextObj=ThisDrawing.ModelSpace.AddMText(corner,width,text),End Sub,14,2006 name of company.All rights reserved.,对象的创建,AutoCAD,对象,(,以下为不常见

20、,),填充区域,你可创建填满颜色的三角形和四边形。为了快速产生结果,可以,FILLMODE,系统变量为关闭时创建这些区域,然后将,FILLMODE,打开以填充完成的区域,。,当你创建四边形填充区域,第三点和第四点的次序决定它的形状。,Sub Example_AddSolid(),Dim solidObj As AcadSolid,Dim pt1(0 To 2)As Double,Dim pt2(0 To 2)As Double,Dim pt3(0 To 2)As Double,Dim pt4(0 To 2)As Double,pt1(0)=0#:pt1(1)=1#:pt1(2)=0#,pt2(

21、0)=5#:pt2(1)=1#:pt2(2)=0#,pt3(0)=8#:pt3(1)=8#:pt3(2)=0#,pt4(0)=4#:pt4(1)=6#:pt4(2)=0#,Set solidObj=ThisDrawing.ModelSpace.AddSolid(pt1,pt2,pt3,pt4),End Sub,15,2006 name of company.All rights reserved.,对象的创建,AutoCAD,对象,(,以下为不常见,),阴影,阴影为用图案直译图形中的指定区域,当创建阴影时,最先操作不是指定填充的区域。首先你必须创建,Hatch,对象。做完这一步后,你可批定外部

22、的回路,也就是阴影的最外边界。然后你可继续指定存在于阴影中的其它内容回路。,具体步骤:,创建,Hatch(,阴影,),对象,关联阴影,分配阴影图案类型和名称,定义阴影边,创建,Hatch(,阴影,),对象,当创建,Hatch,对象时,你要指定阴影图案类型、阴影图案名称和关联性。当,Hatch,对象创建后,你再也不能更改阴影的关联。,创建,Hatch,对象,使用,AddHatch,方法。,16,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,关联阴影,你可创建关联或非关联阴影。关联阴影是与阴影的边界相链接,当边界

23、修改后阴影也会,随之更新。非关联阴影是与它们的边界相独立。,关联性只能在阴影创建时设定。当阴影创建后,你可将其分解为非关联,但你不能再次,将其关联进来。,生成关联阴影,可设定,AddHatch,方法中的,Associativity,参数为,TRUE,。生成非关联阴影,,可设定,AddHatch,方法中的,Associativity,参数为,FALSE,。,分配阴影图案类型和名称,AutoCAD,提供实心填充和多于五十种的工业标准阴影图案。阴影图案可高亮图形中特殊,的特征或区域。例如,图案可帮助区分三维对象的构成或代表制造对象的材料。,17,2006 name of company.All ri

24、ghts reserved.,对象的创建,AutoCAD,中常用的对象包括:,你可使用由,AutoCAD,提供的图案或外部图案库。关于,AutoCAD,提供的阴影图案的列表,,请参见,AutoCAD,命令参考的附录,E,标准库,。,指定唯一的图案,你必须在创建阴影对象时输入图案类型和图案名称。图案类型指定在,何处找到图案名称。当输入图案,使用以下某一个常量:,acHatchPatternTypePredefined,从定义于,acad.pat,文件中的图案选择图案名称。,acHatchPatternTypeUserDefined,使用当前线型定义线图案。,acHatchPatternTypeC

25、ustomDefined,从其它的,PAT,文件,(,除,acad.pat),选择图案名称。,当输入图案名称时,使用对图案类型指定的文件有效的名称。,18,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,定义阴影边界,当阴影对象创建后,可添加阴影边界。边界可由任何直线、圆弧、圆、二维多段线、椭,圆、样条曲线和面域组成。,添加的第一个边界必须为外部的边界,它定义了阴影填充的最大外界限。添加外部边界,,使用,AppendOuterLoop,方法。,当定义了外部边界后,你可继续添加内部边界。添加内部边界用,Appen

26、dInnerLoop,方法。,内容边界定义了阴影内的孤岛。,Hatch,对象对于这些孤岛的处理方法依靠,HatchStyle,属性的设定值。,19,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,HatchStyle,属性可设定为以下情形:,当你完成定义阴影时,在显示前它必须求值。使用,Evaluate,方法以达到该要求。,20,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,创建阴影对象,Sub Ch4_CreateHatch

27、(),Dim hatchObj As AcadHatch,Dim patternName As String,Dim PatternType As Long,Dim bAssociativity As Boolean,定义阴影,patternName=ANSI31,PatternType=0,bAssociativity=True,创建关联阴影对象,Set hatchObj=ThisDrawing.ModelSpace.AddHatch _,(PatternType,patternName,bAssociativity),为阴影创建外部边界,(,一个圆,),。,Dim outerLoop(0

28、To 0)As AcadEntity,Dim center(0 To 2)As Double,Dim radius As Double,21,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中常用的对象包括:,创建阴影对象,center(0)=3:center(1)=3:center(2)=0,radius=1,Set outerLoop(0)=ThisDrawing.ModelSpace._,AddCircle(center,radius),附加外部边界到阴影对象,,并显示阴影,hatchObj.AppendOuterLoop(

29、outerLoop),hatchObj.Evaluate,ThisDrawing.Regen True,End Sub,22,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中对象包括(不常用),面域,面域是由称为回路的闭合形状所创建的附于二维空间的区域。回路是曲线或顺序连接曲 线,它定义了非交叉边界在平面上的区域。回路可由直线、细多段线、圆、圆弧、椭圆、椭 圆弧、样条曲线、三维面、轨迹和实体结合而成。生成回路和对象必须闭合或与其它对象共 享终点的闭合区域生成。它们同时也必须共面,(,在同一平面上,),。如果开放的曲线内部有交点,

30、它们是不能形成面域。,如三维多段线和网面之类的对象通过分解可转换为面域。你不能从具有交点的开放对象 形成的闭合区域来生成面域:例如,相交的圆弧或自我相交的曲线。,生成面域的回路必须定义为对象的数组。,你可对面域应用阴影和着色,你也可分析其面积和惯性力矩等属性。你可创建形状,然 后选择对象以创建面域。,创建面域,使用的是,AddRegion,方法。该方法将通过由输入的曲线数组构成的每一闭合 回路创建面域。,23,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中对象包括(不常用),面域,AutoCAD,转换闭合二维和平面三维多段线为

31、单独的面域,然后转换构成闭合平面回路的多 段线、直线和曲线。如果有两个以上的曲线共享一个终点,结果面域可能不可预知。由于这 样,当使用,AddRegion,方法时尽量创建单独的面域。使用变体以保存最新创建面域的数组。,计算所创建面域对象的总数,使用,Visual Basic,的,UBound,和,LBound,函数。例如,以 下语句:,UBound(objRegions)-LBound(objRegions)+1,这里,objRegions,是包含从,AddRegion,返回的变体。该语句将计算所创建面域的总数。,24,2006 name of company.All rights reser

32、ved.,对象的创建,AutoCAD,中对象包括(不常用),面域,创建形成面域边界的圆。,Dim center(0 To 2)As Double,Dim radius As Double,center(0)=2,center(1)=2,center(2)=0,radius=5#,Set curves(0)=ThisDrawing.ModelSpace.AddCircle _,(center,radius),创建面域,Dim regionObj As Variant,regionObj=ThisDrawing.ModelSpace.AddRegion(curves),ZoomAll,End Su

33、b,25,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中选择集的使用,:,创建选择集,在,VBA,开发过程中,经常需要用户和,AutoCAD,之间进行交互操作,除了,GetEntity,方法之外,选择集是使用最多的一种方法。选择集允许用户同时选择多个图形对象,并提供了丰富的手段来选择符合特定条件的实体。,要创建命名的选择集,请使用,Add,方法。这方法只需要一个参数:选择集的名称。,如果已存在同名的选择集,,AutoCAD,将返回一条错误信息。删除不再需要的选择集是一种良好的编程习惯,请使用,Delete,方法删除选择集,如:

34、,If ThisDrawing.SelectionSets.count 0 Then,For i=ThisDrawing.SelectionSets.count-1 To 0 Step-1,If Not IsNull(ThisDrawing.SelectionSets.Item(i)Then,ThisDrawing.SelectionSets.Item(i).Delete,End If,Next,End If,26,2006 name of company.All rights reserved.,对象的创建,AutoCAD,中选择集的使用,:,向选择集添加对象,向指定的选择集添加一个或多个对

35、象。使用下面语法操作,Selection.Additems Items,Items:Variant,类型;对象数组,其中是可以容纳于变体中一个或多个对象,。,Select,选择对象并将其放到活动的选择集中。用户可以选择所有对象、位于矩形区域内或与其相交的对象、,位于多边形区域内或与其相交的对象、与选择栏相交的所有对象、最近创建的对象、上一个选择集中的对,象、窗口内的对象,以及多边形窗口内的对象。,Select,方法使用下面语法操作:,Selection.Select Mode,Point1,Point2,FilterType,FilterData,Select,方法参数表,27,2006 na

36、me of company.All rights reserved.,对象的创建,28,2006 name of company.All rights reserved.,对象的创建,SelectAtPoint,选择穿过给定点的对象并将其放到活动的选择集中。,SelectAtPoint,方法使用下面语法操作:,Selection.SelectAtPoint Point,FilterType,FilterData,该方法支持过滤机制,参数语法说明见表:,SelectAtPoint,方法参数表,29,2006 name of company.All rights reserved.,对象的创建,S

37、electByPolygon,选择位于选择栏内的对象并将其添加到活动的选择集中。,SelectByPolygon,方法使用下面的语法操作:,Selection.SelectByPolygon Mode,PointsList,FilterType,FilterData,该方法支持过滤机制,参数语法说明见表:,SelectByPolygont,方法参数表,30,2006 name of company.All rights reserved.,对象的创建,SelectOnScreen,提示用户在屏幕上拾取的对象并将其添加到活动的选择集中。,SelectOnScreen,方法使用下面的语法操作:,S

38、election SelectOnScreen FilterType,FilterData,该方法支持过滤机制,参数语法说明见表:,SelectOnScreen,方法参数表,31,2006 name of company.All rights reserved.,对象的创建,定义选择集的规则,用户可以使用过滤器列表按照属性或对象类型来限制选择集,例如,可以只复制电路板图形上的蓝色对象,或只复制某个图层上的对象。还可以在过滤器列表中组合选择条件,例如,仅当某个对象是蓝色的圆并且位于指定的图层上时,才将其包含在选择集中。可以为,Select,、,SelectAtPoint,、,SelectByPo

39、lygon,和,SelectOnScreen,方法指定过滤器列表。,注意,:,过滤功能只能识别明确指定给对象的线型,而不能识别从图层继承的线型,。,过滤器列表由成对的参数组成。第一个参数标识过滤器的类型(例如对象),第二个参数指定要过滤的值(例如圆)。过滤器类型是指定使用哪种过滤器的,DXF,组码。,过滤器参数声明为数组,过滤器类型声明为整数,过滤器值声明为变量。每个过滤器类型都必须与过滤器值成对出现。例如:,FilterType(0)=0,表示过滤器是对象类型,FilterData(0)=Circle,表示对象类型是“,Circle”,32,2006 name of company.All

40、rights reserved.,对象的创建,下表列出了常见组码或组码范围以及组码值的解释,-5 APP,:永久反应器链,-4 APP,:条件运算符(仅适用于,ssget,),-3 APP,:扩展数据,(XDATA),标记(固定),-2 APP,:图元名参照(固定),-1 APP,:图元名。每次打开图形时,图元名都会发生变化,从不保存(固定),0,表示图元类型的字符串(固定),1,图元的主文字值,2,名称(属性标记、块名等),3-4,其他文字或名称值,5,图元句柄;最多,16,个十六进制数字的字符串(固定),6,线型名(固定),7,文字样式名(固定),8,图层名(固定),9 DXF,:变量名标

41、识符(仅在,DXF,文件的,HEADER,段中使用),33,2006 name of company.All rights reserved.,对象的创建,示例:以下代码提示用户选择要包含在选择集中的对象,但仅当选择的对象是,Circle,时才将其添加到选择集中:,Sub Ch4_FilterMtext(),Dim sstext As AcadSelectionSet,Dim FilterType(0)As Integer,Dim FilterData(0)As Variant,Set sstext=ThisDrawing.SelectionSets.Add(SS2),FilterType(0

42、)=0,FilterData(0)=Circle,sstext.SelectOnScreen FilterType,FilterData,End Sub,34,2006 name of company.All rights reserved.,对象的创建,要指定多个选择条件,声明的数组应该包含足够多的元素来表示每个条件,并且将每个条件指定给一个元素。以下代码指定三个条件:对象必须是蓝色的,必须是,Circle,,必须在图层,0,上。代码还将,FilterType,和,FilterData,声明为三个元素的数组,并将每个条件指定给一个元素:,Sub Ch4_FilterBlueCircleOnL

43、ayer0(),Dim sstext As AcadSelectionSet,Dim FilterType(2)As Integer,Dim FilterData(2)As Variant,Set sstext=ThisDrawing.SelectionSets.Add(SS4),FilterType(0)=0,表示过滤器是对象类型,FilterData(0)=Circle,表示对象类型是“,Circle”,FilterType(1)=62,表示过滤器是颜色,FilterData(1)=acBlue,表示过滤器值是,acBlue(,兰色,),FilterType(2)=8,表示过滤器是图层,F

44、ilterData(2)=0,表示过滤器值是,0(,图层名为,0),sstext.SelectOnScreen FilterType,FilterData,End Sub,35,2006 name of company.All rights reserved.,对象的创建,增加过滤器列表条件的复杂程度,在指定多个选择条件时,,AutoCAD,会假设选定的对象必须符合每一个条件。但用户可以按照其他方式来指定条件。对于数字项,用户可以指定关系运算(例如,圆的半径必须大于或等于,5.0,);对于所有项,用户可以指定逻辑运算(例如,Text,或,Mtext,)。,使用,-4 DXF,组码,(,条件运算

45、符,),来指示过滤器规格中的关系运算符。以字符串的形式来指定运算符。,下表显示了可以使用的关系运算符:,36,2006 name of company.All rights reserved.,对象的创建,37,2006 name of company.All rights reserved.,对象的创建,-4,组码也可以指定过滤器列表中的逻辑运算符,,逻辑运算符是字符串但必须成对出现。运算符以小于号开始,(),。下表列出了可以在选择集过滤中使用的逻辑运算符,38,2006 name of company.All rights reserved.,对象的创建,以下代码指定选择半径大于或等于,5

46、.0,的圆:,Sub Ch4_FilterRelational(),Dim sstext As AcadSelectionSet,Dim FilterType(2)As Integer,Dim FilterData(2)As Variant,Set sstext=ThisDrawing.SelectionSets.Add(SS5),FilterType(0)=0,FilterData(0)=Circle,FilterType(1)=-4,FilterData(1)=,FilterType(2)=40,FilterData(2)=5#,sstext.SelectOnScreen FilterTy

47、pe,FilterData,End Sub,39,2006 name of company.All rights reserved.,对象的创建,示例:下例指定选择,Text,或,Mtext,对象,Sub Ch4_FilterOrTest(),Dim sstext As AcadSelectionSet,Dim FilterType(3)As Integer,Dim FilterData(3)As Variant,Set sstext=ThisDrawing.SelectionSets.Add(SS6),FilterType(0)=-4,FilterData(0)=,sstext.Select

48、OnScreen FilterType,FilterData,End Sub,40,2006 name of company.All rights reserved.,对象的创建,在选择集过滤器条件中使用通配符模式,过滤器列表中的符号名称和字符串可以包含通配符模式。,下表显示了,AutoCAD,能够识别的通配符以及每个通配符在上下文字符串中的含义:,使用单引号,(),表示下一个字符不是通配符,而是普通字符。例如,要指定在选择集中只包含名为“*,U2”,的匿名块,请使用以下过滤器参数:,41,2006 name of company.All rights reserved.,对象的创建,Filt

49、erType(0)=2,FilterData(0)=*U2,示例:以下代码将选择条件定义为选择包含“,The”,的所有,Mtext,。本例也说明了,SelectByPolygon,选择方法的用法:,Sub Ch4_FilterPolygonWildcard(),Dim sstext As AcadSelectionSet,Dim FilterType(1)As Integer,Dim FilterData(1)As Variant,Dim pointsArray(0 To 11)As Double,Dim mode As Integer,mode=acSelectionSetWindowPol

50、ygon,pointsArray(0)=-12#:pointsArray(1)=-7#:pointsArray(2)=0,pointsArray(3)=-12#:pointsArray(4)=10#:pointsArray(5)=0,pointsArray(6)=10#:pointsArray(7)=10#:pointsArray(8)=0,pointsArray(9)=10#:pointsArray(10)=-7#:pointsArray(11)=0,Set sstext=ThisDrawing.SelectionSets.Add(SS10),FilterType(0)=0,FilterDa

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服