PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x
* a3 z) \3 D: {3 y0 T; k8 D8 o
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
% O  y# I/ k5 j: S4 q+ `' ^5 a% p3 o- ~" o( O9 M$ Q, ~

3 x& ~/ |7 U/ F# s+ c6 ~void testSimulation::do_it()4 X1 e7 B2 a; R! ?( q; b
{
0 ^7 M1 v6 v1 F% B/ K         //TaggedObject* toolbody = select_by_mask();' v$ Y* f0 G5 |" J% }( C
        TaggedObject* pathCurve = select_by_type();
8 x# _! r& x; d        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();2 f! _2 c. f2 w) H2 X
        // get the path point
6 Q6 J& }- j7 c  u  [, |" n6 s        double ctol = 0.0;
$ _8 a0 d( g" \6 E# k    double atol = 0.0;& c9 u) v. V+ V- P
        double stol = 10.0;. g5 O+ u3 R% X6 M# r3 m2 x' F
         double *pts;
" p3 w3 l- X0 T         int num =0;% m9 D- N" z2 [1 y
         char msg[256];. d* f, @0 f( T. K
         int error =0;! `/ M6 J) R* N! `1 \3 _
         double (*points)[3];
$ T4 s/ O$ T" h4 y) \* O- T+ {         tag_t pointTag;
1 z% ^4 Q4 e# O: K( Z        6 z2 m  W* {( {

8 w/ h- ?' x7 F% Y/ ~        UF_initialize();; W( y& ^2 K9 `5 W0 n" I% I2 K" B

4 k& u+ Z7 y% s        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
# F  @! M1 L7 h$ u& m* |+ h        sprintf(msg,"the number of points:%d",num);, A5 O- r, x# P: v) V2 p
        print(msg);8 g. r2 l9 ?" j8 ]1 N  f+ C' D2 ~
7 D/ K- [( J  j5 P- Y* f( F
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
7 N1 H% {. W) f
* ]# U- Y; m) a1 J7 t) s& n        for(int i =0 ; i < 3*num;++i)
0 Q- C( H2 }* |  g( {, b& d4 S% l        {
. e8 I4 Z  Z4 f6 f- \2 p* o                sprintf(msg,"The points are: %f\n",pts[i]);+ ~& Z% q8 A+ J0 M$ e' z
                print(msg);
* v5 y$ v0 b8 {2 y- Z% d                7 h; T8 P, x( \- L# E
        }
, \* o4 S$ ~/ S" _2 z' `3 {, |! b        for (int j = 0; j < num; j++)3 |$ A2 p+ F5 E% T& N; l  A
        {4 |) t+ ^* |2 t1 r4 j/ ~% U
                points[j][0] = pts[j*3];$ ]# _; o3 n3 w0 @  e# r
                points[j][1] = pts[j*3+1];( w  X7 E- L" B5 \- b
                points[j][2] = pts[j*3+2];: r9 R0 p& @* j' `3 k
                UF_CURVE_create_point(points[j],&pointTag);8 ^. n6 X3 ~% H: w
        }
, v/ d6 I& ^9 ^6 a5 Q
! Q8 R/ Q/ `# _* y* `. W        UF_free(points);
! ?3 j+ j' r! I, L$ a% `3 l3 Q/ E1 X& r        UF_free(pts);9 x7 j( \. L2 n: e
        UF_terminate();
+ T3 R: m- k  G0 j* A" r6 W! o* t; F# }" f7 }
        // TODO: add your code here. v, z; ?" x! c2 {6 s
        * m: Q) L6 A* n% q8 I  `. X
}
; O, ?! R; X+ }$ F4 }1 s5 n) Z+ r' |0 c2 b: q/ c* e2 Z8 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了