内部函数预览的赶紧炒一个

​​​​​​

首先声明: 这个不是我第一个研究出来的,在我的印象中唐工是第一个搞出来的。  他的论坛上曾经发布过一张动态图片。  后来我又陆续看到汤大哥和小强哥也搞出来过。  汤大哥还在QQ群里发出来过一套他做好的头文件和动态链接库,更加方便的去调用内部函数了。  我下面的这个例子基本上就是从汤大哥发出的库文件那里截取的,我又重新做了下整理,要不然我也不知道要调哪个内部函数,传哪些参数。  这些年一直都是跟在这些大神的身后,学习他们研究过了的技术。自己很少有原创和创新的东西。  也许是能力的不足,也许是时间还没到吧。     这个在低版本使用应该也是可以的,但是原封不动的代码抄下来拿到低版本代码里编译应该是不行的,  好像是需要重新去定义PVT_view_prefs_s,PVT_cancel_type这些的,低版本好像不是这样写的。  用的时候测试一下就知道行不行了。  内部函数的出处 用depends.exe查看NXBIN(NX11以下为UGII)目录下的libugutilsint.dll,找到函数的命名和定义

 

 NX11+VS2013  #include <uf.h> #include <uf_view.h> #include <uf_assem.h>   UF_initialize();  //创建预览对话框 //libugutilsint.dll //调内部函数PVT_create_preview创建预览对话框 typedef void(*load_ufusr_f_p_t)(unsigned int v1, char const * v2, int v3, unsigned int const * v4, int v5, unsigned int const * v6, bool v7, bool v8, class PVT_view_prefs_s * const v9, enum PVT_cancel_type v10, bool v11, int * v12);//定义传参 load_ufusr_f_p_t PVT_create_preview = NULL; UF_load_library("C:\\Program Files\\Siemens\\NX 11.0\\NXBIN\\libugutilsint.dll", "?PVT_create_preview@@YAPEAUPVT_view_info_s@@IPEBDHPEBIH1_N2QEAUPVT_view_prefs_s@@W4PVT_cancel_type@@2PEAH@Z", (UF_load_f_p_t *)&PVT_create_preview);  //调内部函数PVT_init_view_preferences初始化预览参数 typedef void(*load_ufusr_f_p_t1)(class PVT_view_prefs_s * v1);//定义传参 load_ufusr_f_p_t1 PVT_init_view_preferences = NULL; UF_load_library("C:\\Program Files\\Siemens\\NX 11.0\\NXBIN\\libugutilsint.dll", "?PVT_init_view_preferences@@YAXPEAUPVT_view_prefs_s@@@Z", (UF_load_f_p_t *)&PVT_init_view_preferences);  if (PVT_create_preview != NULL) {     //获得当前工作部件tag     tag_t work_part = UF_ASSEM_ask_work_part();     //由模型视图名字得到tag     tag_t view_tag = NULL_TAG;     int err = UF_VIEW_ask_tag_of_view_name("TFR_ISO", &view_tag);     err = sizeof(PVT_view_prefs_s*);     PVT_view_prefs_s* view_pref = (PVT_view_prefs_s*)malloc(1000);//     memset(view_pref, 0, 1000);     if (PVT_init_view_preferences != NULL)     {         //初始化预览参数         PVT_init_view_preferences(view_pref);         int errorCode = 0;         PVT_create_preview(view_tag, "", 1, &work_part, 0, NULL, false, true, view_pref, PVT_cancel_type(1), true, &errorCode);     } }  UF_terminate();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值