乐筑天下

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

[编程交流] 如何自动加载持久R

[复制链接]

91

主题

389

帖子

12

银币

中流砥柱

Rank: 25

铜币
763
发表于 2022-7-6 17:13:58 | 显示全部楼层 |阅读模式
如何自动加载持久性反应堆及其callbak功能?
 
谢谢
回复

使用道具 举报

2

主题

439

帖子

536

银币

限制会员

铜币
-14
发表于 2022-7-6 17:41:08 | 显示全部楼层
持久性反应堆仍处于牵引状态,无需重复加载。然而,回调函数应该从文件中加载,因此在其他计算机上进行时存在不便。不幸的是,回调函数不能与а*一起传输。dwg文件。当然,回调函数可以在用户定义的字典中作为文本传输,但在其他计算机上应该是一个读取和加载此代码的函数。
回复

使用道具 举报

91

主题

389

帖子

12

银币

中流砥柱

Rank: 25

铜币
763
发表于 2022-7-6 17:45:36 | 显示全部楼层
反应器只是事件和回调函数之间的链接。虽然此链接仍然存在,但回调函数本身不是reactor的一部分,通常也不是绘图的一部分。只有在AutoCAD中加载了其关联的回调函数时,图形中保存的反应器才可用。如果在单独的命名空间VLX中定义reactor和回调函数,则可以在打开图形时自动发生这种情况。(摘自《AutoLISP开发人员指南》)
 
 
如何让它们工作?!如果在单独的命名空间VLX中定义reactor和回调函数。
回复

使用道具 举报

2

主题

439

帖子

536

银币

限制会员

铜币
-14
发表于 2022-7-6 18:00:47 | 显示全部楼层
 
我可以搞错,但可以肯定的是,这里有什么错。您当然可以将reactor和回调函数编译成*。vlx具有单独的命名空间并进行检查。
回复

使用道具 举报

91

主题

389

帖子

12

银币

中流砥柱

Rank: 25

铜币
763
发表于 2022-7-6 18:20:33 | 显示全部楼层
(setq myCircle)
(程序
(setq ctrPt(getpoint“\n指定圆的中心点:”)
半径(距离ctrPt(getpoint ctrPt“\n指定圆的半径:”))
)
(vla addCircle)
(vla获取模型空间
(vla get ActiveDocument(vlax get acad object)))
(vlax-3d-point ctrPt)
半径
)
)
)
;;持久性反应堆
(setq circleReactor(vlr pers(vlr object reactor(list myCircle)“Circle reactor”'(:vlr-modified.print radius)))))
;;回调函数
(defun打印半径(通知对象反应堆对象参数列表)
(vl load com)
(条件
((vlax-property-available-p通知程序对象“Radius”)
(princ“圆的半径为:”)
(princ(vla get radius notifier对象))
)
)
)
;-------------------
当打开加载上述lisp代码的dwg文件时,如何自动加载持久反应器“circleReactor”及其callbak函数“print radius”?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-5-26 09:58 , Processed in 0.635238 second(s), 63 queries .

© 2020-2025 乐筑天下

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