{"id":188,"date":"2026-03-04T09:00:01","date_gmt":"2026-03-04T01:00:01","guid":{"rendered":"https:\/\/www.alimzs.com\/index.php\/2026\/03\/04\/opencascade-7-7-0-%e5%ae%8c%e5%85%a8%e6%95%99%e7%a8%8b%ef%bc%88%e4%ba%8c%ef%bc%89%ef%bc%9abrep-%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e8%af%a6%e8%a7%a3-2\/"},"modified":"2026-03-04T09:00:01","modified_gmt":"2026-03-04T01:00:01","slug":"opencascade-7-7-0-%e5%ae%8c%e5%85%a8%e6%95%99%e7%a8%8b%ef%bc%88%e4%ba%8c%ef%bc%89%ef%bc%9abrep-%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e8%af%a6%e8%a7%a3-2","status":"publish","type":"post","link":"https:\/\/www.alimzs.com\/index.php\/2026\/03\/04\/opencascade-7-7-0-%e5%ae%8c%e5%85%a8%e6%95%99%e7%a8%8b%ef%bc%88%e4%ba%8c%ef%bc%89%ef%bc%9abrep-%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e8%af%a6%e8%a7%a3-2\/","title":{"rendered":"OpenCASCADE 7.7.0 \u5b8c\u5168\u6559\u7a0b\uff08\u4e8c\uff09\uff1aBRep \u6570\u636e\u7ed3\u6784\u8be6\u89e3"},"content":{"rendered":"<p># OpenCASCADE 7.7.0 \u5b8c\u5168\u6559\u7a0b\uff08\u4e8c\uff09\uff1aBRep \u6570\u636e\u7ed3\u6784\u8be6\u89e3<\/p>\n<h2>BRep \u6838\u5fc3\u6982\u5ff5<\/h2>\n<p>BRep\uff08Boundary Representation\uff0c\u8fb9\u754c\u8868\u793a\u6cd5\uff09\u662f OCCT \u7684\u6838\u5fc3\u6570\u636e\u7ed3\u6784\u3002<\/p>\n<h3>\u51e0\u4f55\u4e0e\u62d3\u6251\u7684\u5173\u7cfb<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u51e0\u4f55 (Geometry)<\/th>\n<th>\u62d3\u6251 (Topology)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u6570\u5b66\u63cf\u8ff0\uff08\u66f2\u7ebf\/\u66f2\u9762\uff09<\/td>\n<td>\u5173\u7cfb\u7ed1\u5b9a\uff08\u9876\u70b9\/\u8fb9\/\u9762\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u4f8b\u5982\uff1a\u5706\u5fc3 (0,0,0) \u534a\u5f84 10<\/td>\n<td>\u4f8b\u5982\uff1a\u8fd9\u6761\u8fb9\u662f\u5706\u5f62\u7684<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u62d3\u6251\u5143\u7d20\u5c42\u6b21<\/h2>\n<pre><code>Compound (\u590d\u5408\u4f53)\n  \u2514\u2500 CompSolid (\u590d\u5408\u5b9e\u4f53)\n      \u2514\u2500 Solid (\u5b9e\u4f53)\n          \u2514\u2500 Shell (\u58f3)\n              \u2514\u2500 Face (\u9762)\n                  \u251c\u2500 Wire (\u5916\u8f6e\u5ed3)\n                  \u2502   \u2514\u2500 Edge (\u8fb9)\n                  \u2502       \u2514\u2500 Vertex (\u9876\u70b9)\n                  \u2514\u2500 Wire (\u5185\u5b54)\n<\/code><\/pre>\n<h3>\u5404\u5143\u7d20\u8bf4\u660e<\/h3>\n<ul>\n<li><strong>Vertex (\u9876\u70b9)<\/strong>: 0 \u7ef4\u5143\u7d20\uff0c\u7a7a\u95f4\u4e2d\u7684\u4e00\u4e2a\u70b9<\/li>\n<li><strong>Edge (\u8fb9)<\/strong>: 1 \u7ef4\u5143\u7d20\uff0c\u7531\u66f2\u7ebf\u548c\u4e24\u4e2a\u9876\u70b9\u5b9a\u4e49<\/li>\n<li><strong>Wire (\u7ebf\u6846)<\/strong>: \u591a\u6761\u8fb9\u8fde\u63a5\u6210\u7684\u8f6e\u5ed3<\/li>\n<li><strong>Face (\u9762)<\/strong>: 2 \u7ef4\u5143\u7d20\uff0c\u7531\u7ebf\u6846\u8fb9\u754c\u548c\u66f2\u9762\u5b9a\u4e49<\/li>\n<li><strong>Shell (\u58f3)<\/strong>: \u591a\u4e2a\u9762\u7ec4\u6210\u7684\u96c6\u5408<\/li>\n<li><strong>Solid (\u5b9e\u4f53)<\/strong>: \u95ed\u5408\u58f3\u5305\u56f4\u7684 3D \u4f53\u79ef<\/li>\n<li><strong>Compound (\u590d\u5408\u4f53)<\/strong>: \u4efb\u610f\u5f62\u72b6\u7684\u7ec4\u5408<\/li>\n<\/ul>\n<h2>\u51e0\u4f55\u7c7b\u578b<\/h2>\n<h3>\u66f2\u7ebf\u7c7b\u578b<\/h3>\n<ul>\n<li><strong>\u76f4\u7ebf<\/strong> (Geom_Line)<\/li>\n<li><strong>\u5706<\/strong> (Geom_Circle)<\/li>\n<li><strong>\u692d\u5706<\/strong> (Geom_Ellipse)<\/li>\n<li><strong>NURBS \u66f2\u7ebf<\/strong> (Geom_BSplineCurve)<\/li>\n<li><strong>\u8d1d\u585e\u5c14\u66f2\u7ebf<\/strong> (Geom_BezierCurve)<\/li>\n<\/ul>\n<h3>\u66f2\u9762\u7c7b\u578b<\/h3>\n<ul>\n<li><strong>\u5e73\u9762<\/strong> (Geom_Plane)<\/li>\n<li><strong>\u5706\u67f1\u9762<\/strong> (Geom_CylindricalSurface)<\/li>\n<li><strong>\u5706\u9525\u9762<\/strong> (Geom_ConicalSurface)<\/li>\n<li><strong>\u7403\u9762<\/strong> (Geom_SphericalSurface)<\/li>\n<li><strong>NURBS \u66f2\u9762<\/strong> (Geom_BSplineSurface)<\/li>\n<\/ul>\n<h2>\u4ee3\u7801\u793a\u4f8b<\/h2>\n<h3>\u521b\u5efa\u9876\u70b9<\/h3>\n<pre><code class=\"language-cpp\">#include &lt;gp_Pnt.hxx&gt;\n#include &lt;TopoDS_Vertex.hxx&gt;\n#include &lt;BRepBuilderAPI_MakeVertex.hxx&gt;\n\n\/\/ \u521b\u5efa\u70b9 (0, 0, 0)\ngp_Pnt p(0, 0, 0);\nTopoDS_Vertex v = BRepBuilderAPI_MakeVertex(p);\n<\/code><\/pre>\n<h3>\u521b\u5efa\u8fb9\uff08\u76f4\u7ebf\uff09<\/h3>\n<pre><code class=\"language-cpp\">#include &lt;gp_Pnt.hxx&gt;\n#include &lt;TopoDS_Edge.hxx&gt;\n#include &lt;BRepBuilderAPI_MakeEdge.hxx&gt;\n\n\/\/ \u521b\u5efa\u4ece (0,0,0) \u5230 (10,0,0) \u7684\u76f4\u7ebf\u8fb9\ngp_Pnt p1(0, 0, 0);\ngp_Pnt p2(10, 0, 0);\nTopoDS_Edge edge = BRepBuilderAPI_MakeEdge(p1, p2);\n<\/code><\/pre>\n<h3>\u521b\u5efa\u5706\u5f62\u8fb9<\/h3>\n<pre><code class=\"language-cpp\">#include &lt;gp_Circ.hxx&gt;\n#include &lt;Geom_Circle.hxx&gt;\n#include &lt;BRepBuilderAPI_MakeEdge.hxx&gt;\n\n\/\/ \u521b\u5efa\u534a\u5f84\u4e3a 5 \u7684\u5706\ngp_Ax2 axis(gp_Pnt(0, 0, 0), gp_Dir(0, 0, 1));\ngp_Circ circ(axis, 5);\nTopoDS_Edge circle = BRepBuilderAPI_MakeEdge(circ);\n<\/code><\/pre>\n<h3>\u521b\u5efa\u9762<\/h3>\n<pre><code class=\"language-cpp\">#include &lt;gp_Pln.hxx&gt;\n#include &lt;Geom_Plane.hxx&gt;\n#include &lt;BRepBuilderAPI_MakeFace.hxx&gt;\n\n\/\/ \u521b\u5efa XY \u5e73\u9762\ngp_Pln plane(gp_Pnt(0, 0, 0), gp_Dir(0, 0, 1));\nTopoDS_Face face = BRepBuilderAPI_MakeFace(plane);\n<\/code><\/pre>\n<h3>\u521b\u5efa\u7acb\u65b9\u4f53<\/h3>\n<pre><code class=\"language-cpp\">#include &lt;BRepPrimAPI_MakeBox.hxx&gt;\n\n\/\/ \u521b\u5efa 10x20x30 \u7684\u7acb\u65b9\u4f53\nTopoDS_Solid box = BRepPrimAPI_MakeBox(10, 20, 30);\n\n\/\/ \u9a8c\u8bc1\nif (box.IsNull()) {\n    std::cerr &lt;&lt; \"\u521b\u5efa\u5931\u8d25\" &lt;&lt; std::endl;\n}\n<\/code><\/pre>\n<h2>BRep \u6587\u4ef6\u683c\u5f0f<\/h2>\n<p>OCCT \u539f\u751f BREP \u683c\u5f0f\u793a\u4f8b\uff1a<\/p>\n<pre><code>DBRep_DrawableShape\nCASCADE Topology V1, (c) Open Cascade\nLocations 1\n1\n              1               0               0               0 \n              0               1               0               0 \n              0               0               1               0 \nCurve2ds 1\n1 0 0 1 0 \nCurves 1\n1 0 0 0 0 0 1 \nPolygon3D 0\nPolygonOnTriangulations 0\nSurfaces 1\n1 0 0 0 0 0 1 0 1 0 1 0 \nTriangulations 0\nTShapes 7\nVe\n1e-07 1\n0 0 0\n01000000\n...<\/code><\/pre>\n<h2>\u62d3\u6251\u67e5\u8be2\u793a\u4f8b<\/h2>\n<h3>\u904d\u5386\u5b9e\u4f53\u7684\u6240\u6709\u9762<\/h3>\n<pre><code class=\"language-cpp\">#include &lt;TopExp_Explorer.hxx&gt;\n#include &lt;TopAbs_ShapeEnum.hxx&gt;\n\nTopExp_Explorer exp(solid, TopAbs_FACE);\nwhile (exp.More()) {\n    TopoDS_Face face = TopoDS::Face(exp.Current());\n    \/\/ \u5904\u7406\u9762\n    exp.Next();\n}\n<\/code><\/pre>\n<h2>\u603b\u7ed3<\/h2>\n<p>BRep \u662f OCCT \u7684\u6838\u5fc3\uff0c\u7406\u89e3\u51e0\u4f55\u4e0e\u62d3\u6251\u7684\u5173\u7cfb\u662f\u638c\u63e1 OCCT \u7684\u5173\u952e\u3002<\/p>\n<hr>\n<p><em>\u5b57\u6570\uff1a\u7ea6 1800 \u5b57 | \u5206\u7c7b\uff1aOpenCASCADE \u6559\u7a0b | \u96be\u5ea6\uff1a\u5165\u95e8 | \u7248\u672c\uff1a7.7.0<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p># OpenCASCADE 7.7.0 \u5b8c\u5168\u6559\u7a0b\uff08\u4e8c\uff09\uff1aBRep \u6570\u636e\u7ed3\u6784\u8be6\u89e3 BRep \u6838\u5fc3\u6982\u5ff5 BRep\uff08 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-188","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/posts\/188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/comments?post=188"}],"version-history":[{"count":0,"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/posts\/188\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/media?parent=188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/categories?post=188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alimzs.com\/index.php\/wp-json\/wp\/v2\/tags?post=188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}