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

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

admin 楼主

2013-11-27 15:21:12

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

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

x
NX 二次开发中创建曲线命令及获取点,线,圆弧信息源码
) R  i1 \3 C; E% l3 K% Q% `: A% h( D3 A  [9 e3 R9 R
  1. <p>static void do_UGopenapi()  J, ?* l- N8 Z, }" s% _+ F
  2. {
    / L0 `9 u3 Y8 Q( |
  3. /*+ e6 g# A& O1 U0 [' d6 T! a
  4. Create Curve/ {& f' A3 }- e0 b" O
  5. */
    3 ^8 ^3 C0 p$ k: `8 d* m
  6. // create line: M2 ^* ]5 W: ?, \! ^; j  L6 }
  7. UF_CURVE_line_t line_coords;( w4 E: \- r3 W/ R$ a
  8. tag_t line;
    & `8 m- M2 W3 J
  9. line_coords.start_point[0]=0;6 `- U2 l- J# X" T( k
  10. line_coords.start_point[1]=0;
    ' r: e/ Y" A% o0 e
  11. line_coords.start_point[2]=0;" `7 W6 T* f8 t' M$ A. R
  12. line_coords.end_point[0]=100;7 Z2 Y* |. r/ z' V
  13. line_coords.end_point[1]=100;
    / @6 h! ]! ~& g9 k& g) }
  14. line_coords.end_point[2]=100;
    : N/ F( L8 I" S5 b0 J0 l
  15. UF_CURVE_create_line(&line_coords,&line);</p><p> //create arc. @" {  N/ O% \: t; e8 ^5 }
  16. UF_CURVE_arc_t arc_coords;3 p% g* Y1 E# N9 z6 T  a
  17. tag_t arc,marix,wcs;" p. G, s) A4 ~
  18. UF_CSYS_ask_wcs(&wcs);' J3 ?5 R% D9 A7 P( ~
  19. UF_CSYS_ask_matrix_of_object(wcs,&marix);
    3 ?! h. r/ m5 h" d
  20. arc_coords.arc_center[0]=0;; A! z' m) P4 w# N/ b' E& a) ?) p
  21. arc_coords.arc_center[1]=0;
    / ~  W/ N: X1 w& `( x5 L1 d! E8 i
  22. arc_coords.arc_center[2]=0;
    4 Q: b& f- l! m' D) q! \+ i
  23. arc_coords.start_angle=90*DEGRA;
    , M) F0 v' y5 C6 i" v2 I* T
  24. arc_coords.end_angle=270*DEGRA;" f6 F' }6 {" p5 u' `) M
  25. arc_coords.radius=100;
    & D4 V# X; |* D+ b. O2 ?8 h
  26. arc_coords.matrix_tag=marix;
    " U( W& C1 U0 U2 {5 v
  27. UF_CURVE_create_arc(&arc_coords,&arc);: A, q" V2 F2 q3 m4 ^4 T" U* a" K
  28. // create point 6 l8 |4 L& H, J0 w5 L0 C# [% f
  29. double point_coords[3]={100,100,100};. X/ l' h7 B- ~1 y* X% a
  30. tag_t point;0 \; Y7 u; g/ _& j" ^* l$ e* ~% M
  31. UF_CURVE_create_point(point_coords,&point);+ J. H5 V* h* O) `7 z9 P
  32. 8 G1 j' Q  q+ x. W3 g7 y  w
  33. // create Plane
    - }7 }/ K$ G2 F5 [$ S# G/ d8 }( v
  34. double    origin_point[3]={100,100,100};
    ! `% E* {0 o0 |% B5 I0 d) f
  35. double    plane_normal[3]={1,0,0};8 u# `9 \2 g& s, _8 a5 G  W
  36. tag_t     plane_tag;    ' U) k% o4 n# q' W; Q9 |: h8 z0 }2 Z
  37. UF_MODL_create_plane(origin_point,plane_normal,&plane_tag);</p><p> /*
    & B  i+ f; U5 g
  38. Get the curve information
    2 S4 N/ R7 o" G* a! j( y
  39.   */& ?" X1 ]3 b) m# k; n
  40. UF_UI_open_listing_window();
    ) r; S* j3 Z8 B+ X: f/ Y
  41. char msg[132];
    , O9 y+ ~: k7 A
  42. // get line information1 H% b1 U: S$ z% |
  43. UF_CURVE_line_t line_info;, m9 @7 X7 d" @3 S  S; J
  44. UF_CURVE_ask_line_data(line,&line_info);
    * ?  c( L3 Q( G) i  A8 }
  45. sprintf(msg,"line coords:\n\t%lf,%lf,%lf;\n\t%lf,%lf,%lf",line_info.start_point[0],
    4 j& k5 E. f4 Z0 O- o* N
  46.   line_info.start_point[1],line_info.start_point[2],line_info.end_point[0],line_info.end_point[1],
    $ M0 w& h/ s1 w2 \
  47.   line_info.end_point[2]);
    # I* P8 ~9 ~" N9 b8 r' n
  48. UF_UI_write_listing_window(msg);
    ! {" H. B! w( C8 u" D; A
  49. //get the point information
      t3 q6 X& q& Z9 M) K+ ^% m
  50. double point_info[3];( S( h* Q. L1 J$ V
  51. UF_CURVE_ask_point_data(point,point_info);
    1 Z# I7 W- l+ ]% l" [/ x9 r5 {
  52. sprintf(msg,"\npoint coords:\n\t%lf,%lf,%lf",point_info[0],point_info[1],point_info[2]);) s. A/ p' d& a  [/ L8 s% k1 b7 C
  53. UF_UI_write_listing_window(msg);</p><p> //get the arc information6 f/ {5 j* @# i
  54. UF_CURVE_arc_t arc_info;
    7 b% t) S/ h) @8 m
  55. UF_CURVE_ask_arc_data(arc,&arc_info);
    & i3 {( W; M. }2 J/ S) o4 f
  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;",
      q2 j  U' j4 g0 R( r
  57.   arc_info.arc_center[0],arc_info.arc_center[1],arc_info.arc_center[2],! n0 D$ w. o3 n; c0 L' D+ a
  58.   arc_info.start_angle*RADEG,arc_info.end_angle*RADEG,arc_info.radius7 V) f  Z, b# X1 o. J
  59.   );) v: }; K: T+ c6 ?9 ]
  60. UF_UI_write_listing_window(msg);8 ]2 m; }' p+ M; b9 q7 M" m- C# `6 @  v  k
  61. // calculate the arc length0 F* v2 b; {0 V
  62. double arc_length;
    - S1 o0 o( p1 V" U
  63. UF_CURVE_ask_arc_length(arc,0,1,UF_MODL_UNITS_PART,&arc_length);3 }# q5 h& r6 x
  64. sprintf(msg,"\nArc Length:\n\t%lf",arc_length);
    . |% G) B& @- ~; R1 L2 V: Q# I
  65. UF_UI_write_listing_window(msg);& e, W) d! F6 x3 A$ Z: x" }
  66. }( Q% r$ R  j- H/ d7 }
  67. </p><p> </p>
复制代码

6 _3 O' x' J9 v( M+ r. p. Q8 _: T, @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了