Luís Augusto 发表于 2022-7-5 23:39:40

插入多个块

大家好。
在论坛的研究中,我发现了一个由Lee Mac编写的lisp程序,该程序可以插入图形中的所有块,并要求插入点。我发现它非常有用。
可以适应插入从csv文件读取的块,并带来值​​属性?
块未加载到图形中,因此目录先前加载到Suppot文件搜索路径中。
 
这就是上面提到的程序。
 

(DEFUN C:BLKINS(/ pt name)
(vl-load-com)

(setq *acad* (vla-get-ActiveDocument
                (vlax-get-acad-object)))
(setq *ms*   (vla-get-ModelSpace *acad*))

(vlax-for item (vla-get-Blocks *acad*)

   (if (and (not (eq "*" (substr (setq name (vla-get-Name item)) 1 1)))
            (setq pt (getpoint "\nSelect Point for Block: ")))
   
   (vlax-invoke-method *ms* 'InsertBlock (vlax-3d-point pt) name 1.0 1.0 1.0 0.0)))

(princ))

 
提前谢谢你。
 
你好,路易斯·奥古斯托。

BIGAL 发表于 2022-7-5 23:44:27

如果您有一个csv文件,那么只需在excel中打开并制作一个脚本,您可以使用excel中的连接命令来连接列。
 
你需要这样的线路
 
插入块1 x,y 1 0 asdf ghjk。。。。两个属性
 

Luís Augusto 发表于 2022-7-5 23:47:31

 
对不起,比格尔。我想你误解了我。
我打算找到一个例程,询问包含这些值的表的位置​​然后插入块,询问插入位置,不必提供坐标x、y、z。
我找到了类似以下主题的内容,但无法重用代码。
 
http://www.cadtutor.net/forum/showthread.php?53100-使用LISP插入块和属性
 
我请求了持有人的代码,但没有成功,所以我请求帮助。
我从事agriculas机器电气线束的设计,在连接器中插入带有大量插脚的属性相当费力。
今天我使用了李大师的优秀程序批处理属性编辑器,但在导入属性之前仍然需要插入所有连接器。我想完全自动化这项任务。
 
有人知道在哪里找东西吗?
 
谢谢你的帮助。

Tharwat 发表于 2022-7-5 23:50:18

只要支持文件夹中有包含块的图形,就很容易找到该图形并将其插入当前图形。
 
上传带有扩展名的Excel fie示例表。csv
 
你将如何插入每个块,代码如何知道你将使用该块或另一块?

Bhull1985 发表于 2022-7-5 23:54:44

因此,通过阅读这些帖子,我猜OP希望excel中有表格,例如,电气线束在一个页面上。
因此,他告诉程序excel文档中的页码,然后程序获取所有单元格,并根据第一列作为块的名称进行插入。
它允许通过单击每个插入点顺序插入块,然后程序将块放置在其中。
我就是这么读的,嗯

Luís Augusto 发表于 2022-7-5 23:56:05

Tharwat,谢谢你的帮助。
根据要求提供以下示例。
提前谢谢你。
样品连接器。拉链

Tharwat 发表于 2022-7-6 00:00:55

 
我希望我能
 
现在,如何将这些块插入到图形中?我是说插入点?
在屏幕上选择暂停选项?

Luís Augusto 发表于 2022-7-6 00:04:40

 
想法如下。程序会让我知道要插入的连接器的名称,我会手动选择位置。

Tharwat 发表于 2022-7-6 00:05:19

名为Right headlight和Left headlight的两个块的最后一个属性对我来说很奇怪(值),如果你插入任何值,它会不断要求你更多输入,尽管在Excel文件中,前面提到的块只有四个值。
 
那么,最后一个属性是否应该为nil值以避免另一个属性要求更多值?

Luís Augusto 发表于 2022-7-6 00:10:24

 
Tharwat,很抱歉失败了。标记PN_ORIGINAL给出了这个问题。她不在街区内了。你可以忽略它们。
信息只能输入到以PIN_开头的标签中。
伙计,我无话可说地感谢他们的帮助和论坛上的其他同事。
非常感谢你。
页: [1] 2
查看完整版本: 插入多个块