找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 705|回复: 10

[求助] 怎么样把图层a上的所有内容剪切到图层b上?

[复制链接]

已领礼包: 138个

财富等级: 日进斗金

发表于 2017-5-28 15:34:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
剪切之后所有特性都随b 图层。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 604个

财富等级: 财运亨通

发表于 2017-5-28 15:49:35 | 显示全部楼层
层的组码好像是8,只要把8后面的“a"变成 "b"就可以了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-5-28 16:06:55 | 显示全部楼层
你这个问题不应该说是 “剪切”

图层是实体的一个属性,实体的图层属性改到其他层,实体就到你说的其他层了。

两种方法修改,一种是VLISP,一种是AUTOLISP

  1. (defun c:tt ()
  2.   (if (and (/= "" (setq lyr (getstring "\n新图层名<退出>:")))
  3.            (progn (princ "\n选取要改图层的实体<退出>:")
  4.                   (setq ss (ssget))
  5.            )
  6.       )
  7.     (progn ;; Create new layer
  8.            (setq
  9.              layerObj (vla-Add
  10.                         (vla-get-Layers
  11.                           (vla-get-activedocument (vlax-get-acad-object))
  12.                         )
  13.                         lyr
  14.                       )
  15.            )
  16.            (setq i -1)
  17.            (while (setq e (ssname ss (setq i (1+ i))))
  18.              (vla-put-layer (vlax-ename->vla-object e) lyr)
  19.            )
  20.            (princ
  21.              (strcat "\n" (itoa (sslength ss)) "个实体的图层修改到:" lyr)
  22.            )
  23.     )
  24.   )
  25.   (princ)
  26. )


  1. (defun c:tt ()
  2.   (if (and (/= "" (setq lyr (getstring "\n新图层名<退出>:")))
  3.            (progn (princ "\n选取要改图层的实体<退出>:")
  4.                   (setq ss (ssget))
  5.            )
  6.       )
  7.     (progn (setq i -1)
  8.            (while (setq e (ssname ss (setq i (1+ i))))
  9.              (setq ed (entget e)
  10.                    ed (subst (cons 8 lyr)(assoc 8 ed) ed))
  11.              (entmod ed)
  12.            )
  13.            (princ
  14.              (strcat "\n" (itoa (sslength ss)) "个实体的图层修改到:" lyr)
  15.            )
  16.     )
  17.   )
  18.   (princ)
  19. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-5-28 17:05:01 | 显示全部楼层
再来一种改图层方法

  1. (defun c:tt ()
  2.     (if (and (/= "" (setq lyr (getstring "\n新图层名<退出>:")))
  3.              (xdrx_initssget "\n选取要改图层的实体<退出>:")
  4.              (setq ss (xdrx_ssget))
  5.         )
  6.         (progn
  7.             (setq len (sslength ss))
  8.             (xdrx_entity_setproperty ss "layer" lyr)
  9.             (xdrx_prompt "\n" len "个实体的图层修改到:" lyr)
  10.         )
  11.     )
  12.     (princ)
  13. )



上代码通用,
1、想改颜色 就改 (xdrx_entity_setproperty ss "color" 1)
2、想改线型就 (xdrx_entity_setproperty ss "linetype" ln)
3、想改线型比例就 (xdrx_entity_setproperty ss "linetypescale" scl)
4、上面都改 就: (xdrx_entity_setproperty ss "layer" lyr "color" clr "linetype" ln "linetypescale" scl)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 138个

财富等级: 日进斗金

 楼主| 发表于 2017-5-28 17:06:52 | 显示全部楼层

我是想把图层a上的所有对象全部改到图层b,改怎么实现呢?
比如说我用3D软件转出来的dwg图纸,它的点画线都在a层,我CAD配置好的点画线在b层,我就想把a层的所有图形都转到b成或者说匹配到b层。
谢谢,谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-5-28 17:34:42 | 显示全部楼层
本帖最后由 newer 于 2017-5-28 17:37 编辑

上面的代码就是把你选择的图层改到你需要的,自己输入层名,然后选实体操作


你输入层名 B, 然后选择A层上的所有实体就行了。


AUTOCAD画图快慢,在于你选择要操作的对象快慢,怎么快速选择要操作的对象,多学学QSELECT命令,透明的'filter 命令

你想选择A层的所有实体,LISP代码是 (ssget "x" '((8 . "a")))

不是把实体吧搬到哪个层,而是实体自身有个标记,标记的内容是哪个层,它就在哪个层。 你要“搬”,就改这个实体对象的层属性。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 138个

财富等级: 日进斗金

 楼主| 发表于 2017-5-28 17:41:51 | 显示全部楼层

多谢!!!!!!!!!!!!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-5-28 18:11:57 | 显示全部楼层
这种应用其实不必写程序的,下面做几个演示,看看怎么快速选择操作对象。


1、用上面的程序,把B图层所有实体改到 A上



图层改变4.gif



2、不用程序,使用ACAD命令 CHPROP,用透明'filter快速选择对象





图层改变1.gif



3、不用程序,也不用命令,直接用特性对话框修改



图层改变2.gif



4、使用命令CHPROP,选择对象用LISP代码快速选





图层改变3.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 275个

财富等级: 日进斗金

发表于 2017-6-2 09:43:15 | 显示全部楼层
标记一下,以备不时之需
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2017-6-2 11:54:57 | 显示全部楼层

                               
登录/注册后可看大图


特性面板 有快速选择按钮

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 25个

财富等级: 恭喜发财

发表于 2018-8-12 20:14:32 | 显示全部楼层
学习了谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-3-29 15:40 , Processed in 0.441728 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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