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-国产软件践行者

[原创] UG NX二次开发Ufun关于对话框UI的使用案例大全

  [复制链接]

2013-11-14 17:46:31 49511 141

mildcat 发表于 2013-11-8 21:29:41 |阅读模式

mildcat 楼主

2013-11-8 21:29:41

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

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

x
UG NX二次开发Ufun关于对话框UI的使用案例大全$ L5 D6 G- d1 ?

% K6 `' Q( [& B% ^2 Y
, K) ~4 p# z/ K% j

UG NX二次开发Ufun关于对话框UI的使用案例大全

UG NX二次开发Ufun关于对话框UI的使用案例大全
9 ^' @/ F4 N/ D" t
- S9 V0 }* S" n' e; v

9 f5 c( c5 y  Y, Z( z" N! P
6 j4 F9 u7 p3 U2 {( R# X : R! g; U8 A% n; U
游客,如果您要查看本帖隐藏内容请回复

8 J, K4 z1 R) w& E$ R9 X$ K源码分享:! k. n6 S" e. n  J. u

; k% ]/ H  e* S+ r( ~
  1. /*****************************************************************************0 G) J( B9 k) G. S5 B* b
  2. **
    2 h3 P0 Q( N' m8 U, w0 E) M5 S
  3. ** ufuitest.cpp" d9 F! Z* e& }( ]0 J4 S. |9 u
  4. **' [2 ^6 E4 I/ c0 D7 j8 s0 g
  5. ** Description:; O; y/ |- F' ?( I
  6. **     Contains Unigraphics entry points for the application.
    3 r: r3 U1 g; e  D1 _) H
  7. **" ?6 r# K+ c, k5 d
  8. *****************************************************************************/3 p! h  F( c0 j/ B9 J5 D& X- m* x
  9. . W* C5 B. K% A
  10. /* Include files */  t% C6 g, X  d; H+ A; P0 b1 a! X
  11. #if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
    ! o' {% O( q" B& ~* Y& |6 u
  12. #   include <strstream># l; o) G6 y, H) r8 E' V2 m: H
  13. #   include <iostream>' O# t6 z& T! S1 |
  14.     using std::ostrstream;
    ( A7 T. d' O! R4 ~1 L
  15.     using std::endl;    5 o$ X3 C( Q  y: J( P3 z
  16.     using std::ends;, j6 z2 h7 i5 n- S
  17.     using std::cerr;( a4 I7 @4 [. Z" C; F
  18. #else
    ; ~9 D( g: d' V* {& ?
  19. #   include <strstream.h>
    4 ^" z& o' [" C
  20. #   include <iostream.h>
    : A9 U3 ]9 }! X' m2 [) Z
  21. #endif
    3 I& s$ h8 }( \$ W. }2 d
  22. #include <uf.h>% z: [9 A9 F1 O) V" B1 P9 f7 O
  23. #include <uf_ui.h>0 n$ h) |8 T) R6 @' ]/ Z4 V
  24. #include <uf_exit.h>
    * D( t3 [9 P' R/ U: D" [
  25. #include <sstream>
      T' P2 m2 N% u/ ^" X# d
  26. 4 _. w3 W# o8 q2 T8 g; W8 V" Q! l
  27. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
    3 Q8 i' q) w! }

  28. ( G2 d% R8 p! `! @( r, b
  29. static int report_error( char *file, int line, char *call, int irc)& G: \; x" |5 v* ?
  30. {. J. G( x: v; j2 S& D
  31.     if (irc)
    ! }/ ^- `- A& z0 L: S$ V
  32.     {: |6 u; S8 Z/ J9 U
  33.         char err[133],  l1 _" ]; Y" L1 T; F4 z6 N
  34.              msg[133];
    , b$ I! A- O; p; d* x# ]

  35. 1 c; _9 e6 |* e6 m  I( [; l
  36.         sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
    7 e! O  Q- D, b0 A
  37.             irc, line, file);
    , H4 x# H; }8 W, `& e
  38.         UF_get_fail_message(irc, err);/ i1 h6 L; y2 A& `# c( Q$ A

  39. 8 X$ y) L7 C4 S* Z& @4 L% k2 u, K- g
  40.         UF_print_syslog(msg, FALSE);
    9 \2 A* X3 A; t) a5 ~3 l
  41.         UF_print_syslog(err, FALSE);4 N  d0 r( u, C: H0 z
  42.         UF_print_syslog("\n", FALSE);" B$ D. k1 W. v3 G) j& u. q
  43.         UF_print_syslog(call, FALSE);8 N. s4 K+ f/ ]; d6 T
  44.         UF_print_syslog(";\n", FALSE);. H9 N/ w' e6 Y1 @; U$ R  \

  45. # T/ ]9 U: z1 j
  46.         if (!UF_UI_open_listing_window())* R) }/ p2 u5 _4 z, W
  47.         {8 |$ f5 Q9 I9 [0 C: m
  48.             UF_UI_write_listing_window(msg);+ V6 i7 k7 [% A
  49.             UF_UI_write_listing_window(err);# e* j& y( |) U! l, y
  50.             UF_UI_write_listing_window("\n");
    . Z+ t) _# c+ k* W3 e; l: M+ W
  51.             UF_UI_write_listing_window(call);* L$ r, a; [+ n% O
  52.             UF_UI_write_listing_window(";\n");
    + H4 W$ t* D# l/ g& n
  53.         }
    - G: j! I8 ~) \1 ?, {0 `# u$ _9 t/ H, H
  54.     }
    " C/ g2 ]+ ~7 I5 f& m9 E6 i

  55. 0 m. ?9 }8 ^# u7 |
  56.     return(irc);% p9 K  q3 C. ]- d% O
  57. }& k5 J* l# Z7 c

  58. 4 S2 N- D; Z9 ]/ O, c
  59. , Y" K) d0 X( D6 @. L) j
  60. /*****************************************************************************
    ) f- R, N2 |% i. v
  61. **  Activation Methods
    0 r: s+ d. K+ X& o' A$ [
  62. *****************************************************************************/
    8 f  x' X2 x3 m: W" d$ `
  63. /*  Unigraphics Startup& z0 l! a* D: ]
  64. **      This entry point activates the application at Unigraphics startup */
    8 V4 t' L# q9 ~3 U
  65. extern DllExport void ufsta( char *param, int *returnCode, int rlen )9 ?# E+ L" m/ O, y& T9 _: l
  66. {' R& `9 s4 Z2 ~3 a" N$ l+ M7 k' U; w
  67.     /* Initialize the API environment */
    ! J8 w6 _1 H: e
  68.     if( UF_CALL(UF_initialize()) )
    1 V5 ]% c' a2 T
  69.     {
    ) L8 g. Z0 Y$ g( n
  70.         /* Failed to initialize */
    & S1 `9 m$ p6 j0 R( y* K0 w" c
  71.         return;1 X( M+ d! D" K- d6 i( f& ~
  72.     }
    " n0 a* o* j( C. v5 n$ @
  73.     1 R3 H4 l, U" j$ f% j) i  p# o
  74.     /* TODO: Add your application code here */
    6 o# \! `: N" K6 X& ~

  75. 6 Q6 w( T# L2 G' ?; v  z  B
  76.         //测试 uc1600 和 uc1601
    5 z5 S2 v) v# h  a
  77.         std::stringstream  ss;& F* J+ _, p9 _5 Q. J5 O2 Y; J% U
  78.         char *cue = "PLM之家测试ufun常用的UI";
    ( C9 `2 L% L$ R% L
  79.         char str[133] = "输入字符串";6 F8 t% L+ y7 j2 e' g( g
  80.         char msg[133];2 a! t2 L! h; g
  81.         int length,result;
    : o& b; ^$ R7 S
  82.         result = uc1600(cue,str,&length); //获取输入的字符串) Q4 m4 }  X& R: l) \
  83.         sprintf(msg,"%d",length);8 V! [+ g3 k' ^5 D8 {9 y8 U
  84.         if(result == 3)
    ( {5 ~, S& |3 m* I, P8 v
  85.         {
    4 b# t+ d6 H( t6 i/ L/ `* Z
  86.                 uc1601(msg,1); //弹出消息对话框,1代表是对话框,0 代表在消息显示在状态行上7 K) _4 O3 j' W, O
  87.         }5 b8 O  [5 n+ L+ T0 y& p: }
  88. 5 g! d1 c$ J1 _" K
  89.   //测试uc1603 --》用来创建带有button的系列按钮
    # K3 C9 r* N4 k5 V
  90.         char *title = "测试uc1603";4 O# N8 p3 H/ n
  91.         char items[][38]={{"创建block"},{"-"},{"创建Cylinder"},{"创建sphere"}};7 U( M1 h4 `* M8 m4 b1 u; v5 C
  92.         result = uc1603(title,1, items,4);, X- H  Y. B6 L/ S/ [+ p- t
  93.         if(result ==5)
      y/ b4 a% i2 [/ m. y0 U
  94.         {
    / S/ f2 k$ L# I" Y; B4 F# Z
  95.                 uc1601("这个是对应的第一个选项,创建block",1);9 P. ]+ s9 {1 }* I
  96.         }
    ; k) W  H+ W, V
  97.         if(result ==6)! z+ |" V* v# N8 r' B! Q* g
  98.         {
    - X* H! x1 T3 g0 s5 i
  99.                 uc1601("这个是对应的第二个选项,此处是一个分割线",1);& g5 \  T: _' y2 `9 o
  100.         }
    # o1 L* j- ]: j5 `. a2 X9 k% w
  101.         if(result ==7); j) C3 K( @8 y5 B3 x1 ]0 B0 [
  102.         {
    % C* g+ P5 {, l2 @, R/ x' e
  103.                 uc1601("这个是对应的第三个选项,创建Cylinder",1);
    0 a; K$ V6 e8 _. z6 N) m
  104.         }
    9 |) H& r$ u/ S  C) u
  105.         if(result ==8)
    7 P6 ]; _  c, w# i* q1 l  B8 k* ~
  106.         {: Z4 B+ V  a  F' s1 ^/ H
  107.                 uc1601("这个是对应的第四个选项,创建sphere",1);0 U1 N" D( x, v$ a, h
  108.         }7 [" d4 y  I, x! m' [& a$ b

  109. ; a$ ^' L4 m" R  G4 g) a
  110.         //测试uc1605--》用来创建复选框( B# X" t- p$ z: h
  111.         int selected[14];  ^) P  W. d9 r0 L! h
  112.         uc1605(cue,0,items,4,selected);3 V& P3 `( g0 |. S+ E  k# x
  113. ' p3 N8 R! o) s$ u8 U  `( }
  114.         //测试uc16075 [2 F5 k3 R  s9 U5 v- t5 o
  115.         char *cp1="测试1607";6 W- ~: d% _0 e
  116.         char cp2[][16] = {{"Length"},{"Width"},{"Height"}};  H6 c3 p% v) T$ s/ [4 g1 l9 q
  117.         int  ia4[3]={100,200,300};
    - ]# q9 ?) X- x+ u
  118.         uc1607(cp1,cp2,3,ia4,0);. A& b! J2 Q: _* p( z0 b/ G! W* m
  119.         //测试uc1608-->用来获取int 或者 real类型的输入框, p$ G4 w( g9 _
  120.         char *cp11="测试1608";1 D% e5 i" e3 o+ s$ _5 y
  121.         char cp21[][16] = {{"integer1"},{"double1"},{"integer2"}};, J( M( I" d' v1 e3 t
  122.         int  ia41[3]={100,200,300}; //ip6 的值为0的适合选取int
    # n6 V  e( ?  Y# H0 F
  123.         double ra5[3] = {30.5,50.8,100.3}; // ip6 的值为1的适合选取double
    + S2 F# @- a# J) Y
  124.         int ip6[3]={0,1,0};  
    ; C. _) v8 b! d' m
  125.         uc1608(cp11,cp21,3,ia41,ra5,ip6);- d4 ~6 Y4 W, \$ t+ v

  126. - P6 U6 J$ x3 n' _$ G* L) R
  127.         //测试uc1609 -->用来获取real类型的输入框3 g; K5 N; S1 z
  128.         char *cp12="测试1609";" U/ k" Y' C1 Z/ n7 u6 V1 W
  129.         char cp22[][16] = {{"double1"},{"double2"},{"double3"}};
    + R' ~# U, x1 N7 f: b5 z) x$ Y
  130.         double ra42[3] = {30.5,50.8,100.3};
    3 l9 o8 Z' `5 M+ b0 ]- ~, A( H4 B
  131.         uc1609(cp12,cp22,3,ra42,NULL);
    / b$ h% ~1 O! I* w9 r: U
  132. . a. `3 B9 O. P( n, h* O/ h- f
  133.         //测试uc1613 -->用来获取int,real,string类型的输入框- [, E) X9 ?: F9 r0 `# s$ N6 P1 z
  134.         char *cp13="测试1613";3 @( I' x" a1 P" U& U
  135.         char cp23[][16] = {{"integer"},{"Double"},{"String"}};
    ( e1 a; w; ~8 V7 O/ n
  136.         int a3[3] ={10,20,30};
    , b2 ^6 O3 @% @# j* _, ?
  137.         double ra53[3]={11.23,12.45,12.67};
    ; j: ]6 X( s) d
  138.         char ca63[][31] ={"string1","string2","string3"};
    7 i5 M+ f2 m7 Y! Q1 R- @# E& L
  139.         int ip73[3] = {100,200,300}; //指定对应类型的范围
    9 a- y" P; ^- B6 j' `& `7 \7 ]) M3 j
  140.         uc1613(cp13,cp23,3,a3,ra53,ca63,ip73);; g( B; p$ A- `- }. I+ e# Y! r
  141. # }1 `% N. L$ m% r) E& I9 i
  142. 6 {" s, l5 e, r1 o
  143.     /* Terminate the API environment */. a. ^. x- W0 B; E! m
  144.     UF_CALL(UF_terminate());- ?) H9 L" o- E: V: X. T
  145. }9 S) ~$ M& N; ]7 L: V! }

  146. % B  X$ [2 i0 x6 E6 v- H
  147. /*****************************************************************************2 A1 b* z& Z; e8 c" ]; |: l
  148. **  Utilities
    ! o1 W7 h3 |9 G- y0 W; T  H, a
  149. *****************************************************************************/# m) G: f2 s2 _0 I/ w" C5 l

  150. : M6 Y( e& z" h  j( F
  151. /* Unload Handler  g) h. q/ {# o) d$ @5 P
  152. **     This function specifies when to unload your application from Unigraphics.
    # {) ^6 r4 O# U$ H- r
  153. **     If your application registers a callback (from a MenuScript item or a
    1 t; [3 t% K- ^6 K
  154. **     User Defined Object for example), this function MUST return- {  l. U8 G" E( \1 Y8 M0 }
  155. **     "UF_UNLOAD_UG_TERMINATE". */
    $ X& l, ^! l- t# h5 K
  156. extern int ufusr_ask_unload( void )
    ! Q. Q; ]$ P3 ~, j  O* ~
  157. {
    ! V( M# k$ \. N
  158.     return( UF_UNLOAD_IMMEDIATELY );- T, q$ E. M" _- o1 X
  159. }
    - x" ~0 p+ @+ ^9 C1 s1 Y/ A
复制代码

3 q% M0 ]7 |$ [# t4 a7 W3 M; v; E% e! A& k; W' o

, G! q8 F0 L" D% y' [
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复136

a0806 发表于 2013-11-9 23:14:30

a0806 板凳

2013-11-9 23:14:30

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

使用道具 举报

东沟恋君 发表于 2013-11-10 22:52:12

东沟恋君 地板

2013-11-10 22:52:12

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

使用道具 举报

UG♂-金华-航宇 发表于 2013-11-11 09:17:47

UG♂-金华-航宇 5#

2013-11-11 09:17:47

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

使用道具 举报

飞扬 发表于 2013-11-12 19:57:42

飞扬 6#

2013-11-12 19:57:42

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

使用道具 举报

smthan 发表于 2013-11-14 09:53:12

smthan 8#

2013-11-14 09:53:12

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

使用道具 举报

拓展模具 发表于 2013-11-14 14:59:49

拓展模具 9#

2013-11-14 14:59:49

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

使用道具 举报

☠寶∞爺☠ 发表于 2013-11-14 17:46:31

☠寶∞爺☠ 10#

2013-11-14 17:46:31

我来看看了
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了