Johnc 发表于 2022-7-5 19:46:46

插入的属性

大家好,
 
我复制并修改了一些代码,将属性添加到块中。这很好,但属性文本是“左上角”对齐的。有没有办法把它改成“中间中心”?。
这是默认值吗?
我一直在研究Vla put Justify或ATDEF命令,但没有成功。
收到任何帮助
谢谢
约翰
 
 
代码:
 
 
(默认c:ADDAT(/blk)
(虽然
(不是
(或(=“”(setq blk(getstring t“\n要更新的块的名称:”))
(tblsearch“BLOCK”blk)
)
)
(princ(strcat“nBlock”“blk”“not found.”)
)
 
(如果(/=“”blk)
(程序
(vla添加属性
(vla项(vla get blocks(vla get activedocument(vlax get acad对象)))blk)
(getvar的文本大小)
acAttributeModeMultipleLine
“新属性”
(vlax-3D-point 0)
“新建标签”
“新价值”
)
(命令“_.attsync”“\u N”blk)
)
)
(普林斯)
)
(vl load com)(原理)

Tharwat 发表于 2022-7-5 20:09:26

你好
 
首先,修改你的帖子,并在代码周围添加代码标签,以便于用户阅读,并避免在任何字符串组合匹配任何笑脸符号时出现笑脸。
 
其次,只需将新添加的属性对象分配给变量,并根据需要更改属性对象的对齐方式。
 
如。
 
(setq att (vla-addattribute (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) blk)
                           (getvar 'textsize) acAttributeModeMultipleLine"New Attribute" (vlax-3D-point 0 0)
                     "NEW_TAG"   "New Value" ))
         (vla-put-Alignment att acAlignmentMiddleCenter)

Johnc 发表于 2022-7-5 20:31:26

很抱歉,我一定会复制并粘贴您所描述的代码
非常感谢你的帮助
最美好的祝福
约翰

Tharwat 发表于 2022-7-5 20:50:56

不客气,约翰。
页: [1]
查看完整版本: 插入的属性