M76 发表于 2022-7-6 07:24:48

自动化错误无描述

有时我在运行lisp时会收到此消息。但是我找不到原因,它甚至没有破坏代码,所以我不知道在哪里寻找错误,或者看看哪里出了问题。
 
有没有办法强迫它破坏代码的执行?或者知道是什么导致了这条消息的出现?

Lee Mac 发表于 2022-7-6 07:33:14

它可以是很多东西-例如使用不适用的方法/属性。
 
您可以使用Visual LISP编辑器调试代码,以查看错误发生的位置。
 
Visual LISP编辑器:
http://www.afralisp.net/vl/vlisp.htm
http://www.afralisp.net/vl/vl-edit.htm
http://midpointcad.com/au/docs/lakose_The_Visual_LISP_Developers_Bible.pdf

M76 发表于 2022-7-6 07:35:31

这就是问题所在,我使用的是visual lisp编辑器,但当消息出现时,代码执行并没有停止。因此,当我选择“last break”时,它没有显示任何内容。

Lee Mac 发表于 2022-7-6 07:41:01

难道你不能使用一个断点(靠近你认为错误的地方)然后设置动画来查看代码计算停止的地方吗?
 
否则,把代码贴在这里,我会看一看

M76 发表于 2022-7-6 07:44:42

我已经弄明白了,这不是代码的问题。
 
我正在偏移多段线,当直线无法偏移时,就会出现错误。
 
我使用的是vla偏移量,那么我如何检测到这一点,并避免收到消息?

Lee Mac 发表于 2022-7-6 07:48:09

我在这段代码中使用了这种方法:
http://www.cadtutor.net/forum/showthread.php?t=42427
 
当无法进行偏移时,可以使用vl catch all apply。

M76 发表于 2022-7-6 07:53:28

谢谢,这正是我需要的,不幸的是,我现在没有时间实施它,但至少我知道如何实施。

Lee Mac 发表于 2022-7-6 08:00:31

不客气

itssme 发表于 2022-7-6 08:05:37

大家好,
我正在学习lisp,在Autocad 2008(开发人员文档)的帮助下获得了一个示例。即:
(defun init-motivate ()(vl-load-com)(setq mspace   (vla-get-modelspace       (vla-get-activedocument (vlax-get-acad-object))   ))(vla-addray mspace (vlax-3d-point 0 0 0) (vlax-3d-point 1 1 0)))


(defun bnddrop (/ bbox)(setq bbox (vla-getboundingbox         (vla-item mspace (- 1 (vla-get-count mspace)))         'll         'ur         ))(list "Do something with bounding box." bbox))

好的,创建了一个光线对象,但(bnddrop)响应了一个与示例不同的错误(;错误:自动错误。无效范围)。
错误为“错误:自动化错误。未提供说明。”
为什么?谢谢你的帮助!

Lee Mac 发表于 2022-7-6 08:10:06

光线对象在给定方向上延伸到“无穷大”,因此没有有效范围。
页: [1] 2
查看完整版本: 自动化错误无描述