PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x

% x" R) T* r: U2 g7 L4 s$ p 可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
, b4 i4 B9 A5 I' Q
, w# Y& B/ ^) T, B7 {6 c1 [
( G- `" \. c/ d. K& P4 S9 ?0 \/ l- Wvoid testSimulation::do_it()
# U% F2 D0 c' z; f( F{1 G( m1 l7 {$ J  p$ z- o( e
         //TaggedObject* toolbody = select_by_mask();
, V/ A$ H- [2 Y- N) c2 g$ H0 F        TaggedObject* pathCurve = select_by_type();/ _$ N" c' V7 l  S+ ?) r) h* z
        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();6 ~% o+ e4 R* B- `
        // get the path point
' l8 F1 o- x( N, |/ O1 a" O8 x& @        double ctol = 0.0;8 R$ P- U# x; O+ K& I5 S2 y# o
    double atol = 0.0;/ b" t# w0 V0 y0 S5 Q
        double stol = 10.0;( }" ?: O( M7 c% s1 g( v0 K7 ^
         double *pts;$ y4 D. M/ y) c- A# \+ e6 Y
         int num =0;
6 [8 b- _6 A$ {/ w: }2 ?* ^         char msg[256];
, X1 Y- a0 ^4 G' Q* [         int error =0;
: t- j/ V. F0 _3 Y5 v7 f+ a. J         double (*points)[3];
5 `* O3 W  X4 F' J" l6 N         tag_t pointTag;
. `) a& z) }4 G        , O" q: k4 n1 `  e( l7 v- K

4 N) A' V, z* s4 A        UF_initialize();
3 P. h2 n, t8 M$ A8 j8 B/ o) z
5 R$ p, s# G% Y$ G        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
& J/ H& Q2 N8 R/ z7 n; X# Z        sprintf(msg,"the number of points:%d",num);# k+ r3 }" |: V  E* P$ Q
        print(msg);
; T- ?+ D1 }5 g
5 z+ N" q% o+ P        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));
7 z9 e- E% @# n
1 Y+ j2 ~' w: r" q7 `  K; k+ o        for(int i =0 ; i < 3*num;++i)
7 u* K) m: k  k7 v" N        {6 ]0 |; Z  x' B- S/ D. s( |6 K8 A
                sprintf(msg,"The points are: %f\n",pts[i]);6 y* P1 i2 H& m( z* x
                print(msg);" l8 g- ]! L# j* x; h; m
               
" y% o/ s. @3 ~; |        }
% E- y8 c% U* M7 C5 [, m        for (int j = 0; j < num; j++)1 _- Y4 l+ p, T) s' q2 l' {
        {" j4 s' k( r6 l0 Y4 C& A* ]7 c! o6 J
                points[j][0] = pts[j*3];! Q1 ~" W3 ]; X0 r# j
                points[j][1] = pts[j*3+1];' l- {" s3 \7 g' L& i8 g& {
                points[j][2] = pts[j*3+2];
1 V+ D+ n5 z: Q) i4 X7 r                UF_CURVE_create_point(points[j],&pointTag);
! b! B% J& T1 P6 F; Z  L        }
8 P5 r2 F7 W/ T+ D" u6 \/ \/ F
; r& E4 D$ g5 t- R. r9 V5 V- W        UF_free(points);  p9 F  ~" v; a) J2 e& p( l
        UF_free(pts);
8 X) l: c" y/ \# p3 {        UF_terminate();9 _2 o  ^$ _0 T3 u

' d( ]# s1 P7 D+ V        // TODO: add your code here/ j' V4 W$ j  b3 p+ I
       
7 B7 S# ]  M7 E# l2 b/ P* Q$ z; ^}4 j* ~) `6 M' s( ^, M/ T) O5 ]
5 U) g! l* Z# B* R  t2 Z6 t
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了