PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2016-12-25 10:40:44

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

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

x
" i/ r8 s8 d. D% C
NX二次开发源码分享:选择体导出Step格式$ x) ?6 e' r% W5 k

- |; s8 M# W2 v/ k/ a1 y. N, h2 jvoid StepExport::do_it()
7 S- e9 U2 Z9 C( q: g{
# V, u# ]  F3 `! J3 s    std::vector<TaggedObject*> objectArray;$ d3 g7 Z) s& M
    if (select_bodies(objectArray))
4 K0 u* I2 O( r3 M* c7 A    {+ h9 z; L3 J. C$ i* J
        NXOpen::Session::UndoMarkId markId1;  F; j8 e( s# [; E, w9 X
        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");
7 M7 S/ x9 m- ?9 D/ k) H1 g! I        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");( m9 q$ [1 A& n; L1 |( i
        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";
3 [7 A" p' [/ I5 F1 {! f; }7 O: \        NXString sPartSpec = displayPart->FullPath();
* `3 c. G, K+ B        std::string sFolder = sPartSpec.GetText();
8 K) r1 a$ t6 f0 H3 J" f        std::size_t found = sFolder.find_last_of(".");
5 M6 ?, ]" I' q, U' E, e+ M1 u        NXString sStepSpec = sFolder.substr(0, found) + ".stp";
. D7 u: c4 S0 k0 |$ ~6 p        NXOpen::StepCreator *stepCreator1;9 j1 Z& A& _6 O& T. S
        stepCreator1 = theSession->DexManager()->CreateStepCreator();
8 [( r  n' L- m5 @- l# X        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);+ ?7 ~/ f+ k. P
        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);0 y/ b6 I: b% t& v( u
        stepCreator1->ObjectTypes()->SetSolids(true);
( V& V2 U; y5 V" D) @        stepCreator1->SetSettingsFile(sCfgFile);6 v* s, g- d: T5 r! r2 @( O- J: @
        stepCreator1->SetInputFile(sPartSpec);
* p9 ~7 X. J$ v4 V5 I' ^        stepCreator1->SetOutputFile(sStepSpec);9 n3 C' X+ X$ O4 ?  p
        stepCreator1->SetFileSaveFlag(false);$ T" s' x  q& o& u
        stepCreator1->SetLayerMask("1-256");4 u7 T6 D5 }6 I; @" |" P) [. c1 ]0 w
        std::stringstream sBodyList("");
, k, T" w9 j/ ^: Z' W1 o- P        std::vector<TaggedObject*>::iterator iter;' {3 N% N7 q9 k+ f
        bool added1;+ H- I/ \! K* a% t! e0 {* v; r5 t+ f( m
        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)& F" q- g% Q! n5 y* {5 o$ C
        {. X# r) N3 `( t$ }' q* u
            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);, s6 @2 N6 g( `: P! j8 ]
            if (theBody)
8 t$ H7 I# {9 r0 ~            {
+ b, I0 ~$ u( T, n( X% M) Y                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);
$ p% z* ?5 z. ~* T9 _" w                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;
$ p1 R' t8 B8 Q6 ^3 e, k" |2 u            }0 h! E; e" S! g& K1 x# A9 R
        }3 F, j4 x, [3 J5 o( b6 @1 K5 v7 g
        // Debug output
1 ?% l( [6 q( x$ ?- K        print("UGII_BASE_DIR = " + sBaseDir);
0 N/ s5 s) s0 o        print("Settings File = " + sCfgFile);
% ], d0 ?) P8 [, h+ p        print("Input File = " + sPartSpec);* b) Y& S) P% l9 B! F, X) V/ R
        print("Output File = " + sStepSpec);( R4 p! n5 E' L
        print(sBodyList.str());
6 M, r  Q: P7 N, r% M        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();9 p  g. m0 V7 t* [% `5 a1 G
        stepCreator1->Destroy();7 i( a# l+ d5 i( [1 @& o) T# ^
    }
1 B& `6 P* u+ k, v" D   
/ I. m% r2 v3 H: `9 R2 o}6 G! o8 }3 t! }6 ?4 `  f- [$ U

  y2 q8 p$ k3 o6 m6 o
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了