问题标签 [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 回答
450 浏览

csv - AutoLISP 程序给出不一致的结果

软件:AutoCAD 2012(日语)

系统:MS Windows 7(日语)


情况

我制作了一个.LSP 文件,它定义了一个新函数“C:MAKEATABLE”。

它要求用户选择一个 .CSV 文件,然后将其数据导入在 AutoCAD 中打开的图形文件。.CSV 文件有两列:

  1. 序列号(整数)
  2. 数据(实数)

.CSV 文件的最后一行是“EOF”。

导入的数据应该是每个文本实体相互独立,除了它们从用户指定的插入点以表格方式排列的事实。

现在,我的问题是,每当我加载该 .LSP 文件并调用我的函数时,结果并不总是相同的。有时这些值会以所需的方式完美显示;但很多时候,这些值看起来很混乱。值出现混乱的方式有三种。

  • 我尝试重新启动应用程序以及 PC,但无济于事。
  • 我已将所有变量声明为本地变量,以免它们受到干扰。

这是完整的代码: Pastebin 链接也可用

我什至检查了插入文本的点 [使用(princ datapt)and (princ indexbasept)],发现它们问题。但是,当 AutoCAD 在屏幕上创建这些文本对象时,它们会占据相同的位置并变得混乱。

请告诉我我可能会出错的地方以及我现在应该做什么。

0 投票
1 回答
508 浏览

c# - 如何将独立 C# 应用程序中的 lsp 文件加载到 AutoCAD 中并等待它完成

第一次在这里海报。

我正在用 C# 构建一个独立的应用程序,我可以在其中删除一组 .dwg 并选择要在该组上运行的 .lsp 文件。我可以弄清楚如何打开 dwg、加载 .lsp 文件、保存 dwg 并关闭它。

我想不通的是如何等待所述 .lsp 文件完成,然后再转到下一个 .dwg。

0 投票
1 回答
2313 浏览

vba - 在 AutoCAD 中运行 VBA 宏

我正在为我为 AutoCAD 编程的插件创建一个 .bundle 文件夹。文件夹的根目录是我的 PackageContents.xml 包,我的所有 Lisp 插件都在其中自动加载。由于 .dvb 不是自动加载支持的类型,我制作了一个 Lisp 文件以使用以下代码自动加载

代码运行并将我的插件 WindowsDoors.dvb 放入 AutoCAD,但是当我尝试使用该插件时,命令行给了我以下信息

通常这会暗示代码中存在错误,除非我在管理选项卡下使用 AutoCAD 2014 的内置应用程序加载器手动加载此插件时,它工作正常,让我不知道出了什么问题。

0 投票
1 回答
1062 浏览

vba - 在 AutoCAD 启动时运行 Lisp 函数

我正在使用 Lisp 程序将 VBA 宏加载到 AutoCAD 中。下面的 Lisp 程序会在启动时自动加载到 AutoCAD 中

但是我仍然必须在 AutoCAD 的命令行中输入“LoadDVB”才能使插件工作,否则它会给我一个错误。我需要自动化这一步,以便在启动时我可以使用 VBA 插件。

0 投票
1 回答
534 浏览

autocad - opencad如何用excel中的值绘制线条

我是opencad的新手,我的任务是绘制数百条虚线,每条虚线由两个点组成,点的值保存在一个excel文件中,如下所示:

每行代表一个点,两个相邻的点构成一条线,我有很多这样的值,我应该如何实现绘制线。非常感谢您的帮助。

0 投票
2 回答
1851 浏览

c# - 使用 Lisp 函数将 .NET 插件加载到 AutoCAD 2014

我有一个使用 C# .NET 完成开发的插件。因为我希望 AutoCAD 在启动时加载多个插件,所以我使用 Lisp 脚本,通过一个函数调用加载我的所有插件。由于这是我计划的许多 .NET 插件中的第一个,因此我使用 Lisp 程序来加载每个 DLL 文件。其功能是

其中包含该函数的 Lisp 文件ShowHideLayers.dll.bundle位于 AutoCAD 漫游数据的文件夹中。

但是,当我启动 AutoCAD 并调用 时LoadDLL,我得到一个错误并且不知道为什么:

我无法确定错误的原因。我错过了什么?

0 投票
1 回答
106 浏览

lisp - 无需用户交互即可应用自动(脚本)操作

我有一个可能相当简单地解决(自动)LISP 问题来解决。我有一个基本上可以正常工作的脚本,但它需要我手动选择对象(在我的情况下为文本)并按 Enter。

我想从所有图层中选择所有文本对象,并对所有图层应用相同的 TCIRCLE 操作。此命令稍后应与脚本一起应用以自动导入,这就是为什么必须没有手动交互的原因。

这是需要手动选择的工作基本脚本:

我尝试使用 setq sset 为与上述相同类型的过滤器创建一个过滤器集合。但它什么也没做(没有错误,也没有变化)。所以要么我的集合是空的,要么命令调用不正确。

我是 AutoLisp 的新手,我错过了什么,它在过滤的项目上不能按预期工作?

0 投票
1 回答
1321 浏览

autocad - AutoCAD 中的 ISAVEPERCENT 变量有什么作用?

0 投票
1 回答
178 浏览

autocad - 检查AutoCAD 2014是否打开

我们最近从 AutoCAD 2010 切换到了 AutoCAD 2014,并且遇到了一些烦人的问题。我们打开的每张图纸现在都在单独的应用程序中打开。因此,不是每个应用程序有多个图纸,而是在一个窗口中打开每一个图纸。

从我们的数据管理器打开绘图时,我们通过以下代码行检查 autocad 2010 的应用程序是否正在运行:

AutoCAD 2014的此代码等效于什么?或者,简单地说,我们如何检查 AutoCAD 2014 是否已经在运行?

请注意,我是 LISP 的完全新手,所以如果您需要更多代码或信息,请发表评论!

0 投票
0 回答
318 浏览

lisp - Autolisp json_encode json_decode

有人在 Autocad 上为 lisp 提供 json_encode / json_decode 函数吗?

我可以从/向文件读取/写入数据,但是将其编码为 JSON 会很有帮助;然后我可以将所有内容链接到 javascript/php/mysql ...