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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x
: v6 T& X9 @: C& a: x8 p+ z
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
" P3 R1 t9 b$ i- J2 t: I- E0 [1 ~
# K: |/ a" k7 M) e- a( n8 o: a
5 c; T# Z% M6 M( J' t  zvoid testSimulation::do_it()
3 H3 n9 u6 `/ L& f6 v% n$ l{6 A& E# A! ]  U6 h! f; m( }2 k
         //TaggedObject* toolbody = select_by_mask();  i- p/ a& l7 ~0 N& Z
        TaggedObject* pathCurve = select_by_type();
8 y* Z' \5 \% x. w1 ^        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();0 G9 g1 E1 n7 m
        // get the path point
+ Z$ @2 L" l) Q- z        double ctol = 0.0;' O1 i0 Y0 b/ q9 J
    double atol = 0.0;
( o$ Q% J4 u# ^! g        double stol = 10.0;4 U; A) C, v: W( O" z! o' @
         double *pts;' X0 E, d1 }) c% j1 H$ O
         int num =0;
1 a, q! q/ O6 l9 `         char msg[256];
5 S& a1 o$ J( T/ h         int error =0;( L9 G  {2 _9 M& `; y. _3 v0 X( w
         double (*points)[3];5 g7 c; Q: J! K' i
         tag_t pointTag;
2 @6 F' K, y8 ?. l# q  y        , G/ b" |9 P+ I

) l+ W( M0 t$ ^$ a% R+ F! U        UF_initialize();$ Y1 |+ o( `6 G6 t4 v0 j
6 L. \2 @% S6 M3 g! D
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
6 F' P4 x. t& J$ Y        sprintf(msg,"the number of points:%d",num);
0 J& h% v4 m9 q        print(msg);
, Z, s& F' G; s& t
. Y9 @- M- v4 g& b3 J        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
3 O5 e3 @9 {& R  r  I
. U! V" N( ?" a. z. J        for(int i =0 ; i < 3*num;++i)/ L1 B) w3 a5 f2 V8 H2 t
        {& S! Y+ C. m$ `+ n9 q/ k: T/ _
                sprintf(msg,"The points are: %f\n",pts[i]);# D8 W) [. L! f
                print(msg);* U3 ]& U! r: t1 q4 {" o$ S
                6 M1 z3 `) V, _4 h2 _& ?# l
        }8 H+ A8 ?. G2 f2 h1 m4 [
        for (int j = 0; j < num; j++)( |8 N' a# x$ c% E) P0 \9 h" w/ p
        {5 Z8 V) F+ w; W1 b) ^
                points[j][0] = pts[j*3];
6 `; ]9 K" B: X6 w: D                points[j][1] = pts[j*3+1];% {4 R1 _8 a: b7 M( _6 n3 K$ e( ?
                points[j][2] = pts[j*3+2];
$ W# A6 w" O; t3 K& X. K1 C                UF_CURVE_create_point(points[j],&pointTag);
& F  e. M4 ^* z/ U        }4 |4 q  W1 e: t' j8 K

8 u3 K1 `+ V) z: q- l. C1 t        UF_free(points);0 r' ^* I2 c4 e! f* Z! }
        UF_free(pts);
* w1 r/ p- [$ J6 E7 N' B2 S% H        UF_terminate();, ~3 h* ^/ ~0 a$ a/ a' G+ M

7 Z( ]: B9 |5 p( v% n6 N# y        // TODO: add your code here
; p4 T6 H4 u  }# C$ H       
- q6 W4 R1 \! Q$ e7 d) H}- r; B! ?( N) h3 l

( S3 e& [% _- J) N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了