乐筑天下

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

[编程交流] 运行Vi时出错

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:08:59 | 显示全部楼层 |阅读模式
尝试在AutoCAD 2007中运行任何visual lisp代码,但最终会出错。
; 错误:ActiveX服务器返回错误:加载类型库/DLL时出错
这是一种引起问题的病毒吗?因为在其他具有相同AutoCAD 2007的PC上,我没有发现上述错误。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:16:40 | 显示全部楼层
在没有看到您试图运行的代码的情况下,上面的错误消息无法提供足够的信息来确切了解原因。
 
尝试在命令行运行(vl load com),加载Visual LISP扩展,然后重试代码。如果这解决了问题,那么请确保将(vl load com)添加到例程(顶部)或ACAD中。lsp/阿卡多克。lsp,所以你只需要一次。
 
如果(vl load com)无法解决该问题,则您正在访问另一个外部对象的接口,并且无法找到所述类型库(即Excel.exe)的指定文件路径。。。为了纠正这种情况,必须纠正文件路径。
 
希望这有帮助!
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:29:01 | 显示全部楼层
Thanx Renderman,
这是我试图运行的代码。
 
  1. ;;Program to get Mass Propertise of the objects....
  2. (defun C:mass_p ()
  3. (vl-load-com)
  4. (while
  5. (setq sset (ssget))
  6. (setq ctr 0)
  7. (repeat (sslength sset)
  8. (setq item (ssname sset ctr))
  9. (setq item (vlax-ename->vla-object item))
  10. (setq vol (vla-get-volume item))
  11. (princ (strcat "\nVolume: " (rtos vol)))
  12. (setq ctr (1+ ctr))
  13. );repeat
  14. );while
  15. (princ)
  16. );defun
  17. (princ)

 
当我选择object并按Enter键时,我收到错误:
; 错误:ActiveX服务器返回错误:加载类型库/DLL时出错
 
我试图找出过去三天的问题。我需要帮助。
 
 
:哎哟::哎哟:
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 09:30:26 | 显示全部楼层
请阅读代码发布指南。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:37:18 | 显示全部楼层
请考虑以下示例:
 
  1. (defun c:MASS_P  (/ ss)
  2. (vl-load-com)
  3. (while (setq ss (ssget "_:L:S:E" '((0 . "3DSOLID"))))
  4.    (prompt
  5.      (strcat
  6.        "\n  >>  Volume: "
  7.        (rtos (vla-get-volume (vlax-ename->vla-object (ssname ss 0)))))))
  8. (prompt "\n** Command ended, or non-3DSOLID selected ** ")
  9. (princ))

 
该代码将连续允许单个非锁定实体选择“3DSOLID”对象(唯一具有体积特性的对象)。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 09:48:49 | 显示全部楼层
另一种方式。
 
  1. (defun c:Test (/ lst ss i sset lst)
  2. (setq lst 0)
  3. (if (setq ss (ssget "_:L" '((0 . "3DSOLID"))))
  4.    (progn
  5.      (repeat
  6.        (setq i (sslength ss))
  7.         (setq sset (ssname ss (setq i (1- i))))
  8.         (setq
  9.           lst (+ (vla-get-volume (vlax-ename->vla-object sset)) lst)
  10.         )
  11.      )
  12.      (alert (strcat " The Total Volumeis : " " " (rtos lst 2)))
  13.    )
  14.    (princ)
  15. )
  16. (princ)
  17. )

塔瓦特
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:54:09 | 显示全部楼层
... 还有一个:
 
  1. (defun c:TEST2 ( / ss v tot)
  2. (vl-load-com)
  3. (if (setq ss (ssget "_:L" '((0 . "3DSOLID"))))
  4.    (progn
  5.      (textpage)
  6.      (vlax-for x (setq ss (vla-get-activeselectionset
  7.                             (vla-get-activedocument
  8.                               (vlax-get-acad-object))))
  9.        (prompt (strcat "\nVolume: " (rtos (setq v (vla-get-volume x)))))
  10.        (cond (tot (setq tot (+ tot v))) ((setq tot v))))
  11.      (prompt (strcat "\n  >>  Total  >>  " (rtos tot)))
  12.      (vla-delete ss))
  13.    (prompt "\n** Nothing selected ** "))
  14. (princ))

 
... 还有一个:
 
  1. (defun c:TEST3 ( / ss)
  2. (vl-load-com)
  3. (if (setq ss (ssget "_:L" '((0 . "3DSOLID"))))
  4.    ((lambda (i / e v tot)
  5.       (textpage)
  6.       (while (setq e (ssname ss (setq i (1+ i))))
  7.         (prompt
  8.           (strcat
  9.             "\nVolume: "
  10.             (rtos (setq v (vla-get-volume (vlax-ename->vla-object e))))))
  11.         (cond (tot (setq tot (+ tot v))) ((setq tot v))))
  12.       (prompt (strcat "\n  >>  Total  >>  " (rtos tot))))
  13.      -1)
  14.    (prompt "\n** Nothing selected ** "))
  15. (princ))
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:01:05 | 显示全部楼层
干得好Renderman
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:05:50 | 显示全部楼层
 
谢谢希望这些选项中的一个能够帮助OP。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:10:33 | 显示全部楼层
尊敬的Renderman:,
我必须感谢你的工作。我已经检查过了&在不同的电脑上运行过(不是有问题的那台)。每个程序都运行良好。我会在有问题的电脑上进行检查,并发布反馈。再次感谢。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 05:30 , Processed in 0.391168 second(s), 83 queries .

© 2020-2025 乐筑天下

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