问题标签 [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.
csv - AutoLISP 程序给出不一致的结果
软件:AutoCAD 2012(日语)
系统:MS Windows 7(日语)
情况
我制作了一个.LSP 文件,它定义了一个新函数“C:MAKEATABLE”。
它要求用户选择一个 .CSV 文件,然后将其数据导入在 AutoCAD 中打开的图形文件。.CSV 文件有两列:
- 序列号(整数)
- 数据(实数)
.CSV 文件的最后一行是“EOF”。
导入的数据应该是每个文本实体相互独立,除了它们从用户指定的插入点以表格方式排列的事实。
现在,我的问题是,每当我加载该 .LSP 文件并调用我的函数时,结果并不总是相同的。有时这些值会以所需的方式完美显示;但很多时候,这些值看起来很混乱。值出现混乱的方式有三种。
- 我尝试重新启动应用程序以及 PC,但无济于事。
- 我已将所有变量声明为本地变量,以免它们受到干扰。
这是完整的代码: Pastebin 链接也可用
我什至检查了插入文本的点 [使用(princ datapt)
and (princ indexbasept)
],发现它们没问题。但是,当 AutoCAD 在屏幕上创建这些文本对象时,它们会占据相同的位置并变得混乱。
请告诉我我可能会出错的地方以及我现在应该做什么。
c# - 如何将独立 C# 应用程序中的 lsp 文件加载到 AutoCAD 中并等待它完成
第一次在这里海报。
我正在用 C# 构建一个独立的应用程序,我可以在其中删除一组 .dwg 并选择要在该组上运行的 .lsp 文件。我可以弄清楚如何打开 dwg、加载 .lsp 文件、保存 dwg 并关闭它。
我想不通的是如何等待所述 .lsp 文件完成,然后再转到下一个 .dwg。
vba - 在 AutoCAD 中运行 VBA 宏
我正在为我为 AutoCAD 编程的插件创建一个 .bundle 文件夹。文件夹的根目录是我的 PackageContents.xml 包,我的所有 Lisp 插件都在其中自动加载。由于 .dvb 不是自动加载支持的类型,我制作了一个 Lisp 文件以使用以下代码自动加载
代码运行并将我的插件 WindowsDoors.dvb 放入 AutoCAD,但是当我尝试使用该插件时,命令行给了我以下信息
通常这会暗示代码中存在错误,除非我在管理选项卡下使用 AutoCAD 2014 的内置应用程序加载器手动加载此插件时,它工作正常,让我不知道出了什么问题。
vba - 在 AutoCAD 启动时运行 Lisp 函数
我正在使用 Lisp 程序将 VBA 宏加载到 AutoCAD 中。下面的 Lisp 程序会在启动时自动加载到 AutoCAD 中
但是我仍然必须在 AutoCAD 的命令行中输入“LoadDVB”才能使插件工作,否则它会给我一个错误。我需要自动化这一步,以便在启动时我可以使用 VBA 插件。
autocad - opencad如何用excel中的值绘制线条
我是opencad的新手,我的任务是绘制数百条虚线,每条虚线由两个点组成,点的值保存在一个excel文件中,如下所示:
每行代表一个点,两个相邻的点构成一条线,我有很多这样的值,我应该如何实现绘制线。非常感谢您的帮助。
c# - 使用 Lisp 函数将 .NET 插件加载到 AutoCAD 2014
我有一个使用 C# .NET 完成开发的插件。因为我希望 AutoCAD 在启动时加载多个插件,所以我使用 Lisp 脚本,通过一个函数调用加载我的所有插件。由于这是我计划的许多 .NET 插件中的第一个,因此我使用 Lisp 程序来加载每个 DLL 文件。其功能是
其中包含该函数的 Lisp 文件ShowHideLayers.dll
都.bundle
位于 AutoCAD 漫游数据的文件夹中。
但是,当我启动 AutoCAD 并调用 时LoadDLL
,我得到一个错误并且不知道为什么:
我无法确定错误的原因。我错过了什么?
lisp - 无需用户交互即可应用自动(脚本)操作
我有一个可能相当简单地解决(自动)LISP 问题来解决。我有一个基本上可以正常工作的脚本,但它需要我手动选择对象(在我的情况下为文本)并按 Enter。
我想从所有图层中选择所有文本对象,并对所有图层应用相同的 TCIRCLE 操作。此命令稍后应与脚本一起应用以自动导入,这就是为什么必须没有手动交互的原因。
这是需要手动选择的工作基本脚本:
我尝试使用 setq sset 为与上述相同类型的过滤器创建一个过滤器集合。但它什么也没做(没有错误,也没有变化)。所以要么我的集合是空的,要么命令调用不正确。
我是 AutoLisp 的新手,我错过了什么,它在过滤的项目上不能按预期工作?
autocad - 检查AutoCAD 2014是否打开
我们最近从 AutoCAD 2010 切换到了 AutoCAD 2014,并且遇到了一些烦人的问题。我们打开的每张图纸现在都在单独的应用程序中打开。因此,不是每个应用程序有多个图纸,而是在一个窗口中打开每一个图纸。
从我们的数据管理器打开绘图时,我们通过以下代码行检查 autocad 2010 的应用程序是否正在运行:
AutoCAD 2014的此代码等效于什么?或者,简单地说,我们如何检查 AutoCAD 2014 是否已经在运行?
请注意,我是 LISP 的完全新手,所以如果您需要更多代码或信息,请发表评论!
lisp - Autolisp json_encode json_decode
有人在 Autocad 上为 lisp 提供 json_encode / json_decode 函数吗?
我可以从/向文件读取/写入数据,但是将其编码为 JSON 会很有帮助;然后我可以将所有内容链接到 javascript/php/mysql ...