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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
' y* Y. Y1 Z: R+ Q2 g8 d1 t4 n
5 K1 K/ j0 d8 }请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:: t; S+ @9 k7 |6 J% \
            //两点创建直线8 w* X- h; X) d: n
           
2 L1 _* o# C# Z' I* u, U. `2 p$ K                Session *theSession = Session::GetSession();
& m$ p6 k3 ]  m8 ?0 W: c6 ]                Part *workPart(theSession->arts()->Work());/ W, a( W3 S$ Q( y
                Part *displayPart(theSession->arts()->Display());4 E; {% C* i$ r& `# W9 j, L

, W/ b, p; I. Q1 y* v" ?                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
* h+ i% Z' n& ]! U8 P; V/ i                TaggedObject * p = pp[0];
$ u% D3 o4 T7 q; q                Point * getpoint = dynamic_cast<oint*>(p);
& L: L4 s7 b" s  e) A- n
7 q7 Q( ?' K9 @5 J
5 }9 z9 B! {1 K# T" U
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点
+ c2 X, O! O5 J* g                TaggedObject * p1 = qq[0];9 Y! d# ~. L! T$ Q% I9 V
                Point * getpoint1 = dynamic_cast<oint*>(p1);  4 i$ U! D4 G( d) e& O
: `6 _7 z. t; U* i* ^+ e1 W

' Z5 E) \: R' f3 i                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
4 q. m9 U% Y- a& C' s4 A6 Q5 ]) a                Features::AssociativeLineBuilder *associativeLineBuilder1;
1 g3 C! ?5 j+ z                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);. s0 q5 O1 m" V" ^5 D5 @9 J

( e2 Y' @9 y& d! L

( h# Q& y8 ~) y8 l. j9 c+ j                Unit *unit1;
+ z% r* Y8 b6 y1 j8 V  o4 H                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();
" q" T; V; L$ n/ @, _7 D. R                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");' d4 O5 W# q3 B0 V
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);4 U7 I  u. J. h. o4 q( D0 U

8 h: _7 Z7 _# b: |3 {; ~! y! h
6 ?. {" }" B* v; L: M, ~
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);0 D7 t$ G, v. m( B" }6 Q1 \* W
                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);/ z: r5 x* x/ E2 }
                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
  d/ k$ B$ j/ V( T& E8 B9 \; x) b" W9 D                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
9 r" I( E) Z- J) L1 C7 D                NXObject *nXObject1;
: W( R  n- _3 g4 W                nXObject1 = associativeLineBuilder1->Commit();
- M; Z4 [1 c7 Q* p" V                associativeLineBuilder1->Destroy();% N" t: C0 d4 J: R+ [, j
3 L. i$ [5 n; d
& g; B4 M5 m) y& ~# |; d! U
               
) p' O1 @0 O- C: `- K, K3 g4 ^4 H                //uf部分
$ U! a1 I2 r: b, k7 x: _                UF_initialize();
2 W6 c2 F  s1 y6 D: F! D        2 z/ ?0 G$ a# x! y5 A( V' A+ ^: i
                tag_t linetag =( nXObject1->Tag());
) f& L2 e0 Q+ i5 z0 K' R8 h                uf_list_p_t path_list = NULL;
% @, C- U/ {9 I7 |. t, a                char * limit [ 2 ] = {"20","0"};
4 n6 V% S9 g, O4 l                UF_FEATURE_SIGN sign = UF_NULLSIGN;
4 e0 n# D# v2 d8 x( N; [                tag_t target_body = null_tag; 4 Q5 D1 c* }1 I; |" W# }
                uf_list_p_t  feature_list = NULL;- H) ~  P" P+ k: U. V
               
' K, M& B6 O4 b, u) M; \) g                UF_MODL_create_list(&path_list);
3 f$ F: C' a, w) X: @9 ]7 T! K               
: A# j* i; {/ u4 q8 t                UF_MODL_put_list_item(path_list,linetag);
  g+ C8 i- ~4 c7 k5 ~       
% R4 V9 A( W0 k" ]) V                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);3 w$ r+ m* `9 f# z
                % i: X* S) m7 q6 D9 ~; m' ~" C. G
                errorCode = UF_MODL_delete_list(&path_list);  [- J5 P) E4 B; K  ^5 Y" T% s/ g
                UF_MODL_delete_list(&feature_list);
% _, R' e  q% @% e. A                UF_terminate();' O$ N' M0 X2 B" ^, l/ _
                associativeLineBuilder1->Destroy();$ W+ ^, u5 ^, h. N0 X( Z/ k

: ^$ M  J+ h1 C) y3 @9 @& S9 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二次开发专题模块培训报名开始啦

    我知道了