CAD 使用Brep实现线段投影到曲面
引用Nuget
Nuget: AutoCAD.NET.Interop
AutoCAD-2016.Net.Base
参考链接
Traversing a 3D solid’s brep using AutoCAD 2009’s new .NET API
Brep
边界表示(Boundary Representation)也称为BRep表示,它是几何造型中最成熟、无二义的表示法。实体的边界通常是由面的并集来表示,而每个面又由它所在的曲面加上其边界来表示,面的边界是边的并集,而边又是由点来表示的。
CAD中Brep的结构
- Brep
- Complex
- Shell
- Faces
- Vertex
- Faces
- Shell
- Complex
备注
CAD中的常规API图形操作都在Geometry中,但是仅有二维表达或是简单的三维表达,比如创建三维线段,布尔运算等,如果需要更加复杂的运算就需要用到Brep模块里面的功能,如果直接使用C++开发,可以直接找到AcadRegion并读取数据,如果使用Net开发,则需要引用上面提到的Interop包,并将object转换为Acad结构,即可读取。
dbRegion.AcadObject as AcadRegion;
API
Entity[] ProjectOnToSurface(Entity entityToProject, Vector3d projectionDirection)
Code
var dbRegion = entity as Region;
var acadRegion = dbRegion.AcadObject as AcadRegion;
var brep = new Brep(dbRegion);
var target = brep.Surf.ProjectOnToSurface(line, new Vector3d(0, 0, 1));
var trueTarget = target[0] as Line;