明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 957|回复: 4

[提问] 大神们,帮忙解决一下这个复制到层问题

[复制链接]
发表于 2023-11-2 09:10:15 | 显示全部楼层 |阅读模式
  1. (defun M_FZ(layer2)
  2.   (setvar "cmdecho" 0)
  3.   (setq enn (ssget))
  4.   (setq n 0)
  5.   (repeat (setq nnn (sslength enn))
  6.     (setq ent (ssname enn n))
  7.   (command "copy" ent "" "0,0" "0,0")
  8.   (setq ent (entlast))
  9.   (setq ent_data(entget ent))
  10.   (setq ent_data (subst (cons 8 layer2) (assoc 8 ent_data) ent_data ))
  11.   (entmod ent_data)
  12.     (setq n (1+ n))
  13.     )
  14.   )
  15. (defun c:9V()  (M_FZ "9") (M_FZ "99") (M_FZ "999") (M_FZ "9999")) (princ))


大神们,帮忙解决一下这个复制到层问题

这样需要选多好多次才能复制完成,能不能帮该成只选一次就能完成?
发表于 2023-11-2 09:27:10 | 显示全部楼层
(defun M_FZ( enn layer2)
  (setvar "cmdecho" 0)
  (setq n 0)
  (repeat (setq nnn (sslength enn))
    (setq ent (ssname enn n))
  (command "copy" ent "" "0,0" "0,0")
  (setq ent (entlast))
  (setq ent_data(entget ent))
  (setq ent_data (subst (cons 8 layer2) (assoc 8 ent_data) ent_data ))
  (entmod ent_data)
    (setq n (1+ n))))
(defun c:9V(/ enn)
  (setq enn (ssget))
        (M_FZ enn "9") (M_FZ enn "99") (M_FZ enn "999") (M_FZ enn "9999") (princ))

评分

参与人数 1明经币 +1 收起 理由
e719 + 1 很给力!

查看全部评分

 楼主| 发表于 2023-11-2 09:40:50 | 显示全部楼层
htlaser 发表于 2023-11-2 09:27
(defun M_FZ( enn layer2)
  (setvar "cmdecho" 0)
  (setq n 0)

十分感谢,这就是我想要的
发表于 2023-11-2 10:22:30 | 显示全部楼层
  1. (defun M_FZ( enn layer2)
  2.   (setq n 0)
  3.   (repeat (setq nnn (sslength enn))
  4.     (setq ent (ssname enn n))
  5.   (command "copy" ent "" "0,0" "0,0")
  6.   (setq ent (entlast))
  7.   (setq ent_data(entget ent))
  8.   (setq ent_data (subst (cons 8 layer2) (assoc 8 ent_data) ent_data ))
  9.   (entmod ent_data)
  10.     (setq n (1+ n))))
  11. (defun c:9V (/ cmd enn osm)
  12.         (setq osm (getvar "osmode"))
  13.         (setq cmd (getvar "cmdecho"))
  14.         (setvar "osmode" 0)
  15.         (setvar "cmdecho" 0)
  16.   (setq enn (ssget))
  17.         (M_FZ enn "9") (M_FZ enn "99") (M_FZ enn "999") (M_FZ enn "9999")
  18.         (setvar "osmode" osm)
  19.         (setvar "cmdecho" cmd)      
  20.         (princ))

发表于 2023-11-2 21:01:38 | 显示全部楼层
  1. (defun c:tt ()
  2.   (defun M_FZ (ss la / s0 ss1)
  3.     (setq s0 (entlast))
  4.     (setvar 'clayer la)
  5.     (command "copy" ss "" "0,0" "0,0")
  6.     (setq ss1 (ssadd))
  7.     (while (setq s0 (entnext s0))
  8.       (ssadd s0 ss1)
  9.     )
  10.     (command "chprop" ss1 "" "la" la "")
  11.   )
  12.   (if (setq ss (ssget))
  13.     (mapcar '(lambda (x) (M_FZ ss x)) '("9" "99" "999" "9999"))
  14.   )
  15.   (princ)
  16. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 08:26 , Processed in 0.146142 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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