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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

& {9 h+ c2 ?. J3 v) D! H 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!" Y' ?9 [2 T. k/ a% @# S- ^- c3 {
$ ?. a; @# J3 |) V5 t8 V& E
9 \; K, `7 W1 B, k; L& P7 e
void testSimulation::do_it()# k: P4 N- O# a! P: `3 g( G
{  z. |# R; W6 U
         //TaggedObject* toolbody = select_by_mask();9 O7 w! i- B' C5 s
        TaggedObject* pathCurve = select_by_type();
# _8 [- n; U$ d: V+ F        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();8 Z  e4 L$ M6 @) v  c
        // get the path point
3 ]+ o8 {) t  \9 U        double ctol = 0.0;
! O2 p0 A# U" ]9 |    double atol = 0.0;
& h& ~, y: {  q3 t        double stol = 10.0;
2 j9 ^" G% x. E1 {         double *pts;
% ]7 u  B- j( F         int num =0;
3 B9 C" `: ^2 g8 t' I" x2 |, M( ^. e         char msg[256];
! ]6 e1 M. x2 V/ G! k  c  k         int error =0;$ c  F0 z$ z* v- D. N$ ]  @
         double (*points)[3];# L) ^1 h% Y5 |* h5 ?
         tag_t pointTag;5 W6 _- e1 S$ X3 ~* \3 J
       
5 G6 c# a' `: R2 z$ t" ]
& @4 ?* I( @5 |  l# T( p/ S3 [/ r        UF_initialize();
& k3 z2 n# Z* w/ c
0 n' U& W5 Y8 X  m% m        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);* ]. z( P% I* D) C: R% a
        sprintf(msg,"the number of points:%d",num);
% l$ [! f, L0 z% V1 `/ `4 k0 c        print(msg);0 O% @* {+ P( i! {! J' {( Z
4 Y1 R( m& w+ l. N, x
        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
# y( r7 d1 @9 I0 K8 [2 e# S1 m
  G( v4 O8 F5 ^9 p2 a: W5 m        for(int i =0 ; i < 3*num;++i)$ S4 Z( @  m7 E
        {
, A  s  g; @3 Y, d7 D4 V$ [3 E. a                sprintf(msg,"The points are: %f\n",pts[i]);  c$ U1 o/ |7 B: [0 p) b
                print(msg);
2 G4 H& Y0 O) q) b                & v) k% X. W  ^3 W( [' T
        }3 a' D1 p7 a, J( T+ W
        for (int j = 0; j < num; j++)
8 A3 l7 R  S" i' B9 n        {
# @2 p* L2 Z+ i" i8 E                points[j][0] = pts[j*3];/ b6 j7 ~& F7 y: Z7 g: @, i
                points[j][1] = pts[j*3+1];
+ r0 w3 Q1 p4 j                points[j][2] = pts[j*3+2];, ?7 }: P2 W5 ?
                UF_CURVE_create_point(points[j],&pointTag);- Y% F$ P2 k" t0 [( b# O) s$ r
        }
1 F# j  m7 ~) z7 q& E9 m; ~. W. O& n/ j" `
        UF_free(points);, a/ X. B  d. H& l+ Z- L
        UF_free(pts);
  \$ ~, k" D5 C0 H4 y" k* C        UF_terminate();5 I8 j. A  q! P

& i$ L. ]' W; ]$ U4 g; ]) w9 Y$ f% e        // TODO: add your code here
: o! Y2 v' Z7 Y. l8 H' s9 R        ' a) b& e+ q0 g) A( Z
}
8 o/ F: h% C/ V  X8 |+ h. Q5 Q. C
5 m) i) m6 `' ]- O
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了