Reply

SE API with C++/create reference

[ Edited ]

 

    SolidEdgeFramework::ApplicationPtr pSEApp;

    SolidEdgeFramework:Smiley Very HappyocumentsPtr pDocs;

    SolidEdgeAssembly::AssemblyDocumentPtr pAsmDoc;

    SolidEdgeAssembly::AsmRefPlanesPtr pAsmRefPlanes;

    SolidEdgeAssembly::AsmRefPlanePtr pAsmRefPlane;

    SolidEdgeAssembly::AsmRefPlanePtr pAsmRefPlane2;

    SolidEdgeAssembly::AsmRefPlanePtr pAsmRefPlane1;

    SolidEdgePart:Smiley TongueartDocumentPtr pPartDoc;

    SolidEdgePart::RefPlanesPtr pPartRefPlanes;

    SolidEdgePart::RefPlanePtr pPartRefPlane;

    SolidEdgePart::RefPlanePtr pPartRefPlane1;

    SolidEdgePart::RefPlanePtr pPartRefPlane2;

    IDispatchPtr pDispatch;

    HRESULT hr;

 

    hr=pSEApp.GetActiveObject("SolidEdge.Application");

    pDocs=pSEApp->Documents;

    pDispatch=pDocs->Add("SolidEdge.AssemblyDocument",vtMissing);

    hr=pDispatch->QueryInterface(&pAsmDoc);

 

    pAsmRefPlanes=pAsmDoc->GetAsmRefPlanes();

    pAsmRefPlane2=pAsmRefPlanes->Item((long)2);

    pAsmRefPlane1=pAsmRefPlanes->Item((long)1);

    double angle;

    angle=2*3.1415926/3.0;

 

    pAsmRefPlane=pAsmRefPlanes->AddAngularByAngle(

                                                 pAsmRefPlane2,

                                                 angle,

                                                 pAsmRefPlane1,

                                                 SolidEdgePart::ReferenceElementConstants::igPivotEnd,

                                                 (long)SolidEdgePart::ReferenceElementConstants::igNormalSide,

                                                 VARIANT_TRUE);

 

 

    pDispatch=pDocs->Add("SolidEdge.PartDocument",vtMissing);

    hr=pDispatch->QueryInterface(&pPartDoc);

    pPartRefPlanes=pPartDoc->RefPlanes;

    pPartRefPlane1=pPartRefPlanes->Item((long)1);

    pPartRefPlane2=pPartRefPlanes->Item((long)2);

    pPartRefPlane=pPartRefPlanes->AddParallelByDistance(

                                                        pPartRefPlane1,

                                                        0.00,

                                                        (SolidEdgePart::ReferenceElementConstants)igRight,

                                                        vtMissing,

                                                        vtMissing,

                                                        vtMissing);

    pSEApp->StartCommand((SolidEdgeFramework:Smiley FrustratedolidEdgeCommandConstants)57601);

 

Posted by: assassin 007
Post date: 5/16/2010 7:46:09 PM