乐筑天下

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

[编程交流] 有没有办法编辑所有blo

[复制链接]

14

主题

185

帖子

180

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2022-7-6 12:45:32 | 显示全部楼层 |阅读模式
你好
 
一直在浏览过去的线程,看看是否有一个lisp,可以让你选择每个块引用或块,然后把它们的所有组件放在0层和颜色层?
 
抱歉,如果之前有人问过这个问题,但如果有,我找不到该线程。
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 12:54:26 | 显示全部楼层
http://www.manusoft.com/software/Freebies/Lisp/fixblock.lsp
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 13:02:36 | 显示全部楼层
搜索爆炸。lsp-这就是我使用的。或者可以使用SETBYLAYER命令。我不知道是不是在2008年,但它是在2009年及以后。
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-6 13:06:32 | 显示全部楼层
 
我也跟不上了。。。李说它是在2008年推出的。。。
回复

使用道具 举报

14

主题

185

帖子

180

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2022-7-6 13:13:17 | 显示全部楼层
谢谢大家给我的提示,我明天会试用并反馈
回复

使用道具 举报

14

主题

185

帖子

180

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2022-7-6 13:22:26 | 显示全部楼层
我们赢了
 
 
说真的,伙计们,谢谢你们抽出时间来帮我,现在我的草稿要减少10倍,
 
回复

使用道具 举报

14

主题

185

帖子

180

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2022-7-6 13:29:18 | 显示全部楼层
然后再一次,
 
是否已经完成了将属性转移到层的操作?
 
因为我仍然必须返回并手动编辑其属性,并且每个图形有50多个属性,这相当耗时。
回复

使用道具 举报

5

主题

22

帖子

17

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 13:32:50 | 显示全部楼层
试试这个-从cadcorner
 
  1. ;;;   File Name: Layerfix.LSP
  2. ;;;   Description:  Changes the block definitions to BYLAYER .  Will skip all
  3. ;;;                 XREF & XREF dependent blocks.
  4. ;;;
  5. ;;;   Global Variables:  None
  6. ;;;
  7. ;;;   Local Variables:  Self-explanatory
  8. ;;;
  9. ;;;   Program Arguments:  None
  10. ;;;   Subroutines/Functions Defined or Called:  None
  11. ;;;
  12. ;;;***************************************************************************
  13. (defun LAYERFIX (/ BLKDATA NEWCOLOR NEWCOLOR NEWLAYER LAYER XREFFLAG XDEPFLAG BLKENTNAME
  14.                     COUNT ENTDATA ENTNAME ENTTYPE OLDCOLOR OLDLAYER SSCOUNT SS)
  15.   
  16.   (command ".undo" "group")
  17.   (setq BLKDATA (tblnext "BLOCK" t))
  18.   (setq NEWCOLOR (cons 62 256))  ;this will set 62 (color) to bylayer
  19. ;   (setq NEWLAYER (cons 8 "0"))  ;this will set 8 (layer) to 0
  20.   ; While there is an entry in the block table to process, continue
  21.   (while BLKDATA
  22.      (prompt "\nRedefining colors for block: ")
  23.      (princ (cdr (assoc 2 BLKDATA)))
  24.      ; Check to see if block is an XREF or is XREF dependent
  25.      (setq XREFFLAG (assoc 1 BLKDATA))
  26.      (setq XDEPFLAG (cdr (assoc 70 BLKDATA)))
  27.      ; If block is not XREF or XREF dependent, i.e., regular block, then proceed.
  28.      (if (and (not XREFFLAG) (/= (logand XDEPFLAG 32) 32))
  29.         (progn
  30.            (setq BLKENTNAME (cdr (assoc -2 BLKDATA)))
  31.            (setq COUNT 1)
  32.            (terpri)
  33.            ; As long as we haven't reached the end of the block's defintion, get the data
  34.            ; for each entity and change its color assignment to BYLAYER.
  35.            (while BLKENTNAME
  36.               (princ COUNT)
  37.               (princ "\r")
  38.               (setq ENTDATA (entget BLKENTNAME)); get entities data
  39.               (setq OLDCOLOR (assoc 62 ENTDATA))  ;get entities old color value
  40.               (if OLDCOLOR                         ; if value exist (null = bylayer)
  41.                  (entmod (subst newcolor oldcolor ENTDATA)) ; substitute old color to byblock
  42.                  (entmod (cons newcolor ENTDATA))      ; modify ent data w/ byblock values
  43.               )
  44.               (setq BLKENTNAME (entnext BLKENTNAME)) ;if attributes exist, then edit next one
  45.               (setq COUNT (+ COUNT 1));
  46.            ) ;end while for attribute trap
  47.         ) ;progn
  48.         (progn
  49.            (princ "    XREF...skipping!")
  50.         ) ;progn
  51.      );end if not an Xref
  52.      (setq BLKDATA (tblnext "BLOCK")) ;next block please
  53.   ) ;end while loop of blk data available to edit
  54.   (command ".undo" "end")
  55.   (command ".regen")
  56.   (PROMPT "\nDone... ")
  57.   (princ)
  58. )
  59. (LAYERFIX)
适用于除依赖外部参照的块外的所有块。
回复

使用道具 举报

14

主题

185

帖子

180

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2022-7-6 13:40:48 | 显示全部楼层
谢谢cedwards,我明天会看一看,现在刚下班
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2022-7-6 13:48:47 | 显示全部楼层
你好
 
您也可以尝试Edit_bloc
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 04:47 , Processed in 0.475721 second(s), 72 queries .

© 2020-2025 乐筑天下

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