nicolas 发表于 2022-7-6 08:17:18

从调色板Lisp插入块

你好
 
我正在寻找一种使用Autolisp从工具选项板插入块的方法。最初,在图形中找不到块。“插入”对话框中没有列表,并且包含多个块的源文件不在支持的autocad路径中。
 
 
此外,我可以应用ssget将块用作边界以及其中的所有内容,包括视口、文本、其他块。。。,还可以使用块最左侧的底点作为移动/复制操作的基点。
 
谢谢
 
当做
 
尼古拉斯。

pBe 发表于 2022-7-6 08:39:21

 
根据您创建工具选项板的方式,我使用Design Center。它从“源”创建了一个“链接”,但当sombody无意中删除/移动文件时,你就被套住了。但是,您可以在工具选项板上使用lisp程序[不是块的链接,而是对lisp代码的调用],其中它将调用tblsearch和/或findfile(特定文件夹列表不限于SFSP上列出的文件夹列表)
 
 
查看vla getboundingbox
 
(vlax-invoke vla-object 'Getboundingbox 'll 'ur)
 
其中ll变量是“最左边的底点”。。
 
HTH公司

BlackBox 发表于 2022-7-6 08:48:04

尼古拉斯-
 
为什么不简单地添加所需的路径以支持文件搜索路径(SFSP)?
 
为什么要尝试从LISP调用工具选项板按钮,而不是只编写一个简单的LISP来实现您想要的功能?
 
Pbe公司-
 
不要忘记LL、UR上的SafeArray->List或VariantValue方法(我忘记了重要的LISP语法需要哪个方法)。英雄联盟

pBe 发表于 2022-7-6 08:59:55

 
就在RenderMan上
 

(vlax-safearray->list ll)

BlackBox 发表于 2022-7-6 09:05:41

干杯,伙计!

nicolas 发表于 2022-7-6 09:27:46

你好
 
块不在当前图形中,而是在包含多个块的不同dwg上(确切地说是块库)。因此我使用调色板。现在我想插入同一块两次,使用它们的基点到指定的坐标。它们需要按分解后的状态插入。
 
我完全不懂visual lisp,因此我很难理解讨论内容,因为我对autolisp中的用户定义命令有一定的了解。
 
谢谢
 
当做
 
尼古拉斯。
页: [1]
查看完整版本: 从调色板Lisp插入块