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-国产软件践行者

[求助] 结合中遇到的问题

[复制链接]

2015-11-27 00:24:00 2763 1

秋爱 发表于 2015-11-27 00:24:00 |阅读模式

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 ) V, p) w# V' w% w3 W+ H- n
5 @3 z9 P+ B  [& q
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
2 [4 g- F; m0 j# y            //两点创建直线- N2 o' J: O5 l0 ?: l! G& \  X) S  i
           
4 N, \. F8 U. o* B3 n7 N                Session *theSession = Session::GetSession();
1 V2 p  b/ B5 E2 f# t                Part *workPart(theSession->arts()->Work());; Z$ W- c1 @! j- O: \! s
                Part *displayPart(theSession->arts()->Display());& G0 `6 C% W4 p  W( {9 K2 h

. v' g- y# x5 g                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点! L* K7 |" Q5 z( }: n& F4 u
                TaggedObject * p = pp[0];8 f" I8 M' h: _0 J
                Point * getpoint = dynamic_cast<oint*>(p);
/ z8 k, Q6 X8 q8 M
4 L. r. q: l# g, k  B% @# S
" A0 p% x) {. O" q! i# ]
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点2 q$ \$ J& r2 M* S8 L/ R# |
                TaggedObject * p1 = qq[0];
) i9 k6 J, B: J+ O/ r                Point * getpoint1 = dynamic_cast<oint*>(p1);  2 v. Y2 U% U$ p
7 v  i3 Y( q+ d0 f& r, L; G: @- D

6 c* G! X" f7 |5 T' ?                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);2 @8 z* L9 g) p
                Features::AssociativeLineBuilder *associativeLineBuilder1;
+ |; _% m; p3 X  Z5 Z4 i) D% i& {                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
2 [( v9 S) [; P% w: f- G' o0 N4 F
2 A6 s  k" h9 ]! i- y. q

; x; L; A( H4 t) n3 A, P. `                Unit *unit1;- R7 k9 }2 T+ }1 P
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();
+ o' v, }+ B* U' V& i4 L  b' `                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");8 _- T- `8 g4 d, ?7 A
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
5 P4 V7 z% c/ X: F# k& ~' r; V/ L2 r. M
4 p; Q- c# s1 G' n
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
' P, T6 u5 Y" X* D$ n& p" W- K                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
/ r0 f' Q, x- Y; E9 D                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);: q, V; }. k, U
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
& x/ g! w1 M, P( {                NXObject *nXObject1;# y: I& R8 n) \" `1 `$ @1 t
                nXObject1 = associativeLineBuilder1->Commit();3 P3 ?; t. Q# o+ F2 l! v
                associativeLineBuilder1->Destroy();
) z( n8 O4 N& R, D8 o
, v1 Q0 ]) g) ~

+ C; R, w" w3 @$ g, N$ r+ J               
0 f7 r) M% n5 v1 w" m                //uf部分* l8 B" q% I' x: Y5 a+ F3 k
                UF_initialize();
0 O. X. M0 x# A3 d! T$ Z) A- |        % ^& ?0 f$ z4 L" c
                tag_t linetag =( nXObject1->Tag());5 a/ E3 A4 U* d- T% l% ~
                uf_list_p_t path_list = NULL; " ?$ J0 V! ?, w$ i7 \3 B
                char * limit [ 2 ] = {"20","0"};* r. H: j5 u. S: }6 m3 r
                UF_FEATURE_SIGN sign = UF_NULLSIGN;! A1 a3 B3 B1 t& S( _' V$ C; x
                tag_t target_body = null_tag;
- s* U, W' C' w  H                uf_list_p_t  feature_list = NULL;
" W$ [5 r, j7 Y                7 s" x% [' r3 K% J: ?2 @
                UF_MODL_create_list(&path_list);
2 ?! R9 ^5 J- B9 {. [3 \               
% Y4 E3 b; F$ D/ J                UF_MODL_put_list_item(path_list,linetag);8 o6 Q- T# E) s/ a0 F0 P, `* }1 t0 ?
       
: Z, ]+ _& k8 D                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
+ j; J+ _$ \/ {; {- J$ F                  c" T  }/ C, A2 `
                errorCode = UF_MODL_delete_list(&path_list);' m+ j2 ~! Z, w; |/ j% |- t+ G
                UF_MODL_delete_list(&feature_list);6 @, Q# `$ D/ _: K5 f+ i
                UF_terminate();
1 C6 c+ q+ O* V6 ~9 f& E- f* e                associativeLineBuilder1->Destroy();
& m( _/ n3 A; W* o/ Q
' c( E* I* o" a3 d" T
a.png
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复0

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了