lfe011969 发表于 2022-7-6 09:53:57

在另一个上插入现有块

我希望在未激活的布局上插入现有块。最好的方法是什么?
 
1) Entmake公司
2) 切换到正确的布局,然后使用(命令“-插入”…)
3) 另一种我不知道的方式。。。
 
我认为entmake是最好的,尤其是当它必须在许多布局上完成时。我曾尝试使用这个线程中的Lee代码,但它最终重新定义了块,我不希望这样。
 
当然,只切换到布局并插入块的缺点是,如果需要在许多布局上执行,那么它不仅速度慢,而且在编程上也很慢。

Lee Mac 发表于 2022-7-6 10:02:26

单向:
 

(entmake
(list
   (cons 0 "INSERT")
   (cons 2 "YourBlock")
   (list 10 0 0 0)
   (cons 410 "YourLayout")
)
)
 
当然,以上仅适用于非属性块。对于属性块,您还必须输入属性。

lfe011969 发表于 2022-7-6 10:05:45

当然,我的块有属性,我尝试了下面的代码,但属性没有放置在我指定的坐标处。相反,属性都放置在0,0处。
 
(entmake
(list
   (cons 0 "INSERT")
   (cons 2 blkname)
   (cons 10 '(0 0 0))
   (cons 410 "SH 10")
)
)
(entmake
(list
   (cons 0 "ATTRIB")
   (cons 10 '(10 10 0))
   (cons 1 "XXX")
   (cons 2 "SH_REV")
   (cons 7 "ROMANS")
   (cons 40 0.125)
   (cons 70 0)
   (cons 72 0)
   (cons 74 2)
)
)
(entmake
(list
   (cons 0 "SEQEND")
)
)

Lee Mac 发表于 2022-7-6 10:09:31

由于DXF 74为非零,因此需要DXF 11对齐点,否则将使用0,0,0。

lfe011969 发表于 2022-7-6 10:15:32

哎呀。。。。
 
当我使用DXF代码时,我一直在使用AutoCAD 2009 DXF参考,我想我应该进一步阅读ATTRIBs上的页面,因为它写在该部分的底部。谢谢
 

lfe011969 发表于 2022-7-6 10:21:45

 
好的,当DXF 74为非零时,DXF 10代码被忽略,我可以从代码中忽略它吗?
 
编辑:
 
此外,旋转DXF代码50的值是否不应以度为单位?我尝试使用(cons 50 270)使属性向下读取,它几乎没有旋转,并且方向错误。
 

lfe011969 发表于 2022-7-6 10:24:09

哼!这是以弧度表示的角度。

Lee Mac 发表于 2022-7-6 10:31:14

我认为DXF 10是Attribs的一个要求。
 
是的,角度总是以弧度为单位(定义角度的正确方法是度,其他尺度是任意的,以使数字“漂亮”)。

danellis 发表于 2022-7-6 10:37:01

什么3.161459因为“回到那边”对你来说不够“好”,哈哈
 
dJE

Lee Mac 发表于 2022-7-6 10:41:55

 
3.14159
 
我的观点是弧度是正确的几何定义,度/梯度是任意比例。
页: [1] 2
查看完整版本: 在另一个上插入现有块