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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 6 `, {# B+ A* o+ X. v/ ?; }7 X

( e0 H( g* E  z7 L请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:: Q5 {) F; ]* x! e' Q0 [) X
            //两点创建直线
5 n7 F: I, F* ~  h. h3 \
           
3 |2 [( H3 q( Q$ o# f& K                Session *theSession = Session::GetSession();
9 d+ K- L6 v+ k4 O# h! l                Part *workPart(theSession->arts()->Work());  u8 D* }( O( r0 p  s
                Part *displayPart(theSession->arts()->Display());5 [8 ?5 B8 d+ V! z, H3 Q6 B

$ c( ~4 t1 \5 f% r0 @. ^1 ]0 w. ~                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
+ m  u2 _% `5 Y+ Q8 V                TaggedObject * p = pp[0];8 v8 E. j' H/ A8 O! M5 f) {+ G) W
                Point * getpoint = dynamic_cast<oint*>(p);
0 a# P, B# G: [7 {+ o  V; S3 Y2 F/ z8 ~7 r

: E, y* T4 g8 e                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点# Y) B, C% o; q( S- o& g7 s
                TaggedObject * p1 = qq[0];. t3 e" O$ a6 T
                Point * getpoint1 = dynamic_cast<oint*>(p1);  ' p, Q5 {+ j& }( O# ]! [
2 {$ F' Y# y; V5 [" p0 B$ Q
# z4 e; @; ^6 J( X* M
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
7 f4 _3 `6 G: _  U; J                Features::AssociativeLineBuilder *associativeLineBuilder1;
" D: W/ ^; l& N6 \& C                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);# J' v% H! ^( E

- C7 X* V8 w3 `% c9 G

0 s9 X$ A' k' ?0 t- ]                Unit *unit1;) g8 ~/ D1 |+ V' y
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();* W, b& z1 m; K4 l4 J! L
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
  l' C9 G/ Y1 X4 X- k; L: s* y                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);
& v/ j8 }5 |  O. I( ]9 Y
0 ]. m# H+ a% e- |; J

" L/ ~) ~& y+ \" i4 ^# Z$ @                associativeLineBuilder1->StartPoint()->SetValue(getpoint);# O1 V, t( A7 I# S; `
                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
9 W; K: |  i! Y! `                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);3 i+ T; ~( i! u. q, e
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);4 X8 _" p& _5 H: c. l
                NXObject *nXObject1;
( u' \/ G2 V9 C                nXObject1 = associativeLineBuilder1->Commit();/ s! p+ z$ w1 _9 O( ?
                associativeLineBuilder1->Destroy();
: `+ g3 z) I- v% ^& D' o( P2 T8 K; |3 X
- k% A; \7 |; q9 r# E, p3 j& K
                * a9 n& E/ |! F7 J4 o, f
                //uf部分
. ~. c8 q% G& p- O$ z9 g                UF_initialize();* R$ A! Z# ?3 O- H
        ! \- K: ]3 C* S# s
                tag_t linetag =( nXObject1->Tag());5 }" X5 f& R, \  m
                uf_list_p_t path_list = NULL;
6 j  S& v" c' v8 C! b, ?                char * limit [ 2 ] = {"20","0"};
, ?" F3 L" ?+ [. t                UF_FEATURE_SIGN sign = UF_NULLSIGN;/ i" x7 \" U$ |% k) J4 J
                tag_t target_body = null_tag;
+ C0 p9 E, u1 }                uf_list_p_t  feature_list = NULL;; B8 r1 N; p. K# ~9 p5 J6 m
               
7 G! G$ [* I6 F2 U8 ^; N                UF_MODL_create_list(&path_list);
' Y- _* e7 C5 E                6 X2 k& F; ?4 u
                UF_MODL_put_list_item(path_list,linetag);% o$ O; }2 U  r+ ?, M% Q9 ~7 W
        # d; Q; `- p; A; N4 I
                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);7 U% E5 G8 B+ y
                5 I- d) R% Y( i, `5 p$ d
                errorCode = UF_MODL_delete_list(&path_list);
$ D& V  `1 Y4 `# E1 P! V                UF_MODL_delete_list(&feature_list);7 P. W$ a% J+ I2 t8 D: J0 K
                UF_terminate();
7 h2 J( y! J8 H1 G                associativeLineBuilder1->Destroy();
: ^3 `1 w5 n. f) F
. c! r) z% E# Z+ Q  K
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二次开发专题模块培训报名开始啦

    我知道了