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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑
# i/ h( ?: K) j+ H2 ?% h. W/ I3 J, k
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
/ D2 Z* n+ k2 S7 T5 j            //两点创建直线
3 ]& X+ V5 m4 v+ ?6 r# I4 M
           . X  }: V: [, S5 Y7 }% R8 R
                Session *theSession = Session::GetSession();# f( }' E, _, {# V6 n) V' O' {4 u
                Part *workPart(theSession->arts()->Work());: G7 B3 q8 h. N5 d8 M. P
                Part *displayPart(theSession->arts()->Display());0 }' p: x* n9 u0 N8 H  t

* k8 e4 }; D. s9 i- {                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点* E; e, i4 q" b+ u
                TaggedObject * p = pp[0];
+ c8 U$ j  d, _9 A9 s3 s6 M$ q                Point * getpoint = dynamic_cast<oint*>(p);
. ?  W# p6 ?% X! Z, L9 ^/ k" n1 p( U) @; M! m2 y
- X' M0 T8 X1 R8 \9 v/ e. Y
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点
, o- u$ Z5 x* R                TaggedObject * p1 = qq[0];! I! Q; P6 c  k6 q# X
                Point * getpoint1 = dynamic_cast<oint*>(p1);  
4 C& ?/ @& K$ R& e# Z/ f" F* Q, g' z
( U9 w; @/ p- X& h0 Z% k
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);! [1 q5 A1 K' N+ S, \$ e
                Features::AssociativeLineBuilder *associativeLineBuilder1;6 f/ b- x9 n% P* X
                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
  b1 H. [9 X% K' E
9 l) e. j" O7 o3 \7 v

& P% {: I& Y  U* P! u                Unit *unit1;
6 F+ J, K8 n% N/ C( d0 v2 p                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();4 f, K3 Y6 v5 G/ Z9 U- }6 p* m
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
5 o5 _- w: G' h1 g, x0 q$ P0 l                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);- H( c) m& m% R9 ~9 e0 E
, D- Z! U5 g( I1 a5 e

3 o; _3 E8 O5 }; f7 q3 U7 c1 C                associativeLineBuilder1->StartPoint()->SetValue(getpoint);2 Z- E2 F2 U9 [8 T2 x/ H( Z5 g6 Y
                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);9 w# m  ^) g$ c$ S
                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
1 n; ~8 V3 f$ K# u! K: U# J                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);$ @. F* {7 M  d) `2 a% ]( L
                NXObject *nXObject1;
4 D# _+ G& U: D0 f/ R2 }                nXObject1 = associativeLineBuilder1->Commit();
4 k' b5 f9 L7 p  r- i                associativeLineBuilder1->Destroy();
  e8 ~! A, e" z
2 G- M* q. v, [' }# d
* K; U# {& }# J1 q' b; y/ D  A
                2 e  ^$ t; {* W* {: z
                //uf部分5 M! ~; S/ H/ t& U: z9 H
                UF_initialize();
8 M7 ?. `! x( f) d% ^3 C       
( z7 R. W/ n) t* W) N/ r                tag_t linetag =( nXObject1->Tag());
  ~9 Q+ n& }& x* d                uf_list_p_t path_list = NULL; % `; z! ?* H: a4 n% r
                char * limit [ 2 ] = {"20","0"};, L0 I1 M8 ?( J/ w7 F) [- B% g
                UF_FEATURE_SIGN sign = UF_NULLSIGN;" k1 n0 x; b, y. l" g
                tag_t target_body = null_tag; . ]! a: U; [' _7 `# h# ]+ |2 A
                uf_list_p_t  feature_list = NULL;
* E, [7 \7 l+ P! H- Y                : L$ X' r) `! u& f6 X1 g
                UF_MODL_create_list(&path_list);
8 u6 R: W3 ?2 v: F6 \- \! O                7 P# c: O2 A" p" \0 f* v
                UF_MODL_put_list_item(path_list,linetag);+ X% D1 u; ^. D
       
) y. {' }& U! A                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
2 B& f7 g0 }, K, v7 j) ^               
7 s) s8 T6 q) T0 B                errorCode = UF_MODL_delete_list(&path_list);
: k% c! `3 Z) Z; U: t0 ?                UF_MODL_delete_list(&feature_list);
1 c( _  v% {% A                UF_terminate();( U3 x. X. a$ u' X# d1 f
                associativeLineBuilder1->Destroy();: h( [7 {9 w+ c, `! K( m
: w" {7 m; D$ s2 [6 A8 P6 d7 g$ t
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二次开发专题模块培训报名开始啦

    我知道了