{"id":532,"date":"2022-01-20T09:22:00","date_gmt":"2022-01-20T01:22:00","guid":{"rendered":"http:\/\/localhost:8080\/?p=532"},"modified":"2022-01-20T09:22:00","modified_gmt":"2022-01-20T01:22:00","slug":"c-solidworks-%e4%ba%8c%e6%ac%a1%e5%bc%80%e5%8f%91-api-%e8%8e%b7%e5%8f%96%e6%89%80%e6%9c%89%e7%89%b9%e5%be%81%e5%90%8d%e7%a7%b0%e6%80%9d%e8%b7%af2","status":"publish","type":"post","link":"https:\/\/blog.ke-zhi.com\/?p=532","title":{"rendered":"C# SolidWorks \u4e8c\u6b21\u5f00\u53d1 API&#8212;\u83b7\u53d6\u6240\u6709\u7279\u5f81\u540d\u79f0\u601d\u8def2"},"content":{"rendered":"<h1> <a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/p\/17369389.html\" target=\"_blank\" rel=\"nofollow noopener\"> <span>C# SolidWorks \u4e8c\u6b21\u5f00\u53d1 API&#8212;\u83b7\u53d6\u6240\u6709\u7279\u5f81\u540d\u79f0\u601d\u8def2<\/span> <\/a> <\/h1>\n<p>\u4e4b\u524d\u90a3\u7bc7<a href=\"https:\/\/blog.csdn.net\/zengqh0314\/article\/details\/105922970\" target=\"_blank\" rel=\"nofollow noopener\">\u5404\u79cd\u904d\u5386<\/a>\u7684\u535a\u6587\u4e2d\u6709\u5199\u8fc7\u600e\u4e48\u904d\u5386\u96f6\u4ef6\u4e2d\u7684\u7279\u5f81 \u3002<br \/> \u8fd9\u4e24\u5929\u7ffb\u4e86\u7ffbapi,\u770b\u770b\u6709\u6ca1\u6709\u66f4\u7b80\u5355\u7684\u529e\u6cd5\u83b7\u53d6\u6240\u6709\u7279\u5f81\u7684\u540d\u79f0\u3002<br \/> \u53d1\u73b0\u53d1\u4e00\u4e2a\u65b0\u7684\u529e\u6cd5\uff0c\u5206\u4eab\u4e00\u4e0b\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/e2fb52a8d96f437d8509103290857421.png?x-oss-process=image\/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGFpbmUgWmVuZw==,size_15,color_FFFFFF,t_70,g_se,x_16\" class=\"aligncenter\"><br \/> \u770b\u5230\u4e86\u5417\uff0c\u4e4b\u524d\u8fd9\u91cc\u6709\u4e2aFeatureNames,\u662f\u5c5e\u4e8e\u8fd9\u4e2a\u4e0d\u719f\u6089\u7684\u5355\u8bcd\u91cc\u7684\u3002<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/b743ec9d7f5a40ec80f169aad83302e8.png\" class=\"aligncenter\"><br \/> \u7a81\u7136\u79d2\u61c2\u5440\uff0c\u60f3\u8d77\u6765Solidworks\u91cc\u9762\u6709\u4e2a\u529f\u80fd\u662f\u53ef\u4ee5\u7edf\u8ba1\u7279\u5f81\u7684\u590d\u6742\u7a0b\u5ea6\u4ee5\u53ca\u91cd\u5efa\u65f6\u95f4\u7b49\u4fe1\u606f\u7684\u3002<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/3bb7b90ac34441e48507779a95e7d17b.png?x-oss-process=image\/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGFpbmUgWmVuZw==,size_17,color_FFFFFF,t_70,g_se,x_16\" class=\"aligncenter\"><br \/> \u518d\u6df1\u5165\u4e00\u70b9\u70b9\uff0c\u770b\u770b\u8fd9\u4e2a\u600e\u4e48\u63cf\u8ff0\u7684\u3002<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/83c43ceb560844c1b57aad2125c677f3.png?x-oss-process=image\/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGFpbmUgWmVuZw==,size_20,color_FFFFFF,t_70,g_se,x_16\" class=\"aligncenter\"><br \/> \u54c7\uff0c\u592a\u76f4\u63a5\u4e86\uff0c\u8fd4\u56de\u7684\u76f4\u63a5\u662f\u6570\u7ec4\u3002\u662f\u4e0d\u662f\u6bd4\u904d\u5386\u66f4\u76f4\u63a5\uff1f<br \/> \u800c\u4e14\u91cc\u9762\u8fd8\u6709\u4f8b\u5b50\uff1a<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/2e0afbcdc28f4cb38c997e442a97c43a.png\" class=\"aligncenter\"><br \/> \u6211\u5c31\u76f4\u63a5\u8d34\u4e86\uff0c\u5927\u5c0f\u5199\u4e0b\u6ce8\u91ca\uff1a<\/p>\n<pre><code>This example shows how to <span>get<\/span> the statistics of all of <span>the<\/span> features <span>in<\/span> a part document<span>.<\/span>\n\n<span>\/\/-------------------------------------------<\/span>\n<span>\/\/ Preconditions:<\/span>\n<span>\/\/ 1. Open a part that has multiple features. \u6253\u4e00\u4e2a\u5e26\u591a\u4e2a\u7279\u5f81\u7684\u96f6\u4ef6<\/span>\n<span>\/\/ 2. Open the Immediate window.<\/span>\n<span>\/\/<\/span>\n<span>\/\/ Postconditions:<\/span>\n<span>\/\/ 1. Gets the statistics for the features in \u5f97\u5230\u96f6\u4ef6\u7684\u7279\u5f81\u7edf\u8ba1\u4fe1\u606f<\/span>\n<span>\/\/ the part.<\/span>\n<span>\/\/ 2. Examine the Immediate window.<\/span>\n<span>\/\/-------------------------------------------<\/span>\n<span>using<\/span> <span>SolidWorks<span>.<\/span>Interop<span>.<\/span>sldworks<\/span><span>;<\/span>\n<span>using<\/span> <span>SolidWorks<span>.<\/span>Interop<span>.<\/span>swconst<\/span><span>;<\/span>\n<span>using<\/span> <span>System<\/span><span>;<\/span>\n<span>using<\/span> <span>System<span>.<\/span>Diagnostics<\/span><span>;<\/span>\n<span>namespace<\/span> <span>GetFeatureStatisticsForPart_CSharp<span>.<\/span>csproj<\/span>\n<span>{<\/span>\n    <span>partial<\/span> \n <span>class<\/span> <span>SolidWorksMacro<\/span>\n    <span>{<\/span>\n        <span>public<\/span>  <span><span>void<\/span><\/span> <span>Main<\/span><span>(<\/span><span>)<\/span>\n        <span>{<\/span>\n            <span>FeatureStatistics<\/span> swFeatStat <span>=<\/span> <span>default<\/span><span>(<\/span><span>FeatureStatistics<\/span><span>)<\/span><span>;<\/span>\n            <span>FeatureManager<\/span> swFeatMgr <span>=<\/span> <span>default<\/span><span>(<\/span><span>FeatureManager<\/span><span>)<\/span><span>;<\/span>\n            <span>ModelDoc2<\/span> swModel <span>=<\/span> <span>default<\/span><span>(<\/span><span>ModelDoc2<\/span><span>)<\/span><span>;<\/span>\n            <span>String<span>[<\/span><span>]<\/span><\/span> featnames <span>=<\/span> <span>null<\/span><span>;<\/span>\n            <span>Int32<span>[<\/span><span>]<\/span><\/span> feattypes <span>=<\/span> <span>null<\/span><span>;<\/span>\n            <span>Object<span>[<\/span><span>]<\/span><\/span>  features <span>=<\/span> <span>null<\/span><span>;<\/span>\n            <span>Double<span>[<\/span><span>]<\/span><\/span> featureUpdateTimes <span>=<\/span> <span>null<\/span><span>;<\/span>\n            <span>Double<span>[<\/span><span>]<\/span><\/span> featureUpdatePercentTimes <span>=<\/span> <span>null<\/span><span>;<\/span>\n            <span><span>int<\/span><\/span> iter <span>=<\/span> <span>0<\/span><span>;<\/span>\n\n            swModel <span>=<\/span> <span>(<\/span>ModelDoc2<span>)<\/span>swApp<span>.<\/span>ActiveDoc<span>;<\/span>\n            swFeatMgr <span>=<\/span> swModel<span>.<\/span>FeatureManager<span>;<\/span>\n            swFeatStat <span>=<\/span> swFeatMgr<span>.<\/span>FeatureStatistics<span>;<\/span>\n\n            swFeatStat<span>.<\/span><span>Refresh<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n            Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\"Model name: \"<\/span> <span>+<\/span> swFeatStat<span>.<\/span>PartName<span>)<\/span><span>;<\/span> <span>\/\/\u540d\u79f0<\/span>\n            Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Number of features: \"<\/span> <span>+<\/span> swFeatStat<span>.<\/span>FeatureCount<span>)<\/span><span>;<\/span><span>\/\/\u7279\u5f81\u6570\u91cf<\/span>\n            Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Number of solid bodies: \"<\/span> <span>+<\/span> swFeatStat<span>.<\/span>SolidBodiesCount<span>)<\/span><span>;<\/span><span>\/\/\u5b9e\u4f53\u6570\u91cf <\/span>\n            Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Number of surface bodies: \"<\/span> <span>+<\/span> swFeatStat<span>.<\/span>SurfaceBodiesCount<span>)<\/span><span>;<\/span><span>\/\/\u9762\u4f53\u6570\u91cf <\/span>\n            Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Total rebuild time: \"<\/span> <span>+<\/span> swFeatStat<span>.<\/span>TotalRebuildTime<span>)<\/span><span>;<\/span><span>\/\/\u91cd\u5efa\u65f6\u957f<\/span>\n            Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\"\"<\/span><span>)<\/span><span>;<\/span>\n            features  <span>=<\/span> <span>(<\/span>Object<span>[<\/span><span>]<\/span><span>)<\/span>swFeatStat<span>.<\/span>Features<span>;<\/span>\n            featnames <span>=<\/span> <span>(<\/span>String<span>[<\/span><span>]<\/span><span>)<\/span>swFeatStat<span>.<\/span>FeatureNames<span>;<\/span>\n            feattypes <span>=<\/span> <span>(<\/span>Int32<span>[<\/span><span>]<\/span><span>)<\/span>swFeatStat<span>.<\/span>FeatureTypes<span>;<\/span>\n            featureUpdateTimes <span>=<\/span> <span>(<\/span>Double<span>[<\/span><span>]<\/span><span>)<\/span>swFeatStat<span>.<\/span>FeatureUpdateTimes<span>;<\/span>\n            featureUpdatePercentTimes <span>=<\/span> <span>(<\/span>Double<span>[<\/span><span>]<\/span><span>)<\/span>swFeatStat<span>.<\/span>FeatureUpdatePercentageTimes<span>;<\/span>\n            <span>if<\/span>  <span>(<\/span><span>(<\/span>featnames <span>!=<\/span> <span>null<\/span><span>)<\/span><span>)<\/span>\n            <span>{<\/span>\n                <span>for<\/span>  <span>(<\/span>iter <span>=<\/span> <span>0<\/span><span>;<\/span> iter <span>&lt;=<\/span> featnames<span>.<\/span><span>GetUpperBound<\/span><span>(<\/span><span>0<\/span><span>)<\/span><span>;<\/span> iter<span>++<\/span><span>)<\/span>\n                <span>{<\/span>\n                    Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Feature name: \"<\/span> <span>+<\/span> featnames<span>[<\/span>iter<span>]<\/span><span>)<\/span><span>;<\/span> <span>\/\/\u7279\u5f81\u540d\u79f0<\/span>\n                    Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Feature created: \"<\/span> <span>+<\/span> <span>(<\/span><span>(<\/span>Feature<span>)<\/span>features<span>[<\/span>iter<span>]<\/span><span>)<\/span><span>.<\/span>DateCreated<span>)<\/span><span>;<\/span><span>\/\/\u521b\u5efa\u65f6\u95f4<\/span>\n                    Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Feature type as defined in sw_SelectType_e: \"<\/span> <span>+<\/span> feattypes<span>[<\/span>iter<span>]<\/span><span>)<\/span><span>;<\/span><span>\/\/\u7c7b\u578b<\/span>\n                    Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Update time: \"<\/span> <span>+<\/span> featureUpdateTimes<span>[<\/span>iter<span>]<\/span><span>)<\/span><span>;<\/span><span>\/\/\u66f4\u65b0\u65f6\u95f4<\/span>\n                    Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\" Update % time: \"<\/span> <span>+<\/span> featureUpdatePercentTimes<span>[<\/span>iter<span>]<\/span><span>)<\/span><span>;<\/span><span>\/\/\u7279\u5f81\u66f4\u65b0\u65f6\u957f<\/span>\n                    Debug<span>.<\/span><span>Print<\/span><span>(<\/span><span>\"\"<\/span><span>)<\/span><span>;<\/span>\n                <span>}<\/span>\n            <span>}<\/span>\n        <span>}<\/span>\n        <span>public<\/span> <span>SldWorks<\/span> swApp<span>;<\/span> <span>\/\/\u8fd9\u4e2a\u662f\u8981\u81ea\u5df1\u5904\u7406\u5f97\u5230\u5b9e\u4f8b\u5bf9\u8c61\u7684\u3002<\/span>\n    <span>}<\/span>\n<span>}<\/span>\n\n<\/code><\/pre>\n<p>\u597d\u4e86\uff0c\u6211\u5c31\u62ffVBA\u7684\u8dd1\u4e2a\u7ed3\u679c\uff1a<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/4b9ae70951594dcf9dafa967ddb85af8.png?x-oss-process=image\/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAUGFpbmUgWmVuZw==,size_11,color_FFFFFF,t_70,g_se,x_16\" class=\"aligncenter\"><br \/> \u7136\u540e\u53ef\u4ee5\u81ea\u5df1\u628a\u8fd9\u4e2a\u5c01\u88c5\u4e00\u4e0b\uff0c\u53d8\u6210\u4e00\u4e2aModelDoc2\u7684\u6269\u5c55\u65b9\u6cd5\uff0c\u540e\u9762\u7528\u8d77\u6765\u5c31\u975e\u5e38\u65b9\u4fbf\u4e86\u3002<br \/> \u5f53\u524d \u8fd9\u4e2a\u9002\u5408\u4e0d\u9700\u8981\u77e5\u9053\u7279\u5f81\u4e4b\u524d \u7684\u5c42\u7ea7\u5173\u7cfb\u7684\u65f6\u5019\u3002<\/p>\n<p>          posted @<br \/>\n<span>2022-01-20 09:22<\/span>&nbsp;<br \/>\n<a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/\" target=\"_blank\" rel=\"nofollow noopener\">painezeng<\/a>&nbsp; \u9605\u8bfb(<br \/>\n<span>0<\/span>)&nbsp; \u8bc4\u8bba(<br \/>\n<span>0<\/span>)&nbsp;<br \/>\n<a href=\"https:\/\/i.cnblogs.com\/EditPosts.aspx?postid=17369389\" rel=\"nofollow noopener\" target=\"_blank\">\u7f16\u8f91<\/a>&nbsp;<br \/>\n<a href=\"\" target=\"_blank\" rel=\"nofollow noopener\">\u6536\u85cf<\/a>&nbsp;<br \/>\n<a href=\"\" target=\"_blank\" rel=\"nofollow noopener\">\u4e3e\u62a5<\/a> &nbsp;<br \/>\n<a href=\"\" target=\"_blank\" rel=\"nofollow noopener\">\u6765\u6e90<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>C# SolidWorks \u4e8c\u6b21\u5f00\u53d1 API&#8212;\u83b7\u53d6\u6240\u6709\u7279\u5f81\u540d\u79f0\u601d\u8def2 \u4e4b\u524d\u90a3\u7bc7\u5404\u79cd\u904d\u5386\u7684\u535a\u6587\u4e2d\u6709\u5199 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":533,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4,5],"tags":[7,6,8],"series":[],"class_list":["post-532","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-solidworks-","category-solidworks","tag-api","tag-solidworks","tag-8"],"views":160,"_links":{"self":[{"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/posts\/532","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=532"}],"version-history":[{"count":0,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/posts\/532\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/media\/533"}],"wp:attachment":[{"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=532"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}