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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 / q) W2 S/ C" I0 t' P
( p3 P+ R; q. A. Z
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
) g# ]. _4 t: f' B4 w/ E/ r            //两点创建直线
- c- s, D( E3 I  n9 v* s5 _4 u
           # W& x6 z1 }! p  ?) N
                Session *theSession = Session::GetSession();4 k: }2 x9 @. F% d
                Part *workPart(theSession->arts()->Work());* s. u6 X9 Q  v8 P+ K* e! S
                Part *displayPart(theSession->arts()->Display());6 E: M/ b5 {, G3 R3 q
4 g( Q; o1 J; f# @
                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点, i% x$ }4 L8 W$ X
                TaggedObject * p = pp[0];* ^3 N0 h" f0 z" b, L; O5 \; g
                Point * getpoint = dynamic_cast<oint*>(p);
( ^' \1 S  r9 O8 R9 ?
& z, S( o" T5 j2 ?, l
/ M& A% p9 U, ~3 L; P8 z0 a1 s
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点
' l9 K. H" `( j                TaggedObject * p1 = qq[0];
: O6 K0 I) Y$ t; O5 e& t4 d                Point * getpoint1 = dynamic_cast<oint*>(p1);    g# E9 @) c+ m; \' R- h) J
1 |6 i" \' B, P9 `9 A8 s. z" X
+ F" v2 ?9 `) M7 u+ |/ }
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
9 e( y8 H# ^0 ^: O+ M* t# z' B- u                Features::AssociativeLineBuilder *associativeLineBuilder1;' F$ r4 |; h: ]9 `0 ^3 b% `4 a" j5 ?
                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);0 `1 D2 T4 A& l! O
* h6 |- W2 }4 _
3 ^' d! t1 J# S4 ], V1 i7 b
                Unit *unit1;
0 o+ T6 [3 M. Y                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();: e2 }& p. z: i  b
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");) g1 p+ X2 ]/ Y+ T1 K( x
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
" Y" {- C* o5 O9 K' f
3 p7 p# a8 S% v
6 A  D& f" `' ^8 f5 E/ U
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
2 b4 [8 e7 Z7 j% Z9 W; g                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
9 B+ |' D/ B2 G4 D                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
: g' A7 E6 T# P+ ?9 m' C                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
( E. F- M+ t; ]2 a& B                NXObject *nXObject1;
( ~, W* ?; D* P9 r, D8 V! e: t                nXObject1 = associativeLineBuilder1->Commit();
  k, B! m" L) X/ S1 j                associativeLineBuilder1->Destroy();
# m  v2 A; |: w
/ T/ a4 V6 z' T7 e$ s& |
. b/ m7 O) Z" @! u5 d
                0 q; K; a, `8 W
                //uf部分7 I. X+ k) J- j, y
                UF_initialize();
0 P( {  d  j5 r3 B       
+ j5 H/ b6 M* m* ]                tag_t linetag =( nXObject1->Tag());
' F7 T# m- ^  B$ q, _                uf_list_p_t path_list = NULL; 2 S, d: Q) a) s
                char * limit [ 2 ] = {"20","0"};
5 G) n) X1 x! T+ P                UF_FEATURE_SIGN sign = UF_NULLSIGN;' Q6 _, m' y8 R/ h1 Y0 |
                tag_t target_body = null_tag; # X( e: L- s0 C/ _: X0 F1 R
                uf_list_p_t  feature_list = NULL;
; m) v' q8 v' S5 `, J4 x8 n' J4 r               
3 w; ^2 d  M  A/ k! G                UF_MODL_create_list(&path_list);* n  m: |3 G8 d/ _+ Z
               
- m, g% t4 Z- C) s2 I  l( D                UF_MODL_put_list_item(path_list,linetag);: z' M6 o7 O# i! ^+ w# R
        5 h5 f5 m( N) {3 B" B
                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
/ \8 A- o4 ^7 J* R                & |5 h& _6 \6 F" I
                errorCode = UF_MODL_delete_list(&path_list);3 f$ s4 |: q: ]5 I# J5 B  o
                UF_MODL_delete_list(&feature_list);
0 U# f7 C) C% G( H2 ?. L% {  T                UF_terminate();2 u5 _: j, M- C. r0 g0 ]' X
                associativeLineBuilder1->Destroy();
8 G$ Z) C! p% |  V- x% t5 [1 h
! Q( m; [, G5 _1 @0 K" M8 j2 k% ?
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二次开发专题模块培训报名开始啦

    我知道了