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

[二次开发源码] NX 二次开发中创建曲线命令及获取点,线,圆弧信息源码

[复制链接]

2013-11-27 15:21:12 2833 0

admin 发表于 2013-11-27 15:21:12 |阅读模式

admin 楼主

2013-11-27 15:21:12

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

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

x
NX 二次开发中创建曲线命令及获取点,线,圆弧信息源码
3 e: C& ?+ E! ?' R0 w4 \: E& t: J! a# o# l' G- r4 r& D
  1. <p>static void do_UGopenapi()
    ! p3 F/ s" T6 A8 t3 e
  2. {
    ' v' I1 }3 a5 I+ M; ^. D9 d
  3. /*
    , b" H4 L+ a! n9 F" |4 M, T' n2 h. `
  4. Create Curve) W( b: p( J) t; g7 A
  5. */- \! y- D2 u4 p8 }: d4 m, e
  6. // create line+ z9 [* _: M/ `5 p
  7. UF_CURVE_line_t line_coords;8 w+ w2 h5 q" L  O) g6 J
  8. tag_t line;
    , C3 K2 ?* a* d9 M2 @
  9. line_coords.start_point[0]=0;* W3 t2 p: R* _$ y
  10. line_coords.start_point[1]=0;  x1 m9 X. A/ S) N' k; P
  11. line_coords.start_point[2]=0;. K' B' ]: x8 w& |3 W' d
  12. line_coords.end_point[0]=100;( @" c2 ~  ]! S5 N
  13. line_coords.end_point[1]=100;+ u" ^' n3 z3 Y5 G9 x; Z& y
  14. line_coords.end_point[2]=100;
    : _0 D; u! ^) d7 \, B
  15. UF_CURVE_create_line(&line_coords,&line);</p><p> //create arc: o" D1 v# Z8 G: D: i" t9 w" t
  16. UF_CURVE_arc_t arc_coords;
    * R. N5 N, _/ h0 H; m3 ?& Y
  17. tag_t arc,marix,wcs;
    & @# L# F1 H* H2 I8 m
  18. UF_CSYS_ask_wcs(&wcs);
    % a& N5 A0 X4 ?+ I. n
  19. UF_CSYS_ask_matrix_of_object(wcs,&marix);8 Y/ k7 ^- ?* z1 I8 W
  20. arc_coords.arc_center[0]=0;
    # p4 s9 q2 ~, [' ?8 i
  21. arc_coords.arc_center[1]=0;3 j/ H! \' H; g& ~5 S: {4 w( l  S
  22. arc_coords.arc_center[2]=0;
    * _  f1 F! z( Z( z0 C8 ?
  23. arc_coords.start_angle=90*DEGRA;
    8 d9 W5 \5 b# z! f  j" G: `( K$ k) h
  24. arc_coords.end_angle=270*DEGRA;
    4 C' U* d4 P# `2 a$ x2 b8 \/ G
  25. arc_coords.radius=100;
    " [# `1 x; v' V5 }
  26. arc_coords.matrix_tag=marix;( ^, P  y! I  D# p) t- t) u
  27. UF_CURVE_create_arc(&arc_coords,&arc);0 |' N% e' w+ h; g' I, v8 u9 \% q
  28. // create point
    + Z! U7 {  {( n
  29. double point_coords[3]={100,100,100};# v: o5 D* k' c: j( G/ b8 p" @
  30. tag_t point;
    & `, t- f2 u  @! x( b
  31. UF_CURVE_create_point(point_coords,&point);  X9 t# X$ U, _$ ~' \( Q

  32. 6 c0 n; ~" ?" d; l
  33. // create Plane
    $ o& K% f* c) @8 t, I3 n3 T
  34. double    origin_point[3]={100,100,100};
    & x7 I. r5 w: Q+ O
  35. double    plane_normal[3]={1,0,0};7 {: ?: ]' q0 |+ `: N: B
  36. tag_t     plane_tag;    7 ^3 j6 |1 }# l
  37. UF_MODL_create_plane(origin_point,plane_normal,&plane_tag);</p><p> /*3 K& D& v7 a3 U9 n
  38. Get the curve information5 s8 w: T0 m# m9 f; V
  39.   */2 o- c  P( f! ^, Z8 {; `- e4 R
  40. UF_UI_open_listing_window();& c7 O9 G) v5 u
  41. char msg[132];
    4 ^$ i2 J7 J3 N1 J1 ^+ j
  42. // get line information+ c2 u. s1 U1 }" x# N  U
  43. UF_CURVE_line_t line_info;
    * D' n6 M0 `8 @7 g  e! s
  44. UF_CURVE_ask_line_data(line,&line_info);/ x' Z+ u7 U0 P
  45. sprintf(msg,"line coords:\n\t%lf,%lf,%lf;\n\t%lf,%lf,%lf",line_info.start_point[0],& i0 o6 S- w' S2 y# j
  46.   line_info.start_point[1],line_info.start_point[2],line_info.end_point[0],line_info.end_point[1],: \8 E* h0 [3 F0 a2 T) m2 a
  47.   line_info.end_point[2]);
    # C2 [- ^# H. R5 L% A3 N
  48. UF_UI_write_listing_window(msg);
    : H9 z5 T4 t6 i0 G/ w: e
  49. //get the point information
    * t( U6 w0 C" x( T
  50. double point_info[3];+ E" g0 w: p" Z6 z
  51. UF_CURVE_ask_point_data(point,point_info);, _. `/ h- x9 i+ @2 O& i6 I
  52. sprintf(msg,"\npoint coords:\n\t%lf,%lf,%lf",point_info[0],point_info[1],point_info[2]);
    " w3 S0 I6 T2 j$ q
  53. UF_UI_write_listing_window(msg);</p><p> //get the arc information
    3 D# l1 X: P0 |9 b4 _9 @
  54. UF_CURVE_arc_t arc_info;
    1 T9 `' ?& q) {
  55. UF_CURVE_ask_arc_data(arc,&arc_info);$ o+ x/ [. j6 W* R' l
  56. sprintf(msg,"\nArc Center coords:\n\t%lf,%lf,%lf;\nArc start Angle:\n\t%lf;\nArc End Angle:\n\t%lf;\nArc Radius:\n\t%lf;",
    6 \. V- {7 p% F8 |" X4 @* Y
  57.   arc_info.arc_center[0],arc_info.arc_center[1],arc_info.arc_center[2],
    2 W/ o( }2 r" N* Q, z$ a
  58.   arc_info.start_angle*RADEG,arc_info.end_angle*RADEG,arc_info.radius
    $ T$ Y0 M- M  }5 b& N7 V
  59.   );
    ; R, A3 ]; N3 Z; Z% m" K
  60. UF_UI_write_listing_window(msg);
    $ L3 b  F+ `# D6 M
  61. // calculate the arc length2 ^& @- W" G2 [9 b3 d' ^
  62. double arc_length;9 d1 b" @/ t7 _+ O) n7 T2 q
  63. UF_CURVE_ask_arc_length(arc,0,1,UF_MODL_UNITS_PART,&arc_length);2 d, b& p2 {3 J, R# o' G
  64. sprintf(msg,"\nArc Length:\n\t%lf",arc_length);: f/ Z6 ]5 K. E
  65. UF_UI_write_listing_window(msg);. M/ Q# n" b& [
  66. }7 ]5 k% m) [' e8 }2 z  _
  67. </p><p> </p>
复制代码

) s$ |6 s6 c, V% e9 P! }9 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了