PLM之家PLMHome-国产软件践行者

[二次开发源码] 【NX二次开发源码分享】通过弦长,角度 公差创建曲线上点

[复制链接]

2015-4-28 13:17:38 3884 0

admin 发表于 2015-4-28 13:17:38 |阅读模式

admin 楼主

2015-4-28 13:17:38

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

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

x
1 v; G  L4 C' h; u4 J( o
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!7 H6 D7 O% }2 K2 L$ I! I
* }1 t+ O2 K/ X6 W# a! d
* [6 h0 D& j  g0 @# }( y. `
void testSimulation::do_it()
8 m3 F8 k! }7 Q2 G9 X{0 X: `4 u& ?7 ~" R1 T
         //TaggedObject* toolbody = select_by_mask();
  ~! [; ?( k- t* I1 Y        TaggedObject* pathCurve = select_by_type();. {- p4 P" j9 s6 I
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
8 |+ q  w: D  s4 G! T$ b        // get the path point ; j' h3 c3 r0 _( Z  N! [
        double ctol = 0.0;2 A4 J) A+ |8 D
    double atol = 0.0;$ I6 @1 u" M, K1 \3 @* E7 ~/ k- {
        double stol = 10.0;
5 d  G+ c6 g- }0 p5 N         double *pts;
( z; d$ P% \) |! D( e2 ~; t         int num =0;+ }+ }+ x% G! E; @* ~0 D
         char msg[256];6 u1 ?# y  M3 x2 ?- s2 V! K
         int error =0;3 e4 Z6 [8 h5 G5 J3 r1 u
         double (*points)[3];
! W$ Z! \5 g$ p  X; x# F& g' B! u2 p1 L* `         tag_t pointTag;
9 w/ x. a( T# _1 a: ^8 P       
0 y' {! J" }0 N1 E  m
, G7 d0 G9 j% H2 N8 A  P        UF_initialize();" L! O; e) ?5 q8 h. ?- }

" i  b1 v/ v4 ~# ^: E7 |8 Q        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);1 _: w+ E2 p% R! R; V; r- r7 a- Z
        sprintf(msg,"the number of points:%d",num);
2 W' J) g' F# E+ }        print(msg);
' ^1 T( D; S  W9 M% |1 E
) v% h# ~, y+ d! O4 w$ g8 o        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
8 b; T9 Q6 W' W; X2 V0 t3 E$ s( S* a+ {1 i! s1 j
        for(int i =0 ; i < 3*num;++i)0 J" P  N( w; B- Y, h/ i- {
        {9 \/ G, k* }( Y/ B* a
                sprintf(msg,"The points are: %f\n",pts[i]);0 Q; g  `8 t+ `! E" j. m
                print(msg);
, W, K  n7 ]8 R               
, h4 G4 W/ N% k$ `6 Z        }' u  T2 J% c& w0 j; i
        for (int j = 0; j < num; j++)
" F% g  I( ~) q/ d3 w; l        {
/ P; ~& O" k5 r9 h4 {" `                points[j][0] = pts[j*3];: B9 ~/ f6 L! d& d& ^9 @6 y
                points[j][1] = pts[j*3+1];
1 M' {3 t3 y+ w, R0 Y4 q: L$ i                points[j][2] = pts[j*3+2];
2 G- n: I" K4 L/ y0 ]" Z4 H5 s                UF_CURVE_create_point(points[j],&pointTag);
' L. o/ H6 D. D8 G7 u0 g        }
8 d! J7 J6 F5 O& O; D4 x& y3 Q9 p  Z. }
  z# \9 u2 F, p7 ~" S1 _        UF_free(points);
0 M, B% n& b* h; Y+ u" w# }" d5 A. ~, g0 S        UF_free(pts);
$ |4 I  {: o7 z) h7 Q8 H1 V& \        UF_terminate();/ Z% t, f$ Y( B* y6 N' A, c" L: F
" O5 Q' s% {) o" V
        // TODO: add your code here
* g' C# b; S" {+ u: p$ t0 f9 A        - q0 ?% V. ^  j3 o$ ^4 v  `, s9 W
}
$ v) h0 K) ~" Q; T+ ]1 |
& Z- n8 c$ H( c' ]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了