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

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

admin 楼主

2017-1-16 15:31:09

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

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

x

: ?2 c0 S  ]: n
: i& K) F  H! Y( S: S& `% O* b
8 y1 U) C& p# @6 y+ cNX二次开发源码分享: 导出 step格式
! ^$ j! W6 c0 O
' G3 Y+ U9 i/ V5 c! g0 P/ j) T参考一下,很简单哦!!
$ N7 L; w  S- O( u9 e2 d' k! Q3 i4 i7 U" y% @: {$ z
void StepExport::do_it()1 U- |' v2 u( J( j! ]5 _+ r; l
{. y- |7 }$ A3 z# a' E
    std::vector<TaggedObject*> objectArray;
. ?6 N8 \% x% S5 X  k
2 I0 i) r* v% e; D; u    if (select_bodies(objectArray)), \5 ?9 @& a! {( U; d9 Z5 X; d
    {
$ }! L9 V6 s3 e: q        NXOpen::Session::UndoMarkId markId1;
3 B4 R7 L0 e( j$ j        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");) N3 N& @3 c5 m! v$ A

  k$ V9 q5 M* E4 v0 p        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");
$ g7 H" `: [$ j( J/ o  p        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";  C* h) B  t7 k8 {( b) \8 K. p
        NXString sPartSpec = displayPart->FullPath();
7 y1 f1 W4 u8 n. D" g        std::string sFolder = sPartSpec.GetText();
5 Y" H" @9 ]7 e- [" B0 e" [8 b        std::size_t found = sFolder.find_last_of(".");/ U; ~+ W* y, h/ Z2 \
        NXString sStepSpec = sFolder.substr(0, found) + ".stp";' p& B4 [) B6 t$ y" [8 c
7 f, v, W$ T  }: `3 [. N/ D
        NXOpen::StepCreator *stepCreator1;9 T: Q; e3 d5 X
        stepCreator1 = theSession->DexManager()->CreateStepCreator();0 m6 \: K1 w) u3 I" k. G3 e7 t8 ?
        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);
: \/ [6 C; \' [0 B9 v        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);* O1 K% u9 ?! L9 F0 F9 @4 l
        stepCreator1->ObjectTypes()->SetSolids(true);: n9 a7 J* z8 J1 z+ G! m
        stepCreator1->SetSettingsFile(sCfgFile);
# P$ X# `: W4 o" p" f* p5 b+ J: X& `        stepCreator1->SetInputFile(sPartSpec);
3 P8 y7 S) I( g) x* g7 Z        stepCreator1->SetOutputFile(sStepSpec);
/ j) O9 \% v" o! K  b! \$ e        stepCreator1->SetFileSaveFlag(false);; ~4 l" t8 t& s, Y# t: ?
        stepCreator1->SetLayerMask("1-256");5 @" P5 a& U4 h' d# k

! D: t; i, O3 n# U" H        std::stringstream sBodyList("");
7 |" A7 U9 I/ m3 z! k5 M- w+ B  @, n* S# s# W7 `
        std::vector<TaggedObject*>::iterator iter;
8 U' c8 G$ F- U# R- W        bool added1;7 B$ {4 O" F* q+ H+ e6 D
        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)( ], d& E- B: \. C0 f1 N, K0 v+ U
        {. J( }& t$ o6 f" c9 j$ F) @" c
            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);4 ^6 Q3 o7 z" }3 {) a8 w$ L5 S6 |; @
            if (theBody)
! t2 ~) V6 i2 [8 N: i, L0 p            {
0 v, B9 Q) g  v, M/ ]/ ^3 D! l; l% h                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);+ V. l7 |9 ^7 v, t6 O2 v. I' K( N
                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;/ b9 ?5 s0 S9 B0 r3 D
            }
, b/ `  y* ~; w3 ?5 _        }
  R/ o. f0 W; w( ?2 @! \5 W' R5 f) f- J
        // Debug output
: Y" n2 g/ w/ N$ {* T! z( z0 F        print("UGII_BASE_DIR = " + sBaseDir);
% k  O- r3 n* P5 O$ ~        print("Settings File = " + sCfgFile);
5 }* k( A; T, Q2 _        print("Input File = " + sPartSpec);* d6 }* @; x5 p& u
        print("Output File = " + sStepSpec);
. C' h& R7 _4 V9 m' k$ O        print(sBodyList.str());/ i6 n  f/ w- n
* v' L& S4 y/ V( f: B0 k
        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();# b: z+ j, [, d/ ^
        stepCreator1->Destroy();& V) g; k1 d' \/ j- a
    }3 v9 ~* A3 k3 y2 i) H; E& x

  N* W$ q/ w8 g% p" v% t- w. o}3 c3 m# U! ?3 j# i% ^  z

& Q& v+ |' n# b- 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二次开发专题模块培训报名开始啦

    我知道了