乐筑天下

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

[编程交流] 更改blo的对象层

[复制链接]

14

主题

47

帖子

33

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 09:57:18 | 显示全部楼层 |阅读模式
所有人,
 
我有一个有许多块的图形,问题是块内包含的对象层与插入块的层不同。是否有任何lisp可以将对象层更改为块插入层。
 
附件为参考图纸。
提前谢谢。
块图层。图纸
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:53:10 | 显示全部楼层
 
听起来您更希望将块内的所有对象更改为层“0”,以便它们可以继承块放置的任何层。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:00:02 | 显示全部楼层
考虑一下这个函数:
 
  1. [color=#990099];;---------------=={ Apply to Block Objects }==---------------;;[/color]
  2. [color=#990099];;                                                            ;;[/color]
  3. [color=#990099];;  Applies a supplied function to all objects in a block     ;;[/color]
  4. [color=#990099];;  definition.                                               ;;[/color]
  5. [color=#990099];;------------------------------------------------------------;;[/color]
  6. [color=#990099];;  Author: Lee Mac, Copyright © 2011 - www.lee-mac.com       ;;[/color]
  7. [color=#990099];;------------------------------------------------------------;;[/color]
  8. [color=#990099];;  Arguments:                                                ;;[/color]
  9. [color=#990099];;  _blockname - name of block to apply function              ;;[/color]
  10. [color=#990099];;  _function  - function to apply to all objects in block    ;;[/color]
  11. [color=#990099];;------------------------------------------------------------;;[/color]
  12. [color=#990099];;  Returns:  T if block is found, else nil                   ;;[/color]
  13. [color=#990099];;------------------------------------------------------------;;[/color]
  14. [color=RED]([/color][color=BLUE]defun[/color] [color=black]LM:ApplytoBlockObjects[/color] [color=RED]([/color] _blockname _function [color=RED])[/color]
  15. [color=RED]([/color][color=BLUE]vl-load-com[/color][color=RED])[/color]
  16. [color=#990099];; © Lee Mac 2010[/color]
  17. [color=RED]([/color]
  18.    [color=RED]([/color][color=BLUE]lambda[/color] [color=RED]([/color] _function [color=BLUE]/[/color] def [color=RED])[/color]  
  19.      [color=RED]([/color][color=BLUE]if[/color]
  20.        [color=RED]([/color][color=BLUE]not[/color]
  21.          [color=RED]([/color][color=BLUE]vl-catch-all-error-p[/color]
  22.            [color=RED]([/color][color=BLUE]setq[/color] def
  23.              [color=RED]([/color][color=BLUE]vl-catch-all-apply[/color] [color=DARKRED]'[/color][color=BLUE]vla-item[/color]
  24.                [color=RED]([/color][color=BLUE]list[/color]
  25.                  [color=RED]([/color][color=BLUE]vla-get-blocks[/color]
  26.                    [color=RED]([/color][color=BLUE]vla-get-ActiveDocument[/color] [color=RED]([/color][color=BLUE]vlax-get-acad-object[/color][color=RED]))[/color]
  27.                  [color=RED])[/color]
  28.                  _blockname
  29.                [color=RED])[/color]
  30.              [color=RED])[/color]
  31.            [color=RED])[/color]
  32.          [color=RED])[/color]
  33.        [color=RED])[/color]
  34.        [color=RED]([/color][color=BLUE]vlax-for[/color] obj def [color=RED]([/color]_function obj[color=RED]))[/color]
  35.      [color=RED])[/color]
  36.    [color=RED])[/color]
  37.    [color=RED]([/color][color=BLUE]eval[/color] _function[color=RED])[/color]
  38. [color=RED])[/color]
  39. [color=RED])[/color]
  40. [color=#990099];; Test Function to Move all Objects in a Block to Layer "0"[/color]
  41. [color=RED]([/color][color=BLUE]defun[/color] [color=black]c:test[/color] [color=RED]([/color] [color=BLUE]/[/color] ss l [color=RED])[/color]
  42. [color=RED]([/color][color=BLUE]if[/color] [color=RED]([/color][color=BLUE]setq[/color] ss [color=RED]([/color][color=BLUE]ssget[/color] [color=#a52a2a]"_+.:E:S"[/color] [color=DARKRED]'[/color][color=RED](([/color][color=#009900]0[/color] [color=DARKRED].[/color] [color=#a52a2a]"INSERT"[/color][color=RED]))))[/color]
  43.    [color=RED]([/color][color=BLUE]progn[/color]   
  44.      [color=RED]([/color][color=black]LM:ApplytoBlockObjects[/color] [color=RED]([/color][color=BLUE]cdr[/color] [color=RED]([/color][color=BLUE]assoc[/color] [color=#009900]2[/color] [color=RED]([/color][color=BLUE]setq[/color] l [color=RED]([/color][color=BLUE]entget[/color] [color=RED]([/color][color=BLUE]ssname[/color] ss [color=#009900]0[/color][color=RED])))))[/color]
  45.        [color=RED]([/color][color=BLUE]function[/color]
  46.          [color=RED]([/color][color=BLUE]lambda[/color] [color=RED]([/color] obj [color=RED])[/color] [color=RED]([/color][color=BLUE]vla-put-Layer[/color] obj [color=#a52a2a]"0"[/color][color=RED]))[/color]
  47.        [color=RED])[/color]
  48.      [color=RED])[/color]
  49.      [color=RED]([/color][color=BLUE]if[/color] [color=RED]([/color][color=BLUE]=[/color] [color=#009900]1[/color] [color=RED]([/color][color=BLUE]cdr[/color] [color=RED]([/color][color=BLUE]assoc[/color] [color=#009900]66[/color] l[color=RED])))[/color]
  50.        [color=RED]([/color][color=BLUE]vl-cmdf[/color] [color=#a52a2a]"_.attsync"[/color] [color=#a52a2a]"_N"[/color] [color=RED]([/color][color=BLUE]cdr[/color] [color=RED]([/color][color=BLUE]assoc[/color] [color=#009900]2[/color] l[color=RED])))[/color]
  51.      [color=RED])[/color]
  52.    [color=RED])[/color]
  53. [color=RED])[/color]
  54. [color=RED]([/color][color=BLUE]princ[/color][color=RED])[/color]
  55. [color=RED])[/color]
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:25 , Processed in 0.762662 second(s), 58 queries .

© 2020-2025 乐筑天下

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