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

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

[复制链接]

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

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

秋爱 楼主

2015-11-27 00:24:00

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

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

x
本帖最后由 秋爱 于 2015-11-27 00:27 编辑 9 ~1 V8 y4 o; o
" i  C- E& `/ s; L: m  d
请问怎么把NXOPEN创建的直线用UF的函数生成管道呢。我在界面上能获取任意两点生成直线(nxopen实现的),把直线转换成UF函数里边的参数后管道不能创建,请求帮助,代码如下:
8 S0 R7 \9 H( u6 t            //两点创建直线
& ]# Y/ f4 k! p# V  t4 x
           
8 h( Z0 u8 d5 i9 y) \) h                Session *theSession = Session::GetSession();
0 o6 w2 V) n( ]) {6 f% s8 k; y; A0 ?$ L                Part *workPart(theSession->arts()->Work());
1 D! d( M; c' j3 p' U                Part *displayPart(theSession->arts()->Display());
1 U1 _" h  k6 ~: u/ ?* ~- ]
& g/ N5 w1 J7 f) b                std::vector<TaggedObject*>pp = point0->GetSelectedObjects();    //获取选择的点
( Z8 `" [" ^  n0 T7 t                TaggedObject * p = pp[0];
, t0 G9 r1 ^9 W& D% M. X2 v                Point * getpoint = dynamic_cast<oint*>(p); 2 v/ |1 N( t" v% D
; d6 t7 a" I! W
8 \+ B, a9 K8 K
                std::vector<TaggedObject*>qq = point1->GetSelectedObjects();    //获取选择的点
- G) w4 y' ?- x                TaggedObject * p1 = qq[0];. r! S; @) W7 Q; x$ }
                Point * getpoint1 = dynamic_cast<oint*>(p1);  0 w. x+ |4 e* T% D. ]$ P- I8 G
1 k% q& X6 o: l
9 M9 H3 @, t0 s7 k: s
                Features::AssociativeLine *nullFeatures_AssociativeLine(NULL);
$ A/ U3 b8 e8 P: n' U! F6 v                Features::AssociativeLineBuilder *associativeLineBuilder1;! l" @9 Z& g) t, Y
                associativeLineBuilder1 = workPart->BaseFeatures()->CreateAssociativeLineBuilder(nullFeatures_AssociativeLine);
, E% y8 t' a  ?% `; h# E
5 o$ G( K6 W/ t2 Q9 q) T3 ^* W8 g

6 L; r! |+ @' B" K0 p                Unit *unit1;+ A3 j$ }* z4 n
                unit1 = associativeLineBuilder1->Limits()->StartLimit()->Distance()->Units();5 H4 R, k" U/ q* ]# f- @' n
                associativeLineBuilder1->Limits()->StartLimit()->Distance()->SetRightHandSide("0");
& E7 r" p+ X- M! |% W                associativeLineBuilder1->Limits()->EndLimit()->SetLimitOption(GeometricUtilities::CurveExtendData:imitOptionsAtPoint);# j; p. s0 C7 J( M3 ^: O
/ R5 u- Q- N8 r$ V, t9 d
9 r. _% S) E6 {/ Z2 C
                associativeLineBuilder1->StartPoint()->SetValue(getpoint);
0 L$ ?6 @% [! J' v9 \) T* u) H                associativeLineBuilder1->SetStartPointOptions(Features::AssociativeLineBuilder::StartOptionPoint);
* h( g! H# b/ W; o8 f! ^                associativeLineBuilder1->EndPoint()->SetValue(getpoint1);1 n% |; l; m8 u1 U+ X
                associativeLineBuilder1->SetEndPointOptions(Features::AssociativeLineBuilder::EndOptionPoint);6 B  w# z4 Z1 s% d' B
                NXObject *nXObject1;
1 n& H  M! W/ P  B8 q& w, I                nXObject1 = associativeLineBuilder1->Commit();% a6 f' F% r# P: l1 f
                associativeLineBuilder1->Destroy();
* [9 G$ H/ d! ]1 @9 R" t/ d0 c5 ?$ v7 I+ Z/ n

' S1 @- G  V- s  W                * Z! ?9 G) z0 m3 b, ~( O5 C& y
                //uf部分
! E, J2 Q% T8 }' Q; U1 r0 P                UF_initialize();
* v1 Q. K' v2 R' |  d7 Q       
, p" N& H% P1 x6 `0 }  j                tag_t linetag =( nXObject1->Tag());
: Y( ]0 h% Q! ~6 S                uf_list_p_t path_list = NULL;
  n' K/ I* o% M6 N+ x1 v2 z$ P$ ~                char * limit [ 2 ] = {"20","0"};. G4 q& B2 E# m0 j
                UF_FEATURE_SIGN sign = UF_NULLSIGN;" y$ @/ g1 \& F- O
                tag_t target_body = null_tag;
9 `$ t5 Y2 ~+ ]' _( H2 q+ q1 k* ?                uf_list_p_t  feature_list = NULL;
) s9 e0 U' h( H; C) @; I) S; c( C               
$ S9 q8 k% k4 ]; `. k1 z                UF_MODL_create_list(&path_list);( v7 t* O& {' H/ g
               
; n% |1 h7 `2 l' o& R                UF_MODL_put_list_item(path_list,linetag);
+ Y1 r5 F+ h' t3 _8 f5 y# B       
; n* J) a. |: I, a5 u/ }8 g                UF_MODL_create_tube1(path_list,limit,sign,target_body,&feature_list);
6 H/ _% f$ c# |% T# b7 t8 H' z6 J               
* U, I8 {. [& B                errorCode = UF_MODL_delete_list(&path_list);6 M9 w' O5 W5 O  F+ Q- f% l
                UF_MODL_delete_list(&feature_list);
+ Q  j; O* a7 f0 p' \/ f, M                UF_terminate();# S) [" i  N" @7 O
                associativeLineBuilder1->Destroy();9 Q3 J* C9 k# b1 N! v7 ]

0 l5 T  B+ X4 R4 F+ W% M
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二次开发专题模块培训报名开始啦

    我知道了