问题标签 [autolisp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1292 浏览

autocad - Autocad:C:\Program Files\Common Files\Autodesk Shared

这个文件夹有什么用?我需要在不使用 acad.lsp 和 acaddoc.lsp 的情况下以自动方式加载 lisp。我会在那里找到答案吗?我问这个是因为我看到了一个附加组件,我从那里加载了一些东西。

谢谢大家,丹尼斯

0 投票
1 回答
401 浏览

arguments - DCL Lisp 错误参数类型错误

我收到此错误类型:

有人知道为什么吗?我认为它在最后if

这是“新”代码(仍然无法正常工作):

gr_ded是现在m_deductselectionsthk

周长.dcl

0 投票
1 回答
142 浏览

autocad - Autocad 不让我保存

大家好,我有一个很大的问题。我安装了一些阻止 AutoCAD 保存的东西,dxfout 等等。想不通。我尝试取消定义和重新定义命令,使用 .save .saveas .dxfout 但没有任何效果。当我执行这些命令时,我收到一个通知,系统变量已被修改然后恢复(可能是 filedia)。我也尝试过使用 vl-commands

我能做些什么?谢谢

0 投票
1 回答
2110 浏览

.net - 从 AutoCAD .NET Editor.CommandAsync 调用 LISP 命令

我正在尝试"c:wd_insym2"从 .NET 调用内置的 AutoCad Electrical LISP 命令。我最近安装了 AutoCad 2016,它现在具有 Editor.Command 和 Editor.CommandAsync 功能,但是我能找到的所有帮助/论坛帖子都指的是使用它来调用 AutoCad 命令,例如 LINE、CIRCLE 等。我想调用lisp 命令,例如:

在 处插入一个按钮符号0, 0

这就是我所得到的(我一直在使用 CommandAsync,因为我之前在使用 Application.Invoke 同步发送该命令时遇到了问题:AutoCad Command Rejected "Undo" when using Application.Invoke()

当我运行它时,它显示“LISP 命令不可用”。

我正在做的事情是否可能,如果是,我做错了什么?

0 投票
1 回答
81 浏览

scripting - 如何总结一层中所有矩形的长边?

使用 AutoLISP(用于 AutoCAD 2015),我正在编写一个脚本来计算放置在某个图层上的所有矩形的总长度。

(具体目的:我有一个带有多个矩形的层,代表用于承载木地板的木梁。我想计算我必须为这个地板购买多少米的梁。)

到目前为止,我所拥有的是一个脚本,可以计算图层上所有线的长度之和。到目前为止,这工作正常。它返回图层上所有矩形的(周长)线的总长度,以及找到的矩形数量。

还缺少的是把矩形的所有边都放在一边的功能,只对边求和。

根据我的理解,最简单的解决方案是:添加功能以确定在图层上找到的矩形的所有短边的长度之和,然后从“sum”中减去它)

在伪代码中:

我大部分时间都在那里,但我需要一个指针来改进我现有的代码以减少短边。也欢迎其他解决方案。

如何总结一层中所有矩形的长边?

0 投票
1 回答
395 浏览

autocad - 如何选择内部没有阴影的封闭二维多段线?

我在 AutoCAD 中有以下 2D 多段线。

在此处输入图像描述

我正在尝试创建一个代码,该代码在选择所有这些代码时会过滤掉那些内部舱口的人。

从另一个来源,我得到了以下代码(感谢 tharwat),但是,虽然我理解了它的每一部分,但从第二个开始ssget我就无法理解这些元素的含义。

)

初学者在这里,对不起,如果这不是一个好问题。

0 投票
1 回答
681 浏览

autocad - autocad : 运行 autolisp 函数的脚本

我有一个可以在一堆图纸上运行脚本的工作批处理文件。

该脚本应该运行一个 lisp 函数,但该函数似乎只在主函数运行后运行。

由于我对 lisps 了解不多,因此我将尝试提供我所拥有的信息。

lsp:

紧随其后的是一些其他(不确定)不太重要的功能,例如 ar_dia - 它会打开一个对话框,其中包含调用其他功能的按钮。其他功能之一是 AR_LIST,这是我需要在脚本中对批处理文件打开的每个文件运行的功能。

ar_list 向下几个街区,看起来像这样

脚本只需要运行这个命令,关闭绘图,不保存。

所以我尝试了(test.scr)

但这给了我错误:

命令:(ar_list) 错误参数类型:stringp nil

我认为 ar_list 需要来自 的东西defun c:areas,但我不知道是什么。ar_list 在命令栏中输入区域后起作用。所以我也试过

区域 (ar_list) 退出 n

,但是打开了区域对话框,并没有关闭它,阻塞了循环。此外,当我取消对话框时, ar_list 工作,但它再次打开区域对话框。我认为代码在脚本中重复出现。

任何帮助都会非常受欢迎。我在这里收到了相关帮助

0 投票
1 回答
524 浏览

compilation - 在 Vlx (AutoLisp) 中加载 Dcl

我已经在 autolisp 中创建了我的整个应用程序,是时候编译和保护我的代码了......,在 autolisp 中,要使用 DCL,您只需要加载它们,使用:

或一些等效的代码,但我知道可以在编译 lisp 文件的同一 vlx 中编译 DCL。但是我们在 vlx 中加载这个 DCL 有多冷?如何引用和加载它呢?

0 投票
1 回答
1073 浏览

lisp - 在 AutoLISP 中是否可以在函数体中获取函数名?

在指定条件下,我想在此函数中打印函数名称。但我不知道如何得到它。在 C++ 中,我可以使用预处理器宏__FUNCTION__。我在 AutoLISP 中有类似的东西吗?

0 投票
2 回答
1349 浏览

arrays - Autolisp 实体数据检索

我正在尝试使用AutoCAD,我想在矩形和直线之间建立一条“高速公路”。我需要矩形中的 2 个点。有任何想法吗?

我的整个代码