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

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

admin 楼主

2013-11-27 15:21:12

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

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

x
NX 二次开发中创建曲线命令及获取点,线,圆弧信息源码6 V5 p# \5 o  q: `, ?; X  U
$ w& d6 O" H9 ~7 a: D
  1. <p>static void do_UGopenapi()9 a9 L5 E" d, ], A9 S1 D1 G
  2. {
    3 T9 R) L. T: d1 d# ]
  3. /*6 h5 {  G! I1 a/ X7 J3 }+ o
  4. Create Curve& }: J/ H2 _, L: ~/ J
  5. */+ K/ U' u' K; V: k" S- X
  6. // create line5 l% o% b& c) {" M2 L9 Z! Y
  7. UF_CURVE_line_t line_coords;
    2 e3 H" c8 J7 L$ j1 g) S3 I
  8. tag_t line;
    7 Q. C; ~" k8 ^
  9. line_coords.start_point[0]=0;
    % o& X+ A/ i$ a
  10. line_coords.start_point[1]=0;( w, {: g, v& ]% O( ~) A6 e* m
  11. line_coords.start_point[2]=0;
    7 }2 v' e. W: {8 s3 M* U7 u5 J# ]* i
  12. line_coords.end_point[0]=100;8 y4 R% e$ H9 r. `6 w7 x4 M
  13. line_coords.end_point[1]=100;0 X9 x. I( [1 W7 a
  14. line_coords.end_point[2]=100;, T5 W3 J. u# w* P
  15. UF_CURVE_create_line(&line_coords,&line);</p><p> //create arc
    4 |7 ~1 X" i9 d4 v6 ~9 R
  16. UF_CURVE_arc_t arc_coords;
    7 |3 K; U- |0 Y& K* W4 R
  17. tag_t arc,marix,wcs;
    2 l. ~0 a2 L1 D3 L; ^+ g
  18. UF_CSYS_ask_wcs(&wcs);
    / Q1 ^5 }0 s3 o
  19. UF_CSYS_ask_matrix_of_object(wcs,&marix);
    5 C) P; M6 T+ _
  20. arc_coords.arc_center[0]=0;. }$ @- Z- N$ D( h
  21. arc_coords.arc_center[1]=0;! `' ]% s6 i3 O9 S; l# D
  22. arc_coords.arc_center[2]=0;( J0 e0 i! Y3 B2 X* \: j1 u
  23. arc_coords.start_angle=90*DEGRA;1 ^$ v  g' Y& Y) k: _& {, G' r6 A
  24. arc_coords.end_angle=270*DEGRA;. s1 [9 P3 N+ j' a
  25. arc_coords.radius=100;9 s- S/ G. q# t- {' C, G
  26. arc_coords.matrix_tag=marix;
    % q2 Q3 f- D) o3 ]
  27. UF_CURVE_create_arc(&arc_coords,&arc);
    + |- m7 T0 r2 s/ Q) S: P6 k1 }5 q
  28. // create point ) `: I+ c9 B* b4 D& `  a  W
  29. double point_coords[3]={100,100,100};  Z; q) |' A3 B6 ]0 O' y* P
  30. tag_t point;
    0 m0 p1 |& k8 n" K. Y
  31. UF_CURVE_create_point(point_coords,&point);& C, b7 Y) Y" Q
  32. $ d& n) B1 X( R+ M# k2 o7 U1 }5 u3 ]+ d
  33. // create Plane
    2 {1 c: Z  U0 b  w; E
  34. double    origin_point[3]={100,100,100};
    % T; p  g7 ?9 Q" `
  35. double    plane_normal[3]={1,0,0};
    * ?" R! u) X; R$ P4 a( Y
  36. tag_t     plane_tag;      p: t7 U; |) M
  37. UF_MODL_create_plane(origin_point,plane_normal,&plane_tag);</p><p> /** X. x  U5 k; l% _
  38. Get the curve information
    & m; X( f; [9 t' T+ F2 m, }
  39.   */
    9 x+ D3 q; K0 W! n3 N) T
  40. UF_UI_open_listing_window();
    , z3 m; i( [3 Z* n
  41. char msg[132];- c) o9 D' F; a3 v" U! r, o8 _
  42. // get line information
    9 d. p" F1 h' e! i: \
  43. UF_CURVE_line_t line_info;
    , W2 E7 V, U4 t7 `
  44. UF_CURVE_ask_line_data(line,&line_info);
    % x: M; O1 T, D* e7 K$ I
  45. sprintf(msg,"line coords:\n\t%lf,%lf,%lf;\n\t%lf,%lf,%lf",line_info.start_point[0],
    , o1 m- ?% }+ [: V; o9 p
  46.   line_info.start_point[1],line_info.start_point[2],line_info.end_point[0],line_info.end_point[1],
    ! s- [% m- z& b' Z! `
  47.   line_info.end_point[2]);
      A, k7 ~, L# y7 O3 O
  48. UF_UI_write_listing_window(msg);9 ?& A6 i+ ]/ I& j. \
  49. //get the point information
    ( g( K6 V3 ]; G7 i& G% c) E7 j; w* h
  50. double point_info[3];! v( }, a+ Y' G7 M; U* f
  51. UF_CURVE_ask_point_data(point,point_info);
    ' l, E3 j' s, }5 ~5 s9 _7 k
  52. sprintf(msg,"\npoint coords:\n\t%lf,%lf,%lf",point_info[0],point_info[1],point_info[2]);. I7 r8 ?$ a8 S% K
  53. UF_UI_write_listing_window(msg);</p><p> //get the arc information
    ( [/ u4 a" ]9 Q- {* f% S, w4 `
  54. UF_CURVE_arc_t arc_info;, w7 e( @; R/ h! Q  I
  55. UF_CURVE_ask_arc_data(arc,&arc_info);5 n( s4 Q' q! f5 D
  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;",
    ; v( |/ B5 E) f4 c4 s! b$ U- ?
  57.   arc_info.arc_center[0],arc_info.arc_center[1],arc_info.arc_center[2],- D! H/ g6 R4 y: t1 y9 c
  58.   arc_info.start_angle*RADEG,arc_info.end_angle*RADEG,arc_info.radius& P3 [/ [8 e% T& c( {+ |& k# f, c- U
  59.   );9 C& a( D4 _+ X0 y! c/ ~
  60. UF_UI_write_listing_window(msg);( p' ]! \6 u  {: b
  61. // calculate the arc length
    % I8 P% ]: c$ X+ f- i' {7 n6 `
  62. double arc_length;, v& q0 \# ~7 ^; Q/ A) Z* h
  63. UF_CURVE_ask_arc_length(arc,0,1,UF_MODL_UNITS_PART,&arc_length);& i3 ?* l: M) Y9 K( t
  64. sprintf(msg,"\nArc Length:\n\t%lf",arc_length);" e0 Z5 E( m9 G, w6 k
  65. UF_UI_write_listing_window(msg);) J7 I" w4 Y  a+ k3 e1 O. l9 }9 b1 h
  66. }% ?; \3 e' X; U  l
  67. </p><p> </p>
复制代码

5 h4 T3 O' \+ |! K* t, ~, G. _$ [- u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了