PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 " R& b8 ]4 p8 f  f! O
* @8 V5 s  q& A+ N- L6 M
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:/ P% K8 F/ Y$ Z
            //两点创建直线0 s8 j" v" A/ ]# ]# }7 i6 I" p
           / ~; ?- l* V% I
                Session *theSession = Session::GetSession();1 A3 _1 z3 P; B- d9 v( M1 R1 B
                Part *workPart(theSession->arts()->Work());
: E0 E+ a8 z/ u* T8 i. I9 l                Part *displayPart(theSession->arts()->Display());
+ p; I" Z+ X5 K9 ^% b1 ?3 v0 j5 e9 L' N; d; W, g$ k9 I
                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
) r% _% \9 c) }( ^9 ]                TaggedObject * p = pp[0];
/ q2 C6 L1 O2 J* _! L                Point * getpoint = dynamic_cast<oint*>(p);
8 G/ j+ m7 F$ I! y! T( {
; H9 @& W) Z7 q, [% X9 J! a
2 I4 r; }3 k" Y
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点
1 R3 C- U' M. ]' V8 v/ ?                TaggedObject * p1 = qq[0];1 n0 N5 z# ?& J$ I2 H: l( U
                Point * getpoint1 = dynamic_cast<oint*>(p1);  
6 T" W0 d' Y6 C1 T* s
. b) e$ k! \- l! S( _5 T

) G( R: r/ u6 {0 ^                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
- ^5 m( j; }7 J$ Y                Features::AssociativeLineBuilder *associativeLineBuilder1;4 l8 n1 I4 K  R& @3 I7 r- ?
                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);! {9 K1 R2 y: }2 O

4 s4 a0 P6 b/ n/ h' ^; t+ S) s
0 i% a4 Z& Q& T" y$ r
                Unit *unit1;
% T9 U! S6 |3 ], V/ a8 w( d                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();
& u  i5 t) A0 \' P4 n4 p                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");. ?/ v3 C0 W) n* z
                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);6 l! S3 k6 D  b& N4 T

- l! f% M9 T* N7 q% Q+ D0 L) k
7 G. y. h9 B6 A& F6 D# c
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);. S- g9 g7 d# M) d3 y+ F
                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);2 e3 x( A5 @) ~, F' n8 n; t4 _
                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);
. k% L( p3 w! a6 B/ _8 ~                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);
; w9 E  Q: q9 l4 u                NXObject *nXObject1;& ^5 K- j. T5 w/ u- H9 d
                nXObject1 = associativeLineBuilder1->Commit();) l7 m2 d' U/ H3 w0 j5 T# q
                associativeLineBuilder1->Destroy();4 |) y! X7 X; N  j

) l0 V! v$ L4 {# m2 b+ k" j
5 Z- {) k! F3 f- b8 u9 ~$ b
               
5 d8 B$ z1 s! k' _                //uf部分, R# P/ y# Q, L3 {7 Q6 R
                UF_initialize();
# x+ w( U& X1 }5 n       
0 y" }1 r8 _2 ]& x                tag_t linetag =( nXObject1->Tag());
5 ^; l2 g0 e( H2 M                uf_list_p_t path_list = NULL; # T' U) c* _. A7 \) C3 f
                char * limit [ 2 ] = {"20","0"};  h3 R! v9 w' }+ b' g
                UF_FEATURE_SIGN sign = UF_NULLSIGN;
& b% U! H4 Q1 s+ s! d' u% y1 ^                tag_t target_body = null_tag; ( ?. H7 I$ \  l9 i
                uf_list_p_t  feature_list = NULL;
  O) A  c) @# Y( \9 S$ D               
  C" L: k" ?1 j; e8 I1 L, c                UF_MODL_create_list(&path_list);( Z7 E7 j9 D: w
                $ O) b- w7 {; X! D
                UF_MODL_put_list_item(path_list,linetag);4 R' Y. a% y: L# [6 ?
       
. E) [7 j3 a! y; f$ Z9 j                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
. c! y7 O! r" U' \% ?( i/ F               
( j  L3 f! r/ b0 ~                errorCode = UF_MODL_delete_list(&path_list);
+ H. D4 G/ \& ?2 t' S                UF_MODL_delete_list(&feature_list);% t, V9 W2 Y9 q* }
                UF_terminate();
# @# |0 t/ I2 Y& Z, T! V8 E; c                associativeLineBuilder1->Destroy();
: [4 |( U/ g2 O' i& D! W% n: ^; q8 O: e* u
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二次开发专题模块培训报名开始啦

    我知道了