明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: freedom_ice

[讨论] 属性块批量修改属性

  [复制链接]
 楼主| 发表于 2023-11-22 14:43:07 | 显示全部楼层
哈尔 发表于 2023-11-22 14:20
楼主还有个问题问下,不同块名的属性块,放一起的时候怎么一起编号,比如我这里使用时,我希望不同的块一起编号 ...

可以试试分批次修改,每一次指定编号起点。
发表于 2023-11-22 14:51:45 | 显示全部楼层
本帖最后由 哈尔 于 2023-11-22 16:05 编辑
freedom_ice 发表于 2023-11-22 14:43
可以试试分批次修改,每一次指定编号起点。

楼主你好,很感谢即时回复!我这边使用了一下,指定编号起点效果不太好.我在想是不是获取块的时候,当遇到不同块名时,他的计数器就重置了.如果重置的话我改怎么去取消重置,而且获取块名是在哪一步,现在还没理解,还请您解答,谢谢了.
后续,我注意到在使用插件时,插件界面会显示块名,使用后对应块名会发生更改,而其他块不会发生更改,那么可以怎么修改lsp,使插件对具有不同块名的块生效呢.
发表于 2023-11-22 16:11:35 | 显示全部楼层
谢谢大佬再次更新
 楼主| 发表于 2023-11-22 17:34:04 | 显示全部楼层
哈尔 发表于 2023-11-22 14:51
楼主你好,很感谢即时回复!我这边使用了一下,指定编号起点效果不太好.我在想是不是获取块的时候,当遇到不 ...

这里只能识别相同的块,准确的说是EffectiveName相同的块
获取块名如下:
( setq blockname ( vlax-get-property ( vlax-ename->vla-object ename ) 'EffectiveName ) )
不同块名的只能分开处理
使用后对应块名会发生更改,有可能是别名块或者匿名块,这个就不太清楚了
发表于 2023-11-22 22:04:32 | 显示全部楼层
freedom_ice 发表于 2023-11-22 17:34
这里只能识别相同的块,准确的说是EffectiveName相同的块
获取块名如下:
( setq blockname ( vlax-get ...

好的好的,谢谢解答,我再想想其他办法.
发表于 2023-12-12 17:41:03 | 显示全部楼层
递增修改属性 学习了  马克下
发表于 2024-1-10 09:57:04 | 显示全部楼层
本帖最后由 ydft 于 2024-1-10 15:58 编辑

大佬的东西好使,就是这个只能针对同名图框进行处理,  增加点小改动适应不同图框
实际使用时经常有很对不同图框:(但图框块名前缀要相同,且长点,以能准确匹配)   
假设 :
A3图纸命名-----SJY-TK-A3
A3+1图纸命名----SJY-TK-A31
A2图纸命名-----SJY-TK-A2
A2+1图纸命名----SJY-TK-A21
以上图框需要属性一样,只是块名末尾不同,且要求较长的前缀。
在抽取属性时选择块假设是:   SJY-TK-A3
设置完后假设框选了SJY-TK-A3,SJY-TK-A31,SJY-TK-A2,SJY-TK-A21

在此判断抽取块名,与框选块名的至少前 8个字符相同,则认为是相同或相似图框,且需要连续编号,
RangeBlocksMod  函数中 把选择同名块 改为判断前n个字符相同的块都加入选择集。
搜到这行,替换为比较,就可以啦

  • ;    ( if ( = blockname ( vlax-get-property ( vlax-ename->vla-object ( ssname sselection i ) ) 'EffectiveName ) )
  •     ( if ( >= (vl-string-mismatch blockname ( vlax-get-property ( vlax-ename->vla-object ( ssname sselection i ) ) 'EffectiveName )) 8 )
我这试了下,可以实现不同图框的连续编号。




发表于 2024-1-10 15:50:26 | 显示全部楼层
金鹅起飞 发表于 2023-11-7 16:16
感谢freedom_ice大师的热心回复,劳驾您有空优化升级下这个插件,万分感谢!我今天下午比较闲 ...

图框名称不一样,但是命名格式要有共同点的,如:XXSJY-TK-A3; XXSJY-TK-A2+1; XXSJY-TK-A1+2;
这种的,里面改几行就能实现,可以试一试
选择后判断图框名的前n个字符相同就认为是同类图框,
发表于 2024-1-11 14:26:16 | 显示全部楼层
ydft 发表于 2024-1-10 15:50
图框名称不一样,但是命名格式要有共同点的,如:XXSJY-TK-A3; XXSJY-TK-A2+1; XXSJY-TK-A1+2;
这种的, ...

谢谢ydft大师的指点,经过了版主(freedom_ice大师)的鼎力相助,可以实现不同图框按先左右后上下这样的顺序编号,不分图框大小。再次感谢
发表于 2024-1-13 16:29:16 | 显示全部楼层
属性编号递增


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-22 15:11 , Processed in 0.177559 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表