找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 22285|回复: 22
打印 上一主题 下一主题

CAA中如何设置精度 accuracy

[复制链接]
跳转到指定楼层
1
发表于 2005-9-19 13:07:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

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

x
我怎么样才能够设置CATIA中的精度。我现在想将CATIA中原有的精度0.01重新设置成1,请各位高手指点应该用哪个API,我找到了几个API但是不知道怎么得到这几个接口。CATIVizVisualizationSettingAtt  和 CATSettingRepository 请高手们指点。谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
23
发表于 2006-4-5 16:46:04 | 只看该作者
新发现 CATInstantiateComponent

CATIVizVisualizationSettingAtt  *vizSettingCtrl  =  NULL;   
hr  =  ::CATInstantiateComponent("CATVizVisualizationSettingCtrl", IID_CATIVizVisualizationSettingAtt, (void**)&vizSettingCtrl );
22
发表于 2006-3-31 14:41:39 | 只看该作者
大致有些眉目了

取得当前的application,用它的 CATIAApplication的IF的
virtual HRESULT __stdcall get_SettingControllers(CATIASettingControllers *& oCtrl)
来取得CATIASettingControllers
然后用它的
virtual HRESULT __stdcall Item(const CATBSTR & iIndex, CATIASettingController *& oSetting);
取得oSetting应该可以cast->CATIVizVisualizationSettingAtt

然后用CATIVizVisualizationSettingAtt来改设定了话,应该和上面的macro是一个效果
21
发表于 2006-3-29 15:19:43 | 只看该作者
用下面的macro了话,可以马上反映值的变化
Language="VBSCRIPT"

Sub CATMain()

Dim settingControllers1 As SettingControllers
Set settingControllers1 = CATIA.SettingControllers

Dim visualizationSettingAtt1 As SettingController
Set visualizationSettingAtt1 = settingControllers1.Item("CATVizVisualizationSettingCtrl")

visualizationSettingAtt1.Viz3DFixedAccuracy = 2.000000

visualizationSettingAtt1.SaveRepository

End Sub

在VC如果可以得到CATIASettingController或CATISysSettingCtrl应该可以做到,尝试中

[ 本帖最后由 acoka 于 2006-3-29 15:59 编辑 ]
20
发表于 2006-3-29 10:13:35 | 只看该作者
验证了一下,发现的确如你所说,不重起catia了话,它不会去更新设定值
1,改后不用关闭现有document, new个任意的part或paroduct后马上close它
2,改后打开option,dump一次
改过的值就反映出来了,试试看有没有什么简单的方法能让catia去重读一次设置


如果要马上生效对图形进行更新,或许必须Redraw整个model
1,取得当前document
2, ->CATIDocRoots
3,得到要重画的feature
4,利用CATIVisuChildren,CATI3DGeoVisu之类的对它们进行CATI3DGeoVisu::SetRepNotUpToDate()
5,        CATIModelEvents:ispatch
大致思路,或许在大的模型的时候会很慢而不实用

[ 本帖最后由 acoka 于 2006-3-29 13:31 编辑 ]
19
发表于 2005-9-27 16:18:48 | 只看该作者
我能不能够这样做:
1。不用CATSettingRepository类,而直接得到界面上我所要的值。直接修改界面上的值?
2。或者用CATSettingRepository类对我需要的值修改后,在对界面刷新这种办法?
现在我想的到Dlg上的内容,能不能够得到啊?

本帖子中包含更多资源

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

x
18
发表于 2005-9-27 14:00:19 | 只看该作者
这绝对是CATIA的Bug现在是一会可以修改,一会不可以修改,我简直要哭了!
17
发表于 2005-9-27 09:14:03 | 只看该作者
谢谢了先。
16
发表于 2005-9-26 17:10:49 | 只看该作者
我,我也真的没有办法了。
前面说过,我也经历过类似的问题,结果似乎是CAA的Bug(之所以说似乎,是因为没有人愿意查)
如果你的公司和DS有协议,可以给DS发defect报告要求DS查和改正
如果没有。。。
只有等了,等有人做出来或者DS自己改好了
15
发表于 2005-9-26 16:48:16 | 只看该作者
saeba 大哥还有什么方法指点指点,帮帮忙!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-24 10:39 , Processed in 0.035082 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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