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

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

admin 楼主

2017-1-16 15:31:09

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

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

x

6 }' m, S) x! W* O7 H' M1 C% k8 d: r* E. w, p9 n

$ }/ `7 I# p1 f8 XNX二次开发源码分享: 导出 step格式( O9 V; P- Q. t- i" h8 U
. g" G4 `4 }8 S8 L  \# O  t
参考一下,很简单哦!!/ f" \7 m$ C  w4 Y8 @5 O$ U

% n4 r; O. p% [8 v& i; U) K7 A# |# gvoid StepExport::do_it()
% c7 w6 o# L; L/ C/ U8 h& ]2 T{0 L: A* O4 z2 P$ v  }) T
    std::vector<TaggedObject*> objectArray;
( V' s9 c: {  t' p$ o
( ]3 q6 {1 j! I* p. \$ s9 h! r    if (select_bodies(objectArray))
6 T2 M. P5 e  p' B    {/ ~: Z# i  @+ q
        NXOpen::Session::UndoMarkId markId1;
% ~7 `- {. I8 P! A) T  z        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");
/ A: P) {1 ~0 o# G/ ^6 b
9 Y  n1 j7 R$ J% h; x        NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");* f/ H! ]  T! n9 a" X* |
        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";+ f5 e8 t. `5 [5 _6 x+ q
        NXString sPartSpec = displayPart->FullPath();
4 P; v' D0 E8 y* P' B/ |        std::string sFolder = sPartSpec.GetText();. G. ~9 C1 E) x8 G" E( F
        std::size_t found = sFolder.find_last_of(".");
* ~! |8 M( p, w9 k7 \        NXString sStepSpec = sFolder.substr(0, found) + ".stp";
! V- T+ _; J4 B# i9 ]1 W$ A# ^( n" c4 [/ H1 m% J! X
        NXOpen::StepCreator *stepCreator1;5 [( T& \7 c1 I# N4 Q6 u$ S) \
        stepCreator1 = theSession->DexManager()->CreateStepCreator();
2 W) l$ s. W2 A        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);: k, P! c$ x8 m2 j- G
        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);4 `, b' v& z9 f1 H' F
        stepCreator1->ObjectTypes()->SetSolids(true);
1 J) J( w% G  a9 c+ A, J        stepCreator1->SetSettingsFile(sCfgFile);
4 i9 H$ _: N( _/ ~. s0 C4 [5 f        stepCreator1->SetInputFile(sPartSpec);
4 Y# r/ ^" n, w/ R5 n        stepCreator1->SetOutputFile(sStepSpec);
+ y: z  [3 Q! D3 @' b  p: I5 ~* E% s        stepCreator1->SetFileSaveFlag(false);
6 k/ ?+ s5 [2 ?8 S7 x. |. ?        stepCreator1->SetLayerMask("1-256");
! u3 R0 y# a) k2 _8 v, w$ w- v- Q! n6 d. F! j
        std::stringstream sBodyList("");
( g- h3 M: Q5 B2 S, E6 x4 @( i9 P: T8 V7 w" M( ^! Y2 E
        std::vector<TaggedObject*>::iterator iter;9 U5 m7 @" Y9 X2 U  s
        bool added1;( w( X; V' a" i
        for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)& e: F& C7 L3 q! A4 I
        {. x# m  K5 V$ x
            Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);4 u% J  P: |# A* r* J
            if (theBody)2 d% ?7 Q; T$ t; }$ n
            {
0 e) @9 q6 s4 e3 `$ r                added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);& v: S8 O  v# H2 I: N. H
                sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;) T( R3 i* c2 C0 a1 N0 U% v) V! }
            }
6 Z/ h9 ?" B  P  r# O        }4 N8 {0 S1 F% C) c) _# A
' u  v0 T( }; l4 I! s3 y5 c
        // Debug output
: \6 g: Z) b- }. P8 b9 }        print("UGII_BASE_DIR = " + sBaseDir);
  ~, n1 S8 y8 l" |0 C. i; L7 N9 T        print("Settings File = " + sCfgFile);4 T" c' d4 C3 g0 d% ]
        print("Input File = " + sPartSpec);
7 t, q" [- O( t( |0 g        print("Output File = " + sStepSpec);
* H: u2 I1 |# b1 {% n        print(sBodyList.str());; I& [$ {  @- V5 G$ Q

5 ?: a7 A3 P; i: }. q" l( M: Q        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
+ e8 ]- B3 L& Y$ \8 e8 c        stepCreator1->Destroy();* V5 p& ?8 E" ~+ j5 v- e) C5 ?  X
    }
/ J3 N0 s9 _# F  c0 a# F% s" r$ ^2 d, k5 E+ ^6 n
}
9 G" {. }; M+ s7 Q
4 |( ^7 y6 M/ i7 w& c2 }4 \1 U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了