明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2841|回复: 3

[求助]数字自动编号

[复制链接]
发表于 2010-7-19 08:39:00 | 显示全部楼层 |阅读模式
谁来帮我看看这个程序:
  1. ;自动编号程序
  2. ;;选择带前缀编号,再选文本,自动累加。
  3. (defun c:zat (/ txt)
  4. (setvar "cmdecho" 0)
  5. (setq os (getvar "osmode"))
  6.   (while (/= txt "TEXT")
  7.     (setq s1 (car (entsel "选择第一个带前后缀的文本 : "))
  8.           txt (dxf 0 (entget s1))
  9.    str (dxf 1 (entget s1))
  10.    bb str
  11.    str-l (strlen str)
  12.    ll str-l
  13.    n 0
  14.     )
  15.   )
  16.   (while (> ll 1)
  17.     (setq str-a (substr bb 2 1))
  18.     (if (or (= str-a "0")
  19.      (= str-a "1")
  20.      (= str-a "2")
  21.      (= str-a "3")
  22.      (= str-a "4")
  23.      (= str-a "5")
  24.      (= str-a "6")
  25.      (= str-a "7")
  26.      (= str-a "8")
  27.      (= str-a "9")
  28. )
  29.       (progn
  30. (setq bb (substr bb 2))
  31. (setq ll 0)
  32.       )
  33.       (progn
  34. (setq bb (substr bb 2))
  35. (setq ll (strlen bb))
  36.       )
  37.     )
  38.     (setq n (+ 1 n))
  39.   )
  40.   (setq a  (substr str 1 n)
  41. b  (substr str (+ n 1))
  42. ll (strlen b)
  43.   )
  44.   (setq c (atof b))
  45.   (if (> c (expt 10 (- ll 1)))
  46.     (check-OK)
  47.     (check-NO)
  48.   )
  49.   (cmdla1)
  50. )
  51. (defun check-NO ()
  52.   (alert "后缀非数值,程序中断!")
  53.   (exit)
  54. )
  55. (defun check-OK ()
  56.   (setq n 1)
  57.   (while (setq s1 (car (entsel "选择序号文本 : ")))
  58.     (setq tx (strcat a (rtos (+ c n) 2 0)))
  59.     (SETQ OLD (ASSOC 1 (entget S1)))
  60.     (SETQ NEW (CONS 1 tx))
  61.     (SETQ S1 (SUBST NEW OLD (entget S1)))
  62.     (ENTMOD S1)
  63.     (setq n (+ 1 n))
  64.   )
  65. )


报错了!!!

file:///I:/DOCUME~1/XIAXIA~1.TDC/LOCALS~1/Temp/GZI)JEW4D72GK@ODH4OL]NB.jpg
  
高手们帮帮忙!!!
发表于 2010-7-19 12:48:00 | 显示全部楼层

这里要这样改下:

 (while (/= txt "TEXT")
  (setq s1 (car (entsel "选择第一个带前后缀的文本 : "))
        txt (dxf 0 (entget s1)))
 )
 (setq str (dxf 1 (entget s1)) ;将这部件移到while外面,因如果选择的不是text,则会出错
       bb str
       str-l (strlen str)
       ll str-l
       n 0)

 楼主| 发表于 2010-7-19 15:50:00 | 显示全部楼层
麻烦直接给我个能通过的。找二楼版主的意思,又报了别的错误“参数类型错误: stringp nil”
发表于 2010-7-19 16:53:00 | 显示全部楼层
运行没错 , 是不是你那里没有 dxf 函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 20:08 , Processed in 0.182287 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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