PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

7

主题

9

回帖

228

积分

培训VIP会员

积分
228
发表于 2015-11-27 00:24:00 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 ) q) `- P( Z0 k, V

) _1 d/ \/ f' A请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
0 f3 l  j1 }2 B& l+ _, [: V5 N            //两点创建直线
9 V5 C4 c1 D: P9 O* |! K) u
           , B* O7 C9 d- L5 S
                Session *theSession = Session::GetSession();
5 i0 m# J7 X9 i* h/ F6 O: M                Part *workPart(theSession->arts()->Work());# |# P; t3 A- T+ R; `2 P& @
                Part *displayPart(theSession->arts()->Display());
; o2 @; |+ W7 U. G0 v
/ x, `: \7 D* R1 ~. F8 Z0 y2 [                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
2 l8 N' R8 O; A9 ?  ], t                TaggedObject * p = pp[0];  D. V  X7 [! \! K, e5 z" e( j2 @
                Point * getpoint = dynamic_cast<oint*>(p); - y- G5 E6 y5 d- C2 |9 T

) ?9 o5 }$ Q& J/ M  c0 x# `; n1 c
; @- h) f, e: f. x0 ~8 I
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点
  M% \1 V2 E4 ^" b$ G                TaggedObject * p1 = qq[0];
% U  p3 u6 y% L: b2 s: s- Y                Point * getpoint1 = dynamic_cast<oint*>(p1);  
% X. J! a7 ?( @0 Z/ m' H. T: p
/ B8 t% c% a; s, E6 v# g$ ~
/ x- A6 }+ @! s) [% n7 o& e
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
( x. @4 O* h% U9 b5 A* ]                Features::AssociativeLineBuilder *associativeLineBuilder1;
% T; |9 e. B$ ^1 z, ?6 a                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);3 q. m+ e1 o5 `3 ?: D3 i: m; `
& ?0 K: U: @" W
/ z! h  `; x  Q) I9 p1 h  b
                Unit *unit1;
% X2 |4 [7 e9 C                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();- [0 L9 y' q+ c/ L5 {
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
% U2 y( V$ b4 w" a0 m. Z% I9 F                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);" Z7 V) L6 m# u6 U1 r: }

  y6 _8 k) R" C  Y
2 B: J& a( H0 g$ M) h
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
9 v& H+ L: b% }: O                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);' {: z7 E  B& {& G5 T& z8 `
                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
" f$ @7 R. M" a7 Q$ B% m" q, J* o! O                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);. k  e5 T3 D' R
                NXObject *nXObject1;) O2 f4 @- J: `) |$ ^/ V' x
                nXObject1 = associativeLineBuilder1->Commit();: g, [$ }$ s5 M
                associativeLineBuilder1->Destroy();
4 X0 t4 P- j5 G8 z  G
/ H; ^. f, m$ e# F4 F
2 L2 Y* K$ ]( G/ \  a. V& h6 X' p
                , Z" B& S6 j9 N' K
                //uf部分. L7 `+ g3 y2 S# l
                UF_initialize();
/ _. B4 T& k( u+ i       
; h" U7 t0 Q6 Y6 H                tag_t linetag =( nXObject1->Tag());5 N6 l! c; `+ f, v6 \
                uf_list_p_t path_list = NULL;
8 K7 A; S3 ]$ k. E1 }! x                char * limit [ 2 ] = {"20","0"};; k# I) e4 p$ E% [6 o. f
                UF_FEATURE_SIGN sign = UF_NULLSIGN;
$ I3 S. Z6 ^& z6 m7 R                tag_t target_body = null_tag; 7 t5 ~- V' i& I6 }5 o
                uf_list_p_t  feature_list = NULL;
$ j: I( T8 b7 S. r                ( h2 w$ J3 n+ L4 g
                UF_MODL_create_list(&path_list);' p+ z1 b. y6 w% N8 r! ]
               
) B5 T  K/ ?; I9 ^; Q1 H5 V; o                UF_MODL_put_list_item(path_list,linetag);
0 I6 O6 c0 v+ S+ _; ?       
$ [4 ^. U1 m# R6 n5 H+ f                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
, h& }. Z7 r6 S8 l, d                $ R, ?! C8 O1 t  F6 f, S. _
                errorCode = UF_MODL_delete_list(&path_list);: M7 U4 b8 ~* i  Y+ d
                UF_MODL_delete_list(&feature_list);
6 I2 k( Z; O4 N6 j1 |                UF_terminate();. w2 c- `' h1 j; `: M4 R
                associativeLineBuilder1->Destroy();+ m& t5 _5 Z5 l! K* c
; T5 t- c9 |* B! {6 J) A
a.png
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

全部回复0

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了