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 3754 1

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

admin 楼主

2017-1-16 15:31:09

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

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

x

% L5 |+ i/ R. r- {2 K- f: g0 W8 Y+ S% P; P# a" M0 b

! @0 K: M" [* QNX二次开发源码分享: 导出 step格式
, y7 n) X: m5 z/ Q' G5 ^7 q- ]3 m9 N+ v6 H0 t6 l+ i  X
参考一下,很简单哦!!
5 W3 n4 w) E  p' ?3 n4 w* [2 K, @1 L! z' U1 A
void StepExport::do_it()* i9 h; U9 ^% m5 q: _- \4 ]
{& U8 U9 Y4 w9 e' j% @
    std::vector<TaggedObject*> objectArray;
; F. q$ K$ f" L, g( {; ]$ Z7 B" ?+ m+ q
    if (select_bodies(objectArray))
* A+ k$ v" g( ]; l    {
8 I! r! z; k' Q2 H2 A, i9 E        NXOpen::Session::UndoMarkId markId1;' E: w* l* ^# N  `$ p" h
        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");
) Q6 a' P) N6 A! G5 d4 B
$ o, l6 H0 L7 B" H" I6 O        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");
% p( g7 R# J5 a$ C3 ^        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";& p2 a/ C8 m, n, _
        NXString sPartSpec = displayPart->FullPath();
3 O: ~4 n% e3 `; g$ E( a1 h, J        std::string sFolder = sPartSpec.GetText();1 x& ^3 C- \* `1 v" r+ X7 K
        std::size_t found = sFolder.find_last_of(".");
5 \- o2 l0 W3 o. G% l        NXString sStepSpec = sFolder.substr(0, found) + ".stp";. Y7 m; v" G9 k

/ x( e* w% u; k9 I  Z! R        NXOpen::StepCreator *stepCreator1;
% e) ]2 L2 k6 x6 C        stepCreator1 = theSession->DexManager()->CreateStepCreator();1 W5 O7 R/ X/ Q- d/ g8 a2 L* R
        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);1 J+ P: |* y# l' j( I
        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);1 T4 A4 N; u2 m% h- j% B/ T
        stepCreator1->ObjectTypes()->SetSolids(true);5 [8 S! A- h/ E% j
        stepCreator1->SetSettingsFile(sCfgFile);# x0 o- f- I/ G; j7 d/ K& v: e
        stepCreator1->SetInputFile(sPartSpec);
: e6 ^  [, o1 t. c( [        stepCreator1->SetOutputFile(sStepSpec);
8 [& i9 l% m8 C' h3 p, F0 X! @        stepCreator1->SetFileSaveFlag(false);
* L" b- O- Y6 Q2 ~- B4 x        stepCreator1->SetLayerMask("1-256");
% d* a* ~- Z1 j' b0 W$ X
2 K/ B5 C$ h1 Z. q        std::stringstream sBodyList("");  U3 _+ W% ^. r0 o
6 {; j! l! O8 f4 N! v; C/ ]
        std::vector<TaggedObject*>::iterator iter;
$ w0 ^3 b8 r  G* t( T        bool added1;
+ O# ?! O9 u' E$ L) H" e5 j, s! n        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)5 h. K2 E0 E0 D3 z3 l
        {' s5 Z0 Q, H. h9 c
            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);
, b# g6 d3 C1 t$ A) Q            if (theBody)6 v8 R  H- F; j7 F1 c
            {
: ^( H8 Z$ P) \- s0 \                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);
, r, A8 ?. y" f! {                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;4 `3 E7 T7 M6 Z7 k/ o
            }
8 x$ i; r. D! _; [, [5 [        }
8 O1 W& s, E% `- r& S
' e. D5 P+ f  U* j        // Debug output
# ^$ V- }6 l% b, d" R        print("UGII_BASE_DIR = " + sBaseDir);/ L4 q1 z8 d) U
        print("Settings File = " + sCfgFile);5 u: g. C: U; l; K" W  e. a7 v
        print("Input File = " + sPartSpec);8 T5 k1 ]5 \# ^0 b# }2 q2 O/ k1 W3 n
        print("Output File = " + sStepSpec);
9 e! @! Q& J* R; V4 x5 C) `        print(sBodyList.str());+ @5 d+ F5 a. @! Z# j& `

7 Y7 q& u. z3 ]  G' l        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();' u' }# C$ q; [- p
        stepCreator1->Destroy();0 ?4 ^7 n# Q2 c) S! o
    }2 Y' K, {" \! T; _+ z) [- A$ K* `
, z4 d& b) u' H" y5 T, F
}/ p0 Q, J, y# A3 F' I

" q. ^% d" r3 |1 B& Y+ E8 }) d2 \. M
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了