查看: 3103|回复: 0

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

[复制链接]

7

主题

9

回帖

228

积分

培训VIP会员

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

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

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

×
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
, h& q5 [7 m" e' c1 \& ?+ x/ y, W1 W5 |) M/ e
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
/ f+ L; ?6 }0 S            //两点创建直线
  C3 M* f7 M  y  L5 p
           ) I1 V2 w1 T; w+ P* V/ |
                Session *theSession = Session::GetSession();
- B' n' k& @5 Z0 G/ J% l/ o                Part *workPart(theSession->arts()->Work());3 V) m( }4 b1 s- D4 I0 m
                Part *displayPart(theSession->arts()->Display());- N3 S7 I$ }3 ~5 {" V

( Q8 V6 g: f6 H' ~                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
" M0 i$ x9 `8 O. F, z                TaggedObject * p = pp[0];5 H3 w+ q  Y, J( ^. m+ u. @
                Point * getpoint = dynamic_cast<oint*>(p); 4 \0 s- f1 [: s0 O4 `! e

2 ?6 p0 O% q  S1 S5 d2 v
  @7 e) E4 V7 K1 M6 M! U  P$ [
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点! {  o* ?4 x7 h: W0 f
                TaggedObject * p1 = qq[0];5 F3 u' y* k5 l$ v
                Point * getpoint1 = dynamic_cast<oint*>(p1);  7 `; R8 d1 D8 G* X9 ?
6 d' ^) A1 }6 U+ X' C3 \

2 m7 w4 h% Y5 c- a* G                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
+ Z+ b$ U& d' Y0 C9 k                Features::AssociativeLineBuilder *associativeLineBuilder1;
; |5 U$ y: d; w                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);: C8 m: h7 d7 x4 w1 \$ V

7 s9 w5 K* p! T7 V: Q

8 F$ S! _+ _& V! n; j# \) d                Unit *unit1;
' ^) ?0 k# F7 v% x2 X, |* J  i+ Z                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();( N9 J$ Y" V" z% v
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
  M1 Y. k" p/ b+ i0 w4 F                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);  F6 S/ V+ f# n' ~$ I
0 B/ @- }6 \; |9 G# A; g

2 t  a. {. J7 v" h8 @2 V6 e. f                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
# }; b, N+ D: Q" t' o                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);* u) }8 V4 p4 m2 o% W
                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
- L! D# c8 |; ~6 a5 V( S9 I6 |                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);9 _; _, y2 t  M, U* u
                NXObject *nXObject1;
: q. ~% v/ F5 a1 J& Y' ]: K& q                nXObject1 = associativeLineBuilder1->Commit();
2 o/ y' O1 L( }" O- b0 m                associativeLineBuilder1->Destroy();
6 h8 w1 I# `+ u: F/ ?$ u
# L. Y. B% G0 j( ~* b" W' }

; s; l  w; u( v6 l               
1 ^" X$ g- y. m) |" h                //uf部分# J1 D1 P0 O2 M( F; z3 j
                UF_initialize();
3 ~' \6 A$ ^4 M3 q% x% I       
( U2 M9 [# y! r1 H                tag_t linetag =( nXObject1->Tag());& A' j$ }' T8 M7 v1 h, i: \' h
                uf_list_p_t path_list = NULL;
9 x6 Z5 Z( k1 t                char * limit [ 2 ] = {"20","0"};
% u3 ^7 `4 }6 U* Z" X                UF_FEATURE_SIGN sign = UF_NULLSIGN;
" `! d! O& _: G* z                tag_t target_body = null_tag;
% S$ B3 L' ~: P; W5 P6 H                uf_list_p_t  feature_list = NULL;5 T6 f' \8 `) l; {
               
0 |/ h/ F6 S# h3 q. B! _                UF_MODL_create_list(&path_list);9 l0 j, B6 d, f4 r' i+ L6 s
               
0 T+ m% I$ V7 R2 m                UF_MODL_put_list_item(path_list,linetag);
, w, l" x4 _( t$ |/ B       
8 d5 _4 X: f9 [! p                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);* f, h, t9 \) T1 z% ^$ L
               
" U; R) {. [6 z1 b* ]' L                errorCode = UF_MODL_delete_list(&path_list);
; C6 b( @, T' ^7 I                UF_MODL_delete_list(&feature_list);, m% L' X6 B* Q4 Q) D
                UF_terminate();9 m; v+ }" u3 T* h$ {2 P6 p5 J
                associativeLineBuilder1->Destroy();
% r* H& y9 ]9 E7 a% N
% ?" I" @" B8 n* W( ]' U5 q
a.png
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部