找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 616|回复: 1

[编程申请]:加-J/减-G/除-C/乘-X

[复制链接]
发表于 2005-11-3 14:41:32 | 显示全部楼层 |阅读模式

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

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

×
大家好 ,又来麻烦大家了
;乘法计算
(DEFUN C:chen1()
(setq jd (getint "input 精度<0>:"))
(if (= jd nil) (setq jd 0))
(princ "\nselect object:")
(setq s (ssget))
(setq n (sslength s))
(setq k 0 )(setq mm 0.0)
(while (< k n)
(setq name (ssname s k))
(setq a (entget name))
(setq t1 (assoc '0 a))
(setq t1 (cdr t1))
(if (= t1 "TEXT") (PROGN
(setq tx (assoc '1 a))
(setq tx (cdr tx))
(setq tx (atof tx))
(if (= k 0) (setq MM TX))
(if (/= k 0) (setq mm (* mm tx)))
))
(if (= t1 "DIMENSION") (PROGN
(setq tx (assoc '1 a))
(setq tx (cdr tx))
(if (and (/= tx "")(/= tx "<>"))(setq tx (atof tx)))
(if (or (= tx "")(= tx "<>"))(progn
(setq tx (assoc '42 a))
(setq tx (cdr tx))
; (setq tx (+ tx 0.5))
; (setq tx (fix tx))
))
(if (= k 0) (setq MM TX))
(if (/= k 0) (setq mm (* mm tx)))
))
(setq k (+ k 1))
)
(setq mm (rtos mm 2 jd))
(setq po (getpoint "input point----:"))
(command "text" po "" "" mm)
)
;除法计算
(DEFUN C:chu1()
(setq jd (getint "input 精度<0>:"))
(if (= jd nil) (setq jd 0))
(princ "\nselect object:")
(setq s (ssget))
(setq n (sslength s))
(setq k 0 )(setq mm 0.0)
(while (< k n)
(setq name (ssname s k))
(setq a (entget name))
(setq t1 (assoc '0 a))
(setq t1 (cdr t1))
(if (= t1 "TEXT") (PROGN
(setq tx (assoc '1 a))
(setq tx (cdr tx))
(setq tx (atof tx))
(if (= k 0) (setq MM TX))
(if (/= k 0) (setq mm (/ mm tx)))
))
(if (= t1 "DIMENSION") (PROGN
(setq tx (assoc '1 a))
(setq tx (cdr tx))
(if (and (/= tx "")(/= tx "<>"))(setq tx (atof tx)))
(if (or (= tx "")(= tx "<>"))(progn
(setq tx (assoc '42 a))
(setq tx (cdr tx))
; (setq tx (+ tx 0.5))
; (setq tx (fix tx))
))
(if (= k 0) (setq MM TX))
(if (/= k 0) (setq mm (/ mm tx)))
))
(setq k (+ k 1))
)
(setq mm (rtos mm 2 jd))
(setq po (getpoint "input point----:"))
(command "text" po "" "" mm)
)
;计算cad图中数字的和(求和)并写在图纸中,常用于统计材料表中的总和
(DEFUN C:jia1()
(setq jd (getint "input 精度<0>:"))
(if (= jd nil) (setq jd 0))
(princ "\nselect object:")
(setq s (ssget))
(setq n (sslength s))
(setq k 0 )(setq mm 0.0)
(while (< k n)
(setq name (ssname s k))
(setq a (entget name))
(setq t1 (assoc '0 a))
(setq t1 (cdr t1))
(if (= t1 "TEXT") (PROGN
(setq tx (assoc '1 a))
(setq tx (cdr tx))
(setq tx (atof tx))
(setq mm (+ tx mm))
))
(if (= t1 "DIMENSION") (PROGN
(setq tx (assoc '1 a))
(setq tx (cdr tx))
(if (and (/= tx "")(/= tx "<>"))(setq tx (atof tx)))
(if (or (= tx "")(= tx "<>"))(progn
(setq tx (assoc '42 a))
(setq tx (cdr tx))
))
(if (= k 0) (setq MM TX) (setq mm (+ tx mm)))
))
(setq k (+ k 1))
)
(setq mm (rtos mm 2 jd))
(setq po (getpoint "input point----:"))
(command "text" po "" "" mm)
)
;求差程序:
;第一次选择的数为被减数
(DEFUN C:jian1()
(setq jd (getint "input 精度<0>:"))
(if (= jd nil) (setq jd 0))
(princ "\nselect object:")
(setq s (ssget))
(setq n (sslength s))
(setq k 0 )(setq mm 0.0)
(while (< k n)
(setq name (ssname s k))
(setq a (entget name))
(setq t1 (assoc '0 a))
(setq t1 (cdr t1))
(if (= t1 "TEXT") (PROGN
(setq tx (assoc '1 a))
(setq tx (cdr tx))
(setq tx (atof tx))
(if (= k 0) (setq MM TX))
(if (/= k 0) (setq mm (- mm tx)))
))
(if (= t1 "DIMENSION") (PROGN
(setq tx (assoc '1 a))
(setq tx (cdr tx))
(if (and (/= tx "")(/= tx "<>"))(setq tx (atof tx)))
(if (or (= tx "")(= tx "<>"))(progn
(setq tx (assoc '42 a))
(setq tx (cdr tx))
; (setq tx (+ tx 0.5))
; (setq tx (fix tx))
))
(if (= k 0) (setq MM TX))
(if (/= k 0) (setq mm (- mm tx)))
))
(setq k (+ k 1))
)
(setq mm (rtos mm 2 jd))
(setq po (getpoint "input point----:"))
(command "text" po "" "" mm)
)
上面是4个分别计算+ - * /的4个计算lisp,
有高手能把他门整合到一个命令中去么???
在输入时选择/加-J/减-G/除-C/乘-X (默认为乘)
然后输出的。可以么?
还有个问题
(setq po (getpoint "input point----:"))
(command "text" po "" "" mm)
这个命令让输出的文字是旋转了90度的
也帮忙改改谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-11-3 16:15:59 | 显示全部楼层
试试签名栏下的“★数字运算”程序。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 09:28 , Processed in 0.225700 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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