明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1719|回复: 10

[源码] 图块归入0层

[复制链接]
发表于 2022-10-27 19:39:58 | 显示全部楼层 |阅读模式
图块归入0层.lsp

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-10-27 23:59:13 | 显示全部楼层
本帖最后由 kucha007 于 2022-10-28 00:02 编辑

正好最近在学习Visual Lisp,练习一下~
  1. (defun C:B2L (/ Doc LayLst Old_Cmd Lst1)
  2.   (vl-load-com)
  3.   (setq Old_Cmd (getvar "cmdecho"))(setvar "cmdecho" 0)   
  4.   (setq Doc    (vla-get-ActiveDocument (vlax-get-acad-object))
  5.         LayLst (vla-get-layers Doc)
  6.   )
  7.   (vla-startundomark Doc) ;记录编组
  8.     (vlax-for e LayLst
  9.       (if (= (vla-get-lock e) :vlax-true)
  10.         (progn
  11.           (setq LokLst (cons (vla-get-name e) LokLst))
  12.           (vla-put-lock e :vlax-false)
  13.         )
  14.       )
  15.     );临时解锁图层
  16.     (setq Lst1 nil)
  17.     (vlax-for blk (vla-get-blocks Doc)
  18.       (vlax-for obj blk
  19.         (if (= (vla-get-objectname obj) "AcDbBlockReference")
  20.           (setq Lst1 (cons obj Lst1))
  21.         )
  22.       )
  23.       (if Lst1 (foreach obj Lst1 (vla-put-layer obj "0")))
  24.     )
  25.     (if LokLst ;恢复图层状态
  26.       (foreach e LokLst
  27.         (vla-put-lock (vla-item LayLst e) :vlax-true)
  28.         (setq LokLst nil)
  29.       )
  30.     )
  31.     ;(vla-regen Doc :vlax-true)
  32.   (vla-endundomark Doc) ;结束编组
  33.   (princ "\n——★★★ 图块已移动到0图层 ★★★——")
  34.   (command "redraw")(setvar "cmdecho" Old_Cmd)(princ)
  35. )

评分

参与人数 1明经币 +1 收起 理由
USER2128 + 1 赞一个!

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2022-10-29 13:11:07 | 显示全部楼层
!!!!不容易  不容易!!!!!!!
4年多了  楼主首次发了点广告以外的东西了
回复 支持 1 反对 0

使用道具 举报

发表于 2022-10-28 08:22:24 来自手机 | 显示全部楼层
挻牛,感谢分享
发表于 2022-10-28 10:45:58 | 显示全部楼层

挻牛,感谢分享
发表于 2022-10-29 13:09:23 | 显示全部楼层
kucha007 发表于 2022-10-27 23:59
正好最近在学习Visual Lisp,练习一下~

大佬高产了
发表于 2024-7-2 13:15:13 | 显示全部楼层
感谢作者的分享!
发表于 2024-7-2 13:51:00 | 显示全部楼层
kucha007 发表于 2022-10-27 23:59
正好最近在学习Visual Lisp,练习一下~

块内也改至0层,就更好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 14:24 , Processed in 0.211194 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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