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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

# A; q" b+ Z2 g1 B$ Y! ] 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
1 r8 Z; T# Q# w) G2 X' Y; L6 j5 l- c6 i1 M% m4 M' D
" f/ r. Y0 a: B" c: ^2 F% E
void testSimulation::do_it()# a) c) G. l3 r* N8 b$ }, I4 ]* C
{! Z" l/ }, ^( l
         //TaggedObject* toolbody = select_by_mask();1 v$ w7 U! i7 q7 s
        TaggedObject* pathCurve = select_by_type();
( D2 Q9 N% u+ n- g+ j# y6 C+ j% e  j        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();' H, L( M$ L+ b3 d  W
        // get the path point & M) Q* h6 q: A8 E: E
        double ctol = 0.0;
7 J& g( a5 R9 b  L5 }    double atol = 0.0;3 R( K. @( ]6 `: [  A" W3 L( N
        double stol = 10.0;
) q) `* }5 y. L' G, W& l         double *pts;
# t! W; t" @3 R& Q8 [5 P/ ?& K$ x         int num =0;* x8 q1 s3 k  C% u; T! b4 n
         char msg[256];
, b1 v6 Q4 Q% \$ L$ y" e( ]         int error =0;5 s" Q: F% J$ O. C3 C$ a
         double (*points)[3];+ `2 F* r5 `  c; v
         tag_t pointTag;
% p: A9 H1 [" w- {& @: ?        0 Z* H! N4 j& Q" t1 S; x- u  f

# ~: O  V2 o2 N0 z9 i) @        UF_initialize();
6 y$ l0 r7 d. y" ]4 n) a5 A- t
( x: ~# z( V1 J8 R        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);; c( e7 A- h; C* n, j  s
        sprintf(msg,"the number of points:%d",num);
2 ^! j4 X/ O* A0 D; K7 D        print(msg);
7 `$ a# V  ]% y# b; {# Z7 x1 @, Q/ C' |  Y
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
: i8 v  a# X* r% j* f1 ~$ h0 }5 n+ D/ h/ k% N' C
        for(int i =0 ; i < 3*num;++i)
3 b: r0 i; g' u, j        {
7 ?, l! z7 h- l. h5 A! F# B$ ^                sprintf(msg,"The points are: %f\n",pts[i]);
; ?" J. m& d9 V7 ^) S                print(msg);
" {- T9 M: S3 u6 t) @5 c                ( d0 s5 ~: o1 s6 s7 N
        }
1 J: b5 E2 b+ Y4 L$ m        for (int j = 0; j < num; j++)
+ t  c& v1 j$ {: D2 {# |        {
4 H( m; Y/ N* Q                points[j][0] = pts[j*3];" {6 f( E" _5 i2 y& P7 {) j
                points[j][1] = pts[j*3+1];3 ]$ G7 G6 @1 X8 Q2 }
                points[j][2] = pts[j*3+2];
/ f/ L) q5 S0 T9 @                UF_CURVE_create_point(points[j],&pointTag);  I: J+ T% y; {; t7 n* T( x
        }
+ I+ {; a& L, @* `, y0 \$ o" `2 y; \5 u4 K. u0 I( m" n
        UF_free(points);8 T$ u6 |3 f& v" C* k
        UF_free(pts);: g' K$ D: ]5 o* W, |6 y" X
        UF_terminate();5 T+ J6 h/ g( H% ^# h

( H. _! u7 ^2 e( b4 I        // TODO: add your code here% z; i! C  u4 J  Q3 R$ z) p' G
          Z  A$ @4 z8 L, `3 N: ?
}
0 R3 ]9 F. q8 Q, {# |! T) {3 i4 P
0 K3 U0 H* e- [: b6 c" j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了