明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1382|回复: 10

[讨论] 现有块另存为新块

[复制链接]
发表于 2023-12-15 21:48:47 | 显示全部楼层 |阅读模式
请教怎么个思路? 在不炸开块的情况下实现?
在当前打开的图形中,存在一个名为“家具”的块。编写一个程序,选择该块,复制出一个内容一样,块名不一样的新块。


发表于 2023-12-16 08:14:10 | 显示全部楼层
进入块编辑器,然后将块另存为。命令是 BSAVEAS
发表于 2023-12-16 15:55:51 | 显示全部楼层
发表于 2023-12-17 08:01:28 | 显示全部楼层
;;来源论坛,多年前收集
;;图块克隆
(defun c:tkkl (/ e en j new old ss)
       
  (defun dxf (a b) (cdr (assoc a b)))
  (setvar "cmdecho" 0)
  (command "undo" "group")
  (if
    (and (setq ss (ssget '((0 . "INSERT"))))
                        (setq new (getstring "\n输入新名称:"))
                        (not (tblsearch "block" new))
    )
    (progn (setq old (dxf 2 (entget (ssname ss 0))))
                        (command "-insert" old '(0 0) "1" "1" 0)
                        (command "explode" (entlast))
                        (command "-block" new '(0 0) "P" "")
                        (setq j 0)
                        (repeat (sslength ss)
                                (setq e  (ssname ss j)
                                        en (entget
                                                         e
                                                 )
                                        en (subst (cons 2 new) (assoc 2 en) en)
                                )
                                (entmod en)
                                (setq j (1+ j))
                        )
    )
  )
  (command "undo" "end")
  (princ)
)

 楼主| 发表于 2023-12-18 21:31:43 | 显示全部楼层
liunian0524 发表于 2023-12-17 08:01
;;来源论坛,多年前收集
;;图块克隆
(defun c:tkkl (/ e en j new old ss)

感谢, 能不能不炸开图形呢
发表于 2023-12-19 09:44:22 | 显示全部楼层
把原块WBLOCK出去,改DWG名字再插回来。其他方式将会丢失动态块参数。
 楼主| 发表于 2023-12-19 19:13:11 | 显示全部楼层
mokson 发表于 2023-12-16 08:14
进入块编辑器,然后将块另存为。命令是 BSAVEAS

command 不能用   BSAVEAS      
 楼主| 发表于 2023-12-19 19:20:10 | 显示全部楼层
kozmosovia 发表于 2023-12-19 09:44
把原块WBLOCK出去,改DWG名字再插回来。其他方式将会丢失动态块参数。

感谢   感谢
发表于 2023-12-20 18:12:28 | 显示全部楼层
动态块,可以把块copy到新图,改块名,再copy回来
发表于 2023-12-20 23:56:16 | 显示全部楼层
alexmai 发表于 2023-12-20 18:12
动态块,可以把块copy到新图,改块名,再copy回来

不需要copyobjects到新图,可以用DBX,不过对很多人来说有门槛,不如command wblock/insert来得容易。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 01:32 , Processed in 0.179949 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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