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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 ) k+ M# p  \3 e% I" H7 }2 A1 F
( O$ q4 G2 w6 d6 Z# ~& ?/ t
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:& g8 x' f' C* G1 ^: I# v- h0 g. i
            //两点创建直线4 R6 a7 ^/ N3 x- f; Z9 o
           
) b1 U8 G0 U# p; C  V                Session *theSession = Session::GetSession();
/ s. X; q7 u1 y; v) Q6 ^& V6 B                Part *workPart(theSession->arts()->Work());
! _+ r1 T) \: d# j% n0 J5 [                Part *displayPart(theSession->arts()->Display());
! b% [$ y5 [7 N7 n( N
" k5 e, a# O* D- b                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
9 x* d% K+ p, j+ t" q  A5 d                TaggedObject * p = pp[0];( i  j; I) H. K# l1 o
                Point * getpoint = dynamic_cast<oint*>(p);
- P+ W; ?, X; A+ m
3 E) t3 |- }% M. b( ]

' Y( b; {% r7 ?: q- o                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点( A/ v6 h5 o, f1 O* g( E* E
                TaggedObject * p1 = qq[0];
: i7 {7 F% x  i0 a& z! p+ _                Point * getpoint1 = dynamic_cast<oint*>(p1);  8 _  [' k9 U9 h& w
3 O; K- ^/ H# r1 _

7 E  e$ E1 w3 _9 `                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);' w( \5 x" v% p7 @3 r% \
                Features::AssociativeLineBuilder *associativeLineBuilder1;
4 N  }# m3 b2 b; V7 x2 p8 y2 x                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);' t9 R9 N4 p3 p1 u4 O0 _) U

0 T, w& d* U% k, N6 ?8 c' ]. }- b  }

- m% b8 i% @$ U1 R3 d3 H                Unit *unit1;
( U; f% I" I! p* [                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();% K) R1 }9 f( J
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");6 h/ g  _# z( ?1 i& @! Y0 x
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);1 F$ p; o( h0 Y- Z% T
1 I( P: t: ~6 S" g

6 {3 U+ e& U/ Z7 E                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
9 d9 W) H. K! O1 S" G                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
+ H  Z! G* N3 z# b3 G3 {$ h( g; i! o                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
8 i, ?5 i# c; R1 v                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);+ E/ e& ~" a4 M* {) L- N  A
                NXObject *nXObject1;
" X2 G3 T7 T  l$ }3 _" N                nXObject1 = associativeLineBuilder1->Commit();% G1 z% S+ C! ?% H% i* H
                associativeLineBuilder1->Destroy();7 Y9 q$ i* C5 R' s& y) J1 k8 H

# h2 Y) a2 K1 w

* ^6 }3 ~% I$ I! Y6 W& h                ! I' E; `! ?" f( a1 d' D7 ]( u& J
                //uf部分$ \+ ]% W3 i8 r8 E4 E: M# H
                UF_initialize();1 A/ @  i; ~  p" @3 _  |
        ' \4 y7 W+ `( u' I9 _3 f
                tag_t linetag =( nXObject1->Tag());' ~. W. V0 w; J: B+ K8 o2 [. E4 r
                uf_list_p_t path_list = NULL; 3 j" X- a: i; G  P$ G
                char * limit [ 2 ] = {"20","0"};* G- B) l1 X  Z4 N& P5 j$ b/ T
                UF_FEATURE_SIGN sign = UF_NULLSIGN;
, c, ?% g: ~: h+ B  `9 X; d5 C9 c                tag_t target_body = null_tag;
7 w* W0 }. H& N! r8 A                uf_list_p_t  feature_list = NULL;1 {- H, _0 C- k6 @1 E3 m! u
                ' o# H/ L; w- @) [+ g5 l
                UF_MODL_create_list(&path_list);
& b1 p5 C9 t1 [               
, |; _; ~. q0 ]! l  i% z% ?  j                UF_MODL_put_list_item(path_list,linetag);
% l, Q: I% C$ @+ G% x8 L2 @7 _        ( R% D! d: P5 V! `
                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
) N1 [+ f- G; }8 `( u* u' X' B                * o& o) g$ k) k  j+ u3 _. E
                errorCode = UF_MODL_delete_list(&path_list);
& \- C# e/ R5 L  }                UF_MODL_delete_list(&feature_list);- O! x* t; a3 J* d8 t
                UF_terminate();0 i# ~! K1 a2 R/ s) O0 e, q0 `
                associativeLineBuilder1->Destroy();
& Y  Q( _+ L; b/ _% Y& b6 R! W. h: E; i
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二次开发专题模块培训报名开始啦

    我知道了