rmjcorp 发表于 2022-7-6 08:51:51

如何更改单位或转换

我一直在寻找,没有答案。我希望能够使用李Mac的lsp文件“A2F.lsp”,但输出是SF。输出是以国际单位制输出的,我想知道如何修改它,使其以舍入的平方英尺数输出,例如25sf,而不是25.5sf。我一直在阅读关于这些文件是如何编写的教程,但似乎我有点不知所措。有人能帮我吗?提前谢谢。
 
请注意LSP文件的链接
http://lee-mac.com/lisp/Areas2Field.lsp
A2F。lsp

MSasu 发表于 2022-7-6 09:03:10

您希望舍入到最近的较小整数值(逐删除舍入)?
我认为您正在寻找类似以下示例的内容-我对这些行进行了注释,以使您能够理解它:

(setq AreaSI "3672")               ;area in Sqare Inches, string
(setq AreaSI (atof AreaSI))          ;convert area to double
(setq AreaSF (/ AreaSI 12.0 12.0))   ;transform in Square Feets
(setq AreaSF (fix AreaSF))         ;round area to integer (by remove only)
(setq AreaSF (rtos AreaSF 2 0))      ;convert area to string

 
当做
米尔恰

rmjcorp 发表于 2022-7-6 09:08:42

谢谢你的回复。你能告诉我在哪里插吗?

rmjcorp 发表于 2022-7-6 09:19:21

无论我在哪里放置它,我都会遇到这样的错误“错误:错误的参数类型:numberp:nil”

MSasu 发表于 2022-7-6 09:22:23

似乎你在那里使用了一个表达式;对不起,我不熟悉,所以帮不了你。我在想,你把面积当成一根绳子。
 
当做
米尔恰

Lee Mac 发表于 2022-7-6 09:36:31

 
您好,rmjcorp,
 
首先,我宁愿你提供一个链接到程序的位置或你在哪里找到代码,而不是张贴在这里的程序;否则,我有许多不同版本的程序散落在论坛上,版本控制成了一场噩梦。
 
在代码顶部,您应该找到一行,指定程序的字段格式:
 
(setq format "%lu6%qf1") ;; Field Formatting
 
这与字段对话框上显示的格式相同。
 
例如:
"%lu6%qf1"=Current Units & Precision
 
"%lu2%pr4"=Decimal Units & 4 d.p. precision
 
使用字段对话框和命令确定需要使用的格式代码。

rmjcorp 发表于 2022-7-6 09:42:43

李·麦克,
 
我想为我的附件道歉。吸取的教训。谢谢你的帮助。我正在努力阅读我自己编写的LISP脚本,但可能需要几周的时间才能开始理解很多语言,因此非常感谢您的快速回复。再次感谢!

Lee Mac 发表于 2022-7-6 09:47:51

 
没问题,无需道歉

SLW210 发表于 2022-7-6 09:52:20

rmjcorp,
 
请阅读代码发布指南并编辑包含代码段的第二篇文章。
页: [1]
查看完整版本: 如何更改单位或转换