乐筑天下

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

[编程交流] 帮助创建新功能

[复制链接]

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:28:16 | 显示全部楼层
你预装了所有的defuns吗?如果没有
  1. (load "ccv")(load "hhj") (load "ffk")
  2. (c:ccv)
  3. (c:hhj)
  4. (c:ffk)
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 23:30:25 | 显示全部楼层
是的,先生
当然
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-5 23:34:22 | 显示全部楼层
有能力上传lisps吗
 
无论如何,试试这个
 
旧Lisp程序
  1. (defun c:AAA ( / A1 )
  2. (setq A1 (getpoint))
  3. )
  4. (defun c:BBB ( / B1 )
  5. (setq B1 (getpoint))
  6. )
  7. (defun c:CCC ( / C1 )
  8. (setq C1 (getpoint))
  9. )
  10. (defun c:DDD ( / D1 )
  11. (setq D1 (getpoint))
  12. ))

 
新建Lisp
  1. (defun c:XXX ( / A1 B1 C1 D1 )
  2. (setq A1 (getpoint))
  3. (setq B1 (getpoint))
  4. (setq C1 (getpoint))
  5. (setq D1 (getpoint))
  6. )
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:40:47 | 显示全部楼层
Hosyn,正如您在下面的示例中所看到的,所需的函数连续工作(请不要错过,如果您以结束擦除过程,则无法实现第二个函数)。
  1. (defun c:ccv()
  2. (command "_.ERASE")
  3. (while (> (getvar "CMDACTIVE") 0)
  4. (command pause)
  5. )
  6. )
  7. (defun c:hhj( / p1 )
  8. (alert "I'm here!")
  9. (if (setq p1 (cadr (ssgetfirst)))
  10. (progn
  11.   (sssetfirst)
  12.   (command "chprop" p1 "" "C" 1 "")
  13. )
  14. )
  15. )
  16. (defun c:test()
  17. (prompt "\nStart")
  18. (c:ccv)
  19. (prompt "\nMiddle")
  20. (c:hhj)
  21. (prompt "\nEnd")
  22. (princ)
  23. )

还请注意,第二个函数(HHJ)中的代码是无用的;当到达SSGETFIRST语句时,无法预先选择某些内容,任何先前选择的实体都已通过ERASE调用删除。
我添加了一个警报调用,以证明HHJ函数按预期调用。
 
 
顺便说一句,如果你将讨论集中在一个线程上,以避免分散注意力,那就更好了!
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 23:42:12 | 显示全部楼层
MSasu公司
您的修改代码显示第二个函数“hhj”实现并显示警报:)但我不知道如何在警报后连续执行chprop命令,当我在cad中运行自己时,该命令不起作用,运行非常好,但在警报切割过程和中断后的例程中,是否有必要在例程和o中修改命令chprop:)如何??
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:47:30 | 显示全部楼层
如前所述,第二个函数不可能触发CHPROP命令。
 
只是猜测,但也许你是故意这么做的?
  1. (defun c:hhj( / p1 )
  2. (if (setq p1 ([color=red]ssget[/color]))
  3. (command "chprop" p1 "" "C" 1 "")
  4. )
  5. (princ)
  6. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-18 16:19 , Processed in 3.211166 second(s), 62 queries .

© 2020-2025 乐筑天下

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