{"id":508,"date":"2022-10-14T20:15:00","date_gmt":"2022-10-14T12:15:00","guid":{"rendered":"http:\/\/localhost:8080\/?p=508"},"modified":"2022-10-14T20:15:00","modified_gmt":"2022-10-14T12:15:00","slug":"c-solidworks-%e4%ba%8c%e6%ac%a1%e5%bc%80%e5%8f%91-api-%e5%88%a0%e9%99%a4%e5%b7%a5%e7%a8%8b%e5%9b%be%e4%b8%ad%e7%9a%84%e5%9b%be%e7%89%87%e4%b8%8e%e6%8f%92%e5%85%a5%e4%ba%8c%e7%bb%b4%e7%a0%81","status":"publish","type":"post","link":"https:\/\/blog.ke-zhi.com\/?p=508","title":{"rendered":"C# SolidWorks \u4e8c\u6b21\u5f00\u53d1 API-\u5220\u9664\u5de5\u7a0b\u56fe\u4e2d\u7684\u56fe\u7247\u4e0e\u63d2\u5165\u4e8c\u7ef4\u7801"},"content":{"rendered":"<h1> <a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/p\/17369377.html\" target=\"_blank\" rel=\"nofollow noopener\"> <span>C# SolidWorks \u4e8c\u6b21\u5f00\u53d1 API-\u5220\u9664\u5de5\u7a0b\u56fe\u4e2d\u7684\u56fe\u7247\u4e0e\u63d2\u5165\u4e8c\u7ef4\u7801<\/span> <\/a> <\/h1>\n<p>\u4eca\u5929\u6709\u4e2a\u7f51\u53cb\u7559\u8a00\u8bf4\u5728\u5de5\u7a0b\u56fe\u4e0a\u5220\u9664\u56fe\u7247\u7684\u95ee\u9898\u8fd8\u6ca1\u89e3\u51b3\uff0c\u8bf4\u5f55\u5236\u53ef\u4ee5\u5220\u9664\uff0c\u4f46\u518d\u6b21\u8fd0\u884c\u5c31\u4e0d\u884c\u4e86\u3002<br \/> \u6240\u4ee5\u5c31\u6765\u7814\u7a76\u4e00\u4e0b\u5de5\u7a0b\u56fe\u91cc\u9762\u4e00\u4e9b\u7279\u6b8a\u7684\u5bf9\u8c61\uff0c\u6bd4\u5982\u6211\u4eec\u622a\u7684\u56fe\uff0c\u76f4\u63a5\u7c98\u8d34\u5230\u56fe\u7eb8\u4e0a\u7684\u3002<br \/> \u60f3\u5230\u8fd9\u4e2a\u529f\u80fd\uff0c\u5c31\u60f3\u5230\u4e86\u73b0\u5728\u5f88\u591a\u4f01\u4e1a\u4e3a\u4e86\u66f4\u5feb\u7684\u5904\u7406\u4fe1\u606f\uff0c\u4f1a\u5728\u56fe\u7eb8\u653e\u4e0a\u4e8c\u7ef4\u4e00\u7801\uff0c\u5728\u540e\u9762\u901a\u8fc7\u4e8c\u7ef4\u7801\u8fdb\u884c\u5b9a\u4f4d\uff0c\u51cf\u5c11\u8f93\u5165\u9519\u8bef\u3002<br \/> \u4f5c\u4e3a\u793a\u4f8b\uff0c\u6211\u5c31\u968f\u4fbf\u62ff\u4e2a\u56fe\uff1a<br \/> \u7b2c\u4e00\u4e2a\u529f\u80fd\uff0c\u5220\u9664\u5de5\u7a0b\u56fe\u4e0a\u4e4b\u524d\u8d34\u4e0a\u53bb\u7684\u56fe\u7247\u3002<br \/> \u5982\u4e0b\u56fe\uff0c\u4e00\u4e2a\u56fe\u7247\u5728\u56fe\u7eb8\u4e0a\uff0c\u4e00\u4e2a\u56fe\u7247\u5728\u56fe\u7eb8\u683c\u5f0f\u4e0a\u3002<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/4f1521f7826847f8887a2354f6d1ad83.png\" class=\"aligncenter\"><br \/> \u9996\u5148\u8fd8\u662f\u5f55\u5236:<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/70edf0d2eada44b98f16d5b661822e1f.png\" class=\"aligncenter\"><br \/> \u8fd9\u4e2a\u53ef\u4ee5\u6b63\u5e38\u9009\u4e2d\u56fe\u7eb8\u4e0a\u7684\u56fe\u7247\uff0c\u5e76\u53ef\u4ee5\u5220\u9664\u7684\u3002\u53ea\u662f\u8981\u5148\u77e5\u9053\u56fe\u7247\u7684\u4f4d\u7f6e\u5750\u6807\uff0c\u4e0d\u7136\u5c31\u4f1a\u9009\u4e0d\u4e2d\uff0c\u5220\u9664\u4e0d\u4e86 \u3002<\/p>\n<p>\u901a\u8fc7\u4e0a\u9762\u7684\u540d\u79f0OLEITEM\u627e\u5230\u4e86\u4e00\u4e9b\u65b9\u6cd5 GetOLEObjects \uff0c\u8fd9\u4e2a\u5c31\u53ef\u4ee5\u76f4\u63a5\u83b7\u53d6\u6240\u6709OLE\u5bf9\u8c61\u4e86\uff0c\u5177\u4f53\u4ec0\u4e48\u662fOLE,\u5927\u5bb6\u53ef\u4ee5\u767e\u5ea6\u3002<\/p>\n<p>\u6709\u4e86\u5bf9\u8c61\u4e4b\u540e \uff0c\u6211\u4eec\u5c31\u6bd4\u8f83\u5bb9\u6613\u8fdb\u884c\u5220\u9664\u52a8\u4f5c\u4e86\u3002<\/p>\n<p>\u7b2c\u4e8c\u90e8\u5206\uff0c\u5f00\u59cb\u601d\u8def\u662f\u53bb\u521b\u5efaOLE\u5bf9\u8c61\u5230\u6587\u6863\u4e2d\u3002<br \/> \u627e\u5230\u4e86\u5bf9\u5e94\u7684\u65b9\u6cd5CreateOLEObject\uff0c\u4f46\u6ca1\u6709\u6210\u529f\uff0c\u56e0\u4e3a\u5b83\u91cc\u9762\u7684\u53c2\u6570buffer\u662fMFC\u7684\u683c\u5f0f\uff0c\u548c\u6b63\u5e38\u7684byte\u3010\u3011\u4e0d\u4e00\u6837\u3002<br \/> \u7b49\u540e\u9762\u6709\u7a7a\u4e86\u518d\u7814\u7a76\u5427\uff0c\u8c01\u4f1a\u7684\u9ebb\u70e6\u544a\u8bc9\u6211\u8865\u5168\u3002<\/p>\n<p>\u90a3\u53ea\u80fd\u60f3\u53e6\u5916\u7684\u529e\u6cd5\u4e86\uff0c\u5229\u7528\u8349\u56fe\u91cc\u9762\u7684\u63d2\u5165\u56fe\u7247\u529f\u80fd\u3002<br \/> \u76f4\u63a5\u4e0a\u4ee3\u7801\uff1a<\/p>\n<pre><code> <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u83b7\u53d6\u5de5\u7a0b\u56fe\u4e2d\u7684\u56fe\u7247\u5bf9\u8c61\uff0c\u5220\u9664\u540e\u63d2\u5165\u4e00\u4e2a\u5df2\u7ecf\u5b58\u5728\u7684\u4e8c\u7ef4\u7801<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"sender\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"e\"&gt;&lt;\/param&gt;<\/span>\n        <span>private<\/span> <span><span>void<\/span><\/span> <span>btnOLEObject_Click<\/span><span>(<\/span><span><span>object<\/span><\/span> sender<span>,<\/span> <span>EventArgs<\/span> e<span>)<\/span>\n        <span>{<\/span>\n            <span><span>var<\/span><\/span> swApp <span>=<\/span> PStandAlone<span>.<\/span><span>GetSolidWorks<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n            <span><span>var<\/span><\/span> swModel <span>=<\/span> <span>(<\/span>ModelDoc2<span>)<\/span>swApp<span>.<\/span>ActiveDoc<span>;<\/span>\n\n            <span>\/\/old\u5bf9\u8c61\u6570\u91cf<\/span>\n            <span><span>var<\/span><\/span> oleCountOnThisSheet<span>=<\/span> swModel<span>.<\/span>Extension<span>.<\/span><span>GetOLEObjectCount<\/span><span>(<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swOleObjectOptions_e<span>.<\/span>swOleObjectOptions_GetOnCurrentSheet<span>)<\/span><span>;<\/span>\n            <span>\/\/\u83b7\u53d6 old\u5bf9\u8c61<\/span>\n            <span><span>var<\/span><\/span> oleObjects <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swModel<span>.<\/span>Extension<span>.<\/span><span>GetOLEObjects<\/span><span>(<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swOleObjectOptions_e<span>.<\/span>swOleObjectOptions_GetOnCurrentSheet<span>)<\/span><span>;<\/span>\n\n            <span>\/\/var buf1 = new object();<\/span>\n\n            <span>\/\/\u5faa\u73af \u6309\u987a\u5e8f \u9009\u4e2d\u540e\u5220\u9664<\/span>\n            <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> i <span>=<\/span> <span>0<\/span><span>;<\/span> i <span>&lt;<\/span> oleObjects<span>.<\/span><span>Count<\/span><span>(<\/span><span>)<\/span><span>;<\/span> i<span>++<\/span><span>)<\/span>\n            <span>{<\/span>\n                <span><span>var<\/span><\/span> oldObj<span>=<\/span><span>(<\/span>SwOLEObject<span>)<\/span>oleObjects<span>[<\/span>i<span>]<\/span><span>;<\/span>\n\n                Debug<span>.<\/span><span>Print<\/span><span>(<\/span>oldObj<span>.<\/span>Clsid<span>)<\/span><span>;<\/span>\n                <span>\/\/oldObj.IGetBuffer(oldObj.BufferSize, out byte bData);<\/span>\n                Debug<span>.<\/span><span>Print<\/span><span>(<\/span>oldObj<span>.<\/span>Aspect<span>.<\/span><span>ToString<\/span><span>(<\/span><span>)<\/span><span>)<\/span><span>;<\/span>\n         \n                <span>\/\/buf1 = oldObj.Buffer;<\/span>\n\n                <span>\/\/\u9009\u4e2d<\/span>\n                oldObj<span>.<\/span><span>Select<\/span><span>(<\/span><span>false<\/span><span>)<\/span><span>;<\/span>\n               \n                <span>\/\/\u5220\u9664<\/span>\n                swModel<span>.<\/span><span>EditDelete<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n               \n            <span>}<\/span>\n\n            <span>\/\/\u91cd\u65b0\u63d2\u5165\u4e00\u5f20\u56fe\u7247<\/span>\n            <span>\/\/var picPath = @\"D:\\09_Study\\CSharpAndSolidWorks\\8888.png\";<\/span>\n            <span>swModel.Extension.InsertObjectFromFile(picPath, false, 1, 0.1, 0.1, 0);<\/span>\n\n            <span>\/\/var pos = new double[] { 0, 0.2, 0.03,0.23};<\/span>\n\n            <span>\/\/Todo: \u5982\u4f55\u628a\u6587\u4ef6\u53d8\u6210MFC Buffer <\/span>\n\n            <span>\/\/var impBuf = imageToByte(image);<\/span>\n\n            <span>\/\/var newOleObj= swModel.Extension.CreateOLEObject(1, pos, impBuf, out int Err);<\/span>\n\n            <span>\/\/newOleObj.Refresh();<\/span>\n\n\n            <span>#<span>region<\/span> \u5229\u7528\u8349\u56fe\u91cc\u7684\u63d2\u5165\u56fe\u7247\u529f\u80fd<\/span>\n\n            <span><span>var<\/span><\/span> picPath <span>=<\/span> <span>@\"D:\\09_Study\\CSharpAndSolidWorks\\v.png\"<\/span><span>;<\/span>\n\n            <span><span>var<\/span><\/span> skPic <span>=<\/span> swModel<span>.<\/span>SketchManager<span>.<\/span><span>InsertSketchPicture<\/span><span>(<\/span>picPath<span>)<\/span><span>;<\/span>\n\n            skPic<span>.<\/span><span>SetOrigin<\/span><span>(<\/span><span>0.2<\/span><span>,<\/span> <span>0.2<\/span><span>)<\/span><span>;<\/span> <span>\/\/\u5750\u6807<\/span>\n\n            skPic<span>.<\/span><span>SetSize<\/span><span>(<\/span><span>0.05<\/span><span>,<\/span> <span>0.05<\/span><span>,<\/span> <span>true<\/span><span>)<\/span><span>;<\/span> <span>\/\/\u5927\u5c0f<\/span>\n\n            <span>\/\/\u53d6\u6d88\u5c5e\u6027\u663e\u793a\u9875<\/span>\n            swApp<span>.<\/span><span>RunCommand<\/span><span>(<\/span><span>-<\/span><span>2<\/span><span>,<\/span> <span>\"\"<\/span><span>)<\/span><span>;<\/span>\n\n\n\n            <span>#<\/span><span>endregion<\/span>\n\n\n            MessageBox<span>.<\/span><span>Show<\/span><span>(<\/span><span>\"\u64cd\u4f5c\u5b8c\u6210\"<\/span><span>)<\/span><span>;<\/span>\n\n        <span>}<\/span>\n<\/code><\/pre>\n<p>\u4e0a\u754c\u9762\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/c5ff80f9a05d4f39843b59b571abe28d.png\" class=\"aligncenter\"><br \/> \u6267\u884c\u5b8c\u6210\uff0c\u51fa\u7ed3\u679c\uff0c\u770b\u4e0d\u5230\u5427\u3002<br \/> \u81ea\u5df1\u6d4b\u8bd5\u5427<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/9297e4e55f9f49b2b67685818f3acee8.gif\" class=\"aligncenter\"><\/p>\n<p>          posted @<br \/>\n<span>2022-10-14 20:15<\/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=17369377\" 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-\u5220\u9664\u5de5\u7a0b\u56fe\u4e2d\u7684\u56fe\u7247\u4e0e\u63d2\u5165\u4e8c\u7ef4\u7801 \u4eca\u5929\u6709\u4e2a\u7f51\u53cb\u7559\u8a00\u8bf4\u5728\u5de5\u7a0b\u56fe\u4e0a\u5220\u9664 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":509,"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-508","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-solidworks-","category-solidworks","tag-api","tag-solidworks","tag-8"],"views":186,"_links":{"self":[{"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/posts\/508","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=508"}],"version-history":[{"count":0,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/posts\/508\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/media\/509"}],"wp:attachment":[{"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=508"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}