[二次开发源码] NX二次开发源码分享: 导出 step格式

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

[复制链接]
admin 发表于 2017-1-16 15:31:09 | 显示全部楼层 |阅读模式

admin 楼主

2017-1-16 15:31:09

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

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

x
1 h/ H5 |* y. U% s+ i
& r8 x# ~# A9 I
/ m8 P: j; W1 R# @* E0 X
NX二次开发源码分享: 导出 step格式
3 o, s# o) ^8 A: e% }" a' a1 p+ O* ]% R1 \
参考一下,很简单哦!!# k# {; ]- {  K" {
4 i/ k. ~" B2 |+ R5 T
void StepExport::do_it()& v' O  c9 E4 O8 ]
{7 K% ]( m* Y9 |" s4 v5 x# d, s
    std::vector<TaggedObject*> objectArray;
1 m3 l; _- f+ X: f* `6 y% o0 O: V8 g0 s8 q9 o
% E6 s# `" M6 k/ b    if (select_bodies(objectArray))
5 i, ^0 M* n0 e; B- ]) ^    {  U  i6 E8 l9 W: h9 W$ |
        NXOpen::Session::UndoMarkId markId1;
6 j; f  f8 O1 ]0 e1 g* ~# @        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");, Y; d) c4 E0 q0 N% q  A

' G; N! Z. a' B$ z3 Q- h! p. v, B1 s" m. I        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");  T; R: m% l' K" M8 r9 {
        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";2 E9 c5 H7 z& j; f8 z! X4 |/ [
        NXString sPartSpec = displayPart->FullPath();# A) O- n3 l& G! i( L2 X5 P
        std::string sFolder = sPartSpec.GetText();0 w7 h+ Z4 X& J
        std::size_t found = sFolder.find_last_of(".");
9 V# W! U: j$ }* j        NXString sStepSpec = sFolder.substr(0, found) + ".stp";  ]) |% Y: d) O1 n; u7 }- \1 o
" O: y+ s" ^4 E
        NXOpen::StepCreator *stepCreator1;4 m0 O5 Y" R4 b. E' q; @9 w$ V
        stepCreator1 = theSession->DexManager()->CreateStepCreator();* o; \& i& `( A/ D4 b2 T
        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);
4 `5 h2 @1 _/ z* F; J0 Y        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);2 Y& @8 H0 u$ b' ?) j2 D6 D
        stepCreator1->ObjectTypes()->SetSolids(true);
1 k, z2 a2 D, G! |, o" {. M        stepCreator1->SetSettingsFile(sCfgFile);0 h* I3 Y$ l) z( T4 s
        stepCreator1->SetInputFile(sPartSpec);
, ]4 w6 x/ b2 V        stepCreator1->SetOutputFile(sStepSpec);
, U, Z3 I  e3 B- b* d        stepCreator1->SetFileSaveFlag(false);: }. h# |  V# s7 i- D, z+ ?* C, L
        stepCreator1->SetLayerMask("1-256");# G! i: R) l0 c6 c1 S* z' f
* g. f+ T& \' j/ U3 s0 S
        std::stringstream sBodyList("");
+ b* J- K, d: F% j/ C# W# E: n% L1 _7 J0 s6 ]' `
        std::vector<TaggedObject*>::iterator iter;
' Y, i/ e- U9 e1 b! R. I        bool added1;
. Y9 r/ `( x9 d* ^9 o4 L9 ~# s        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)
( ^8 k; Q4 P1 l+ w' T8 I3 C        {
6 I1 ^5 F; x/ P3 T, ^% C            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);; o$ b  _6 e! b; Y, X: a  {
            if (theBody)
* Y" `* n. Y) [6 ^- l; b            {
3 B# J1 [0 R8 y* s$ D                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);2 `* m2 S) H  ]$ V0 s# v' `. ]
                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;, t5 z9 k, H5 D* ]# ~9 Q
            }! ~" `: [/ z+ X1 [- N2 y' Q
        }2 f! U( r) S" x' W$ ]7 ~5 x: Y

3 v: A' r: l5 \; C1 s  W        // Debug output
- M. ?. f7 {2 P1 ^# [# d5 a        print("UGII_BASE_DIR = " + sBaseDir);
3 ^4 m& g3 }) v7 M        print("Settings File = " + sCfgFile);
# b/ ]+ B) h8 C/ _$ W: c$ t! q        print("Input File = " + sPartSpec);
+ q0 d: Y5 w6 I: b7 \  [        print("Output File = " + sStepSpec);1 Z& k2 q& ^8 e  w0 c8 e* H
        print(sBodyList.str());
2 s4 [: y. y; v2 H- S/ E! L+ K: Q% _7 s
        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
7 t# v$ j* j: E$ J) _' ]: G        stepCreator1->Destroy();' H7 u$ r3 r% F
    }+ @0 K1 o. q4 R0 n+ u/ R8 h
  Z* h: B2 D5 X4 s& M, ]; I
}
/ H7 Z  b1 e6 C
, j( c9 s! J  K% h% A
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

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
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

用户组 : 管理员
邮   箱 :xduniverse@qq.com
手   机 :VIP用户可查看[申请]
Q   Q : 点击这里给我发消息
性别 : 就不告诉你
主页 :http://www.plmhome.com
个人介绍 :原西门子NX高级教务员,10多年NX培训,开发咨询,Teamcenter培训实施等

主题2141

帖子3350

积分63518

  • TC12安装出错,求帮助

    日记没有记录啊,咋样?

  • Tecnomatix 二次开发

    Tecnomatix 二次开发入门教程 6 实现打开PLM之家

  • Tecnomatix 二次开发

    Tecnomatix 二次开发入门教程 5 创建Tecnomatix

  • Tecnomatix 二次开发

    Tecnomatix 二次开发入门教程 4 设置图标效果如

  • Tecnomatix 二次开发

    Tecnomatix 二次开发入门教程 3 第一个hello plm


  • 发布新帖
  • 在线客服1
  • 在线客服2
  • 微信
  • 客户端
  • 返回顶部
  • NX讨论
    Catia
    TC讨论
    Tecno
    云课堂
    业务合作
    快速回复 返回顶部 返回列表