QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 4803|回复: 27
收起左侧

[求助] 工程图中尺寸精度问题

[复制链接]
发表于 2010-9-3 14:26:05 | 显示全部楼层 |阅读模式 来自: 中国江苏苏州

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
主尺寸的工程精度中最后那个 .12(文件)是什么意思???与上面那个.12有何区别?为何二次开发时GetPrimaryPrecision只能获得上面(没有加括号“文件”)的那个.12的精度值而 当获取选择了尺寸精度为.12(文件)的尺寸精度时返回值竟然为0???
, L/ h1 y8 S- R; B& \6 f. ?http://fans.solidworks.com.cn/bbs/images/default/attachimg.gif http://fans.solidworks.com.cn/bbs/attachments/month_1009/10090314170d8bf46ccb698598.png 下载 (2.7 KB)
: }7 M: \  k7 L$ `6 分钟前
6 p5 u' l' h8 k& z+ `  S8 u2 P; U% \/ i2 W" ?

+ @- N5 n8 a) t" P. s7 G) V1 e) S6 o
同样道理,对于尺寸的公差精度中的最后2个 “ 与公称相同(文件)”以及“与公称相同”为何2个都在GetPrimaryPrecision时返回值是0呢??
* J" Z$ ]; V* t3 \  P$ L
5 s" W+ }% C' b& U, |* K3 Nhttp://fans.solidworks.com.cn/bbs/images/default/attachimg.gif http://fans.solidworks.com.cn/bbs/attachments/month_1009/10090314225dc6cbb2a11d4055.png 下载 (3.78 KB)! Z+ C5 t& O: Z; F
1 分钟前
( t! `* B: v! T0 W
! J7 k8 s3 l0 a6 U0 R8 F+ q7 }  n0 Y$ {& }( f- C/ g7 N7 {

* R) W0 ]% q9 s+ C: x1 N如何获得这个有(文件)的尺寸精度返回值呢???
发表于 2010-9-3 16:02:59 | 显示全部楼层 来自: 中国天津
真怀疑你学过机械制图没,没看到红色突出显示的位置不同吗,一个是尺寸,一个是尺寸公差,你学程序开发毕业的吗
 楼主| 发表于 2010-9-3 16:10:59 | 显示全部楼层 来自: 中国江苏苏州
我想您是误解我意思了,再斟酌下我想问的意思吧,另外,我是学英文的
发表于 2010-9-3 22:32:42 | 显示全部楼层 来自: 中国广东深圳
以上的0.12、0.123等代表显示小数点位数,4舍5入。只代表显示精度,不影响机内数值。
发表于 2010-9-4 07:05:19 | 显示全部楼层 来自: 中国天津
你一个学英文的在没有任何专业基础的情况下就冒然鼓捣,我看你没资格说别人误解你,因为你根本说不清楚专业问题
发表于 2010-9-4 07:50:43 | 显示全部楼层 来自: 中国江苏常州
图挂了
7 M9 t) F1 W4 N' f* I问一下GetPrimaryPrecision是啥?
发表于 2010-9-4 20:15:05 | 显示全部楼层 来自: 中国湖北武汉
这个问题也问?
 楼主| 发表于 2010-9-6 08:26:42 | 显示全部楼层 来自: 中国江苏苏州
我想我得重新描述一下我的问题,可能大家没怎么明白我的意思,就拿第一个图来说,从上面数下来第2个精度0.12是精确到小数点后2位,这个谁都知道,当您二次开发时运用GetPrimaryPrecision函数获得尺寸精度的时候自然获得的返回值是2(代表精确度为小数点后2位)。但是大家看到第一张图的最后一个精度了吗,0.12(文件),这个与0.12有上面具体的区别呢?为什么当选择的尺寸精度是0.12(文件)时运行同样的获得尺寸精度宏的时候,返回值却是0呢??
 楼主| 发表于 2010-9-6 08:28:11 | 显示全部楼层 来自: 中国江苏苏州
既然您这么认为那也就没沟通的必要了,论坛论坛没有彼此认同哪来的交流谈论
 楼主| 发表于 2010-9-6 08:28:57 | 显示全部楼层 来自: 中国江苏苏州
既然您这么认为那也就没沟通的必要了,论坛论坛没有彼此认同哪来的交流谈论
 楼主| 发表于 2010-9-6 08:30:18 | 显示全部楼层 来自: 中国江苏苏州
既然您这么认为那也就没沟通的必要了,论坛论坛没有彼此认同哪来的交流谈论
 楼主| 发表于 2010-9-6 08:34:37 | 显示全部楼层 来自: 中国江苏苏州
API函数,功能是是获得尺寸的精度值
 楼主| 发表于 2010-9-6 08:35:35 | 显示全部楼层 来自: 中国江苏苏州
我想我得重新描述一下我的问题,可能大家没怎么明白我的意思,就拿第一个图来说,从上面数下来第2个精度0.12是精确到小数点后2位,这个谁都知道,当您二次开发时运用GetPrimaryPrecision函数获得尺寸精度的时候自然获得的返回值是2(代表精确度为小数点后2位)。但是大家看到第一张图的最后一个精度了吗,0.12(文件),这个与0.12有上面具体的区别呢?为什么当选择的尺寸精度是0.12(文件)时运行同样的获得尺寸精度宏的时候,返回值却是0呢??
发表于 2010-9-6 08:44:01 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 软体动物 于 2010-9-6 08:49 编辑 # C, b' ]& E+ l# I  C

5 v( ~) G; `! `* s4 e, y1 m! @回答楼主的,  最后一个 (12)文件 , 说明,你图中已开始画,' N( ~  |) \9 C; F  L
或者你打开的这个SW 模板原文件已经有精度默认标示,
/ C2 ^& u% ^9 m+ e0 K6 E/ a: [; w+ i就是 小数点 2位, 懂吗!( }7 j( e, k/ V9 O1 b8 {6 D$ t1 z
++++++++++++++++++++++( w6 f5 E* g  v: h5 W; _- ?0 p: B( e- ?
几乎所有的机械软件, 打开默认模板(或空白文件),它一般自动帮你标为小数点2位的精度作为当前文件的默认精度!!
$ |) A! i; w2 @ ' \3 \8 P+ a- }% ~- U5 w% p
如果这样回答,你还不明白,那我估计你也别学机械了,
 楼主| 发表于 2010-9-6 09:01:46 | 显示全部楼层 来自: 中国江苏苏州
我懂你意思啊,那既然默认的精度是2位,那为何当我选择精度是0.12(文件)的时候,执行程序之后返回值是0呢?这个怎么解释
发表于 2010-9-6 11:51:45 | 显示全部楼层 来自: 中国上海
本帖最后由 gneful 于 2010-9-6 12:06 编辑 5 l& h) j( ~2 U9 F6 g

' b9 g1 S/ u5 e$ W7 o不知道楼主使用的SW是什么版本的,
- w( g# n9 q, C+ R5 J5 H0 X通常情况下,某个函数的返回值都会在API帮助里明确的表示出来,但是我这里的帮助文件里已经没有“GetPrimaryPrecision”这个函数的相关说明了,可以认为这是一个“过期”的函数。# O4 a9 s' T5 `2 C" U* ]3 Z
(通常原函数存在缺陷,或者有新的功能更强的函数可以完全取代原函数功能时,就会是这种情况)
5 S/ c8 K6 b0 P/ h(但是为了保持旧程序的兼容性,“过期”的函数是可以在新版本的软件里继续使用的,但是需要自己承担原函数可能存在的功能不足或功能缺陷,很可能原函数返回值不理想就是其被取代的原因之一)
# \! n6 d  [1 B4 V$ F7 @$ q
- _# [% J8 x) m( n1 z6 _& d- I建议你使用新的函数 GetPrimaryPrecision2
1 T0 b' i& H) G( x* E1 eSW2004开始就可以使用这个函数了。* z  \" z0 K( s1 x, e# ~  ?
6 ~1 f4 w% G: p; G9 d* r/ {
另外,说一下“.12文件”的含义。
( H) k& o0 L, W4 @4 p1 @" P任何文件都有许多默认设置,这些设置被保存在“文件属性”中。(可以通过菜单【工具/选项/文件属性】来修改这些设置)1 p# ^# s$ V% P/ ^2 v
“.12文件”的意思是:当前尺寸精度遵从文件默认设置,而此时文件的默认设置为“.12”
) e8 J8 g2 i0 f% a, B选择这个选项后,尺寸显示的精度为2位,此时如果将文件的默认设置改为3位,那么该尺寸的显示精度也将自动改变。6 a# X6 m& d% i8 `+ b0 ]6 }% g

( y( `$ k4 K1 N# t从帮助可以看出,如果尺寸设置为“.12文件”时,GetPrimaryPrecision2的返回值是 swPrecisionFollowsDocumentSetting     (-2)" O# b7 ], @! F& @* V% S
而且帮助里还给出了此种情况下,获得尺寸精度的方法。' Q& \  P7 h( A$ P1 W& J$ P8 Q

2 t) K# ^6 l# R* Q* [1 U) Q(顺便说一下,我的电脑中,这种情况下,GetPrimaryPrecision 的返回值是 2)
发表于 2010-9-6 12:20:32 | 显示全部楼层 来自: 中国江苏常州
二次开发俺不懂,实在爱莫能助
& G% C0 T' U7 q2 m/ a但是楼主的标题实在是有很大的误导作用,上面很多人都误解了楼主的意思了
 楼主| 发表于 2010-9-6 12:53:59 | 显示全部楼层 来自: 中国江苏苏州
谢谢解答!!能否继续给出指示?万分感谢( @* Q6 e& U3 W+ G/ f4 @1 r
本人使用SW2010 SP3.1
4 Q" |+ V4 K& k 请问以帮助中下哪边可看出返回值为 swPrecisionFollowsDocumentSetting     (-2)) Z5 L/5 i# `8 _0 Y$ m. h/ {; c( S9 ]

8 ^# h* I* g- P+ U+ a能否继续给出指示?万分感谢
; h  X" k7 \1 \1 J0 Q7 I ! G  o( c7 j% }* C% ]5 X

- g' P* T; `3 e# V* g( q2 H, X- \+ [4 R! B9 t" o/ V
Gets the primary dimension precision setting for this display dimension. [img]ms-its:\SolidWorks2010\SolidWorks\api\sldworksAPI.chm::/dotnetimages/collapse.gif[/img].NET Syntax
Visual Basic (Declaration)
Function GetPrimaryPrecision2() As Integer

- f. j. I0 _+ S" l1 c# @
Visual Basic (Usage)http://ms-its:D:\\SolidWorks2010\\SolidWorks\\api\\sldworksAPI.chm::/dotnetimages/copycode.gifCopy Code
Dim instance As IDisplayDimensionDim value As Integer value = instance.GetPrimaryPrecision2()
* ^; U& o+ U+ K9 j/ u* `) ^
C#
int GetPrimaryPrecision2()
( L: S: J, X% z: X! I; x( A
C++/CLI
int GetPrimaryPrecision2();

' Z* q* [) }" E, [4 b$ {NOTE: See Differences Between Unmanaged C++ and C++/CLI Code. Return ValuePrecision setting as defined by swDimensionPrecisionSettings_e / ^2 Z+ b8 W0 k# ~! J
http://ms-its:D:\\SolidWorks2010\\SolidWorks\\api\\sldworksAPI.chm::/dotnetimages/collapse.gifVisual Basic for Applications (VBA) SyntaxSee DisplayDimension::GetPrimaryPrecision2.
2 w  ~- x* u, V) i- ]0 Z- d0 n( Mhttp://ms-its:D:\\SolidWorks2010\\SolidWorks\\api\\sldworksAPI.chm::/dotnetimages/collapse.gifExampleGet Precisions for a Dimension (VBA)
4 h: a7 o4 N2 _; g; ^) g5 [http://ms-its:D:\\SolidWorks2010\\SolidWorks\\api\\sldworksAPI.chm::/dotnetimages/collapse.gifRemarksIf the return value equals swPrecisionFollowsDocumentSetting, then the precision being used is the document default for dual dimension values. You can retrieve the value using IModelDocExtension::GetUserPreferenceInteger with swDetailingLinearDimPrecision or swDetailingAngularDimPrecision. Otherwise, the return value is the precision in the dimensions primary units.
& G* p) z  {. k3 o0 eUse IDisplayDimension::SetPrecision2 to set precision values on this display dimension.
1 D: c5 k( o3 [8 R9 \3 s  j7 v/ |! N9 P# S: l4 V
  http://ms-its:D:\\SolidWorks2010\\SolidWorks\\api\\sldworksAPI.chm::/dotnetimages/collapse.gifSee AlsoIDisplayDimension Interface $ h  y  ]' i* O! X% b
IDisplayDimension Members
$ G5 T3 V$ v( d* }IDisplayDimension:GetAlternatePrecision2 Method 4 `. J+ ]4 W+ |, y( y6 e
IDisplayDimension:GetAlternateTolPrecision2 Method . e7 N# x5 A9 |- c7 A; U
IDisplayDimension:GetPrimaryTolPrecision2 Method
% c4 R$ y, }9 r- ^+ ]# z5 m: b$ d) z/ k6 C* {: Q8 B1 P
http://ms-its:D:\\SolidWorks2010\\SolidWorks\\api\\sldworksAPI.chm::/dotnetimages/collapse.gifAvailabilitySolidWorks 2004 FCS, Revision Number 12.0
 楼主| 发表于 2010-9-6 12:55:53 | 显示全部楼层 来自: 中国江苏苏州
尺寸精度API.png 3 Q6 _% K* u4 ]0 S. E* y4 o
从哪里看出返回值是您给出的那个啊。。?
 楼主| 发表于 2010-9-6 12:57:14 | 显示全部楼层 来自: 中国江苏苏州
嗯,是我表达水平太低的问题吧大概!!抱歉,不过上面那位解决了我的问题,谢谢!
 楼主| 发表于 2010-9-6 13:09:04 | 显示全部楼层 来自: 中国江苏苏州
这个问题了解了,能否帮忙顺便看下这个问题:怎么样get 尺寸标注中覆盖的那个尺寸
9 d4 v! O2 |' Q4 P2 w# U: _% T 覆盖.png
3 J% {; p; i* a; G3 C" }" `8 k
) I" M8 V3 y7 {) J/ |怎么样get那个300
& `( y8 h6 x# f- y5 C, e3 @$ U  |. o用哪个函数啊?
发表于 2010-9-6 13:33:32 | 显示全部楼层 来自: 中国浙江宁波
这个问题自己好好研究研究
发表于 2010-9-6 13:35:56 | 显示全部楼层 来自: 中国浙江杭州
同意14楼老兄的解释!
 楼主| 发表于 2010-9-6 13:37:23 | 显示全部楼层 来自: 中国江苏苏州
什么意思??我说的不够清晰+你的理解能力不够??
 楼主| 发表于 2010-9-6 13:54:58 | 显示全部楼层 来自: 中国江苏苏州
能否给点提示?我已经研究了不少时间了!谢谢了啊!!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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