乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 50|回复: 2

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

[复制链接]
chg

26

主题

187

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
291
发表于 2003-3-25 14:55:00 | 显示全部楼层 |阅读模式
我有两个内容是一样的块,我需要不同的块名。但我又不想定义两次,有没有好的方法直接更改我选择的块的名称?
在使用entmod这个函数的时候,要求块名事先定义,该如何事先定义呢?
能否用entmakex函数先定义一个块名,再将块名附给选择的块,不过好象行不通。
回复

使用道具 举报

21

主题

86

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

(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)
)
回复

使用道具 举报

chg

26

主题

187

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
291
发表于 2003-3-31 10:48:00 | 显示全部楼层

(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)
  )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-1 10:33 , Processed in 1.463587 second(s), 59 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表