机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 9816|回复: 9
打印 上一主题 下一主题

方程式怎么设置数值的小数点后面精确到几位?

[复制链接]
跳转到指定楼层
1#
发表于 2020-5-25 22:24:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个问题很久以前就困扰过我, 钣金件的材料,在零件的自定义里写的是"SW-材质"/t"厚度@钣金",工程图里引用了就有厚度,明细表里的也是,但是它会显示去除尾数0,例如1.5的显示是1.5,这个是好的,2个厚的他就是显示2,但是经理说最好是显示2.0,小数点后面要留一位。不过后来也没有要求了,反正也没有影响。但是最近做零件模板的时候,发现那个真得弄。0 ?8 B) ^9 B3 d+ _5 u3 K$ R4 [8 f

6 s) X( R& H+ E我最近做了三圆弧直线链轮的模板,是参数的,只要填写几个主要参数,刷新就是一个链轮,链轮的工程图模板里把表格做好了,都对应到了零件里面的属性。参数化的好处就是方便更改,用GTGearTrax等工具画的,其实是新画的一个,换进去配合要重新找面。  h* ~$ h- _  z6 `

) [' T5 {$ [0 B然后问题来了,我把量棒测量距的方程式写进去了,但是小数点后精确到了4位,到了同事电脑就是3位了,我们的SolidWorks都是我装的,安装包一样,安装位置和模板位置都一样,装好后是用的同一个设置文件恢复设定的。不知道要怎么改。
  J; J% l# B6 C+ X" P! c2 i! ~! j  C5 @& _
我要的是单独量棒测量距那一项是精确到小数点后3位,其他的都是填多少是多少,毕竟不能在工程图的参数表里给个齿数20.000……
% u4 U6 g6 h: J5 I
8 g" z3 ?( C4 T$ N! C之前百度,可是没有方法,唯一的一条还不对,那条是说前面加{3} ,就是精确到小数点后三位,可是我试了,没法用
) l" `/ v' k8 h- O4 c* n9 w
6 E. D0 ~) p$ e4 Y
回复

使用道具 举报

2#
发表于 2020-5-25 22:27:59 | 只看该作者
solidworks软件的”选项”可以设置数值的小数点后的位数。
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2020-5-25 22:28:53 | 只看该作者
= if ( "齿数" / 2 - int ( "齿数" / 2 ) = 0 , "链条节距" / sin ( 180 / "齿数" ) + "滚子直径" * 0.995 - 0.1 , "链条节距" / sin ( 180 / "齿数" ) * cos ( 90 / "齿数" ) + "滚子直径" * 0.995 - 0.1 )
/ Q3 z6 G. L$ {% V$ c9 Y" ^9 v/ i. V+ j( p
这个是量棒测量距的方程式,根据齿数的奇偶用不同公式。
' H6 G) Q7 B/ D5 V8 p. M) r6 j2 g) `0 x% i
以前都是在方程式里添加全局变量,直接用字母,右边评论里说明含义。现在为了做工程图模板方便,就直接在文件属性的配置特定里用中文写了,因为发现以前写在方程式里要链接到工程图属性很麻烦,所以全搬到自定义里头用中文写了。6 B2 z0 M5 S! q5 m8 I0 e7 f, A$ k
5 k8 d* t4 v3 S0 s7 o) L
我用的2014,函数很少,没有EXCEL多,常用的几个奇偶确定函数都没有,excel要么是mod2(X,2),就是X除以2的余数,等于0代表偶数,要么是(-1)^X,就是-1的X次方,等于1就是偶数。SolidWorks里前面那个MOD没有,那个(-1)^X在if函数里会错误,显示不了结果,但是2016又是好的。
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2020-5-25 22:33:50 | 只看该作者
晓昀 发表于 2020-5-25 22:27
# h- N" U2 v8 h' Y  b0 C/ Gsolidworks软件的”选项”可以设置数值的小数点后的位数。

, A$ l% V) \& y2 {- v0 ^不是呀,我这是方程式里的,不一样,而且我要不同项目精确到小数点后位数不一样
& T/ A  B% e1 `! e9 _9 I3 n) \
回复 支持 反对

使用道具 举报

5#
发表于 2020-5-26 08:43:24 | 只看该作者
感谢分享
回复

使用道具 举报

6#
发表于 2021-10-20 14:24:48 | 只看该作者
参考如下格式:4 B" \' h3 V; {2 a7 ?. }6 @
"重量1"=int( "SW-质量"*100 ) /100      3 D3 [! x$ \, `& U% n! w
比如:1.256,乘100变为125.6,取整后为125,除以100,变为1.25。即将数值变为小数点后两位。但这里没有四舍五入。
( v! I& w$ {2 n5 R5 j% M2 k: }要四舍五入,公式就要变为:"重量1"=int( "SW-质量"*100+0.5 ) /100
回复 支持 反对

使用道具 举报

7#
发表于 2021-10-27 08:33:30 | 只看该作者
不知有没有理解对》
4 X  a9 f$ f3 W4 [% g1 \# [; O/ b+ Q) ?  q

3 C: h$ B% H2 N  y& p, `) j例如    A=B*C         想要控制A的显示精度----------A={2}B*C   #结果保留2位小数;& m' Z8 B  P' F' B5 ?' x1 I/ ]
1 X9 \0 t5 c, Y6 N
有的版本可能中括号更好用些  [ ],可以试下。
8 q. G; e. }4 i, F! ~# B6 k$ t6 L8 m: D  D
1 i2 N3 `6 h' D6 D  @) x
回复 支持 反对

使用道具 举报

8#
发表于 2021-10-29 13:05:21 | 只看该作者
参数化设计还是要加强学习一下
回复 支持 反对

使用道具 举报

9#
发表于 2024-3-1 14:06:47 | 只看该作者
使用取整函数int()可以实现小数位数的控制(但是不会四舍五入,只能舍掉需求位数后面的)$ Z& h! g3 ~. Z3 c1 _. o; E
例如:a=1.263683 v6 U8 q7 r0 `% o7 H2 V0 d
保留一位小数:int(a*10)/10=1.2 --注解: a*10=12.536,int()取整=12,再除以10=1.2
" h1 O* X1 s7 _5 E保留两位小数:int(a*100)/100=1.25 --注解: a*100=125.36,int()取整=125,再除以100=1.25- q# h+ h, w- T5 z& b* f3 w/ g
保留三位小数:int(a*1000)/1000=1.253 --注解: a*1000=1253.6,int()取整=1253,再除以1000=1.253
; c. C' G( r, G  J+ N/ V依次类推~~~
回复 支持 反对

使用道具 举报

10#
发表于 2024-3-1 15:28:24 | 只看该作者
图纸设置里可以选择尾随0显示位数
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-11-9 00:39 , Processed in 0.051747 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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