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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2015-4-28 13:17:38 | 显示全部楼层 |阅读模式

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

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

x

& Z0 o8 B: A3 I% y6 ~$ D 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
1 t) _$ r' d; _/ Y' v- M6 G9 R
/ i2 b3 X; [% \: X
- o+ K% A) q& X2 z7 C8 H9 _void testSimulation::do_it()
  x0 p1 v1 ~3 ]6 M{
+ C& T) k  ^1 m9 n* ], i         //TaggedObject* toolbody = select_by_mask();' h4 M( r- h- U/ T* V) j$ v
        TaggedObject* pathCurve = select_by_type();
: A# Z8 h4 f5 V" r! b        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();9 W4 `5 p( e3 I$ z
        // get the path point # t7 G: q& R- N& U
        double ctol = 0.0;& I& y' u: m. z4 K& f7 A1 k
    double atol = 0.0;" y' D$ |# D  N! m- @1 p' s4 r; p
        double stol = 10.0;
$ y" L8 `- w3 O/ V. P, C; M         double *pts;: g# {6 U7 r) E5 D/ H
         int num =0;/ \2 I, u; c: k5 a
         char msg[256];
) l3 C5 T6 W$ p         int error =0;; l+ h5 a# w8 a& C# ]1 M: N
         double (*points)[3];
* T8 U! g$ g! p* }; s1 a* k6 [         tag_t pointTag;
" R3 ?( K( \! N: v; E- `        . F- u- n: c) `- \+ n
$ x5 `( o- A4 @& p5 ^
        UF_initialize();
" l' ~4 L- \5 o  I/ Z8 G/ u+ ]: x) r6 G
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);7 K# o5 z, d2 L7 w* k
        sprintf(msg,"the number of points:%d",num);/ b  P, ^' {' A1 [8 q% g
        print(msg);
1 N, y* p' @& ^7 R- P) g# U! N
: _1 v( I% M" B$ {        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));$ N/ x3 k9 C% }6 c) U) ]

$ d3 _% A, L/ k5 I' q        for(int i =0 ; i < 3*num;++i)3 }" [7 B  z* Y. V0 E( |
        {  j& n; c/ j5 U; m( u! b; ]
                sprintf(msg,"The points are: %f\n",pts[i]);
0 N& _8 y* v) s5 E+ d                print(msg);6 T  ~& _; S4 }
                : R5 v+ E0 y1 _) ?4 J
        }
' s- D; m3 c9 e- v' v" \        for (int j = 0; j < num; j++)
1 f- W# n5 t$ V        {7 I! a" X/ Y9 ~, D+ b' b$ J( B
                points[j][0] = pts[j*3];
+ ^7 z7 G# D1 A( i/ R  ~, R/ g                points[j][1] = pts[j*3+1];, x; J5 {1 w3 B* j* n2 |, F/ ^
                points[j][2] = pts[j*3+2];
6 N2 |- ^& H- f- h: s                UF_CURVE_create_point(points[j],&pointTag);
* r4 F( S# y0 s( w: g. r7 {        }$ E6 P, i5 q% K5 t9 C  l9 v' P  P

" _' e# l6 l/ Q+ A' t6 P2 T. L        UF_free(points);4 z* _/ n- }- G& K# w
        UF_free(pts);
  n2 M4 M9 I* C& I/ w' [; p        UF_terminate();
' J8 x$ |( a) @# n# v- u; N
5 d' o* y7 ~1 j. n5 P        // TODO: add your code here1 y% n" W- Y2 a' L7 m5 |; b" Y, W4 X
          F2 J! U- h8 Q. ?% \7 i
}
6 m" a  C5 t$ \. n2 Z( h+ A) c* u7 S  }; ~+ `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了