明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: spring

求助!!!

  [复制链接]
 楼主| 发表于 2004-4-7 13:33:00 | 显示全部楼层
哎,伤脑筋


我改成这样子就跟原来的一样了


只复制了一个到 PH_W 层上


我都快发疯了
发表于 2004-4-7 14:00:00 | 显示全部楼层
用vla试试
发表于 2004-4-7 14:24:00 | 显示全部楼层
這樣行吧 (defun c:tttd ()
;;;_______________________________________________________
(setq plate '("PH_W" "PPS_W")) ;?? list
(setq plate_wc '("0" "1")) ;?展?据 list
(setq ss (ssget)) ;???元
(if ss ;如果 ss 不? nil ??行
(progn
(setq n 0)
(while (> (sslength ss) n) ;循??中的?元
(setq en (ssname ss n)) ;取得?元名?
(setq ed (entget en)) ;取得?元定??据的??表
(setq n@ 0)
(while (> (length plate) n@) ;循?表 plate
(setq lay (nth n@ plate)) ;取得其中一?
(setq lay_wc (nth n@ plate_wc))
(setq ed (subst (cons 8 lay) (assoc 8 ed) ed))
;更??元的??
(if (= (regapp "MY_TAG") NULL);會根據圖形保存. 不能用二次.
(regapp "MY_TAG"))
(setq exdata (list (list -3
(list "MY_TAG"
(cons 1000 "h")
(cons 1000 lay_wc)
)
)
)
)
(entmake (APPEND ed exdata)) ;建立?元)
(setq exdata nil)
(setq n@ (1+ n@))
)
(setq n (1+ n))
)
(setq plate nil)
(setq plate_wc nil)
)
)
(princ)
)
 楼主| 发表于 2004-4-7 14:58:00 | 显示全部楼层
这样子是可以,可是 (if (= (assoc -3 ed) nil)
(setq ed (append ed exdata))
(setq ed (subst exdata (assoc -3 ed) ed)) ;增加扩展数据
) 这样子为什么不行呢
发表于 2004-4-7 17:26:00 | 显示全部楼层
你的語法用錯啦. 我做好了. 你來檢測看看. 應沒有問題的. 代碼如下: 具體是這樣的. 你先的對象如以加有以注冊的邀展數就不做處理 . 我認為你要的也是這樣的. (defun c:TEST ()
(setq plate '("PH_W" "PPS_W"))
(setq plate_wc '("0" "1"))
(if (ssget)
(progn
(if (= (regapp "MY_TAG") NULL)(regapp "MY_TAG"))
(setq n 0)
(while (> (sslength ss) n)
(setq en (ssname ss n))
(setq ed (entget en))
(setq n@ 0)
(while (> (length plate) n@)
(if (= (assoc -3 (entget en '("MY_TAG"))) nil)
(PROGN
(setq lay (nth n@ plate))
(setq ed (subst (cons 8 lay) (assoc 8 ed) ed))
(setq lay_wc (nth n@ plate_wc))
(entmake (append ed (list (list -3(list "MY_TAG"(cons 1000 "h")(cons 1000 lay_wc))))))))
(setq n@ (1+ n@)))
(setq n (1+ n)))
(setq plate nil)
(setq plate_wc nil)))
(princ)) ;選線找有沒有擴展數.
;(assoc -3 (entget (CAR (ENTSEL)) '("MY_TAG")))
发表于 2004-4-8 07:58:00 | 显示全部楼层
  1. ;;;*層複製*
  2. ;;;By-spring
  3. ;;;2004/04/05
  4. ;;;_______________________________________________________
  5. ;;;修改By 龍龍仔;;;你重覆引用en,使en有2份xdata故entmake至pps_w時失敗(defun C:H_COPY  ()
  6. ;;;_______________________________________________________
  7.    (setq PLATE '("PH_W" "PPS_W"))  ;圖層 list
  8.    (setq PLATE_WC '("0" "1"))    ;擴展資料 list
  9.    (setq SS (ssget))      ;選擇圖元
  10.    (if SS        ;如果 ss 不為 nil 則執行
  11.        (progn
  12.            (setq N 0)
  13.            (while (> (sslength SS) N)  ;迴圈選中的圖元
  14.   (setq EN (ssname SS N))    ;取得圖元稱
  15.   (setq N@ 0)
  16.   (while (> (length PLATE) N@)  ;迴圈表 plate
  17.      (command "_.copy" EN "" "0,0" "@");原地copy----
  18.      (setq ED (entget (entlast)));------------------
  19.      (setq LAY (nth N@ PLATE))  ;取得其中一個
  20.      (setq ED (subst (cons 8 LAY) (assoc 8 ED) ED))
  21.           ;更該圖元的圖層
  22.      (setq LAY_WC (nth N@ PLATE_WC)) ;取得其中一個擴展資料
  23.      (if (not (tblsearch "appid" "MY_TAG"));------------
  24.           ;檢查應用名稱是否已經註冊
  25.          (regapp "MY_TAG")    ;如果沒有則註冊
  26.      )
  27.      (setq  EXDATA (list (list -3
  28.              (list "MY_TAG"
  29.            (cons 1000 "h")
  30.            (cons 1000 LAY_WC)
  31.              )
  32.                )
  33.                  )
  34.      )
  35.      (setq ED (append ED EXDATA))  ;增加擴展資料
  36.      (entmod ED)      ;修改圖元--------------
  37.      (setq EXDATA NIL)
  38.      (setq N@ (1+ N@))
  39.   )
  40.   (setq N (1+ N))
  41.            )
  42.            (setq PLATE NIL)
  43.            (setq PLATE_WC NIL)
  44.        )
  45.    )
  46.    (princ)
  47. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 15:38 , Processed in 0.171109 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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