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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x
3 J4 e5 ?; m4 [; f# W( W  g- d, ?
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!( _! k& |( ?  ^# A7 n; ?$ D. L
( Z. t+ K) h$ [. j; \& ?9 \6 i- [
+ ^% `2 e1 I/ l  X) E  T
void testSimulation::do_it()
/ i7 o% I8 V6 R: Q{% {3 n" T5 b4 I4 N
         //TaggedObject* toolbody = select_by_mask();9 z4 d0 C7 R* r7 i0 i% Q0 n
        TaggedObject* pathCurve = select_by_type();
+ w7 `* `. ~2 q: d        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
3 x2 i+ ^# V, ]$ S: H/ j        // get the path point
3 T( }9 U& |6 u/ A4 z; U# d4 k        double ctol = 0.0;/ z0 d9 P# G. y1 x
    double atol = 0.0;
+ \9 [/ e- `; A        double stol = 10.0;
: X! o  F& D' |) H" t: Z& u         double *pts;& P( N- Z$ Z# [+ V
         int num =0;, g$ Y3 Q/ _* y7 G# |) ?4 M- }8 o
         char msg[256];
) G7 M/ P" m4 E4 [& i         int error =0;
$ M# \# c: o4 ]8 o         double (*points)[3];
$ c' x6 J' D' O8 \         tag_t pointTag;* ^% y( j6 J1 a4 o
        : J6 C2 T. W# t1 Y. u* L5 o% B
2 Q# N3 {6 |, B9 ?2 R( d
        UF_initialize();
. P# y8 z1 i& W7 o+ Y$ Z+ d- y7 G2 \1 F, ~
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);6 N' j/ Q- i  ?4 `2 I7 j3 r$ ]* l
        sprintf(msg,"the number of points:%d",num);8 C6 |* R8 T& n% o
        print(msg);
9 l2 c$ |( _* y6 z1 L5 d2 n& z. l+ a" @7 S% W1 @  E
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
. p, ?/ p: C6 W( T/ h; l9 d  q8 l, G6 ~' V7 `- A- l
        for(int i =0 ; i < 3*num;++i)
/ f2 D- r9 Y( i% m* }2 t- w$ D1 _        {
: Z7 @2 `8 v- Y* w                sprintf(msg,"The points are: %f\n",pts[i]);" S/ u8 {0 c5 i+ a4 Y" J
                print(msg);8 y$ Z% n: r7 j5 A! t
               
- F$ _6 i7 T! e8 p        }
0 n/ W9 ^! D7 n& `) y- t4 a. p! h8 t        for (int j = 0; j < num; j++)* s5 C7 {. u$ |: R" ^
        {
& n( r* m% l& m/ u! z" m                points[j][0] = pts[j*3];
9 g( j. ~7 P" w! h  k+ A# ^                points[j][1] = pts[j*3+1];4 [" s7 r- D+ j& L  p
                points[j][2] = pts[j*3+2];: c6 u6 T$ N3 E& K
                UF_CURVE_create_point(points[j],&pointTag);
+ a  g$ M9 s! ?$ R9 s' c, C% X        }8 B, @5 B" g/ o, J
' p! j" W) S. Z1 K+ u5 K
        UF_free(points);) S8 H8 ?) q( h3 V& j$ B2 @
        UF_free(pts);6 ^$ [2 G5 {, y9 G7 L; i
        UF_terminate();( d4 i$ z# z  ]; Q

0 d# H) I7 Q3 J5 h        // TODO: add your code here
$ O- R  t; P  `0 t; g        9 h+ m4 a- O( b
}# k0 P: Y6 Z4 a6 S, [. i2 R( W
$ |' y" V- u9 E2 x1 _
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了