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 49470 136

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

mildcat 楼主

2013-11-8 21:29:41

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

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

x
UG NX二次开发Ufun关于对话框UI的使用案例大全5 u" @6 _  g- K8 K' u+ J: w, R
4 \, u0 |' F( e4 [
  V) E$ G  k# s" e

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

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

7 P/ p/ |5 \4 N- o  V! p! I8 J
# d: I1 G5 f8 _/ E2 Z

) g$ y0 |8 I5 T. k  j+ a0 W4 f* c/ x5 A' d0 f: h$ B/ h
  z3 t% Z4 ?$ n* F, q) v
游客,如果您要查看本帖隐藏内容请回复

/ _3 b* G* ]/ j- T- f1 A1 ?源码分享:: _8 w2 d& O/ J9 K* m2 E

1 u# o: v( E) {+ b1 C! l+ n7 {9 K
  1. /*****************************************************************************
    $ d: Q9 V6 s& d3 W6 m* v
  2. **/ `4 C- J5 R; g) A- A' @
  3. ** ufuitest.cpp
    , `* F3 A) }. j6 X" R6 ?  E5 h/ _
  4. **
    ) I+ T: A" Y- ?. T
  5. ** Description:8 S% c4 k1 b/ @' X! h( w
  6. **     Contains Unigraphics entry points for the application.: H$ m9 }" S8 b" ?3 m3 q5 P
  7. **) B) z4 O) ], C5 r- W
  8. *****************************************************************************/
    ' H7 g: S: m2 r$ g' ], f- Y$ j

  9. : k  y. S" `  `& n! j6 x
  10. /* Include files */- o) u: u5 l& {# ~  x; n( H- M2 _' ~
  11. #if ! defined ( __hp9000s800 ) && ! defined ( __sgi ) && ! defined ( __sun )
    0 I, S. C( r6 U" x2 ?/ n" Q4 r
  12. #   include <strstream>
    & R3 p2 w; X! h5 Q
  13. #   include <iostream>
    9 T+ I% ?/ f# g& r7 m
  14.     using std::ostrstream;9 n: a" E; @+ n' \" {2 P7 v9 ~% c
  15.     using std::endl;   
    3 F% K, B4 T; t( P  `8 h
  16.     using std::ends;, U/ S7 _- e6 ]6 [! h, r6 {
  17.     using std::cerr;
    ( ?% |+ o) ~  R# i7 M( Z  {% v
  18. #else1 A5 L$ t  Z4 c! p& F3 g( f% J
  19. #   include <strstream.h>
    - N+ A; c" B" `: }0 \
  20. #   include <iostream.h>
    0 h- x5 W/ b) p+ U8 ]
  21. #endif$ E4 i& F1 A/ |+ F8 p: M* Z- ~- ~
  22. #include <uf.h>. [) \' h3 P) V3 h6 T
  23. #include <uf_ui.h>
    2 z0 o8 E3 _. X- U
  24. #include <uf_exit.h>
    " B9 ?* t/ @6 d2 F/ V- v* b
  25. #include <sstream>1 \( T  O( {5 ~. g$ e3 ?+ q

  26. + g4 {$ H7 r" P5 b0 O
  27. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X))). X5 Y4 L2 n/ u- F  p3 N$ X
  28. 8 [. e4 D" T7 C. F% Z
  29. static int report_error( char *file, int line, char *call, int irc)5 Q6 p: V0 e( U5 _
  30. {
    . u% h  S$ h" H& ~" i6 G& k
  31.     if (irc)5 K0 P* O  u1 ~. V7 ~
  32.     {, d- p& F* T5 a) w
  33.         char err[133],6 y: o: k. O' t
  34.              msg[133];
    $ m- Y! h; o; e7 _0 }) o

  35. , K3 b1 u9 q) Q/ Q+ g; F9 S
  36.         sprintf(msg, "*** ERROR code %d at line %d in %s:\n+++ ",
      c* l- H9 \, n+ X8 q& n
  37.             irc, line, file);
    & J1 ?' [8 m! H2 f0 K5 r
  38.         UF_get_fail_message(irc, err);
    0 W& j5 b0 Q- N, c; O: \

  39. ; C4 s7 O0 V5 U0 s1 Z& }
  40.         UF_print_syslog(msg, FALSE);0 S) J0 a2 `  I/ |5 E
  41.         UF_print_syslog(err, FALSE);" e' P% E8 T) n- Q- ]/ o9 l
  42.         UF_print_syslog("\n", FALSE);5 ~, P. Y. x: r% n' V
  43.         UF_print_syslog(call, FALSE);
    2 [( I1 x. m9 ^
  44.         UF_print_syslog(";\n", FALSE);+ S% T. Y+ _1 B2 n5 H

  45. 3 v+ E, z" ]5 R0 H9 T% X" }; x4 k) W
  46.         if (!UF_UI_open_listing_window())$ V: ~  o5 b, K6 F2 T7 c
  47.         {( x$ i! O1 S  H
  48.             UF_UI_write_listing_window(msg);
    , ?3 ~& E. u' n% P: [
  49.             UF_UI_write_listing_window(err);
    ; u2 M$ _7 U3 z- D+ P+ Q
  50.             UF_UI_write_listing_window("\n");1 @( c* H5 B* Q8 P1 o# O
  51.             UF_UI_write_listing_window(call);
    4 p! @% l9 ]" l, L5 E! d+ o8 T* Z1 v
  52.             UF_UI_write_listing_window(";\n");
    3 I6 _3 ^4 n" ]4 l8 }4 v6 L
  53.         }5 F# G, Q/ B2 }: q( C
  54.     }  k) M3 Z0 N2 N  F

  55. 6 a! m. j. S  \( P5 L
  56.     return(irc);' i" F" j. X" z+ k% }9 Q
  57. }( K- t$ Q- c. P

  58. % T1 a: t( q8 D+ s9 C6 X

  59. % D9 s# f# [( P" i/ G* ~- r; }
  60. /****************************************************************************** k8 W5 R* [* p' ~$ v8 q
  61. **  Activation Methods
    " q8 I! L- p: f/ T; H
  62. *****************************************************************************/
    , e, s: O/ D5 q: ^% s) _
  63. /*  Unigraphics Startup
    7 W4 o  I8 m4 i! P$ _8 e, u
  64. **      This entry point activates the application at Unigraphics startup */
    2 q! F8 _) ?  ^0 Y
  65. extern DllExport void ufsta( char *param, int *returnCode, int rlen )5 P+ ?9 d' A& g2 M- B5 M1 k
  66. {$ O& X2 \- |7 x7 `' q2 N. G( }, @
  67.     /* Initialize the API environment */
    7 y$ Y# w" ?& R
  68.     if( UF_CALL(UF_initialize()) ) + O. K2 ~' h& t5 E& K& @
  69.     {- |! e' S3 _. j1 C
  70.         /* Failed to initialize */4 k6 ?4 G( w3 @: Y6 o& K2 K
  71.         return;
    6 T9 u8 H% f1 z; [: E4 L, ?7 t
  72.     }
    9 W: }) r& K# U/ v4 c" E
  73.     4 G3 \$ Q4 i3 ]8 v5 X/ v  Q! |4 C% f( i
  74.     /* TODO: Add your application code here */( ]) o% J; O9 t7 Q! u+ j5 l
  75. ; e/ Q; u$ [: C5 C' U( F* H+ C2 H. m
  76.         //测试 uc1600 和 uc1601& |* W: y% L7 B. t
  77.         std::stringstream  ss;
    & m5 l0 D9 d( Z2 W7 v  j
  78.         char *cue = "PLM之家测试ufun常用的UI";  S& d& k" G3 D/ |0 v! ^
  79.         char str[133] = "输入字符串";5 C; ^' _& s+ [3 E5 Z7 N3 Z
  80.         char msg[133];
    % j! y/ G2 n. `, O7 R5 _) t
  81.         int length,result;
    2 R) r, f- ?1 E. X5 O" x
  82.         result = uc1600(cue,str,&length); //获取输入的字符串) \5 \! n8 c' d( m. X
  83.         sprintf(msg,"%d",length);9 }: S3 J* x1 z
  84.         if(result == 3)
    9 f- E) k; U) Q( H" u
  85.         {
    - ^0 T8 Y5 F. o% w% f/ q5 A8 X
  86.                 uc1601(msg,1); //弹出消息对话框,1代表是对话框,0 代表在消息显示在状态行上
    # u6 e# u  {2 Q* w. w! p5 W* a9 p
  87.         }
    8 u: @% t" X& y' G# r  J& `
  88. 0 O' ^1 d4 B5 d4 R4 |4 q
  89.   //测试uc1603 --》用来创建带有button的系列按钮$ N' z1 n& Y0 U, n% t' `; e
  90.         char *title = "测试uc1603";& |0 A$ a" ~) i& H. T! U0 ]2 p% }
  91.         char items[][38]={{"创建block"},{"-"},{"创建Cylinder"},{"创建sphere"}};
    7 h1 [; u+ ^  ?
  92.         result = uc1603(title,1, items,4);- ?% _- u# o' G* w8 ?8 r
  93.         if(result ==5)
    2 `5 t* h' l* G0 O' G* r) K
  94.         {, X! ^% b1 x- c' n# t6 ^  s# i) Q
  95.                 uc1601("这个是对应的第一个选项,创建block",1);& s) b, q- Y6 ?: @+ J$ K
  96.         }
    & w7 _% N' v. k& B9 k* r/ X- c
  97.         if(result ==6)8 ]# r9 P  g. D4 t, {
  98.         {
    & k2 T" A: B, Z' K  Z$ f, P6 _
  99.                 uc1601("这个是对应的第二个选项,此处是一个分割线",1);/ G8 x$ I/ j. x% [
  100.         }
    3 I' N  S! c) f0 y1 F
  101.         if(result ==7)
    3 h" J9 N1 Y) L# [
  102.         {4 H  W* F5 M7 J% @6 c* K2 O1 }  o, e
  103.                 uc1601("这个是对应的第三个选项,创建Cylinder",1);2 m" X4 [& T, S0 m1 W" p
  104.         }
    0 G/ R3 u+ |+ X4 x: I6 E
  105.         if(result ==8)" I  |8 C7 I! |
  106.         {7 E7 ^* P5 J2 |! O+ u2 u
  107.                 uc1601("这个是对应的第四个选项,创建sphere",1);
    2 ~/ u$ l) I' ?" _5 D
  108.         }
    2 V7 `2 B0 i& o- a- c8 I7 a/ m
  109. 6 n+ P8 G& F+ u6 k$ T# `" I- ~/ _* r
  110.         //测试uc1605--》用来创建复选框8 ~2 ]5 R) E4 Q
  111.         int selected[14];
    9 j3 G3 L; u& J, S; l, E
  112.         uc1605(cue,0,items,4,selected);
    / n& {7 E2 q- q4 P; n
  113. 7 E; T. t5 U* f0 w! p' E; m
  114.         //测试uc1607+ J: Y( p1 q2 X
  115.         char *cp1="测试1607";
    3 m% ^; h! _" R4 p* N8 o
  116.         char cp2[][16] = {{"Length"},{"Width"},{"Height"}};
    2 w) C4 Q0 C9 E7 H4 \6 K9 `
  117.         int  ia4[3]={100,200,300};8 ^' G0 l5 c, k4 K
  118.         uc1607(cp1,cp2,3,ia4,0);
    3 q/ Y" ~, L$ e* M
  119.         //测试uc1608-->用来获取int 或者 real类型的输入框
    + ^+ A9 X6 \+ L5 a+ ~
  120.         char *cp11="测试1608";
    ( D8 N5 K, L' N3 _0 K
  121.         char cp21[][16] = {{"integer1"},{"double1"},{"integer2"}};
    + L  J' A; M( O
  122.         int  ia41[3]={100,200,300}; //ip6 的值为0的适合选取int9 M5 U& d4 q" s* X% [
  123.         double ra5[3] = {30.5,50.8,100.3}; // ip6 的值为1的适合选取double% k4 K# c7 Z& R" S# i
  124.         int ip6[3]={0,1,0};  , i: J! @0 T/ s8 a5 Y8 x/ @
  125.         uc1608(cp11,cp21,3,ia41,ra5,ip6);& p% n: r4 h( \% B& G; o
  126. 8 d& U  t; |& s/ @3 g  u1 Y! Y
  127.         //测试uc1609 -->用来获取real类型的输入框* [( s3 U  i% g2 {- _) W
  128.         char *cp12="测试1609";
    8 z9 q7 ]. j+ D% M. q# y
  129.         char cp22[][16] = {{"double1"},{"double2"},{"double3"}};
    8 s0 y7 D& w, y- S+ T7 ]6 w" O
  130.         double ra42[3] = {30.5,50.8,100.3};
    $ L5 @, \$ _  q6 S/ b4 A; g: ?: N
  131.         uc1609(cp12,cp22,3,ra42,NULL);
    & a& C, ?4 e. o# k
  132. ! M# ]8 k& _7 O' I& L3 o
  133.         //测试uc1613 -->用来获取int,real,string类型的输入框$ e; T" u7 g8 l& E. X6 R# ^0 H
  134.         char *cp13="测试1613";4 j& _: O! {0 F% V
  135.         char cp23[][16] = {{"integer"},{"Double"},{"String"}};5 x! I9 t5 v; i5 {/ }# U
  136.         int a3[3] ={10,20,30};
    0 W1 B, c  c6 ]* e8 |
  137.         double ra53[3]={11.23,12.45,12.67};  B3 y3 Q. ]7 ]! _
  138.         char ca63[][31] ={"string1","string2","string3"};
    9 w  D# N& _) g# u* f
  139.         int ip73[3] = {100,200,300}; //指定对应类型的范围8 ]* c+ ~. z- ?% p
  140.         uc1613(cp13,cp23,3,a3,ra53,ca63,ip73);
      ^1 }. H; M# B9 i+ R

  141. : K% x+ ^$ h, J  `2 q, X& u- L

  142. $ U9 i. o& l7 o- Z
  143.     /* Terminate the API environment */
    : N8 ^9 T$ i% v+ n: {, S2 r
  144.     UF_CALL(UF_terminate());
    3 {5 p( [2 }# h1 m
  145. }
    : z# T7 S9 K9 {( C5 z+ w. [

  146. ' ^) z) v" c# p6 G$ b/ L0 T
  147. /*****************************************************************************
    3 h4 t; e5 n1 T' X! p
  148. **  Utilities
    $ a9 o* C. F3 F" \6 X/ e: ^& s
  149. *****************************************************************************/
    0 w6 G* t4 A3 W# R$ W& X

  150. * P  a2 F& R! ~
  151. /* Unload Handler
    8 _* q0 C  W" b' k. v
  152. **     This function specifies when to unload your application from Unigraphics.+ N6 i9 n4 C; e5 ~% G/ ~; H
  153. **     If your application registers a callback (from a MenuScript item or a
    3 [" r+ |5 K* C5 m9 B3 D! n$ A
  154. **     User Defined Object for example), this function MUST return
    0 l4 J1 L- l* B+ e( M
  155. **     "UF_UNLOAD_UG_TERMINATE". */
    1 G7 ^; c" ~. U4 M
  156. extern int ufusr_ask_unload( void )
    + q0 D# U+ J- L: c1 n' G  O( P4 Z
  157. {
    4 w* u+ A- b, {" K: x# x
  158.     return( UF_UNLOAD_IMMEDIATELY );
    9 [* o$ g* F* A( L- x2 @/ f
  159. }
      n. e' G% l- `  ~
复制代码

* W# U6 j0 z% k2 c" g1 Y! Y; ~6 I) `4 d# A' L# S5 I5 T8 u4 j9 z; [( J1 w

  \; O9 n4 n! p5 |( z3 D
该会员没有填写今日想说内容.
回复

使用道具 举报

全部回复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二次开发专题模块培训报名开始啦

    我知道了