PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

3 h# J: V- g7 T. b! W  h 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!6 y3 N3 m: B  M& B1 [1 T- J
% t' F( h7 n2 a4 I4 Z+ [* l# o1 u

/ d" c% |* w( O) U2 V0 r2 pvoid testSimulation::do_it()  o: U/ x* e. @) k# c6 D" ^% Z
{
8 T, \" V% Q: W' C4 V         //TaggedObject* toolbody = select_by_mask();
8 s* G, {8 l; t: o$ l- q' @        TaggedObject* pathCurve = select_by_type();
2 w: D6 V+ t/ H+ R, ?        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();
: Z: s' v; i0 C# [, d        // get the path point   v8 l' F+ \7 a! C3 a4 G
        double ctol = 0.0;2 m0 _+ @9 F0 N! D4 O! `3 i
    double atol = 0.0;
/ k0 b$ s  n3 r3 f0 h        double stol = 10.0;$ g' N2 {! j/ Z( j1 N+ D& ~8 n
         double *pts;6 k- L  S- A( @; Q& a
         int num =0;
' R( @4 y/ p* b' z0 G6 ~0 V0 v" P         char msg[256];
9 S) ^* d% x7 x9 h7 O         int error =0;; H* @3 `" A  X8 N7 Z; J8 D! V
         double (*points)[3];. _* B9 D; u" Q" m- u
         tag_t pointTag;
& Q# w( a7 d2 T% Q$ a       
+ l' n4 V7 o0 q3 |) l
" ]! n; L6 h6 \  z- P/ Q' w        UF_initialize();6 q7 M+ m' Z: M$ k, u( c
7 c0 w: @* M; ^* q( t' ^
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
( D- H0 f  J$ A7 R: z        sprintf(msg,"the number of points:%d",num);
# S& g, d5 H( o$ E# X- `4 l        print(msg);" U7 s$ {5 B6 p6 d+ d; s- O

, j7 e2 Z( G7 u( a+ \        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));% p4 j# U5 v0 h* K8 l

! l. X. A8 D+ E; V1 Y9 _& }        for(int i =0 ; i < 3*num;++i)
! l: t5 E3 X2 a9 Y& c        {
( z( R+ `: O8 d1 d  c                sprintf(msg,"The points are: %f\n",pts[i]);5 ]8 T4 i' N- k: G
                print(msg);
. h4 u' f4 O: M) [  I* i) i; S                , i9 X& V, k  q5 v4 l
        }
9 F, Z) Z6 X* e" D3 K; o, z4 }        for (int j = 0; j < num; j++)
3 K9 {) ?  l. e, d        {9 z( E2 Z; T! }+ p8 F# z
                points[j][0] = pts[j*3];
1 n( R$ A9 @: a) U                points[j][1] = pts[j*3+1];
; v. @. E: ]8 P7 R8 a- }; r                points[j][2] = pts[j*3+2];
) b0 Y4 a8 H9 }2 v/ l  a                UF_CURVE_create_point(points[j],&pointTag);& F+ p( u( U0 _# S$ p
        }
" ^" _% K, v! s/ Y7 q3 f5 \  I
! m2 n+ T8 X( O/ ~& H        UF_free(points);/ E2 d( t7 n& x9 L7 j) ]9 O
        UF_free(pts);% q, k* c2 |* H: o5 B
        UF_terminate();/ T' e0 N! A& r" [
) B/ \* ^  L2 m% S
        // TODO: add your code here0 }0 [6 c3 Y% f* L( j# o7 \4 A
       
0 {8 A" Y# t) C% E: @}" ~4 v) l* U, M$ j) [
7 T, A9 I, C" ?. q# j5 M7 g* m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了