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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x
% k3 e# Z- r4 E0 s/ z6 o: G" y
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!$ t! q+ T2 c6 j. z6 ]
+ c. B1 O" o. |* n* S0 S, z! C* G/ o

2 V! @  T6 K4 |2 Fvoid testSimulation::do_it()# o0 r/ E% U  F& E& K, p
{. E1 Y, \+ e0 x5 z7 b- P
         //TaggedObject* toolbody = select_by_mask();
, r" y( w( W" G8 `9 e( ^& F        TaggedObject* pathCurve = select_by_type();1 Q) J$ m9 i/ O# ^
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();! n" a% `0 I$ S" C2 L6 h
        // get the path point
8 S  O, [1 k: i7 [# l3 `        double ctol = 0.0;4 \' D! n' _5 [; E0 A: U
    double atol = 0.0;
$ b! U" P+ E. G- G3 y# D- f        double stol = 10.0;
9 B5 J+ s+ e4 `         double *pts;
) K8 w* C+ e1 m( ~1 \         int num =0;4 K: S+ e) B& A; |) v& A- A8 p
         char msg[256];0 x6 f. F: L+ c/ S2 F; _
         int error =0;
6 i) }, ^9 p# P         double (*points)[3];
3 L7 A2 G) p* A- \& K+ R         tag_t pointTag;. e- F; V7 Q/ O9 U
       
  X0 G# P% K* J! B2 E; O% P% {$ f  p0 i/ {: u8 J* X( Z
        UF_initialize();2 C0 j5 v* }0 ~8 `, D( H' v$ F
; _7 p+ p$ h6 n! _8 n
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);& T2 l9 m# V8 G0 |9 Z7 P4 B! K1 s
        sprintf(msg,"the number of points:%d",num);  l$ k& {6 h: v
        print(msg);
: p1 d' s( ^6 X/ v: H. z0 {+ {/ D1 e- @/ B, K, Q  b
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
) a$ x2 k3 @  y' B2 C  {- f7 Z
+ \4 m+ S$ y$ x9 o. v        for(int i =0 ; i < 3*num;++i)
! J' Z" s* U8 i  a        {
6 F' Q% p& z3 [" E' s% p                sprintf(msg,"The points are: %f\n",pts[i]);2 z/ h- V% C2 d" P% B" m0 v; \& n+ v
                print(msg);
2 W3 U% L, M8 O               
* C6 u. C- H0 `" B        }! v9 x! O: }! O. h
        for (int j = 0; j < num; j++)$ \/ ^" Y- z# O) D7 I6 Y1 [+ q( a. [
        {
( T/ h: P! I3 ^. n1 t* p/ ?  H" C/ n                points[j][0] = pts[j*3];
1 ?! r7 y( ~- ]9 ~& w; w) H% L                points[j][1] = pts[j*3+1];
$ b9 X; [- E' s/ y# e                points[j][2] = pts[j*3+2];1 W0 U6 W  Y% O( \
                UF_CURVE_create_point(points[j],&pointTag);
$ D, l! D* {" l; C% c: J        }
  l# e5 w; \2 |
$ m! Q3 C! ~; u; ]1 X        UF_free(points);
! a! m# Y2 f; [) p, m        UF_free(pts);
) `0 ^2 S- ?4 k+ B% x9 s! F        UF_terminate();/ S$ t" [8 y4 m3 c% d

; H( ~4 h4 j1 D8 j  E# ?4 N        // TODO: add your code here( ?4 n6 ]3 O" j; K% L) S+ T
        - P- i' h7 {' L) L- k! M8 A
}
, D$ _7 h, e' I! A* w
! q/ U" p4 q4 P! o" ]
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了