明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2420|回复: 6

[求助]怎样将块中特定图元改为另一图层

[复制链接]
发表于 2010-8-23 22:16:00 | 显示全部楼层 |阅读模式

也就是希望能自动将图块中图名含有hatch的,例如:wall-hatch,全部改为hatch层。

 楼主| 发表于 2010-8-24 09:03:00 | 显示全部楼层
或者选择图块,可以将不同图层的文本改为TEXT图层
发表于 2010-8-24 14:50:00 | 显示全部楼层
下面的是一个简单示例,选择你要改动的图块中的文字或hatch,即可自动转换到需要的图层
  1. (defun c:tt()
  2.   (princ "\n选择图块中的子图元:")
  3.   (setq ent (car (nentsel)))
  4.   (if ent
  5.     (progn
  6.   (setq ent (vlax-ename->vla-object ent))
  7.   (cond ((= "AcDbText" (vla-get-ObjectName ent))
  8.   (command "layer" "m" "Text" "")
  9.   (vla-put-layer ent "Text")
  10.   )
  11. ((= "AcDbHatch" (vla-get-ObjectName ent))
  12.   (command "layer" "m" "hatch" "")
  13.   (vla-put-layer ent "hatch")
  14.   )
  15. )
  16.   )
  17.     )
  18.   (command "regen")
  19.   (princ)
  20.   )
发表于 2010-8-24 15:12:00 | 显示全部楼层
  1. ;;;选中图块,自动将土块中全部文字和填充该层
  2. (defun c:ttt()
  3.   (setq ent (car (entsel)))
  4.   (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))
  5. ent (vlax-ename->vla-object ent)
  6.   )
  7.   (if (or
  8. (= "AcDbBlockReference" (vla-get-ObjectName ent))
  9. (= "AcDbMInsertBlock" (vla-get-ObjectName ent))
  10. )
  11.     (progn
  12.   (setq blkname (vla-get-name ent))
  13.   (setq blkobj (vla-item (vla-get-Blocks doc) blkname))
  14.   (vlax-for obj blkobj
  15.     (cond ((= "AcDbText" (vla-get-ObjectName obj))
  16.     (command "layer" "m" "Text" "")
  17.     (vla-put-layer obj "Text")
  18.    )
  19.    ((= "AcDbHatch" (vla-get-ObjectName obj))
  20.     (command "layer" "m" "hatch" "")
  21.     (vla-put-layer obj "hatch")
  22.    )
  23.     ) ;_ cond
  24.   ) ;_ foreach
  25.   )
  26.     )
  27.   (command "regen")
  28.   (princ)
  29.   )
 楼主| 发表于 2010-8-24 17:02:00 | 显示全部楼层
超级爽,非常好,太精彩了,非常好用,哈哈哈
发表于 2011-2-14 11:15:25 | 显示全部楼层
( setq ent ( vlax-ename- > vla-object ent ) )

vlax-ename- > vla-object ent

这个是什么函数,不能使用耶
发表于 2011-2-27 21:22:36 | 显示全部楼层
在函中增加 “(vl-load-com)“,即
(defun c:tt()
   (vl-load-com)
   ......
)
      
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 16:16 , Processed in 0.548531 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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