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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

* p% J3 q! g0 z7 W( b; d+ h0 o+ A 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!- U, N  T: o8 M7 D

6 H$ {% O9 x. Q6 t" ?: @* ^. O9 C5 z+ f; q, O- @# @: L' ^
void testSimulation::do_it()
* v1 b# {3 ]# G4 \& i" w2 y4 B{- _3 n1 ^: j% H6 e! T" S
         //TaggedObject* toolbody = select_by_mask();
% V9 {2 |. a4 c  R$ B* d        TaggedObject* pathCurve = select_by_type();
% L8 H' @* S$ x6 |9 v; v, j) ^& @        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
! u8 |+ R: F/ m! M& L- H! f        // get the path point
3 s4 ]0 u, H, z2 e$ I+ b, I* m        double ctol = 0.0;
$ X3 A! `0 j% J2 I! e& l" ]% J  h    double atol = 0.0;! a; m2 F( k- u, a) {4 J" N
        double stol = 10.0;
5 V% [3 L* r- Q8 N5 G1 T         double *pts;
, y4 u" S+ U: r: x% L2 L         int num =0;0 B# \. ?6 G7 D' i. g# o
         char msg[256];
( Q. |1 b+ @5 F  X& k         int error =0;
& v  Y9 w- V- A% @* c, e! u6 V         double (*points)[3];2 E" u' E9 I0 p( u8 K
         tag_t pointTag;
* t! c/ E& p3 D8 y/ w        ; {9 Y0 S" b6 i. I- i3 q

7 _; z) |3 i9 ?* _% X        UF_initialize();2 X3 Z% q4 n; q: g0 e' I

2 t8 v+ k" ~5 n$ }) l        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
- T: j8 ~# l- q( S        sprintf(msg,"the number of points:%d",num);- T" }) K9 P8 z0 D) F1 T' V/ m, ~  F; J
        print(msg);; }+ m  o4 k6 M" l  Q

' w+ t+ G, O. d  X7 i* Q7 m        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));$ q% ^1 @5 O# E, K% J0 i8 u, M+ s

; i! e% A" q! c# [4 w        for(int i =0 ; i < 3*num;++i)' n6 k! E& l# |# Q* e  Y
        {, Q  |: e  G- s- N
                sprintf(msg,"The points are: %f\n",pts[i]);
* ^, [+ X3 f- b1 |0 h* \                print(msg);5 E! u* i8 C7 @
                & S) D' v* K7 W3 Z
        }
! o5 i+ b: K' u! g9 v  ?        for (int j = 0; j < num; j++)
3 I- H) U! S* z' @; i4 A9 H9 K        {
7 Z$ ?( v3 A  n2 l4 }                points[j][0] = pts[j*3];
3 T9 e1 S& Y' W/ t; f. Z7 D                points[j][1] = pts[j*3+1];
% h) ?) t  \1 {" F( S                points[j][2] = pts[j*3+2];
6 v7 p: r) K; J                UF_CURVE_create_point(points[j],&pointTag);
7 ?  y# A% ?8 `        }) |$ {4 x7 D+ d* R! f0 G

3 ^& `' W4 _; q/ K, f        UF_free(points);9 p4 {9 d& k) o1 G, h
        UF_free(pts);" T" K0 p2 T5 K/ ]4 `# S) N- d
        UF_terminate();
8 ]+ Z& N6 n* M4 A, J
4 ~6 ^( ]  j: \+ Q! C! W        // TODO: add your code here$ T) A- ~0 |9 [) V: a1 S" y2 V
       
: ~$ F4 Q2 {! I}% G, J6 j) n5 y- ?; m9 {& h9 g0 n
: `6 ]$ q- z. P, \. R
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了