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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

; c; B' V9 g7 @2 k- ?4 N& q 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
6 P* K4 B0 j: v( }* f+ R+ }. j; w) y

2 {4 P! J0 S% rvoid testSimulation::do_it()
  a/ f) b9 p; h3 A# U* E4 A) O{
' y/ v$ J7 x6 F% s) P+ p" f         //TaggedObject* toolbody = select_by_mask();0 T3 Q- p' ^) `: C8 y4 W# m$ ?
        TaggedObject* pathCurve = select_by_type();
; i* s2 J& Q( W9 W. S- M& m$ K0 ~        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
- k1 t- [' v0 C- e; x3 m        // get the path point * e& Q6 k  n/ R9 B/ W
        double ctol = 0.0;; \* `4 v% j7 ~3 k+ e
    double atol = 0.0;
6 a. B2 L9 g1 n- I( A7 l4 x        double stol = 10.0;6 u: D2 ~+ v% c8 O$ M/ |. Z" ~# Y
         double *pts;
: M6 }# H' ?  R         int num =0;7 J' @$ ?. B# M0 ?$ t, _2 W8 G
         char msg[256];- M' v- W% G4 F) H
         int error =0;* I$ K7 s! k7 q- K' P8 v% n9 ]) T
         double (*points)[3];
( g5 e6 K/ D! {; f! h  p         tag_t pointTag;
/ o7 ~) X& j) K; h& _$ n       
0 j& I0 a8 K( X- Y0 L9 ^: P; k% V
! o; ]; b6 S' ]8 e) t( R8 f  H        UF_initialize();# V4 }3 X. i8 y: ~+ V# I" F- \

" N: H7 U2 w& L7 ]. b1 H        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
) D' `; {, n* b* q        sprintf(msg,"the number of points:%d",num);
; b# `7 l6 ~# x; D: D2 k$ N        print(msg);
- i9 T. f* G. }! y+ G5 F. F( X/ X5 B9 B
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
& M. u" O% U1 r% s$ @, F( D' k
2 U1 V% X3 H- e        for(int i =0 ; i < 3*num;++i)  A& ?* P+ B& T6 w( K/ w9 t
        {
7 ]  J  k$ [- @$ h+ S) u                sprintf(msg,"The points are: %f\n",pts[i]);% ^' f' `/ ~9 j* C  X# R
                print(msg);  D4 y% G+ H5 }3 d+ h2 l2 {# K
               
- l3 P+ d& e" y" n! V        }
" E( [% z( m* O. T+ Y# F        for (int j = 0; j < num; j++)% j, P* _3 x) [4 _8 D
        {
6 w* Y, v, I& j% R                points[j][0] = pts[j*3];; `6 i! ^& O( I! |9 V% `' }3 n/ q
                points[j][1] = pts[j*3+1];
  s  h( @0 s& H6 M- s7 I7 O+ y                points[j][2] = pts[j*3+2];" [: O6 I$ A2 P: x
                UF_CURVE_create_point(points[j],&pointTag);. w+ l; t8 N- _+ k; f
        }1 V7 A8 d+ H) n7 I/ F# o" m8 j
6 l7 m  z8 H4 o! [! A5 J: {
        UF_free(points);' ]0 U' z6 x, U$ ^  _; ~+ ~  b
        UF_free(pts);
/ {' `0 F6 N2 k) L/ M        UF_terminate();
9 [. p$ L2 h5 Z" ~' n0 A0 G" e( X  x2 M6 M% f) M
        // TODO: add your code here+ u) T5 I% D  @/ j% ?$ k
       
' h0 L" E* l+ y6 \7 O3 ?( l% f}1 [% z. V, p. v) v2 [) C7 X
% X8 `$ D4 U: {( d0 `: Q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了