星傲 发表于 2003-5-2 23:34:00

怎样来选择一直线或一多段线

就是通过直线或多段线所在的坐标来进行选择,从而对它进行编辑!
比如模型空间已有一条直线,我要敲什么代码,才能选中它,对它进行复制。我知道有一种方法,代码如下:
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

能不能不通过用鼠标来选择,而通过它的坐标直接选择呢?

mccad 发表于 2003-5-3 09:12:00

不知道你这样做的目的是什么

通过一个点选择对象可以使用
object.SelectAtPoint方法,但这样有什么意义,因为不知道你所需要的点是怎么计算出来的。

星傲 发表于 2003-5-3 23:49:00

谢谢!再次请教

呵呵,其实我对VBA不太了解,只不过看了二次开发中的一些文章而已,不过我比较了解VB,其实VBA与VB差不多,请教一下,买哪个出版社或者哪本书来学习VBA好一点,还有这个网站搞的不错,我一直都会支持的,谢谢!

mccad 发表于 2003-5-4 19:04:00

看看AutoCAD本身的帮助文件或二次开发栏目中的相关内容

如有问题,可以到论坛上提问。
书暂时就有用买吧

10:30关门 发表于 2003-5-5 09:46:00

下载中心的VBA二次开发的内容我下了,好象没有写完,有完美版吗谢谢斑竹

ebigsong 发表于 2003-5-5 20:46:00

去下载autocad2004的中文帮助,里面有activeX和vba开发人员手册!

10:30关门 发表于 2003-5-6 09:18:00

去那下载啊?要不买个2004的D版也行吧??

ebigsong 发表于 2003-5-8 23:14:00

去明经通道CAD下载专区下载

zzlzz 发表于 2003-5-9 09:46:00

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]
查看完整版本: 怎样来选择一直线或一多段线