明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1652|回复: 2

[求助]我的一个画图程序,不好象没有办法正确转换数据

[复制链接]
发表于 2003-4-28 10:21:00 | 显示全部楼层 |阅读模式
提示说圆弧半径不能为零,估计是atof的问题,但又不知到怎么修改,希望哪位朋友能指点指点,或者能给点意见


(defun c:kkdq();开口垫圈
  (new_dialog "kkdqdlg" (load_dialog "kkdqdcl"))
  (start_image "kkdq")
  (slide_image 0 0 (dimx_tile "kkdq") (dimy_tile "kkdq") "kkdq")
  (end_image)
  (action_tile "b" "(setq c1 $value)")
  (action_tile "d" "(setq c2 $value)")
  (action_tile "h" "(setq c3 $value)")
  (action_tile "c" "(setq c4 $value)")
  (action_tile "alf" "(setq c5 $value)")
  (action_tile "x" "(setq x1 $value)")
  (action_tile "y" "(setq y1 $value)")

  (start_dialog)

  (if (= 0 (start_dialog))
    (progn (setq b (atof "c1")
d (atof "c2")
h (atof "c3")
c (atof "c4")
alf (atof "c5")
x (atof "x1")
y (atof "y1")
)
      (setq p0 (list x y))
      )
    )
   
  (setq m (sqrt (- (* (* 0.5 d) (* 0.5 d)) (* (* 0.5 b) (* 0.5 b))));m=sqr(0.5d*0.5d-0.5b*0.5b)
        n (sqrt (- (* (- (* 0.5 d) c) (- (* 0.5 d) c)) (* (* 0.5 b) (* 0.5 b))))
);n=sqr((0.5d-2)*(0.5d-2)-0.5b*0.5b)

  (setq p1 (polar p0 (+ pi alf) (* 0.5 b))
p2 (polar p0 alf (* 0.5 b))
p3 (polar p1 (+ (* 1.5 pi) alf) m)
p4 (polar p2 (+ (* 1.5 pi) alf) m)
p5 (polar p0 (+ (* 0.5 pi) alf) (- (* 0.5 d) c))
p6 (polar p5 (+ (* 0.5 pi) alf) c)
p7 (polar p3 (+ (* 0.5 pi) alf) (- m n))
p8 (polar p4 (+ (* 0.5 pi) alf) (- m n))
)
   
  (command "arc"p2"c"p0 p1);程序在这里出错中断
  (command "arc"p4 p6 p3)
  (command "arc"p8 p5 p7)
   
  (command "line"p1 p3"")
  (command "line"p2 p4"")
)
发表于 2003-4-28 10:57:00 | 显示全部楼层

(setq b (atof "c1")),c1为变量,怎么能加引号?...

 楼主| 发表于 2003-4-29 01:08:00 | 显示全部楼层

成功了! 万分感谢.

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

本版积分规则

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

GMT+8, 2024-11-26 11:44 , Processed in 0.166393 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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