明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: dhy

[已解答] 为什么这程序不能执行第二次呢

[复制链接]
发表于 2014-11-3 19:38:05 | 显示全部楼层
使用getstring函数时,应判断值是否为""(按回车键),而""并不是nil。
发表于 2014-11-3 21:12:00 | 显示全部楼层
9楼改了,再试试。
发表于 2014-11-3 22:56:23 | 显示全部楼层
ZZXXQQ 发表于 2014-11-2 18:29

非常好!如果添加 t1=t2=0 时就无公差,也相当于还原作用,是不是更好呢
 楼主| 发表于 2014-11-4 08:31:13 | 显示全部楼层
ZZXXQQ 发表于 2014-11-3 21:12
9楼改了,再试试。

谢谢,达到理想的效果,这才是我想要的
 楼主| 发表于 2014-11-4 11:17:03 | 显示全部楼层
ZZXXQQ 发表于 2014-11-2 18:29

请问公差里面,明明是输入了+号的,为什么不显示+号呢,-号就有显示
发表于 2014-11-4 11:30:37 | 显示全部楼层
dhy 发表于 2014-11-4 11:17
请问公差里面,明明是输入了+号的,为什么不显示+号呢,-号就有显示

再改一下
  1. (defun C:G5 ()
  2. (if (and
  3.       (if (setq t11 (getreal
  4.         (strcat "\n请指定上限公差值+" (if t1 (strcat "<" (rtos t1 2) ">: ") ": "))))
  5.        (setq t1 t11) t1
  6.       )
  7.       (if (setq t21 (getreal
  8.                     (strcat "\n请指定下限公差值-" (if t2 (strcat "<" (rtos t2 2) ">: ") ": "))))
  9.        (setq t2 t21) t2
  10.       )
  11.       (princ "\n选择尺寸: ")
  12.       (setq ss (ssget '((0 . "DIMENSION")))))
  13. (progn
  14.   (setq t1f (if (> t1 0) "+" ""))
  15.   (setq t2f (if (> t2 0) "+" ""))
  16.   (if (equal t1 t2 1e-6)
  17.    (setq txt (strcat "<>%%P" (rtos t1 2)))
  18.    (setq txt (strcat "<>{\\H0.7x;\\S" t1f (rtos t1 2) "^" t2f (rtos t2 2) ";}"))
  19.   )
  20.   (repeat (setq i (sslength ss))
  21.    (setq ent (entget(ssname ss (setq i (1- i)))))
  22.    (entmod (subst (cons 1 txt) (assoc 1 ent) ent))
  23.   )
  24. ))
  25. (princ)
  26. )
 楼主| 发表于 2014-11-4 13:38:06 | 显示全部楼层
本帖最后由 dhy 于 2014-11-4 14:01 编辑
ZZXXQQ 发表于 2014-11-4 11:30
再改一下

原来还可以这样,谢谢!.还想问一下,1e-6是什么意思呢?
发表于 2014-11-4 15:02:51 | 显示全部楼层
dhy 发表于 2014-11-4 13:38
原来还可以这样,谢谢!.还想问一下,1e-6是什么意思呢?

很小的实数,常用来表示精度,用作浮点数的“模糊”相等。
计算机进行运算时,整数和浮点数(实数)是不同的,整数用加法器运算,不会出现小数,最终结果是确定的等于。而小数则在计算机中不能准确表示,在计算机中用浮点数近似表示一个实数,这样在计算时也就会和需要表达的值有一个“误差”,而且在不断计算时,这些“误差”可能是累计的,这样,在进行浮点数计算时,可以近似把两个误差在一定范围内的数认为是“相等”,这个误差就是精度。1e-6就常表示这个精度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-23 23:29 , Processed in 0.176183 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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