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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

, u5 a( z5 k; i% Q+ L4 Z 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!. n+ _& J- i6 ~0 o

) r, Z6 q) G; B* E" A9 _# G9 z' P! Y! D6 X& |6 Z
void testSimulation::do_it()
" r! b% F$ U, B0 f# K{8 u7 B9 K& |( ]' y7 A! s/ v/ m* l
         //TaggedObject* toolbody = select_by_mask();  B1 I/ d" Y; T" q* W# Q% P
        TaggedObject* pathCurve = select_by_type();% y2 x% R. C/ U5 i( _3 v
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
' m0 h9 k3 j7 _& o: M        // get the path point 9 o* C5 F; K2 u
        double ctol = 0.0;  F5 y8 a" O1 ]
    double atol = 0.0;; L' y! P. I' j/ w+ \6 m: j
        double stol = 10.0;
: p' ^% r5 I2 j1 L! O+ t' M         double *pts;
6 H( N; L" d+ j( J5 `" E' T         int num =0;
! ?  @% U8 Y. Y9 \) b$ Q5 ~; d         char msg[256];
9 _0 J. [5 g& g7 a$ z, z: v         int error =0;
; d- O# [, V* X; u* a         double (*points)[3];' A0 I- H/ y4 s3 V/ _
         tag_t pointTag;
1 j8 W8 \+ o. `8 L9 ^/ V       
& Y& p6 Q+ O7 e. n2 y$ m, w7 p8 P$ d0 e; l7 W
        UF_initialize();+ I8 Z8 ]; d& i9 D  P, R

$ r, F, ^  l! f, w/ @' T1 f' V        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);  e$ D6 s$ {" b1 N
        sprintf(msg,"the number of points:%d",num);
, ?* f4 z4 ~2 X        print(msg);
3 x. P: @7 p! \1 c, w6 l2 B/ I9 t' M9 U
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));: |: T+ O% j; s# d# T
" {0 s9 |2 F, o2 m3 q
        for(int i =0 ; i < 3*num;++i)
" T. R$ d! _( [8 \" _        {0 {$ ]0 ?4 W  `; l& Z$ E  V
                sprintf(msg,"The points are: %f\n",pts[i]);
) A  P& z/ X8 S" w0 q# P0 T1 U9 d                print(msg);
4 m9 \& B4 {/ c2 n) p# `8 {               
$ D# e$ j6 D$ ~. b+ q& n        }
9 j! G; ]* Z" {: z        for (int j = 0; j < num; j++)
9 B9 b9 `! x% P; a        {
9 G9 k2 g7 F  b                points[j][0] = pts[j*3];
7 h8 u2 D. |8 Y% l) C                points[j][1] = pts[j*3+1];# p. P8 h# A% t! V& a1 ]6 Y& w' K
                points[j][2] = pts[j*3+2];: l. Q" {+ E" ^9 E) P( D2 m; ^" W
                UF_CURVE_create_point(points[j],&pointTag);) V( m  |+ m2 [5 s' f8 [2 D
        }
5 H- n+ B6 q3 W
: v  e) ?6 V/ y        UF_free(points);
, t9 F! \$ B' T5 v6 A$ a# q        UF_free(pts);
1 X8 q1 v1 X  E# |8 ^        UF_terminate();7 f. i) I0 T" ~% c

! Z7 x$ h* v) p9 t" |        // TODO: add your code here
  R3 l3 w% v. t  O# M/ T       
+ F& c4 O6 ^1 E+ j5 P2 q0 g' z- }}
, s" Y6 f1 m" T0 }4 ?1 p7 Y; Z/ c) S# X" x/ h
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了