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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

& \& m: i' c# U1 E0 F& I 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!: k' a7 I8 m1 U/ z5 W+ Y  ?

9 T# g* J0 T/ p9 n. W) t% h) O5 j  A9 y! ]! b/ L, k
void testSimulation::do_it()/ l4 I% G* ?" |* a( r
{
1 ~/ A0 c8 f$ e/ G/ a0 ?5 Y/ T" m         //TaggedObject* toolbody = select_by_mask();
/ H* a( r( ]& j        TaggedObject* pathCurve = select_by_type();
/ p+ i; z9 d2 [4 p- X        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();( z% y( R" T! X% B8 [$ @
        // get the path point 1 [, P3 U2 _5 O- F0 p* {
        double ctol = 0.0;
& A$ T3 i. L# K$ L    double atol = 0.0;0 I7 E% p' x6 F7 @- \
        double stol = 10.0;
+ t% w6 |- l' s8 O) z         double *pts;
" @; |7 A: L" I4 N  W  t* c         int num =0;/ J/ j9 S3 s; E# I
         char msg[256];
* m$ ~! @' Q5 J4 ~         int error =0;' m9 F) O' [' h8 S7 ?/ Q- [* j* {
         double (*points)[3];
# G5 ^8 l2 o7 @2 E6 n0 T0 ~         tag_t pointTag;
$ y0 U  m: [! ]' R+ n       
& U$ i' i( ], ]$ B
: S# Y" P! y- ]( e( e* N5 j        UF_initialize();
$ W# C+ A7 D5 s  m& P6 j, k* n* ^# e
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
, }0 L" b0 a6 N        sprintf(msg,"the number of points:%d",num);
: l' @" S- z! }        print(msg);
! B6 G6 c* q- B! M8 U9 j/ y
6 }, B/ M4 M$ `, Z9 E. f        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));2 [" s2 ]' Q+ z  d
" _7 ~  O( [) ]4 Z3 Y
        for(int i =0 ; i < 3*num;++i)
# x$ i3 ?  k3 x$ U" Q* E        {
  V5 Y; a+ U& v4 x                sprintf(msg,"The points are: %f\n",pts[i]);
! a, s) ^. x# k+ C' o# J& u  a5 x3 D" |                print(msg);
3 z3 q3 q- u* u* C4 X. G' i                % t# F5 z- S$ \2 K' G
        }+ U6 f0 N+ K9 D! j/ m7 ~  d0 i9 t$ {
        for (int j = 0; j < num; j++)# M, M4 {$ G! r0 X
        {1 h! b; }6 |, G+ g  d, b
                points[j][0] = pts[j*3];/ E& D1 w% D4 b5 `) y: W" k
                points[j][1] = pts[j*3+1];- u$ L6 L" y( U- o: D$ f8 [: _9 Z7 k
                points[j][2] = pts[j*3+2];
1 C$ Y( i* n( H4 Y/ @                UF_CURVE_create_point(points[j],&pointTag);2 F4 g" J  c) {, h4 C
        }
6 E+ v/ t( q- u9 I- U
: j( n& X) j3 E8 |8 R1 l6 V! |# x' ~; N        UF_free(points);
. q- c$ c* q& `$ q3 X; \1 F        UF_free(pts);
! f9 T8 M5 R8 e, R* o$ J        UF_terminate();' d8 E5 g3 E" F$ P
) ]: h  B9 A9 X6 }. ?
        // TODO: add your code here
3 H1 f: o% X0 Y7 m7 s; |        1 s9 `$ o6 p+ }7 i5 a6 g
}( j) F" X) t8 u  \  ?, B3 w
" K# {# D% V2 Y, a; {4 f- K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了