Exemple #1
0
 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();
 }
Exemple #3
0
 public void Value(Geom_Curve C, double U, gp_Pnt P)
 {
     throw new NotImplementedException();
 }
Exemple #4
0
 public void SetPosition(gp_Pnt thePosition)
 {
     throw new NotImplementedException();
 }
 public bool IsOutBox(gp_Pnt theP)
 {
     throw new NotImplementedException();
 }
Exemple #6
0
 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();
 }
Exemple #8
0
 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();
 }
Exemple #11
0
 public int Add(gp_Pnt Point)
 {
     throw new NotImplementedException();
 }
Exemple #12
0
 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();
 }
Exemple #13
0
 public void D0(double theU, double theV, gp_Pnt thePoint)
 {
     throw new NotImplementedException();
 }
Exemple #14
0
 public GC_MakeMirror(gp_Pnt Point, gp_Dir Direc)
     : base()
 {
     throw new NotImplementedException();
 }
Exemple #15
0
 public double Distance(gp_Pnt P)
 {
     throw new NotImplementedException();
 }
Exemple #16
0
 public void Box(gp_Pnt P, gp_Vec V1, gp_Vec V2, gp_Vec V3)
 {
     throw new NotImplementedException();
 }
Exemple #17
0
 public gp_Vec Gradient(gp_Pnt P)
 {
     throw new NotImplementedException();
 }
Exemple #18
0
 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();
 }
Exemple #20
0
 public void Draw(Graphic3d_Structure thePrs, Prs3d_TextAspect theAspect, TCollection_ExtendedString theText,
                  gp_Pnt theAttachmentPoint)
 {
     throw new NotImplementedException();
 }
Exemple #21
0
 public BRepBuilderAPI_MakeVertex(gp_Pnt P)
     : base()
 {
     throw new NotImplementedException();
 }
Exemple #22
0
 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();
 }
Exemple #26
0
 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();
 }
Exemple #28
0
 public gp_Vec Normale(gp_Pnt P)
 {
     throw new NotImplementedException();
 }
Exemple #29
0
 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();
 }