andyhua 发表于 2021-5-13 16:57:03

求助,如何让一个长度为1000.00000001的线精确变成为1000.00000000

求助,如何让一个长度为1000.00000001的线精确变成为1000.00000000。就是小数点后8位完全精确到0。

andyhua 发表于 2021-5-13 17:00:28

(defun c:lent (/ cm cd_err0)
(princ "\n*** 拉长全部 ***")
(setq cm (getvar "cmdecho"))
(setq cd_err0 *error* *error* cd_err)
(setvar "cmdecho" 0)
(command ".lengthen" "t")
(setvar "cmdecho" cm)
(setq *error* cd_err0)
(princ)
)
虽然可以用上面的代码,输入1000,但是程序还是改不了,可能是CAD的BUG吧,认为输入的数字和已有长度是一样的,不用改。但是如果用上面的程序输入900,选择线后,再重复命令输入1000,又可以精确到1000了。请教高手们,如何修改这个代码让其可以完全精确到小数后面的8个0。谢谢。本人不会LISP程序,能否帮我改好代码,谢谢。

start4444 发表于 2021-5-13 18:16:20

如果单纯是直线就不用折腾了,直接删了重新画一条1000长度的线就行了

baitang36 发表于 2021-5-13 20:46:17

cad的浮点数精度没有那么高吧,小数点后面很多位没意义

panliang9 发表于 2021-5-14 08:51:02

本站很多,查得到的就有五个,下面是其中一个。
线条去小数
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=176044&highlight=%CF%DF%CC%F5%C8%A5%D0%A1%CA%FD

andyhua 发表于 2021-5-14 09:18:38

谢谢楼上的各位们的热心解答,其实我是只是好奇为什么拉长命令的全部选项,不能精确消除非0数字而已。
命令: _lengthen
选择对象或 [增量(DE)/百分数(P)/全部(T)/动态(DY)]:
按理说,我输入1000,就应该是1000的
页: [1]
查看完整版本: 求助,如何让一个长度为1000.00000001的线精确变成为1000.00000000