QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
6天前
查看: 3601|回复: 4
收起左侧

[分享] 将所有选择的数字相乘

[复制链接]
发表于 2008-6-10 08:13:25 | 显示全部楼层 |阅读模式 来自: 中国辽宁鞍山

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
将所有选择的数字相乘
! K1 t; x$ Z: }+ [# k3 }( C. V' A  e0 F6 \$ N
(defun c:xx()
; W" q- K7 Q4 Q" @9 e, \; U1 \8 U (princ "请选择需相乘的数字\n")
- u3 B" C5 t9 X- `( O (setq ss1 (ssget))
+ p1 h( b0 m/ e0 a+ f, D (setq n (sslength ss1))
; y) e9 L; e7 Y% X- I  b (setq aa1 (entget (ssname ss1 0)))% i, s' l9 r, J2 V# J2 Y7 ~
(setq h1 (cdr (assoc 40 aa1)))4 I1 R* L5 @3 m
(prompt " TYPE 输出数字位数:<2") (setq ww (getint"> "))   
. ?* I, s. y9 N9 S6 [0 F) n/ M (if ww (setq m ww) (setq m 2))# m( F/ f( b6 W
(setq pt1 (getpoint "请选择所放点(中点)\n"))
7 o9 m/ p0 O" H7 O  e' w: _! r (setq i 0 sum 1)
+ J) N& R! M( l3 \ (repeat n0 P) Z/ B) b) F* x
   (setq pname (ssname ss1 i))
; w, l! H, f+ U' Q8 L, ~. p& G   (setq ent (entget pname))+ L6 {6 N0 }$ X
   (setq p0 (cdr (assoc 0 ent)))
0 o% j$ f) c; B3 V9 c0 v   (if (= p0  "TEXT")
" I% G" q! C5 A% J+ O     (progn
/ \( F- x4 @( p      (setq z (cdr (assoc 1 ent)))3 g2 V: E# F/ v; ]0 H9 ]1 N
      (setq r1 (atof z)). H7 f+ `& K% I
      (setq sum (* sum r1))
1 i8 e' n& n7 l. T% o     )
( v' n8 c. ]3 b6 D5 Y   )6 n) \0 ^& S" i4 {1 E. g+ j! n# f  r
   (setq i (+ i 1))8 W) @* V/ n5 ^6 L/ j3 a
  )
( D5 M* m7 `3 U: X, t (setq sum (rtos sum 2 m))- l+ K5 m" Q* C* m- m3 A" ]- \
(command "text" "m" pt1 h1 "0" sum)' c& f$ E% Y5 T
)
 楼主| 发表于 2008-6-10 11:15:56 | 显示全部楼层 来自: 中国辽宁鞍山
使用方法是将上述源代码存为文本文件,再将后缀改为LSP,在CAD中调用该文件,然后执行"XX"命令即可
发表于 2010-1-8 15:31:59 | 显示全部楼层 来自: 中国台湾
這LISP,正好需要。
发表于 2010-1-11 12:03:14 | 显示全部楼层 来自: 中国广西梧州
我正想编一个累加的程序,现在正好能参考,谢谢!
发表于 2014-1-18 13:38:25 | 显示全部楼层 来自: 中国山东济南
我加载了好多次就是不能用,不知什么原因,还是请直接发加载的程序吧
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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