这是我编的关于autolisp的一个小程序,不知道有什么问题麻烦帮忙检查一下 谢谢 加载时没有什么问题 运行时 10

(defunc:rh()(setqts(getvar"textsize"))(setvar"textsize"1)(setqdfn(getfiled"数据文件""""tx... (defun c:rh()
(setq ts (getvar "textsize" ))
(setvar "textsize" 1 )
(setq dfn(getfiled "数据文件" "" "txt" 8)
fn (open dfn "r"))
(setq datax (read-line fn))
(setq data (read datax))
(setq sc data)
(setq p0 (getpoint "输入基准点:" ))
(setq p1 (list (-(car p0) 1) (cadr p0)))
(setq data1 (read-line fn))
(setq data1c (read datal))
(if (/= data1x nil)
(progn
(while (setq data2 (read-line fn))
(setq data1x(car data1c))
(setq data2c(read data2))
(setq data2x(car data2c))
(setq data2y(cadr data2c))
(setq data (- data2x data1x))
(setq sss (rtos data2x 2 2))
(setq chang 2)
(setq gao (-(/ (* data 1000 ) sc)))
(setq p2 (polar p1 0 chang ))
(setq p3 (polar p1 (/ pi 2) gao ))
(setq p4 (polar p3 0 chang ))
(command "rectang" p1 p4)
(setq p5 (polar p4 (-(/ pi 5)) 1))
(setq p1 p3)
(setq data1c data2c)
(command "text" p5 "" "" sss "")
(setq hs (getvar "hpscale" ))
(setvar "hpscale" 0.2)
(if(= data2y 1) (command "hatch" "glnhy" (entlast) ""))
(if(= data2y 2) (command "hatch" "glhgy" (entlast) ""))
(if(= data2y 3) (command "hatch" "glhy" (entlast) ""))
(setvar "hpscale" hs)
)
)
)
(command "")
(setvar "textsize" ts)
(princ)
)
文本内容如下:
500
0
3 1
5.6 2
10 1
16 3
18.9 2
展开
 我来答
小蜜蜂的昵称
2012-04-04 · TA获得超过1852个赞
知道小有建树答主
回答量:1517
采纳率:0%
帮助的人:574万
展开全部
程序的功能是什么?
你想要什么样的输出结果?

另外,不要老改系统变量,这样你的程序运行一次,对后续CAD操作会造成麻烦
setq 太多 ,看的眼晕 , 多用表结构简化程序, 这是 lisp 最牛B的数据结构。

你把数字1和小写字母L不分,小兄弟,这么粗心啊
(setq data1c (read datal)) 后面括号里的datal 应该是 data1吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yedajiang
2012-03-27 · TA获得超过162个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:121万
展开全部
只能说这个程序写得太初级了
更多追问追答
追问
我刚开始初学而已,初级咋了,你解释一下为什么有问题?不要先评价程序,有本事你找出这个程序的毛病  或写一个和这个表达意思一样的较高级的程序出来呀
追答
激将没有用的,要向别人请教还是要说清楚,别人才能帮你,你连程序的目的、想要的理想结果都没有规划,别人想帮你也难办呀!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式