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

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

阅读数 241
点赞 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


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
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
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空