明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1116|回复: 9

[提问] 属性块递增复制的问题

[复制链接]
发表于 2019-12-12 08:25 | 显示全部楼层 |阅读模式
3明经币
本帖最后由 xj6019 于 2019-12-24 15:04 编辑


这是领导的代码网址
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=66334&page=4#pid352945
在35楼

很实用的功能 但是我的电脑运行不了啊   问问cad2015运行35楼的代码为什么不能递增复制呀  谁帮忙看看,高版本不支持吗?

(DEFUN C:ADD1 ()
(SETVAR "CMDECHO" 0)
(IF (AND (SETQ S1 (CAR (ENTSEL "\nSelect Block with Attrib 选择带属性图块 :")))
          (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 M nil)
  (WHILE (SETQ PT1 (GETPOINT PT0 "\nInsert Point 插入点 :"))
   (COMMAND ".COPY" S1 "" PT0 PT1)
   (SETQ ENT1 (ENTGET(ENTLAST)) ENT2 ENT1)
   (WHILE (= (CDR(ASSOC 0 (SETQ ENT2 (ENTGET(ENTNEXT(CDR(ASSOC -1 ENT2))))))) "ATTRIB")
    (IF (= (CDR(ASSOC 2 ENT2)) "KKS_CODE") (PROGN
     (SETQ TXTF (CDR(ASSOC 1 ENT2)) TXTA "" I 1 SL (STRLEN TXTF))
     (WHILE (AND (> (SETQ TA (SUBSTR TXTF I 1)) "9") (< TA "0") (< I SL))
      (SETQ TXTA (STRCAT TXTA TA) I (1+ I))
     )
     (IF (<= I SL) (PROGN
      (SETQ N (1+ (IF N N (ATOI (SUBSTR TXTF I))))
                 TXTF (STRCAT TA (IF (< N 10) "00" (IF (< N 100) "0" "")) (ITOA N))
                 ENT1 (SUBST (CONS 1 TXTF) (ASSOC 1 ENT2) ENT2))
      (ENTMOD ENT2)
      (ENTMOD ENT1)
      (ENTUPD (ENTLAST))
     ))
    ))
    (IF (= (CDR(ASSOC 2 ENT2)) "SNA") (PROGN
     (SETQ TXTF (CDR(ASSOC 1 ENT2)) TXTA "" I 1 SL (STRLEN TXTF))
     (WHILE (AND (> (SETQ TA (SUBSTR TXTF I 1)) "9") (< TA "0") (< I SL))
      (SETQ TXTA (STRCAT TXTA TA) I (1+ I))
     )
     (IF (<= I SL) (PROGN
      (SETQ M (1+ (IF M M (ATOI (SUBSTR TXTF I))))
                 TXTF (STRCAT (SUBSTR TXTF 1 2) (IF (< M 10) "00" (IF (< M 100) "0" "")) (ITOA M))
                 ENT1 (SUBST (CONS 1 TXTF) (ASSOC 1 ENT2) ENT2))
      (ENTMOD ENT2)
      (ENTMOD ENT1)
      (ENTUPD (ENTLAST))
     ))
    ))
    (IF (ASSOC 60 ENT2) (PROGN
     (SETQ ENT2 (SUBST '(60 . 0) (ASSOC 60 ENT2) ENT2))
     (ENTMOD ENT2)
     (ENTMOD ENT1)
     (ENTUPD (ENTLAST))
    ))
   )
  )
  (COMMAND ".UNDO" "E")
))
(SETVAR "CMDECHO" 1)
(PRINC)
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-12-13 10:41 | 显示全部楼层
这并不是一个通用程序,请看好这两句:
(IF (= (CDR(ASSOC 2 ENT2)) "KKS_CODE")
(IF (= (CDR(ASSOC 2 ENT2)) "SNA")
要么改代码,要么改你属性块的标记为"KKS_CODE"/"SNA"。
而且,每个编号只取一位文字,也不一定满足你。
多数情况下,都不是CAD的锅,应该从程序本身找问题。

评分

参与人数 1明经币 +1 收起 理由
xj6019 + 1 很给力! 期待改进的结果!谢谢

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2019-12-13 12:35 | 显示全部楼层
本帖最后由 xj6019 于 2019-12-13 12:36 编辑
飒路紫 发表于 2019-12-13 10:41
这并不是一个通用程序,请看好这两句:
(IF (= (CDR(ASSOC 2 ENT2)) "KKS_CODE")
(IF (= (CDR(ASSOC 2 E ...

您好,您看看附件的这个程序,现在只能纯数字递增复制,您可以帮忙改改,我希望实现数字递增和属性块递增,这样只用一个命令就可以了,谢谢。

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2019-12-13 13:57 | 显示全部楼层
xj6019 发表于 2019-12-13 12:35
您好,您看看附件的这个程序,现在只能纯数字递增复制,您可以帮忙改改,我希望实现数字递增和属性块递增 ...

加:589962575,讨论方便些,没看明白

评分

参与人数 1明经币 +1 收起 理由
xj6019 + 1 赞一个! 谢谢邀请!

查看全部评分

回复

使用道具 举报

发表于 2019-12-17 11:50 | 显示全部楼层
我的递增复制你看看是否能用
http://bbs.mjtd.com/thread-180675-1-1.html
回复

使用道具 举报

 楼主| 发表于 2019-12-17 13:50 | 显示全部楼层
sharetow 发表于 2019-12-17 11:50
我的递增复制你看看是否能用
http://bbs.mjtd.com/thread-180675-1-1.html

谢谢,注意到您的帖子了,下载后加载不上,我电脑系统的原因,不是中文系统,如果是lisp我搞一下还能试试,VLX的没法试用呢!不过谢谢回帖提醒!源码您有吗?
回复

使用道具 举报

发表于 2019-12-17 13:53 | 显示全部楼层
xj6019 发表于 2019-12-17 13:50
谢谢,注意到您的帖子了,下载后加载不上,我电脑系统的原因,不是中文系统,如果是lisp我搞一下还能试试 ...

这个是我昨天写的,源码就不分享了。。。
回复

使用道具 举报

 楼主| 发表于 2019-12-17 13:57 | 显示全部楼层
sharetow 发表于 2019-12-17 13:53
这个是我昨天写的,源码就不分享了。。。

嗯  好的  我再等等吧 谢谢!
回复

使用道具 举报

发表于 2019-12-19 12:56 | 显示全部楼层
有偿可以给你写一个定制的,qq:599292102
回复

使用道具 举报

发表于 2020-8-21 13:12 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 15:34 , Processed in 0.480889 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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