{"id":516,"date":"2022-08-02T19:15:00","date_gmt":"2022-08-02T11:15:00","guid":{"rendered":"http:\/\/localhost:8080\/?p=516"},"modified":"2022-08-02T19:15:00","modified_gmt":"2022-08-02T11:15:00","slug":"c-solidworks%e4%ba%8c%e6%ac%a1%e5%bc%80%e5%8f%91-%e5%b7%a5%e7%a8%8b%e5%9b%be%e7%ae%80%e5%8d%95%e7%89%88%e6%a0%87%e6%b3%a8%e5%ad%94%e4%bf%a1%e6%81%af","status":"publish","type":"post","link":"https:\/\/blog.ke-zhi.com\/?p=516","title":{"rendered":"C# SolidWorks\u4e8c\u6b21\u5f00\u53d1&#8212;\u5de5\u7a0b\u56fe\u7b80\u5355\u7248\u6807\u6ce8\u5b54\u4fe1\u606f"},"content":{"rendered":"<h1> <a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/p\/17369383.html\" target=\"_blank\" rel=\"nofollow noopener\"> <span>C# SolidWorks\u4e8c\u6b21\u5f00\u53d1&#8212;\u5de5\u7a0b\u56fe\u7b80\u5355\u7248\u6807\u6ce8\u5b54\u4fe1\u606f<\/span> <\/a> <\/h1>\n<blockquote>\n<p>\u7a81\u7136\u611f\u89c9\u597d\u4e45\u6ca1\u6709\u5199\u6280\u672f\u6587\u7ae0\u4e86\uff0c\u786e\u5b9e\uff0c\u56de\u5934\u770b\u4e86\u4e00\u4e0b\u4e0a\u6b21\u7684\u6587\u7ae0\uff0c\u5feb\u4e00\u4e2a\u6708\u4e86\u3002\u6211\u5728\u5fd9\u4ec0\u4e48\uff1f<\/p>\n<\/blockquote>\n<h3>\u6587\u7ae0\u76ee\u5f55<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/p\/17369383.html#_9\" target=\"_blank\" rel=\"nofollow noopener\">\u76ee\u6807<\/a><\/li>\n<li><a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/p\/17369383.html#_16\" target=\"_blank\" rel=\"nofollow noopener\">\u4e00\u3001\u8981\u6807\u4ec0\u4e48\uff1f<\/a><\/li>\n<li><a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/p\/17369383.html#_19\" target=\"_blank\" rel=\"nofollow noopener\">\u4e8c\u3001\u601d\u8def<\/a><\/li>\n<li><a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/p\/17369383.html#_25\" target=\"_blank\" rel=\"nofollow noopener\">\u4e09\u3001\u4ee3\u7801<\/a><\/li>\n<li><a href=\"https:\/\/www.cnblogs.com\/solidworksapi\/p\/17369383.html#_1077\" target=\"_blank\" rel=\"nofollow noopener\">\u603b\u7ed3<\/a><\/li>\n<\/ul>\n<hr>\n<h1><a rel=\"nofollow\"><\/a>\u76ee\u6807<\/h1>\n<p><code>\u63d0\u793a\uff1a\u4eca\u5929\u7684\u5185\u5bb9\u548c\u4e0a\u4e00\u7bc7\u5c5e\u4e8e\u4e00\u4e2a\u8303\u56f4\uff0c\u5c31\u662f\u5de5\u7a0b\u56fe\u7684\u6807\u6ce8<\/code><\/p>\n<p>\u5176\u5b9e\u4ee3\u7801\u5df2\u7ecf\u5b8c\u6210\u597d\u4e45\u4e86\uff0c\u53ea\u662f\u6ca1\u6709\u53d1\u6587\u7ae0\uff0c\u4eca\u5929\u6765\u8bf4\u4e00\u4e0b\u5b54\u4fe1\u606f\u6807\u6ce8\u7684\u5185\u5bb9\u3002<\/p>\n<hr>\n<h1><a rel=\"nofollow\"><\/a>\u4e00\u3001\u8981\u6807\u4ec0\u4e48\uff1f<\/h1>\n<p>\u4e00\u822c\u6765\u8bf4\uff0c\u5de5\u7a0b\u56fe\u4e0a\u7684\u5b54\u4fe1\u606f\u4e3b\u8981\u5c31\u662f\u5b9a\u4f4d\u4e0e\u5927\u5c0f\uff0c\u5916\u52a0\u4e0a\u516c\u5dee \u57fa\u51c6\u8fd9\u4e9b\uff0c\u4f46\u8fd9\u6709\u70b9\u590d\u6742\uff0c\u6211\u4eec\u4ece\u7b80\uff0c\u6807X \u65b9\u5411 Y \u65b9\u5411 \uff0c\u518d\u6807\u4e0a\u5b54\u5927\u5c0f\uff0c\u76f8\u540c\u5c3a\u5bf8\u7684\u5408\u5e76\u4e00\u4e0b\u524d\u7f00\u3002<\/p>\n<h1><a rel=\"nofollow\"><\/a>\u4e8c\u3001\u601d\u8def<\/h1>\n<p>\u4e0e\u4e0a\u7bc7\u7c7b\u4f3c\u5c31\u662f\u627e\u57fa\u51c6\uff0c\u627e\u5b54\uff0c \u8bfb\u4fe1\u606f\uff0c\u518d\u6807\u6ce8\u3002<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/b4552e252b5648f4a05884e6dd838e60.png\" class=\"aligncenter\"><br \/> \u611f\u89c9\u5199\u4e86\u5f88\u591a\uff0c\u4f46\u5b57\u5374\u5f88\u5c11\u3002 \u53ef\u80fd\u662f\u89c9\u5f97\u5927\u5bb6\u90fd\u5df2\u7ecf\u5b66\u4f1a\u4e86\u3002<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/e6ce0309bd9a45de9e436f318a2a49ad.png\" class=\"aligncenter\"><\/p>\n<h1><a rel=\"nofollow\"><\/a>\u4e09\u3001\u4ee3\u7801<\/h1>\n<p><img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/191a8d9e5ae5429e8cb3bc65890bb1d8.png\" class=\"aligncenter\"><br \/> \u4ee3\u7801\u6709\u70b9\u591a\uff0c\u53cd\u6b63\u6211\u4e5f\u8bb2\u4e0d\u660e\u767d\uff0c\u5c31\u8d34\u4e00\u4e0b\u7ed3\u679c\u3002<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/2d92485ce9484954b0bd3aae0965bc18.png\" class=\"aligncenter\"><\/p>\n<p>\u8fd9\u6837\u8fd8\u662f\u4f1a\u6709\u4e00\u4e9b\u91cd\u53e0\u95ee\u9898\uff0c\u518d\u8c03\u7528\u4e00\u4e0b\u81ea\u52a8\u6574\u7406\u5c3a\u5bf8\u7684\u529f\u80fd:<br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/b13ae2f9b50b4354bd0c0d5d1c39b4c9.png\" class=\"aligncenter\"><br \/> <img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/f903d0ef56be496f8e5eb56664b7535e.png\" class=\"aligncenter\"><\/p>\n<pre><code>    <span>private<\/span> <span><span>void<\/span><\/span> <span>btnAddDimForHoles_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            <span>AddSizeDimensionForDrawing<\/span> addSizeDimensionForDrawing <span>=<\/span> <span>new<\/span> <span>AddSizeDimensionForDrawing<\/span><span>(<\/span>swApp<span>,<\/span> swModel<span>)<\/span><span>;<\/span>\n            addSizeDimensionForDrawing<span>.<\/span><span>AutoAddHoleDimesnions<\/span><span>(<\/span><span>\"\"<\/span><span>)<\/span><span>;<\/span>\n        <span>}<\/span>\n<\/code><\/pre>\n<pre><code>    <span>\/\/\/ &lt;summary&gt;<\/span>\n    <span>\/\/\/ \u7ed9\u5de5\u7a0b\u56fe\u6807\u6ce8\u957f\u5bbd<\/span>\n    <span>\/\/\/ &lt;\/summary&gt;<\/span>\n    <span>internal<\/span> <span>class<\/span> <span>AddSizeDimensionForDrawing<\/span>\n    <span>{<\/span>\n        <span>public<\/span> <span>SldWorks<\/span> swApp <span>{<\/span> <span>get<\/span><span>;<\/span> <span>set<\/span><span>;<\/span> <span>}<\/span>\n        <span>public<\/span> <span>ModelDoc2<\/span> swModel  <span>{<\/span> <span>get<\/span><span>;<\/span> <span>set<\/span><span>;<\/span> <span>}<\/span>\n        <span>public<\/span> <span>SelectData<\/span> swSelData <span>{<\/span> <span>get<\/span><span>;<\/span> <span>set<\/span><span>;<\/span> <span>}<\/span>\n        <span>public<\/span> <span><span>string<\/span><\/span>  strError <span>{<\/span> <span>get<\/span><span>;<\/span> <span>set<\/span><span>;<\/span> <span>}<\/span>\n\n        <span>\/\/public string Options = \"Two\";<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u5c3a\u5bf8\u6807\u6ce8\u4e0a\u65b9<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>public<\/span> <span><span>bool<\/span><\/span> DimOnTop <span>=<\/span> <span>true<\/span><span>;<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u5c3a\u5bf8\u6807\u6ce8\u5de6\u4fa7<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>public<\/span> <span><span>bool<\/span><\/span> DimOnLeft <span>=<\/span> <span>true<\/span><span>;<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u5c3a\u5bf8\u4f4d\u7f6e\u504f\u79fb\u91cf<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>public<\/span> <span><span>double<\/span><\/span> HorOffset <span>=<\/span> <span>0.005<\/span><span>;<\/span>\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u5c3a\u5bf8\u4f4d\u7f6e\u504f\u79fb\u91cf<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>public<\/span> <span><span>double<\/span><\/span> VerOffset <span>=<\/span> <span>0.005<\/span><span>;<\/span>\n\n\n        <span>#<span>region<\/span> Holes\u76f8\u5173<\/span>\n            \n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u5b54\u8fb9\u96c6\u5408<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span> swHoleList <span>=<\/span> <span>new<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u8fb9\u96c6\u5408<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span> swEdgesList <span>=<\/span> <span>new<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u70b9\u96c6\u5408<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>List<span>&lt;<\/span>Vertex<span>&gt;<\/span><\/span> swPointList <span>=<\/span> <span>new<\/span> <span>List<span>&lt;<\/span>Vertex<span>&gt;<\/span><\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n\n\n        <span>#<span>endregion<\/span><\/span>\n\n\n        <span>public<\/span> <span>AddSizeDimensionForDrawing<\/span><span>(<\/span><span>SldWorks<\/span> App<span>,<\/span> <span>ModelDoc2<\/span> model<span>)<\/span>\n        <span>{<\/span>\n\n            swApp <span>=<\/span> App<span>;<\/span>\n            swModel <span>=<\/span> model<span>;<\/span>\n\n        <span>}<\/span>\n\n        <span><span>double<\/span><\/span> AllowAutoArrange <span>=<\/span> <span>0<\/span><span>;<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u81ea\u52a8\u589e\u52a0\u5b54\u5c3a\u5bf8<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"s\"&gt;&lt;\/param&gt;<\/span>\n        <span>public<\/span> <span><span>void<\/span><\/span> <span>AutoAddHoleDimesnions<\/span><span>(<\/span><span><span>string<\/span><\/span> s<span>)<\/span> <span>{<\/span>\n\n \n            <span><span>var<\/span><\/span> swDraw <span>=<\/span> swModel <span>as<\/span> <span>DrawingDoc<\/span><span>;<\/span>\n\n            <span>if<\/span> <span>(<\/span>swDraw <span>!=<\/span> <span>null<\/span><span>)<\/span>\n            <span>{<\/span>\n                HorOffset <span>=<\/span> <span>0<\/span><span>;<\/span>\n                VerOffset <span>=<\/span> <span>0<\/span><span>;<\/span>\n\n\n\n                <span><span>var<\/span><\/span> swModelDocExt <span>=<\/span> <span>(<\/span>ModelDocExtension<span>)<\/span>swModel<span>.<\/span>Extension<span>;<\/span>\n                <span><span>var<\/span><\/span> swSelMgr <span>=<\/span> <span>(<\/span>SelectionMgr<span>)<\/span>swModel<span>.<\/span>SelectionManager<span>;<\/span>\n\n\n                swModel<span>.<\/span><span>SetUserPreferenceToggle<\/span><span>(<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swUserPreferenceToggle_e<span>.<\/span>swViewDisplayHideAllTypes<span>,<\/span> <span>true<\/span><span>)<\/span><span>;<\/span>\n\n\n                <span>\/\/\u5f53\u524d\u56fe\u7eb8<\/span>\n                <span>Sheet<\/span> swSheet <span>=<\/span> <span>(<\/span>Sheet<span>)<\/span>swDraw<span>.<\/span><span>GetCurrentSheet<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                <span>\/\/\u6240\u6709\u89c6\u56fe<\/span>\n                <span><span>var<\/span><\/span> swViews <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swSheet<span>.<\/span><span>GetViews<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                swModel<span>.<\/span><span>ClearSelection2<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>;<\/span>\n                <span>\/\/\u5faa\u73af<\/span>\n                <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> i <span>=<\/span> <span>0<\/span><span>;<\/span> i <span>&lt;<\/span> swViews<span>.<\/span>Length<span>;<\/span> i<span>++<\/span><span>)<\/span>\n                <span>{<\/span>\n\n                    <span>View<\/span> swView <span>=<\/span> <span>(<\/span>View<span>)<\/span>swViews<span>[<\/span>i<span>]<\/span><span>;<\/span>\n\n                    <span>if<\/span> <span>(<\/span>swView<span>.<\/span><span>GetOrientationName<\/span><span>(<\/span><span>)<\/span> <span>!=<\/span> <span>\"*Isometric\"<\/span> <span>&amp;&amp;<\/span> swView<span>.<\/span><span>GetOrientationName<\/span><span>(<\/span><span>)<\/span> <span>!=<\/span> <span>\"*Trimetric\"<\/span> <span>&amp;&amp;<\/span> swView<span>.<\/span><span>GetOrientationName<\/span><span>(<\/span><span>)<\/span> <span>!=<\/span> <span>\"*Dimetric\"<\/span><span>)<\/span>\n                    <span>{<\/span>\n                        <span><span>var<\/span><\/span> vBounds <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swView<span>.<\/span><span>GetOutline<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                        <span><span>var<\/span><\/span> swViewType <span>=<\/span> System<span>.<\/span>IO<span>.<\/span>Path<span>.<\/span><span>GetExtension<\/span><span>(<\/span>swView<span>.<\/span><span>GetReferencedModelName<\/span><span>(<\/span><span>)<\/span><span>)<\/span><span>;<\/span>\n\n                        <span><span>var<\/span><\/span> vComps <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swView<span>.<\/span><span>GetVisibleComponents<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                        <span>if<\/span> <span>(<\/span> swView<span>.<\/span><span>GetVisibleComponentCount<\/span><span>(<\/span><span>)<\/span> <span>&gt;<\/span> <span>0<\/span> <span>)<\/span>\n                        <span>{<\/span>\n                            <span><span>var<\/span><\/span> vEdges <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swView<span>.<\/span><span>GetVisibleEntities<\/span><span>(<\/span><span>(<\/span>Component2<span>)<\/span>vComps<span>[<\/span><span>0<\/span><span>]<\/span><span>,<\/span> <span>(<\/span><span>int<\/span><span>)<\/span>swViewEntityType_e<span>.<\/span>swViewEntityType_Edge<span>)<\/span><span>;<\/span>\n                            swSelData <span>=<\/span> <span>(<\/span>SelectData<span>)<\/span>swModel<span>.<\/span>ISelectionManager<span>.<\/span><span>CreateSelectData<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                            swSelData<span>.<\/span>View <span>=<\/span> swView<span>;<\/span>                         \n                            <span>MathTransform<\/span> swViewXform <span>=<\/span> <span>ViewMathTransform<\/span><span>(<\/span>swDraw<span>,<\/span> swView<span>)<\/span><span>;<\/span>\n                            <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> itr <span>=<\/span> <span>0<\/span><span>;<\/span> itr <span>&lt;<\/span> vEdges<span>.<\/span>Length<span>;<\/span> itr<span>++<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                <span><span>var<\/span><\/span> swCurve <span>=<\/span> <span>(<\/span>Curve<span>)<\/span><span>(<\/span><span>(<\/span>Edge<span>)<\/span>vEdges<span>[<\/span>itr<span>]<\/span><span>)<\/span><span>.<\/span><span>GetCurve<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                                <span>if<\/span> <span>(<\/span>swCurve<span>.<\/span><span>IsCircle<\/span><span>(<\/span><span>)<\/span><span>)<\/span> <span>{<\/span>\n\n                                    <span><span>var<\/span><\/span> swCircleParam <span>=<\/span> swCurve<span>.<\/span><span>GetEndParams<\/span><span>(<\/span><span>out<\/span> <span><span>double<\/span><\/span> StartP<span>,<\/span> <span>out<\/span> <span><span>double<\/span><\/span> EndP<span>,<\/span> <span>out<\/span> <span><span>bool<\/span><\/span> IsClosedP<span>,<\/span> <span>out<\/span> <span><span>bool<\/span><\/span> IsPeriodicP<span>)<\/span><span>;<\/span>\n\n                                    <span>if<\/span> <span>(<\/span>IsClosedP<span>)<\/span>\n                                    <span>{<\/span>\n\n                                        swHoleList<span>.<\/span><span>Add<\/span><span>(<\/span><span>(<\/span>Edge<span>)<\/span>vEdges<span>[<\/span>itr<span>]<\/span><span>)<\/span><span>;<\/span>\n\n                                    <span>}<\/span>\n\n                                <span>}<\/span>\n\n                                <span>else<\/span> <span>{<\/span>\n\n                                    swEdgesList<span>.<\/span><span>Add<\/span><span>(<\/span><span>(<\/span>Edge<span>)<\/span>vEdges<span>[<\/span>itr<span>]<\/span><span>)<\/span><span>;<\/span>\n                                    <span><span>var<\/span><\/span> startVertex <span>=<\/span> <span>(<\/span><span>(<\/span>Edge<span>)<\/span>vEdges<span>[<\/span>itr<span>]<\/span><span>)<\/span><span>.<\/span><span>GetStartVertex<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                                    swPointList<span>.<\/span><span>Add<\/span><span>(<\/span><span>(<\/span>Vertex<span>)<\/span>startVertex<span>)<\/span><span>;<\/span>\n\n                                <span>}<\/span>\n\n\n\n\n\n\n                            <span>}<\/span>\n\n                            <span>Entity<\/span> swEntXmax <span>=<\/span> <span>null<\/span><span>,<\/span> swEntXmin <span>=<\/span> <span>null<\/span><span>,<\/span> swEntYmax <span>=<\/span> <span>null<\/span><span>,<\/span> swEntYmin <span>=<\/span><span>null<\/span><span>;<\/span>\n\n                            <span><span>var<\/span><\/span> refModel <span>=<\/span> swView<span>.<\/span>ReferencedDocument<span>;<\/span>\n\n                            <span>if<\/span> <span>(<\/span>swViewType<span>.<\/span><span>ToString<\/span><span>(<\/span><span>)<\/span><span>.<\/span><span>ToLower<\/span><span>(<\/span><span>)<\/span><span>==<\/span><span>\".sldprt\"<\/span><span>)<\/span>\n                            <span>{<\/span>\n                              \n                                <span>if<\/span> <span>(<\/span>swPointList<span>.<\/span>Count<span>&gt;<\/span><span>0<\/span><span>)<\/span>\n                                <span>{<\/span>\n\n                                    swEntXmax <span>=<\/span> <span>FindExtremun<\/span><span>(<\/span><span>0<\/span><span>,<\/span> <span>\"max\"<\/span><span>,<\/span> swPointList<span>,<\/span> refModel<span>.<\/span><span>GetType<\/span><span>(<\/span><span>)<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                                    swEntXmin <span>=<\/span> <span>FindExtremun<\/span><span>(<\/span><span>0<\/span><span>,<\/span> <span>\"min\"<\/span><span>,<\/span> swPointList<span>,<\/span> refModel<span>.<\/span><span>GetType<\/span><span>(<\/span><span>)<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                                    swEntYmax <span>=<\/span> <span>FindExtremun<\/span><span>(<\/span><span>1<\/span><span>,<\/span> <span>\"max\"<\/span><span>,<\/span> swPointList<span>,<\/span> refModel<span>.<\/span><span>GetType<\/span><span>(<\/span><span>)<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                                    swEntYmin <span>=<\/span> <span>FindExtremun<\/span><span>(<\/span><span>1<\/span><span>,<\/span> <span>\"min\"<\/span><span>,<\/span> swPointList<span>,<\/span> refModel<span>.<\/span><span>GetType<\/span><span>(<\/span><span>)<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n                                <span>}<\/span>\n\n                                <span>if<\/span> <span>(<\/span>swHoleList<span>.<\/span>Count<span>&gt;<\/span><span>0<\/span><span>)<\/span>\n                                <span>{<\/span>\n                                    AllowAutoArrange <span>=<\/span> <span>0<\/span><span>;<\/span>\n                                    HorOffset <span>=<\/span> HorOffset <span>+<\/span> <span>0.01<\/span><span>;<\/span>\n                                    VerOffset <span>=<\/span> VerOffset <span>+<\/span> <span>0.001<\/span><span>;<\/span>\n                                    <span><span>var<\/span><\/span> swHcollSortX <span>=<\/span> <span>SortHoles<\/span><span>(<\/span><span>0<\/span><span>,<\/span> swHoleList<span>,<\/span> swViewType<span>,<\/span> <span>\"CleanYes\"<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span><span>\/\/ ' 0 = X ,1 = Y<\/span>\n                                    <span>PlaceHoleDimension<\/span><span>(<\/span><span>(<\/span>Vertex<span>)<\/span>swEntXmin <span>,<\/span> swHcollSortX<span>,<\/span> <span>\"Horizontal\"<\/span><span>,<\/span> vBounds<span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                                    <span><span>var<\/span><\/span> swHcollSortY <span>=<\/span> <span>SortHoles<\/span><span>(<\/span><span>1<\/span><span>,<\/span> swHoleList<span>,<\/span> swViewType<span>,<\/span> <span>\"CleanYes\"<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>      <span>\/\/ ' 0 = X ,1 = Y<\/span>\n                                    <span>PlaceHoleDimension<\/span><span>(<\/span><span>(<\/span>Vertex<span>)<\/span>swEntYmax<span>,<\/span> swHcollSortY<span>,<\/span> <span>\"Vertical\"<\/span><span>,<\/span> vBounds<span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                                    <span>PlaceHoleLocationDimension<\/span><span>(<\/span>swHoleList<span>,<\/span> vBounds<span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n\n                                <span>}<\/span>\n\n                                <span>if<\/span> <span>(<\/span>AllowAutoArrange <span>&gt;<\/span> <span>0<\/span> <span>&amp;&amp;<\/span> AllowAutoArrange<span>&lt;<\/span> <span>0.005<\/span> <span>)<\/span>\n                                <span>{<\/span>\n                                   <span><span>var<\/span><\/span> swViewAnnot <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swView<span>.<\/span><span>GetAnnotations<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                                    <span>Annotation<\/span> annotation<span>;<\/span>\n                                    <span>foreach<\/span> <span>(<\/span><span><span>var<\/span><\/span> item <span>in<\/span> swViewAnnot<span>)<\/span>\n                                    <span>{<\/span>\n                                        annotation <span>=<\/span> <span>(<\/span>Annotation<span>)<\/span>item<span>;<\/span>\n\n                                        annotation<span>.<\/span><span>Select3<\/span><span>(<\/span><span>true<\/span><span>,<\/span> <span>null<\/span><span>)<\/span><span>;<\/span>\n                                    <span>}<\/span>\n\n\n                                    swModelDocExt<span>.<\/span><span>AlignDimensions<\/span><span>(<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swAlignDimensionType_e<span>.<\/span>swAlignDimensionType_AutoArrange<span>,<\/span> <span>0.001<\/span><span>)<\/span><span>;<\/span>\n\n                                <span>}<\/span>\n\n\n                            <span>}<\/span>\n\n\n\n                        <span>}<\/span>\n\n\n\n                    <span>}<\/span>\n\n\n\n                <span>}<\/span>\n\n            <span>}<\/span>\n            swModel<span>.<\/span><span>ClearSelection2<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>;<\/span>\n            swModel<span>.<\/span><span>GraphicsRedraw2<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n\n\n\n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u6807\u6ce8\u5b54\u4f4d\u7f6e\u5c3a\u5bf8<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swHcoll\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"vBounds\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewType\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewXform\"&gt;&lt;\/param&gt;<\/span>\n        <span>private<\/span> <span><span>void<\/span><\/span> <span>PlaceHoleLocationDimension<\/span><span>(<\/span><span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span> swHcoll<span>,<\/span> <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> vBounds<span>,<\/span> <span><span>string<\/span><\/span> swViewType<span>,<\/span> <span>MathTransform<\/span> swViewXform<span>)<\/span>\n        <span>{<\/span>\n            <span>try<\/span>\n            <span>{<\/span>\n\n                <span><span>var<\/span><\/span> swColl <span>=<\/span> <span>new<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                <span><span>var<\/span><\/span> swTempColl <span>=<\/span> <span>new<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                swColl<span>.<\/span><span>AddRange<\/span><span>(<\/span>swHcoll<span>)<\/span><span>;<\/span>\n\n                <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> n <span>=<\/span> swColl<span>.<\/span>Count <span>-<\/span> <span>1<\/span><span>;<\/span> n <span>&gt;=<\/span> <span>0<\/span><span>;<\/span> n<span>--<\/span><span>)<\/span>\n                <span>{<\/span>\n                    swTempColl<span>.<\/span><span>Clear<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                    <span>(<\/span>swColl<span>[<\/span>n<span>]<\/span> <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>false<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n                    <span><span>var<\/span><\/span> swCircleCurve <span>=<\/span> <span>(<\/span>Curve<span>)<\/span>swColl<span>[<\/span>n<span>]<\/span><span>.<\/span><span>GetCurve<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                    <span><span>var<\/span><\/span> swCircleParams <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swCircleCurve<span>.<\/span>CircleParams<span>;<\/span>\n                    <span><span>var<\/span><\/span> swTempRadius <span>=<\/span> swCircleParams<span>[<\/span><span>6<\/span><span>]<\/span><span>;<\/span>\n                    swTempColl<span>.<\/span><span>Add<\/span><span>(<\/span>swColl<span>[<\/span>n<span>]<\/span><span>)<\/span><span>;<\/span>\n                    swColl<span>.<\/span><span>Remove<\/span><span>(<\/span>swColl<span>[<\/span>n<span>]<\/span><span>)<\/span><span>;<\/span>\n\n                    <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> j <span>=<\/span> swColl<span>.<\/span>Count <span>-<\/span> <span>1<\/span><span>;<\/span> j <span>&gt;=<\/span> <span>0<\/span><span>;<\/span> j<span>--<\/span><span>)<\/span>\n                    <span>{<\/span>\n                        swCircleCurve <span>=<\/span> <span>(<\/span>Curve<span>)<\/span>swColl<span>[<\/span>j<span>]<\/span><span>.<\/span><span>GetCurve<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                        <span>(<\/span>swHcoll<span>[<\/span>j<span>]<\/span> <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>false<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n\n                        swCircleParams <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swCircleCurve<span>.<\/span>CircleParams<span>;<\/span>\n\n                        <span>if<\/span> <span>(<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>swTempRadius<span>-<\/span>swCircleParams<span>[<\/span><span>6<\/span><span>]<\/span><span>)<\/span><span>&lt;<\/span><span>0.001<\/span><span>)<\/span> <span>{<\/span>\n                            swTempColl<span>.<\/span><span>Add<\/span><span>(<\/span>swColl<span>[<\/span>j<span>]<\/span><span>)<\/span><span>;<\/span>\n                            swColl<span>.<\/span><span>Remove<\/span><span>(<\/span>swColl<span>[<\/span>j<span>]<\/span><span>)<\/span><span>;<\/span>\n                        <span>}<\/span>              \n       \n\n                    <span>}<\/span>\n\n                    swTempColl <span>=<\/span> <span>SortHoles<\/span><span>(<\/span><span>1<\/span><span>,<\/span> swTempColl<span>,<\/span> swViewType<span>,<\/span> <span>\"CleanNo\"<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                    swTempColl <span>=<\/span> <span>SortHoles<\/span><span>(<\/span><span>0<\/span><span>,<\/span> swTempColl<span>,<\/span> swViewType<span>,<\/span> <span>\"CleanNo\"<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n                    swCircleParams <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swTempColl<span>[<\/span><span>0<\/span><span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n                    <span><span>var<\/span><\/span> Xpos <span>=<\/span> swCircleParams<span>[<\/span><span>0<\/span><span>]<\/span> <span>-<\/span> <span>0.025<\/span><span>;<\/span>\n                   <span><span>var<\/span><\/span>  Ypos <span>=<\/span> vBounds<span>[<\/span><span>3<\/span><span>]<\/span><span>;<\/span>\n                    <span>(<\/span>swTempColl<span>[<\/span><span>0<\/span><span>]<\/span> <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>false<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n\n                    <span><span>var<\/span><\/span> myDisplayDim <span>=<\/span> <span>(<\/span>DisplayDimension<span>)<\/span>swModel<span>.<\/span><span>AddDimension2<\/span><span>(<\/span>Xpos<span>,<\/span> Ypos<span>,<\/span> <span>0<\/span><span>)<\/span><span>;<\/span>\n                    <span>if<\/span> <span>(<\/span>swTempColl<span>.<\/span>Count <span>&gt;<\/span> <span>2<\/span><span>)<\/span>\n                    <span>{<\/span>\n\n                        myDisplayDim<span>.<\/span><span>SetBrokenLeader2<\/span><span>(<\/span><span>false<\/span><span>,<\/span> <span>(<\/span><span>int<\/span><span>)<\/span>swDisplayDimensionLeaderText_e<span>.<\/span>swBrokenLeaderHorizontalText<span>)<\/span><span>;<\/span>\n                        <span><span>var<\/span><\/span> oldText <span>=<\/span> myDisplayDim<span>.<\/span><span>GetText<\/span><span>(<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swDimensionTextParts_e<span>.<\/span>swDimensionTextPrefix<span>)<\/span><span>;<\/span>\n                        myDisplayDim<span>.<\/span><span>SetText<\/span><span>(<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swDimensionTextParts_e<span>.<\/span>swDimensionTextPrefix<span>,<\/span> <span><span>$\"<\/span><span><span>{<\/span><span>swTempColl<span>.<\/span>Count<\/span><span>}<\/span><\/span><span>x<\/span><span><span>{<\/span><span>oldText<\/span><span>}<\/span><\/span><span>\"<\/span><\/span><span>)<\/span><span>;<\/span>\n\n                    <span>}<\/span>\n                    n <span>=<\/span> swColl<span>.<\/span>Count<span>;<\/span>\n\n            <span>}<\/span>\n\n\n\n            <span>}<\/span>\n            <span>catch<\/span> <span>(<\/span><span>Exception<\/span> ex <span>)<\/span>\n            <span>{<\/span>\n                swApp<span>.<\/span><span>SendMsgToUser<\/span><span>(<\/span>ex<span>.<\/span>StackTrace<span>)<\/span><span>;<\/span>\n                <span>throw<\/span><span>;<\/span>\n            <span>}<\/span>\n\n\n\n\n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u6807\u6ce8\u5b54\u5c3a\u5bf8<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swVertex\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swHcoll\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"DimOrientation\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"vBounds\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewType\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewXform\"&gt;&lt;\/param&gt;<\/span>\n        <span>private<\/span> <span><span>void<\/span><\/span> <span>PlaceHoleDimension<\/span><span>(<\/span><span>Vertex<\/span> swVertex<span>,<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span> swHcoll<span>,<\/span> <span><span>string<\/span><\/span> DimOrientation<span>,<\/span> <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> vBounds<span>,<\/span> <span><span>string<\/span><\/span> swViewType<span>,<\/span> <span>MathTransform<\/span> swViewXform<span>)<\/span>\n        <span>{<\/span>\n            <span>try<\/span>\n            <span>{<\/span>\n      \n               swModel<span>.<\/span><span>ClearSelection2<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>;<\/span>\n\n                <span><span>var<\/span><\/span> vPt <span>=<\/span> <span>PointCoordinates<\/span><span>(<\/span>swApp<span>,<\/span>swVertex<span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                <span><span>var<\/span><\/span> vPt2 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swHcoll<span>[<\/span><span>0<\/span><span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                <span><span>double<\/span><\/span> Xpos<span>,<\/span> Ypos<span>;<\/span>\n\n                <span>(<\/span>swVertex <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>true<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n\n                <span>\/\/double dblConvFactor = GetUnitConvFactor(\"\");<\/span>\n\n                <span>if<\/span> <span>(<\/span>DimOrientation <span>==<\/span> <span>\"Horizontal\"<\/span><span>)<\/span>\n                <span>{<\/span>\n                    <span>(<\/span>swHcoll<span>[<\/span><span>0<\/span><span>]<\/span> <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>true<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n                    vPt2 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swHcoll<span>[<\/span><span>0<\/span><span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                    Xpos <span>=<\/span> <span>(<\/span>vPt<span>[<\/span><span>0<\/span><span>]<\/span> <span>+<\/span> vPt2<span>[<\/span><span>0<\/span><span>]<\/span><span>)<\/span> <span>\/<\/span> <span>2<\/span><span>;<\/span>\n\n                    Ypos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>3<\/span><span>]<\/span> <span>+<\/span> HorOffset<span>)<\/span><span>;<\/span>\n\n                    <span>if<\/span> <span>(<\/span>AllowAutoArrange <span>==<\/span> <span>0<\/span> <span>||<\/span> AllowAutoArrange <span>&gt;<\/span> <span>(<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>vPt<span>[<\/span><span>0<\/span><span>]<\/span> <span>-<\/span> vPt2<span>[<\/span><span>0<\/span><span>]<\/span><span>)<\/span><span>)<\/span><span>)<\/span> \n                    <span>{<\/span>\n\n                        AllowAutoArrange <span>=<\/span> Math<span>.<\/span><span>Abs<\/span><span>(<\/span>vPt<span>[<\/span><span>0<\/span><span>]<\/span> <span>-<\/span> vPt2<span>[<\/span><span>0<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n                    <span>}<\/span>\n\n                    <span><span>var<\/span><\/span> myDisplayDim <span>=<\/span> swModel<span>.<\/span><span>AddHorizontalDimension2<\/span><span>(<\/span>Xpos<span>,<\/span> Ypos<span>,<\/span> <span>0<\/span><span>)<\/span><span>;<\/span>\n\n                <span>}<\/span>\n                <span>if<\/span> <span>(<\/span>DimOrientation <span>==<\/span> <span>\"Vertical\"<\/span><span>)<\/span>\n                <span>{<\/span>\n                    <span>(<\/span>swHcoll<span>[<\/span><span>0<\/span><span>]<\/span> <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>true<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n\n                    vPt2 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swHcoll<span>[<\/span><span>0<\/span><span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                    Xpos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>0<\/span><span>]<\/span> <span>-<\/span> VerOffset<span>)<\/span><span>;<\/span>\n\n                    Ypos <span>=<\/span> <span>(<\/span>vPt<span>[<\/span><span>1<\/span><span>]<\/span> <span>+<\/span> vPt2<span>[<\/span><span>1<\/span><span>]<\/span><span>)<\/span> <span>\/<\/span> <span>2<\/span><span>;<\/span> <span>;<\/span>\n\n                    <span>if<\/span> <span>(<\/span>AllowAutoArrange <span>==<\/span> <span>0<\/span> <span>||<\/span> AllowAutoArrange <span>&gt;<\/span> <span>(<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>vPt<span>[<\/span><span>1<\/span><span>]<\/span> <span>-<\/span> vPt2<span>[<\/span><span>1<\/span><span>]<\/span><span>)<\/span><span>)<\/span><span>)<\/span>\n                    <span>{<\/span>\n\n                        AllowAutoArrange <span>=<\/span> Math<span>.<\/span><span>Abs<\/span><span>(<\/span>vPt<span>[<\/span><span>1<\/span><span>]<\/span> <span>-<\/span> vPt2<span>[<\/span><span>1<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n                    <span>}<\/span>\n\n                    <span><span>var<\/span><\/span> myDisplayDim <span>=<\/span> swModel<span>.<\/span><span>AddVerticalDimension2<\/span><span>(<\/span>Xpos<span>,<\/span> Ypos<span>,<\/span> <span>0<\/span><span>)<\/span><span>;<\/span>\n\n                <span>}<\/span>\n                swModel<span>.<\/span><span>ClearSelection2<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>;<\/span>\n\n                <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> i <span>=<\/span> <span>0<\/span><span>;<\/span> i <span>&lt;<\/span> swHcoll<span>.<\/span>Count<span>-<\/span><span>1<\/span><span>;<\/span> i<span>++<\/span><span>)<\/span>\n                <span>{<\/span>\n                    swModel<span>.<\/span><span>ClearSelection2<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>;<\/span>\n                    <span>(<\/span>swHcoll<span>[<\/span>i<span>+<\/span><span>1<\/span><span>]<\/span> <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>true<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n                    <span><span>var<\/span><\/span> vPt1 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swHcoll<span>[<\/span>i<span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                    vPt2 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swHcoll<span>[<\/span>i <span>+<\/span> <span>1<\/span><span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n                    <span>if<\/span> <span>(<\/span>DimOrientation <span>==<\/span> <span>\"Horizontal\"<\/span><span>)<\/span>\n                    <span>{<\/span>\n                        <span>if<\/span> <span>(<\/span>Math<span>.<\/span><span>Round<\/span><span>(<\/span>vPt1<span>[<\/span><span>1<\/span><span>]<\/span><span>,<\/span><span>10<\/span><span>)<\/span><span>!=<\/span> Math<span>.<\/span><span>Round<\/span><span>(<\/span>vPt2<span>[<\/span><span>1<\/span><span>]<\/span><span>,<\/span> <span>10<\/span><span>)<\/span><span>)<\/span>\n                        <span>{<\/span>\n                            <span>(<\/span>swVertex <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>true<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n                            HorOffset <span>=<\/span> HorOffset <span>+<\/span> <span>0.005<\/span><span>;<\/span>\n                            Xpos <span>=<\/span> <span>(<\/span>vPt<span>[<\/span><span>0<\/span><span>]<\/span> <span>+<\/span> vPt2<span>[<\/span><span>0<\/span><span>]<\/span><span>)<\/span> <span>\/<\/span> <span>2<\/span><span>;<\/span>\n                            Ypos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>3<\/span><span>]<\/span> <span>+<\/span> HorOffset<span>)<\/span><span>;<\/span>\n\n                        <span>}<\/span>\n                        <span>else<\/span>\n                        <span>{<\/span>\n                            <span>(<\/span>swHcoll<span>[<\/span>i<span>]<\/span> <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>true<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n\n                            Xpos <span>=<\/span> <span>(<\/span>vPt1<span>[<\/span><span>0<\/span><span>]<\/span> <span>+<\/span> vPt2<span>[<\/span><span>0<\/span><span>]<\/span><span>)<\/span> <span>\/<\/span> <span>2<\/span><span>;<\/span>\n                            Ypos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>3<\/span><span>]<\/span> <span>+<\/span> HorOffset<span>)<\/span><span>;<\/span>\n\n                            <span>if<\/span> <span>(<\/span>AllowAutoArrange <span>==<\/span> <span>0<\/span> <span>||<\/span> AllowAutoArrange <span>&gt;<\/span> <span>(<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>vPt<span>[<\/span><span>0<\/span><span>]<\/span> <span>-<\/span> vPt2<span>[<\/span><span>0<\/span><span>]<\/span><span>)<\/span><span>)<\/span><span>)<\/span>\n                            <span>{<\/span>\n\n                                AllowAutoArrange <span>=<\/span> Math<span>.<\/span><span>Abs<\/span><span>(<\/span>vPt<span>[<\/span><span>0<\/span><span>]<\/span> <span>-<\/span> vPt2<span>[<\/span><span>0<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n                            <span>}<\/span>\n                        <span>}<\/span>\n                        <span><span>var<\/span><\/span> myDisplayDim <span>=<\/span> swModel<span>.<\/span><span>AddHorizontalDimension2<\/span><span>(<\/span>Xpos<span>,<\/span> Ypos<span>,<\/span> <span>0<\/span><span>)<\/span><span>;<\/span>\n\n\n                    <span>}<\/span><span>else<\/span>  <span>if<\/span> <span>(<\/span>DimOrientation <span>==<\/span> <span>\"Vertical\"<\/span><span>)<\/span> <span>{<\/span>\n\n                        <span>(<\/span>swHcoll<span>[<\/span>i<span>]<\/span> <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>Select4<\/span><span>(<\/span><span>true<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n\n                        <span>\/\/vPt2 = CircleCoordinates(swHcoll[0], swViewType, swViewXform);<\/span>\n\n                        Xpos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>0<\/span><span>]<\/span> <span>-<\/span> VerOffset<span>)<\/span><span>;<\/span>\n\n                        Ypos <span>=<\/span> <span>(<\/span>vPt<span>[<\/span><span>1<\/span><span>]<\/span> <span>+<\/span> vPt2<span>[<\/span><span>1<\/span><span>]<\/span><span>)<\/span> <span>\/<\/span> <span>2<\/span><span>;<\/span> <span>;<\/span>\n\n                        <span>if<\/span> <span>(<\/span>AllowAutoArrange <span>==<\/span> <span>0<\/span> <span>||<\/span> AllowAutoArrange <span>&gt;<\/span> <span>(<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>vPt<span>[<\/span><span>1<\/span><span>]<\/span> <span>-<\/span> vPt2<span>[<\/span><span>1<\/span><span>]<\/span><span>)<\/span><span>)<\/span><span>)<\/span>\n                        <span>{<\/span>\n\n                            AllowAutoArrange <span>=<\/span> Math<span>.<\/span><span>Abs<\/span><span>(<\/span>vPt<span>[<\/span><span>1<\/span><span>]<\/span> <span>-<\/span> vPt2<span>[<\/span><span>1<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n                        <span>}<\/span>\n\n                        <span><span>var<\/span><\/span> myDisplayDim <span>=<\/span> swModel<span>.<\/span><span>AddVerticalDimension2<\/span><span>(<\/span>Xpos<span>,<\/span> Ypos<span>,<\/span> <span>0<\/span><span>)<\/span><span>;<\/span>\n                    <span>}<\/span>\n\n\n                <span>}<\/span>\n\n\n\n            <span>}<\/span>\n            <span>catch<\/span> <span>(<\/span><span>Exception<\/span> ex <span>)<\/span>\n            <span>{<\/span>\n                swApp<span>.<\/span><span>SendMsgToUser<\/span><span>(<\/span>ex<span>.<\/span>StackTrace<span>.<\/span><span>ToString<\/span><span>(<\/span><span>)<\/span><span>)<\/span><span>;<\/span>\n                <span>throw<\/span><span>;<\/span>\n            <span>}<\/span>\n\n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u6392\u5e8f\u5b54<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"axis\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swHcoll\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewType\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swNeedToClean\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewXform\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span> <span>SortHoles<\/span><span>(<\/span><span><span>int<\/span><\/span> axis<span>,<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span> swHcoll<span>,<\/span> <span><span>string<\/span><\/span> swViewType<span>,<\/span> <span><span>string<\/span><\/span> swNeedToClean<span>,<\/span> <span>MathTransform<\/span> swViewXform<span>)<\/span>\n        <span>{<\/span>\n            <span>try<\/span>\n            <span>{<\/span>\n                <span><span>var<\/span><\/span> swColl <span>=<\/span> <span>new<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                swColl<span>.<\/span><span>AddRange<\/span><span>(<\/span>swHcoll<span>)<\/span><span>;<\/span>\n\n                <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> i <span>=<\/span> <span>0<\/span><span>;<\/span> i <span>&lt;<\/span> swColl<span>.<\/span>Count<span>;<\/span> i<span>++<\/span><span>)<\/span>\n                <span>{<\/span>\n\n                    <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> j <span>=<\/span> <span>0<\/span><span>;<\/span> j <span>&lt;<\/span> swColl<span>.<\/span>Count<span>-<\/span>i<span>-<\/span><span>1<\/span><span>;<\/span> j<span>++<\/span><span>)<\/span>\n                    <span>{<\/span>\n                       <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> swCircleParams1 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swColl<span>[<\/span>j<span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                       <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> swCircleParams2 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swColl<span>[<\/span>j<span>+<\/span><span>1<\/span><span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                        <span>if<\/span> <span>(<\/span>axis<span>==<\/span><span>0<\/span><span>)<\/span>\n                        <span>{<\/span>\n                            <span>if<\/span> <span>(<\/span>swCircleParams1<span>[<\/span>axis<span>]<\/span><span>&gt;<\/span>swCircleParams2<span>[<\/span>axis<span>]<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                <span><span>var<\/span><\/span> vTemp <span>=<\/span> swColl<span>[<\/span>j <span>+<\/span> <span>1<\/span><span>]<\/span><span>;<\/span>\n                                swColl<span>.<\/span><span>Remove<\/span><span>(<\/span>swColl<span>[<\/span>j <span>+<\/span> <span>1<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n                                swColl<span>.<\/span><span>Insert<\/span><span>(<\/span>j<span>,<\/span> vTemp<span>)<\/span><span>;<\/span>\n                            <span>}<\/span>\n\n\n                        <span>}<\/span>\n                        <span>else<\/span> <span>if<\/span> <span>(<\/span>axis<span>==<\/span><span>1<\/span><span>)<\/span>\n                        <span>{<\/span>\n                            <span>if<\/span> <span>(<\/span>swCircleParams1<span>[<\/span>axis<span>]<\/span> <span>&lt;<\/span> swCircleParams2<span>[<\/span>axis<span>]<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                <span><span>var<\/span><\/span> vTemp <span>=<\/span> swColl<span>[<\/span>j <span>+<\/span> <span>1<\/span><span>]<\/span><span>;<\/span>\n                                swColl<span>.<\/span><span>Remove<\/span><span>(<\/span>swColl<span>[<\/span>j <span>+<\/span> <span>1<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n                                swColl<span>.<\/span><span>Insert<\/span><span>(<\/span>j<span>,<\/span> vTemp<span>)<\/span><span>;<\/span>\n                            <span>}<\/span>\n\n                        <span>}<\/span>\n                    <span>}<\/span>      \n                <span>}<\/span>\n\n                <span>if<\/span> <span>(<\/span>swNeedToClean<span>==<\/span> <span>\"CleanYes\"<\/span><span>)<\/span>\n                <span>{<\/span>\n                    <span>return<\/span> <span>CleanSortedHoles<\/span><span>(<\/span>axis<span>,<\/span> swColl<span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n                <span>}<\/span>\n                <span>else<\/span> <span>if<\/span> <span>(<\/span>swNeedToClean <span>==<\/span> <span>\"CleanNo\"<\/span><span>)<\/span>\n                <span>{<\/span>\n                    <span>return<\/span> swColl<span>;<\/span>\n                <span>}<\/span>\n\n\n                <span>return<\/span> <span>null<\/span><span>;<\/span>\n            <span>}<\/span>\n            <span>catch<\/span> <span>(<\/span><span>Exception<\/span> ex <span>)<\/span>\n            <span>{<\/span>\n                swApp<span>.<\/span><span>SendMsgToUser<\/span><span>(<\/span>ex<span>.<\/span>StackTrace<span>)<\/span><span>;<\/span>\n                <span>return<\/span> <span>null<\/span><span>;<\/span>\n            <span>}<\/span>\n\n\n\n         \n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u6e05\u7406\u6392\u5e8f\u8fc7\u7684\u5b54\uff0c\u6bd4\u5982X\u503c \u4e00\u6837\uff0c Y\u503c \u4e00\u6837\u7684<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"axis\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swColl\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewType\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewXform\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span> <span>CleanSortedHoles<\/span><span>(<\/span><span><span>int<\/span><\/span> axis<span>,<\/span> <span>List<span>&lt;<\/span>Edge<span>&gt;<\/span><\/span> swColl<span>,<\/span> <span><span>string<\/span><\/span> swViewType<span>,<\/span> <span>MathTransform<\/span> swViewXform<span>)<\/span>\n        <span>{<\/span>\n            <span>try<\/span>\n            <span>{<\/span>\n                <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> k <span>=<\/span> <span>0<\/span><span>;<\/span> k <span>&lt;<\/span> swColl<span>.<\/span>Count<span>-<\/span><span>2<\/span><span>;<\/span> k<span>++<\/span><span>)<\/span>\n                <span>{<\/span>\n\n                    <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> n <span>=<\/span> swColl<span>.<\/span>Count <span>-<\/span> <span>1<\/span><span>;<\/span> n <span>&gt;=<\/span> <span>1<\/span><span>;<\/span> n<span>--<\/span><span>)<\/span>\n                    <span>{<\/span>\n                        <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> swCircleParams1 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swColl<span>[<\/span>n<span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                        <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> swCircleParams2 <span>=<\/span> <span>CircleCoordinates<\/span><span>(<\/span>swColl<span>[<\/span>n <span>-<\/span> <span>1<\/span><span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n                        <span>if<\/span> <span>(<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>swCircleParams1<span>[<\/span>axis<span>]<\/span><span>-<\/span> swCircleParams2<span>[<\/span>axis<span>]<\/span><span>)<\/span><span>&lt;<\/span><span>0.000001<\/span><span>)<\/span>\n                        <span>{<\/span>\n\n\n                            <span>if<\/span> <span>(<\/span>axis <span>==<\/span> <span>0<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                <span>if<\/span> <span>(<\/span>swCircleParams1<span>[<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>axis<span>-<\/span><span>1<\/span><span>)<\/span><span>]<\/span> <span>&gt;<\/span> swCircleParams2<span>[<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>axis <span>-<\/span> <span>1<\/span><span>)<\/span><span>]<\/span><span>)<\/span>\n                                <span>{<\/span>\n                                   \n                                    swColl<span>.<\/span><span>Remove<\/span><span>(<\/span>swColl<span>[<\/span>n <span>-<\/span> <span>1<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n                        \n                                <span>}<\/span>\n                                <span>else<\/span>\n                                <span>{<\/span>\n                                    swColl<span>.<\/span><span>Remove<\/span><span>(<\/span>swColl<span>[<\/span>n<span>]<\/span><span>)<\/span><span>;<\/span>\n                                <span>}<\/span>\n\n\n                            <span>}<\/span>\n                            <span>else<\/span> <span>if<\/span> <span>(<\/span>axis <span>==<\/span> <span>1<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                <span>if<\/span> <span>(<\/span>swCircleParams1<span>[<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>axis <span>-<\/span> <span>1<\/span><span>)<\/span><span>]<\/span> <span>&lt;<\/span> swCircleParams2<span>[<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>axis <span>-<\/span> <span>1<\/span><span>)<\/span><span>]<\/span><span>)<\/span>\n                                <span>{<\/span>\n\n                                    swColl<span>.<\/span><span>Remove<\/span><span>(<\/span>swColl<span>[<\/span>n <span>-<\/span> <span>1<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n\n                                <span>}<\/span>\n                                <span>else<\/span>\n                                <span>{<\/span>\n                                    swColl<span>.<\/span><span>Remove<\/span><span>(<\/span>swColl<span>[<\/span>n<span>]<\/span><span>)<\/span><span>;<\/span>\n                                <span>}<\/span>\n                            <span>}<\/span>\n\n                        <span>}<\/span>\n\n\n                    <span>}<\/span>\n                <span>}<\/span>\n\n\n                <span>return<\/span> swColl<span>;<\/span>\n            <span>}<\/span>\n            <span>catch<\/span> <span>(<\/span><span>Exception<\/span><span>)<\/span>\n            <span>{<\/span>\n\n                <span>throw<\/span><span>;<\/span>\n            <span>}<\/span>\n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u5706\u70b9\u5750\u6807<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swCircle\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewType\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewXform\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> <span>CircleCoordinates<\/span><span>(<\/span><span>Edge<\/span> swCircle<span>,<\/span> <span><span>string<\/span><\/span> swViewType<span>,<\/span> <span>MathTransform<\/span> swViewXform<span>)<\/span>\n        <span>{<\/span>\n\n            <span>Curve<\/span> swCircleCurve <span>=<\/span> <span>(<\/span>Curve<span>)<\/span>swCircle<span>.<\/span><span>GetCurve<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> swCircleParams <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swCircleCurve<span>.<\/span>CircleParams<span>;<\/span>\n            <span><span>var<\/span><\/span> vPt <span>=<\/span> <span>new<\/span> <span><span>double<\/span><\/span><span>[<\/span><span>3<\/span><span>]<\/span><span>;<\/span>\n            vPt<span>[<\/span><span>0<\/span><span>]<\/span> <span>=<\/span> swCircleParams<span>[<\/span><span>0<\/span><span>]<\/span><span>;<\/span>\n            vPt<span>[<\/span><span>1<\/span><span>]<\/span> <span>=<\/span> swCircleParams<span>[<\/span><span>1<\/span><span>]<\/span><span>;<\/span>\n            vPt<span>[<\/span><span>2<\/span><span>]<\/span> <span>=<\/span> swCircleParams<span>[<\/span><span>2<\/span><span>]<\/span><span>;<\/span>\n\n            <span><span>var<\/span><\/span> swMathUtils <span>=<\/span><span>(<\/span>MathUtility<span>)<\/span> swApp<span>.<\/span><span>GetMathUtility<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathUtils<span>.<\/span><span>CreatePoint<\/span><span>(<\/span>vPt<span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> swComp <span>=<\/span><span>(<\/span>Component2<span>)<\/span> <span>(<\/span>swCircle <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>GetComponent<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n            <span>if<\/span> <span>(<\/span>swViewType<span>.<\/span><span>ToUpper<\/span><span>(<\/span><span>)<\/span><span>==<\/span><span>\".SLDASM\"<\/span><span>)<\/span>\n            <span>{<\/span>\n                <span><span>var<\/span><\/span> swCompXform <span>=<\/span> swComp<span>.<\/span>Transform2<span>;<\/span>\n                <span><span>var<\/span><\/span> swTotalXForm <span>=<\/span> swCompXform<span>.<\/span><span>Multiply<\/span><span>(<\/span>swViewXform<span>)<\/span><span>;<\/span>\n                swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathPt<span>.<\/span><span>MultiplyTransform<\/span><span>(<\/span>swTotalXForm<span>)<\/span><span>;<\/span>\n            <span>}<\/span>\n            <span>else<\/span>\n            <span>{<\/span>\n                swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathPt<span>.<\/span><span>MultiplyTransform<\/span><span>(<\/span>swViewXform<span>)<\/span><span>;<\/span>\n            <span>}<\/span>\n            <span>return<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swMathPt<span>.<\/span>ArrayData<span>;<\/span>\n\n        <span>}<\/span>\n\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u589e\u52a0\u957f\u5bbd\u5c3a\u5bf8<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"Top\"&gt;\u5c3a\u5bf8\u4f4d\u7f6e\u653e\u5de6?&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"Left\"&gt;\u5c3a\u5bf8\u4f4d\u7f6e\u653e\u53f3?&lt;\/param&gt;<\/span>\n        <span>public<\/span> <span><span>void<\/span><\/span> <span>AutoAddSize<\/span><span>(<\/span><span><span>bool<\/span><\/span> Top <span>=<\/span> <span>true<\/span><span>,<\/span> <span><span>bool<\/span><\/span> Left <span>=<\/span> <span>true<\/span><span>)<\/span> <span>{<\/span>\n\n            <span>try<\/span>\n            <span>{<\/span>\n                DimOnLeft <span>=<\/span> Left<span>;<\/span>\n                DimOnTop <span>=<\/span> Top<span>;<\/span>\n                <span>AutoOveralDimensions<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n            <span>}<\/span>\n            <span>catch<\/span> <span>(<\/span><span>Exception<\/span><span>)<\/span>\n            <span>{<\/span>\n\n                <span>throw<\/span><span>;<\/span>\n            <span>}<\/span>       \n        \n        \n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u6807\u6ce8<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>public<\/span> <span><span>void<\/span><\/span> <span>AutoOveralDimensions<\/span><span>(<\/span><span>)<\/span> <span>{<\/span>\n                     \n\n            <span><span>var<\/span><\/span> swDraw <span>=<\/span> swModel <span>as<\/span> <span>DrawingDoc<\/span><span>;<\/span>\n\n            <span>if<\/span> <span>(<\/span>swDraw <span>!=<\/span> <span>null<\/span><span>)<\/span> \n            <span>{<\/span>\n                <span>\/\/\u5f53\u524d\u56fe\u7eb8<\/span>\n                <span>Sheet<\/span> swSheet <span>=<\/span> <span>(<\/span>Sheet<span>)<\/span>swDraw<span>.<\/span><span>GetCurrentSheet<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                <span>\/\/\u6240\u6709\u89c6\u56fe<\/span>\n                <span><span>var<\/span><\/span> swViews <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swSheet<span>.<\/span><span>GetViews<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                <span>\/\/\u5faa\u73af<\/span>\n                <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> i <span>=<\/span> <span>0<\/span><span>;<\/span> i <span>&lt;<\/span> swViews<span>.<\/span>Length<span>;<\/span> i<span>++<\/span><span>)<\/span> <span>{<\/span>\n\n                    <span>View<\/span> swView <span>=<\/span> <span>(<\/span>View<span>)<\/span>swViews<span>[<\/span>i<span>]<\/span><span>;<\/span>\n                    <span>\/\/\u53ef\u4ee5\u6392\u9664\u5173\u8054\u89c6\u56fe<\/span>\n                    <span>if<\/span> <span>(<\/span>swView<span>.<\/span>Type<span>==<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swDrawingViewTypes_e<span>.<\/span>swDrawingNamedView<span>)<\/span>\n                    <span>{<\/span>\n                        <span>if<\/span> <span>(<\/span>swView<span>.<\/span><span>GetOrientationName<\/span><span>(<\/span><span>)<\/span> <span>!=<\/span> <span>\"*Isometric\"<\/span> <span>&amp;&amp;<\/span> swView<span>.<\/span><span>GetOrientationName<\/span><span>(<\/span><span>)<\/span> <span>!=<\/span> <span>\"*Trimetric\"<\/span> <span>&amp;&amp;<\/span> swView<span>.<\/span><span>GetOrientationName<\/span><span>(<\/span><span>)<\/span> <span>!=<\/span> <span>\"*Dimetric\"<\/span><span>)<\/span>\n                        <span>{<\/span>\n\n                            <span>ProcessView<\/span><span>(<\/span>swDraw<span>,<\/span> swView<span>,<\/span> <span>true<\/span><span>,<\/span> <span>true<\/span><span>)<\/span><span>;<\/span>\n\n                            <span>\/\/\u627e\u5173\u8054\u89c6\u56fe<\/span>\n                            <span><span>var<\/span><\/span> depHorView <span>=<\/span> <span>GetAlignedDependantView<\/span><span>(<\/span>swView<span>,<\/span> <span>0<\/span><span>)<\/span><span>;<\/span>\n\n                            <span>if<\/span> <span>(<\/span>depHorView <span>!=<\/span> <span>null<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                <span>ProcessView<\/span><span>(<\/span>swDraw<span>,<\/span> depHorView<span>,<\/span> <span>true<\/span><span>,<\/span> <span>false<\/span><span>)<\/span><span>;<\/span>\n                            <span>}<\/span>\n                            <span><span>var<\/span><\/span> depVerView <span>=<\/span> <span>GetAlignedDependantView<\/span><span>(<\/span>swView<span>,<\/span> <span>1<\/span><span>)<\/span><span>;<\/span>\n\n                            <span>if<\/span> <span>(<\/span>depVerView <span>!=<\/span> <span>null<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                <span>ProcessView<\/span><span>(<\/span>swDraw<span>,<\/span> depVerView<span>,<\/span> <span>false<\/span><span>,<\/span> <span>true<\/span><span>)<\/span><span>;<\/span>\n                            <span>}<\/span>\n                        <span>}<\/span>\n\n                    <span>}<\/span>\n\n\n                <span>}<\/span>\n\n            <span>}<\/span>\n            swModel<span>.<\/span><span>ClearSelection2<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>;<\/span>\n            swModel<span>.<\/span><span>GraphicsRedraw2<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u627e\u5173\u8054\u89c6\u56fe<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swParentView\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"intOrientation\"&gt;\u65b9\u5411\uff0c\u6a2a\u5411\/\u7eb5\u5411&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span>View<\/span> <span>GetAlignedDependantView<\/span><span>(<\/span><span>View<\/span> swParentView<span>,<\/span> <span><span>int<\/span><\/span> intOrientation<span>)<\/span>\n        <span>{<\/span>\n            <span><span>var<\/span><\/span> delta <span>=<\/span> <span>0.00001<\/span><span>;<\/span>\n\n            <span><span>var<\/span><\/span> intDependantViews <span>=<\/span> swParentView<span>.<\/span><span>GetDependentViewCount<\/span><span>(<\/span><span>false<\/span><span>,<\/span> <span>(<\/span><span>int<\/span><span>)<\/span>swDrawingViewTypes_e<span>.<\/span>swDrawingProjectedView<span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> objDependantViews <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swParentView<span>.<\/span><span>GetDependentViews<\/span><span>(<\/span><span>false<\/span><span>,<\/span> <span>(<\/span><span>int<\/span><span>)<\/span>swDrawingViewTypes_e<span>.<\/span>swDrawingProjectedView<span>)<\/span><span>;<\/span>\n\n            <span><span>var<\/span><\/span> ParentPos <span>=<\/span><span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span> swParentView<span>.<\/span>Position<span>;<\/span>\n\n            <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> i <span>=<\/span> <span>0<\/span><span>;<\/span> i <span>&lt;<\/span> intDependantViews<span>;<\/span> i<span>++<\/span><span>)<\/span>\n            <span>{<\/span>\n                <span><span>var<\/span><\/span> depView <span>=<\/span> <span>(<\/span>View<span>)<\/span>objDependantViews<span>[<\/span>i<span>]<\/span><span>;<\/span>\n\n                <span><span>var<\/span><\/span> DependantPos <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>depView<span>.<\/span>Position<span>;<\/span>\n\n                <span>if<\/span> <span>(<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>ParentPos<span>[<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>intOrientation <span>-<\/span> <span>1<\/span><span>)<\/span><span>]<\/span> <span>-<\/span> DependantPos<span>[<\/span>Math<span>.<\/span><span>Abs<\/span><span>(<\/span>intOrientation <span>-<\/span> <span>1<\/span><span>)<\/span><span>]<\/span><span>)<\/span><span>&lt;<\/span>delta<span>)<\/span> <span>{<\/span>\n\n                    <span>return<\/span> depView<span>;<\/span>\n\n                <span>}<\/span>\n            <span>}<\/span>\n\n           <span>return<\/span> <span>null<\/span><span>;<\/span>\n        <span>}<\/span>\n\n\n       <span>\/\/\/ &lt;summary&gt;<\/span>\n       <span>\/\/\/ \u904d\u5386 \u70b9 \uff0c\u8ba1\u7b97\u518d\u6807\u6ce8<\/span>\n       <span>\/\/\/ &lt;\/summary&gt;<\/span>\n       <span>\/\/\/ &lt;param name=\"swDraw\"&gt;&lt;\/param&gt;<\/span>\n       <span>\/\/\/ &lt;param name=\"swView\"&gt;&lt;\/param&gt;<\/span>\n       <span>\/\/\/ &lt;param name=\"PlaceHorDim\"&gt;&lt;\/param&gt;<\/span>\n       <span>\/\/\/ &lt;param name=\"PlaceVerDim\"&gt;&lt;\/param&gt;<\/span>\n        <span>private<\/span> <span><span>void<\/span><\/span> <span>ProcessView<\/span><span>(<\/span><span>DrawingDoc<\/span> swDraw<span>,<\/span> <span>View<\/span> swView<span>,<\/span> <span><span>bool<\/span><\/span> PlaceHorDim<span>,<\/span> <span><span>bool<\/span><\/span> PlaceVerDim<span>)<\/span>\n        <span>{<\/span>\n\n            <span>List<span>&lt;<\/span>Vertex<span>&gt;<\/span><\/span> swPcoll<span>=<\/span> <span>new<\/span> <span>List<span>&lt;<\/span>Vertex<span>&gt;<\/span><\/span> <span>(<\/span><span>)<\/span><span>;<\/span>\n\n            swModel<span>.<\/span><span>ClearSelection2<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>;<\/span>\n\n            <span><span>var<\/span><\/span> refModel<span>=<\/span> swView<span>.<\/span>ReferencedDocument<span>;<\/span>\n\n            <span><span>var<\/span><\/span> vComps <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swView<span>.<\/span><span>GetVisibleComponents<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n            <span>MathTransform<\/span> swViewXform <span>=<\/span> <span>ViewMathTransform<\/span><span>(<\/span>swDraw<span>,<\/span> swView<span>)<\/span><span>;<\/span>\n\n            <span>\/\/\u83b7\u53d6\u6240\u6709\u76f4\u7ebf\u8fb9\u70b9<\/span>\n            <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> j <span>=<\/span> <span>0<\/span><span>;<\/span>j <span>&lt;<\/span> swView<span>.<\/span><span>GetVisibleComponentCount<\/span><span>(<\/span><span>)<\/span><span>;<\/span> j<span>++<\/span><span>)<\/span>\n            <span>{<\/span>\n                <span><span>var<\/span><\/span> vEdges <span>=<\/span> <span>(<\/span><span>object<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swView<span>.<\/span><span>GetVisibleEntities<\/span><span>(<\/span><span>(<\/span>Component2<span>)<\/span>vComps<span>[<\/span>j<span>]<\/span><span>,<\/span> <span>(<\/span><span>int<\/span><span>)<\/span>swViewEntityType_e<span>.<\/span>swViewEntityType_Edge<span>)<\/span><span>;<\/span>\n                  swSelData <span>=<\/span> <span>(<\/span>SelectData<span>)<\/span>swModel<span>.<\/span>ISelectionManager<span>.<\/span><span>CreateSelectData<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                    <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> itr <span>=<\/span> <span>0<\/span><span>;<\/span> itr <span>&lt;<\/span> vEdges<span>.<\/span>Length<span>;<\/span> itr<span>++<\/span><span>)<\/span>\n                    <span>{<\/span>\n                        <span><span>var<\/span><\/span> swCurve <span>=<\/span> <span>(<\/span>Curve<span>)<\/span><span>(<\/span><span>(<\/span>Edge<span>)<\/span>vEdges<span>[<\/span>itr<span>]<\/span><span>)<\/span><span>.<\/span><span>GetCurve<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                        <span>if<\/span> <span>(<\/span><span>!<\/span>swCurve<span>.<\/span><span>IsCircle<\/span><span>(<\/span><span>)<\/span><span>)<\/span>\n                        <span>{<\/span>\n                            <span><span>var<\/span><\/span> startVertex<span>=<\/span> <span>(<\/span>Vertex<span>)<\/span><span>(<\/span><span>(<\/span>Edge<span>)<\/span>vEdges<span>[<\/span>itr<span>]<\/span><span>)<\/span><span>.<\/span><span>GetStartVertex<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                            <span><span>var<\/span><\/span> endVertex <span>=<\/span> <span>(<\/span>Vertex<span>)<\/span><span>(<\/span><span>(<\/span>Edge<span>)<\/span>vEdges<span>[<\/span>itr<span>]<\/span><span>)<\/span><span>.<\/span><span>GetEndVertex<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                            <span>if<\/span> <span>(<\/span>startVertex <span>!=<\/span><span>null<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                swPcoll<span>.<\/span><span>Add<\/span><span>(<\/span>startVertex<span>)<\/span><span>;<\/span>\n                            <span>}<\/span>\n                            <span>if<\/span> <span>(<\/span>endVertex <span>!=<\/span> <span>null<\/span><span>)<\/span>\n                            <span>{<\/span>\n                                swPcoll<span>.<\/span><span>Add<\/span><span>(<\/span>endVertex<span>)<\/span><span>;<\/span>\n                            <span>}<\/span>\n                        <span>}<\/span>\n\n                    <span>}<\/span>\n            <span>}<\/span>\n\n            <span>Entity<\/span> swEntXmax<span>,<\/span> swEntXmin<span>,<\/span> swEntYmax<span>,<\/span> swEntYmin<span>;<\/span>\n\n\n            <span>if<\/span> <span>(<\/span>swPcoll<span>.<\/span>Count<span>&gt;<\/span><span>0<\/span><span>)<\/span>\n            <span>{<\/span>\n\n                swEntXmax <span>=<\/span> <span>FindExtremun<\/span><span>(<\/span><span>0<\/span><span>,<\/span> <span>\"max\"<\/span><span>,<\/span> swPcoll<span>,<\/span> refModel<span>.<\/span><span>GetType<\/span><span>(<\/span><span>)<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                swEntXmin <span>=<\/span> <span>FindExtremun<\/span><span>(<\/span><span>0<\/span><span>,<\/span> <span>\"min\"<\/span><span>,<\/span> swPcoll<span>,<\/span> refModel<span>.<\/span><span>GetType<\/span><span>(<\/span><span>)<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                swEntYmax <span>=<\/span> <span>FindExtremun<\/span><span>(<\/span><span>1<\/span><span>,<\/span> <span>\"max\"<\/span><span>,<\/span> swPcoll<span>,<\/span> refModel<span>.<\/span><span>GetType<\/span><span>(<\/span><span>)<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n                swEntYmin <span>=<\/span> <span>FindExtremun<\/span><span>(<\/span><span>1<\/span><span>,<\/span> <span>\"min\"<\/span><span>,<\/span> swPcoll<span>,<\/span> refModel<span>.<\/span><span>GetType<\/span><span>(<\/span><span>)<\/span><span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n\n                <span><span>var<\/span><\/span> vBounds <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swView<span>.<\/span><span>GetOutline<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                <span>if<\/span> <span>(<\/span>PlaceHorDim<span>)<\/span>\n                <span>{<\/span>\n                    <span>PlaceOverallDimension<\/span><span>(<\/span>swModel<span>,<\/span> swEntXmax<span>,<\/span> swEntXmin<span>,<\/span> <span>\"Horizontal\"<\/span><span>,<\/span> vBounds<span>)<\/span><span>;<\/span>\n                <span>}<\/span>\n\n                <span>if<\/span> <span>(<\/span>PlaceVerDim<span>)<\/span>\n                <span>{<\/span>\n                    <span>PlaceOverallDimension<\/span><span>(<\/span>swModel<span>,<\/span> swEntYmax<span>,<\/span> swEntYmin<span>,<\/span> <span>\"Vertical\"<\/span><span>,<\/span> vBounds<span>)<\/span><span>;<\/span>\n                <span>}<\/span>\n\n            <span>}<\/span>\n\n        <span>}<\/span>\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u653e\u7f6e\u5c3a\u5bf8<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swModel\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swVertex1\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swVertex2\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"DimOrientation\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"vBounds\"&gt;&lt;\/param&gt;<\/span>\n        <span>private<\/span> <span><span>void<\/span><\/span> <span>PlaceOverallDimension<\/span><span>(<\/span><span>ModelDoc2<\/span> swModel<span>,<\/span> <span>Entity<\/span> swVertex1<span>,<\/span> <span>Entity<\/span> swVertex2<span>,<\/span> <span><span>string<\/span><\/span> DimOrientation<span>,<\/span> <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> vBounds<span>)<\/span>\n        <span>{<\/span>\n            <span><span>double<\/span><\/span> dblConvFactor <span>=<\/span> <span>GetUnitConvFactor<\/span><span>(<\/span><span>\"\"<\/span><span>)<\/span><span>;<\/span>\n            <span>if<\/span> <span>(<\/span>DimOrientation <span>==<\/span> <span>\"Horizontal\"<\/span><span>)<\/span> <span>{<\/span>\n\n                HorOffset <span>=<\/span> HorOffset <span>*<\/span> dblConvFactor<span>;<\/span>\n\n            <span>}<\/span>\n            <span>if<\/span> <span>(<\/span>DimOrientation <span>==<\/span> <span>\"Vertical\"<\/span><span>)<\/span>\n            <span>{<\/span>\n                VerOffset <span>=<\/span> VerOffset <span>*<\/span> dblConvFactor<span>;<\/span>\n            <span>}<\/span>\n            swModel<span>.<\/span><span>ClearSelection2<\/span><span>(<\/span><span>true<\/span><span>)<\/span><span>;<\/span>\n\n            swVertex1<span>.<\/span><span>Select4<\/span><span>(<\/span><span>false<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n            swVertex2<span>.<\/span><span>Select4<\/span><span>(<\/span><span>true<\/span><span>,<\/span> swSelData<span>)<\/span><span>;<\/span>\n            <span><span>double<\/span><\/span> Xpos<span>,<\/span> Ypos<span>;<\/span>\n\n            <span>if<\/span> <span>(<\/span>DimOrientation <span>==<\/span> <span>\"Horizontal\"<\/span><span>)<\/span>\n            <span>{<\/span>\n                Xpos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>0<\/span><span>]<\/span> <span>+<\/span> vBounds<span>[<\/span><span>2<\/span><span>]<\/span><span>)<\/span> <span>\/<\/span> <span>2<\/span><span>;<\/span>\n\n                <span>if<\/span><span>(<\/span>DimOnTop<span>)<\/span> <span>\/\/\u6807\u6ce8\u5728\u9876\u90e8<\/span>\n                <span>{<\/span>\n                    Ypos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>3<\/span><span>]<\/span> <span>+<\/span> HorOffset<span>)<\/span><span>;<\/span>\n                <span>}<\/span>\n                <span>else<\/span>\n                <span>{<\/span>\n                    Ypos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>1<\/span><span>]<\/span> <span>-<\/span> HorOffset<span>)<\/span><span>;<\/span>\n                <span>}<\/span>\n\n                <span><span>var<\/span><\/span> myDisplayDim <span>=<\/span> swModel<span>.<\/span><span>AddHorizontalDimension2<\/span><span>(<\/span>Xpos<span>,<\/span> Ypos<span>,<\/span> <span>0<\/span><span>)<\/span><span>;<\/span>\n\n\n            <span>}<\/span> <span>else<\/span> <span>if<\/span> <span>(<\/span>DimOrientation <span>==<\/span> <span>\"Vertical\"<\/span><span>)<\/span>\n            <span>{<\/span>\n                Ypos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>1<\/span><span>]<\/span> <span>+<\/span> vBounds<span>[<\/span><span>3<\/span><span>]<\/span><span>)<\/span> <span>\/<\/span> <span>2<\/span><span>;<\/span>\n\n                <span>if<\/span> <span>(<\/span>DimOnLeft<span>)<\/span> \n                <span>{<\/span>\n                    Xpos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>0<\/span><span>]<\/span> <span>-<\/span> HorOffset<span>)<\/span><span>;<\/span>\n                <span>}<\/span>\n                <span>else<\/span>\n                <span>{<\/span>\n                    Xpos <span>=<\/span> <span>(<\/span>vBounds<span>[<\/span><span>2<\/span><span>]<\/span> <span>+<\/span> HorOffset<span>)<\/span><span>;<\/span>\n                <span>}<\/span>\n\n                <span><span>var<\/span><\/span> myDisplayDim <span>=<\/span> swModel<span>.<\/span><span>AddVerticalDimension2<\/span><span>(<\/span>Xpos<span>,<\/span> Ypos<span>,<\/span> <span>0<\/span><span>)<\/span><span>;<\/span>\n\n\n            <span>}<\/span>\n\n\n        <span>}<\/span>\n\n\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u83b7\u53d6\u5355\u4f4d<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"v\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span><span>double<\/span><\/span> <span>GetUnitConvFactor<\/span><span>(<\/span><span><span>string<\/span><\/span> v<span>)<\/span>\n        <span>{<\/span>\n            <span><span>var<\/span><\/span> LenUnit <span>=<\/span> swModel<span>.<\/span><span>GetUserPreferenceIntegerValue<\/span><span>(<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swUserPreferenceIntegerValue_e<span>.<\/span>swUnitsLinear<span>)<\/span><span>;<\/span>\n            <span>switch<\/span> <span>(<\/span>LenUnit<span>)<\/span>\n            <span>{<\/span>\n                <span>case<\/span> <span>0<\/span>  <span>:<\/span> <span>return<\/span> <span>0.001<\/span><span>;<\/span>\n                <span>case<\/span> <span>1<\/span>  <span>:<\/span> <span>return<\/span> <span>0.01<\/span><span>;<\/span>\n                <span>case<\/span> <span>2<\/span>  <span>:<\/span> <span>return<\/span> <span>1<\/span><span>;<\/span>\n                <span>case<\/span> <span>3<\/span>  <span>:<\/span> <span>return<\/span> <span>0.0254<\/span><span>;<\/span>\n                <span>case<\/span> <span>4<\/span>  <span>:<\/span> <span>return<\/span> <span>0.3048<\/span><span>;<\/span>\n                <span>case<\/span> <span>5<\/span>  <span>:<\/span> <span>return<\/span> <span>-<\/span><span>1<\/span><span>;<\/span>\n                <span>case<\/span> <span>6<\/span>  <span>:<\/span> <span>return<\/span> <span>0.0000000001<\/span><span>;<\/span>\n                <span>case<\/span> <span>7<\/span>  <span>:<\/span> <span>return<\/span> <span>0.000000001<\/span><span>;<\/span>\n                <span>case<\/span> <span>8<\/span>  <span>:<\/span> <span>return<\/span> <span>0.000001<\/span><span>;<\/span>\n                <span>case<\/span> <span>9<\/span>  <span>:<\/span> <span>return<\/span> <span>0.00254<\/span><span>;<\/span>\n                <span>case<\/span> <span>10<\/span>  <span>:<\/span> <span>return<\/span> <span>0.00000254<\/span><span>;<\/span>\n                <span>default<\/span><span>:<\/span>\n                    <span>return<\/span> <span>-<\/span><span>1<\/span><span>;<\/span>\n                \n            <span>}<\/span>         \n\n\n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u627e\u6781\u70b9<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"axis\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"MinMax\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swPcoll\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewType\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewXform\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span>Entity<\/span> <span>FindExtremun<\/span><span>(<\/span><span><span>int<\/span><\/span> axis<span>,<\/span> <span><span>string<\/span><\/span> MinMax<span>,<\/span> <span>List<span>&lt;<\/span>Vertex<span>&gt;<\/span><\/span> swPcoll<span>,<\/span> <span><span>int<\/span><\/span> swViewType<span>,<\/span> <span>MathTransform<\/span> swViewXform<span>)<\/span>\n        <span>{<\/span>\n            <span><span>var<\/span><\/span> swVertex <span>=<\/span> swPcoll<span>[<\/span><span>0<\/span><span>]<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> vPt <span>=<\/span> <span>PointCoordinates<\/span><span>(<\/span>swVertex<span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> Extr <span>=<\/span> vPt<span>[<\/span>axis<span>]<\/span><span>;<\/span>\n\n            <span>for<\/span> <span>(<\/span><span><span>int<\/span><\/span> i <span>=<\/span> <span>0<\/span><span>;<\/span> i <span>&lt;<\/span> swPcoll<span>.<\/span>Count<span>;<\/span> i<span>++<\/span><span>)<\/span>\n            <span>{<\/span>\n                vPt <span>=<\/span> <span>PointCoordinates<\/span><span>(<\/span>swPcoll<span>[<\/span>i<span>]<\/span><span>,<\/span> swViewType<span>,<\/span> swViewXform<span>)<\/span><span>;<\/span>\n\n                <span>if<\/span> <span>(<\/span>MinMax<span>==<\/span><span>\"max\"<\/span> <span>&amp;&amp;<\/span> vPt<span>[<\/span>axis<span>]<\/span><span>&gt;<\/span>Extr<span>)<\/span>\n                <span>{<\/span>\n                    Extr <span>=<\/span> vPt<span>[<\/span>axis<span>]<\/span><span>;<\/span>\n                    swVertex <span>=<\/span> swPcoll<span>[<\/span>i<span>]<\/span><span>;<\/span>\n\n                <span>}<\/span>\n                <span>else<\/span> <span>if<\/span> <span>(<\/span>MinMax <span>==<\/span> <span>\"min\"<\/span> <span>&amp;&amp;<\/span> vPt<span>[<\/span>axis<span>]<\/span> <span>&lt;<\/span> Extr<span>)<\/span>\n                <span>{<\/span>\n                    Extr <span>=<\/span> vPt<span>[<\/span>axis<span>]<\/span><span>;<\/span>\n                    swVertex <span>=<\/span> swPcoll<span>[<\/span>i<span>]<\/span><span>;<\/span>\n\n                <span>}<\/span>\n\n            <span>}<\/span>\n            <span>return<\/span> swVertex <span>as<\/span> <span>Entity<\/span><span>;<\/span>\n\n      \n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u5750\u6807\u7cfb\u8f6c\u6362<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swVertex\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewType\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewXform\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> <span>PointCoordinates<\/span><span>(<\/span><span>Vertex<\/span> swVertex<span>,<\/span> <span><span>int<\/span><\/span> swViewType<span>,<\/span> <span>MathTransform<\/span> swViewXform<span>)<\/span>\n        <span>{<\/span>\n            <span><span>var<\/span><\/span> swMathUtils <span>=<\/span> swApp<span>.<\/span><span>IGetMathUtility<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> vPt <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swVertex<span>.<\/span><span>GetPoint<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathUtils<span>.<\/span><span>CreatePoint<\/span><span>(<\/span>vPt<span>)<\/span><span>;<\/span>\n\n            <span>if<\/span> <span>(<\/span>swViewType<span>==<\/span><span>(<\/span><span>int<\/span><span>)<\/span>swDocumentTypes_e<span>.<\/span>swDocASSEMBLY<span>)<\/span>\n            <span>{<\/span>\n                <span><span>var<\/span><\/span> swComp <span>=<\/span><span>(<\/span>Component2<span>)<\/span> <span>(<\/span>swVertex <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>GetComponent<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                <span>if<\/span> <span>(<\/span>swComp<span>!=<\/span><span>null<\/span><span>)<\/span>\n                <span>{<\/span>\n                    <span>MathTransform<\/span> swCompXform <span>=<\/span> swComp<span>.<\/span>Transform2<span>;<\/span>\n\n                    <span>MathTransform<\/span> swTotalXForm <span>=<\/span> <span>(<\/span>MathTransform<span>)<\/span>swCompXform<span>.<\/span><span>Multiply<\/span><span>(<\/span>swViewXform<span>)<\/span><span>;<\/span>\n\n                     swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathPt<span>.<\/span><span>MultiplyTransform<\/span><span>(<\/span>swTotalXForm<span>)<\/span><span>;<\/span>\n\n                <span>}<\/span>\n\n            <span>}<\/span>\n            <span>else<\/span>\n            <span>{<\/span>\n                swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathPt<span>.<\/span><span>MultiplyTransform<\/span><span>(<\/span>swViewXform<span>)<\/span><span>;<\/span>\n            <span>}<\/span>\n\n            <span>return<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swMathPt<span>.<\/span>ArrayData<span>;<\/span>\n\n\n        <span>}<\/span>\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u5750\u6807\u7cfb\u8f6c\u6362<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swVertex\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewType\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swViewXform\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span><span>double<\/span><span>[<\/span><span>]<\/span><\/span> <span>PointCoordinates<\/span><span>(<\/span><span>SldWorks<\/span> swApp<span>,<\/span><span>Vertex<\/span> swVertex<span>,<\/span> <span><span>string<\/span><\/span> swViewType<span>,<\/span> <span>MathTransform<\/span> swViewXform<span>)<\/span>\n        <span>{<\/span>\n            <span><span>var<\/span><\/span> swMathUtils <span>=<\/span> swApp<span>.<\/span><span>IGetMathUtility<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> vPt <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swVertex<span>.<\/span><span>GetPoint<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n            <span><span>var<\/span><\/span> swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathUtils<span>.<\/span><span>CreatePoint<\/span><span>(<\/span>vPt<span>)<\/span><span>;<\/span>\n\n            <span>if<\/span> <span>(<\/span>swViewType <span>==<\/span> <span>\"SLDASM\"<\/span><span>)<\/span>\n            <span>{<\/span>\n                <span><span>var<\/span><\/span> swComp <span>=<\/span> <span>(<\/span>Component2<span>)<\/span><span>(<\/span>swVertex <span>as<\/span> <span>Entity<\/span><span>)<\/span><span>.<\/span><span>GetComponent<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n\n                <span>if<\/span> <span>(<\/span>swComp <span>!=<\/span> <span>null<\/span><span>)<\/span>\n                <span>{<\/span>\n                    <span>MathTransform<\/span> swCompXform <span>=<\/span> swComp<span>.<\/span>Transform2<span>;<\/span>\n\n                    <span>MathTransform<\/span> swTotalXForm <span>=<\/span> <span>(<\/span>MathTransform<span>)<\/span>swCompXform<span>.<\/span><span>Multiply<\/span><span>(<\/span>swViewXform<span>)<\/span><span>;<\/span>\n\n                    swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathPt<span>.<\/span><span>MultiplyTransform<\/span><span>(<\/span>swTotalXForm<span>)<\/span><span>;<\/span>\n\n                <span>}<\/span>\n\n            <span>}<\/span>\n            <span>else<\/span>\n            <span>{<\/span>\n                swMathPt <span>=<\/span> <span>(<\/span>MathPoint<span>)<\/span>swMathPt<span>.<\/span><span>MultiplyTransform<\/span><span>(<\/span>swViewXform<span>)<\/span><span>;<\/span>\n            <span>}<\/span>\n\n            <span>return<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swMathPt<span>.<\/span>ArrayData<span>;<\/span>\n\n\n        <span>}<\/span>\n\n\n\n        <span>\/\/\/ &lt;summary&gt;<\/span>\n        <span>\/\/\/ \u89c6\u56fe\u8f6c\u6362<\/span>\n        <span>\/\/\/ &lt;\/summary&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swDraw\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;param name=\"swView\"&gt;&lt;\/param&gt;<\/span>\n        <span>\/\/\/ &lt;returns&gt;&lt;\/returns&gt;<\/span>\n        <span>private<\/span> <span>MathTransform<\/span> <span>ViewMathTransform<\/span><span>(<\/span><span>DrawingDoc<\/span> swDraw<span>,<\/span> <span>View<\/span> swView<span>)<\/span>\n        <span>{<\/span>\n            <span>try<\/span>\n            <span>{<\/span>\n                <span><span>var<\/span><\/span> swViewXform <span>=<\/span> <span>(<\/span>MathTransform<span>)<\/span>swView<span>.<\/span>ModelToViewTransform<span>;<\/span>\n                <span><span>var<\/span><\/span> swSheet <span>=<\/span> <span>(<\/span>Sheet<span>)<\/span>swDraw<span>.<\/span><span>GetCurrentSheet<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                <span><span>var<\/span><\/span> swSheetView <span>=<\/span> <span>(<\/span>View<span>)<\/span>swDraw<span>.<\/span><span>GetFirstView<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                <span><span>var<\/span><\/span> swSheetXform <span>=<\/span> <span>(<\/span>MathTransform<span>)<\/span>swSheetView<span>.<\/span>ModelToViewTransform<span>;<\/span>\n\n                <span><span>var<\/span><\/span> vSheetPrps <span>=<\/span> <span>(<\/span><span>double<\/span><span>[<\/span><span>]<\/span><span>)<\/span>swSheet<span>.<\/span><span>GetProperties<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                <span><span>var<\/span><\/span> scaleNom <span>=<\/span> vSheetPrps<span>[<\/span><span>2<\/span><span>]<\/span><span>;<\/span>\n                <span><span>var<\/span><\/span> scaleDenom <span>=<\/span> vSheetPrps<span>[<\/span><span>3<\/span><span>]<\/span><span>;<\/span>\n                <span><span>var<\/span><\/span> ViewMatrix <span>=<\/span> <span>(<\/span>Double<span>[<\/span><span>]<\/span><span>)<\/span>swSheetXform<span>.<\/span>ArrayData<span>;<\/span>\n                ViewMatrix<span>[<\/span><span>12<\/span><span>]<\/span> <span>=<\/span> <span>1<\/span><span>;<\/span> <span>\/\/'scaleNom \/ scaleDenom<\/span>\n                <span><span>var<\/span><\/span> swMathUtil <span>=<\/span> <span>(<\/span>MathUtility<span>)<\/span>swApp<span>.<\/span><span>GetMathUtility<\/span><span>(<\/span><span>)<\/span><span>;<\/span>\n                swSheetXform <span>=<\/span> <span>(<\/span>MathTransform<span>)<\/span>swMathUtil<span>.<\/span><span>CreateTransform<\/span><span>(<\/span>ViewMatrix<span>)<\/span><span>;<\/span>\n                <span>return<\/span> <span>(<\/span>MathTransform<span>)<\/span>swViewXform<span>.<\/span><span>Multiply<\/span><span>(<\/span>swSheetXform<span>.<\/span><span>Inverse<\/span><span>(<\/span><span>)<\/span><span>)<\/span><span>;<\/span>\n\n            <span>}<\/span>\n            <span>catch<\/span> <span>(<\/span><span>Exception<\/span><span>)<\/span>\n            <span>{<\/span>\n\n                <span>return<\/span> <span>null<\/span><span>;<\/span>\n            <span>}<\/span>\n        <span>}<\/span>\n\n\n\n\n\n\n    <span>}<\/span>\n\n<\/code><\/pre>\n<hr>\n<h1><a rel=\"nofollow\"><\/a>\u603b\u7ed3<\/h1>\n<p><img decoding=\"async\" src=\"https:\/\/img-blog.csdnimg.cn\/597ebd279ff04d4c8a46d3046e4ea2a4.png\" class=\"aligncenter\"><\/p>\n<p>\u6211\u8fd9\u529f\u80fd\u662f\u6284\u6765\u7684\uff0c\u6709\u95ee\u9898\u522b\u95ee\u6211\uff0c\u54c8\u54c8<\/p>\n<p>\u60f3\u8981\u6e90\u7801\u7684\u81ea\u53d6<\/p>\n<p>          posted @<br \/>\n<span>2022-08-02 19: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=17369383\" 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&#8212;\u5de5\u7a0b\u56fe\u7b80\u5355\u7248\u6807\u6ce8\u5b54\u4fe1\u606f \u7a81\u7136\u611f\u89c9\u597d\u4e45\u6ca1\u6709\u5199\u6280\u672f\u6587\u7ae0\u4e86\uff0c\u786e\u5b9e\uff0c\u56de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":517,"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-516","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-solidworks-","category-solidworks","tag-api","tag-solidworks","tag-8"],"views":204,"_links":{"self":[{"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/posts\/516","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=516"}],"version-history":[{"count":0,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/posts\/516\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=\/wp\/v2\/media\/517"}],"wp:attachment":[{"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=516"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/blog.ke-zhi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}