iCAx开思工具箱

标题: 如何将一个特征元素(点,线,面,平移)进行 隐藏与显示? [打印本页]

作者: zsong22    时间: 2012-11-26 16:15
标题: 如何将一个特征元素(点,线,面,平移)进行 隐藏与显示?
如何将一个特征元素(点,线,面,平移)进行 隐藏与显示?   也就是这些特征依然显示在特征树上,但是在窗口中是隐藏掉的。  也就是我们在catia里面的  隐藏\显示 操作!
谢谢 你的关注与帮助!{:soso_e176:}
作者: zsong22    时间: 2012-11-26 16:21
from the feature (CATISpecObject) get a CATIVisProperties interface, and call its method "GetPropertiesAtt" with the parameter "CATVPShow". you get a CATVisPropertiesValues object. call its method "SetShowAttr" with the attribute "CATNoShowAttr".
  
Then,to give the result,do this:
CATIModelEvents *pME = NULL;
HRESULT rc = pObj->QueryInterface( IID_CATIModelEvents,(void **) [$pME)]
if (SUCCEEDED(rc))
{
CATModifyVisProperties notif(pObj, CATPathElement(pObj), CATVPGlobalType,CATVPShow,prop);
pME->Dispatch(notif);
  
pME->Release();
pME= NULL ;
}
  
where pObj is your feature and  
prop is the CATVisPropertiesValues used for the CATIVisProperties

刚才 发现有高手在论坛回复了的。  貌似是个外国朋友

作者: linlily0925    时间: 2012-11-26 16:23
BOOL HideObject(CATISpecObject_var spSpecObject)//spSpecObject为你要隐藏的元素
{
        spSpecObject->Update();
        CATIVisProperties * pPropOnObj = NULL ;
        HRESULT rc = spSpecObject->QueryInterface(IID_CATIVisProperties, (void**)&pPropOnObj);

        if(pPropOnObj != NULL && SUCCEEDED(rc))
        {
                CATVisPropertiesValues PropValue;
                CATVisPropertyType PropTypeOnObj = CATVPShow ;
                CATVisGeomType GeomTypeOnObj = CATVPGlobalType ;
                PropValue.SetShowAttr(CATNoShowAttr);
                rc = pPropOnObj->SetPropertiesAtt(PropValue, PropTypeOnObj, GeomTypeOnObj);                                                                                                

                pPropOnObj->Release();
                pPropOnObj = NULL;

                if(SUCCEEDED(rc) )
                        return TRUE;
                else
                        return FALSE;
        }

        return FALSE;
}
作者: zsong22    时间: 2012-11-26 16:37
具体 步骤没看懂!  麻烦各位 稍作解释或者代码演示一下。 谢谢!
作者: zsong22    时间: 2012-11-26 20:11
linlily0925 发表于 2012-11-26 16:23
BOOL HideObject(CATISpecObject_var spSpecObject)//spSpecObject为你要隐藏的元素
{
        spSpecObj ...

回复 帮忙的似乎永远都是 丽丽 你!   感激不尽,谢谢了!
作者: xml35hyf    时间: 2013-12-28 23:46
顶一个。。。。。。。。。。。。。。。。。。
作者: arucied379    时间: 2014-7-3 15:04
CATIModelEvents 和 CATModifyVisProperties 触发真正隐藏
CATIVisProperties 设置结构树样式
作者: harleygmm    时间: 2014-7-4 13:52
好,顶一个!!!




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