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

autolisp - AutoCAD Lisp 连接帮助功能以显示 Youtube 视频

我无法将 AutoCAD Lisp 中的 F1 帮助功能与自定义 Youtube 视频连接起来,而不是显示默认的 AutoCAD 帮助文件。我发现这篇文章很有帮助,但它不允许我以任何方式提供 youtube 视频。

自定义 AutoCAD 浏览器太旧,不支持 HTML5(运行 Youtube 视频需要它)。有关如何解决我的问题的任何帮助?

案例:如何将 F1 帮助绑定到 AutoCAD Lisp 中的自定义函数,然后在 F1 按键上激活 Youtube 剪辑。

0 投票
1 回答
409 浏览

c# - AutoCAD 命令被拒绝:从 LISP 调用撤消时“撤消”

在过去的 3 周里,我一直在尝试能够以编程方式调用撤消命令。我最近的尝试涉及从 C# 调用 LISP 代码。现在我的 C# 方法看起来像这样

我想调用的 Lisp 函数来自这里

(defun BIGUNDO () (命令 "undo" "b") )

(defun MARKPOS () (命令 "undo" "m") )

(vl-acad-defun '比贡多)

(vl-acad-defun 'MARKPOS)

该命令进入 AutoCAD,但我收到一条错误消息,提示“AutoCAD 命令被拒绝:“撤消””。我不知道如何让 AutoCAD 接受编程撤消命令。

0 投票
2 回答
2521 浏览

windows - 批处理文件中的占位符

人们是否能够在批处理文件中设置占位符,然后在其他脚本中引用该数据?

例如,如果我有一个批处理文件,我在其中设置了项目编号。

然后我想使用在 Autocad Lisp 例程或脚本中提示输入的占位符。

我假设您可以引用文件位置,所以 F:\blah\blah\blah test.bat 只是不确定是否有可能因此进入批处理并获取一个数字。

0 投票
1 回答
1169 浏览

lisp - AutoLISP / LISP 写入网络服务器上的文件

不确定是否有人可以提供帮助。我正在使用一种名为 AutoLISP 的语言进行编程......基于 LISP,但有一些额外的功能。它在一个名为 AutoCAD 的程序中使用。

无论如何,我有一些可以从网络服务器上的文本文件中读取的代码,但我也想知道如何写入文件......如果可能的话。

这是我必须阅读的文件:

任何想法如何使用我必须写回的代码?

谢谢

0 投票
1 回答
398 浏览

autocad - 自动 lisp 从图纸中检索项目名称

我有一个客户的硬盘坏了。我能够恢复数据,但只能在枚举文件中,没有日期、大小或任何类型的命名方案。这些是来自 AutoCAD 的绘图文件,实际上有数以万计的这些文件。这些图纸确实有标题栏,但要手动打开和重命名,这需要一个世纪。有谁知道我可以用来打开图纸并从标题栏中获取文本的 lisp 吗?我试过自己,但失败得很惨。

0 投票
1 回答
64 浏览

unit-testing - What features are standard for a testing framework?

So, I've been developing a few programs for AutoCAD 2005, and I've been constantly running into problems--specifically, I've been working on a program that needs to draw lines based on absolute angles ("azimuths") and distances, converting from a special input format to degrees to radians and back, and, like many other programmers, my code has gotten especially bulky and buggy; I've been stuck for almost a week and a half for a program/script that should've taken about three or four days.

I've been thinking about implementing a testing framework for making development much smoother, but unlike other languages, I'm working in a language that supposedly has absolutely no libraries for it and, even better, it's a embedding scripting environment.

I have a few ideas about how the design might work out, but I need to explain a few things:

Executing commands/AutoLISP background

Most of the programs I write are in the form of console-like commands, much like a shell. For example, say I write a function x. In AutoLISP, it's expressed as (the slash is also literally there): (defun x (arguments / local variables) body of function). To make it exposed to the console, I would need to change the name from x to C:x.

So, most of my testing must be done directly from the console; I tend to avoid the inbuilt Visual Lisp editor in AutoCAD because it seems to be disjointed from the actual working environment that the program will most likely be used in, and it doesn't seem to have an actual debugger. So, I frequently have to use (print "string") or other methods to debug my code.

Ideas/Thoughts/Questions

1. What types of functions might I want to expose for a testing framework? I've heard about multiple paradigms myself, such as compile-time testing, asserts, test classes in Java, etc. Should I try to code an assert? Perhaps I should create reflection-using tests?

2. How and where might I want to inject tests? I've thought about writing a different function and turning all local variables into globals to expose it to a possible testing context, but I'm still unsure of how I might want to do this. AutoLISP is lacking in regular Lisp macros, I believe, but I think it still has very nice reflection capabilities, so it is possible for me to actually feed in commands to the console in order to do things. I feel that an external, non-intrusive framework would make the most sense, but I'd like to get a more experienced answer on this.

0 投票
1 回答
793 浏览

svg - Lisp 函数失败,虽然以前可以工作(Draft Sight,SVG 到 CAD)

我们正在尝试实现一个 Draft Sight/AutoCad 脚本,它将 SVG 文件转换为 CAD 绘图。

主要思想是逐行读取文件(由 ReadSVGData 执行),按空格分割 svg 定义(ReadHTMLItemData),将各个 HTML 属性读取到列表中,并根据 SVG 项目的类型绘制 CAD 元素。校长的事就这么多...

不寻常的部分是,每当 Html 属性(如“id="Box_8_0"”)通过 attrlis 函数发送到 findchar 函数时,脚本就会失败,尽管之前同样的安排很顺利

有没有人暗示我的错误隐藏在哪里?

读取以下文件:

编辑

子字符串索引的更改,基于satraj的回答

0 投票
1 回答
168 浏览

window - 使用 Autolisp 在 AutoCAD 中添加几何公差

我正在尝试使用 Autolisp 脚本绘制几何公差。但是,我只发现(命令“公差”)拉起几何公差窗口。有谁知道如何添加更多参数?我的目标是绘制一个具有公差的平行符号。

0 投票
3 回答
1798 浏览

autocad - 如何从 AutoCad Core Console 2016 运行 AutoLisp 例程 (ATTOUT)

我想在 .dwg 文件的所有块上运行 ATTOUT 例程,使用核心控制台来自动化应用程序。

我在我的 AutoCAD 2016 安装的 Express 文件夹中使用默认的“attout.lsp”,因为我想在所有块上使用它并且不需要选择特定块。

我试过了 :

其中 test-attout.scr 是:

结果如下:

我是 AutoCAD 的新手,非常感谢任何建议。

谢谢大家!!

0 投票
1 回答
104 浏览

lisp - Vlisp autocad:即使a等于b,条件(> ab)也为真。为什么?

我的 lisp 有问题。我会放在这里你可以找到问题。

如果您尝试运行这几行代码,您会在第二个 while 条件下发现问题。这很奇怪..对此有任何想法吗?

谢谢,丹尼斯

编辑:我已经纠正了问题中的一个错误