找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

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

caa 求助: 怎樣知道選了什麼

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

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

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

x
各位:
    如果我選了一條edge, 我在caa 中可以拿到一個CATPathElement, 但我怎知道我選了是一條edge而不是face呢?

多謝
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
17
发表于 2006-3-17 14:44:03 | 只看该作者
謝謝你的答覆,

我還有一個問題, 希望你能回答, 我想得到annotation view 中的coordinate, 可以拿個annotation 的view plane, 我看過你其中一篇文章, 提及用到
CATITPSView*    pITPSView   = NULL;
ispViewFeat->QueryInterface(IID_CATITPSView, (void **)&pITPSView);

CATMathPlane*   pPlane  = NULL;
pITPSView->GetMathPlane(&pPlane);

但是ispViewFeat 是什麼來的?

而我的步驟是這樣的: 用家選了一個annotation, 我便可得出一個CATBaseUnknown*,
之後用這個 CATBaseUnknown* 來queryinterface 得出一個CATITPSComponent*, 再從CATITPSComponent* 得出一個CATITPSSet*, 最後得到CATITPSView*, 可是從CATITPSComponent* QueryInterface 不到 CATITPSSet*, 故CATITPSSet* 是空指針.

我應該怎樣做才可得出annotation的view plane呢?
16
发表于 2006-3-17 08:14:55 | 只看该作者
原帖由 catiaNew 于 2006-3-16 16:44 发表
感謝saeba和xyzhu的回復,

如果我想加一個filter, 是不是用CATICSOFilter就可行了?

謝謝

给agent设个filter的函数

比如Agent接受曲线的输入
filter拒绝无限长的物体
这样就能实现限制用户选有限曲线
15
发表于 2006-3-16 16:44:25 | 只看该作者
感謝saeba和xyzhu的回復,

如果我想加一個filter, 是不是用CATICSOFilter就可行了?

謝謝
14
发表于 2006-3-16 09:34:43 | 只看该作者

SOS 大虾们:怎么在工具条里添加图标?

求助::各位大虾们:怎么在工具条里添加图标??
13
发表于 2006-3-13 23:15:02 | 只看该作者
稍微偷了一下懒,想当然了一下,就出错了. Saeba 说得对,应该是CATCurve, CATFace.
如果User可以任意选择的话,如果选了结构树的元素,应该是个SpecObject,如果选了3DViewer里的东西,则也有可能是个BRep. 如果不想对用户的选择限制,又要知道所选的是什么,就只能QI了吧.
12
发表于 2006-3-13 22:02:46 | 只看该作者
QI不到CATISpecObject的话,也不会QI到CATIMfBiDimResult,CATIMfMonoDimResult的
因为只有feature才会实现CATIMfBiDimResult,CATIMfMonoDimResult。
如果QI CATISpecObject为NULL,就是BRep了,大概可以QI一些Geometry Interface (CATCurve, CATFace之类的)来判断形状吧。有点忘了

其实这些都是舍本逐末,在设置select的type时,不是能指定Interface吗,
选择发生以后,就用前面设置的type filter一下不就行了吗?
如果你的type指定的是CATISpecObject或者CATBaseUnknown之类的基类,
只能说,呵呵,太业余了。
11
发表于 2006-3-13 20:47:46 | 只看该作者
CATCSO::NextElement() --> CATPathElement --> CATPathElement::CurrentElement() --> CATBaseUnknown
如果这个CATBaseUnknown 能直接转换成CATISpecObject那就最好,若转化后为空指针,则试试转化成CATIMfBiDimResult,CATIMfMonoDimResult
10
发表于 2006-3-13 12:15:13 | 只看该作者
不好意思, pathelement->currentelement() 得出來原來不是 catpathelement, 但我不知道是什麼來的,

但是我怎可得到selected 的object 呢?
9
发表于 2006-3-13 10:14:42 | 只看该作者
都是CATPathElement.

我是從 CATCSO->NextElement() 拿到一個 CATBaseUnknown* pUnk
這個 CATBaseUnknown* pUnk->IsAKindOf("CATPathElement") return TRUE, 那麼 pUnk 是一個CATPathElement*

之後, CATPathElement pathElement(pUnk), pathElement.CurrentElement()得出來也是CATPathElement*
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

QQ 咨询|手机版|联系我们|iCAx开思网 ( 粤ICP备2025491344号-1

GMT+8, 2025-11-12 00:56 , Processed in 0.053688 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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