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

autocad - 如何使用 lisp 将块/autocad 内的对象区域转换为变量

这是代码;

我想将块中所有区域和实体(Tobjs)的总面积转换为变量 TNumF,如果它符合条件,

它给出一个错误:错误的参数值:AutoCAD 命令:#

请帮忙

提前致谢

0 投票
1 回答
937 浏览

autocad - 使用lisp在AutoCAD中将3d多段线更改为样条

我有一个可以从 3d 折线创建样条的工作 lisp。我的问题是我无法选择多条 3d 折线或整个图层,而且 lisp 将结果图层更改为默认图层。它应该保留在原来的那个上。这是我的工作口齿不清:

如果我将其更改ssget "_I"ssget "_:E"我可以选择多条线,但它将更改为仅第一条线。

0 投票
2 回答
609 浏览

list - Lisp 更新列表

嗨,我是 AutoCad lisp 的新手,我试图通过一些简单的例程来加快我的工作速度,但我碰壁了,无法弄清楚这一点,而且我有一个强大的填充物,有一个简单的解决方案。所以...

我做了一个名为“koord”的列表:

结果是点对:("1" . "10,10,10")

之后,我添加到此列表中,例如:

现在结果是:("1" . "10,10,10") ("2" . "20,20,20") ("3" . "30,30,30")

此时我想更新第二个虚线对,让我的列表看起来像这样:

("1" . "10,10,10") ("2" . "60,60,60") ("3" . "30,30,30")

但我不知道如何......如果我这样附加

比我得到这个结果:

如果我知道如何找回这个就不会太糟糕了("2" . "60,60,60")

如果我尝试

它会返回第一次出现,即("2" . "20,20,20")

那么,有没有办法不添加而是更新点对中的值或检索最后一个附加的值 - 而不是第一个?

0 投票
2 回答
2879 浏览

autocad - 带有 AutoLisp 的 AutoCad 旋转命令

我想用 AutoLisp 创建一个简单的“旋转”命令,所以这是我写的代码:

我插入两个点 p1 和 p2 并创建一条连接它们的线。之后,我创建了 ss1 对象,即 p1-p2 行。最后,我尝试将线从基点 p2 旋转 90 度。

我在 AutoCad 中插入代码,但不是创建旋转线,而是要求手动插入基点和角度,所以我猜command "rotate" ...线有问题。

任何建议,将不胜感激。

0 投票
1 回答
1840 浏览

lisp - 使用 autolisp 从表对象中提取数据

我想从存储在绘图表或表对象中的信息的比较中提取某些信息,正如您更喜欢调用的那样,如果比较成功,则将相关值存储到变量中。我是 Visual lisp 或 Auto Lisp 的新手。所以请你能帮我解决这个问题并逐步解释我。

表格示例

因此,例如,如果我的表在第一列D1中,我想将信息存储在它旁边的下三列中,但在同一行中。

在此处输入图像描述

所以在这个例子中,它将是132156 , 432 y 11存储在三个不同变量或数组中的数字。请帮助我并逐步向我解释可能的解决方案,我对 Lisp 真的很陌生

0 投票
1 回答
113 浏览

lisp - 如何从 ads_name 类型中获取 VLAX-OBJECT

我正在使用 entget 函数来获取某个对象的所有属性。所以我有描述对象属性的点对表,但现在我想使用 VLAX-OBJECT 函数,例如 VLAX-COPY 或 VLAX-MOVE。所以我需要将它从 ads_name 类型转换为 VLAX-OBJECT 类型,但我无法处理。你能建议任何想法吗?

0 投票
1 回答
469 浏览

lisp - 转换多个对象的 vlax-ename->vla-object

我想要做的是尝试将多个实体转换为 prder 中的 VLA-OBJECTS 以使用它们可用的 Vlisp 函数。我想做的是:

其中 masa 是允许退出 while 循环的计数器,而 masas 是变量限制。在 wy 代码中,while 循环内的第一行和第三行运行良好,但是我试图将每个 ename 转换为 VLA 对象的第二行给了我错误错误参数类型:lentityp OFF1因为在这种情况下,off 从 1 开始,我认为问题不是 read 的大写结果,因为 lisp 不区分大小写,而是我无法解决的类型问题。我也尝试使用 eval 或直接使用 assoc -1 但我并不幸运。

0 投票
1 回答
182 浏览

geometry - 自动修剪 VLA-OBJECTS 外圆而不选择任何内容

我想要做的是修剪一些另存为的折线,VLA-OBJECTS将它们转换为 没有问题Entities,但我想要以图形方式以以下方式修剪我的图像:

在此处输入图像描述

在此处输入图像描述

如您所见,我想修剪角落上红色圆圈之外的所有蓝线,并且我想自动修剪而不选择任何内容。为此,我将圆存储为 a VLA-OBJECT,将蓝色折线存储为独立VLA-OBJECTS的 ,圆的中心,实际上第一张图像上的所有内容都存储为 a VLA-OBJECT。所以我想知道你是否可以建议任何 lisp 例程来自动执行它?我正在考虑使用Break命令或Extend命令,但我找不到真正的解决方案。提前谢谢了。

0 投票
1 回答
439 浏览

dxf - Autolisp:带有 .dxf 输出的“While”循环

我正在编写一个 lisp 应用程序来为 CNC 刀具创建 2D 模式。我有一个 Excel 程序,它为与每个模式关联的各个部分输出 3-10 个短 lisp 子例程,我可以让任意数量的这些子例程加载到我的“while”循环中并绘制该部分,但是我没有任何方法可以开始从其中一个模式潜艇生成的图纸中创建.dxf 文件,这将使我恢复循环。如果我拉出 dxfout 并擦除步骤,然后让它们相互叠加,它就像一种魅力。

在第一个 dxfout 步骤中按书面方式运行它会挂起。我可以通过lisp编辑器重置程序,然后文件出现在输出目录中,dxf出现在一个新选项卡中,但显然退出循环而不处理其余部分。

我错过了一些明显的东西吗?将所有图案片与命名实体一起绘制在同一图纸中,然后在最后批量处理每个实体会更好吗?

0 投票
1 回答
231 浏览

autocad - 另存为选定对象 dwg 格式

我尝试保存 dwg 文档,但仅使用选定的对象,我知道我可以使用 wblock 命令,但我只需要使用 ssget 和 saveas 命令。

(setq 选择 (ssget))

任何知道任何选择?