乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 67|回复: 5

[菜鸟求助]谁能告诉我SENDCOMMAND命令的详细用法

[复制链接]

13

主题

31

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
83
发表于 2007-10-8 14:04:00 | 显示全部楼层 |阅读模式
要用VBA调用cad中对多段线进行修改的命令pedit,可不知如何使用SENDCOMMAND进行调用.
最好能给些资料的链接地址
回复

使用道具 举报

11

主题

326

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
370
发表于 2007-10-8 17:21:00 | 显示全部楼层
sendcommand就跟你在命令行输入命令是一样的
如你所说,只要.sendcommand "pedit "即可
回复

使用道具 举报

1

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
9
发表于 2007-10-8 17:22:00 | 显示全部楼层
跟lsp的command一样,后面就是跟一堆参数
使用这个命令对屏幕实体操作,一般需要利用选择集的setlast模式
lsp方式就是
ThisDrawing.SendCommand "SETQ S1 (ENTLAST)" & vbCr & "pedit" & vbCr & "M" & vbCr & "P" & vbCr & vbCr .....后面跟你想要的操作
注意这里要求所操作的多义线是entlast
vba方式就是创建一个选择集,使用zcSelectionSetLast模式,选择你需要的多义线,在使用下面语句
ThisDrawing.SendCommand "pedit" & vbCr & "M" & vbCr & "P" & vbCr & vbCr .....后面跟你想要的操作
回复

使用道具 举报

13

主题

31

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
83
发表于 2007-10-10 05:53:00 | 显示全部楼层
我还是不太明白,
一般AUTOCAD命令后要么是输入参数,要么是选择实体,如果输入参数怎么在SENDCOMMAND 命令中实现?
我要的那个命令PEDIT 操作过程是先输入参数M,再选择需要编辑的多段线,最后回车即可,请问SENDCOMMAND命令怎么编写?
我试试看THISDRAWING.SENDCOMMAND"PEDIT"VbCr"M"VbCr"(handent """ & EntObj1.Handle & """)" & vbCr & vbCr & "(handent """ _& EntObj2.Handle & """)" & vbCr & vbCr
其中"(handent """ & EntObj1.Handle & """)" & vbCr  & vbCr & "(handent """ & EntObj2.Handle & """)" 是两个实体的句柄.
请问大侠们这样编写可以吗?
回复

使用道具 举报

13

主题

31

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
83
发表于 2007-10-10 06:08:00 | 显示全部楼层
我用如下程序实现了sendcommand"pedit"
可现在还是有个新的问题,就是如何将编辑后的多段线赋给一个实体变量?是不是编辑后的实体还存在于EntObj1中?
Private Sub CommandButton1_Click()
Me.Hide
     Dim EntObj1 As AcadEntity
     Dim EntObj2 As AcadEntity
     Dim obj3 As AcadEntity
     
     Dim pPt As Variant
     Dim pPt1(0 To 2) As Double
     Dim pPt2(0 To 2) As Double
     pPt1(0) = 107317
     pPt1(1) = 73676
     pPt2(0) = 107463
     pPt2(1) = 73680
     
     Err.Clear
    On Error Resume Next
  
     ThisDrawing.Utility.GetEntity EntObj1, pPt, ""
     ' 亮显
     EntObj1.Highlight True
     
     ' 执行内部Trim命令,handent 通过句柄获取Lisp中的对象(实体)名称。
     ThisDrawing.SendCommand "pedit" & vbCr & "(handent """ & EntObj1.Handle & """)" & vbCr _
         & "f" & vbCr
     ' 当前视图重生成
     ThisDrawing.Regen acActiveViewport
     Me.Show
End Sub
回复

使用道具 举报

13

主题

31

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
83
发表于 2007-10-10 06:10:00 | 显示全部楼层
谢谢,我做出来了,确实存在于EntObj1中.
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 21:19 , Processed in 0.651671 second(s), 65 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表