明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 梦里水香

[已解答] 弯头绘制程序,输入I系列直径(小数点)时出错求指导

[复制链接]
 楼主| 发表于 2014-5-26 22:42:21 | 显示全部楼层
liu22737 发表于 2014-5-26 22:21
(yj_wtsj l)
改为
(yj_wtsj(rtos L 2 0))

(yj_wtsj (rtos l 2 0)
("114.3" 100 102)
这样的话小数倒是管用了,可是整数又不管用了。。好郁闷
发表于 2014-5-26 22:46:00 | 显示全部楼层
本帖最后由 llsheng_73 于 2014-5-26 22:47 编辑
梦里水香 发表于 2014-5-26 22:01
对啊,就是这样,单独运行子命令是正确。

问题在于你的L是从两个点用DISTANCE计算出来的,那两个点是你GETPOINT得到的,这就无法保证它能够刚好在你的列表里边,(setq l (distance p0 p1))改为(setq l (ATOF(RTOS(distance p0 p1)2 1)))估计可以,因为你既然这样做,那两个点的距离应该很接近你想要的数值的
至于实数与整数,只要数值相等是可以的
(YJ_WTSJ 508.0)
(508 500 508)
_$ l
508
_$ dn
500
_$ a
508
_$

评分

参与人数 1明经币 +1 金钱 +30 收起 理由
梦里水香 + 1 + 30 赞一个!

查看全部评分

 楼主| 发表于 2014-5-26 22:56:38 | 显示全部楼层
llsheng_73 发表于 2014-5-26 22:46
问题在于你的L是从两个点用DISTANCE计算出来的,那两个点是你GETPOINT得到的,这就无法保证它能够刚好在你 ...

在谢谢了,这个问题想了两天脑袋都想破了,现在终于解决了。
再次感谢!
发表于 2014-5-26 23:52:42 | 显示全部楼层
梦里水香 发表于 2014-5-26 22:56
在谢谢了,这个问题想了两天脑袋都想破了,现在终于解决了。
再次感谢!

  1. (defun C:yj_wt ()
  2.   (setvar "osmode" 0)
  3.   (while
  4.     (null(vl-remove'nil(yj_wtsj(atof(rtos(distance(setq p0(getpoint"\n set basepoint:"))(setq p1(getpoint p0"\n input zhijing:")))2 1)))))
  5.     )
  6.   (setq tt (getdist p1 "\n input bihou:")
  7.         ang (angle p0 p1)
  8.         p00 (polar p0 ang (+ A (/ l 2)))
  9.         p2 (polar p0 ang (* 0.5 l))
  10.         p3 (polar p2 (- ang (/ pi 4)) (* (sqrt 2) A))
  11.         p6 (polar p0 ang tt)
  12.         p7 (polar p1 ang (* tt -1))
  13.         p4 (polar p00 (- ang (/ pi 2)) (- A (/ l 2)))
  14.         p5 (polar p00 (- ang (/ pi 2)) (+ A (/ l 2)))
  15.         p8 (polar p4 (- ang (/ pi 2)) tt)
  16.         p9 (polar p5 (+ ang (/ pi 2)) tt))
  17.   (command "_.line" p0 p1 "")
  18.   (command "_.line" p4 p5 "")
  19.   (command "_.arc" "c" p00 p1 p4)
  20.   (command "_.arc" "c" p00 p0 p5)
  21.   (command "_.arc" "c" p00 p6 p9)
  22.   (command "_.arc" "c" p00 p7 p8)
  23.   (command "_.arc" "c" p00 p2 p3)
  24. (princ)
  25. )

先对P0,P1两点得到的距离进行检查,如果有不小心点错了马上重新获取p0,p1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-19 20:40 , Processed in 0.152617 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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