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 4448 4

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

文星和合 楼主

2015-5-1 11:53:07

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

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

x

6 ^6 o) c+ ]0 ?0 ]! \2 ?! `/*****************************************************************************
* {, Z  v, W+ Q/ J% j5 ~**
: @! G& p$ X' y** createfilebox.cpp
- Z( k/ s, O6 ~+ D; D4 ~**
( f2 d- v' t( Z( \$ Q# J** Description:4 W' L+ @# _# x' D$ V
**     Contains Unigraphics entry points for the application.8 P4 W8 N: D  x) _  U
**
- ]6 x, v7 h1 ?9 V0 ?% L% O3 Y  x*****************************************************************************/
0 j2 C7 @' t) u" `) t- T/* Include files */
: G* i% @; b& H4 m' e# u#if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )6 d9 G5 i4 Q) N6 G3 O
#   include <strstream>9 H; ]' M) N4 H' i2 T
#   include <iostream>0 d/ {: N) W  l- X& c5 S
    using std:strstream;
; w) e- C! C/ [" o4 k5 n, L    using std::endl;   
" P5 F, k, a: R2 E    using std::ends;6 U# E4 o+ O" E) E3 h
    using std::cerr;
" O# I2 n$ m6 T) S* A) s#else
. E7 j! E9 K2 Y! L2 L#   include <strstream.h>
* V# D% W0 H5 \) I#   include <iostream.h>) U7 s4 c, a+ c# W1 v0 b( I
#endif9 Y) O0 Q3 F$ R
#include <uf.h>
. E2 m; J5 ]8 h+ M#include <uf_ui.h>. B8 B1 K" Z& P* ?+ M
#include <uf_exit.h>3 M* T! ]% S: W7 h& S, Q
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
+ }8 f% }. {; a, E- Tstatic int report_error( char *file, int line, char *call, int irc)( o, Y% {" Y$ B* a
{
; U+ v& Y$ [/ u0 }( Y3 {# I$ B3 \    if (irc)
9 f! l  K% q. @    {
$ P  q, E8 g$ |( t2 H        char err[133],, N0 v. K9 T7 s  _
             msg[133];, ^6 i9 x( Q* b7 M
        sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
4 c4 q) F. H! X$ z: d% i            irc, line, file);
( N* Z+ I7 f& I3 ?- L" S% p        UF_get_fail_message(irc, err);, @, y/ B( x4 c
        UF_print_syslog(msg, FALSE);% H" @9 z0 s7 W
        UF_print_syslog(err, FALSE);4 ~6 b8 c/ o3 T$ x2 b! t! X
        UF_print_syslog("\n", FALSE);- B( @4 k# D7 R: r( E3 s$ d) }* D
        UF_print_syslog(call, FALSE);0 l! d, S! h, l- N0 t# S
        UF_print_syslog(";\n", FALSE);
4 z, L4 {/ W: h; L7 i9 [% y! y& g/ u        if (!UF_UI_open_listing_window())
4 S3 W7 d! {, ]        {* D$ b: `! W' x3 }
            UF_UI_write_listing_window(msg);
5 f- R: B/ c1 x" ^9 w/ t            UF_UI_write_listing_window(err);& g' D3 U' g7 m; z9 {$ ~+ z7 M4 _
            UF_UI_write_listing_window("\n");6 r4 S( ]6 F3 j: Z
            UF_UI_write_listing_window(call);5 d9 X7 `# ^2 f5 X( A
            UF_UI_write_listing_window(";\n");& b* A7 `" \1 [. [
        }* J6 r7 Q9 @4 p# l
    }
2 k) n$ a, o  y    return(irc);+ [- T- I3 K( j" ^
}  u, T& U5 g  W% d

' Z1 ]9 u6 X0 {  Z0 n/ M# Z/*****************************************************************************
+ O- X* ]' V; E2 e$ B' e+ p**  Activation Methods1 d: F" W. d6 n4 T+ n. U6 N
*****************************************************************************/
' f% l. C  r: X% C/*  Explicit Activation7 g# n/ ^( B! i# p
**      This entry point is used to activate the application explicitly, as in  y/ u  p3 n& @9 \& W. g
**      "File->Execute UG/Open->User Function..." */0 k% n" z. |* P0 L* c( r! \5 h% b
extern DllExport void ufusr( char *parm, int *returnCode, int rlen )0 r$ {% c) c2 G& E: L( G
{' `! }* E0 [/ |+ l3 ~& a
    /* Initialize the API environment */
8 g/ Z, m+ X, D8 j- i; W% a char prompt_string[]="open file";
& d+ |: A1 P2 [" x/ b* \ char title_string[] = "select file";! ?# p5 g0 ^: f$ g. \
char filter_string[] = "*.prt";, m' W1 \# R9 V2 ~9 {4 o
char default_name[] = "my file";
4 J5 r% n4 u5 _4 i/ o9 X* S9 v7 S$ [ char filename[256];
( j. @; ?, q7 u: b" f. ]* ]! ? int response;
0 }/ I/ n& }3 k; s; d  ]# b    if( UF_CALL(UF_initialize()) )
) _! b! R# m9 n2 X" m+ f9 p* M8 r    {
. J8 m4 u# g9 Q! H' b        /* Failed to initialize */. X- m. R0 C  f, L
        return;+ l; c7 i! B( o  e. t  _0 {
    }
! H) r4 ~, Z0 J# i  u$ O6 ~0 C$ c6 U& B   
5 l& m' e" e7 s, H# T# w. g    /* TODO: Add your application code here */6 g7 q; Q, J, k, |
UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);//UF_UI_create_filebox- [2 r7 F' h# E4 e9 ?0 C
    /* Terminate the API environment */
/ \' t  p1 X; p! }* ?6 g    UF_CALL(UF_terminate());" B$ U9 ~8 v6 J
}
" T) R; v4 @+ j/*****************************************************************************
' K( Y7 e2 @$ B0 c**  Utilities
7 t4 ^' k0 C2 D: J6 e; x, R*****************************************************************************/
, x; o8 X$ m- X' f0 i& A* C' w4 t/ s/* Unload Handler" F  q. j2 i, \: v
**     This function specifies when to unload your application from Unigraphics.
4 }; Q; G9 C4 E5 f& C$ a$ ?/ r, ~**     If your application registers a callback (from a MenuScript item or a
! r' y9 D  z" @+ V9 j9 |: V**     User Defined Object for example), this function MUST return6 ~" T2 k$ k/ A; |1 s: t& x
**     "UF_UNLOAD_UG_TERMINATE". */
3 i$ p7 R. ]6 f# `extern int ufusr_ask_unload( void )
# d$ I0 U) G  m) ^: y: k& {, F{  P1 e  {, A. z1 w& E
    return( UF_UNLOAD_IMMEDIATELY );& \, R# l0 I/ M# e5 [
}2 [1 D# s8 W1 Q6 \6 O6 ^  m
4 E9 k+ N' f0 q4 x0 _2 z9 q/ @
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 我没有试你这个 " T; V* z# ^" J

: v( r9 {. w: G) X. W9 q不过你加个uf_call或者看下syslog 啥问题
9 [4 @+ Q2 }- [% n, V) B) l7 @
" l/ l2 G( U+ q1 O
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

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

文星和合 板凳

2015-5-2 20:18:39

mildcat 发表于 2015-5-2 20:07" K' o9 _# t: c0 V# _( o  V
UF_UI_create_filebox 我没有试你这个
9 i* Q. M/ S- t2 G+ F. K. U$ z$ k7 L4 C
不过你加个uf_call或者看下syslog 啥问题
) {- J4 b& b# X3 o
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。- Z" C6 z6 s" p4 m% Q
我想用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:189 t: D5 ?, ?3 d2 g4 d
UF_CALL没有报错。打开文件的对话框也生成了。就是在点击ok之后,UG崩掉了。
5 V1 e- Q/ ]1 @6 \1 b0 W# W: i我想用UF_UI_create_filebox ...

) a6 R/ u2 E  ?, v- h
" |, E6 ]# f1 f2 t7 R4 h$ [8 M8 x#include <uf.h>
% f+ C+ \! O3 d7 |: ?' P2 B#include <uf_ui.h>
  L4 z' p6 F' X3 R  {' |! m6 n#include <uf_exit.h>
6 K/ e; f5 c' B0 cextern DllExport void ufusr( char *parm, int *returnCode, int rlen ), M8 L5 H; ?( w  S, F, F" C
{2 U4 A6 a: |0 X* _$ |
        /* Initialize the API environment */2 [# {5 r/ e# o& m# S8 m
        char *prompt_string="输入文件名";" e/ y$ h& p! [* d
        char *title_string = "另存为";( i# R" @9 X$ a) X2 I1 \" E
        char *filter_string = "E:\\+*.prt";
/ N" I6 j: Q8 P% K        char *default_name = "OK-PRT";
1 W  B, o: Q9 w- E# h  K        char filename[256];
3 b' Y( b: c+ P- R; L        int response;; W* }9 w" e# |2 T" X) h
        UF_initialize();
2 \, f4 |0 H' k" O7 P        UF_UI_create_filebox(prompt_string,title_string,filter_string,default_name,filename,&response);
% J# ], q' V; [        if (response ==UF_UI_OK)2 i+ z8 c* h- f+ p' I
                uc1601(filename,1);
" V" ~7 y; m( C7 r% S- A        else if(response ==UF_UI_CANCEL)
8 O8 Q# s+ d2 ^+ L( S                uc1601("取消",1);( L# U5 A3 d1 u7 }
        UF_terminate();/ b6 v$ J8 x& L3 {0 R' n: H* K' I
}& L- T  Z5 V) t$ p, `6 U
extern int ufusr_ask_unload( void )
6 R5 U5 q6 d, T# O! L{
- e5 T# Z0 L6 ]+ ]! K        return( UF_UNLOAD_IMMEDIATELY );; n2 ^8 I# t8 h
}

评分

参与人数 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二次开发专题模块培训报名开始啦

    我知道了