寒风 发表于 2004-11-25 14:42:00

哪位朋友能帮我写一个LISP小程序,就是在CAD中抓取一个矩形的对角点,计算出其面积

哪位朋友能帮我写一个LISP小程序,就是在CAD中抓取一个矩形的对角点,计算出其面积,并输出到TEXT中。哪位朋友能帮我写一个LISP小程序,就是在CAD中抓取一个矩形的对角点,计算出其面积,并输出到TEXT中。

meflying 发表于 2004-11-25 14:47:00

(defun c:test( / pt1 pt2 ptc area)<BR>       (setq pt1 (getpoint "选择第一点:"))<BR>       (setq pt2 (getcorner pt1 "选择第二点:"))<BR>       (setq ptc (mapcar '(lambda (e1 e2) (/ (+ e1 e2) 2.0)) pt1 pt2))<BR>       (setq area (abs (* (- (car pt2) (car pt1)) (- (cadr pt2) (cadr pt1)))))<BR>       (command "_.text" ptc "" "" area "")<BR>       (princ)<BR>)

寒风 发表于 2004-11-25 15:04:00

谢谢


能将它转换成以米为单位吗,并给个保留多少位小数的的输入?

meflying 发表于 2004-11-25 15:41:00

你还是把要求都说出来吧,要不然我写一点,你又说一点。。。

寒风 发表于 2004-11-25 18:10:00

目前没有了,就以上所提的上些,麻烦你了。

haha 发表于 2004-11-25 18:22:00

我不知道鲜花有什么用,但是我还是给了meflying

haha 发表于 2004-11-25 18:40:00

你好棒哦!真佩服你哦!我想向你请教一个问题。


能帮忙写一个程序?只需发一个命令,便能将当前的日期按指定方式写上屏幕?


譬如今天为2004年11月25日,那么格式 :         2004年11月25日                               (帮帮忙哦)


其他格式不限!


另外,假如我的模板已经有               年               月               日,那么如何实现分段注记:       2004       11       25       呢?提示我在哪里修改间距哦!如果能顺便解释编程思路最好了(可以不理)。

meflying 发表于 2004-11-25 19:20:00

(strcat ...)这句中的双引号中的空格调整间距


(defun c:Test( / time year mon day str)<BR>       (setq time (rtos (getvar "cdate") 2 0))<BR>       (setq year (substr time 1 4))<BR>       (setq mon (substr time 5 2))<BR>       (setq day (substr time 7 2))<BR>       (setq str (strcat year " " mon " " day))<BR>       (command "_.text" (getpoint "选择地点:") "" "" str "")<BR>       (princ)<BR>)

寒风 发表于 2004-11-26 13:53:00

那现在就把所有的要求都说出来吧。


我想程序分两个命令来写,一个用来设置,一个用来实现功能。


设置程序功能如下,可以设置字体大小,保留小数,文本行之间的间隔,文本行的


起始点。


实现程序:


输出格式为:


1. 长 x 宽 = 值


2. 长 x 宽 = 值


...


以上,长,宽分别代表实际数字,值为计算结果,1,2为编号。


程序在执行后会按设置程序的参数进行工作,如第一行文件会在“文本行的


起始点”位置输出,以后的按文本间隔值改变X位置,进行输出。


字体大小,指的是TEXT输出以后的字体大小。保留小数是指程序输出结果及长宽的保留位置。


程序输出要以米为单位。


以上的要求能实现吗?麻烦了,谢谢你了。谢谢。

meflying 发表于 2004-11-27 09:48:00

你的长宽怎么来的???
页: [1] 2
查看完整版本: 哪位朋友能帮我写一个LISP小程序,就是在CAD中抓取一个矩形的对角点,计算出其面积