Guest AARi 发表于 2022-7-6 06:55:30

将属性值更改为bl

嗯,我是AutoLisp编程的新手,但我想问你一个关于用命令行将“属性值”重命名为块的问题。我遇到了这个问题,一个或多或少有4000个点(NEZ)的地形平面图,没有对其属性的描述,因为这些描述在外部文本中,所以我想将所有描述值放入属性块中,以在Civil3D中解决更多问题,所有块都位于同一层:“PUNTOS G1”和最后一个问题,所有块都具有相同的名称:“PUNTO”。好的,在任何情况下,我都必须单击每个块来配置其新的属性值,在属性标记“Codigo”中。请参见图片。http://s2.subirimagenes.com/otros/previo/thump_8304129eattedit.jpg%201-无法使用“-eattedit”,因为提示对话框2-无法使用“-attedit”,原因相同3-无法在命令行命令中使用“-atredit”:-attedit每次编辑一个属性?[是/否]:n执行属性值的全局编辑。仅编辑屏幕上可见的属性?[是/否]:n之后必须重新生成图形。输入块名称规范:;所有块都具有相同的名称输入属性标记规范:Codigo输入属性值规范:选择4090个属性。输入要更改的字符串:输入新字符串:PDZ如果我使用此命令,我将重命名图形中所有块的所有属性值[并且我必须为不同类型的点设置10个值]a)命令:(car(entsel))Designe objeto:;给我实体名称,但“-attedit”需要块名称(wicth对于dwg中的所有块点都是相同的)b)我找到了这个脚本:
提供该信息
Select a Block:((-1 . ) (0 . ATTRIB) (330 . ) (5 . A89A) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . Nº PUNTO) (100 . AcDbText) (10 458491.0 4.47677e+006 575.23) (40 . 0.75) (1 . 3691) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . Standard) (71 . 0) (72 . 0) (11 0.0 0.0 575.23) (210 0.0 0.0 1.0) (100 . AcDbAttribute) (280 . 0) (2 . NPUNTO) (70 . 0) (73 . 0) (74 . 0) (280 . 0))((-1 . ) (0 . ATTRIB) (330 . ) (5 . A89B) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . COTA Z) (100 . AcDbText) (10 458493.0 4.47677e+006 575.23) (40 . 0.75) (1 . 575.23) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . Standard) (71 . 0) (72 . 0) (11 0.0 0.0 575.23) (210 0.0 0.0 1.0) (100 . AcDbAttribute) (280 . 0) (2 . COTA) (70 . 0) (73 . 0) (74 . 0) (280 . 0))((-1 . ) (0 . ATTRIB) (330 . ) (5 . A89C) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . CODIGOS 2) (100 . AcDbText) (10 458493.0 4.47677e+006 575.23) (40 . 0.75) (1 .) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . Standard) (71 . 0) (72 . 0) (11 0.0 0.0 575.23) (210 0.0 0.0 1.0) (100 . AcDbAttribute) (280 . 0) (2 . CODIGO) (70 . 0) (73 . 0) (74 . 0) (280 . 0))((-1 . ) (0 . ATTRIB) (330 . ) (5 . A89D) (100 . AcDbEntity) (67 . 0) (410 . Model) (8 . 0) (100 . AcDbText) (10 458493.0 4.47676e+006 575.23) (40 . 0.75) (1 . 1) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . Standard) (71 . 0) (72 . 0) (11 0.0 0.0 575.23) (210 0.0 0.0 1.0) (100 . AcDbAttribute) (280 . 0) (2 . NIVEL) (70 . 1) (73 . 0) (74 . 0) (280 . 0))((-1 . ) (0 . "SEQEND") (330 . ) (5 . "A89E") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "PUNTOS G1") (-2 . ))其中代码(1(2 . ????) 给我提供关于属性标记和属性值的信息,但在任何情况下,我都不知道如何将(2.CODIGO)转换为真实值(1其实空白所以,会有最好的决定,。。无论如何,我必须一对一地点击每个点。1.将每个点[具有要更改的相同属性值]逐个选择到不同的层中,以复制到另一个图形中,然后对所有点应用“-atredit”2。尝试在AutoLips中编写一个简单的脚本,在每个点上更改这些属性值。非常感谢所有AARi的问候

BIGAL 发表于 2022-7-6 07:17:02

看看用VL写的这个,当学习它在2个块中改变几个属性值时,我发现比nextent和assoc更容易理解。
 
2

Guest AARi 发表于 2022-7-6 07:51:43

非常感谢BIGAL
 
我将开始学习代码。。。[对我来说不容易,请点击.arx]
 
AARi公司

BIGAL 发表于 2022-7-6 07:55:41

查找“getattributes tagstring textstring”之类的词
get是检索put是更改
页: [1]
查看完整版本: 将属性值更改为bl