iCAx开思工具箱

标题: CAA 做一個hole [打印本页]

作者: catiaNew    时间: 2006-4-7 10:08
标题: CAA 做一個hole
我想用CAA 做一個HOLE, 我嘗試用CATIPrtFactory::CreateHole()來做一個hole, 這個function 需要一CATMathPoint, 一個CATISpecObject surface 和一個CATISpecObject direction.

對於CATISpecObject direction, 我用CATIGSMAxisExplicit class.

在平面上, 我能夠成功做一個hole, 但是在曲面上, 就不成功, 在 CATIPrtFactory::CreateHole()便有error.

請問應該要怎樣做才可以在曲面上做一個hole呢?

謝謝
作者: acoka    时间: 2006-4-7 10:40
你用catia的打孔做个同样的feature
你会发现catia的打孔命令对曲面上的孔是做如下
1,取得pick点,做个面上点
2,过这个面上点做切平面
3,以这个切平面为support做个sketch
4,在sketch的原点做个点
然后才打出洞来的,所以你至少得自己做好1,2的feature后把它们传给CreateHole才可以


作者: catiaNew    时间: 2006-4-7 13:30
謝謝你的回覆.

我試過依照你的方法, 但還是不行.

對於第一點: 取得pick点,做个面上点, 是否用CATIGSMFactory::CreatePoint(ptArray) 來得出一個CATIGSMPoint_var pGSMPoint?

第二點: 过这个面上点做切平面, 我是用CATIGSMFactory::CreatePlaneTangent(surface, pGSMPoint) 來得出一個CATIGSMPlaneTangent_var pGSMTangentPlane.

CATISpecObject* pGSMPlaneSpec = NULL;
hr = pGSMTangentPlane->QueryInterface(IID_CATISpecObject, (void**)&pGSMPlaneSpec);

之後我便CATIPrtFactory::CreateHole(ptArray, pGSMPlaneSpec , PGSMAxisExplicit, 1);

這句便死掉了,

我是不是需要將pGSMPoint, pGSMTangentPlane 放在catia tree 才可以呢, 還是我有其他地方做錯了呢

謝謝




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3