找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1763|回复: 22

[编程申请]:有这样的自动编号程序吗?

[复制链接]
发表于 2004-12-5 10:26:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
在论坛里找了半天的自动编号程序,都不适合自己。有哪位知道这样的自动编号程序,选择多行多列数字后,提示左右编号次序,上下编号次序,然后就自动生成新的编号了。之前曾经尝试过文字修改大师、CTNO、ET工具里的自动编号功能,都不能达到要求。
最后结果如下图所示:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-12-5 11:41:11 | 显示全部楼层
圆圈代表什么?最好上载图纸。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-5 23:39:41 | 显示全部楼层
以下5个变量能描述你的问题吗?
bl1=行数
bl2=列数
bl3=行距
bl4=列距
bl5=起始号
如果可以,明儿给你编一个.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-6 09:35:45 | 显示全部楼层
圆圈没有关系,行数和列数不定,由框选决定多少,框选(包括这些无关的圆圈)进去后,只选择数字,然后提示“从左向右编”还是“从右向左编”,接着提示“从上往下编”还是“从下往上编”,最后就自动生成如图的编号。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-6 09:55:59 | 显示全部楼层
还是没说清楚呀:
1。原来的数字是否就是“编号”?
2。自动编号后,起始号码是1 还是原来数字最小的那个?
3。自动编号后,号码增量是1 还是。。。?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-6 11:21:47 | 显示全部楼层
1.原来的数字是不正确的编号,需要重新生成编号并替换原数字,位置不变,大小和字体也都不变。
2.自动编号时,可以象ET程序那样自由输入起始号码和增量。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-6 23:49:42 | 显示全部楼层
CAD坏了,用记事本编的,所以没有调试,请大家帮忙调试一下。
(defun c:bh()
          (princ "\n请确定行数:")
        (setq hs (getint))
        (princ "\n请确定列数:")
        (setq ls (getint))
        (princ "\n请确定行距:")
        (setq hj (getreal))
        (princ "\n请确定列距:")
        (setq lj (getreal))
        (princ "\n请确定起始编号:")
        (setq qsh (getint))
        (princ "\n请选择编号顺序:1-左右上下 2-左右下上 3-右左上下 4-右左下上")
        (setq sx (getint))
        (princ "\n请点取选择起始点:")
        (setq p0 (getpoint))
        (setq px0 (nth 0 p0))
        (setq py0 (nth 1 p0))
        (setq plist (list p0))
        (SETQ ZH (min hj lj))
        (setq r (/ zh 4))
    (defun creat_bh ()
       (setq i 0)
       (setq plist (reverse plist))
       (setq n (length plist)
       (repeat n
          (setq p1 (nth i plist))
          (setq px1 (nth 0 p1))
          (setq py1 (nth 1 p1))
          (setq px11 (+ px1 r))
          (setq py11 (+ py1 r))
          (setq p11 (list px11 py11))
          (setq hm (+ qsh i))
          (setq te (strcat (rtos hm 2 0)
          (command "text" p11 zh 0 te)
          (command "circle" p1 r "")
          (setq i (+ i 1))
         );end repeat
    );end defun
           
        (seta i 0)
        (seta j 0)  
        (cond (= sx 1)
           (
            (repeat ls
             (setq px (+ px0 (* i lj)))
             (repeat hs
                (setq py (- py0 (* i hj)))
                (setq pn (list px py))
                (setq plist (cons pn plist))
                (setq j (+ j 1))
             );end repeat
             (setq j 0)
             (setq i (+ i 1))
            );end repeat
            (creat_bh)
           )
        );end cond
(cond (= sx 2)
           (
            (repeat ls
             (setq px (+ px0 (* i lj)))
             (repeat hs
                (setq py (+ py0 (* i hj)))
                (setq pn (list px py))
                (setq plist (cons pn plist))
                (setq j (+ j 1))
             );end repeat
             (setq j 0)
             (setq i (+ i 1))
            );end repeat
            (creat_bh)
           )
        );end cond

(cond (= sx 3)
           (
            (repeat ls
             (setq px (- px0 (* i lj)))
             (repeat hs
                (setq py (- py0 (* i hj)))
                (setq pn (list px py))
                (setq plist (cons pn plist))
                (setq j (+ j 1))
             );end repeat
             (setq j 0)
             (setq i (+ i 1))
            );end repeat
            (creat_bh)
           )
        );end cond
(cond (= sx 4)
           (
            (repeat ls
             (setq px (- px0 (* i lj)))
             (repeat hs
                (setq py (+ py0 (* i hj)))
                (setq pn (list px py))
                (setq plist (cons pn plist))
                (setq j (+ j 1))
             );end repeat
             (setq j 0)
             (setq i (+ i 1))
            );end repeat
            (creat_bh)
           )
        );end cond
);end defun bh
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-7 11:17:27 | 显示全部楼层
我加载后,提示无此命令。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-7 14:42:23 | 显示全部楼层
CAD修好了。经调试在CAD2004内通过。
命令名:bh
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-7 14:54:18 | 显示全部楼层
我已经试过了,多谢ANANG198,但不是我想要的。
我需要的是,现成的数字在图纸上,但需要重新编号,大小样式都不变,只改变编号,而且可以选择任意多行任意多列,不需要指定多少行,多少列,框选的时候虽然把其中的圆圈圈住,但只选中其中的文字,这点和ET中的功能相类似。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-8 04:22:25 | 显示全部楼层
这里有个问题:是先上下后左右,还是先左右后上下?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-8 09:15:11 | 显示全部楼层
先左右后上下,多谢长老了。这个程序有一定的难度,而且每一行的文字并不一定在一个水平线上。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-8 10:37:29 | 显示全部楼层
请参考:
http://www.xdcad.net/forum/showthread.php?s=&threadid=308487
程序不是万能的,它有适应性。你的已知条件还不够,如“每一行的文字并不一定在一个水平线上”那么如何识别“某一行”?需要你给出充分的条件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-8 12:08:36 | 显示全部楼层
每一行的文字虽然不在一个水平线上,但Y方向上落差不大,差值远小于最小的行距。
看来这个程序难度比较大。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-8 18:58:46 | 显示全部楼层
上载一个实例多简单,罗嗦了半天还是有点说不清,用程序实现此功能应该没有什么问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-22 04:25 , Processed in 0.582586 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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