乐筑天下

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

[编程交流] 反应堆和第三方计划

[复制链接]

14

主题

59

帖子

45

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 23:17:52 | 显示全部楼层 |阅读模式
我正在我的机器上使用HydraCAD。有一个名为“HCAD\u prettypes”的命令,它在管道的符号之间创建一条粗线,我认为这是一个。dll文件。我想在运行完一个命令后再运行一个命令。我想在后面运行的命令叫做“refreshdwg”,它可以缩放管线宽度和其他一些内容。
 
我对反应堆是个新手,真的不知道从哪里开始。这可能吗?这是我想出来的代码,但什么都没发生。
 
  1. (vlr-command-reactor nil '((:vlr-commandEnded . endCommand)))
  2. (defun endCommand (calling-reactor endcommandInfo / thecommandend)
  3. (setq thecommandend endcommandInfo)
  4. (if (= thecommandend "HCAD_PRETTYPIPES") (c:refreshdwg))
  5. (princ)
  6. );defun
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 23:57:46 | 显示全部楼层
我用下面的代码来提醒自己反应堆是如何工作的。
 
  1. (vlr-command-reactor nil '((:vlr-commandended . sayit)))
  2. (defun sayit (d1 d2)
  3. (alert (strcat (vl-princ-to-string d1) " : " (vl-princ-to-string d2)))
  4. )

 
我首先看看上述代码是否触发了警报。尝试使用简单的命令行。请记住,您的“c:refreshdwg”不能包含某些代码。反应堆的帮助文件中解释了哪些代码不被接受。如果不了解更多关于代码的信息(c:refreshdwg),我无法告诉您为什么它不工作。希望这至少有一点帮助。
 
当做
 
Hippe013
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 00:00:52 | 显示全部楼层
规则#VLR01246932:
 
在Visual LISP中,不能在Reactor的回调函数中调用命令;然而,只要所述LISP函数不包含命令调用,并且通常不提示用户输入,就可以调用LISP函数(包括以c为前缀的函数)。
 
注意-可以在中成功调用命令。NET事件处理程序,作为泛化;然而,应用程序/文档上下文必须允许调用此类命令。
 
 
 
如果您的Reactor回调函数和所需的LISP函数满足该标准,那么如果您只想对成功完成的HCAD\u prettypes命令调用作出反应,则需要考虑注册CommandEnded事件处理程序,否则还包括CommandCancelled和CommandFailed事件。
 
HTH公司
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:18:26 | 显示全部楼层
可能是一个简单的两行脚本,由lisp调用作为defun
  1. (command "script" "prettypies")
  2. HCAD_PRETTYPIPES
  3. (load "refreshdwg")
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 00:07 , Processed in 0.715492 second(s), 60 queries .

© 2020-2025 乐筑天下

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