{"id":2857,"date":"2017-09-21T09:03:07","date_gmt":"2017-09-21T16:03:07","guid":{"rendered":"https:\/\/blogs.plm.automation.siemens.com\/t5\/Solid-Edge-Blog\/The-Myriad-of-Solid-Edge-File-Properties-APIs\/ba-p\/434400"},"modified":"2026-03-26T07:29:49","modified_gmt":"2026-03-26T11:29:49","slug":"the-myriad-of-solid-edge-file-properties-apis","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/solidedge\/the-myriad-of-solid-edge-file-properties-apis\/","title":{"rendered":"The Myriad of Solid Edge File Properties APIs"},"content":{"rendered":"\n<p><span>Accessing Solid Edge document properties to either read or modify is the most common activity performed on Solid Edge documents apart from when manipulating the content of the document itself.<\/span><\/p>\n\n\n\n<p><span>Here\u2019s a visual layout of the various properties logically grouped into 8 tabs. <\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/01_FileProperties-1.png\" alt=\"01_FileProperties.png\"\/><\/figure>\n\n\n\n<p><span>From the API standpoint all of these are again grouped into property sets which do not necessarily correspond to the tabs in image above. They are grouped into 6 sets as below:<\/span><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><span>SummaryInformation<\/li><li><span>ExtendedSummaryInformation<\/li><li><span>DocumentSummaryInformation<\/li><li><span>ProjectInformation<\/li><li><span>VersionHistory<\/li><li><span>Custom<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TipIcon-51.png\" alt=\"TipIcon.png\"\/><\/figure>\n\n\n\n<p><strong><span><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 30px;\"><\/span>Note:\u00a0<\/span><\/strong><span>There is no space within the set names.<\/span><\/p>\n\n\n\n<p><span>The Solid Edge API provides several ways to access document properties.<\/span><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><span>Adding a reference to the dedicated Solid Edge <em>File Properties Object Library<\/em>.<\/li><li><span>Adding a reference to the Solid Edge <em>Framework Type Library<\/em>.<\/li><li><span>Adding a reference to the Solid Edge <em>Revision Manager (Design Manager) Object Library.<\/em><\/li><\/ol>\n\n\n\n<p><span>Whether Solid Edge is running or closed will make a difference when choosing one of these.<\/span><\/p>\n\n\n\n<p><span>If Solid Edge is running and the file is open then you have already referenced the Framework library and can use it to access the file properties. Else if your application is using a reference just to the Revision (or Design) Manager library, file properties are available too.<\/span><\/p>\n\n\n\n<p><span>Else, If your application is involved in purely manipulating file properties then a reference to the File Properties library is sufficient.<\/span><\/p>\n\n\n\n<p><span><strong>Case 1 (a):<\/strong> When Solid Edge is running: The Full Property Set<\/span><\/p>\n\n\n\n<p><span>The code snippet below shows the complete flow starting from the Solid Edge object through accessing and changing the property Document Number from the available\u00a0properties:<\/span><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Dim objApp As SolidEdgeFramework.Application = System.Runtime.InteropServices.Marshal.GetActiveObject(\"SolidEdge.Application\")\n<p>Dim objPropSets As SolidEdgeFramework.PropertySets = Nothing\nDim objProp As SolidEdgeFramework.Property = Nothing\nDim objProps As SolidEdgeFramework.Properties = Nothing\nDim objDocument As SolidEdgeFramework.SolidEdgeDocument = Nothing<\/p>\n<p>objDocument = objApp.ActiveDocument\nobjPropSets = objDocument.Properties\n\nFor Each objProps In objPropSets\n  If objProps.Name = \"ProjectInformation\" Then\n\u00a0\u00a0  For Each objProp In objProps\n\u00a0\u00a0    If objProp.Name = \"Document Number\" Then\n\u00a0\u00a0\u00a0\u00a0    objProp.Value = \"Document123\"\n\u00a0\u00a0\u00a0\u00a0  End If\n\u00a0\u00a0  Next\n  End If\nNext<\/p><\/pre>\n\n\n\n<p><span><strong>Case 1 (b):<\/strong> When Solid Edge is running: Only Key Properties<\/span><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Dim objApp As SolidEdgeFramework.Application = System.Runtime.InteropServices.Marshal.GetActiveObject(\"SolidEdge.Application\")\n\nDim objDocument As SolidEdgeFramework.SolidEdgeDocument =\n\nobjApp.ActiveDocument\u00a0\n\nDim objSummaryInfo As SolidEdgeFramework.SummaryInfo = objDocument.SummaryInfo<\/pre>\n\n\n\n<p><span>At this moment you have access to the most common of the file properties:<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/02_SummaryInfo-1.png\" alt=\"02_SummaryInfo.png\"\/><\/figure>\n\n\n\n<p><span><strong>Case 2:<\/strong> Solid Edge File Properties library<\/span><\/p>\n\n\n\n<p><span>Alternatively, if you want to use a reference to the Solid Edge File Properties library, then a document need not be open in Solid Edge, nor Solid Edge be running.<\/span><\/p>\n\n\n\n<p><span>Change the file properties directly like this:<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TipIcon-52.png\" alt=\"TipIcon.png\"\/><\/figure>\n\n\n\n<p><span><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 30px;\"><\/span>&nbsp;<\/span><strong><span>Note:&nbsp;<\/span><\/strong><span>The keyword<strong> New <\/strong>in the opening line. A new object for Solid Edge File Properties should be created.<\/span><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Dim objPropSets As SolidEdgeFileProperties.PropertySets = <strong>New <\/strong>SolidEdgeFileProperties.PropertySets\n\nDim objProp As SolidEdgeFileProperties.Property = Nothing\n\nDim objProps As SolidEdgeFileProperties.Properties = Nothing\n\nDim sDocument As String = \"C:TempTestfile.par\"\n\nobjPropSets.Open(sDocument, <strong>False<\/strong>)\n\nFor Each objProps In objPropSets\n\u00a0\u00a0\u00a0 If objProps.Name = \"ProjectInformation\" Then\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 For Each objProp In objProps\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 If objProp.Name = \"Document Number\" Then\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 objProp.Value = \"Document123\"\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End If\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Next\n\u00a0\u00a0\u00a0 End If\nNext\n<p><strong>objPropSets.Save()\n\nobjPropSets.Close()<\/strong><\/p><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/TipIcon-53.png\" alt=\"TipIcon.png\"\/><\/figure>\n\n\n\n<p><strong><span><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 30px;\"><\/span>Note: <\/span><\/strong><span>In code snippet above,in the <strong>Open<\/strong> function, set the second argument to False to modify file property value and set it to True to prevent any modifications.<\/span><\/p>\n\n\n\n<p><span>This covers the minimum basics of what you need to get started with Solid Edge file properties. I will soon upload VB.Net project files for the all the cases discussed above depending on the response. Watch this space for the attachments.<\/span><\/p>\n\n\n\n<p><span>In the next installment or as an edit to the article above I will show how to create new custom properties, how to check if a custom property exists and many such tip-tricks.<\/span><\/p>\n\n\n\n<p><span>If you have any further questions regarding accessing or manipulating file properties, do leave a comment below or <a rel=\"nofollow noopener noreferrer\" href=\"https:\/\/community.plm.automation.siemens.com\/t5\/forums\/searchpage\/tab\/message?advanced=false&amp;allow_punctuation=true&amp;filter=location&amp;location=forum-board:SEDeveloperForum\" target=\"_blank\">search<\/a> or <a rel=\"nofollow noopener noreferrer\" href=\"https:\/\/community.plm.automation.siemens.com\/t5\/forums\/postpage\/board-id\/SEDeveloperForum\" target=\"_blank\">post <\/a>directly to the Developer forum.<\/span><\/p>\n\n\n\n<p>~Tushar Suradkar<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/fb-5.png\" alt=\"fb.png\"\/><\/figure>\n\n\n\n<p><span><span><span><span class=\"lia-inline-image-display-wrapper lia-image-align-inline\" style=\"width: 37px;\"><\/span><\/span><\/span><\/span><a href=\"https:\/\/www.facebook.com\/groups\/solidedgeusers\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Solid Edge Users Facebook Group<\/a>&nbsp;&#8211; <strong>Let&#8217;s Sync<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Accessing Solid Edge document properties to either read or modify is the most common activity performed on Solid Edge documents apart from when manipulating the content of the document itself.<br \/>\n  &amp;n&#8230;<\/p>\n","protected":false},"author":42979,"featured_media":2876,"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":[33],"industry":[],"product":[],"coauthors":[],"class_list":["post-2857","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-tips-tricks","tag-developer"],"featured_image_url":"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/8\/2019\/09\/fb-5.png","_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/posts\/2857","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=2857"}],"version-history":[{"count":5,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/posts\/2857\/revisions"}],"predecessor-version":[{"id":10698,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/posts\/2857\/revisions\/10698"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/media\/2876"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/media?parent=2857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/categories?post=2857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/tags?post=2857"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/industry?post=2857"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/product?post=2857"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/solidedge\/wp-json\/wp\/v2\/coauthors?post=2857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}