许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Creo二次开发函数(6):选择对象的方法与示例

Creo二次开发函数(6):选择对象的方法与示例

阅读数 15
点赞 0
article_banner

ProSelect--用户交互选择对象的函数

选择对象的实例

ProSelection *sel;

    int n_sel;


    ProSelect ("datum", 1, NULL, NULL, NULL, NULL, &sels, &n_sels);

    ProSelect ((char *)"feature", 1, NULL, NULL, NULL, NULL, &sel, &n_sel);

    ProSelect ((char *)"curve", 1, NULL, NULL, NULL, NULL, &sel, &n_sel);

    ProSelect ((char *)"point", 1, NULL, NULL, NULL, NULL, &sel, &n_sel) ;

    ProSelect ((char *)"surface", 1, NULL, NULL, NULL, NULL, &sel, &n_sel);

    ProSelect((char *)"prt_or_asm", 1, NULL, NULL, NULL, NULL, &p_sel, &n_sel);

    ProSelect((char *)"csys",1,NULL,NULL,NULL,NULL,&win_sel,&sel_n);

    ProSelect((char*)"dimension,ref_dim", 1, NULL, NULL, NULL, NULL, &sel, &n_sel);

    ProSelect ((char*)"point,dtl_axis,datum,csys,edge,curve,surface", 1, NULL, NULL, NULL, NULL, &p_sel, &n_sel);

    ProSelect ((char*)"feature,part", 1, NULL, NULL, NULL, NULL, &p_sel, &n_sel);

    ProSelect ((char*)"dimension,ref_dim", 1, NULL, NULL, NULL, NULL,  &p_sel, &n_sel);

     ProSelect ((char*)"dwg_view", 1, NULL, NULL, NULL, NULL, &view_sel, &num_sel);

    ProSelect ((char*)"any_note,draft_ent,dtl_symbol", 1, NULL, NULL, NULL, NULL, &p_sel, &n_sel);

    ProSelect ((char*)"edge,curve,point,axis", 1, NULL, NULL, NULL, NULL,  &sel, &n_sel);

    ProSelect ((char*)"dtl_symbol", 1, NULL, NULL, NULL, NULL, &p_sel, &n_sel);

    ProSelect((char*)"point,axis,csys,edge_end", 1, NULL, NULL, NULL, NULL, &p_sel, &n_sel);

    ProSelect((char*)"gtol", 1,NULL, NULL, NULL, NULL, &sel, &n_sel);


    //下面是一组函数了。

    /*============================================================================*\

     Function: ProTestSelectionDimFilter

     Purpose:       Filter function for dimension select

    \*============================================================================*/

    ProError ProTestSelectionDimFilter (

        ProSelection sel,

        ProAppData data)

    {

        ProError err;

        ProDimension dim, base_dim;

        UserDimData  *sel_data = (UserDimData*)data;

        ProBoolean is_ordinate, type = sel_data->flag ;

        ProDrawing drw = (ProDrawing)sel_data->parent;

        err = ProSelectionModelitemGet (sel, &dim);

        err = ProDrawingDimIsOrdinate (drw, &dim, &is_ordinate, &base_dim);


        return (is_ordinate == type ? PRO_TK_NO_ERROR : PRO_TK_CONTINUE);

    }

         ProSelFunctions sel_funcs;

        sel_funcs.pre_filter = (ProSelectionPreFilter)ProTestSelectionDimFilter;

        sel_funcs.post_filter =  NULL;

        sel_funcs.post_selact = NULL;

        sel_funcs.app_data = NULL;


        err = ProSelect((char *)"feature", 1, NULL,&sel_funcs , NULL, NULL, &sel_feat, &n_sel);

转载于:https://www.cnblogs.com/jh0262/archive/2013/01/29/2946785.html


 相关资源:creo开发源代码(特征)_creo默认显示特征资源
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空