乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 33|回复: 6

[编程交流] 可预测尺寸舍入

[复制链接]

9

主题

26

帖子

17

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 14:21:44 | 显示全部楼层 |阅读模式
你好
 
两条尺寸线
-一个8.5,另一个7.5。
-如果dimrnd设置为1,则在图形上返回8;如果dimrnd设置为0.5,则返回8.5;如果dimrnd设置为0.5,则返回7.5。
 
这把我试图写的lisp搞糟了,因为我无法预测0.5的哪一边会显示在图纸上。
 
如有任何想法,我们将不胜感激。
 
谢谢
马丁
回复

使用道具 举报

9

主题

26

帖子

17

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 14:40:48 | 显示全部楼层
...仍然不确定要预测哪一方,或者为什么希望有任何见解,但我可能已经在vla get PrimaryUnitsPrecision(=8)中找到了lisp的答案。哈-不,我没有-这是巧合,它等于8。所以还是不知所措
 
干杯
马丁
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:49:37 | 显示全部楼层
您能不能在LISP中将dimrnd设置为0?
回复

使用道具 举报

9

主题

26

帖子

17

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 14:55:57 | 显示全部楼层
嗨,李。感谢您的回复。我现在在家,所以很难检查dimrnd 0将给我什么(如果是零舍入-即从(42.xxx)中提取什么,那么那将不起作用。
 
我想我应该解释一下我想要实现什么。
 
比如说,有一个项目需要用孔来标注尺寸。
 
整体尺寸用dimlinear(例如)绘制,所有子尺寸也是如此。
 
有时,由于每个子维度的舍入,这些子维度的总和并不像它们应该的那样。例如,如果添加4.4和4.4,整体尺寸将为9,但子尺寸将为4和4。
 
lisp遍历并提取所有子DIM的42个实体值,并将它们相加。这将给出准确的答案(四舍五入将等于整体),但例程还提供了第二个解决方案,在将子DIM相加之前对其进行四舍五入。例行程序只是一个检查工具。
 
我认为这一切都是好的,因为舍入值与子维度上看到的一致,但在维度正好是中整数的情况下,例如4.5或10.5等,无法预测acad将选择显示哪一侧-因此我的问题。
 
很抱歉进行了详细的解释,但希望这能为应用程序提供一个概念。
 
干杯
马丁
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:04:00 | 显示全部楼层
我能理解你的问题。
 
我最初会考虑使用类似以下的函数模拟ACAD舍入:
 
[code](defun round(num)(如果(
回复

使用道具 举报

9

主题

26

帖子

17

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 15:20:08 | 显示全部楼层
是的,我使用的功能基本上与你在上面发布的完全相同。不过再次感谢-我只需要使用计算器。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:28:03 | 显示全部楼层
 
很抱歉,我帮不上什么忙-我不完全理解AutoCAD为什么会这样做。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 03:09 , Processed in 0.520712 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表