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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x
* Y) }  ~! L; L. e' f- ]- y; \
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!$ K. B/ b  L; G/ |( O, h

/ ^7 h2 @8 b( u" H9 U+ N' l4 y
1 Q* j7 T6 B: @) O0 b: h1 Cvoid testSimulation::do_it()9 H  T1 |, k% v+ k
{
9 S, X2 b7 x, ~8 F         //TaggedObject* toolbody = select_by_mask();
  h. ^; T/ E$ u& c        TaggedObject* pathCurve = select_by_type();; v7 ]* Q. l+ x- y) O0 b3 C
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
% K7 u$ C) @* E" I! a9 z5 V) z        // get the path point
% m3 K1 H* V4 T2 h' c5 \0 b+ Y! p        double ctol = 0.0;, @) r/ w2 k) N" q# y
    double atol = 0.0;: ^5 V6 _. Z4 f( @1 Q. X
        double stol = 10.0;
! G4 P3 a: y0 J, g, y         double *pts;& k9 F" R; f! W6 ^9 h% M0 k
         int num =0;6 u# T) R  k0 v3 _8 O& g( ?+ ]# a
         char msg[256];
) r( p  t8 S3 L: ~; p% C) g         int error =0;
% D3 X- A+ |8 B2 t         double (*points)[3];
3 E# ^6 G! b; B2 o) C' c% i$ V         tag_t pointTag;
9 W' V+ D4 Q3 o* [* n       
: J5 R" F4 J! I3 E
1 o+ b1 K% Y9 r" F" e        UF_initialize();
; E" _% O3 k0 c+ p2 @  F8 G% u& U
" ^2 ^" c  u- x" K        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
9 [. e9 T' m8 M/ h* I9 Q4 Y" k2 M        sprintf(msg,"the number of points:%d",num);
8 ~* `% w/ ]7 b* D5 I        print(msg);
0 C, N! ]# ?0 o3 f, L) m1 \7 C. o# A. n; H& E& ?
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));2 V% z/ Z. L& b1 r
: k; O: H+ D8 O/ r# m6 q
        for(int i =0 ; i < 3*num;++i)
& H+ p" F4 O2 X        {
5 ~6 ?  k- r1 w# V                sprintf(msg,"The points are: %f\n",pts[i]);
' |. c( ~6 @! F                print(msg);% D0 F) D  B% }" L7 t1 `6 Q
                ! g. Y! w/ z: i5 ]& \" j" N
        }
" n0 r. ?/ ]+ _8 c( m( l# V& Y        for (int j = 0; j < num; j++)8 E; K/ p; J  ~  o* U5 k$ V+ j
        {: c0 W* _5 r7 M& b6 g
                points[j][0] = pts[j*3];
& Y& S( X  U" M: f2 A7 @7 i$ ]! F                points[j][1] = pts[j*3+1];
5 s+ @. A# p0 q  Z3 N3 c! X! A                points[j][2] = pts[j*3+2];
2 q/ ?* h  e1 o/ n                UF_CURVE_create_point(points[j],&pointTag);3 c# }' B% ~8 J
        }" D0 i% O# [$ G, b( W( `

. X# c: w8 I0 ~* z        UF_free(points);" u! \/ u1 x7 p
        UF_free(pts);% F( \0 J& N7 n2 \5 |" a  e1 s; Q
        UF_terminate();
: @* T. M* j' ~. ~5 p% `. t1 Q. N& z. ~# s, i$ Q$ I9 n+ y1 P) `* _
        // TODO: add your code here* T) b# E  `& K0 P8 ^
       
' s$ y, K' p. K# e% e5 J7 o}
. H/ q: H) @7 Z# t6 Y
1 X& ~1 a; ~) K: K. `6 A
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了