PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

[复制链接]

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

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

admin 楼主

2015-4-28 13:17:38

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

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

x
' T+ j) C4 J# y
可能大家用的到,选择一条曲线,通过输入的公差,自动创建一些列的点集!
3 F7 P  W$ w- w# x% I5 r! t" J2 x# O
9 X2 S4 v, f/ F# J2 R9 x; W% r6 I; J+ D, y
void testSimulation::do_it()% R" h% c  A( J
{0 j( N: f& r3 v  j2 v# D3 u
         //TaggedObject* toolbody = select_by_mask();4 P+ C2 M( Y! f2 _. n, C! ^, f
        TaggedObject* pathCurve = select_by_type();
; G$ u. L$ N) a* {$ U, ^; q        //std::vector< NXOpen::TaggedObject * > any_objs = select_any_objects();+ Z; ^: G! K4 i" @% Z
        // get the path point ( m: I7 t8 o& @
        double ctol = 0.0;
. A- K% l% L, P: s' r5 I    double atol = 0.0;2 Z5 r7 z9 @8 c: o4 d1 Q; ?
        double stol = 10.0;) J' A" Y& z& O1 t; W
         double *pts;5 f- O4 _: g% j7 x1 @
         int num =0;
9 g& z& `0 `$ T8 G4 k         char msg[256];7 I* u, P% y. F( h; ~
         int error =0;0 {4 V7 A2 I, x) \" y- G* [- Y1 f
         double (*points)[3];! _: W: Q8 ^& S5 v+ o5 K
         tag_t pointTag;4 O6 H. p, @8 |3 ~; [
       
% u  r3 H4 Q! U+ U2 P* a8 g3 K
& @8 k* X( k" |1 Z: s: S        UF_initialize();/ e8 h  D- J! h( ~# K% e# k2 }. x  R
6 m9 K6 X& ~, ^) r2 H, X1 A
        UF_MODL_ask_curve_points(pathCurve->Tag(),ctol,atol,stol,&num,&pts);
9 z' ]( b. f) }; F6 m' u: @        sprintf(msg,"the number of points:%d",num);/ P: i( g/ s5 Z+ Z% t
        print(msg);
6 C6 P9 v) X6 ]! y8 U) o! ]+ P, k% {
/ R+ t2 S: p. }% o9 g        points = (double(*)[3])(UF_allocate_memory(num*sizeof(double[3]),&error));8 D; \. E) P7 t$ l$ m

$ i1 g" o( B5 M6 j  L# a8 ^8 ^. s# c        for(int i =0 ; i < 3*num;++i)9 O& }# M% V8 t; N( ]
        {
+ ~* N( q% H# f$ c: t5 ^3 S                sprintf(msg,"The points are: %f\n",pts[i]);
' G  i0 m; ]8 r$ ~0 ^. {% H2 p                print(msg);; F/ L6 O: h+ Z+ V# B
                & O$ \" {& C4 ^( a
        }
, ~; r7 ]# M+ `4 X/ b' I% H' _2 ^        for (int j = 0; j < num; j++)
$ w+ }9 ?$ t. x* W4 Y; t        {7 W0 O( \' w4 \, w
                points[j][0] = pts[j*3];- n$ A. F* Z' W
                points[j][1] = pts[j*3+1];& _( L! V# I1 O0 l1 ?: G- I8 g; i
                points[j][2] = pts[j*3+2];+ W% u- s% u/ W, Z$ q
                UF_CURVE_create_point(points[j],&pointTag);1 m( l. X# H& S1 J3 b
        }  d3 w, ^& t4 o

) t3 w0 L3 a5 M0 A( v        UF_free(points);: U/ I0 L% d- n
        UF_free(pts);0 c" G7 d7 B3 Q$ J) C5 B! q) a: M( A
        UF_terminate();
4 d4 e; G1 H( N$ ~# ?0 e( S) s! e' L2 l
        // TODO: add your code here
- }2 o2 H% ~3 [4 |" [! c        & ]; \: J; ?6 ]5 _# i! P' s! Z
}
# v! j1 t& }4 f1 h7 v
; @1 |1 h: U7 ~
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了