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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
" X, g+ |+ G+ z! z! S/ P: x% ]- c, e' y, X4 A; a, P# }. f
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:; x& b0 b& I. ^$ a6 q4 y' d
            //两点创建直线
) v- k- r* v/ Z
           / b; L+ [) F9 m# X0 q4 ^! h5 t
                Session *theSession = Session::GetSession();
* [1 U' p, m, R                Part *workPart(theSession->arts()->Work());
  _2 t5 B. k* ~* Y# |" p0 B                Part *displayPart(theSession->arts()->Display());) \" m+ f' \0 L
$ C. ^( i. b2 h: }. c9 Z
                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
' @9 n! L( f4 i                TaggedObject * p = pp[0];0 {' W7 J% l: x. k% m
                Point * getpoint = dynamic_cast<oint*>(p); " S" M" o; [5 u" x8 F7 k8 u6 V% I

% n" F. V2 W7 t2 E% X
4 @% y' R% D1 F1 s9 j
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点# C  O: _: q  v
                TaggedObject * p1 = qq[0];
( V* c/ b; ~9 f# f  B# ^" ^0 n                Point * getpoint1 = dynamic_cast<oint*>(p1);  
5 ^) [' a2 a; }* p
% V) k& X5 b" Y

9 V7 @1 H9 E0 S4 @, R: r                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);2 X8 ~+ ^% y6 c5 D) f0 v; U  q
                Features::AssociativeLineBuilder *associativeLineBuilder1;
( o) I& Y) x! K  i/ E. T2 z0 d! m! B                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);9 d. ^  p2 C; Z% ^4 ^

: n4 @: V. b0 X, c

8 }2 l1 }. N0 Y, o                Unit *unit1;. B# v3 L! o2 F3 N. }
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();
- @, N4 b, Y. x2 P                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");! j+ I5 I' e; p
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);3 s/ z3 Z4 ]' k& e# Y
9 l( ?1 A5 L  F8 \

2 Z  ~& C& m8 w) G* |* m( s% w                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
5 D) Z$ V' K6 h+ n: s' n                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
2 v+ o3 V: I3 `                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
  n1 s" q& v/ }2 `8 a8 v                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);2 @2 |/ W) P* g. R' k
                NXObject *nXObject1;
! o2 v) h0 D5 d                nXObject1 = associativeLineBuilder1->Commit();
/ ~7 Z' L; K6 d9 I! Q/ e                associativeLineBuilder1->Destroy();$ v6 d! e( E( V- Y

; Q4 z7 T" H8 x# R# t" d
- y+ q; e% Q5 @+ U: G- U
                8 |+ A8 p! |# F; i0 O! M
                //uf部分/ T: b! v' W8 x1 \1 [) `/ K
                UF_initialize();' q: m' Z& P3 g1 C6 K  d
       
) O4 X3 I8 e7 g  T0 Y5 @. s                tag_t linetag =( nXObject1->Tag());! N% C% H% C; H7 [( D
                uf_list_p_t path_list = NULL;
1 k# Z, Z4 B0 M* O                char * limit [ 2 ] = {"20","0"};
% z$ N6 u) e: c% B8 p1 m                UF_FEATURE_SIGN sign = UF_NULLSIGN;. j: m. H" ~$ @4 W4 }  g# ?
                tag_t target_body = null_tag; 2 C* l/ W, y: H% ~+ o) m
                uf_list_p_t  feature_list = NULL;- K  ~5 |2 s: b- y! ^
               
6 ~1 E2 z& l4 K9 J+ ?! Q! u" \- _                UF_MODL_create_list(&path_list);& M: v, e# h& K7 `
               
$ p: D4 |2 D( d% ^% n& a                UF_MODL_put_list_item(path_list,linetag);8 U8 }$ }4 D' j" J2 ~5 n# k6 [
       
& a( G3 ~5 N  F! l                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
: p! M# e5 n: h4 W" m* W                % [# L: X! @/ T! z1 v6 d/ m
                errorCode = UF_MODL_delete_list(&path_list);& J- D! o5 d, [8 Z; u: q  [( a2 V
                UF_MODL_delete_list(&feature_list);% T1 S2 {* N& h: s5 ?* W( |
                UF_terminate();
- x  `" U; w4 X# g* S) D* X                associativeLineBuilder1->Destroy();0 D* [7 m% D# \9 T/ s3 {+ r5 V
2 _+ d( ?5 N* G" @, m
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二次开发专题模块培训报名开始啦

    我知道了