PLM之家 UG NX11.0二次开发(ufun和NXOpen C++)网络培训火热报名

PLM之家-上海点团信息科技有限公司工业4.0数字化软件官方知识管理平台

查看: 883|回复: 1

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

[复制链接]
  • TA的每日心情
    奋斗
    2018-2-16 10:48
  • 签到天数: 112 天

    连续签到: 1 天

    [LV.6]常住居民II

    1937

    主题

    3214

    帖子

    5万

    积分

    管理员

    PLM之家mildcat

    Rank: 9Rank: 9Rank: 9

    积分
    58573
    发表于 2017-1-16 15:31:09 | 显示全部楼层 |阅读模式

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

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

    x

    * T* D1 P+ J6 n2 {! C6 J+ N* y1 v, s1 Z) b0 W, M
    1 [  i* e1 Z: T/ N, ]* [" h% W
    NX二次开发源码分享: 导出 step格式) M! M3 ]/ G, ^- h

    3 R% [% d  ], M6 o+ k$ X% X& L参考一下,很简单哦!!
    $ w* [: X- X1 k5 D7 B6 V+ P" ?6 e3 g+ S0 }3 f: B
    void StepExport::do_it()
    - T( v3 m& X- ~" P% ]{/ W' E, s, e' ], i" c
        std::vector<TaggedObject*> objectArray;
    : w8 J3 l0 v+ N, z4 Z
    # d2 _4 n2 X" [" K    if (select_bodies(objectArray))
    3 C- b0 |- [: Y    {
    . l0 ^4 I, R* j5 e( p4 [        NXOpen::Session::UndoMarkId markId1;
    2 a& v+ l  |, i) q        markId1 = theSession->SetUndoMark(NXOpen::Session::MarkVisibilityVisible, "Start");9 V3 d3 ?. J7 n! e0 u1 B# D
    & ~! Y6 ^* f9 K
            NXString sBaseDir = theSession->GetEnvironmentVariableValue("UGII_BASE_DIR");
    3 e7 r7 L, l  j        NXString sCfgFile = sBaseDir + "\\step214ug\\ugstep214.def";0 Z( r+ f" t* F# K$ ^
            NXString sPartSpec = displayPart->FullPath();
    6 Y: `4 J, d( k        std::string sFolder = sPartSpec.GetText();
    ( J4 d5 Q0 ]" V! Z. X& Q4 j        std::size_t found = sFolder.find_last_of(".");
    ; J) i6 ^' {3 V3 q0 J" ^9 B        NXString sStepSpec = sFolder.substr(0, found) + ".stp";8 n' s, W0 Z/ ~

    0 s+ A+ H# s% l7 f        NXOpen::StepCreator *stepCreator1;" L- \: O7 k# W4 B
            stepCreator1 = theSession->DexManager()->CreateStepCreator();
    ; {; ~( C3 f7 \6 E- }8 Z        stepCreator1->SetExportAs(NXOpen::StepCreator::ExportAsOptionAp214);
    7 e7 G& o$ ?2 z6 V        stepCreator1->ExportSelectionBlock()->SetSelectionScope(NXOpen::ObjectSelector::ScopeSelectedObjects);7 k2 W9 P* B& i2 K9 U/ t
            stepCreator1->ObjectTypes()->SetSolids(true);% y8 n% v& i- z. O6 S9 X& n. d
            stepCreator1->SetSettingsFile(sCfgFile);
    * b8 N! M- n0 P1 X        stepCreator1->SetInputFile(sPartSpec);$ m8 l* b( m8 `/ a, o' T
            stepCreator1->SetOutputFile(sStepSpec);( Y0 z8 _( }& J5 t2 W% Y9 I
            stepCreator1->SetFileSaveFlag(false);
    ; M+ e# D- [6 M2 L* `6 C        stepCreator1->SetLayerMask("1-256");  ~$ D/ W! `3 A9 A; N! z# F
    & e+ B( q7 W3 g% U; l
            std::stringstream sBodyList("");
    1 a- ?- E; w5 ^6 m- u6 N
    % c. z; m- @, m: }' d* j9 V) o        std::vector<TaggedObject*>::iterator iter;# E  z1 i0 d6 {7 |1 b
            bool added1;' h. t" F5 v2 z) U2 A) ?3 _! ~" J* S5 p
            for (iter = objectArray.begin(); iter != objectArray.end(); ++iter)
    + A. F/ P! q5 V$ y% C+ t        {! X! B% W, S/ N# `* s4 b  n2 o1 N
                Body* theBody = dynamic_cast<NXOpen::Body*>(*iter);
    % i7 F! z9 u! r  W( d. E) E& F            if (theBody)) J* G% h! ^9 @+ L. t
                {1 k8 `" B0 b# y# n' _7 J4 \- y
                    added1 = stepCreator1->ExportSelectionBlock()->SelectionComp()->Add(theBody);* [. O7 o0 Z* O  k
                    sBodyList << "Adding Body " << (theBody)->Tag() << std::endl;
    $ ^- a$ L& S( ]1 c9 S            }3 z* x0 D: k6 c: a  c! E$ o
            }; d% ?* Q6 a* b7 O- s$ E1 l- H

    , N7 j; O( A2 ~% S        // Debug output1 A( |" u; F. `$ k  v  D4 W% C
            print("UGII_BASE_DIR = " + sBaseDir);
    & n. V  H6 j8 h2 p) f        print("Settings File = " + sCfgFile);
    ! Q6 A" H. R. f; ^$ A! E" e6 R        print("Input File = " + sPartSpec);
    " W& l; ?5 z2 m; C        print("Output File = " + sStepSpec);* l" \5 Y: G* ?( l5 c
            print(sBodyList.str());
    / \7 n3 Q- N( q, t. m6 U
    ! a; H1 T+ K+ j$ R! C( o8 g( ?- W        NXOpen::NXObject *nXObject1 = stepCreator1->Commit();
    ! {' ~3 w! ^0 b: M        stepCreator1->Destroy();) M! ?# L" V+ m; I# S
        }
    ( M3 W+ i$ r: I2 F. x) R6 U: [, {' h5 R
    }! ]  |$ s, c% u

    8 v7 U1 z" N2 d/ G& V
    上海点团信息科技有限公司,承接NX,CATIA,CREO等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施开发培训,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-2-8 22:55
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    7

    帖子

    56

    积分

    注册会员

    Rank: 2

    积分
    56
    发表于 2018-1-7 23:25:47 | 显示全部楼层
    请问导入dxf/dwg用哪个函数?
    上海点团信息科技有限公司,承接NX,CATIA,CREO等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施开发培训,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    <

    QQ|小黑屋|手机版|Archiver|PLM之家-工业4.0数字化驱动之家 ( 沪ICP备13003373-3

    GMT+8, 2018-2-24 00:34 , Processed in 0.123005 second(s), 32 queries .

    快速回复 返回顶部 返回列表