找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5796|回复: 1

[求助] 关于ProModelitemHide隐藏项的问题

[复制链接]

8

主题

15

回帖

11

威望

助工

积分
51
发表于 2018-5-20 07:59 | 显示全部楼层 |阅读模式
最近在琢磨隐藏模型项的问题,编了如下一个小程序:
int fun_button5()
{
        ProError status;
        ProModelitem myMdlitem;
        ProSelection *p_sel;
            int n_sel = 0;

            ProSelect((char *)"csys", 1, NULL, NULL, NULL, NULL, &p_sel, &n_sel);
        ProSelectionModelitemGet(p_sel[0], &myMdlitem);

        status = ProModelitemHide(&myMdlitem);  // 此处出现了问题
        if (status != PRO_TK_NO_ERROR)
        {
                show(status); //显示错误类型
                return 0;
        }
        return 0;
}

// 测试报错类型,并通过UI界面显示错误类型
void show(ProError status)
{
        ProUIMessageButton *buttons;
        ProUIMessageButton user_choice;
        ProArrayAlloc(1, sizeof(ProUIMessageButton),1,(ProArray*)&buttons);
        buttons[0] = PRO_UI_MESSAGE_OK;
       
        switch (status)
        {
        case PRO_TK_GENERAL_ERROR:
                ProUIMessageDialogDisplay(PROUIMESSAGE_WARNING,_T("Info"),_T("PRO_TK_GENERAL_ERROR"), buttons, PRO_UI_MESSAGE_YES, &user_choice);
                break;
        case PRO_TK_E_NOT_FOUND:
                ProUIMessageDialogDisplay(PROUIMESSAGE_WARNING,_T("Info"),_T("PRO_TK_E_NOT_FOUND"), buttons, PRO_UI_MESSAGE_YES, &user_choice);
                break;
        case PRO_TK_BAD_INPUTS:
                ProUIMessageDialogDisplay(PROUIMESSAGE_WARNING,_T("Info"),_T("PRO_TK_BAD_INPUTS"), buttons, PRO_UI_MESSAGE_YES, &user_choice);
                break;
        case PRO_TK_E_BUSY:
                ProUIMessageDialogDisplay(PROUIMESSAGE_WARNING,_T("Info"),_T("PRO_TK_E_BUSY"), buttons, PRO_UI_MESSAGE_YES, &user_choice);
                break;
        case PRO_TK_INVALID_TYPE:
                ProUIMessageDialogDisplay(PROUIMESSAGE_WARNING,_T("Info"),_T("PRO_TK_INVALID_TYPE"), buttons, PRO_UI_MESSAGE_YES, &user_choice);
                break;
        case PRO_TK_NO_CHANGE:
                ProUIMessageDialogDisplay(PROUIMESSAGE_WARNING,_T("Info"),_T("PRO_TK_NO_CHANGE"), buttons, PRO_UI_MESSAGE_YES, &user_choice);
                break;
        default:
                ProUIMessageDialogDisplay(PROUIMESSAGE_WARNING,_T("Info"),_T("OTHER."), buttons, PRO_UI_MESSAGE_YES, &user_choice);
                break;
        }
        ProArrayFree((ProArray*)&buttons);
        return;
}

选择一个坐标系以后,然后自动隐藏。但是运行后出现错误,ProModelitemHide 的返回值 PRO_TK_INVALID_TYPE.。如下图显示那些:
不知ProModelitemHide的类型应该是什么,有知道的高手解答一下。

测试结果

测试结果

0

主题

14

回帖

0

威望

实习生

积分
17
QQ
发表于 2018-5-22 12:57 | 显示全部楼层
不支持坐标系直接隐藏,提供两种实现方法
1.将类型myMdlitem.type更改为FEATURE
2.或是选择时设置“feature”选项
供参考
我的开发实战公众号:Creo二次开发
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2024-11-22 14:09 , Processed in 0.137937 second(s), 24 queries .

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