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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

2 a1 ?. t! i# x# I# R/ }& {& \ 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
! W2 P- @' B1 T7 N5 F/ L( K  H/ J1 \4 M* h6 Z

6 x$ q9 ]5 G0 R% k/ Gvoid testSimulation::do_it()
/ v2 i/ a/ c- E# g0 n4 v% N5 P- T9 ~{4 _/ B6 X8 J, \  ~& c5 O0 M
         //TaggedObject* toolbody = select_by_mask();. |. r5 X* D9 b4 w$ e/ [: m
        TaggedObject* pathCurve = select_by_type();; Y8 U+ b& P6 d9 [! a/ i* Y5 G
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
6 x$ {: c6 j1 V( d        // get the path point & h" V6 j$ P$ ^& h0 X
        double ctol = 0.0;2 z) R* X" Y% {7 n
    double atol = 0.0;
+ o2 ~& @( }- m3 I& L/ [        double stol = 10.0;# Q# h( G6 d4 G) s
         double *pts;
* c6 K$ p7 e) E( C9 n( P         int num =0;, @$ @$ Q& ]/ B0 f' o$ G( H
         char msg[256];# c/ X3 T0 q  ?' f
         int error =0;% e1 B) \9 R2 d% }6 u2 P
         double (*points)[3];% ^; Q7 P6 F" M4 E; ?* d
         tag_t pointTag;
$ L  L) R1 u6 T& O7 o  c% f        ' @8 J# r/ A! X
! @. }5 O9 L( M, t$ ^  |4 s
        UF_initialize();
) u5 y* E, Z- Y3 w6 A7 y# q! Z" R8 T9 D4 f, o
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
! [7 R4 \+ L2 _3 r$ c, j) y1 r& X- E        sprintf(msg,"the number of points:%d",num);
6 A9 t( O# R' p3 j- l+ G9 g        print(msg);; e) Z* i* R' {) a* _& h, V5 d4 G( L
; T. A9 T8 @5 K# f% {1 ~
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));* Y* y& d- W8 s# A8 `5 ?. K

4 I& d0 S$ h2 _7 `" W        for(int i =0 ; i < 3*num;++i)
" ?, m" R9 q6 K. C1 F0 j1 I& u% H        {
! T7 l* Y. u( @9 d1 R                sprintf(msg,"The points are: %f\n",pts[i]);
: n) y0 K, V1 N                print(msg);( S* w0 ~( G* S
                9 s2 A( d) K* ?* i" T4 O$ e
        }
$ p: K( c" o7 F6 l% J2 {9 H9 o        for (int j = 0; j < num; j++)& r0 v, ~. I/ f
        {
, }0 Y' ]* F% }, k( R                points[j][0] = pts[j*3];' S( Z. a$ m. W  q- f0 O. `
                points[j][1] = pts[j*3+1];) X4 K. C9 U( c
                points[j][2] = pts[j*3+2];
# h; d8 J2 w+ B( l                UF_CURVE_create_point(points[j],&pointTag);
7 Q. A! ]; r' b  Y8 U        }
9 y% \# n% L" \% l2 A- z; U: a( D! {0 o( {
        UF_free(points);1 p( S9 L, c( m2 J+ _9 `
        UF_free(pts);( L& I* E+ s5 m3 W
        UF_terminate();
! y# I8 X' Q& v  B5 d4 p
$ M; P4 U1 \; |- D+ g7 ]& H        // TODO: add your code here( f) ~, p7 e7 M# i2 ~
          V# a# ?2 y3 g' p6 f8 Z
}
( D& Y' {  W/ ^$ @2 U' \
6 m$ Q8 H: n5 y' M4 j7 a% p
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了