乐筑天下

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

[综合讨论] 帮助:如何继续

[复制链接]

48

主题

304

帖子

256

银币

后起之秀

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

铜币
240
发表于 2022-7-6 23:31:44 | 显示全部楼层 |阅读模式
我使用这个宏脚本来运行一系列命令
 
命令包括:-
1) 缩放到视图位置(从脚本运行)
2) 根据用户选择将对象移动到固定距离(通过LISP)
 
如何使用erase命令继续此操作?
 
这是宏脚本
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:38:25 | 显示全部楼层
这听起来像是你把所有的小功能,并加入到一个序列的事件,你已经要求了一段时间。
 
有20个例程,可以根据需要组合使用。
 
我只想再说一次,是时候学会自己动手了,很抱歉我不再支持你了。
回复

使用道具 举报

48

主题

304

帖子

256

银币

后起之秀

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

铜币
240
发表于 2022-7-6 23:46:02 | 显示全部楼层
没问题,比格尔。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 23:49:33 | 显示全部楼层
首先确定宏的擦除部分要做什么,然后很容易将它们缝合在一起。
 
是否要删除先前选定的宏?
 
  1. Erase;Previous;;

 
是否要删除用户选择的内容?
 
  1. Erase;/

 
你试过什么?你给论坛写信肯定有些事情不管用。请详细说明失败的原因,或者您希望擦除器如何工作。这样你会让我受益的。
回复

使用道具 举报

48

主题

304

帖子

256

银币

后起之秀

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

铜币
240
发表于 2022-7-6 23:56:17 | 显示全部楼层
 
嗨,YZ。。谢谢你的回复。
 
抱歉,我不清楚我的问题。
我主要想了解如何在下面的宏脚本中继续执行下一个命令。
 
命令包括:-
1) 缩放到视图位置(从脚本运行)
2) 根据用户选择将对象移动到固定距离(通过LISP)
3) Erase命令
4) 结束
下面显示了宏脚本,但我不清楚用于在命令2完成后立即运行命令3(即擦除)的代码。
问题是命令2需要用户选择,因此在选择并按enter键后,擦除命令不会继续。
 
在这篇文章之前,我读过&尝试添加以下内容进行选择,但不太明白它是否有效。
 
  1. \
  1. \\
  1. \\\

希望这能让你更清楚地了解我的问题。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 23:59:09 | 显示全部楼层
它可能非常产卵,但MML是什么?
 
宏就像命令行一样。因此,无论您键入什么来继续下一个命令,几乎总是您在宏中输入的内容。
 
是否希望用户选择不同的对象进行擦除?我想你不想抹掉那些你刚刚搬来搬去的东西吧?
回复

使用道具 举报

48

主题

304

帖子

256

银币

后起之秀

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

铜币
240
发表于 2022-7-7 00:06:12 | 显示全部楼层
 
MML只是我用来运行LISP的命令。它基本上是将选定对象移动到LISP中指示的固定距离和方向。
 
顺便说一句,当我提到我在
  1. \
  1. \\

我指的是命令2的选择,而不是擦除命令。
 
如中所示
 
  1. ^C^C^Cscript;ZoomToView;^C^C(load"D:/Office/AutoCAD/lsp/MoveFixDistance.lsp");MML;[color=magenta][b]///[/b][/color]ERASE;

 
擦除命令在末尾,因此我不需要使用选择命令。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-7 00:11:47 | 显示全部楼层
我不太擅长口齿不清,所以对我的评论持保留态度。我可能会错过这里的重点。
 
在我看来,你似乎想知道你要选择多少对象?有时1,有时更多?然后你留下多少个“///”,每个代表一次鼠标点击。
 
你的操作方式有一个棘手的问题,那就是你需要准确地知道每次运行宏时你需要点击多少次鼠标,而且每次点击的次数都是一样的。
 
这将继续是一个让你头疼的问题,并且会对宏限制太多。
 
在运行lisp之前,可以尝试使用select命令。
  1. 12

 
出于某种原因使用select命令,您可以单击一次或多次,单击次数可以根据需要而定,直到右键单击以确认选择。
 
如果没有正确的故障排除,我想它会是这样的:
 
  1. 13
回复

使用道具 举报

48

主题

304

帖子

256

银币

后起之秀

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

铜币
240
发表于 2022-7-7 00:18:32 | 显示全部楼层
 
我明白你的意思。我试试你的建议。
 
此外,当前的选择实际上是相同的。
那么,这是否意味着每个“\”都指向一个选择?如果是这样,如果我知道我将有5个选择,我将需要“\\”?是这样吗?
 
是否有窗口选择代码?
 
谢谢你的建议。
回复

使用道具 举报

YZ

27

主题

232

帖子

205

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-7 00:21:40 | 显示全部楼层
用户输入的每个/暂停代表一次鼠标点击。
 
一个窗口可以用2“/”。
 
选择5可以用5“/////”。
 
但是,如果你错过了一次点击,或者窗口没有正确选择它们(即使只有10%的时间也可能发生),那么宏将不会等待你,它将继续前进。
 
不同之处在于SELECT命令-它将一直等到您单击鼠标右键或enter键,然后再完成选择集。这是一种更安全的编码方式,并且更熟悉默认命令的其他工作方式。
 
我推荐
  1. 14
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 04:53 , Processed in 0.568612 second(s), 72 queries .

© 2020-2025 乐筑天下

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