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 2842 0

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

admin 楼主

2013-11-27 15:21:12

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

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

x
NX 二次开发中创建曲线命令及获取点,线,圆弧信息源码, Y- l8 c* R2 u4 H2 ^

8 m* k! n+ n% T& x% X8 N6 O
  1. <p>static void do_UGopenapi()5 u, @# {" U1 S5 c
  2. {2 a0 N" D- A' J2 ]9 a) U' ~) S
  3. /*
    # P: H  e$ x6 ~$ l
  4. Create Curve# B7 U5 c) |$ u. ~5 g) X
  5. */
    $ C- v. E( S  E, c5 P' u
  6. // create line
    ; u# K, b' J" P
  7. UF_CURVE_line_t line_coords;/ d8 {0 e+ r5 N) [" v" P
  8. tag_t line;
    % V3 n# I  T  `  d
  9. line_coords.start_point[0]=0;, B* q6 l3 e; x) A" c  }9 X
  10. line_coords.start_point[1]=0;
    + W- q  T+ P% F8 B, B
  11. line_coords.start_point[2]=0;
    ! `3 Z6 o  C0 H- X9 X/ _- B
  12. line_coords.end_point[0]=100;4 E9 E( I8 X* b7 z. x( q
  13. line_coords.end_point[1]=100;. \, K# H# S5 D6 b, E4 f- ~
  14. line_coords.end_point[2]=100;1 |; E( ]  d4 e/ [* ?$ J: h
  15. UF_CURVE_create_line(&line_coords,&line);</p><p> //create arc7 a% B  z/ I8 |! u
  16. UF_CURVE_arc_t arc_coords;7 Z" m* c3 d( v
  17. tag_t arc,marix,wcs;/ R' X+ _& B8 o
  18. UF_CSYS_ask_wcs(&wcs);
    & o) M. N3 d3 A' R+ o0 e
  19. UF_CSYS_ask_matrix_of_object(wcs,&marix);% ~/ m; [; ^5 G5 N8 X
  20. arc_coords.arc_center[0]=0;5 _$ b' h+ V! @1 a* o
  21. arc_coords.arc_center[1]=0;; `: B9 |1 @( N) j3 `# Z
  22. arc_coords.arc_center[2]=0;
    5 V5 h, n' d4 |2 P, H
  23. arc_coords.start_angle=90*DEGRA;
    * n5 x1 a6 e, W9 u* F
  24. arc_coords.end_angle=270*DEGRA;% c# M8 K) h  }2 T, ^. y
  25. arc_coords.radius=100;
    ' y: g( g# ~; M" ^3 R
  26. arc_coords.matrix_tag=marix;& s& J. A% R! B% S9 r6 N1 v
  27. UF_CURVE_create_arc(&arc_coords,&arc);: h+ {8 A! w3 q* T
  28. // create point 4 @' k) n  j% }6 P1 ~' f! c$ ~
  29. double point_coords[3]={100,100,100};  P) A$ L6 m1 @( N6 C
  30. tag_t point;
    4 y7 e/ b+ y' Q- x
  31. UF_CURVE_create_point(point_coords,&point);, m4 f  q: j8 Y) E
  32. 0 W# C, I3 V1 j% h. Z
  33. // create Plane
    , s4 @. w# p) A) u/ S4 K
  34. double    origin_point[3]={100,100,100};$ Y( ^( Z0 }0 C- R- l: U! N
  35. double    plane_normal[3]={1,0,0};& Z1 v! X# o- b. E5 M
  36. tag_t     plane_tag;    5 l" Q5 Y8 ~6 h' m' ]8 f
  37. UF_MODL_create_plane(origin_point,plane_normal,&plane_tag);</p><p> /*
    6 k; F6 T5 Y/ m1 r
  38. Get the curve information& |, @. c4 i" L1 \3 ?
  39.   */  d1 z' z: c  ^- x( W" q& z. a3 p
  40. UF_UI_open_listing_window();  E7 U% |9 d4 e; D! {0 F, |
  41. char msg[132];
    ; G# X7 U3 g& n9 Y
  42. // get line information' G- c/ c( N" _  X4 ^
  43. UF_CURVE_line_t line_info;4 K: @& H; W* F7 z$ q2 ?: d1 Q
  44. UF_CURVE_ask_line_data(line,&line_info);& H6 d; O: b* E5 N* H0 o
  45. sprintf(msg,"line coords:\n\t%lf,%lf,%lf;\n\t%lf,%lf,%lf",line_info.start_point[0],
    # l" I1 \- b+ F4 Q; X; ?
  46.   line_info.start_point[1],line_info.start_point[2],line_info.end_point[0],line_info.end_point[1],7 U) s, R8 K* V# B
  47.   line_info.end_point[2]);
    # f$ U& U3 T  L3 n: z. b* ~  |! W
  48. UF_UI_write_listing_window(msg);
    4 Z; G4 n( g/ R  d1 X
  49. //get the point information
      w: V! |7 X4 H' C+ V
  50. double point_info[3];
    " J* s" @& W( a8 [$ o, L
  51. UF_CURVE_ask_point_data(point,point_info);
    9 B' f  L5 U3 [  B
  52. sprintf(msg,"\npoint coords:\n\t%lf,%lf,%lf",point_info[0],point_info[1],point_info[2]);
    : V0 A6 l' Y7 }' U1 i0 f
  53. UF_UI_write_listing_window(msg);</p><p> //get the arc information
    # a$ W/ ]/ a& T1 {
  54. UF_CURVE_arc_t arc_info;
    5 |: r; H0 m' E  J0 Y/ ^
  55. UF_CURVE_ask_arc_data(arc,&arc_info);! v5 s; C2 w" Z7 L  g! i& H2 V
  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;",+ w. A# T" w' U0 `  K
  57.   arc_info.arc_center[0],arc_info.arc_center[1],arc_info.arc_center[2],
    1 d' }9 W$ ^- R1 }; |4 F! k
  58.   arc_info.start_angle*RADEG,arc_info.end_angle*RADEG,arc_info.radius! h8 w$ l8 d' ~' L4 T% h
  59.   );0 V* r1 s( g+ C8 w6 s1 `6 v, {9 V6 q7 Q
  60. UF_UI_write_listing_window(msg);
    7 S7 ?0 k: q% }( X; y
  61. // calculate the arc length  D8 S5 ~4 f0 ]% J, E
  62. double arc_length;$ }& P7 X+ y4 l
  63. UF_CURVE_ask_arc_length(arc,0,1,UF_MODL_UNITS_PART,&arc_length);. W* }/ C- a& y6 t
  64. sprintf(msg,"\nArc Length:\n\t%lf",arc_length);
    / ~. r# _3 D3 ~+ M8 d9 A
  65. UF_UI_write_listing_window(msg);
    ! a% j* J! G* d3 w. C
  66. }  c) V( I! p: h$ Z  I
  67. </p><p> </p>
复制代码

# W# j  Y  F+ V1 k5 R
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了