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