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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x
9 _' B% }6 n+ _4 I! m. p1 u) N
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!5 O* b* M% ^- m* b1 g

7 t! o, A9 V' ?, ^1 a3 h
/ r8 s8 T' M! v. evoid testSimulation::do_it()' W" @, {$ F' `8 e; d5 {
{9 ~5 O4 \( t7 B
         //TaggedObject* toolbody = select_by_mask();
, K& x; m6 e0 w3 J- e4 d; g! v        TaggedObject* pathCurve = select_by_type();+ W5 y" R) B  Y6 z: n
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
" a. F- n$ [! T8 v) |' _        // get the path point
  r( E% y3 g. m! `; z        double ctol = 0.0;* D/ C+ F6 U* Y( R5 i) }5 k5 Y
    double atol = 0.0;
4 y; S1 I8 I2 b, Y! g. M0 b        double stol = 10.0;
/ I/ ^/ ?% p' j8 V2 T' {         double *pts;# H- q6 l2 ~/ o2 h! Z7 `
         int num =0;
! c8 M: A* [, H; f6 E* k( r         char msg[256];
$ y) J  W* _% \, g2 L' \1 y7 g0 t         int error =0;) B) u! u5 Y7 f- j! C
         double (*points)[3];6 s, |' d. @' Q9 r( V
         tag_t pointTag;
4 V. H) r7 ~3 `       
" y6 o; c! X4 o1 b. \( s7 O! h+ M0 J6 O# u0 s2 ?9 L# N2 s( O& e# f$ ]
        UF_initialize();+ ^* a; p% f. ~9 {6 i$ q! \. l! f

, d# K* i( H9 d8 M1 c, ]        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);4 E8 \. Y! p' g; d0 x& ?- o
        sprintf(msg,"the number of points:%d",num);2 D$ [) A" [7 Q( v* p0 \
        print(msg);
5 s" G7 [5 w, t# y6 H5 o  S; f
7 ^3 m2 b8 g* O9 ~) H        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
* [0 U# W8 g# P$ c! U. m# b, K6 M( A$ e
        for(int i =0 ; i < 3*num;++i)
+ A: G! i' p8 U2 e( m, E        {
9 n  z  f2 r- G$ s0 u                sprintf(msg,"The points are: %f\n",pts[i]);
9 `  x3 w3 o# ]3 B: e                print(msg);
' @4 j( w" S) D               
1 Z9 J4 Z* K# o# @, Y' ~        }9 L- a& d! S4 r
        for (int j = 0; j < num; j++)
, Q* t' h* D$ X- q        {% s5 f( K* m, O$ T* L  u: O
                points[j][0] = pts[j*3];
- E. B" i; P5 |7 T# X! i                points[j][1] = pts[j*3+1];. }7 V9 [% k0 E. z( U
                points[j][2] = pts[j*3+2];; u9 r. ?3 C. R, S4 _
                UF_CURVE_create_point(points[j],&pointTag);! b: M$ R$ z( A  a
        }
; l& E* g5 d# b7 t% [8 N* N: g: X; w7 `6 u# Y* Z9 Y
        UF_free(points);5 D# o7 S& g' Z9 y! D1 M9 ~5 e9 i
        UF_free(pts);
% G) j2 M6 |# |# e0 V: [4 X        UF_terminate();5 J7 F( T9 {6 j  t+ Y

6 X1 d7 T: V! P0 A6 b' H9 R: N2 B        // TODO: add your code here
/ c6 q- X& S1 D+ `9 A( Y* l        * w! A. O- m( ]4 d
}
3 e4 R% m* r- @5 t9 J8 u/ _8 @9 ^( ]3 H5 p6 U" X# |; n+ m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了