Solid Edge Light-Weight APIs Madison Miner Software Engineer EDA, Inc. #SEU12 Presenter background • EDA has been an automation consultant for over 21 years. • Madison has been a software engineer @ EDA for 9 years. • EDA has experience automating Solid Edge, SolidWorks, AutoCAD, Google SketchUp, MS Office and more. • EDA has automated quoting, drafting, design, engineering and manufacturing. Page 2 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software Solid Edge Light-Weight APIs Presentation Outline: • What are the benefit of light-weight APIs? • Revision Maker – Overview and code samples • Show all file properties, linked files • File Properties – Overview and code samples • Show all file properties • SE Readers – Overview and code samples • Show all linked files Page 3 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software Reasons to use light-weight APIs No Solid Edge required! • Light-weight APIs may be used on computers that do not have Solid Edge installed. Faster execution with less resources required. • Light-weight APIs load much faster and use much less computer resources that Solid Edge. Problem Solving • Sometimes you have to use the light-weight APIs to track down problems. Page 4 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software Revision Manager API • The RevisionManager type library is used to automate the Revision Manager application. • Common uses include moving, renaming and replacing files. • For example, EDA’s Revision Maker: • Allows users to move assemblies and all their linked parts from one folder to another without worrying about broken links or missing parts in the new location. www.edainc.net/RevisionMaker.aspx • The following sample console application will move an assembly and all linked documents to a new folder. Page 5 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software RevisionManager Sample Program MoveDocuments You will need to add a reference to the Solid Edge Revision Manager Object Library to access the API. Page 6 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software RevisionManager Sample Program MoveDocuments At the start of the file you will find a program summary. Page 7 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software RevisionManager Sample Program MoveDocuments Collect and validate the parameters passed to the program: Page 8 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software RevisionManager Sample Program MoveDocuments Open the file with Revision Manager, call recursive move function, clean up. Page 9 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software RevisionManager Sample Program MoveDocuments Recursive MoveDocAndAllLinkedFiles routine, part 1 Page 10 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software RevisionManager Sample Program MoveDocuments Recursive MoveDocAndAllLinkedFiles routine, part 2 Page 11 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software RevisionManager Sample Program MoveDocuments Sample program usage: Page 12 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software FileProperties API • The FileProperties type library is used to view, edit and add properties to Solid Edge documents. • The following sample console application will enumerate all the properties of a Solid Edge document. • This sample program uses some of the code from the File Properties sample API program in the Solid Edge .NET Programmers Guide Page 13 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software FileProperties_EnumerateAllProperties Get, validate and open the file we are working with: Page 14 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software FileProperties_EnumerateAllProperties Loop through each property in each property set: Page 15 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software FileProperties_EnumerateAllProperties Sample program output: Page 16 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software FileProperties_EnumerateAllProperties How to access a specific PropertySet or Property: Page 17 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEReaders – DraftDataAPI, SEFacet, SEReader • The SEReaders are used to view the properties of Solid Edge Documents • Assemblies – SEReader.dll • Drafts – DraftDataAPI.dll • Parts – SEFacet.dll • Does not require Solid Edge to be installed to use • Must register the .dlls using regsvr32 before using. • Cannot be used to modify files, SEReaders APIs are read-only. • Sample programs: • SEReader_EnumerateLinkedComponents • SEFacet_Enumerator Page 18 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software All SE Readers require you to register dll and add a reference. Find the DLL you want to use in : <ProgramFolder>\Solid Edge ST4\SDK\Readers Register it and then add as a reference. Page 19 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEReader_EnumerateLinkedComponents Thanks to Greg Chasteen for providing this sample program. • Windows Form program • Allows users to select an assembly • Enumerates all properties available through SEReader • Outputs FileName and OccName to a ListBox • Program was developed to find broken links Page 20 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEReader_EnumerateLinkedComponents Page 21 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEReader_EnumerateLinkedComponents Page 22 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEReader_EnumerateLinkedComponents Available Properties • Matrix • 3D Transformation Matrix • Range • Extents (or Range) of the object • Quantity • Returns the number of occurrences of the referenced object • OccurrenceName • The file name followed by “:occurrence number” • objAttachment.OccurrenceName "CLAMP-JIC-ASSY.asm:8" Page 23 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEReader_EnumerateLinkedComponents Available Properties • OccurrenceProps - Enum • OccurrenceExtendedProps- Enum Page 24 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEFacet.dll • The SEFacet.dll provides information about the Bodies, Faces and Strips in a part. • This API could be used to create: • A 3D part viewer • A program that can compare files • Other Ideas? Page 25 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEFacet_Enumerator Some of this code can be found in the SEFacet documentation: <Programs Directory>\Solid Edge ST4\SDK\Readers\SEFacet.doc • Command line program • Allows users to pass a Solid Edge Part as an argument • Lists all Face information in the part, including Style info Page 26 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEFacet_Enumerator Page 27 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software SEFacet_Enumerator Page 28 © Siemens AG 2012. All Rights Reserved. Siemens PLM Software Solid Edge Light-Weight APIs Thank You! Questions? madison@edainc.net www.edainc.net #SEU12