310 likes | 598 Views
Solid Edge Light-Weight APIs. Madison Mine r Software Engineer EDA, Inc. Presenter background EDA has been an automation consultant for over 21 years. Madison has been a software engineer @ EDA for 9 years.
E N D
Solid Edge Light-Weight APIs Madison Miner Software Engineer EDA, Inc.
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, engineeringand manufacturing.
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
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.
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.
RevisionManager Sample Program MoveDocuments • You will need to add a reference to the Solid Edge Revision Manager Object Library to access the API.
RevisionManager Sample Program MoveDocuments • At the start of the file you will find a program summary.
RevisionManager Sample Program MoveDocuments • Collect and validate the parameters passed to the program:
RevisionManager Sample Program MoveDocuments • Open the file with Revision Manager, call recursive move function, clean up.
RevisionManager Sample Program MoveDocuments • Recursive MoveDocAndAllLinkedFiles routine, part 1
RevisionManager Sample Program MoveDocuments • Recursive MoveDocAndAllLinkedFiles routine, part 2
RevisionManager Sample Program MoveDocuments • Sample program usage:
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
FileProperties_EnumerateAllProperties • Get, validate and open the file we are working with:
FileProperties_EnumerateAllProperties • Loop through each property in each property set:
FileProperties_EnumerateAllProperties • Sample program output:
FileProperties_EnumerateAllProperties • How to access a specific PropertySet or Property:
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 .dllsusing regsvr32 before using. • Cannot be used to modify files, SEReaders APIs are read-only. • Sample programs: • SEReader_EnumerateLinkedComponents • SEFacet_Enumerator
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.
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
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"
SEReader_EnumerateLinkedComponents • Available Properties • OccurrenceProps - Enum • OccurrenceExtendedProps- Enum
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?
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
Solid Edge Light-Weight APIs Thank You! Questions? madison@edainc.netwww.edainc.net