明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2192|回复: 5

[讨论]关于直接更改块名的问题。

[复制链接]
发表于 2003-3-25 14:55:00 | 显示全部楼层 |阅读模式
我有两个内容是一样的块,我需要不同的块名。但我又不想定义两次,有没有好的方法直接更改我选择的块的名称?
在使用entmod这个函数的时候,要求块名事先定义,该如何事先定义呢?
能否用entmakex函数先定义一个块名,再将块名附给选择的块,不过好象行不通。
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2003-3-31 10:48:00 | 显示全部楼层

多谢hzzhao指点!我将程序加上了一点错误预防。

本帖最后由 作者 于 2003-3-31 10:48:02 编辑

(defun c:nb (/ old-cmdecho ents new_name insert_point)
  (setq old-cmdecho (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (ai_undo_push)
  (setq ents (entsel "\nSelect block to change name :"))
  (while (or (not ents) (/= (cdr (assoc 0 (entget (car ents)))) "INSERT"))
    (princ "Nothing selected or object selected is not block.")
    (setq ents (entsel "\nSelect block to change name :"))
    )
  (setq insert_point (cdr (assoc 10 (entget (car ents))))
        new_name (getstring "\nInput new block name :")
        )
  (if (and (not (tblsearch "block" new_name)) new_name)
    (progn
      (command "_.explode" ents)
      (command "_.block" new_name insert_point "p" "")
      (command "_.insert" new_name insert_point "" "" "")
      )
    (princ "\nInvalid block name or block name exist.")
    )
  (ai_undo_pop)
  (setvar "cmdecho" old-cmdecho)
  (princ)
  )
发表于 2003-3-27 08:38:00 | 显示全部楼层

不能

 楼主| 发表于 2003-3-27 11:47:00 | 显示全部楼层

原来不可以这样,那看来不能省力了。

发表于 2003-3-30 16:43:00 | 显示全部楼层

用这个简单的重新定义方法

本帖最后由 作者 于 2003-3-30 16:43:26 编辑

(defun c:nb ()
  (setq block_name (entsel "\nselect change block:"))
  (setq new_bl_name (getstring "\nEnter new block name:"))
  (setq insert_point (cdr (assoc 10 (entget (car block_name)))))
  (command "explode" block_name)
  (command "-block" new_bl_name insert_point "p" "")
  (command "-insert" new_bl_name insert_point "" "" "")
  (princ)
)
发表于 2023-3-15 14:32:34 | 显示全部楼层
能不能块名加前缀?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 10:44 , Processed in 0.179172 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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