找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 594|回复: 3

[求助] [求助]:帮我看下哪出问题了

[复制链接]
发表于 2006-6-22 11:20:08 | 显示全部楼层 |阅读模式

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

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

×
(defun c:addtext (/ l m ss ee e1 e2 e3 e4 e5 e6  name t t1 layer ro style h p)
(setvar "cmdecho" 0)
(prompt "\n               *****BDCAD程序<<数字累加>>*****")
(prompt "\n请用窗口形式选择!")
(setq ee ())
(setq ss (ssget))
(setq l 0 m (sslength ss))
(while (< l m)
(setq e0 (ssname ss l))
(setq e (entget e0))
(setq e1 (cdr (assoc 0 e)))
(if (= "TEXT" e1)
   (progn
   (setq e2 (cdr (assoc 1 e)))
   (setq e3 (strlen e2))
   (setq l1 1)
  (while (<= l1 e3)
   (setq e4 (substr e2 l1 1))
   (setq e5 (ascii e4))
   (if (or (= e5 47) (< e5 46) (> e5 57))
       (setq l1 (+ 1 e3)))
       (setq l1 (+ l1 1))
   )
   (if (= 1 (- l1 e3))
       (progn
       (setq e2 (read e2))
       (setq ee (cons e2 ee))
  ))
  ))
      (setq l (+ l 1))
  )
(setq e3 0.00 l 0 m (length ee))
(while (< l m)
(setq e2 (nth l ee))
  (setq e3 (+ e2 e3))
(setq l (+ L 1))
)
(setq t (getint "\n输入保留小数点后的位数<0>:"))
(if (= t nil) (setq t 0))  
(setq e31 (rtos e3 2 t))
(princ "\n 选取的数据值:")
(princ ee)
(princ "\n 选取的数据个数:")
(princ l)
(princ (strcat "    数字累加值为:" e31))
(initget 6)
(setq k (getint "\n1=标注/2=不标注<2>:"))
(if (> k 2) (setq k 2))
(if (= k 1) (progn
            (prompt "\n点取将要标注文字的式样:")
            (setq k1 (ssget))
            (setq layer (cdr (assoc 8 (entget (ssname k1 0)))))
            (setq ro (cdr (assoc 50 (entget (ssname k1 0)))))
            (setq ro (/ (* ro 180) pi))
            (setq style (cdr (assoc 7 (entget (ssname k1 0)))))
            (setq h (cdr (assoc 40 (entget (ssname k1 0)))))
            (setvar "clayer" layer)
            (initget 1)
            (setq p (getpoint "\n位置:"))
            (command "text" "s" style p h ro e31)
            )
)
(redraw)
(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-6-22 12:01:48 | 显示全部楼层
(command "text" "s" style p h ro e31)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-22 13:43:15 | 显示全部楼层
什么意思啊?改成什么是正确的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-22 21:39:38 | 显示全部楼层
  1. [FONT=courier new](defun c:test
  2.        (/ l m ss ee e1 e2 e3 e4 e5 e6 name t1 layer ro style h p)
  3.   (setvar "cmdecho" 0)
  4.   (prompt "\n *****BDCAD程序<<数字累加>>*****")
  5.   (prompt "\n请用窗口形式选择!")
  6.   (setq        ss (ssget)
  7.         l  0
  8.         m  (sslength ss)
  9.   )
  10.   (while (< l m)
  11.     (setq e0 (ssname ss l)
  12.           e  (entget e0)
  13.           e1 (cdr (assoc 0 e))
  14.     )
  15.     (if        (= "TEXT" e1)
  16.       (progn
  17.         (setq e2 (cdr (assoc 1 e))
  18.               e3 (strlen e2)
  19.               l1 1
  20.         )
  21.         (while (<= l1 e3)
  22.           (setq        e4 (substr e2 l1 1)
  23.                 e5 (ascii e4)
  24.           )
  25.           (if (or (= e5 47) (< e5 46) (> e5 57))
  26.             (setq l1 (+ 1 e3))
  27.           )
  28.           (setq l1 (+ l1 1))
  29.         )
  30.         (if (= 1 (- l1 e3))
  31.           (setq        e2 (read e2)
  32.                 ee (cons e2 ee)
  33.           )
  34.         )
  35.       )
  36.     )
  37.     (setq l (+ l 1))
  38.   )
  39.   (setq        e3 0.00
  40.         l  0
  41.         m  (length ee)
  42.   )
  43.   (while (< l m)
  44.     (setq e2 (nth l ee)
  45.           e3 (+ e2 e3)
  46.           l  (+ L 1)
  47.     )
  48.   )
  49.   (setq tt (getint "\n输入保留小数点后的位数<0>: "))
  50.   (if (= tt nil)
  51.     (setq tt 0)
  52.   )
  53.   (setq e31 (rtos e3 2 tt))
  54.   (princ "\n 选取的数据值: ")
  55.   (princ ee)
  56.   (princ "\n 选取的数据个数: ")
  57.   (princ l)
  58.   (princ (strcat " 数字累加值为:" e31))
  59.   (initget 6)
  60.   (setq k (getint "\n1=标注/2=不标注<2>: "))
  61.   (if (> k 2)
  62.     (setq k 2)
  63.   )
  64.   (if (= k 1)
  65.     (progn
  66.       (setq s1 (car (entsel "\n点取将要标注文字的式样: "))
  67.             k1 (entget s1)
  68.             la (cdr (assoc 8 k1))
  69.             ro (cdr (assoc 50 k1))
  70.             ro (/ (* ro 180) pi)
  71.             st (cdr (assoc 7 k1))
  72.             h  (cdr (assoc 40 k1))
  73.       )
  74.       (setvar "clayer" la)
  75.       (if (setq p (getpoint "\n文字标注位置: "))
  76.         (command "text" "s" st p h ro e31)
  77.       )
  78.     )
  79.   )
  80.   (redraw)
  81.   (princ)
  82. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 19:44 , Processed in 0.172179 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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