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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 8 J# `! `+ z. y1 q2 ^
) F$ |3 r" Q0 g# m
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
1 }& k2 S  }0 m            //两点创建直线3 F! X% \; s: `5 E: ?" g6 G
           
8 |. f* m3 D: R: h; f                Session *theSession = Session::GetSession();" w0 _2 [5 A; D) U7 P
                Part *workPart(theSession->arts()->Work());
6 d; ^2 [( u) V+ Y: C                Part *displayPart(theSession->arts()->Display());
9 V1 w% c* d5 {$ y- V$ q$ J9 ~5 G4 c9 S. P
                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点$ d  K7 W6 H7 j2 i' q7 w
                TaggedObject * p = pp[0];
, n+ @4 @5 T9 M* Q8 T                Point * getpoint = dynamic_cast<oint*>(p); / V: {/ p* c6 w4 h8 F! H, c8 F
6 @; T: Z- M0 a2 f- O+ j) g  `
! P9 e# H' j) @) l* b
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点
; @# E- i) w$ g8 n; J: b' m                TaggedObject * p1 = qq[0];9 u& K! g0 m% X) s' c4 L& M2 P) s
                Point * getpoint1 = dynamic_cast<oint*>(p1);  
+ q% d8 ?% F  H, V
0 p, c2 P$ J( ?
! a2 U( t* s6 l, `  J+ u# b
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
5 G' l& L5 O  ?                Features::AssociativeLineBuilder *associativeLineBuilder1;
% B  L  z, `7 U* D" K1 y! r                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);' |, v2 @' I. m4 K8 K* v
7 o! \& A5 f! E) I/ x/ C! d& S

2 k/ i9 a  h! b, @- G                Unit *unit1;
$ v2 ~) f7 y1 ^/ g                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();  [2 ?, p$ E5 p4 r
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
7 A  \& j! f" B5 w- }                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
- Y0 n: [' M, E: ~& X& R( M0 m4 |: l5 ~8 B, c

, l# G4 a! i; v2 ^" ^* \                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
3 t) O9 m# m$ V; V                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);& N% s5 s& Z% j" `7 q7 P% r
                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);+ J2 s, Q' ]$ s: f3 G
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);& S' T& r6 ^: J3 i0 M! S
                NXObject *nXObject1;3 k. X. X& D) u
                nXObject1 = associativeLineBuilder1->Commit();/ v+ R, }' j3 g9 W& N3 i
                associativeLineBuilder1->Destroy();
" S' s7 a: \" E( i2 b+ [' F5 a1 s( F4 |/ p3 m3 Y) x6 v* w

3 ^! ^1 H. U3 f1 k                  w6 Y: s- q% ]
                //uf部分
. }. |" N0 r- L# |                UF_initialize();% _# e( I! k0 e1 [' r) U
        ! ]' F3 X1 s- x, R! M% B
                tag_t linetag =( nXObject1->Tag());3 `: G2 k* C. K: ]6 ], Y9 Z+ l
                uf_list_p_t path_list = NULL;
3 g; U" `$ ?0 V4 f# K8 X                char * limit [ 2 ] = {"20","0"};9 F# h4 D0 B& R  m2 D/ w# O
                UF_FEATURE_SIGN sign = UF_NULLSIGN;3 ?7 V! D8 S' T# Z
                tag_t target_body = null_tag;
( L+ l3 Y( q7 U5 V% D                uf_list_p_t  feature_list = NULL;' o7 Q: Q. J6 K3 M! ]
               
8 Z8 X+ ~9 C" M& C* q# h. H. K& X                UF_MODL_create_list(&path_list);/ O" l/ H/ |+ N5 H' Y
               
! A7 E- s7 x! A9 t4 i                UF_MODL_put_list_item(path_list,linetag);
# A% e# R, J, |+ j5 o7 A9 L# m2 s8 a       
/ Q; M$ C) }/ ~7 o& N                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
$ C) j) |# D! U2 z% q. |' G7 ~               
2 O$ I. z) {4 _# l                errorCode = UF_MODL_delete_list(&path_list);) O- L9 K4 y& X2 F9 T  f
                UF_MODL_delete_list(&feature_list);
; @3 g8 m1 {; ~& y! T% B                UF_terminate();
6 H! b( U- Q* m0 D3 Q* ]% q                associativeLineBuilder1->Destroy();
  [  V* i9 d# o) s5 L8 t: H& ^+ F" L7 e4 h0 M0 S
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二次开发专题模块培训报名开始啦

    我知道了