AMCAX Kernel
Geometry kernel for CAD/CAE/CAM
AMCAX Kernel 1.0.0.0
Geometry modeling

Construction of Curve and Surface

Abstract Curve and Surface

Curve

Line

AMCAX::MakeLine2 is used to create a two-dimensional line, while AMCAX::MakeLine3 is used to create a three-dimensional line. It is important to note that the lines created here are infinite in length, so to output files, you need to use AMCAX::MakeEdge2d and AMCAX::MakeEdge, along with setting start and end parameters.

//2d
AMCAX::Point2 p(1., 2.);
AMCAX::Line2 l1 = l.Value();
AMCAX::TopoShape line2d = AMCAX::MakeEdge2d(l1, 0., 1.);
AMCAX::OCCTIO::OCCTTool::Write(line2d, "./lind2d.brep");
//3d
AMCAX::Point3 p2(1., 2., 3.);
AMCAX::MakeLine3 ll(p2, d2);
AMCAX::Line3 l2 = ll.Value();
AMCAX::TopoShape line3d = AMCAX::MakeEdge(l2, 0., 1.);
AMCAX::OCCTIO::OCCTTool::Write(line3d, "./lind3d.brep");
Class of 2D line.
Definition: LineT.hpp:245
Class of 3D line.
Definition: LineT.hpp:346
Class of making a 2D edge.
Definition: MakeEdge2d.hpp:22
Class of making an edge.
Definition: MakeEdge.hpp:24
Class of making 2D lines.
Definition: MakeLine2.hpp:13
Class of making 3D lines.
Definition: MakeLine3.hpp:13
static AMCAX_API bool Write(const TopoShape &s, std::ostream &os, int format=3)
Write a shape to a stream.
Base class of shape, containing an underlying shape with a location and an orientation.
Definition: TopoShape.hpp:15

Circle

AMCAX::MakeCircle2 is used to create a two-dimensional circle, while AMCAX::MakeCircle3 is used to create a three-dimensional circle. To output files, you need to use AMCAX::MakeEdge2d and AMCAX::MakeEdge (setting start and end parameters is optional).

//2d
AMCAX::Frame2 frame2d;
AMCAX::MakeCircle2 c(frame2d, 2.0);
AMCAX::Circle2 c1 = c.Value();
AMCAX::OCCTIO::OCCTTool::Write(circle2d, "./circle2d.brep");
//3d
AMCAX::Frame3 frame3d;
AMCAX::MakeCircle3 cc(frame3d, 2.0);
AMCAX::Circle3 c2 = cc.Value();
AMCAX::OCCTIO::OCCTTool::Write(circle3d, "./circle3d.brep");
Class of making 2D circles.
Definition: MakeCircle2.hpp:13
Class of making 3D circles.
Definition: MakeCircle3.hpp:15

Ellipse

AMCAX::MakeEllipse2 is used to create a two-dimensional ellipse, while AMCAX::MakeEllipse3 is used to create a three-dimensional ellipse. To output files, you need to use AMCAX::MakeEdge2d and AMCAX::MakeEdge (setting start and end parameters is optional).

//2d
AMCAX::Frame2 frame2d;
AMCAX::MakeEllipse2 e(frame2d, 2.0,1.0);
AMCAX::Ellipse2 e1 = e.Value();
AMCAX::OCCTIO::OCCTTool::Write(ellipse2d, "./ellipse2d.brep");
//3d
AMCAX::Frame3 frame3d;
AMCAX::MakeEllipse3 ee(frame3d, 2.0,1.0);
AMCAX::Ellipse3 e2 = ee.Value();
AMCAX::OCCTIO::OCCTTool::Write(ellipse3d, "./ellipse3d.brep");
Class of making 2D ellipses.
Definition: MakeEllipse2.hpp:13
Class of making 3D ellipses.
Definition: MakeEllipse3.hpp:13

Hyperbola

AMCAX::MakeHyperbola2 is used to create a two-dimensional hyperbola, while AMCAX::MakeHyperbola3 is used to create a three-dimensional hyperbola. Note that hyperbolas are infinite, so to output files, you need to use AMCAX::MakeEdge2d and AMCAX::MakeEdge, along with setting start and end parameters.

//2d
AMCAX::MakeHyperbola2 h(frame2d, 2.0, 1.0);
AMCAX::Hyperbola2 h1 = h.Value();
AMCAX::TopoShape hyperbola2d = AMCAX::MakeEdge2d(h1,-1.,1.);
AMCAX::OCCTIO::OCCTTool::Write(hyperbola2d, "./hyperbola2d.brep");
//3d
AMCAX::MakeHyperbola3 hh(frame3d, 2.0, 1.0);
AMCAX::Hyperbola3 h2 = hh.Value();
AMCAX::TopoShape hyperbola3d = AMCAX::MakeEdge(h2, -1., 1.);
AMCAX::OCCTIO::OCCTTool::Write(hyperbola3d, "./hyperbola3d.brep");
Class of making 2D hyperbolas.
Definition: MakeHyperbola2.hpp:13
Class of making 3D hyperbolas.
Definition: MakeHyperbola3.hpp:13

Parabola

AMCAX::MakeParabola2 is used to create a two-dimensional parabola, while AMCAX::MakeParabola3 is used to create a three-dimensional parabola. Note that parabolas are infinite, so to output files, you need to use AMCAX::MakeEdge2d and AMCAX::MakeEdge, along with setting start and end parameters.

//2d
AMCAX::MakeParabola2 pa(frame2d, 2.0);
AMCAX::Parabola2 pa1 = pa.Value();
AMCAX::TopoShape parabola2d = AMCAX::MakeEdge2d(pa1, -1., 1.);
AMCAX::OCCTIO::OCCTTool::Write(parabola2d, "./parabola2d.brep");
//3d
AMCAX::MakeParabola3 paa(frame3d, 2.0);
AMCAX::Parabola3 pa2 = paa.Value();
AMCAX::TopoShape Parabola3d = AMCAX::MakeEdge(pa2, -1., 1.);
AMCAX::OCCTIO::OCCTTool::Write(Parabola3d, "./Parabola3d.brep");
Class of making 2D parabolas.
Definition: MakeParabola2.hpp:13
Class of making 3D parabolas.
Definition: MakeParabola3.hpp:13

Surface

Plane

AMCAX::MakePlane3 is used to create a three-dimensional plane. Note that planes are infinite, so to output files, you need to use AMCAX::MakeFace and set the start and end parameters in the u and v directions.

AMCAX::MakePlane3 pl(frame3d);
AMCAX::Plane pl1 = pl.Value();
AMCAX::TopoShape plane3d = AMCAX::MakeFace(pl1,0.,2.,0.,2.);
AMCAX::OCCTIO::OCCTTool::Write(plane3d, "./plane3d.brep");
Class of making a face.
Definition: MakeFace.hpp:22
Class of making planes.
Definition: MakePlane3.hpp:13
Class of Plane.
Definition: Plane.hpp:13

Cone Surface

AMCAX::MakeCone3 is used to create a cone surface. Note that cone surfaces are infinite, so to output files, you need to use AMCAX::MakeFace and set the start and end parameters in the u and v directions.

AMCAX::Point3 pp1(0., 0., 0.);
AMCAX::Point3 pp2(1., 2., 3.);
AMCAX::MakeCone3 co(pp1,pp2,2.0,1.0);
AMCAX::Cone co1 = co.Value();
AMCAX::TopoShape cone3d = AMCAX::MakeFace(co1, 0., 2., 0., 2.);
AMCAX::OCCTIO::OCCTTool::Write(cone3d, "./cone3d.brep");
Class of cone.
Definition: Cone.hpp:12
Class of making cones.
Definition: MakeCone3.hpp:14

Cylinder Surface

AMCAX::MakeCylinder3 is used to create a cylinder surface. Note that cylinder surfaces are infinite, so to output files, you need to use AMCAX::MakeFace and set the start and end parameters in the u and v directions.

AMCAX::MakeCylinder3 cy(frame3d, 2.0);
AMCAX::Cylinder cy1 = cy.Value();
AMCAX::TopoShape cylinder3d = AMCAX::MakeFace(cy1, 0., 2., 0., 2.);
AMCAX::OCCTIO::OCCTTool::Write(cylinder3d, "./cylinder3d.brep");
Class of cylinder.
Definition: Cylinder.hpp:12
Class of making cylinders.
Definition: MakeCylinder3.hpp:14

Complete Geometric Curve and Surface

To be down.

Parameter Domain Trimmed Curve and Surface

To be down.

Evaluation of Curve and Surface

To be down.

Creation of Parametric Curve and Surface via Interpolation and Approximation

To be down.

2D Curve Intersection, Curve-Surface Intersection, and Surface-Surface Intersection

To be down.

Calculation of Extreme Values of Geometric Objects

To be down.