明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2154|回复: 7

求助,请帮忙!关于用程序移动多个对象.

[复制链接]
发表于 2010-2-26 11:08:00 | 显示全部楼层 |阅读模式

为了方便工作,准备写一个小程序,主要就是先运行,再在屏幕上选择多个对象,再选择一个基点,再选择第二个点,将选择的这些对象以第一个点为基点移动至第二个点。

我试了可以用AcadSelectionset 选择集来实现,但选择集好象最大Item为257个,超过257个就不行了。

请那位高手指点指点,如果在屏幕上同时选择257个以上对象,并移动。

谢谢!

 楼主| 发表于 2010-2-26 11:33:00 | 显示全部楼层

不要用sendcommand 来发送move命令,不需要作成像move命令一样。只需要告诉我如何选择,怎么移动。

再次感谢。

发表于 2010-6-10 17:01:00 | 显示全部楼层

Sub MoveEnt()
    Dim Objentity As AcadEntity
    Dim Sset As AcadSelectionSet
'    On Error Resume Next
    If Not IsNull(ThisDrawing.SelectionSets.Item("ss1")) Then
        Set Sset = ThisDrawing.SelectionSets.Item("ss1")
        Sset.Delete
    End If
    Set Sset = ThisDrawing.SelectionSets.Add("ss1")
   
    Dim Pt1 As Variant
    Dim Pt2 As Variant
    Pt1 = ThisDrawing.Utility.GetPoint(, "请选择第一点")
    Pt2 = ThisDrawing.Utility.GetPoint(, "请选择第二点")
    Sset.SelectOnScreen
    For Each Objentity In Sset
        Objentity.Move Pt1, Pt2
    Next
    MsgBox Sset.Count
   
End Sub

 

你试试,可以啊


发表于 2010-12-22 09:07:36 | 显示全部楼层
有谁知道上面这段程序怎么用?
存储成什么格式?输入哪个按键能调用这个命令
谢谢!!
发表于 2010-12-24 20:09:44 | 显示全部楼层
没人知道么?
发表于 2010-12-26 08:10:20 | 显示全部楼层
没人知道么?
发表于 2010-12-26 20:31:14 | 显示全部楼层
明经这么冷清这么冷清啊?
高水都到哪去了
发表于 2010-12-26 22:46:24 | 显示全部楼层
高手都搞高端的.Net去了,VBA已经没落了。。。
这个是宏,直接在Cad里运行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 21:26 , Processed in 0.175331 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表