明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3114|回复: 19

[资源] @lisp: 动态图框 新增图纸自动编号功能。

[复制链接]
发表于 2020-12-29 03:35:32 | 显示全部楼层 |阅读模式
本帖最后由 vitalgg 于 2021-1-4 09:59 编辑

新增图框自动编号功能 。就是改图框里的图号,从左到右,从上到下,把图号按顺序改写(不是移动排版,只是改图号)

命令行输入 @U 自动升级到新版

那就给个源码:
  1. (defun @:get-frames (/ s1 ss-list ename en0 ti% p ml-contents xmax ymin boxscale insp)
  2.   "选取图中的图框"
  3.   (prompt "回车或右键则为所有图框")
  4.   (setq s1 (ssget '((0 . "INSERT"))))
  5.   (setq ss-list '())
  6.   (if (null s1)
  7.       (setq s1 (ssget "x" '((0 . "INSERT")))))
  8.   (setq ti% 0)
  9.   (if (/= s1 nil)
  10.       (progn
  11.   (while
  12.       (<= ti% (- (sslength s1) 1))
  13.     (setq en0 (ssname s1 ti%))
  14.     (if (eq (block:get-effectivename en0) (@:get-config 'vitaltools:tukuang))
  15.         (progn
  16.     (setq ss-list (append ss-list (list en0)))
  17.     ))
  18.     (setq ti% (+ 1 ti%))
  19.     )
  20.   )
  21.       (progn
  22.   (alert (strcat "未选中任何图框,请检查配置文件中你的图框块名是 "
  23.            (@:get-config 'vitaltools:tukuang)))
  24.   (@:edit-config))
  25.       )
  26.   (vl-sort ss-list
  27.      '(lambda (en1 en2)
  28.        (if (> (caddr (assoc 10 (entget en1)))
  29.         (+ 1000 (caddr (assoc 10 (entget en2)))))
  30.      T
  31.      (if (and (< (caddr (assoc 10 (entget en1)))
  32.            (+ 1000 (caddr (assoc 10 (entget en2)))))
  33.         (> (caddr (assoc 10 (entget en1)))
  34.            (- (caddr (assoc 10 (entget en2))) 1000))
  35.         (< (cadr (assoc 10 (entget en1)))
  36.            (cadr (assoc 10 (entget en2)))))
  37.          T
  38.          nil)
  39.      ))))

  40. (@:add-menu "工程管理" "自动编图号" "(@:set-tuhao (@:get-frames))")
  41. (defun @:set-tuhao (ss-list / num1 start )
  42.   (setq start (getint "请输入图纸起始编号<1>:"))
  43.   (if (null start) (setq start 1))
  44.   (setq num1 0)
  45.   ;;(print (length ss-list))
  46.   (foreach en0 ss-list
  47.      (block:set-attributes
  48.       en0
  49.       (list (cons "图号"
  50.       (strcat (if (@:get-tubie (block:get-attributes en0))
  51.             (strcat (@:get-tubie (block:get-attributes en0))
  52.               "-")
  53.             "")
  54.         (if (< (+ num1 start) 10) "0" "")
  55.         (itoa (+ num1 start))))))
  56.      (setq num1 (1+ num1))
  57.      ))



"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2020-12-29 12:40:03 | 显示全部楼层
paulpipi 发表于 2020-12-29 09:49
程序吗?等待分享

到 atlisp.cn 下载安装就有了,@lisp 是管理 lisp 程序的程序。方便用户安装 升级,及管理自己的程序加载库。

有新版本时 一个命令 @U 搞定升级.

不用你一个个的到网上搜索下载安装了。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-1-7 16:58:45 | 显示全部楼层
kdanqu 发表于 2021-1-7 16:42
命令是啥啊?看不懂!!

菜单命令 “自动编图号”
命令行的话输入 (@:set-tuhao (@:get-frames))

就是把图框里的图号按从左到右,从上到下,按顺序排一下。如果你加了一张图,不用再逐个改图号了,一个命令就排好了。 需要安装  @lisp  , 访问 atlisp.cn 下载
 楼主| 发表于 2022-4-12 09:25:41 | 显示全部楼层
cowboy110 发表于 2022-4-12 08:34
加载提示
文件中有不正确的快速加载格式: "C:/Users/admin/@lisp/packages/vitaltools/vitaltools-whole.F ...

@r  然后输入 vitaltools  。
去除这个应用。

这是一个老版本的工程管理。新版本名称改为 at-pm 了
发表于 2020-12-29 09:49:59 来自手机 | 显示全部楼层
程序吗?等待分享
发表于 2020-12-29 10:26:56 | 显示全部楼层
这个有点意思,有图纸集内味了
发表于 2021-1-4 08:33:32 | 显示全部楼层
vitalgg 发表于 2020-12-29 12:40
到 atlisp.cn 下载安装就有了,@lisp 是管理 lisp 程序的程序。方便用户安装 升级,及管理自己的程序加载 ...

发广告交广告费了吗?
发表于 2021-1-4 09:12:25 | 显示全部楼层
楼主没看版规,原则上没程序源码只有广告是不能发这个版的
发表于 2021-1-4 09:28:04 | 显示全部楼层
楼主发个图片是几个意思???
 楼主| 发表于 2021-1-4 10:04:35 | 显示全部楼层
429014673 发表于 2021-1-4 09:12
楼主没看版规,原则上没程序源码只有广告是不能发这个版的

那就发一段源码。 附件传不上去啊。
发表于 2021-1-4 19:31:20 | 显示全部楼层
这个有点意思,有图纸集内味了
发表于 2021-1-7 16:42:32 | 显示全部楼层
命令是啥啊?看不懂!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 14:32 , Processed in 0.319719 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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