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

  [复制链接]

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

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

admin 楼主

2017-1-16 15:31:09

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

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

x

- R0 V$ F4 n- a5 W$ E
9 u1 T) y( b* ?( c2 d* z' e0 W# y
/ ]* H1 i* o& mNX二次开发源码分享: 导出 step格式7 i0 Q2 g: G+ }) i3 c
' j( |; W: ^$ |" f- F* ]
参考一下,很简单哦!!
8 ?9 h0 o- g; t3 R' ~. ]
' s' V1 r- C; T; h( svoid StepExport::do_it()4 l# V6 v% m5 m9 ]
{' w& p% B2 \7 ]# t5 O
    std::vector<TaggedObject*> objectArray;' G+ r3 {* G" g7 K0 Z' C( F

3 r9 c/ K; u( b, f    if (select_bodies(objectArray))+ ?6 x5 Y/ K6 {# x+ J3 `2 `4 G* v
    {
3 p% z$ z: s+ V( J, L: ?        NXOpen::Session::UndoMarkId markId1;; f4 ]2 k1 }+ A/ U
        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");% e$ H5 e# @# P
% a8 Z: w) }, a
        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");
) f: f' p2 _: x9 l8 ~) \! z, S. ]        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";
& f  _( Y' K5 L3 ~9 V9 c! U        NXString sPartSpec = displayPart->FullPath();
: R) a/ C! x1 P' V        std::string sFolder = sPartSpec.GetText();
) U& h  r7 _' }( B# }        std::size_t found = sFolder.find_last_of(".");, @- q) m1 A" k" _
        NXString sStepSpec = sFolder.substr(0, found) + ".stp";
/ `- C% b5 ^- s2 E# v" O& u2 m
  L/ e6 u' w) T& ~  y        NXOpen::StepCreator *stepCreator1;3 t0 Y) E: v; y7 C3 |( T: \
        stepCreator1 = theSession->DexManager()->CreateStepCreator();
6 l: m  o  S. S8 ]# f        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);
  [, W9 ?8 e& ]! U        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);
) s! ?* I. c, I  Q3 C* G) g1 N* p% m        stepCreator1->ObjectTypes()->SetSolids(true);& B) Z' ]1 z" c  D9 R* T( r
        stepCreator1->SetSettingsFile(sCfgFile);/ H3 ]$ ^& N8 R* |
        stepCreator1->SetInputFile(sPartSpec);
) _4 Q: D& E1 \6 o% ~+ F2 g        stepCreator1->SetOutputFile(sStepSpec);5 M1 G% T* k5 [) _. w! A
        stepCreator1->SetFileSaveFlag(false);
. r* t' B" W2 ?" b( G        stepCreator1->SetLayerMask("1-256");
( A4 w) m( K$ C- x( E" `/ R4 \" r9 s" }3 W! b2 H
        std::stringstream sBodyList("");, w, Q4 U8 h" q: p
. @/ t7 T% Y9 k8 x
        std::vector<TaggedObject*>::iterator iter;- N4 F* {# z/ }$ {! Y) A6 T
        bool added1;
/ \0 D9 [7 Z3 d  P. }0 d        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)
- A: A/ ]' f  W0 C( p        {
; ^: f( I* N6 D8 v- ]# Y            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);
, T. a1 h  Z- `: o, r            if (theBody): |+ S( n5 B6 {% U- R" i8 r1 W& d
            {
+ u8 x3 a1 W/ A3 h+ L, T% R1 S                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);
/ t, f- B, ~! G& Y$ y1 v/ a" L, U                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;
) y5 C# n- P7 `            }
% |$ t5 U" K  N2 f: o, c        }
) q, W% e& S+ Z3 D3 j  n
9 [# e0 Y6 K0 V: b& [4 [) ~% ]8 f        // Debug output) e4 w. j, u  ~5 {; U: u: \* x) B
        print("UGII_BASE_DIR = " + sBaseDir);. o% I, x* Z& E
        print("Settings File = " + sCfgFile);: H) `% y3 r2 w9 z- @
        print("Input File = " + sPartSpec);
4 ^# t1 c3 j) O) b" I$ Z- n4 v        print("Output File = " + sStepSpec);: M1 f8 {( R8 P6 c0 Z6 p9 ~2 y: U3 i
        print(sBodyList.str());' y. F" L, _0 f$ b/ i0 Y/ G

+ [, R" S* q) z) o8 ^) w; l        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
/ c( p1 |  V2 N; J; j' o        stepCreator1->Destroy();8 K* u: ~+ C# J  y& r
    }
: a5 l% D7 Z6 q. q5 [
7 b& |5 O' P. w# a/ c2 p' H, |}
, T5 e5 R) z3 c8 m) M9 k2 r
( o$ {" O2 i& [8 V
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了