PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

[解决] 用UF_UI_create_filebox()时UG崩溃了

  [复制链接]

2015-5-5 08:36:17 4437 4

文星和合 发表于 2015-5-1 11:53:07 |阅读模式

文星和合 楼主

2015-5-1 11:53:07

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
% }" s4 _5 _' k; L. z
/*****************************************************************************3 L( e; G/ e7 E
**
# V' f: h5 z  G3 t/ r; i** createfilebox.cpp5 v1 t1 N* n6 u8 z5 i1 W
**
& w& Q' _3 Y4 Y) a1 o  N  e** Description:8 {0 n* K3 w1 |( c$ n9 X( l
**     Contains Unigraphics entry points for the application.
1 a. q: S$ {$ B3 e" N**0 A: P2 ~! ~9 Q' v' K( [2 g2 E
*****************************************************************************/
6 D8 o: P' Q0 o. ]1 _: E/* Include files */: x8 T% S% `- {/ r
#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
( s7 K, V$ \! ?7 ^#   include <strstream>
5 P" b. u( [/ Z, ~  y! e/ P1 o3 g0 i#   include <iostream>+ P' r3 y) H3 k7 |$ }# [8 j
    using std:strstream;- O3 u- N; Q! ?
    using std::endl;    " f! r) \0 r+ P- g
    using std::ends;9 ]  k0 c! j1 s( T; {6 G- a
    using std::cerr;
8 h/ }, @) h1 r) u3 ^9 h#else
$ `0 @7 O- U6 Z- q: Y7 ]#   include <strstream.h>
) A# S* ~4 w# K" g#   include <iostream.h>
- {1 [0 v7 N0 V1 Y1 h, H, A#endif
8 ]6 Y. m! L- B#include <uf.h>
, C4 U# B# n0 i( \9 n/ C8 V# o#include <uf_ui.h>2 @& W' C. c3 d
#include <uf_exit.h>
% o9 k6 x/ |' M#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))0 j; B7 ~# h! m' {4 q4 i
static int report_error( char *file, int line, char *call, int irc)
) U, ]  Z* ^3 s6 j" R{, a! r7 o9 J8 a5 _+ Y/ R
    if (irc)
$ S5 D  h, Z( w' H+ }" T( N    {; ]5 @5 H0 J4 ]9 N: |: Z5 c
        char err[133],
! |- e- x2 p2 i' H- {5 b             msg[133];* z& m1 x6 z( o8 e3 d" \  Y' U
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",% C1 N) q; A8 O$ t. d( U9 D1 X
            irc, line, file);8 v4 G+ [1 Y& q5 c
        UF_get_fail_message(irc, err);
% h& P$ ]6 d: O2 g. u        UF_print_syslog(msg, FALSE);
; x- I7 a) W# y! w+ [& V        UF_print_syslog(err, FALSE);# F1 B$ }' _  M4 _+ W) M: j. S+ E
        UF_print_syslog("\n", FALSE);
( O/ e+ |) j/ i3 f$ B2 J        UF_print_syslog(call, FALSE);" h$ l, f+ C# M1 z1 d7 l, T
        UF_print_syslog(";\n", FALSE);
) j. w& M* N% R3 D' {: K; r( ^( V6 X        if (!UF_UI_open_listing_window())
! R! k( k" n) o: L$ O  _% g) v4 Y        {
& ^/ e- r: u6 E$ p6 ~/ T            UF_UI_write_listing_window(msg);
6 n' W6 L! P- W4 B7 i            UF_UI_write_listing_window(err);
' F* R$ Q" Y: p( a9 d            UF_UI_write_listing_window("\n");4 r9 B$ x5 _/ M& @( i
            UF_UI_write_listing_window(call);1 `4 e$ ]. s% l& p8 l6 t! E! I, z  O
            UF_UI_write_listing_window(";\n");
5 N8 q! t& w+ Z/ \# s        }" z! B* r1 l4 E
    }0 G. v, P8 m8 B& F9 J# _. b9 N
    return(irc);
' S1 @& o/ M1 Z+ o+ H}4 F; l8 a) L2 [% R

# ?6 f3 y- {+ F0 N+ u/*****************************************************************************
1 m; e1 ]/ W- m**  Activation Methods
* k+ L4 v6 x; W*****************************************************************************/
: M8 y$ _' M# o7 S! K; e+ K6 w- \/*  Explicit Activation
+ |; U( D7 E. S1 Q5 ~, y5 h$ x**      This entry point is used to activate the application explicitly, as in
8 }' }" Q  E" q9 G**      "File->Execute UG/Open->User Function..." */" f5 S$ Y0 [, D% L) C1 W* O' c$ [+ T
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
& g- W/ G* [9 X& @% y. [0 h{
- U; S; k$ D. \    /* Initialize the API environment */
2 {6 T  i( U9 v3 G6 V/ g char prompt_string[]="open file";2 S5 G3 f) ^4 X9 ]9 w! B5 v5 X$ W2 V
char title_string[] = "select file";
# ?( G; [( @; f* F0 w2 t# ~" q char filter_string[] = "*.prt";# x8 f6 c9 \& d' a$ h, {2 C2 b$ ?0 E
char default_name[] = "my file";
) `" Y0 s7 i& @, n9 i2 Z char filename[256];- K0 E& o( f2 T' e) w
int response;4 A7 e% [: g4 m! K
    if( UF_CALL(UF_initialize()) ) . O/ C6 X0 J8 a$ S: {5 B' F/ G
    {/ s' K$ @0 x5 t' e$ _
        /* Failed to initialize */
* o0 [5 G6 a6 Y        return;
5 z; l$ t2 Z  f) Q6 ]    }  J" _5 C7 l" Z6 I) t
    7 o* c; `$ \1 ^+ @4 h" `
    /* TODO: Add your application code here */9 O, O4 P  _: W- G" x- J" ~
UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox9 _2 K3 E2 ?. i6 F) Y
    /* Terminate the API environment */  P% L1 }1 z3 r
    UF_CALL(UF_terminate());! e6 N4 U4 ?6 K/ ]9 U
}
0 C, }$ u+ B: [# P+ l/*****************************************************************************3 U$ h1 O8 P- C- S8 K8 P' x% b
**  Utilities
: `1 o7 I2 F4 X! p*****************************************************************************/
! m. @# W8 r5 Y9 G  V9 `6 e' v/* Unload Handler
3 e2 z2 L/ s# b; h; Z4 s* Z**     This function specifies when to unload your application from Unigraphics.
% m* t0 w) o0 I3 d**     If your application registers a callback (from a MenuScript item or a
8 j0 C- f! @0 ]- i. Y**     User Defined Object for example), this function MUST return0 S. }: \( [4 v/ A) L" E4 z3 c! ~
**     "UF_UNLOAD_UG_TERMINATE". */
' Q: l5 e9 L5 }7 y5 \1 {extern int ufusr_ask_unload( void )
+ c, C  k! c- {2 Y) t3 V9 h  ?0 E7 R' k{
0 v5 d# L! a, y& V4 ^2 u    return( UF_UNLOAD_IMMEDIATELY );
1 d  S4 |! x8 N- c4 I3 B}
" `+ A; B3 n+ z0 J
1 H$ ^& W* ^1 w! o
CreateFilebox.png
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复4

mildcat 发表于 2015-5-2 20:07:06

mildcat 沙发

2015-5-2 20:07:06

UF_UI_create_filebox 我没有试你这个 1 W7 f8 i3 K2 l

0 G) e/ K- h' Z; [不过你加个uf_call或者看下syslog 啥问题
( E9 r5 J5 I1 A. x7 ]% L( \8 K9 ^% e6 D! u7 ]1 D  D7 q6 x& G
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

文星和合 发表于 2015-5-2 20:18:39

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07* V7 a6 ~+ V. a4 O8 h
UF_UI_create_filebox 我没有试你这个 - T9 J5 |6 y' A7 w! A- }

+ V* l3 a- |: q: f# @; Y不过你加个uf_call或者看下syslog 啥问题

7 ]* D! y/ o' J! A) QUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
+ z. m: x+ m6 {我想用UF_UI_create_filebox()创建一个打开文件的对话框。UG有别的函数可以创建打开文件的对话框?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

简简单单 发表于 2015-5-5 08:31:59

简简单单 地板

2015-5-5 08:31:59

文星和合 发表于 2015-5-2 20:18
0 U- }1 |) g/ f( z, ?8 ?; d+ _! wUF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。; Z" K0 O6 F5 {6 ?
我想用UF_UI_create_filebox ...
$ T0 p7 t- Y0 r' P8 c, ~; D
5 e1 I& A+ v4 y$ s
#include <uf.h>  B, x: P5 @2 r$ O9 Q' j1 q1 I
#include <uf_ui.h>
' ?% ~6 C+ E/ g& A: Y0 m#include <uf_exit.h>" [1 h! Z5 t/ O0 h7 K8 C4 o  |, b
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )
* f4 }- r7 c/ Y8 D% Y% ?, g0 v{6 x* ?/ D: d$ ~% J( R' U& I. S
        /* Initialize the API environment */
6 H6 P  j0 v# |% @2 P/ e9 w        char *prompt_string="输入文件名";
3 {. Z3 Y3 F2 X" D2 ]        char *title_string = "另存为";
5 D: w' x  b( _% g) I        char *filter_string = "E:\\+*.prt";9 Y: E0 ]- X0 R, Y# v
        char *default_name = "OK-PRT";! p9 k8 Z5 a# a! i" m$ z
        char filename[256];
* \8 T# D! J  J        int response;
" P& N8 O5 _. N( r        UF_initialize();7 e3 ~' U" T5 d% B8 ?( K
        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);+ L: F  Y$ I; r9 B7 P. A* T
        if (response ==UF_UI_OK)
8 p; s6 p% |+ b& ]; B  B) M                uc1601(filename,1);
& p+ r( X# c& m& J5 Z9 x5 B        else if(response ==UF_UI_CANCEL)
  C  w! h/ E& X2 Q8 u                uc1601("取消",1);, y. ~: y; x. _, w7 l
        UF_terminate();
) u: M# F0 H6 e( Z8 _6 Q}/ }7 H7 w) @6 _' s4 P& F
extern int ufusr_ask_unload( void )
! S9 U3 H* D' c( W{
% ^# N  N; h6 i( b: t& }        return( UF_UNLOAD_IMMEDIATELY );
: n: Q  F& \% ]# d+ T9 [}

评分

参与人数 1PLM币 +3 收起 理由
admin + 3 很给力!

查看全部评分

上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了