明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: etom999

[求助]属性块的增量复制

  [复制链接]
发表于 2008-3-21 08:02:00 | 显示全部楼层

主要是增加判断。用上面程序中语句中的标记"KKS_CODE"区分

     (IF (= (CDR(ASSOC 2 ENT2)) "KKS_CODE") (PROGN
      ……

 楼主| 发表于 2008-3-21 08:22:00 | 显示全部楼层
不太好用......

(Defun C:ADD1 ()
  (SetVar "CMDECHO" 0)
  (If(And
        (SetQ S1 (Car(EntSel "\n选择带属性图块 :")))
        (SetQ ENT (EntGet S1))
        (=(Cdr(Assoc 0 ENT)) "INSERT")
        (=(Cdr(Assoc 66 ENT)) 1)
     )
    (Progn
      (Command ".Undo" "BE")
      (SetQ PT0 (Cdr(Assoc 10 ENT)) N nil)
      (While(SetQ PT1 (GetPoint PT0 "\n插入点 :"))
        (Command ".COPY" S1 "" PT0 PT1)
        (SetQ ENT1 (EntGet(EntLast))
              ENT2 ENT1
              STA T
        )
        (While(And STA
                   (=(Cdr(Assoc 0 (SetQ ENT2 (EntGet(EntNext(Cdr(Assoc -1 ENT2))))))) "ATTRIB")
              )
          (If(=(Cdr(Assoc 2 ENT2)) "SNA")(add11))                       ; NO.1
          (If(=(Cdr(Assoc 2 ENT2)) "XR_FUNCTION")(add11))      ; NO.2
          (Defun ADD11 ()
            (SetQ TXTF (Cdr(Assoc 1 ENT2))
                  N (1+(IF N N (AtoI(SUBSTR TXTF 3))))
                  TXTF (StrCat(SubStr TXTF 1 2)(If(< N 10) "00" (If(< N 100) "0" ""))(ItoA N))
                  ENT1 (SubSt(Cons 1 TXTF)(Assoc 1 ENT2) ENT2)
                  STA nil
            )
            (EntMod ENT2)
           (EntMod ENT1)
         )
         (EntUpd(EntLast))
        )
      )
      (Command ".Undo" "E")
    )
  )
  (SetVar "CmdEcho" 1)
  (PrinC)
)
发表于 2008-3-21 08:31:00 | 显示全部楼层

这样试试:

(If (AND (=(Cdr(Assoc 2 ENT2)) "SNA") (= (Cdr(Assoc 2 ENT2)) "XR_FUNCTION")) (PTOGN
 (SetQ TXTF (Cdr(Assoc 1 ENT2))
       N (1+(IF N N (AtoI(SUBSTR TXTF 3))))
       TXTF (StrCat(SubStr TXTF 1 2)(If(< N 10) "00" (If(< N 100) "0" ""))(ItoA N))
       ENT1 (SubSt(Cons 1 TXTF)(Assoc 1 ENT2) ENT2)
       STA nil
 )
 (EntMod ENT2)
 (EntMod ENT1)
 (EntUpd(EntLast))
))

 楼主| 发表于 2008-3-21 13:13:00 | 显示全部楼层
(If (AND (=(Cdr(Assoc 2 ENT2)) "SNA") (= (Cdr(Assoc 2 ENT2)) "XR_FUNCTION"))
(PTOGN  -&gt; Progn
改过后,不好用...
 楼主| 发表于 2008-3-21 13:23:00 | 显示全部楼层
(AND (=(Cdr(Assoc 2 ENT2)) "SNA") (= (Cdr(Assoc 2 ENT2)) "XR_FUNCTION"))
这种情况永远不会出现...只好copy
发表于 2008-3-21 21:43:00 | 显示全部楼层
xiaoxiao1982发表于2008-3-19 0:46:00试过了,很好用,版主厉害啊!谢谢版主!顺便再请教个问题,图中还是这个块,当你插入这个块的时候,你会发现,它其实是有很多属性的,只是其中的有些属性是不可见的。但是图中的这个块,双击图

2006後,用ed, ate... 等編輯圖塊屬性時,可以設定屬性物件不可見,群組碼:60,版主可以試試!

发表于 2008-3-22 08:28:00 | 显示全部楼层
etom999发表于2008-3-21 13:23:00(AND (=(Cdr(Assoc 2 ENT2)) \"SNA\") (= (Cdr(Assoc 2 ENT2)) \"XR_FUNCTION\"))这种情况永远不会出现...只好copy

哦写错了,应该用OR。(OR (=(Cdr(Assoc 2 ENT2)) "SNA") (= (Cdr(Assoc 2 ENT2)) "XR_FUNCTION"))
发表于 2008-3-22 17:59:00 | 显示全部楼层
Lotto168发表于2008-3-21 21:43:002006後,用ed, ate... 等編輯圖塊屬性時,可以設定屬性物件不可見,群組碼:60,版主可以試試!

不知道要怎么设定
发表于 2008-3-22 20:30:00 | 显示全部楼层
试着写了写,因无高版本CAD,未调试。
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0

发表于 2008-3-23 02:15:00 | 显示全部楼层

 

实在太感谢版主了,眼泪哗哗地。。。

我试了下,增量复制没有问题。但是复制后得到的图块还是只有可见属性可以编辑

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-7-4 23:05 , Processed in 0.197660 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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