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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
/ b- ~+ Q* q4 z. z9 |+ u0 B3 F; |* i
% G9 t; K+ j  _请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:. h4 d' c5 z) E' y$ `" g; d! x( C
            //两点创建直线% v8 m  L, a/ r) D+ C3 ^5 y
           1 f0 e( g: g/ {  p
                Session *theSession = Session::GetSession();
# g# v( A7 h& C. h                Part *workPart(theSession->arts()->Work());
5 C* o" |8 o: b# t+ j; c                Part *displayPart(theSession->arts()->Display());
  y5 Q3 L, p( j! t9 Z
$ b- X" G: x: T2 M7 t" p                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点) \. \( F& A5 D3 w( H- {
                TaggedObject * p = pp[0];9 X% J. t1 D% X, v9 b& u
                Point * getpoint = dynamic_cast<oint*>(p);
5 \( z7 f& W% v9 s' {+ o% R# v3 y; t! F  r9 d

! q+ F: E/ j+ e$ n4 F2 K3 n                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点6 p3 c( j! m6 o0 ~7 o5 K$ R& E
                TaggedObject * p1 = qq[0];
5 r7 p2 ?1 `* b* q7 x& Y                Point * getpoint1 = dynamic_cast<oint*>(p1);  
. ^7 b6 Q7 I0 ]
* ?6 x' i4 J4 p3 X( K5 W

& {# j+ O+ a/ A2 T+ N0 `                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);& m+ M7 `" W* E
                Features::AssociativeLineBuilder *associativeLineBuilder1;
0 A4 s8 `  k- [                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
# q7 x# G% V6 \" Q+ F
$ b2 N) T; N8 z  K
; C" R" |( T9 i8 k$ K% w
                Unit *unit1;9 n" P- Q" p! d0 a% O, {
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();% E1 X! u) o6 h* A/ a0 i
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");( @# f  L6 `% X& i
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);! M3 p1 N4 n: v7 S- E
! @" x) F$ G. X- |8 l. x- m: m3 k

5 e( l1 c  Y- Q                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
$ D  F4 x! m0 O9 |: |& L; z9 G                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
; @. D% I5 n, Q- _                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);7 p% x% \$ X5 U$ |$ L' ~$ E4 _  D
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
& _) y$ l1 o# I4 w* \2 }' l# A                NXObject *nXObject1;
) ?9 s0 D- s+ E: \" z0 z                nXObject1 = associativeLineBuilder1->Commit();
) B* l5 Z# d6 }                associativeLineBuilder1->Destroy();6 m' c5 h4 K# o; s
' a$ F8 J6 J7 ~/ v7 L$ c9 w
$ M' D; Z; \& ]% ~/ X
               
& t, e' |% b% j. `                //uf部分
+ N% A! P. `* E4 |  K                UF_initialize();$ x% I2 }* t/ D1 [# T- \
        . n% l5 S1 t7 v$ c
                tag_t linetag =( nXObject1->Tag());& G* l. ^) v" m0 w& N
                uf_list_p_t path_list = NULL; 9 @( g' k; L" I3 |/ u- F
                char * limit [ 2 ] = {"20","0"};
! E9 h- I2 d0 m+ q6 D( \) q                UF_FEATURE_SIGN sign = UF_NULLSIGN;& M9 w/ r8 @8 b
                tag_t target_body = null_tag;
0 M: _9 z. t! |                uf_list_p_t  feature_list = NULL;1 h/ x; X  r9 w$ T+ x
                / k& @+ I4 P7 K
                UF_MODL_create_list(&path_list);2 v. A6 ~7 x% l" O
                8 B3 B! B9 d3 T: V7 i% d
                UF_MODL_put_list_item(path_list,linetag);' Q8 c: z5 X  J6 r' y( v8 Z
        1 A$ X, j$ i. ^2 o" h
                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
# e6 Y/ k, L, i7 K2 w6 L               
2 _9 P6 P( a" f                errorCode = UF_MODL_delete_list(&path_list);
5 ]# e* O2 M! T" f                UF_MODL_delete_list(&feature_list);) S' u0 l- B1 [% b% I
                UF_terminate();8 x& T* i- I& a% K1 A2 _
                associativeLineBuilder1->Destroy();( c! M* ^1 j3 t# G1 i; t6 P

* S# J) f& y) Y, ~4 I
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二次开发专题模块培训报名开始啦

    我知道了