PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

, l6 p/ v; X/ k" ~; }0 k* v 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
/ ^: I& ~% I/ Z3 w" }6 [
; B% m3 b. t, `, ~6 I
$ f2 F" R' T% M* z: ^# hvoid testSimulation::do_it()* m% d9 ~+ f6 _- L! s+ c
{
: U: @+ Q& O& u% }         //TaggedObject* toolbody = select_by_mask();
( t3 H; W- _1 g& T) m5 I6 o8 [        TaggedObject* pathCurve = select_by_type();( l1 z' q* p8 a" b
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();8 M' g3 ?9 b7 E+ @
        // get the path point : h: U' h( ]& a' Q
        double ctol = 0.0;3 U. q+ r$ A  l% b7 t, S
    double atol = 0.0;& @2 j3 M0 F( ^# p' |
        double stol = 10.0;
- m7 c; `9 @; Z" ?7 [         double *pts;
. i4 y) |. A( E& B* h' t3 ?7 x         int num =0;
9 W) v3 t; }$ n9 `5 \2 ?         char msg[256];
9 _1 B- O3 l5 u7 |# l         int error =0;
9 J+ e& H( C2 K" L% A; ^         double (*points)[3];
7 H$ x0 J% o  ?6 X         tag_t pointTag;
3 h% C% u, M  n+ C% @2 m9 g) l       
8 L) `8 D# r  y. r1 M+ b1 i# l+ ]' [$ ~- {! ~7 Z0 G3 z6 C
        UF_initialize();& d* W3 g6 X" I+ N  \9 s
2 I+ v6 ~+ u7 z% _  J# F
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
/ t# D, x" z' W        sprintf(msg,"the number of points:%d",num);$ F1 ~' `6 j1 L# X9 d$ y4 E- U
        print(msg);( Y4 }6 S% v2 G8 N: g
8 U3 l' s7 g: T  u7 l$ P1 N7 \
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
2 R% v; V& \# M5 [- ?. q" ]
+ w5 g: C+ _7 w% ~8 \  E& X) u        for(int i =0 ; i < 3*num;++i)
% ~9 g5 b) f, c. E$ x5 ]8 T) Y* x, F        {  G. ]6 @/ Z& i8 {+ C
                sprintf(msg,"The points are: %f\n",pts[i]);
7 Y- U* T- R" a1 z0 d' `                print(msg);
+ S& a- i. }7 s: Q                ' c3 t# p& {4 T9 X/ }; q% S
        }
: w. E: d  H$ ^1 _        for (int j = 0; j < num; j++)
+ x- H% P: ]7 p% e8 W: O        {* Y' I; L# V7 U. D! j( @
                points[j][0] = pts[j*3];+ @  Z. B* R* f- {% s
                points[j][1] = pts[j*3+1];: V$ q% a7 {7 t- s. I  b
                points[j][2] = pts[j*3+2];- M: ]( [7 a& e. C' Z9 e
                UF_CURVE_create_point(points[j],&pointTag);
1 N" ]: K. T! C        }5 i, a2 H$ e2 ~2 D0 S8 E; n' |/ n  L
  _, n) f. C- M, d6 ]4 W
        UF_free(points);3 a3 {1 l6 u2 ~. S4 U
        UF_free(pts);+ v! ^0 m% s4 G; {8 n/ x+ q
        UF_terminate();
+ P6 z) F' a0 p1 D9 C
# d0 v' B+ i7 q3 _9 ?& x' S        // TODO: add your code here
2 R& f6 K9 X, L; J9 u        6 S, f7 m- R. B: J9 l; Z/ O
}
6 X' s# h& n' {! J: Z" X% i
/ X3 w: L7 {7 ?, U8 C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了