PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

[二次开发源码] NX二次开发源码分享:选择体导出Step格式

[复制链接]

2016-12-25 10:40:44 2571 0

admin 发表于 2016-12-25 10:40:44 |阅读模式

admin 楼主

2016-12-25 10:40:44

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

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

x
# Y3 u) m: }5 c
NX二次开发源码分享:选择体导出Step格式$ P1 d  v0 z7 R1 M6 p) D8 l$ i
7 h& B0 G5 O. R3 u5 Q  U9 y) u
void StepExport::do_it()
! y3 A; w( R' r7 u) U( F* a- g9 n{
6 `. J/ h) i( p. D. B1 c    std::vector<TaggedObject*> objectArray;
8 @# p5 _; E3 _' A    if (select_bodies(objectArray))
7 g1 _3 E% Z1 i) J    {
/ D( ], `% _4 R  l4 w+ ~/ J2 ~        NXOpen::Session::UndoMarkId markId1;/ T# P$ ~$ ?+ x; W
        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");
; n+ @& T0 M% _3 R        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");$ L3 @/ M( \1 j/ [
        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";
$ A  N- }- g9 r) z9 J" b        NXString sPartSpec = displayPart->FullPath();
+ x5 W+ Y- S$ ]% g- m9 ^        std::string sFolder = sPartSpec.GetText();
8 }5 Z1 ~2 j( \4 ]        std::size_t found = sFolder.find_last_of(".");+ K' \3 Q# a( E9 \9 {9 r7 `
        NXString sStepSpec = sFolder.substr(0, found) + ".stp";, B2 R* ~# e1 Q& q) _6 R; Q$ z
        NXOpen::StepCreator *stepCreator1;
* G; ]( k* Q( A$ f' X$ D        stepCreator1 = theSession->DexManager()->CreateStepCreator();# k* u( V8 _+ [/ Z! k& [
        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);- j3 G- ~6 @) C5 {: Q1 F
        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);
1 Y# l2 U. o# n$ ^        stepCreator1->ObjectTypes()->SetSolids(true);3 ^; K; E$ ]- P( z
        stepCreator1->SetSettingsFile(sCfgFile);
. ~+ U6 e9 ^0 |) Y) j) l$ m        stepCreator1->SetInputFile(sPartSpec);
/ x& G; w# b- h5 o& I        stepCreator1->SetOutputFile(sStepSpec);
8 }  [* @9 w5 p! i+ w6 N" W% S        stepCreator1->SetFileSaveFlag(false);4 r  Z3 h9 [2 @" R  ~" J
        stepCreator1->SetLayerMask("1-256");2 @5 A' u" k# |+ D7 Y
        std::stringstream sBodyList("");
0 x" J) ^* b4 A. z- L- w1 E        std::vector<TaggedObject*>::iterator iter;
- {, Z/ H0 L# z- q1 O! K; _        bool added1;1 {5 s6 X4 P' P
        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter): d, p# }6 S. V& Y; E, `! f% f
        {
7 s6 U* C1 Z- i: v) X  V            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);1 C" m' Y3 O& l( @+ }
            if (theBody)! w! w9 v9 }  P. P" T, C' e. t
            {
9 D3 b4 R" N( T7 M                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);
9 F" H* J* H6 @. l2 }7 F; h                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;
( C3 l# S0 L0 P( m& t( C            }1 s" i# @# l  n) ~, G
        }
1 d3 @- _" E" @( w8 I/ z1 a: b        // Debug output* {4 V& `$ a9 H/ o8 ]
        print("UGII_BASE_DIR = " + sBaseDir);9 T  `1 V2 U  o" m5 I. O8 ]& ~
        print("Settings File = " + sCfgFile);
" U; ~/ ^" Y/ _7 V0 t0 i# h        print("Input File = " + sPartSpec);" g. b0 N1 b4 I  |/ o" k
        print("Output File = " + sStepSpec);( {- t# e  p: |
        print(sBodyList.str());' h: D2 R$ m0 U. y. s
        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
% H# L. X& {$ V6 @; I! N        stepCreator1->Destroy();
1 \  Q$ G2 [6 f4 Y# V+ D" W    }7 y- ?; K# E1 F1 T* Q+ ~
    / z! z5 N/ g7 o( |; u3 M
}+ f) e4 Q( Y- p5 p1 |
4 l# L0 n/ x6 T  M6 ?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了