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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
' \9 W+ m3 Q4 b' W2 x1 `, b+ ?4 I3 a2 p/ S1 C0 D
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:( w1 D* W7 t3 s9 v
            //两点创建直线
7 J5 m8 s1 t6 w5 n$ M* @1 }8 S
           + [5 `( S0 L3 `/ w  n
                Session *theSession = Session::GetSession();$ y7 t* `( C$ V# [3 Y0 h
                Part *workPart(theSession->arts()->Work());
. |# ~3 o; m: F: y2 ~0 O1 h2 U                Part *displayPart(theSession->arts()->Display());
& b* P3 a6 X3 t
1 i; x5 v: f* g! e, \* b% {$ i                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
6 D# v& |( r) V# F5 S* ?! l                TaggedObject * p = pp[0];
* j! g3 T: Z' v; G2 H                Point * getpoint = dynamic_cast<oint*>(p);
6 E% l. P+ Y- ^  \0 @2 F" v* y  E# C8 m3 W9 S7 `1 u
4 E) k6 t" y9 f8 Q7 s. f
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点4 }# b6 z3 v# y
                TaggedObject * p1 = qq[0];* B7 R4 u) X/ \1 i" A: G/ j: i
                Point * getpoint1 = dynamic_cast<oint*>(p1);  ' d! C& I2 A! E. K, s0 P
( X" b% U6 s; i7 S
- Z3 i' c5 G7 ?, G' j/ Q
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);+ B6 ?$ C% }* s& L+ d
                Features::AssociativeLineBuilder *associativeLineBuilder1;
; H8 B! h( |8 w/ z                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);) j( D& Z* H2 `  r& t+ X. m$ E/ z
0 Z- r% U$ ?: I

. p2 ?0 Y, [1 P6 x" S                Unit *unit1;
7 f! E& {3 N2 ?9 ]! J                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();, N% K" T3 T; N
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");7 Y! c7 J) V3 }
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);- I! I( r' M. R: q4 e
2 X/ J( m4 F. o

! W; `) {/ ]! |" n                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
# g! q7 C7 x' {, n( Y                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
9 H$ Q5 Z; M4 e% V0 u5 m: e                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
4 x. g/ b3 [) h4 Y# ~3 g& M9 `                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);3 z* A6 _) W0 ]+ X: |
                NXObject *nXObject1;
# ]0 T  x) T  ~- ]3 k2 \1 n                nXObject1 = associativeLineBuilder1->Commit();
5 Y) Y) ?  x' K! ^5 x6 D, U" H                associativeLineBuilder1->Destroy();: d7 }  U/ L, S' k) I; D% I% N; `

( }& h$ q$ [) L# [5 T

8 Y  O, S' Z0 D3 T' ^                9 M' M+ q+ @4 `8 v( D0 I
                //uf部分
- O2 _# {0 m( y' D! \, z0 q6 o7 [( F                UF_initialize();
: m, u0 `, G1 i8 }1 i# G( ~        ; r8 U. ]. z* f& j' H: r4 u
                tag_t linetag =( nXObject1->Tag());
: Z' H3 D* p6 T  E# G) _                uf_list_p_t path_list = NULL;
+ @" L( W9 K2 |( D5 }                char * limit [ 2 ] = {"20","0"};, y  O, ?( a1 [- f: |
                UF_FEATURE_SIGN sign = UF_NULLSIGN;  p! T% w# p! g8 R8 k
                tag_t target_body = null_tag; 3 @6 }* r% r- @  `/ G
                uf_list_p_t  feature_list = NULL;$ ]9 m) ~0 R8 T: Z! e6 M5 c
                6 [5 T2 F8 ]. g" {8 d) i% B
                UF_MODL_create_list(&path_list);
" @' b6 Z5 {( a  M  j+ ]/ |; u: M               
' n* C" n) h8 e$ H' d                UF_MODL_put_list_item(path_list,linetag);
; r4 O! T* k( S1 B  |        " E4 O" L0 ]. w, r8 U2 D  x" v- M
                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
7 _1 \2 v- w' k; [               
' M# E- O# m1 g4 ~                errorCode = UF_MODL_delete_list(&path_list);6 Q2 r& a% O( Z" O) z& n* E
                UF_MODL_delete_list(&feature_list);
$ m+ E' S8 r3 T% V                UF_terminate();! a7 C+ O. K! B, ^# ^9 `2 ]
                associativeLineBuilder1->Destroy();5 v) G5 U% C5 u/ f: l

( G8 h/ p6 J; v
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二次开发专题模块培训报名开始啦

    我知道了