Synopsis
#include <ProMdl.h>
ProError ProMdlCurrentGet (
ProMdl *p_handle
/* (Out)
The model handle
*/
)
Õâ¸öº¯Êý°üº¬Ò»¸ö²ÎÊý-Ö¸ÕëÐͲÎÊý£¬¶¨Ò弰ʹÓ÷½·¨ÈçÏ¡£
ProMdl mdlhandle;
ProMdlCurrentGet(&mdlhandle);
mdlhandle ÊÇOhandleÐͲÎÊý £¬ÄÜÓÃÕâ¸ö¶ÔÏó×öÐí¶àÊÂÇé¡£ÀýÈ磬ÄÜÓÃProMdlDataGet()×öÒ»¸öµ÷Óò¢ÇÒ»ñµÃ¹ØÓÚÕâ¸öÄ£Ð͵ÄһЩ³õʼÐÅÏ¢¡£
ProMdldata mdldata;
ProMdlDataGet (mdlhandle£¬ &mdldata);
mdldataÊÇÒ»¸ö¼òµ¥µÄ½á¹¹Ì壬°üÀ¨Ãû³Æ¡¢ÀàÐÍ¡¢Â·¾¶ºÍ¹ØÓÚÄ£Ð͵ÄһЩÆäËûÐÅÏ¢¡£ÏÂÃæ´òÓ¡Õâ¸öÄ£Ð͵ÄÀàÐÍ¡£
²»ÄÜÖ±½ÓÖ´ÐÐprintf("%s\n"£¬mdldata.type)£¬ÐèÒª²ÉÓÃÏÂÃæµÄ·½Ê½£¬ÓÃProWstringToString()°ÑÕâÖÖÀàÐÍת³ÉÒ»Öֹ涨µÄ×Ö·ûÐòÁУº
char type_in_c[PRO_TYPE_SIZE]; /* uses predefined Pro/T constants like PRO_TYPE_SIZE */
ProWstringToString (type_in_c£¬ mdldata.type);
printf("%s\n"£¬type_in_c);
ÏÖÔÚ´òÓ¡Ä£Ð͵ÄÃû×Ö£¬¾ÍÄÜÏóÉÏÃæÒ»Ñù£¬´Ómdldata½á¹¹ÖÐÈ¡³öÃû×Ö£¬Ò²¿ÉÒÔÓÃÁíÒ»Öֵķ½·¨¡£
ProName current_name;
char current_name_in_c[PRO_NAME_SIZE];
ProMdlNameGet(mdlhandle£¬ current_name);
ProWstringToString(current_name_in_c£¬current_name);
printf("%s\n"£¬ current_name_in_c);
½Ó×Å£¬ÎÒÃÇ¿´Ò»Ï·ÃÎʺ¯Êý¡£Ä£ÐÍ¿ÉÄÜÓдóÁ¿°üº¬Ðí¶à×Ó¶ÔÏóµÄ¶ÔÏó¡£ÓÉÓÚ²»ÖªµÀÕâЩ¶ÔÏóµÄÊýÁ¿£¬ÐèÒªÄܹ»ÒÔijÖÖ·½Ê½ÊÕ¼¯ÒªÑ°ÕҵĶÔÏó¡£¶ÔÓÚÕâÖÖÀàÐ͵ÄÎÊÌ⣬ÐèÒªÓõ½PTCÌṩµÄ·ÃÎʺ¯Êý¡£
¼ÙÉèÏë·ÃÎʰüº¬ÔÚÒ»¸öÄ£ÐÍÖеÄËùÓÐÌØÕ÷²¢ÊÕ¼¯ËüÃǵÄids¡£Ö´ÐÐÕâ¸öÖ¸ÁîµÄº¯ÊýÊÇProSolidFeatVisit()¡£Æä°üÀ¨4¸ö²ÎÊý: ProSolid¾ä±ú¡¢·ÃÎʺ¯ÊýÖ¸Õë¡¢¹ýÂ˺¯ÊýÖ¸ÕëºÍÓ¦ÓÃÊý¾ÝµÄ½á¹¹ÌåÖ¸Õë¡£¹ýÂ˺¯ÊýµÄÄ¿µÄÊÇÄܹ»¹ýÂËÌØ¶¨µÄ¶ÔÏó£¬Çë¿´ÏÂÃæµÄÀý×Ó£º
static ProError user_action_get_feat_ids(
ProFeature *feature£¬
ProError status£¬
ProAppData appdata)
{
ProBoolean visible;
vector<int> *fids = (vector<int> *)appdata;
ProFeatureVisibilityGet(feature£¬&visible); /* only work with visible features */
if(visible == PRO_B_TRUE){ // and collect their ids
fids->push_back(feature->id);