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格式

  [复制链接]

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

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

admin 楼主

2017-1-16 15:31:09

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

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

x

' p/ K" Z! W% J6 f
6 S8 e3 v. p! _: _6 v7 z) u$ `/ o1 J  ^4 Q2 g; g$ q% L9 h5 o$ P# ~; X
NX二次开发源码分享: 导出 step格式
6 X8 Z4 A# ^6 A3 [
7 H3 {/ h6 T$ ?# }. G参考一下,很简单哦!!
' G1 V) J) m/ r% B4 |  z& R
; g; m0 N" R4 y9 L! evoid StepExport::do_it()
4 d0 n. @$ |9 {4 \{9 K' q+ m  i6 ]( T: [2 J
    std::vector<TaggedObject*> objectArray;. K4 h( k" G$ @% x% H; N
0 _7 z, E4 S* O6 g
    if (select_bodies(objectArray))
6 C9 f* U& M4 S' |    {
' d/ }% W7 ~# {2 I. }5 Y3 L( Q        NXOpen::Session::UndoMarkId markId1;- P- p/ v* l! R) S& G% i6 z! \
        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");
1 Q2 ~7 p* S; @, v1 p& Y
1 v: v+ B+ y. R8 G, D        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");0 b3 J5 H. D+ _- {
        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";
( U. u% F' u& q9 u) w" |        NXString sPartSpec = displayPart->FullPath();
/ L# ^% Q/ S/ ?2 Q- W' J* f' n        std::string sFolder = sPartSpec.GetText();0 N0 d- E3 E( K4 P
        std::size_t found = sFolder.find_last_of(".");
; g3 }# H0 J- ]4 ~' M9 }" u        NXString sStepSpec = sFolder.substr(0, found) + ".stp";- @* D; p2 H4 n/ X4 x
0 G0 o. E% @" S1 @5 W. a- s% [/ k; C
        NXOpen::StepCreator *stepCreator1;
2 Y* k$ |5 s' i9 F6 l        stepCreator1 = theSession->DexManager()->CreateStepCreator();  ^! y: W  ^/ M& M  e
        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);
5 e! T" U" k4 V& P) D        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);
7 G, r1 e6 }% ^1 s% s, a+ U5 F$ K) v        stepCreator1->ObjectTypes()->SetSolids(true);: M* l9 p4 J2 {* }8 r
        stepCreator1->SetSettingsFile(sCfgFile);
* B8 m% @) i8 e% H7 L2 y        stepCreator1->SetInputFile(sPartSpec);7 r. g3 t% U% |- m4 [
        stepCreator1->SetOutputFile(sStepSpec);7 r5 W( {0 t( K, ]4 P  E) \- k
        stepCreator1->SetFileSaveFlag(false);. Q" T0 o& C6 _8 H3 J4 _' [$ D, n
        stepCreator1->SetLayerMask("1-256");
: s5 l0 m  V0 h7 H# s9 ^. S0 p! B/ O6 e! F2 X' |1 ~
        std::stringstream sBodyList("");
$ U* v. K) L  N! x5 t5 g
! t6 t$ ^& u1 U        std::vector<TaggedObject*>::iterator iter;
, Z; I$ a' Q$ o- ]        bool added1;: b/ y3 F2 F; I6 c" [
        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)! z+ Z) J' D+ i. `9 l, R* N! _, E
        {7 g: ~8 t$ e- }" A# G% ?3 p$ h+ N  D
            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);7 C! y* n( u7 w7 U
            if (theBody)2 r- s- ^; c! v' ]- Q9 X+ |
            {
2 ]' z/ Q5 y; R: K                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);6 b, M& g( z( e/ h  C
                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;
1 l+ u8 }  x3 K            }
$ I: m' ]' z7 B9 x        }- L: t- W$ e- p3 N6 d! s) J  P6 ~, F3 [' X

' x5 o# T6 S. N" e. C% w+ S" p        // Debug output7 w" l! Q# T: o, r- S8 X9 I+ g
        print("UGII_BASE_DIR = " + sBaseDir);% y6 O+ J! ?8 k& D6 N
        print("Settings File = " + sCfgFile);
5 Y3 @, S/ P7 o: e/ K5 S        print("Input File = " + sPartSpec);
* ?" L# j+ j. B% C% u5 H        print("Output File = " + sStepSpec);
8 X* Z0 ?7 w% f) u% g        print(sBodyList.str());2 H2 [5 y3 E( ^+ c4 F& H
( ]& [1 }2 `, j
        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
, g2 m( r6 U8 z; w3 Z        stepCreator1->Destroy();
+ a/ y5 p2 x4 `7 F2 v" d1 f7 i    }8 L* P; @& [$ Q$ D  h5 F
. E5 T3 e" u' G2 a5 L
}
. Z/ L. y- y. I: \2 s: f
8 w$ G( @5 s0 r. c) I( R
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了