使用AutoLISP创建对象时,会对邻近的对象进行捕捉,而不是使用指定的坐标

编程语言 2026-07-09

复现步骤:

  1. 在AutoCAD新建绘图
  2. 打开对象捕捉端点模式(并关闭中点模式)
  3. 在命令提示符粘贴以下内容
 (progn
  (command "_line" (list 0 0 0) (list 500 500 500) "")
  (command "_.-VIEW" "_swiso")
  (command "_circle" (list 250 250 250) 50)
  (command "_LIST" (ssget "_L") "")
)

请注意,圆将出现在直线的端点,而不是在其指定的位置(250, 250, 250)。

除了在我的AutoLISP中关闭OSNAP之外,还有其他办法吗?

解决方案

另一种选择是在脚本中使用键盘命令。纯文本.scr文件应如下所示:

L 0,0,0 500,500,500
C 250,250,250 50

请确保C 和L 分别表示Circle和 Line,因为用户可能会修改它们。在脚本中,每一个空格都相当于按下回车键。你可以据此调整,从而创建非常高效的脚本文件。

另一种选项是编写DXF文件。你的问题显然需要更多背景信息,比如你现在有什么,以及你想要达到的目标是什么?

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章