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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
. e: ?+ m! Z- E  I" Q& w1 _1 |$ b0 _# x/ F" U' d0 ]- b
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
. \- m; G2 ]: x$ l+ H7 D6 e) D            //两点创建直线0 h2 k% [, A% p7 P" S. K+ @6 k/ B
           
; R9 Y  K! J' m                Session *theSession = Session::GetSession();% T9 y" ^2 @) Z2 U$ k; x4 ?
                Part *workPart(theSession->arts()->Work());/ A; D  ]. M, Z. Z
                Part *displayPart(theSession->arts()->Display());
$ w) v$ V6 [; B# B3 B5 e
& J" b$ w& x* k8 W                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
, C0 H- p; Q0 {                TaggedObject * p = pp[0];
3 B' j6 o5 J9 H- e- P; \                Point * getpoint = dynamic_cast<oint*>(p); , b, \8 V4 Q- W( s* ^4 J

6 S) a* t7 Q7 Q
5 j- o9 r0 |  J0 W
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点) i, h* l: I" m- K" }4 N
                TaggedObject * p1 = qq[0];
" o( n5 J3 Y+ c4 y# Q' v2 ?                Point * getpoint1 = dynamic_cast<oint*>(p1);  
! a9 v1 x: J: b8 N1 t' }. y
* q9 A$ _$ W* R. ^2 X: o- t3 S

+ f: X) l1 V7 ^+ D0 L& X' X                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);3 n" l7 R7 P: v/ K
                Features::AssociativeLineBuilder *associativeLineBuilder1;
3 h" n. i/ Q6 Y0 V$ g. s4 [6 W5 w2 q                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
4 V( m. s! \  b/ b) Q! }7 u) C0 x/ p

# v# B1 x6 y1 h+ m                Unit *unit1;8 ], m  R, a" W" Q; r
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();* @- V; `* K, D  t' o
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
3 e. |7 N6 j, L2 K                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
5 g, J0 F- p+ f9 g; n$ \( A& m7 T  w+ [& h8 |
6 `6 J+ ^4 \: S* @
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);/ O  b1 V3 h" I+ O7 l) r2 T
                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
( G" [# ]" X+ U. s3 E8 b                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);2 V0 j- g- C8 t! ]" H/ f
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
* ^) g/ ]# ?- I2 I. B                NXObject *nXObject1;
+ L9 O4 k) b1 J6 Q- ~) b7 N                nXObject1 = associativeLineBuilder1->Commit();- U- K; L3 D! E# {+ L1 ^' O
                associativeLineBuilder1->Destroy();' @4 J1 _0 S  m2 P
8 i2 _, Q4 F1 [- t5 v0 ]4 G) s

8 {2 O9 g1 z  H( w! Q- Q( b$ Y                / s4 ]8 j+ n1 C, L) l8 `% X. S
                //uf部分
/ I. V% `+ }  r6 w" r; H$ `, V                UF_initialize();
" P/ s2 O; W" F- P/ w5 k        / z) h; i. a( R
                tag_t linetag =( nXObject1->Tag());
( G5 b+ F: ~/ G: r                uf_list_p_t path_list = NULL;
, C! T2 F$ i* F. s) K+ X                char * limit [ 2 ] = {"20","0"};7 X. C; [$ S- `4 G
                UF_FEATURE_SIGN sign = UF_NULLSIGN;
8 M7 K, A9 ?# a+ P                tag_t target_body = null_tag; ( q" j& r3 p0 @5 b$ t* Y1 p
                uf_list_p_t  feature_list = NULL;; m% B1 P3 n& D
               
5 p+ l4 ]" M& u; q5 k4 n4 B                UF_MODL_create_list(&path_list);( j2 S4 X! g+ v. E* y; W% t
               
1 Y) u. ^- m% P; y0 z. E                UF_MODL_put_list_item(path_list,linetag);7 K# X/ \! _8 e' w( s% e
        8 \/ x" j* z, _, t# d
                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
. m5 p/ y2 ]$ ]& V               
+ K$ {4 f. i1 n                errorCode = UF_MODL_delete_list(&path_list);5 Q9 v0 M2 R1 X$ X3 }' N
                UF_MODL_delete_list(&feature_list);
9 B6 u- n! G" Z0 E) c                UF_terminate();" L/ X# N; k9 n! n; Q2 }
                associativeLineBuilder1->Destroy();! ~% |% ~' k7 V) @) G
8 c7 d% I8 F1 W6 b* d( ]8 E* o
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二次开发专题模块培训报名开始啦

    我知道了