public GC_MakeTrimmedCylinder(gp_Pnt P1, gp_Pnt P2, gp_Pnt P3) : base() { throw new NotImplementedException(); }
public void D1(double U, gp_Pnt P, gp_Vec V) { throw new NotImplementedException(); }
public void Value(Geom_Curve C, double U, gp_Pnt P) { throw new NotImplementedException(); }
public void SetPosition(gp_Pnt thePosition) { throw new NotImplementedException(); }
public bool IsOutBox(gp_Pnt theP) { throw new NotImplementedException(); }
public void ValAndGrad(gp_Pnt P, ref double D_ist, gp_Vec Grad) { throw new NotImplementedException(); }
public void D3(double U, double V, gp_Pnt P, gp_Vec D1U, gp_Vec D1V, gp_Vec D2U, gp_Vec D2V, gp_Vec D2UV, gp_Vec D3U, gp_Vec D3V, gp_Vec D3UUV, gp_Vec D3UVV) { throw new NotImplementedException(); }
public void CentreOfCurvature(gp_Pnt P) { throw new NotImplementedException(); }
public Intf_SectionPoint(gp_Pnt Where, Intf_PIType DimeO, int AddrO1, int AddrO2, double ParamO, Intf_PIType DimeT, int AddrT1, int AddrT2, double ParamT, double Incid) : base() { throw new NotImplementedException(); }
public LocOpe_PntFace(gp_Pnt P, TopoDS_Face F, TopAbs_Orientation Or, double Param, double UPar, double VPar) : base() { throw new NotImplementedException(); }
public int Add(gp_Pnt Point) { throw new NotImplementedException(); }
public void D2(double theU, double theV, gp_Pnt thePoint, gp_Vec theTangentU, gp_Vec theTangentV, gp_Vec theCurvatureU, gp_Vec theCurvatureV, gp_Vec theCurvatureUV) { throw new NotImplementedException(); }
public void D0(double theU, double theV, gp_Pnt thePoint) { throw new NotImplementedException(); }
public GC_MakeMirror(gp_Pnt Point, gp_Dir Direc) : base() { throw new NotImplementedException(); }
public double Distance(gp_Pnt P) { throw new NotImplementedException(); }
public void Box(gp_Pnt P, gp_Vec V1, gp_Vec V2, gp_Vec V3) { throw new NotImplementedException(); }
public gp_Vec Gradient(gp_Pnt P) { throw new NotImplementedException(); }
public Graphic3d_Text Draw(Graphic3d_Group theGroup, Prs3d_TextAspect theAspect, TCollection_ExtendedString theText, gp_Pnt theAttachmentPoint) { throw new NotImplementedException(); }
public void SetPole(int UIndex, int VIndex, gp_Pnt P, double Weight) { throw new NotImplementedException(); }
public void Draw(Graphic3d_Structure thePrs, Prs3d_TextAspect theAspect, TCollection_ExtendedString theText, gp_Pnt theAttachmentPoint) { throw new NotImplementedException(); }
public BRepBuilderAPI_MakeVertex(gp_Pnt P) : base() { throw new NotImplementedException(); }
public void UpdateVertex(TopoDS_Vertex V, gp_Pnt P, double Tol) { throw new NotImplementedException(); }
public override void Build() { // convert values from UnitsNet double wallThick = wallThickness.Meters; double pipeL = pipeLength.Meters; double rectangleL = rectangleLength.Meters; double rectangleW = rectangleWidth.Meters; // note that u could have achieved the same by creating a wire, then make it slide on a spline to create a pipe, then cut external and internal shapes and finally triangulate it (example in the elbow file) // inferior part // base part ext gp_Pnt aPnt11 = new gp_Pnt(0, 0, 0); gp_Pnt aPnt12 = new gp_Pnt(rectangleW, 0, 0); gp_Pnt aPnt13 = new gp_Pnt(rectangleW, rectangleL, 0); gp_Pnt aPnt14 = new gp_Pnt(0, rectangleL, 0); // BASE PART INT gp_Pnt aPnt15 = new gp_Pnt(0 + wallThick, 0 + wallThick, 0); gp_Pnt aPnt16 = new gp_Pnt(rectangleW - wallThick, 0 + wallThick, 0); gp_Pnt aPnt17 = new gp_Pnt(rectangleW - wallThick, rectangleL - wallThick, 0); gp_Pnt aPnt18 = new gp_Pnt(0 + wallThick, rectangleL - wallThick, 0); // base part ext gp_Pnt aPnt21 = new gp_Pnt(0, 0, pipeL); gp_Pnt aPnt22 = new gp_Pnt(rectangleW, 0, pipeL); gp_Pnt aPnt23 = new gp_Pnt(rectangleW, rectangleL, pipeL); gp_Pnt aPnt24 = new gp_Pnt(0, rectangleL, pipeL); // BASE PART INT gp_Pnt aPnt25 = new gp_Pnt(0 + wallThick, 0 + wallThick, pipeL); gp_Pnt aPnt26 = new gp_Pnt(rectangleW - wallThick, 0 + wallThick, pipeL); gp_Pnt aPnt27 = new gp_Pnt(rectangleW - wallThick, rectangleL - wallThick, pipeL); gp_Pnt aPnt28 = new gp_Pnt(0 + wallThick, rectangleL - wallThick, pipeL); List <List <gp_Pnt> > faces = new List <List <gp_Pnt> > { new List <gp_Pnt> { aPnt11, aPnt12, aPnt13, aPnt14 }, new List <gp_Pnt> { aPnt15, aPnt16, aPnt17, aPnt18 }, new List <gp_Pnt> { aPnt21, aPnt22, aPnt23, aPnt24 }, new List <gp_Pnt> { aPnt25, aPnt26, aPnt27, aPnt28 } }; // sadly u must know how to orientate faces, the algorithm can't determine it by itself for now List <TopAbs_Orientation> orientations = new List <TopAbs_Orientation> { TopAbs_Orientation.TopAbs_REVERSED, TopAbs_Orientation.TopAbs_FORWARD }; List <Face> tempFaces = new List <Face>(); // top face List <gp_Pnt> allPoints = faces[0]; allPoints.AddRange(faces[1]); Surface surface = new Surface(allPoints, orientations[1]); tempFaces.AddRange(surface.ComputeFaces()); // bot face allPoints = faces[2]; allPoints.AddRange(faces[3]); surface = new Surface(allPoints, orientations[0]); tempFaces.AddRange(surface.ComputeFaces()); // lateral face exterior allPoints = faces[0]; allPoints.AddRange(faces[2]); surface = new Surface(allPoints, orientations[1]); tempFaces.AddRange(surface.ComputeFaces()); // lateral face interior allPoints = faces[1]; allPoints.AddRange(faces[3]); surface = new Surface(allPoints, orientations[0]); tempFaces.AddRange(surface.ComputeFaces()); // ordonned pts + triangles int count = 0; foreach (Face f in tempFaces) { AddFaces(f.ToTrianglesGraham(true).subFaces); count++; } RecalculateMesh(); }
public GeomFill_DegeneratedBound(gp_Pnt Point, double First, double Last, double Tol3d, double Tolang) : base() { throw new NotImplementedException(); }
public void D0(double U, gp_Pnt P) { throw new NotImplementedException(); }
public void Parameters(gp_Pnt P, ref double U, ref double V) { throw new NotImplementedException(); }
public void D3(double U, gp_Pnt P, gp_Vec V1, gp_Vec V2, gp_Vec V3) { throw new NotImplementedException(); }
public gp_Vec Normale(gp_Pnt P) { throw new NotImplementedException(); }
public void D1(Geom_Curve C, double U, gp_Pnt P, gp_Vec V1) { throw new NotImplementedException(); }
public void D2(Adaptor3d_HSurface S, double U, double V, gp_Pnt P, gp_Vec D1U, gp_Vec D1V, gp_Vec D2U, gp_Vec D2V, gp_Vec DUV) { throw new NotImplementedException(); }