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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

+ u$ ?2 I1 Z$ v7 h$ { 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!6 C4 P8 h: R& I. ]5 J$ {
/ s4 F: L, J4 i' u" p/ i' o

4 y: t# n7 R* yvoid testSimulation::do_it()  ^7 Y  t; j: B! G, w: n
{
- ~$ X) }; t, M, ~+ P         //TaggedObject* toolbody = select_by_mask();, \$ m2 L, Q! Z" m: k
        TaggedObject* pathCurve = select_by_type();2 h; a7 {* `: T. ^
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
7 I! D8 J8 H! Y  V/ b        // get the path point & D# G  m/ F. N* S: {, b: }! [; Y6 ?
        double ctol = 0.0;
5 V7 B$ g: C  @6 M/ T# {- o    double atol = 0.0;
7 q7 o2 M) P' ?3 }( d3 q' `* v        double stol = 10.0;
# E- C7 m0 b) s& R         double *pts;
3 q- [$ v+ `9 [         int num =0;( a! |" r0 E: v
         char msg[256];5 D: \3 c0 r- _/ w7 e
         int error =0;/ F! \) X8 k, D! Z% P( ^
         double (*points)[3];6 q! ]& s8 {2 E; g. x' t& T
         tag_t pointTag;. E: Z3 R+ [! e' ?3 \
        4 g8 O7 o# J# j# j" k6 J5 w
0 @$ f/ ^% D" \: \
        UF_initialize();) n% q5 A/ ]; d
9 l8 V% o; e: t
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);8 Z( z+ v2 C$ s, j7 H6 F
        sprintf(msg,"the number of points:%d",num);
) T' T, @( W5 O        print(msg);# E2 {. j% m' ~8 [3 Z
# `2 s: H5 ~+ v& ^7 B  J
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
0 w  q9 p6 t1 u8 t! f* S9 E4 o4 {5 w! {5 J0 B) ~" y
        for(int i =0 ; i < 3*num;++i). k7 L1 [! A' f4 Z, t- k0 t. B- v* m
        {
( z* U' L3 a8 j9 U9 R  g4 |2 `                sprintf(msg,"The points are: %f\n",pts[i]);
' [) D4 u+ K! u0 H2 Z* f/ @- }4 S                print(msg);
& l3 j8 u) r/ P# w# W                # k2 k. i% f3 e4 m8 ~
        }" c/ S* l, O4 y' S
        for (int j = 0; j < num; j++)
: A; ]" S; ~/ c) I        {$ P) x5 W) p( c% x' y' A
                points[j][0] = pts[j*3];( U0 b* s# _5 d+ i
                points[j][1] = pts[j*3+1];! p6 b$ n# e0 T8 W. A
                points[j][2] = pts[j*3+2];1 v/ c. O1 W- l2 o! P. }5 S) T& T0 a
                UF_CURVE_create_point(points[j],&pointTag);  l2 H) @6 y  i2 ]  d9 U
        }$ J4 t2 D/ i  r) R' ^2 w. \* I
" I3 L- P) v+ I- s
        UF_free(points);( t3 I+ i, o4 i
        UF_free(pts);
4 M4 g, n, F+ p: Y/ \. H        UF_terminate();7 {0 K* ~- g4 M/ r2 \6 P  y

5 I& B4 i3 ?4 @: \: z& I# N/ r        // TODO: add your code here1 a( M5 Y8 I: T. O, T
        & I, N6 ]+ j1 w5 T: x7 f
}4 y# R, U" P; C

; V$ H% U$ O) ?  ^( K4 C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了