明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 754|回复: 3

求助,移动图纸

[复制链接]
发表于 2021-8-24 10:43:17 | 显示全部楼层 |阅读模式
我这个写法不能执行,问题在什么地方?谢谢
Set acDoc = acadapp.documents.open(TempPath,False) '打开图纸,这步没问题
    Dim SSet As AcadSelectionSet
    Set SSet = acDoc.SelectionSets.add("SSET")
    CALL SSet.Select(acSelectionSetAll)
    Dim E As AcadEntity
    For Each E In SSet
        E.move "-500,-500" , "0,0"
    Next





发表于 2021-8-24 14:37:03 | 显示全部楼层
错在哪里,E是什么?
发表于 2021-8-24 15:11:25 | 显示全部楼层
本帖最后由 bluelover 于 2021-8-24 17:25 编辑

你这段有好几个问题。
1)建议用安全创建选择集的方法,要不然重复运行时会因为SSET存在而无法创建。
On Error Resume Next
Dim SSet As AcadSelectionSet
If Not IsNull(acDoc.SelectionSets.Item("SSET")) Then
Set SSet = acDoc.SelectionSets.Item("SSET")
SSET.Clear
SSet.Delete
End If
Set SSet = acDoc.SelectionSets.Add("SSET")
on error goto 0

2) move 的使用方法是 .MOVE PT1,PT2
DIM PT1(2) AS DOUBLE
DIM PT2(2) AS DOUBLE

PT1(0)=-500
PT1(1)=-500
PT2(0)=0
PT2(1)=0

3) 试试 如下方法
SSet.Select acSelectionSetAll
if SSet.count>0
    dim Ent as AcadEntity, i as integer   
   for i=0 to sset.count-1
     set Ent= SSet.item(i)
      Ent.move PT1,PT2
   next
end if






评分

参与人数 1明经币 +3 金钱 +10 收起 理由
mikewolf2k + 3 + 10 很给力!

查看全部评分

 楼主| 发表于 2021-8-24 16:15:52 | 显示全部楼层
bluelover 发表于 2021-8-24 15:11
你这段有好几个问题。
1)建议用安全创建选择集的方法,要不然重复运行时会因为SSET存在而无法创建。
On E ...

非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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