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

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

admin 楼主

2013-11-27 15:21:12

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

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

x
NX 二次开发中创建曲线命令及获取点,线,圆弧信息源码' v. Z: ?" [3 t4 R
* ?' H1 p0 |3 w$ u6 }
  1. <p>static void do_UGopenapi()
    ( a, h& E& t/ X. G% a/ S
  2. {- }) [6 I: `* J$ {7 |
  3. /*$ i& L0 j! g4 c- o$ [" Q0 j
  4. Create Curve* U; J8 D+ u% U: x7 ~2 k/ M
  5. */
    + L7 X' D8 V& T7 `- y2 f/ J) X+ x
  6. // create line, O, |6 ?; K- }' X$ |: v
  7. UF_CURVE_line_t line_coords;
    4 w6 \' ]: h6 Y8 h6 J
  8. tag_t line;: l( x  }* L4 s+ W! M
  9. line_coords.start_point[0]=0;1 M% y; B5 P+ ~" I: z. p# X& j
  10. line_coords.start_point[1]=0;$ x  i. g8 F5 D, a
  11. line_coords.start_point[2]=0;
    $ l% ~- C7 y5 d6 n1 b! n4 C
  12. line_coords.end_point[0]=100;
    2 G9 w  V5 K2 _& N0 P" \& u9 L. u& i
  13. line_coords.end_point[1]=100;, B" P  |# @2 f) K; {
  14. line_coords.end_point[2]=100;4 _6 u& G% {4 ?2 g% {8 H* i3 A, A
  15. UF_CURVE_create_line(&line_coords,&line);</p><p> //create arc: k' R# t" J4 O9 A, W& @3 E0 v; H
  16. UF_CURVE_arc_t arc_coords;# v" B- N# M, M8 h1 B, y, C- i' k
  17. tag_t arc,marix,wcs;0 e* G9 C0 E. D  q& Y
  18. UF_CSYS_ask_wcs(&wcs);1 ~  Z" N8 c  Z& U
  19. UF_CSYS_ask_matrix_of_object(wcs,&marix);
    9 I: s, G1 }1 D2 s" B
  20. arc_coords.arc_center[0]=0;  X! [2 k& z2 Z5 [( S# S  z! v1 v
  21. arc_coords.arc_center[1]=0;
    * x$ E6 I+ q% \* t' s' j: L
  22. arc_coords.arc_center[2]=0;0 y5 |" L0 p9 Z  C9 [9 T: L; r
  23. arc_coords.start_angle=90*DEGRA;0 W! N' z) B6 j4 f, l* y1 I
  24. arc_coords.end_angle=270*DEGRA;
    ' y+ q' P5 r4 m0 ?5 z; h. S: a
  25. arc_coords.radius=100;
    & R: f! @" [' R7 ^/ D
  26. arc_coords.matrix_tag=marix;' F; T) \8 B: X
  27. UF_CURVE_create_arc(&arc_coords,&arc);
    - Z" P: V7 C! ~: }7 A) r" s& c
  28. // create point
    5 J) A" L: r) a0 K+ V
  29. double point_coords[3]={100,100,100};
    7 ?' H( W/ G2 {' N" `- p
  30. tag_t point;, y6 u0 F5 M7 l9 l0 Y$ a
  31. UF_CURVE_create_point(point_coords,&point);
    1 O  D9 q8 z& V
  32. 2 J# T" y7 [0 M
  33. // create Plane5 j4 R) ?- M; S8 q7 O1 D$ q; t6 L
  34. double    origin_point[3]={100,100,100};
    ; Y7 z8 J  X& r/ v6 X
  35. double    plane_normal[3]={1,0,0};. M7 W. {- f" l& _
  36. tag_t     plane_tag;    ( Y" U  T$ S: l9 ?0 j) m, u
  37. UF_MODL_create_plane(origin_point,plane_normal,&plane_tag);</p><p> /*
    " X: e; g8 f; u( |7 R7 D
  38. Get the curve information+ g' _1 g3 O& C% y6 w; V1 a# L6 k
  39.   */
    . Q/ ~  m! R0 k; W
  40. UF_UI_open_listing_window();( b" S) }; n0 t1 w8 {! B! Y
  41. char msg[132];( v" c2 i, E" O$ q, x! b7 H( H
  42. // get line information
    ; I& K& b3 P/ V$ u7 [- K9 e/ G
  43. UF_CURVE_line_t line_info;
    3 e2 \. Q" X( I/ I, c- x) P
  44. UF_CURVE_ask_line_data(line,&line_info);4 P) ?3 T3 K% S, ]5 ~$ d: I
  45. sprintf(msg,"line coords:\n\t%lf,%lf,%lf;\n\t%lf,%lf,%lf",line_info.start_point[0],
    " [+ @6 Z# N! r9 Y: e$ F
  46.   line_info.start_point[1],line_info.start_point[2],line_info.end_point[0],line_info.end_point[1],
    : t7 t9 E" h/ f5 x# n3 @- m
  47.   line_info.end_point[2]);; J0 J3 x8 J6 O4 J% }* n$ P
  48. UF_UI_write_listing_window(msg);7 U8 d% [; a! _6 R6 Q! |
  49. //get the point information
    & o, g! ]; c/ s# T2 |4 j) n% y
  50. double point_info[3];
    ! x* F  \1 c: G5 o
  51. UF_CURVE_ask_point_data(point,point_info);/ R0 }# u5 T  r- B) k. T; X
  52. sprintf(msg,"\npoint coords:\n\t%lf,%lf,%lf",point_info[0],point_info[1],point_info[2]);6 y5 }( u* ^5 d# N1 s" [' ]
  53. UF_UI_write_listing_window(msg);</p><p> //get the arc information8 W, g& V8 T! J" A& R! x
  54. UF_CURVE_arc_t arc_info;
    ( Q1 W) ^- H7 y! c; m
  55. UF_CURVE_ask_arc_data(arc,&arc_info);" c" O# \4 }$ e5 p; V5 |
  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;",
    : e  Q! {9 G, D, C# B( x6 M
  57.   arc_info.arc_center[0],arc_info.arc_center[1],arc_info.arc_center[2],
    9 ~( J- w; d2 {. |/ C2 d
  58.   arc_info.start_angle*RADEG,arc_info.end_angle*RADEG,arc_info.radius2 p$ X7 {% }/ |8 ?0 c
  59.   );
    ' X& F( t+ d. u5 E- J  f1 ]) z
  60. UF_UI_write_listing_window(msg);0 S8 x, y& w2 c$ C
  61. // calculate the arc length
    / t# J# C& Y7 x/ M6 P/ g& F/ d
  62. double arc_length;4 p0 d3 g/ s; T
  63. UF_CURVE_ask_arc_length(arc,0,1,UF_MODL_UNITS_PART,&arc_length);, u+ o' c1 B. V  D+ d9 J
  64. sprintf(msg,"\nArc Length:\n\t%lf",arc_length);
    " Y5 l9 I  V) @/ x+ I, f1 p2 q
  65. UF_UI_write_listing_window(msg);) |- o* s3 c/ ~) `5 j0 q
  66. }
    ! ?5 d" Y5 F2 s
  67. </p><p> </p>
复制代码

4 g8 J3 B! f5 [; a' l# H) o0 j  g: 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二次开发专题模块培训报名开始啦

    我知道了