PLM之家PLMHome-工业软件践行者

[二次开发源码] 【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
" o6 e3 e6 [) ?2 T8 V+ i
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
. P  T1 k$ k) k: v0 B! C" u# ?: q  @( b) X9 u" {: p
( F  a& I+ B# u$ k: p3 K
void testSimulation::do_it()7 d' y' a( ]2 d$ v) Z
{( M: B( G( v% I0 y7 ~
         //TaggedObject* toolbody = select_by_mask();' G+ D. s  K+ A' R' t, @
        TaggedObject* pathCurve = select_by_type();; [" S3 n9 C  h9 g. c% [
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
5 A0 Q1 f8 |4 I$ G! n8 E' }        // get the path point
: ~" v% L! l) `) n6 g4 {* }8 V# ?- W        double ctol = 0.0;6 P$ z1 K: h+ A
    double atol = 0.0;% z1 {" J! z1 M
        double stol = 10.0;% C* T1 H& |, r
         double *pts;# ^/ P) E$ @" f  ]
         int num =0;$ Z% \0 u& ^( E9 C
         char msg[256];7 N+ s' Y' C5 \' d" H
         int error =0;2 f( f6 d2 N& |2 f" R
         double (*points)[3];
1 R2 z% \( p7 R  u- D) q         tag_t pointTag;
! C) M3 M8 r' N8 J       
3 O2 W+ B- p# S) }" ^, t+ Z/ A& W$ c: y1 d9 O' y5 [) t4 j
        UF_initialize();$ L8 U, s( b0 l7 J, ~3 A9 O

$ X1 C- U) b4 N+ R& p; e6 R8 Z! S1 ~        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
, x, O8 m( W! m: R/ w+ U        sprintf(msg,"the number of points:%d",num);% w1 S7 O9 N2 G# e9 y' E9 Q
        print(msg);
! B% m: V# u+ _' |0 [3 J  {7 K
/ S$ `5 r3 c( ]* r1 [" D        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));) N2 b7 _9 a- W6 N% P
8 ]) s7 n. \& g4 f
        for(int i =0 ; i < 3*num;++i)
7 e9 O$ G( U' A! F* L) n0 w        {2 ~1 b0 `# k% Z. v: ]0 W* c7 |
                sprintf(msg,"The points are: %f\n",pts[i]);
/ U* t/ d5 S# x; _/ }% `                print(msg);
/ y$ S! P0 f& O  O4 a               
) O' m) z* A2 p9 B5 n1 \( w7 [: U        }8 L3 E8 _& P- x* L) M
        for (int j = 0; j < num; j++)
$ `5 q2 Q8 r- x+ l- U, t: F7 U        {
; b- t! n7 a0 Q- r                points[j][0] = pts[j*3];' x' X2 q/ H) R2 X0 F
                points[j][1] = pts[j*3+1];9 E* O+ Q& |6 n  z
                points[j][2] = pts[j*3+2];2 r1 o- Q1 t, _$ A0 i" l- K
                UF_CURVE_create_point(points[j],&pointTag);+ T0 h3 H6 G/ b) D1 C) L% Y% x, b/ q
        }- ~0 N. ]) q8 z  {6 I
. p0 ^7 N8 P" F9 o
        UF_free(points);
3 }/ ]$ {" o, j# n4 o9 K2 L6 |. f        UF_free(pts);
/ f7 W! @' T  ]3 T+ ]        UF_terminate();/ H8 F' b: O3 K7 }9 s; |
7 `# m1 \, l* E; }( J) `
        // TODO: add your code here/ R# K: s% W* p( O
       
4 V- r5 o& g( u0 b! p7 s}4 L2 t, t; `, c% b( K. l
0 o1 S( f: L. c& 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二次开发专题模块培训报名开始啦

    我知道了