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

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

[复制链接]

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

7

主题

9

回帖

228

积分

培训VIP会员

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

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
- W0 F% P  X& r6 ^* F, K! g4 h4 I# U
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:4 j- T) x4 D& v
            //两点创建直线' k) r4 ?9 X; X& f8 }
           
0 i5 e# H: x- T: Q/ N; k                Session *theSession = Session::GetSession();& q6 s) U! U* u$ l
                Part *workPart(theSession->arts()->Work());
" W" k; `5 z9 D0 {; _                Part *displayPart(theSession->arts()->Display());
& b0 K0 I! [2 \3 K% n$ l7 k, ]/ ^$ @& w/ ^3 h
                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
! V9 X8 {6 P) E' [2 N. o2 E                TaggedObject * p = pp[0];+ R# b  L, C' m+ Y+ D3 P; n: d* v
                Point * getpoint = dynamic_cast<oint*>(p);
5 ^5 b, ~* }, _; ]# |$ f' W( J( I# ~* p' k$ H. h; A, ?1 Y

" E* V* f# R5 M: Y6 }* Y2 [                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点, s, w. y! N" m( u9 j
                TaggedObject * p1 = qq[0];
# `3 |* `3 h+ J1 y! K                Point * getpoint1 = dynamic_cast<oint*>(p1);  3 c% Z2 G0 Q  c" U) ?
0 K7 Z. i) S, M0 Q) Q' g% ~
' g0 K  C0 d  i' A
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);+ Q7 K# F; t7 C# j8 L, R8 S/ b
                Features::AssociativeLineBuilder *associativeLineBuilder1;
  @. ~- l0 v5 Q4 H/ n+ M9 U                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
# Q+ f  O/ C' A3 _. `0 B3 s% m" Y9 E; @/ Z
% r0 @% p5 u) m" g$ f' ^
                Unit *unit1;" L' e5 u! P7 h+ ^9 I  w
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();
% ?3 c0 [8 ^% a5 z: \                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
/ ]9 @% j6 {* s3 g3 c! r6 z4 R                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
' {: w4 t7 V/ C& e* _  Z1 T. z2 H/ H! Q' p
% P; P1 c3 ~, v9 W5 I5 ?4 A
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
/ C7 J7 p& V8 t9 c8 {, J                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
) n  P$ O. ^! [, k                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);) S4 d  R, [2 O8 b; g# n5 P) V  @
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
1 y5 w% E2 Z4 _( n; |                NXObject *nXObject1;  O) P( b8 W- v6 Q9 j
                nXObject1 = associativeLineBuilder1->Commit();
+ g" y2 G2 C: P* U3 u- k                associativeLineBuilder1->Destroy();
8 ]# P0 e2 g$ g/ e9 I* n6 o& P
; ?1 |# q4 T2 m) D* \2 o8 W

& q% e  X# e2 u8 g/ h, l                ! h& F7 J) U0 h" C" |
                //uf部分) P( x& q# v8 H9 v. k, f
                UF_initialize();# n' ]: F. I. V# u  y
       
# f( j$ f8 q% F2 X- ^. ^. X                tag_t linetag =( nXObject1->Tag());$ ^" g' o& U  R- n" {
                uf_list_p_t path_list = NULL;
% z$ N- X9 c3 Z0 U( i0 c                char * limit [ 2 ] = {"20","0"};  x6 I  `: ]1 h1 E8 u
                UF_FEATURE_SIGN sign = UF_NULLSIGN;
+ s$ l+ T) t$ }) E                tag_t target_body = null_tag;
+ P5 H! m$ H& `% ~$ ~9 h                uf_list_p_t  feature_list = NULL;
( a: `7 h3 |, ]  i) I8 H6 V                , S5 D+ y7 r- ^! a
                UF_MODL_create_list(&path_list);0 q# \! [, c/ \
               
+ G9 Z8 p0 m. g) x                UF_MODL_put_list_item(path_list,linetag);
- A5 x+ n: e: v        ! z, S3 o/ o9 i
                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
2 o8 _  K- x. `4 G$ J  f               
0 ^+ u) T- ?4 h  X; J' F                errorCode = UF_MODL_delete_list(&path_list);
( O/ U6 r" @8 D  s  B/ F! v& u" V6 W                UF_MODL_delete_list(&feature_list);" e( ]8 E' X0 ~$ o' {
                UF_terminate();
( [3 Q' q$ o5 }7 Y                associativeLineBuilder1->Destroy();' U1 s# _: q4 [1 y  m8 b9 {
9 s1 ]# P$ [4 O, z3 @
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二次开发专题模块培训报名开始啦

    我知道了