乐筑天下

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

[编程交流] 选择集团的所有实例

[复制链接]

13

主题

126

帖子

114

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 13:25:26 | 显示全部楼层
由于我对LISP的了解微乎其微,我在这里有点冒险,但我猜想您今天运行的代码缺少VL load命令。我猜你昨天加载的一个例程已经在那里加载了一整天了。然后你关机了,失去了它。
 
在(defun…)之后添加此(vl load com)命令,重新加载并重试。如果这不是问题所在,我相信Lisp程序的大师很快就会出现。
 
格伦
回复

使用道具 举报

29

主题

196

帖子

168

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 13:26:30 | 显示全部楼层
 
你说得对。。。现在它工作了。。。
  1. (defun c:sb    (/ e name n out ss x rjp-getblockname)
  2. (vl-load-com)
  3. (prompt "\n   Pick BLOCK to acquire its instances in the drawing...")
  4. (defun rjp-getblockname (obj)
  5.    (if    (vlax-property-available-p obj 'effectivename)
  6.      (vla-get-effectivename obj)
  7.      (vla-get-name obj)
  8.    )
  9. )
  10. (if (setq x     (ssget '((0 . "INSERT")))
  11.        x     (ssname x 0)
  12.        name (rjp-getblockname (vlax-ename->vla-object x))
  13.        ss     (ssget "_X" '((0 . "INSERT")))
  14.        n     -1
  15.        out     (ssadd)
  16.      )
  17.    (while (setq e (ssname ss (setq n (1+ n))))
  18.      (if (= (rjp-getblockname (vlax-ename->vla-object e)) name)
  19.    (ssadd e out)
  20.      )
  21.    )
  22. )
  23. (sssetfirst nil out)
  24. (princ)
  25. )

 
现在我记得我有一些其他的程序有同样的问题。。。现在我知道如何修复它了。。。
 
谢谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 06:17 , Processed in 0.759853 second(s), 65 queries .

© 2020-2025 乐筑天下

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