PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
3 G% ~& D5 ~/ R5 \( a, T
9 v9 R; v- `  f+ s' p0 V请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
# a8 l, b; O6 \/ q) l( Z            //两点创建直线
# h( |4 K. l1 I) I7 U- a
           : Z, u% F  c3 f# n  _% N
                Session *theSession = Session::GetSession();# Y# C4 b) Q4 h+ x, Y2 q0 O) T2 y7 ~0 t
                Part *workPart(theSession->arts()->Work());1 b# @6 L* `0 f3 |1 U
                Part *displayPart(theSession->arts()->Display());
# t) b- B6 |( x- R3 X& F1 t: Z3 o! u8 F- I4 |7 V9 z3 A2 f
                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
+ {  u4 P! W$ T  j+ G2 ]9 M) q1 |6 A                TaggedObject * p = pp[0];
3 ^  j5 Q/ ^7 i/ t! X) ~                Point * getpoint = dynamic_cast<oint*>(p); ( n! ?9 Z) Y7 I1 a, i

$ ?% _1 o9 ^9 q7 N( t" s

3 c8 t2 X+ l' b: L                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点, b% U0 {. I# v9 x3 z
                TaggedObject * p1 = qq[0];0 L8 G6 C, \; d8 ^% `* E
                Point * getpoint1 = dynamic_cast<oint*>(p1);  
2 B4 h* j: v+ ~! x4 T; n* L
+ a9 N. u- ^  X/ l4 D+ s
- x4 |, y4 X& y
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
/ A% j- R+ }" X  }/ p; x5 m/ o                Features::AssociativeLineBuilder *associativeLineBuilder1;
* s  a/ [+ W4 c& L                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
. u# y: y; H, I
1 X6 D9 {2 V$ p, u
; R  C; N5 H( x& Y9 q, L
                Unit *unit1;
! A8 ?1 Z  k5 k( A                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();6 G+ y; h; S7 Q
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
- K. r4 ~. K$ t* N, ]8 c% H, C0 }2 O2 g                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);3 O" x4 d# b" L8 ?2 A

% P/ P+ t' \6 G' {4 c3 G3 Z
; K/ g! k: [7 S. ]2 x" [  l3 u
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);  G- V! a3 {' E* J1 c# A+ C+ r+ m
                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
7 ?9 q5 D* A; A1 I9 S                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);  ?1 T' C! v* S6 x1 v, G" w9 B- Z
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);6 ]0 [. |) a) T; J& {- ]
                NXObject *nXObject1;7 e3 {" ^; h$ W! t! R
                nXObject1 = associativeLineBuilder1->Commit();7 P% F! M  f/ g! b4 t4 [
                associativeLineBuilder1->Destroy();. B9 l. K. m6 @8 O7 g* H, J9 V

# N. b) \+ W6 _6 V' q

3 t+ A  f0 F4 p1 c                . K% d, X* m! `' y4 q3 g
                //uf部分* u4 `: a5 T  L5 v: q
                UF_initialize();5 ?9 N- f3 Z3 z/ D8 M
       
& \, {$ ?( p- `" B& N7 W# x& I& C                tag_t linetag =( nXObject1->Tag());! G) C5 o; n+ R4 {# V3 K* C
                uf_list_p_t path_list = NULL;
; s4 b+ _2 I/ M. g6 l                char * limit [ 2 ] = {"20","0"};
. E$ v3 O+ b) s% c- O2 N$ k7 m                UF_FEATURE_SIGN sign = UF_NULLSIGN;6 u2 Y, J8 N9 T. V* }
                tag_t target_body = null_tag;
4 n0 l- o: [& m; c                uf_list_p_t  feature_list = NULL;+ G( ]5 ~+ ^* [, i# W3 j9 A
               
5 N, L' ]1 L6 ?! R" H1 E. ?2 e                UF_MODL_create_list(&path_list);
% B( N! c+ l6 P8 A               
( e2 A8 b. o) `" E6 V+ }                UF_MODL_put_list_item(path_list,linetag);( r; J8 N3 x4 m  E3 o5 Y
        8 m! N1 _. m* B- F1 S
                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);, H* {9 H0 y- C+ s6 @( v
               
0 `% E& a5 |3 o- a! ?                errorCode = UF_MODL_delete_list(&path_list);' e0 |8 s( ]6 [7 O6 S
                UF_MODL_delete_list(&feature_list);1 G; T( L' y; W! G5 }3 {6 r+ e! Y
                UF_terminate();
) ]  U2 D) G2 \9 Y; s- d+ S7 |                associativeLineBuilder1->Destroy();
# n9 F1 S, ]) i) ]3 `" U+ k' i' R9 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二次开发专题模块培训报名开始啦

    我知道了