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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 - I! S. K( u/ @0 G
. H. G; N) Z$ N* r4 S  J
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:1 q$ O7 s) ^+ D( i  K5 s6 \" Y2 t
            //两点创建直线/ I: `4 t1 ~+ n$ j' f! ]6 t
           8 N# z: r( P) \+ I9 [9 }
                Session *theSession = Session::GetSession();
8 q  I3 R) \- [* s( Y4 D# R                Part *workPart(theSession->arts()->Work());+ G2 o8 D5 \$ _* A/ M6 f
                Part *displayPart(theSession->arts()->Display());6 w5 s  F( B* x4 N4 O8 G& Q

) }9 y7 n  l+ U; X( k                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点4 }8 z# X. l2 b
                TaggedObject * p = pp[0];0 V0 T( _  R/ ~- G5 h
                Point * getpoint = dynamic_cast<oint*>(p); " A8 W- k" ?- p4 w# ?/ @

* ~" E$ E6 ~' A9 l2 ?

" S8 {- l- c, @) {$ O                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点
1 ]) K( A# s; [4 i2 z6 L' c. _                TaggedObject * p1 = qq[0];
( D' L! ~' u2 v8 f) q6 z- q                Point * getpoint1 = dynamic_cast<oint*>(p1);  , v$ W1 @, j- X7 d6 Q, H3 t

. q$ B4 l# Q, ?2 w) c" G) i. ~

& ]5 T1 t% ], L) C# {$ S                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
% Y5 _, _  H& @9 w1 S9 |                Features::AssociativeLineBuilder *associativeLineBuilder1;& G8 y- s# w" s
                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
- R2 T5 x5 P% \% z. [( L' Q
8 T6 K; U( R; C' h4 a7 \& o

9 ?! C7 U9 h) i" m- d- i; J. [                Unit *unit1;) _4 k& o$ R9 u8 @4 F5 h
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();
' X. ]' k6 f9 Z$ y% o' b9 o                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");* }9 E: M# S- A# s
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
! e, E& H& L: W8 r* r# |) w4 ^& }
7 q8 `5 F) i; W) F

* _9 R  o+ `' B* y0 c- ?$ |( W  m                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
3 }  k) l, y, }                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);5 t" a7 m& n& ]4 o: H
                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
* @$ ?, S+ T$ r% S                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
( z, `+ p: i& R                NXObject *nXObject1;
6 p! G3 z  o* y, u5 h                nXObject1 = associativeLineBuilder1->Commit();
9 N) e, o9 y, `/ T* ^                associativeLineBuilder1->Destroy();( U; u+ z% |7 @* Y: w

) ~% j" s# X; h% ~7 L# U% J

5 @7 b; \9 B$ x9 u& x+ e                1 p1 {* r1 j* q# a2 k
                //uf部分
+ B& W7 ]# v+ c7 Y- b                UF_initialize();  U: e4 V: c% ~9 [5 h# z; x
       
! x3 `# j, Y% U: h  ^1 s                tag_t linetag =( nXObject1->Tag());3 A9 J7 i6 t! G# O
                uf_list_p_t path_list = NULL; 0 z5 y; }, y1 D2 n; \  P3 d
                char * limit [ 2 ] = {"20","0"};% v( G7 w. I9 Z
                UF_FEATURE_SIGN sign = UF_NULLSIGN;5 p! b* [2 P; E! y
                tag_t target_body = null_tag;
$ W$ M0 r7 N' f2 m2 h$ ]: S                uf_list_p_t  feature_list = NULL;
2 P9 e# m7 T% }/ d8 a7 O                0 _8 Q' F& o* @  R- F* }- |* w) W$ z2 Y
                UF_MODL_create_list(&path_list);
  T" T3 C- @8 J# o0 ^9 Y# z! z# J% V) s                  E. {! B/ @2 ~5 b! G
                UF_MODL_put_list_item(path_list,linetag);
; R" d' x/ e3 Z* ^3 @8 L5 Y       
# q6 v* \6 B2 Y: H5 |& |; g                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);( [3 F; b0 F+ `1 V! A
                8 p8 [8 N1 ~1 B0 x5 }4 e  E
                errorCode = UF_MODL_delete_list(&path_list);
, g1 T" o& b; e, n* x* Z0 r8 [                UF_MODL_delete_list(&feature_list);
2 d, b4 p9 Y5 ^6 z$ t$ Q                UF_terminate();
. o9 @2 }2 T7 n: h2 Q9 R  V7 c                associativeLineBuilder1->Destroy();
3 Z# s" ]! A. f7 O, O* b) o, ]0 l: x0 Y. t! e3 g1 w0 D; d; S& |
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二次开发专题模块培训报名开始啦

    我知道了