iCAx开思工具箱
标题:
求助于nctusdk:…… 求助各位兄弟姐妹
[打印本页]
作者:
hick
时间:
2005-1-13 16:34
标题:
求助于nctusdk:…… 求助各位兄弟姐妹
怎样求一个product下两个part间的距离??那位做过,或知道,盼告知!
我是用的比较笨的办法,先讲一下:
body距离———part距离。是不是ATCreateDistanceMinTopo( )只能够求一个part中的body间距离,不能求不同part中的body的距离,
就是不同part的CATGeoFactory的好象不兼容???
还有我copy part1的body到part2中,如何保证body 的空间位置不变,是否与CATDocument 有关?? paste special....
真诚希望各位能帮我解决下,谢谢!
作者:
hick
时间:
2005-1-13 16:40
补充一下:在catia中不知各位有否注意 右键弹出菜单的paste special....命令的第二个选项,在copy part或product 时都没问题 ,但在copy body时,paste到一个新的窗口中的part中,空间位置并没有copy。而 copy part或product 时都位置都有copy。是何原因?是否无法解决??
作者:
hick
时间:
2005-1-13 17:05
也就是as link
作者:
nctusdk
时间:
2005-1-13 17:11
不知道呢...
把BodyResult用CATIDatumFactory建出來不行嗎?
SDK.
作者:
hick
时间:
2005-1-13 17:14
可以这样
但是在product中移动了part后
copy的结果还是移动前的空间位置,有关参数我也设置了
可是就是不对?
怀疑和CATDocument有关。
不是每个part,product都有相对应的CATDocument
难道都在外部的CATDocument中做的???
作者:
nctusdk
时间:
2005-1-13 17:15
我不知道怎麼樣Copy and link...@_@...
不過我猜應該是要查查procedureview吧...
要不取得那個Body的axis transform?
然後apply到你copy出來的result上?
SDK.
作者:
nctusdk
时间:
2005-1-13 17:16
喔 你是在product上移動的喔@@....
我想想....
作者:
hick
时间:
2005-1-13 17:18
是啊
就是在装配时,肯定有所移动
难道事先要设个什么坐标系,还是copy时有问题
你可以在catia中用用 paste就知道了,问题真正所在
作者:
hick
时间:
2005-1-13 17:18
是啊
就是在装配时,肯定有所移动
难道事先要设个什么坐标系,还是copy时有问题
你可以在catia中用用 paste就知道了,问题真正所在
补充一下:在catia中不知各位有否注意 右键弹出菜单的paste special....命令的第二个选项,在copy part或product 时都没问题 ,但在copy body时,paste到一个新的窗口中的part中,空间位置并没有copy。而 copy part或product 时都位置都有copy。是何原因?是否无法解决??
《计算机世界报》本站会员八折订购
作者:
acoka
时间:
2005-1-13 17:33
[quote][b]nctusdk wrote:[/b]
我不知道怎麼樣Copy and link...@_@...
不過我猜應該是要查查procedureview吧...
MechanicalModeler Class CATMmrInterPartCopy
CATMmrInterPartCopy* pMmrInterPartCopy = new CATMmrInterPartCopy();
要不取得那個Body的axis transform?
然後apply到你copy出來的result上?
CATBody* ipBody = ispBodyForTrans;
if ( !ipBody ) {
break;
}
CATDynTransformation *pTrans = CATCreateDynTransformation( ipImplicitGeoFactory, ipData, ipBody );
if( !pTrans ){
break;
}
pTrans->SetTransformation( iMathTrans );
CATTry{
pTrans->Run();
}CATCatch ( CATError, pError){
pError->Release();
pError = NULL;
break;
}CATEndTry;
CATBody* pTransBody = pTrans->GetResult();
iMathTrans 是CATMathTransformation,2个CATPart之间的坐标转换子
SDK. [/quote]
作者:
hick
时间:
2005-1-13 17:38
非常感谢
我回去试试(在网吧上网,可怜),有不懂的,
再来请教,非常感谢你们了。
作者:
nctusdk
时间:
2005-1-13 17:39
嗯 那沒關係啊
反正你可以用CATIMovable知道某個part的transform嘛..
所以就開一個暫存的part file...
然後用DatumFactory把result弄成一個新的feature之後你就可以用
CATIGSMFactory::CreateTranslate把他弄到他在product中的位置and方向
然後另外一個你要拿來做計算的part也用同樣的方式...
最後再用你說的CATCreateDistanceMinTopo算出距離..
不知道這樣可不可行?
SDK.
作者:
nctusdk
时间:
2005-1-13 17:41
CATMmrInterPartCopy這我就沒用過啦
不過應該是照acoka兄說的沒錯
SDK.
作者:
hick
时间:
2005-1-13 17:46
呵呵
可以试试
我怎么就没想到这一层
结果如何,我都来告诉你们。
郁闷,这块是都没有公开的,还有DMU模块,我就是做这个的。
让我怎么做???
作者:
hick
时间:
2005-1-13 17:49
二位 应该是caa这方面的高手了。我马上工作也是做caa的。能否认识二位?
作者:
hick
时间:
2005-1-13 17:56
再次谢了,二位。
我要回去了,有机会大家再聊!
谢谢!
作者:
nctusdk
时间:
2005-1-13 18:01
小弟(真的是小弟,我才22....)來自台灣交通大學..
之前做過輪胎模具的一些客製化...
從V5R11才開始摸的...大概前前後後接觸了一年半左右吧?
而acoka大大應該算是元老了吧...
不過也是不知道是何方神聖...@___@||
(神龍見首不見尾啊...)
在台灣寫caa的真的是算不出來(少到算不出來)
蠻可惜的...
不過caa api公開的很不乾脆是比較令人討厭的一點就是了...
(當然也是為了區格市場啦...算了...)
而且help又東缺西缺的..
很多時候自己直接去翻header/lib比較快...
通常從名稱都能猜出想要的功能...(這是不得以的辨法...)
SDK.
作者:
hick
时间:
2005-1-16 15:10
CATMmrInterPartCopy??这个东东我这里怎么没有?
CATDynTransformation *pTrans = CATCreateDynTransformation( pImplicitGeoFactory, ipData, ipBody );
pTrans->SetTransformation( iMathTrans );
CATBody* pTransBody = pTrans->GetResult();
这个应该是得到ipBody 的Transformation ,然后存为一个新的
CATBody pTransBody ,是这个概念吧?
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3