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

[二次开发源码] NX二次开发源码分享: 导出 step格式

  [复制链接]

2018-1-7 23:25:47 4185 1

admin 发表于 2017-1-16 15:31:09 |阅读模式

admin 楼主

2017-1-16 15:31:09

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

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

x
$ f2 n- I. N8 E3 K, Z! {
6 C7 C& S4 F- Y
; c1 R6 X8 U5 g3 l* c
NX二次开发源码分享: 导出 step格式7 y+ T9 [, U8 e& l) M$ L; }
% s  w9 |& o7 _2 Q+ ?
参考一下,很简单哦!!
, d0 `: Y( Y: ^! _4 Y
7 Z- q1 ~0 L, @- }/ _void StepExport::do_it()9 [1 T$ c# N0 d0 u
{
- _) m! k2 K, W" {, E    std::vector<TaggedObject*> objectArray;
/ Y# c; Q5 N/ t" N2 Q9 I9 O1 K' G. R" f* R  P
    if (select_bodies(objectArray))
5 x& z* U6 d( ]    {
* X7 B3 n: B0 i" |        NXOpen::Session::UndoMarkId markId1;
% J5 M7 |$ o  H& x7 ~' k0 P- _        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");
( r9 i9 f( k. H3 Z. t
6 x; F; E! ~; {        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");
2 K5 n) Y! H4 m4 J6 f        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";
- _& J- e1 L# v2 R! R* S- r        NXString sPartSpec = displayPart->FullPath();( e& D) Q, Y. x; F+ [! h
        std::string sFolder = sPartSpec.GetText();: k& J4 W  c5 C5 s8 \0 `
        std::size_t found = sFolder.find_last_of(".");
1 @1 }- ]  Y' G, {! T; f        NXString sStepSpec = sFolder.substr(0, found) + ".stp";
( h- w+ i/ O! [- t/ {4 J7 m8 X. K
        NXOpen::StepCreator *stepCreator1;
2 x" c0 P" F# j1 ^$ `        stepCreator1 = theSession->DexManager()->CreateStepCreator();
$ S* Y% D- M* H( V# p- H        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);
6 `$ ^7 D  r( C$ \/ J* F6 q        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);* i0 E6 Z" u: ~
        stepCreator1->ObjectTypes()->SetSolids(true);. p: s0 }% w0 K6 E
        stepCreator1->SetSettingsFile(sCfgFile);) N) N! J6 _: X
        stepCreator1->SetInputFile(sPartSpec);* d- @8 `% U7 b8 ?2 P# _
        stepCreator1->SetOutputFile(sStepSpec);
; D/ h4 K+ T; U% `        stepCreator1->SetFileSaveFlag(false);* C) {" X0 D* \
        stepCreator1->SetLayerMask("1-256");
$ N2 U* i; z5 m- }/ a* ^' A: k0 ]' |6 ~% c0 k% k
        std::stringstream sBodyList("");* C1 x' m& v2 C* `# Z
4 u. C+ w+ h) q% a2 I, z# ^
        std::vector<TaggedObject*>::iterator iter;
( [  I. k5 o& G; ^* E$ d        bool added1;
! m! A% |% N! ?; Q  E        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)
) T  K% T) o. c- b' H        {6 `" ~# B" P! g, g- z
            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);- I/ v1 d$ K. w1 K5 b  V
            if (theBody)
1 a3 _4 e, D2 Q" w& f) s$ a4 f            {+ ^$ J7 z/ }0 V9 N* i5 X4 H( a
                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);
+ S- u% Z6 ]5 \- Q3 k0 u                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;: t0 _6 S; M; [
            }- S2 w5 R! O3 C  `
        }
7 p3 W- E0 s& a) V) G. o4 H) c! Z
2 s# X* P4 d% |4 L# {        // Debug output
8 U5 z- t6 `- t        print("UGII_BASE_DIR = " + sBaseDir);
/ u* R/ n/ w# N        print("Settings File = " + sCfgFile);
4 g0 ^# T& S1 L: C        print("Input File = " + sPartSpec);
5 D4 P0 B9 z, Z# p2 U6 d        print("Output File = " + sStepSpec);" q2 h+ l$ g7 y1 y- G( n
        print(sBodyList.str());
4 A. }5 S4 s# d/ d! ~& F
, @" |- M- n" x( l- q( O" ?, p0 W        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
$ H+ C0 t. Z) r& R+ A8 `        stepCreator1->Destroy();; C. u6 W( ?: \1 v* Y" v) y
    }! G6 c; }7 H  U8 e: b. ]) w/ q
- f+ y) D; H% P% T
}
/ H: l+ W# ]! C" `1 q; C! J1 r
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

ug_xiaofeng 发表于 2018-1-7 23:25:47

ug_xiaofeng 沙发

2018-1-7 23:25:47

请问导入dxf/dwg用哪个函数?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了