问题标签 [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.
autocad - 如何使用 lisp 将块/autocad 内的对象区域转换为变量
这是代码;
我想将块中所有区域和实体(Tobjs)的总面积转换为变量 TNumF,如果它符合条件,
它给出一个错误:错误的参数值:AutoCAD 命令:#
请帮忙
提前致谢
autocad - 使用lisp在AutoCAD中将3d多段线更改为样条
我有一个可以从 3d 折线创建样条的工作 lisp。我的问题是我无法选择多条 3d 折线或整个图层,而且 lisp 将结果图层更改为默认图层。它应该保留在原来的那个上。这是我的工作口齿不清:
如果我将其更改ssget "_I"
为ssget "_:E"
我可以选择多条线,但它将更改为仅第一条线。
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")
那么,有没有办法不添加而是更新点对中的值或检索最后一个附加的值 - 而不是第一个?
autocad - 带有 AutoLisp 的 AutoCad 旋转命令
我想用 AutoLisp 创建一个简单的“旋转”命令,所以这是我写的代码:
我插入两个点 p1 和 p2 并创建一条连接它们的线。之后,我创建了 ss1 对象,即 p1-p2 行。最后,我尝试将线从基点 p2 旋转 90 度。
我在 AutoCad 中插入代码,但不是创建旋转线,而是要求手动插入基点和角度,所以我猜command "rotate" ...
线有问题。
任何建议,将不胜感激。
lisp - 如何从 ads_name 类型中获取 VLAX-OBJECT
我正在使用 entget 函数来获取某个对象的所有属性。所以我有描述对象属性的点对表,但现在我想使用 VLAX-OBJECT 函数,例如 VLAX-COPY 或 VLAX-MOVE。所以我需要将它从 ads_name 类型转换为 VLAX-OBJECT 类型,但我无法处理。你能建议任何想法吗?
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 但我并不幸运。
dxf - Autolisp:带有 .dxf 输出的“While”循环
我正在编写一个 lisp 应用程序来为 CNC 刀具创建 2D 模式。我有一个 Excel 程序,它为与每个模式关联的各个部分输出 3-10 个短 lisp 子例程,我可以让任意数量的这些子例程加载到我的“while”循环中并绘制该部分,但是我没有任何方法可以开始从其中一个模式潜艇生成的图纸中创建.dxf 文件,这将使我恢复循环。如果我拉出 dxfout 并擦除步骤,然后让它们相互叠加,它就像一种魅力。
在第一个 dxfout 步骤中按书面方式运行它会挂起。我可以通过lisp编辑器重置程序,然后文件出现在输出目录中,dxf出现在一个新选项卡中,但显然退出循环而不处理其余部分。
我错过了一些明显的东西吗?将所有图案片与命名实体一起绘制在同一图纸中,然后在最后批量处理每个实体会更好吗?
autocad - 另存为选定对象 dwg 格式
我尝试保存 dwg 文档,但仅使用选定的对象,我知道我可以使用 wblock 命令,但我只需要使用 ssget 和 saveas 命令。
(setq 选择 (ssget))
任何知道任何选择?