{"id":2906,"date":"2018-09-17T07:59:18","date_gmt":"2018-09-17T14:59:18","guid":{"rendered":"https:\/\/blogs.plm.automation.siemens.com\/t5\/Solid-Edge-Blog\/Migrating-from-the-SolidWorks-API-Part-1-Application-and\/ba-p\/526068"},"modified":"2026-03-26T07:29:17","modified_gmt":"2026-03-26T11:29:17","slug":"migrating-from-the-solidworks-api-part-1-application-and-document-handling","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/solidedge\/migrating-from-the-solidworks-api-part-1-application-and-document-handling\/","title":{"rendered":"Migrating from the SolidWorks API &#8211; Part 1, Application and Document Handling"},"content":{"rendered":"<p><P><SPAN>The makers of Solid Edge have left no stone unturned to make your transition from SolidWorks to Solid Edge effortless and streamlined. Not only that Synchronous Technology readily recognizes features of imported models, fully associative SolidWorks drawing migration is a reality since ST9. <\/SPAN><\/P><\/p>\n<p><P><SPAN>This is pretty cool stuff for people coming from SolidWorks to Solid Edge where the data migration wizard not only migrate all your parts and assemblies including FOA, FOP, materials, thread table etc, but also drawings are fully associatively, such that if you change the part in SE, the converted drawing will also update, as if you created it natively in Solid Edge.<\/SPAN><\/P><br \/>\n<P><SPAN>&nbsp; <\/SPAN><\/P><br \/>\n<P><SPAN>The auto-magic part ends there. If you have created any SolidWorks macros for automating routine tasks in the past and missing them, recreating them is a piece of cake. A little insight into the Solid Edge API equivalents of those in SolidWorks is the key to this migration. To know, read on&#8230;<\/SPAN><\/P><\/p>\n<p><P><STRONG><SPAN>References<\/SPAN><\/STRONG><\/P><\/p>\n<p><P><SPAN>Unlike SolidWorks where a single reference to the type library takes care of all environments, Solid Edge has one each for the Part, Draft, Assembly. Reference to the Solid Edge Framework Type Library is mandatory. <\/SPAN><\/P><\/p>\n<p><P><SPAN>Besides this, there are specialized libraries for gathering installation data, another one just for the File Properties, besides those for the Design Manager or Revision Manager or older versions of Solid Edge and Geometry Type Library for accessing. Read a detailed <a href=\"https:\/\/community.plm.automation.siemens.com\/t5\/Solid-Edge-Blog\/3D-Geometry-API-A-Gentle-Introduction\/ba-p\/438144\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">article about the Geometry API<\/A>.<\/SPAN><\/P><\/p>\n<p><P><SPAN><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" style=\"width: 275px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TCW01-1.png\" alt=\"TCW01.png\" title=\"TCW01.png\" \/><\/span><\/SPAN><\/P><\/p>\n<p><P><SPAN>The FrameWorkSupport Library is also a general library, though not mandatory and supplements the Framework library by hosting objects which are common across various environments like Dimensions, Lines, etc.<\/SPAN><\/P><\/p>\n<p><P><SPAN>The Constants libraries are similar for both SolidWorks and Solid Edge, in that they should be added separately, when necessary.<\/SPAN><\/P><\/p>\n<p><P><SPAN>The image below illustrates the need to use the Imports statement for each Type Library if you want to use the functions and properties within:<\/SPAN><\/P><\/p>\n<p><P><SPAN><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 450px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TCW03-1.png\" alt=\"TCW03.png\" title=\"TCW03.png\" \/><\/span>&nbsp;<\/SPAN><\/P><\/p>\n<p><P><SPAN>&nbsp;<span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 30px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TipIcon-58.png\" alt=\"TipIcon.png\" title=\"TipIcon.png\" \/><\/span><\/SPAN><SPAN><STRONG>Tip<\/STRONG>: If you are not sure which Type Library needs to be included for a project, there is no harm in referencing and importing all Solid Edge libraries.<\/SPAN><\/P><\/p>\n<p><P><STRONG><SPAN>Application Object<\/SPAN><\/STRONG><\/P><br \/>\n<P><STRONG><SPAN>&nbsp;<\/SPAN><\/STRONG><\/P><br \/>\n<P><SPAN>In SolidWorks the Application object is handled as below:<\/SPAN><\/P><br \/>\n<PRE>Dim swApp as <STRONG>SldWorks.SldWorks<\/STRONG> = Nothing<\/p>\n<p>swApp = CreateObject(&#8220;<STRONG>SldWorks.Application<\/STRONG>&#8220;)<br \/>\nswApp.Visible = True<\/PRE><\/p>\n<p><P><SPAN>In Solid Edge the class and program ID are consistent:<\/SPAN><\/P><br \/>\n<PRE>Dim seApp as <STRONG>SolidEdgeFramework.Application<\/STRONG> = Nothing<\/p>\n<p>seApp = CreateObject(&#8220;<STRONG>SolidEdge.Application<\/STRONG>&#8220;)<br \/>\nseApp.Visible = True<\/PRE><br \/>\n<P><SPAN>Also note that just as in SW, the application object must be explicitly made visible.<\/SPAN><\/P><\/p>\n<p><P><SPAN>Note another difference in the style, for example, displaying the status bar:<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>swApp.DisplayStatusBar(True) &#8216; or False<\/p>\n<p>seApp.StatusBarVisible = True &#8216; or False<\/PRE><\/p>\n<p><P><SPAN>And, for exiting or quitting the application:<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>swApp.ExitApp()<\/p>\n<p>seApp.Quit()<\/PRE><\/p>\n<p><P><STRONG><SPAN>Document Access<\/SPAN><\/STRONG><\/P><\/p>\n<p><P><SPAN>SolidWorks has a document type for different documents:<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>Dim swAsmDoc As AssemblyDoc = Nothing<br \/>\nDim swPartDoc As PartDoc = Nothing<br \/>\nDim swDrawDoc As DrawingDoc = Nothing<\/PRE><\/p>\n<p><P><SPAN>Similarly, Solid Edge has:<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>Dim seAsmDoc As SolidEdgeAssembly.AssemblyDocument = Nothing<br \/>\nDim sePartDoc As SolidEdgePart.PartDocument = Nothing<br \/>\nDim seDraftDoc As SolidEdgeDraft.DraftDocument = Nothing<\/PRE><\/p>\n<p><P><SPAN>SolidWorks general document which is ModelDoc2 has the Solid Edge Equivalent as SolidEdgeDocument and further can be assigned to the active document irrespective of its type as below:<\/SPAN><\/P><br \/>\n<PRE>Dim swDoc as <STRONG>ModelDoc2<\/STRONG> = swApp.<STRONG>Activedoc<\/STRONG><\/p>\n<p>Dim seDoc As SolidEdgeFramework.<STRONG>SolidEdgeDocument<\/STRONG> = seApp.<STRONG>ActiveDocument<\/STRONG><\/PRE><br \/>\n<P>&nbsp;<span class=\"lia-inline-image-display-wrapper lia-image-align-left\" style=\"width: 30px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TipIcon-58.png\" alt=\"TipIcon.png\" title=\"TipIcon.png\" \/><\/span><\/P><\/p>\n<p><P><STRONG><SPAN>&nbsp;Tip<\/SPAN><\/STRONG><SPAN>: The API help is available online <a href=\"https:\/\/docs.plm.automation.siemens.com\/docs\/se\/110\/api\/webframe.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">here<\/A> and locally in the SDK folder<\/SPAN><\/P><\/p>\n<p><P><SPAN><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 349px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TCW02-1.png\" alt=\"TCW02.png\" title=\"TCW02.png\" \/><\/span>&nbsp;<\/SPAN><\/P><\/p>\n<p><P><STRONG><SPAN>Document Type<\/SPAN><\/STRONG><\/P><\/p>\n<p><P>A SolidWorks document has a method <EM>GetType<\/EM> which returns a unique number depending on the type of SolidWorks document as below:<\/P><\/p>\n<p><P><SPAN><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 414px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TCW04-1.png\" alt=\"TCW04.png\" title=\"TCW04.png\" \/><\/span>&nbsp;<\/SPAN><\/P><br \/>\n<P><STRONG>1<\/STRONG> for SolidWorks Part document.<\/P><br \/>\n<P><STRONG>2<\/STRONG> for SolidWorks Assembly document.<\/P><br \/>\n<P><STRONG>3<\/STRONG> for SolidWorks Drawing document.<\/P><\/p>\n<p><P><SPAN>In Solid Edge, you would use one of the following techniques to determine the active document type:<\/SPAN><\/P><\/p>\n<p><P>1. Directly from the Solid Edge application, when the active document is not yet assigned to a variable:<\/P><\/p>\n<p><P><SPAN>&nbsp;<span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 429px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TCW06-1.png\" alt=\"TCW06.png\" title=\"TCW06.png\" \/><\/span><\/SPAN><\/P><\/p>\n<p><P><SPAN>Here&#8217;s a full list of the document types in Solid Edge:<\/SPAN><\/P><\/p>\n<p><P><SPAN>&nbsp;<span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 238px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TCW05-1.png\" alt=\"TCW05.png\" title=\"TCW05.png\" \/><\/span><\/SPAN><\/P><\/p>\n<p><P>2. Determine the type of a document in a variable:<\/P><\/p>\n<p><P><SPAN>&nbsp;<span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 430px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TCW07-1.png\" alt=\"TCW07.png\" title=\"TCW07.png\" \/><\/span><\/SPAN><\/P><\/p>\n<p><P><STRONG><SPAN>Creating New Documents<\/SPAN><\/STRONG><\/P><br \/>\n<P><STRONG><SPAN>&nbsp;<\/SPAN><\/STRONG><\/P><br \/>\n<P><SPAN>Creating a New document in SolidWorks followed a similar pattern and was a straightforward affair:<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>Dim swAsmDoc As AssemblyDoc = swApp.NewAssembly<br \/>\nDim swPartDoc As PartDoc = swApp.NewPart<br \/>\nDim swDrawDoc As DrawingDoc = swApp.NewDrawing(1)<\/PRE><br \/>\n<P>&nbsp;<SPAN>where the argument for New Drawing was one of these:<\/SPAN><\/P><\/p>\n<p><P><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 268px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TCW08-1.png\" alt=\"TCW08.png\" title=\"TCW08.png\" \/><\/span><\/P><\/p>\n<p><P><SPAN>In Solid Edge, you must not lose sight of the collection concept. Documents are always added to the Documents collection, which in turn belongs to the SE Application:<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>Dim seAsmDoc As SolidEdgeAssembly.AssemblyDocument = seApp.Documents.Add(&#8220;SolidEdge.AssemblyDocument&#8221;)<br \/>\nDim sePartDoc As SolidEdgePart.PartDocument = seApp.Documents.Add(&#8220;SolidEdge.PartDocument&#8221;)<br \/>\nDim seDraftDoc As SolidEdgeDraft.DraftDocument = seApp.Documents.Add(&#8220;SolidEdge.DraftDocument&#8221;)<\/PRE><\/p>\n<p><P><SPAN>The Add method in Solid Edge has an optional argument for the template that can take care of the sheet size format for a drawing.<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>Public Function Add( _<br \/>\n&nbsp;&nbsp; Optional ByVal ProgID As Variant, _<br \/>\n&nbsp;&nbsp; Optional ByVal TemplateDoc As Variant _<br \/>\n) As Object<\/PRE><\/p>\n<p><P><STRONG><SPAN>Saving Documents<\/SPAN><\/STRONG><\/P><\/p>\n<p><P><SPAN>In SolidWorks an already saved file could be saved, after any changes, using the Save method:<\/SPAN><\/P><br \/>\n<PRE>swDoc.Save()<\/PRE><br \/>\n<P><SPAN>and could be SavedAs using<\/SPAN><\/P><\/p>\n<p><PRE>swDoc.SaveAs(sNewFileName)<\/PRE><\/p>\n<p><P><SPAN>Similar looking methods are also used in Solid Edge:<\/SPAN><\/P><br \/>\n<PRE>seDoc.Save()<br \/>\n&#8216;and<br \/>\nseDoc.SaveAs(sNewFileName)<\/PRE><\/p>\n<p><P><STRONG><SPAN>Exporting Document to Other Format<\/SPAN><\/STRONG><\/P><\/p>\n<p><P><SPAN>In both SolidWorks and Solid Edge, simply changing the extension to the desired type does the trick, and only the syntax differs:<\/SPAN><\/P><br \/>\n<PRE>Dim iErr As Integer<br \/>\nDim iWarns As Integer<br \/>\n&nbsp;<br \/>\nswDoc = swApp.ActiveDoc()<br \/>\nDim sFile As String = swDoc.GetPathName()<br \/>\nDim sExpFile As String = IO.Path.ChangeExtension(swDoc.GetTitle, &#8220;.STL&#8221;)<br \/>\nswDoc.SaveAs4(sExpFile, SwConst.swSaveAsVersion_e.swSaveAsCurrentVersion, SwConst.swSaveAsOptions_e.swSaveAsOptions_Silent, iErr, iWarns)<\/PRE><\/p>\n<p><P><SPAN>In Solid Edge you would achieve the same in lesser lines:<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>seDoc = seApp.ActiveDocument<br \/>\nDim sExpFile As String = System.IO.Path.ChangeExtension(seDoc.FullName, &#8220;.STL&#8221;)<br \/>\nseDoc.SaveAs(sExpFile)<\/PRE><br \/>\n<P>&nbsp;<span class=\"lia-inline-image-display-wrapper lia-image-align-left\" style=\"width: 30px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TipIcon-58.png\" alt=\"TipIcon.png\" title=\"TipIcon.png\" \/><\/span><\/P><br \/>\n<P>&nbsp;<STRONG><SPAN>Tip:<\/SPAN><\/STRONG><SPAN> SolidWorks has some tools like a macro recorder and a VBA editor, which has no equivalent in Solid Edge. Similarly, Solid Edge has a unique and equally helpful tool in the form of <a href=\"https:\/\/community.plm.automation.siemens.com\/t5\/Solid-Edge-Blog\/Spy-for-Solid-Edge-Introduction\/ba-p\/35204\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Solid Edge Spy<\/A>.<\/SPAN><\/P><\/p>\n<p><P><STRONG><SPAN>Saving As Image<\/SPAN><\/STRONG><\/P><\/p>\n<p><P><SPAN>In SolidWorks the swDoc.SaveBMP method took care of creating an image of the current document.<\/SPAN><\/P><br \/>\n<P><SPAN>Also using a PNG or JPG extension in the SaveAs4 method described above creates the image files in respective formats.<\/SPAN><\/P><\/p>\n<p><P><SPAN>In Solid Edge, the Save As dialog does not have image file formats listed in the file types list.<\/SPAN><\/P><br \/>\n<P><SPAN>To Save As an Image in Solid Edge, follow these methods:<\/SPAN><\/P><\/p>\n<p><P><U><SPAN>3D Documents: Part, Sheetmetal, Assembly<\/SPAN><\/U><\/P><br \/>\n<PRE>Dim seView As SolidEdgeFramework.View = Nothing<br \/>\nseView = seApp.ActiveWindow.View<br \/>\nseView.SaveAsImage(&#8220;C:TempsFileName.JPG&#8221;, 1600, 900, , , , SolidEdgeFramework.SeImageQualityType.seImageQualityHigh)<\/PRE><br \/>\n<P><SPAN>where the numbers are the width and height of the image and the last argument decides the quality of the output image:<\/SPAN><\/P><\/p>\n<p><P>seImageQualityLow = 1<\/P><br \/>\n<P>seImageQualityMedium = 2<\/P><br \/>\n<P>seImageQualityHigh = 3<\/P><\/p>\n<p><P><SPAN>The above method works only for a 3D document like the Part, Sheetmetal or Assembly.<\/SPAN><\/P><\/p>\n<p><P><U><SPAN>For Draft Document<\/SPAN><\/U><\/P><\/p>\n<p><P><SPAN>For a Draft document the method of saving an image is as below:<\/SPAN><\/P><br \/>\n<PRE>Dim seDraftdoc As SolidEdgeDraft.DraftDocument = seApp.ActiveDocument<br \/>\nDim seWindow As SolidEdgeDraft.SheetWindow = seDraftdoc.Windows.Item(1)<br \/>\nseWindow.SaveAsImage(&#8220;C:TempsFileName.JPG&#8221;, 1600, 900, , , , SolidEdgeFramework.SeImageQualityType.seImageQualityHigh)<\/PRE><\/p>\n<p><P><STRONG><SPAN>Count and Iterate through Documents<\/SPAN><\/STRONG><\/P><\/p>\n<p><P><SPAN>To count the number of documents open, SolidWorks has a direct function:<\/SPAN><\/P><br \/>\n<PRE>Dim iCount As Integer = swApp.GetDocumentCount()<\/PRE><\/p>\n<p><P><SPAN>In Solid Edge the Documents collection tells the count:<\/SPAN>&nbsp;<\/P><br \/>\n<PRE>Dim iCount As Integer = seApp.Documents.Count<\/PRE><\/p>\n<p><P><SPAN>Solid Edge has the concept of collections which is entirely missing in SolidWorks. Hence SolidWorks uses a For loop with a pointer from the first document to get the next document:<\/SPAN><\/P><\/p>\n<p><PRE>Dim sFileName As String<br \/>\nDim swCurDoc As ModelDoc2 = swApp.GetFirstDocument<\/p>\n<p>While Not swCurDoc Is Nothing<br \/>\n&nbsp; sFileName = swCurDoc.GetTitle()<br \/>\n&nbsp; MessageBox.Show (sFileName)<br \/>\n&nbsp; swCurDoc = swCurDoc.GetNext()<br \/>\nEnd While<\/PRE><\/p>\n<p><P><SPAN>This becomes very easy and simple in Solid Edge due to the Documents collection:<\/SPAN><\/P><br \/>\n<PRE>For Each seDoc As SolidEdgeDocument In seApp.Documents<br \/>\n&nbsp; MessageBox.Show(seDoc.FullName)<br \/>\nNext<\/PRE><br \/>\n<P>&nbsp;&nbsp;<\/P><br \/>\n<P><STRONG><SPAN>Close Document<\/SPAN><\/STRONG><\/P><br \/>\n<P><STRONG><SPAN>&nbsp;<\/SPAN><\/STRONG><\/P><br \/>\n<P><SPAN>For closing a document in SolidWorks two methods are used: <\/SPAN><\/P><br \/>\n<PRE>swApp.CloseDoc(sFileName)<br \/>\nswDoc.Close()<\/PRE><\/p>\n<p><P><SPAN>The equivalents in Solid Edge are:<\/SPAN><\/P><br \/>\n<PRE>seApp.Documents.CloseDocument(FileName, True)<\/PRE><br \/>\n<P>where the second argument is about saving changes before saving, and<\/P><br \/>\n<PRE>seDoc.Close(False)<\/PRE><br \/>\n<P><SPAN>where the argument is to Save the document or not.<\/SPAN><\/P><\/p>\n<p><P><SPAN>For closing all documents in SolidWorks,<\/SPAN><\/P><br \/>\n<PRE>swApp.CloseAllDocuments(True)<\/PRE><br \/>\n<P><SPAN>where the Boolean argument is about closing unsaved document as well, while in Solid Edge, the same is achieved via the Documents collection:<\/SPAN><\/P><br \/>\n<PRE>seApp.Documents.Close<\/PRE><\/p>\n<p><P><STRONG><SPAN>Activate a Document<\/SPAN><\/STRONG><\/P><\/p>\n<p><P><SPAN>For activating one of the open documents in SolidWorks,<\/SPAN><\/P><br \/>\n<PRE>swApp.ActivateDoc(sFileName)<\/PRE><\/p>\n<p><P><SPAN>To activate a document in Solid Edge, first it must be located in or accessed from the Documents collection:<\/SPAN><\/P><br \/>\n<PRE>seDoc = seApp.Documents.Item(3)<br \/>\nseDoc.Activate<\/PRE><\/p>\n<p><P><SPAN>Instead of the index, the full name can also be used:<\/SPAN><\/P><br \/>\n<PRE>seDoc = seApp.Documents.Item(&#8220;C:Program FilesSolid EdgeTrainingplate.par&#8221;)<br \/>\nseDoc.Activate<\/PRE><br \/>\n<P><SPAN>or directly like this:<\/SPAN><\/P><br \/>\n<PRE>seDoc = seApp.Documents.Item(3).Activate<br \/>\n&#8216;or<br \/>\nseApp.Documents.Item(&#8220;C:Program FilesSolid EdgeTrainingplate.par&#8221;).Activate<\/PRE><br \/>\n<P>where the index starts from 1<\/P><\/p>\n<p><P><SPAN>This introductory part covered:<\/SPAN><\/P><\/p>\n<p><OL><\/p>\n<li>References.<\/li>\n<li>Application declaration and access.<\/li>\n<li>Creating new documents.<\/li>\n<li>Document types and access.<\/li>\n<li>Counting and iterating through open documents.<\/li>\n<li>Closing and activating documents.<\/li>\n<li>Saving documents.<\/li>\n<li>Creating images from documents.<\/li>\n<li>Exporting a document to other 3D formats.<\/li>\n<p><\/OL><\/p>\n<p><P><SPAN>The subsequent articles in this series will show:<\/SPAN><\/P><\/p>\n<p><UL><\/p>\n<li>Draft sheet, drawing views and dimensions handling.<\/li>\n<li>Parametric part and feature techniques in detail.<\/li>\n<li>Assembly Document migration in detail.<\/li>\n<li>2d entities creation and object selection.<\/li>\n<li>File properties.<\/li>\n<li>General Solid Edge techniques.<\/li>\n<p><\/UL><\/p>\n<p><P><SPAN>If you want to learn Solid Edge programming from grounds-up, several in-depth tutorials are available on <a href=\"http:\/\/www.surfandcode.in\/2014\/01\/index-of-all-tutorials-on-this-solid.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">this Solid Edge Programming blog<\/A>. <\/SPAN><\/P><\/p>\n<p><P><SPAN>When you run into any problem, you can always post a programming related query in the <a href=\"http:\/\/community.plm.automation.siemens.com\/t5\/Solid-Edge-Developer-Forum\/bd-p\/SEDeveloperForum\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Development Forum<\/A>.<\/SPAN><\/P><\/p>\n<p><P><SPAN>&nbsp;<SPAN class=\"lia-inline-image-display-wrapper lia-image-align-left\"><SPAN class=\"lia-message-image-wrapper lia-message-image-actions-narrow lia-message-image-actions-below\"><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 32px;\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TwitterLogo32x32-7.png\" alt=\"TwitterLogo32x32.png\" title=\"TwitterLogo32x32.png\" \/><\/span><I class=\"lia-fa lia-fa-search-plus lia-media-lightbox-trigger\"><\/I><\/SPAN><\/SPAN><a href=\"https:\/\/twitter.com\/Tushar_Suradkar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Tushar_Suradkar<\/A><\/SPAN><\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp;<br \/>\n  The makers of Solid Edge have left no stone unturned to make your transition from SolidWorks to Solid Edge effortless and streamlined. Not only that Synchronous Technology readily recognize&#8230;<\/p>\n","protected":false},"author":42979,"featured_media":2939,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1,96],"tags":[],"industry":[],"product":[],"coauthors":[],"class_list":["post-2906","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-tips-tricks"],"featured_image_url":"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TwitterLogo32x32-7.png","_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/posts\/2906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/users\/42979"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/comments?post=2906"}],"version-history":[{"count":11,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/posts\/2906\/revisions"}],"predecessor-version":[{"id":2940,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/posts\/2906\/revisions\/2940"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/media\/2939"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/media?parent=2906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/categories?post=2906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/tags?post=2906"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/industry?post=2906"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/product?post=2906"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/coauthors?post=2906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}