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

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

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

admin 楼主

2017-1-16 15:31:09

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

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

x
; R. j7 [3 y( l) E8 D, }

" c) N  j. l. F5 `  ?" d/ V; b! Y1 _3 I1 g: H* d+ l/ ~& z- q
NX二次开发源码分享: 导出 step格式
, W, j) M+ K) b0 e! |8 y6 H! s$ W: i2 r/ k( P
参考一下,很简单哦!!# h) b! U( f- f$ J; A
' d/ u9 G* s: q: \) k8 W
void StepExport::do_it()$ B0 v  q( m8 {3 \8 F( K: d
{
7 }: W% O& j; h/ I    std::vector<TaggedObject*> objectArray;# h# o* }# j( A

3 f) i1 @7 E4 z    if (select_bodies(objectArray))
+ a0 Q+ e3 |1 {, o    {" Y$ T; b/ G( W* i7 j3 [' {
        NXOpen::Session::UndoMarkId markId1;# \5 }' h  I4 v) @/ ?7 @; b
        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");
3 A) [# D  D$ h
  y2 K" q  a  @0 Q( w) Q        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");+ k) _  K% p" K. z/ w
        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";3 q6 ?; y8 f- Q! J6 _! ]1 D
        NXString sPartSpec = displayPart->FullPath();' [. a+ e8 Z" ]6 r* K
        std::string sFolder = sPartSpec.GetText();5 O% `9 ]" y# F, e* u
        std::size_t found = sFolder.find_last_of(".");
$ T) Z& c9 {0 m* p, a        NXString sStepSpec = sFolder.substr(0, found) + ".stp";/ U1 b1 D2 ^  o! ~( b$ b* Z4 |

' `8 [- x5 E% f; A) m        NXOpen::StepCreator *stepCreator1;
1 W) s' M0 r: C$ A3 i) k        stepCreator1 = theSession->DexManager()->CreateStepCreator();
0 S3 W" P8 T4 U9 X9 ?- O- M8 _  m        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);
1 X; k2 g& {" a8 @7 k% ~        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);
( O4 ]& o' ]" k! e        stepCreator1->ObjectTypes()->SetSolids(true);" M2 a: s4 ~: S) L
        stepCreator1->SetSettingsFile(sCfgFile);+ Z# M% |) y+ _
        stepCreator1->SetInputFile(sPartSpec);
1 e8 L  I  W; C# A" f9 I        stepCreator1->SetOutputFile(sStepSpec);
* c: t, Y8 S) `- x; ~9 z. R/ S        stepCreator1->SetFileSaveFlag(false);
; a* ?4 W' r5 o8 r        stepCreator1->SetLayerMask("1-256");  T; Q* M+ t* b4 Y

) F0 b$ t$ Q. x$ }        std::stringstream sBodyList("");
" R3 V* W4 g4 q  @' l
1 {! W+ S% j" y. @        std::vector<TaggedObject*>::iterator iter;
3 i& O( z5 A, l' L2 b. F        bool added1;
( D* N3 `; V3 q; s. H) T        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)
- C9 z/ _! [5 Z/ U% y        {1 y: F4 s1 n+ I$ g- [' |
            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);
/ v/ w, R$ z! {$ r' {9 [            if (theBody)! f0 n8 g$ y5 V% O( m  g
            {
$ E: V$ f9 Z0 k: N* D                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);
7 D7 q& O5 K2 v8 z* O& Y                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;/ I: ~# |0 e# V: T* w) a
            }, H$ q9 k- B, T& H$ S0 P" o
        }7 L! R- s7 O& `/ Q' ^% w
# V( H( `( M4 Q$ \# R; T5 }+ j3 Y& ]
        // Debug output
; ^# S8 v' H5 |3 G" h, l        print("UGII_BASE_DIR = " + sBaseDir);
; D' Y/ q/ W5 a# w: }        print("Settings File = " + sCfgFile);
% I7 q  K2 s( n7 T        print("Input File = " + sPartSpec);& D; L* q( o  t7 }
        print("Output File = " + sStepSpec);1 o) T8 B: `; H7 w( f& X
        print(sBodyList.str());+ y# O& x+ @6 C9 N- j" ]

, u& v/ w7 |3 t8 @  @        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
: A2 q5 ]  u6 `9 o" O: P" F        stepCreator1->Destroy();
- k, r8 [9 }: t' u, f( q# n    }% t  K8 G  r% V5 s
* ?/ J# P  n3 X% U  L
}$ ]. X/ x% n- O. ~5 q. c9 ~

( D' }* a8 G' F! G
上海点团信息科技有限公司,承接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培训实施等

主题2117

帖子3323

积分62156

  • 求助,如何更改装配导

    求助,如何更改部件导航器里组件的顺序,UG10的默

  • Tecnomatix 二次开发

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

  • 部署teamcenter visua

    部署teamcenter visualization设置和相关选项 我

  • Tecnomatix 二次开发

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

  • 206. 使用图纸Version

    206. 使用图纸Version UP修复新版本图纸相关问题

  • 发布新帖
  • 在线客服1
  • 在线客服2
  • 微信
  • 客户端
  • 返回顶部
  • NX讨论
    Catia
    TC讨论
    Tecno
    云课堂
    业务合作
    x
    温馨提示

    PLM之家(plmhome.com)提供专业的实施开发培训

    NX二次开发基础培训 | 已 80 学员 参加

    NX二次开发高级培训 | 最高性价比

    CAA二次开发 | 值的一试

    Teamcenter用户基础入门 | 虚拟机赠送

    其他培训申请

    哥已知晓
    快速回复 返回顶部 返回列表