明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1591|回复: 6

求助

[复制链接]
发表于 2004-9-6 18:51:00 | 显示全部楼层 |阅读模式
求助


在cad2002中,如何用lisp定义一个函数,先选一个数a,再选一个数B,计算出A和B的乘积,再选另一个数C,将结果给C?
发表于 2004-9-6 19:56:00 | 显示全部楼层
  1. (defun c:test(/ a b c el)
  2.    (setq a (read (cdr (assoc 1 (entget (car (entsel "\n选A: "))))))
  3.   b (read (cdr (assoc 1 (entget (car (entsel "\n选B: ")))))))
  4.    (if (and (numberp a) (numberp b))
  5.        (progn
  6.        (setq c (rtos (* (float a) (float b)))
  7.                  el (entget (car (entsel "\n选C: "))))
  8.        (entmod (subst (cons 1 c) (assoc 1 el) el))
  9.        )
  10.    )
  11.    (princ)
  12. )
 楼主| 发表于 2004-9-6 20:23:00 | 显示全部楼层
多谢alin老兄.
 楼主| 发表于 2004-9-6 20:39:00 | 显示全部楼层
再次请教一下,如何控制C的小数位数为2 位或1位,用上述函数计算时,小数的位数不确定


非常感谢!
发表于 2004-9-7 13:42:00 | 显示全部楼层
自己看看LSP函数,这些都是比较简单的。
发表于 2004-9-7 14:14:00 | 显示全部楼层
(setq c (rtos (* (float a) (float b)))


->


        (setq c (rtos (* (float a) (float b) 2 4));控制4为小数
 楼主| 发表于 2004-9-8 09:51:00 | 显示全部楼层
非常感谢楼上的老兄
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 17:32 , Processed in 0.168152 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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