明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1684|回复: 5

[已解答] 快速以时间命名建块(怎样再时间前面加前缀如LZ_时间)?

[复制链接]
发表于 2015-6-4 18:29:59 | 显示全部楼层 |阅读模式
快速以时间命名建块(怎样再时间前面加前缀如LZ_时间)?





(defun C:lz_bm (/ SS PT DOC BLKS I OBJ LST)
  (if (and (setq SS (ssget))
           (setq PT (getpoint "\n指定插入点: "))
      )
    (progn
      (setq DOC  (vla-get-ActiveDocument (vlax-get-acad-object))
            BLKS (vla-get-blocks DOC)
            PT   (vlax-3d-point (trans PT 1 0))
      )
      (repeat (setq I (sslength SS))
        (setq I   (1- I)
              OBJ (vlax-ename->vla-object (ssname SS I))
              LST (cons OBJ LST)
        )
        (vla-put-layer OBJ "0")
      )
      (vlax-invoke DOC
                  'CopyObjects
                  LST
                  (setq BLK (vla-add BLKS PT(getvar 'cdate)))
      )
      (vla-InsertBlock
        (if (= (getvar 'cvport) 1)
          (vla-get-PaperSpace DOC)
          (vla-get-ModelSpace DOC)
        )
        PT (vla-get-name BLK) 1 1 1 0
      )
      (mapcar 'vla-delete LST)
    )
  )
  (princ)
发表于 2015-6-4 19:05:59 | 显示全部楼层
  1. ;; 快速以时间命名建块
  2. (defun c:tt (/ ss pt doc bn blks i obj lst)
  3.   (if (and (setq ss (ssget))
  4.            (setq pt (getpoint "\n指定插入点: "))
  5.       )
  6.     (progn
  7.       (setq doc         (vla-get-activedocument (vlax-get-acad-object))
  8.             blks (vla-get-blocks doc)
  9.             pt         (vlax-3d-point (trans pt 1 0))
  10.             bn         (strcat "lz_" (rtos (* (getvar 'cdate) 1e6) 2 0))
  11.             mps         (if (= (getvar 'cvport) 1)
  12.                    (vla-get-paperspace doc)
  13.                    (vla-get-modelspace doc)
  14.                  )
  15.             blk         (vla-add blks pt bn)
  16.             i         (sslength ss)
  17.       )
  18.       (repeat i
  19.         (setq i          (1- i)
  20.               obj (vlax-ename->vla-object (ssname ss i))
  21.               lst (cons obj lst)
  22.         )
  23.         (vla-put-layer obj "0")
  24.       )
  25.       (vlax-invoke doc 'copyobjects lst blk)
  26.       (vla-insertblock mps pt bn 1 1 1 0)
  27.       (mapcar 'vla-delete lst)
  28.     )
  29.   )
  30.   (princ)
  31. )
 楼主| 发表于 2015-6-5 09:24:31 | 显示全部楼层
xyp1964 发表于 2015-6-4 19:05

谢谢!!!!!!!!
发表于 2015-6-15 01:07:44 | 显示全部楼层
好像G版以前写过
发表于 2015-6-15 21:32:37 | 显示全部楼层
9701519 发表于 2015-6-5 09:24
谢谢!!!!!!!!

请问 为什么我输入TT  无法调用它啊
发表于 2015-7-3 21:23:27 | 显示全部楼层
加了前缀是为也方便选取吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 20:27 , Processed in 0.164803 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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