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

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

admin 楼主

2017-1-16 15:31:09

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

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

x

- \: A1 M2 s, \
1 Y- ]+ ^4 g$ Y3 i) E, L
) J6 r/ }/ W' [9 ^4 \) f# KNX二次开发源码分享: 导出 step格式
9 Z3 I0 _& t9 Q$ m, f. I% t- f- V1 d5 H  o) n1 ^
参考一下,很简单哦!!# b! R) l: }3 a/ y

) W2 k- n5 v" P6 p& E1 uvoid StepExport::do_it()% O9 J" e. S" l' R& H9 T( N
{3 [4 U% h: J5 P" \& h% A
    std::vector<TaggedObject*> objectArray;
; E, N! }! O4 G! a/ ^: n: q9 r0 x  k' k7 A. ], p# J9 z
    if (select_bodies(objectArray))
) J! u" R" ?3 \) V) H( l    {
: p! E, J& a4 o8 J& F        NXOpen::Session::UndoMarkId markId1;* W2 ~8 _- o$ S) G
        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");
# {8 b. }( w/ V& Y9 B6 G
6 [' R$ N) Z8 V        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");9 @" b2 E# e. L+ l6 b7 z5 z
        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";' m6 K( H' d* K9 N
        NXString sPartSpec = displayPart->FullPath();
  O! P$ X9 m7 y% Y2 ]# Y        std::string sFolder = sPartSpec.GetText();% z- o7 d! n: U
        std::size_t found = sFolder.find_last_of(".");. f- o6 U# C1 t* }
        NXString sStepSpec = sFolder.substr(0, found) + ".stp";3 F+ I7 L! L4 @7 E& @

2 L3 J' A7 U1 w( Y! z: n1 U        NXOpen::StepCreator *stepCreator1;
% S+ A$ a0 ?& s& l8 C" ?/ X        stepCreator1 = theSession->DexManager()->CreateStepCreator();& @9 c) ~% c( W5 @/ L- m4 n
        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);1 Y& |; S! L3 T3 y# g+ h, `0 E
        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);
' |7 s& k, b2 E9 l. t- y% X& D        stepCreator1->ObjectTypes()->SetSolids(true);" R4 w8 t' b& K
        stepCreator1->SetSettingsFile(sCfgFile);
! k, `% V7 C& O2 s* J        stepCreator1->SetInputFile(sPartSpec);1 p: W2 z  w' N( U" i3 ?3 R
        stepCreator1->SetOutputFile(sStepSpec);
/ b4 E2 c, p) C7 @& k        stepCreator1->SetFileSaveFlag(false);& L' O& L% `  I0 z4 Y4 C
        stepCreator1->SetLayerMask("1-256");5 P) ~. @" Y) F8 O% A

( g) f) q6 o4 g( U; c* [6 A        std::stringstream sBodyList("");
# C+ i$ h4 j9 ^; v6 C3 C* X6 R& q1 }" i
        std::vector<TaggedObject*>::iterator iter;0 n9 b( Q; z" v7 Y/ ~. a: a5 J; s
        bool added1;9 y- g3 z% h) B; L+ `! d
        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)
) k0 x8 }2 R) c' ^7 Y9 N        {
9 @2 Q+ Q9 l8 p. i" d* H# o            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);2 E- ^- p0 z. B: e% @2 R
            if (theBody). d" Z: U1 b. Z7 F7 O- S% r
            {' T. Z/ F6 K6 t  ?) B! e; V3 m) D% _
                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);
: `- A! L- k) I% I/ k8 D/ }                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;
8 S( s* F$ Z! T' S/ e            }
8 }2 F2 D  P1 M# N0 B        }" D" v! S( f! \: \' r! r" O6 Q

, N3 l4 c) e! V+ l6 n9 Z3 h/ M, G1 a        // Debug output
! F7 `' t2 F2 x* i( A# G& c" d        print("UGII_BASE_DIR = " + sBaseDir);
5 d( U2 y7 h) P: c8 E* L' _        print("Settings File = " + sCfgFile);$ }% u/ Q2 t. Y. |2 A- g3 y
        print("Input File = " + sPartSpec);) _5 R0 ^  P5 L2 f* E
        print("Output File = " + sStepSpec);& t5 _( }7 a4 F2 t/ x$ j
        print(sBodyList.str());) i2 ~: r* B' @/ I4 s1 ~7 P4 z  Y0 \

. N) M3 u' [% q8 ?+ d) t        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
; q/ @" I( U8 _$ r& K, w. O! M        stepCreator1->Destroy();
2 E! R- ?- t$ D& ^2 M    }
$ p6 a. |/ Z8 @7 m- p: u8 I% U6 x' e" y& D6 I" J
}  ?+ N* A) g. l1 |- f) u

! @# f7 j) X, A- }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了