怎样来选择一直线或一多段线
就是通过直线或多段线所在的坐标来进行选择,从而对它进行编辑!比如模型空间已有一条直线,我要敲什么代码,才能选中它,对它进行复制。我知道有一种方法,代码如下:
Sub Ch4_AddToASelectionSet()
' 创建新的选择集
Dim sset As AcadSelectionSet
Set sset = ThisDrawing.SelectionSets.Add("SS1")
' 提示用户选择对象并将它们添加到选择集中。
' 要完成选择,按回车。
sset.SelectOnScreen
' 在选择集中循环并将每一对象的颜色改为蓝色。
Dim entry As AcadEntity
For Each entry In sset
entry.Color = acBlue
entry.Update
Next entry
End Sub
能不能不通过用鼠标来选择,而通过它的坐标直接选择呢?
不知道你这样做的目的是什么
通过一个点选择对象可以使用object.SelectAtPoint方法,但这样有什么意义,因为不知道你所需要的点是怎么计算出来的。
谢谢!再次请教
呵呵,其实我对VBA不太了解,只不过看了二次开发中的一些文章而已,不过我比较了解VB,其实VBA与VB差不多,请教一下,买哪个出版社或者哪本书来学习VBA好一点,还有这个网站搞的不错,我一直都会支持的,谢谢!看看AutoCAD本身的帮助文件或二次开发栏目中的相关内容
如有问题,可以到论坛上提问。书暂时就有用买吧
下载中心的VBA二次开发的内容我下了,好象没有写完,有完美版吗谢谢斑竹
去下载autocad2004的中文帮助,里面有activeX和vba开发人员手册!
去那下载啊?要不买个2004的D版也行吧??
去明经通道CAD下载专区下载
123
楼主的意思是不是: 已有一些范围坐标存在系统中,之后选择范围内的某entity?应该先对坐标赋值,之后用SelectByPolygon 就可以了, 如:Sub Example_SelectByPolygon()
' This example adds entities to a selection set by defining a polygon.
Dim ssetObj As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets.Add("TEST_SSET2")
' Add all the entities that lie within a fence to the selection set
Dim mode As Integer
mode = acSelectionSetWindowPolygon 'acSelectionSetFence/ selectionSetWindowPolygon / acSelectionSetCrossingPolygon 三者取一
pointsArray(0) = 28.2: pointsArray(1) = 17.2: pointsArray(2) = 0
pointsArray(3) = -5: pointsArray(4) = 13: pointsArray(5) = 0
pointsArray(6) = -3.3: pointsArray(7) = -3.6: pointsArray(8) = 0
pointsArray(9) = 28: pointsArray(10) = -3: pointsArray(11) = 0
ssetObj.SelectByPolygon mode, pointsArray
页:
[1]