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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x
: T* O5 H, b4 s( a# w) ^
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!3 b( I2 s! s' x6 ]* t6 F0 X( A
- l4 m. C) Q# T1 j" Z; @

8 D7 b& X* g1 {% n) b5 G" c1 Zvoid testSimulation::do_it()
, Q* a/ @( Z$ Z% B2 s. E: C1 V% u! F' y+ F{/ o( b+ w! l- \# N
         //TaggedObject* toolbody = select_by_mask();
* t: J6 h: [% _* p5 I0 s  W4 J        TaggedObject* pathCurve = select_by_type();5 _2 d  J- z* R3 c% {
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();' x+ x) ^2 C* ^& d/ @! w1 J
        // get the path point 7 t0 M# t& U2 P% p  ^( V
        double ctol = 0.0;
! V, f, }0 d0 G: V    double atol = 0.0;
- ^& K4 g9 b% a, Z( A5 i# P        double stol = 10.0;
, W8 J/ _7 }  I: ?3 P# a" y) D         double *pts;
% Z$ j5 R5 }" f5 J7 r' s5 l         int num =0;
; S: n6 r; Q* o2 ?2 H/ o1 A         char msg[256];
7 Z% N: C+ H4 M( y( ~8 R6 K         int error =0;) b: K6 M, B. s- _. ?0 q3 j2 t( ]
         double (*points)[3];
# M" D& O2 S$ @% Z' u! |/ I         tag_t pointTag;. p+ [* A2 C6 v
       
0 e: [% q$ F( G5 ~& P- {1 @) g+ n# O; z" P
        UF_initialize();0 |; K% j/ P, J& r9 i. s
+ J8 `) V8 k5 p# W: D4 B: k0 c
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);1 S# S1 q+ W, U: e
        sprintf(msg,"the number of points:%d",num);
, W6 Q4 k* _7 Z$ t" a& @  N3 O* t        print(msg);, `$ V! x" z* ?# P( t7 a

3 n! e& I5 O7 x4 g6 y        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));: F8 u# O5 b2 `( n; x( J) b

, {- h- Q2 b# m* N4 R        for(int i =0 ; i < 3*num;++i)
( R, e4 ^  E( o+ f0 G, \        {
7 Z6 f7 o4 ?- o2 B' Q$ b# t                sprintf(msg,"The points are: %f\n",pts[i]);, x1 q% ~/ a9 A3 H0 P( \* G
                print(msg);
0 K3 W* @3 p$ T# c2 q: t' Y( l! _                9 B& v' S, a7 I9 i" k9 f+ J
        }' f3 |2 I8 l' N
        for (int j = 0; j < num; j++)& H5 W; J0 w3 K/ e( d
        {
2 k/ S. q3 u5 n) Q0 b                points[j][0] = pts[j*3];
. }' o( d: k+ P: w* Z4 n# e4 \  X                points[j][1] = pts[j*3+1];
4 {1 @+ Q* O* R5 h. E* Z9 H5 q* h                points[j][2] = pts[j*3+2];2 n  o, t( j4 S# ]/ Y3 l5 P
                UF_CURVE_create_point(points[j],&pointTag);" x1 l. Y/ g; T& J9 s: \
        }6 M' g# V/ l! J
& B, C* d( v, P/ z
        UF_free(points);
6 p4 F( ~2 Q" w4 y3 X6 n* G        UF_free(pts);
) x6 l" O' r& K        UF_terminate();  j$ m% P& I  o! H% z' u& n# w

0 y- u6 B! h$ m) s2 e9 ?        // TODO: add your code here
4 ]! [& n- q3 ?$ M0 P( y5 a% _; G       
4 a/ Q1 z% T4 n1 K}
1 e' @6 G. J# H! M! @! ?- k  Q
# q# ^6 e* E& T9 E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了