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

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

admin 楼主

2013-11-27 15:21:12

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

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

x
NX 二次开发中创建曲线命令及获取点,线,圆弧信息源码
* P5 r$ B0 K2 |3 a8 ^: S6 q8 V+ a/ K6 V1 ^5 V4 X0 W
  1. <p>static void do_UGopenapi()
    9 R% g4 a1 [$ e9 w9 g9 Q/ S
  2. {9 o" M6 |$ S8 J2 |1 {9 V
  3. /*
    * Q9 i/ B  z1 C/ s" l2 I, J8 O
  4. Create Curve
    . O: s7 y7 F5 j8 ^! @' `) G
  5. */+ A  y9 @% n, M4 t  @. b
  6. // create line
    ' m' A* o) ^" f. I
  7. UF_CURVE_line_t line_coords;; i! e5 U7 }! G9 p2 @. r5 L
  8. tag_t line;; a5 U5 K& P3 D* w$ Y2 p
  9. line_coords.start_point[0]=0;
    3 \9 x' [$ X9 i( Z7 O
  10. line_coords.start_point[1]=0;
    + |- ?' e( y7 a9 T% z
  11. line_coords.start_point[2]=0;3 l' w& ^( G0 x% c1 g2 B
  12. line_coords.end_point[0]=100;7 P$ B7 v8 u2 e2 z6 S! ~5 C! l2 Y3 L4 u
  13. line_coords.end_point[1]=100;
    3 n4 |) I! T5 S& V( q* F; g0 d
  14. line_coords.end_point[2]=100;: z# U+ V4 L5 }
  15. UF_CURVE_create_line(&line_coords,&line);</p><p> //create arc
    : w$ O  i+ G! y& T
  16. UF_CURVE_arc_t arc_coords;1 U7 j% J" J/ k+ ^8 |
  17. tag_t arc,marix,wcs;
    9 k1 ~) m2 H: ?) [& a2 ~. G
  18. UF_CSYS_ask_wcs(&wcs);
    ( R- Q& l8 {( r1 G7 S; n9 e) w; l
  19. UF_CSYS_ask_matrix_of_object(wcs,&marix);
    $ n1 R$ b0 O$ Y/ U9 D8 T4 H. T
  20. arc_coords.arc_center[0]=0;
    0 C& D6 `* Q, g
  21. arc_coords.arc_center[1]=0;
    1 B" e8 B; R5 l; _8 K# `$ V% W
  22. arc_coords.arc_center[2]=0;: R8 m- X5 M; G! i9 R) q1 o
  23. arc_coords.start_angle=90*DEGRA;
    3 \. y+ A0 h( t% u1 i& P  H
  24. arc_coords.end_angle=270*DEGRA;
    4 r% K% |6 C/ z: Q+ L! S% H
  25. arc_coords.radius=100;
    ' j# l  N' D- V/ p6 p6 p
  26. arc_coords.matrix_tag=marix;
    7 B# r; n  K) X5 G3 E
  27. UF_CURVE_create_arc(&arc_coords,&arc);( P& X2 E; B4 I2 G
  28. // create point 9 V" G5 u$ H' k, ~/ q' m
  29. double point_coords[3]={100,100,100};" ]$ t0 I8 r8 P: i
  30. tag_t point;3 t! K9 w: N; }5 ]- @  ?
  31. UF_CURVE_create_point(point_coords,&point);% b5 ?! V' X/ p' @8 O
  32. & w) G8 n, f! w; Q
  33. // create Plane
    0 `! Q; _0 G: e1 L. Y9 I6 N
  34. double    origin_point[3]={100,100,100};
    " ]  i4 K, W; t  w  v, U
  35. double    plane_normal[3]={1,0,0};
    ! I3 e2 \5 M8 o2 r) [" T3 \1 {
  36. tag_t     plane_tag;   
    & r4 ^$ m( N( y' r+ M; f
  37. UF_MODL_create_plane(origin_point,plane_normal,&plane_tag);</p><p> /*
    & H. G. h) [* `6 e8 b7 W# Y
  38. Get the curve information
    % E4 a9 k- L) b, ~5 r8 m8 Q! `4 R
  39.   */: O7 k6 `5 E# L9 X; E5 m/ ?
  40. UF_UI_open_listing_window();
    : S+ B: {9 X: Q. K. \6 `- y& l
  41. char msg[132];- e2 H" m8 ~& [  S7 n
  42. // get line information
    $ p9 [0 F2 C; q' l' X9 H
  43. UF_CURVE_line_t line_info;) I2 `- X# R8 W
  44. UF_CURVE_ask_line_data(line,&line_info);3 x3 k% b: r. U! _
  45. sprintf(msg,"line coords:\n\t%lf,%lf,%lf;\n\t%lf,%lf,%lf",line_info.start_point[0],
    7 [2 W) R+ d  x0 a
  46.   line_info.start_point[1],line_info.start_point[2],line_info.end_point[0],line_info.end_point[1],
    - R0 ?0 q, I1 r
  47.   line_info.end_point[2]);
    5 ]( J+ E) E0 w+ R9 T/ H/ |
  48. UF_UI_write_listing_window(msg);
    1 }6 F! w# ?, t# F  O. R
  49. //get the point information
    ( A9 M' K1 O5 B- r
  50. double point_info[3];( j( i2 Y8 S0 g; n- M
  51. UF_CURVE_ask_point_data(point,point_info);0 }( D' u& U% b, r) p
  52. sprintf(msg,"\npoint coords:\n\t%lf,%lf,%lf",point_info[0],point_info[1],point_info[2]);
    * _6 {. \' t6 w  |
  53. UF_UI_write_listing_window(msg);</p><p> //get the arc information
    / v% q) K% U! m6 v
  54. UF_CURVE_arc_t arc_info;# x: A5 G- ~3 _! G  I5 N
  55. UF_CURVE_ask_arc_data(arc,&arc_info);
    . A3 }# _' ~8 x: v. U
  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;",& u0 `; A$ m2 [: C4 A1 H% X- G. o
  57.   arc_info.arc_center[0],arc_info.arc_center[1],arc_info.arc_center[2],* c6 H4 {3 j9 ~* f, H) B( r
  58.   arc_info.start_angle*RADEG,arc_info.end_angle*RADEG,arc_info.radius
    2 e) k9 y+ O3 b2 T3 a
  59.   );
    ( o% x6 Q/ S0 q" m
  60. UF_UI_write_listing_window(msg);) k( t9 t  a1 G( ]
  61. // calculate the arc length
    4 R* ]4 V0 R( i& i% h
  62. double arc_length;
    2 r" g7 `6 F2 [. X$ o+ i2 @7 u1 \
  63. UF_CURVE_ask_arc_length(arc,0,1,UF_MODL_UNITS_PART,&arc_length);
    + \) {3 Q0 }% m  H& @% E% h
  64. sprintf(msg,"\nArc Length:\n\t%lf",arc_length);1 N, }# p0 |8 r2 B: {( M6 g
  65. UF_UI_write_listing_window(msg);
    4 b/ @! y# j* j8 o6 Q
  66. }
    5 K$ J# y$ y' ]
  67. </p><p> </p>
复制代码
! A3 k# r' f8 S& H7 ?( q! b" ~! o
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了