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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
& Y' ~+ w. y# S; K
4 f9 _6 }0 r1 v6 a, h$ z请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:, Q1 v4 l- o3 y, @9 c2 ^6 S" d
            //两点创建直线- P$ l7 T( M  O$ `1 F0 Y
           
( I  A. y8 k% U0 U                Session *theSession = Session::GetSession();
. w4 X: @& @+ `1 r1 `0 T) {6 i                Part *workPart(theSession->arts()->Work());
/ R! A+ C( B4 r2 c+ ^0 V7 h- z                Part *displayPart(theSession->arts()->Display());
4 F2 }. T! g1 M4 H: S. H& S) J' E/ r7 r' s- P
                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
- l, A* `* A5 k" |$ G' J8 k0 v" U  x                TaggedObject * p = pp[0];( {9 x& Q0 r' t
                Point * getpoint = dynamic_cast<oint*>(p);
# J' k, o! J" m
2 O& g+ i) x& D$ B0 z( R3 n4 m
; j; y% @) T5 ]/ O
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点1 C3 y, ~2 x; L" q1 ^: S2 V
                TaggedObject * p1 = qq[0];, U& X; d8 P% M; t$ I, b- X
                Point * getpoint1 = dynamic_cast<oint*>(p1);  . ?: L) |7 ]% t* ?
  Y8 m3 O9 C$ g4 E

8 |8 z: f0 \* p( e6 h; u                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
7 d* r% @: e. W" @  s0 Q                Features::AssociativeLineBuilder *associativeLineBuilder1;9 F7 |1 Y; b! t1 \
                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
( X0 {5 @) @  t
) ~+ I7 I" V4 x7 T

( i- \! c( U# K# k& y  Z$ ~, z2 i                Unit *unit1;# c2 K! L" T' {1 b5 `8 |5 \
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();
  {4 Q* V3 p2 ]2 F                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
6 d3 Y, K0 r" L+ C; j+ |                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
3 ~/ k' {/ l; s, b* S# |( o% E3 s
1 M* y  U" I$ z7 L4 W: I
! E4 F& O% P9 y
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
. u! I& O7 R+ a                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
& l4 S% {$ p# U                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);; r* ]1 W: ~# `; d2 Z8 [
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);1 h" P$ V9 j  [; T9 G* f
                NXObject *nXObject1;. m% v. A0 R+ Q. h# ~+ ^: j7 |
                nXObject1 = associativeLineBuilder1->Commit();
. b- I! I1 o8 P' S: c1 ^" \                associativeLineBuilder1->Destroy();! x& F' V+ ?9 j2 r

2 l1 k. `  s4 U$ @: J7 X
5 ~8 j5 v( p: o: c. ?4 }* b" T
                % l6 _3 a& }( o8 h2 S' [
                //uf部分
$ g- k0 m! F! s1 k/ n6 ?3 r                UF_initialize();* H6 ~0 w8 r% m2 B
       
2 H1 l  D3 h; x4 [                tag_t linetag =( nXObject1->Tag());: p2 a& Z" q; j9 ?8 g4 W) v9 [
                uf_list_p_t path_list = NULL; % j& e7 s) A4 r* G1 j* s* @
                char * limit [ 2 ] = {"20","0"};
  w6 W4 y) ^- F! s5 m2 m                UF_FEATURE_SIGN sign = UF_NULLSIGN;
' p- F* u8 w; j9 \8 V1 |                tag_t target_body = null_tag;
* z+ w/ N9 g  d( D" q0 d1 W% |                uf_list_p_t  feature_list = NULL;. v5 @7 ]% ^2 k4 l  i
               
/ S; ~8 [; f0 J3 J                UF_MODL_create_list(&path_list);
5 \8 j* I4 P7 Z; `: ]3 [! _" U                , `  j$ h6 w8 I  r
                UF_MODL_put_list_item(path_list,linetag);
) v/ F3 P! R" T3 E% i' B       
$ j# n  T- t$ ?                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);0 `. u0 G) W8 a0 ~/ Z2 y; q  e
               
) t' ?8 F' ^7 O3 v6 T. ^                errorCode = UF_MODL_delete_list(&path_list);) t! B: @' _3 Z9 \4 F  W5 L6 }. w6 [
                UF_MODL_delete_list(&feature_list);
% d9 y, ]% M& g/ z# E: |3 p                UF_terminate();
0 [9 c+ U/ F2 y5 V                associativeLineBuilder1->Destroy();
7 g$ C& B$ a8 z7 A$ M) J$ R5 c- g. k, @0 a1 H- P
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二次开发专题模块培训报名开始啦

    我知道了