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 2737 1

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 1 }) P0 t+ J7 U% J8 h; c, x4 A
7 r$ `1 C$ g! O3 C: E! F
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:2 @9 b! j) b8 g  @2 \- U
            //两点创建直线
, S( h7 Q. k/ p8 [" V
           " R( v% _1 _( e5 C  e
                Session *theSession = Session::GetSession();" S, A+ J' y) |  L3 q( c- F. U. T
                Part *workPart(theSession->arts()->Work());! t' g. K& S& f- \
                Part *displayPart(theSession->arts()->Display());2 p$ K& u7 d" o4 }7 @0 g

  i" R: t. J* v# P  Z6 W  p; z                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点; y5 `8 ~) O) D
                TaggedObject * p = pp[0];, U& m0 ?, F, [
                Point * getpoint = dynamic_cast<oint*>(p);
8 e5 D. Q# x/ B* m) p% s
. L, \) S  R6 ?% x5 ?' k7 {8 d1 j  x
' k  ~9 P; {! H
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点4 D# \: D4 L% X2 K# j
                TaggedObject * p1 = qq[0];
) _/ k# W1 Y! |                Point * getpoint1 = dynamic_cast<oint*>(p1);  
7 W. k1 P+ a- V: N) g! n
) M, ?7 x) T. f4 @  i! E! \. M
* \. D6 X1 |9 a+ j, j: ^; k0 S
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
8 t4 m/ ]& t4 I/ G- D                Features::AssociativeLineBuilder *associativeLineBuilder1;1 \/ u6 X5 h; e4 v
                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);6 r7 |! @$ V- c, K1 g9 h5 G
* ^+ v1 A( f! Q7 P
( [$ Q& _! K3 |6 [
                Unit *unit1;
6 z& M/ M, i# H, J% W/ R4 n                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();
. L. w$ a. E9 J& ~                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
5 {- F* t  M( E. b$ b) V( D4 S                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
. g% L! N0 |. f  E7 ?0 A
  K* I( b, Y7 ~- p& ^3 ?# }

5 G9 P* B2 j6 _$ i                associativeLineBuilder1->StartPoint()->SetValue(getpoint);, U- Z9 V. Z6 X  ^' z
                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
" O0 U) {* S: v6 {                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
% @. X- x7 N/ ^7 ]' _                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
( n5 k2 r8 T) k2 ~) ^/ ?$ }                NXObject *nXObject1;8 N" d1 w  o# y* e6 q+ ^
                nXObject1 = associativeLineBuilder1->Commit();
1 |) _1 N+ r4 ]6 ~% B. ~( t$ U0 i3 a                associativeLineBuilder1->Destroy();9 A& H5 A2 ]5 T3 {0 Z% |8 m8 _
1 X9 v) V6 @4 Z1 s! ?

* k+ n) Y& p0 n! Z: o/ Z, o- R               
# Y$ k& L8 E0 i1 x3 u3 _                //uf部分
6 H9 ?8 f6 \$ U6 Q; a                UF_initialize();7 @' C9 n7 O0 a8 |7 f& q% p/ E, n0 C, E
        1 s. w0 x/ O3 P  Q4 b3 z
                tag_t linetag =( nXObject1->Tag());
2 H5 t  m' }' n5 n1 k                uf_list_p_t path_list = NULL; ( p1 {1 ]. c1 k. E! m+ t$ Y  @* I
                char * limit [ 2 ] = {"20","0"};
" f0 M+ x# O2 h0 Z; M9 l                UF_FEATURE_SIGN sign = UF_NULLSIGN;9 Z" L! r& |/ E5 B$ I1 |
                tag_t target_body = null_tag; ! p- ^8 a- Z+ W: d
                uf_list_p_t  feature_list = NULL;. o) t; v8 w( e5 L' Z/ |
                1 c% |2 |: W! H9 G0 f0 L
                UF_MODL_create_list(&path_list);
. P2 z. Y4 o, Q/ }" S                9 o1 k6 l; {: K) d3 d- o8 y) M! ?, M4 z
                UF_MODL_put_list_item(path_list,linetag);
8 J- H! d8 ~0 e% A+ x8 x       
9 p$ D8 T* Q% q! J                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);" G$ t, U* l* c+ L' B5 j" v
               
1 M' l/ E% y. g. O3 l. u( d                errorCode = UF_MODL_delete_list(&path_list);2 T( `: W: M8 a- a6 l3 {2 \% Z
                UF_MODL_delete_list(&feature_list);1 S1 j8 \  v3 _5 n* \, j( L- V) `
                UF_terminate();3 s; k+ Z$ W0 E, z
                associativeLineBuilder1->Destroy();1 F) Y, P4 [8 q% [3 x7 O

4 R% v' r4 Y6 d
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二次开发专题模块培训报名开始啦

    我知道了