以下为GeomConvert_ApproxCurve的内部实现,实际调用的AdvApprox_ApproxAFunction进行逼近,然后获得了Geom_BSplineCurve定义的必要信息:控制点,节点表,级次等信息。 步骤2: 通过上下这两条样条曲线,定义出二维的控制点,节点等信息,进而定义出Geom_BSplineSurface。 这就是椭圆台中间的这个曲面的大致定义过程。 这也是符...
从这个对象中,可以按如下方式要求BSpline曲线: Handle(Geom_BSplineCurve)K=Approx.Curve(); 表面近似 GeomAPI包中的PointsToBSplineSurface类允许建立一个BSpline曲面,它接近或插值一组点。 高级近似法 包AppDef和AppParCurves提供了低级别的函数,允许对近似值进行更多的控制。 低级函数提供了第二个API,其中的函数...
Handle(Geom_BSplineSurface) aPipeSurface = Handle(Geom_BSplineSurface)::DownCast(aPipe.Surface()); Handle(Geom_BSplineSurface) anotherBSplineSurface = GeomConvert::SplitBSplineSurface(aPipeSurface,1,2,3,6); OCC中三维几何曲线的类型有: –线 –园 –椭圆 –二次曲线 –抛物线 –Bezier曲线 –B...
#include <Geom_ToroidalSurface.hxx> #include <Geom_BSplineSurface.hxx> #include <GeomAdaptor_Surface.hxx> #include <GeomAPI_PointsToBSplineSurface.hxx> #include <IntPatch_Polyhedron.hxx> #include <IntPatch_InterferencePolyhedron.hxx> #pragma comment(lib, "TKernel.lib") #pragma comment(lib,...
GeomConvert BSpline曲线、曲面拆分,Handle(Geom_Curve)转BSpline曲线 BRepExtrema_DistShapeShape 求两个TopoDS_Shape(TopoDS_Face、TopoDS_Vertex、TopoDS_Edge、TopoDS_Wire..
8.Bezier Surface 贝塞尔面; 9.B-Spline Surface B样条曲面; 10.Rectangle Trim Surface 矩形裁剪曲面; 11.Offset Surface 偏移曲面; 曲面的几何数据类都有一个共同的基类Geom_Surface,类图如下所示: Figure 1.1 Geometry Surface class diagram 抽象基类Geom_Surface有几个纯虚函数Bounds()、Value()等,可用来计算...
evalArea(aPlaneSurface, aLower, aUpper); // Convert to BSpline Surface. Handle(Geom_RectangularTrimmedSurface) aTrimmedSurface = new Geom_RectangularTrimmedSurface(aPlaneSurface, aLower(1), aUpper(1), aLower(2), aUpper(2)); Handle(Geom_BSplineSurface) aBSplineSurface = GeomConvert::Surfa...
#include<Geom_SurfaceOfLinearExtrusion.hxx> #include<Geom_SurfaceOfRevolution.hxx> #include<Geom_BezierSurface.hxx> #include<Geom_BSplineSurface.hxx> #include<Geom_RectangularTrimmedSurface.hxx> #include<Geom_OffsetSurface.hxx> #include<TColgp_Array2OfPnt.hxx> ...
public OCgp_Pnt Point(int Index);//获取交点 public OCGeom_Curve Segment(int Index);//获取线段 (4) 实例 OCGeom_BSplineCurve SPL; OCGeom_BSplineSurface BSS1;OCGeomAPI_IntCS CS = new OCGeomAPI_IntCS(SPL, BSS1);OCGeom_Curve segment;if (CS.IsDone()){ int NbSeg = CS.NbSegments...
C++ 类名的前面加上了包的名字做前缀。比如所有用来定义3D几何对象的类都在前面加上 Geom前缀。在 Geom中, 实现 Bezier surfaces 的类被命名为 BezierSurface, 它的全名是Geom_BezierSurface。 大的模块划分为6个: 基础类:Foundation Classes 模型数据:Modeling Data ...