本帖最后由 林霄云 于 2021-11-25 17:56 编辑
行情下行,修改增加,批量修改块名,避免块重名出错。
代码中,在批量修改中,排除了首字母为*$_的块 (wcmatch (cdr (assoc 2 bn)) "[~*$_]*")以及外部参照(< (cdr (assoc 70 bn)) 4)) ,批量修改块名为附加一个时间后缀(setq t1 (rtos (getvar "cdate") 2 6) i 0),不提供交互。批量修改时,交互的意义不大。
网友答:
网友答:
多个物体的判断规则不明确。可以框选成块。网友答: 大神终于又出现了 有没有框选多个物体 每个物体各自成块的插件 网友答: 很高效的批改块名网友答: 挺好的,下载试试网友答: 大神可否写一个浩辰的版本网友答: 很高效的批改块名网友答: 感谢大佬分享,谢谢网友答: 要是能自己替换块名前后缀就好了
行情下行,修改增加,批量修改块名,避免块重名出错。

- (defun c:brns( / bnlist bn t1 t2 x i)
- ;desiged by 林霄云 2021年11月23日
- ;批量改块名
- (setq bnlist '()) ;待修改块名列表
- (setq bn (tblnext "block" T)) ;If this argument is present and is not nil, the symbol table is rewound and the first entry in it is retrieved.
- (while (setq bn (tblnext "block"))
- (if (and (wcmatch (cdr (assoc 2 bn)) "[~*$_]*") (< (cdr (assoc 70 bn)) 4)) ;70组码,确定内部块还是外部参照
- ;取首字母不等于*$_,调整出特殊字符如[*$_]
- (setq bnlist (cons (cdr (assoc 2 bn)) bnlist));列表肯定是不重名的
- );if
- );while
- ;(setq bnlist (reverse bnlist)) ;确保内部块在前面,当排除外部参照时,次序不需要
- (setq t1 (rtos (getvar "cdate") 2 6) i 0) ;"20211123.114254"
- (foreach x bnlist
- (setq t2 (strcat x "_" t1))
- (command "rename" "b" x t2)
- (setq i (1+ i))
- (princ (strcat (itoa i) " :" x "\n"))
- ;(if (= 0 (rem i 5)) (princ "\n"))
- );foreach
- (princ (strcat "总共重命名" (itoa i) "个块!" "\n"))
- (princ)
- )
代码中,在批量修改中,排除了首字母为*$_的块 (wcmatch (cdr (assoc 2 bn)) "[~*$_]*")以及外部参照(< (cdr (assoc 70 bn)) 4)) ,批量修改块名为附加一个时间后缀(setq t1 (rtos (getvar "cdate") 2 6) i 0),不提供交互。批量修改时,交互的意义不大。
网友答:
林霄云 发表于 2021-12-3 17:55
多个物体的判断规则不明确。可以框选成块。

- (defun c:ssb( / ptu tempname ss )
- ;选择集成块
- ;Designed by 林霄云; 2020年4月20日
- (princ "\n选择要成块的对象: ")
- (setq ss (ssget))
- (if (null (setq ptu (getpoint "\n输入基点")))
- (setq ptu '(0 0))
- )
- (if ss
- (progn
- (setq tempname (strcat "hnutempblock_" (rtos (getvar 'cdate) 2 6))) ;块名加时间
- (command "block" tempname ptu ss "" );生成块
- (command "insert" tempname ptu 1 1 0);插入块
- )
- );if
- (princ)
- )
依然小小鸟 发表于 2021-11-26 18:45
大神终于又出现了 有没有框选多个物体 每个物体各自成块的插件
多个物体的判断规则不明确。可以框选成块。网友答: 大神终于又出现了 有没有框选多个物体 每个物体各自成块的插件 网友答: 很高效的批改块名网友答: 挺好的,下载试试网友答: 大神可否写一个浩辰的版本网友答: 很高效的批改块名网友答: 感谢大佬分享,谢谢网友答: 要是能自己替换块名前后缀就好了