Refer to the B-Rep Geometry Creation Example.
edgeutil.py
34 from pathlib
import Path
38 import cadexchanger.CadExCore
as cadex
43 def MakeEdgeFromLine() -> cadex.ModelData_Edge:
47 def MakeEdgeFromCircle() -> cadex.ModelData_Edge:
51 def MakeEdgeFromEllipse() -> cadex.ModelData_Edge:
55 def MakeEdgeFromParabola() -> cadex.ModelData_Edge:
59 def MakeEdgeFromHyperbola() -> cadex.ModelData_Edge:
63 def MakeEdgeFromOffSetCurve() -> cadex.ModelData_Edge:
68 def MakeEdgeFromOffsetCurve() -> cadex.ModelData_Edge:
73 def MakeEdgeFromBezier() -> cadex.ModelData_Edge:
84 def MakeEdgeFromBSpline() -> cadex.ModelData_Edge:
93 aKnots = [ 0.0, 0.25, 0.75, 1.0 ]
95 aMultiplicities = [ 3, 1, 1, 3 ]
faceutil.py
34 from pathlib
import Path
38 import cadexchanger.CadExCore
as cadex
43 def MakePlanarFace() -> cadex.ModelData_Face:
47 def MakeSphericalFace() -> cadex.ModelData_Face:
51 def MakeCylindricalFace() -> cadex.ModelData_Face:
55 def MakeConicalFace() -> cadex.ModelData_Face:
59 def MakeToroidalFace() -> cadex.ModelData_Face:
63 def MakeFaceFromSurfaceOfLinearExtrusion() -> cadex.ModelData_Face:
77 def MakeFaceFromSurfaceOfRevolution() -> cadex.ModelData_Face:
93 def MakeFaceFromOffsetSurface() -> cadex.ModelData_Face:
105 def MakeFaceFromBezier() -> cadex.ModelData_Face:
116 def MakeFaceFromBSpline() -> cadex.ModelData_Face:
152 aUKnots = [ 0.0, 0.25, 0.75, 1.0]
153 aVKnots = [ 0.0, 0.25, 0.75, 1.0 ]
155 aVMultiplicities = [ 3, 1, 1, 3 ]
156 aUMultiplicities = [ 3, 1, 1, 3 ]
162 aUMultiplicities, aVMultiplicities,
166 def MakeFaceWithInnerWire() -> cadex.ModelData_Face:
181 aFace.Append(anOuterWire)
182 aFace.Append(anInnerWire)
bodyutil.py
34 from pathlib
import Path
38 import cadexchanger.CadExCore
as cadex
40 sys.path.append(os.path.abspath(os.path.dirname(Path(__file__).resolve()) +
r"/../../"))
41 import cadex_license
as license
44 def MakeSolidBody() -> cadex.ModelData_Body:
49 def MakeSheetBody() -> cadex.ModelData_Body:
55 aShell.Append(aFace2);
60 def MakeWireframeBody() -> cadex.ModelData_Body:
69 aWire.Append(anEdge2);
74 def MakeAcornBody() -> cadex.ModelData_Body:
brep.py
34 from pathlib
import Path
37 import cadexchanger.CadExCore
as cadex
42 sys.path.append(os.path.abspath(os.path.dirname(Path(__file__).resolve()) +
r"/../../"))
43 import cadex_license
as license
46 def SaveModel(theShape: cadex.ModelData_Shape, theName: str) -> bool:
52 aPath =
"out/" + str(theName) +
".xml"
56 aKey = license.Value()
58 if not cadex.LicenseManager.Activate(aKey):
59 print(
"Failed to activate CAD Exchanger license.")
62 aLine = edgeutil.MakeEdgeFromLine()
64 aCircle = edgeutil.MakeEdgeFromCircle()
66 anEllipse = edgeutil.MakeEdgeFromEllipse()
68 aParabola = edgeutil.MakeEdgeFromParabola()
70 aHyperbola = edgeutil.MakeEdgeFromHyperbola()
72 anEdgeFromOffsetCurve = edgeutil.MakeEdgeFromOffSetCurve()
74 aBezierEdge = edgeutil.MakeEdgeFromBezier()
76 aBSplineEdge = edgeutil.MakeEdgeFromBSpline()
79 aPlane = faceutil.MakePlanarFace()
81 aSphere = faceutil.MakeSphericalFace()
83 aCylinder = faceutil.MakeCylindricalFace()
85 aCone = faceutil.MakeConicalFace()
87 aTorus = faceutil.MakeToroidalFace()
89 aFaceFromLESurface = faceutil.MakeFaceFromSurfaceOfLinearExtrusion()
91 aFaceFromRevSurface = faceutil.MakeFaceFromSurfaceOfRevolution()
93 aFaceFromOffsetSurface = faceutil.MakeFaceFromOffsetSurface()
95 aBezierFace = faceutil.MakeFaceFromBezier()
97 aBSplineFace = faceutil.MakeFaceFromBSpline()
99 aFace = faceutil.MakeFaceWithInnerWire()
102 aSolid = bodyutil.MakeSolidBody()
104 aSheet = bodyutil.MakeSheetBody()
106 aWireframe = bodyutil.MakeWireframeBody()
108 anAcorn = bodyutil.MakeAcornBody()
114 if __name__ ==
"__main__":
Defines 3D circle.
Definition: ModelData_Circle.hxx:32
static const ModelData_Edge & Cast(const ModelData_Shape &theShape)
Casts a base class object to ModelData_Edge.
Definition: ModelData_Edge.cxx:688
Defines a cylindrical surface.
Definition: ModelData_CylindricalSurface.hxx:31
Defines a 3D point.
Definition: ModelData_Point.hxx:294
Defines 3D hyperbola.
Definition: ModelData_Hyperbola.hxx:31
static ModelData_Solid CreateBox(double theDx, double theDy, double theDz)
Creates a box.
Definition: ModelAlgo_TopoPrimitives.cxx:82
Defines a connected set of faces.
Definition: ModelData_Shell.hxx:30
Defines a surface of linear extrusion.
Definition: ModelData_SurfaceOfLinearExtrusion.hxx:33
Defines a plane.
Definition: ModelData_Plane.hxx:31
static const ModelData_Direction & ZDir()
Definition: ModelData_Direction.cxx:67
Defines 3D parabola.
Definition: ModelData_Parabola.hxx:31
static const ModelData_Direction & XDir()
Definition: ModelData_Direction.cxx:55
Defines a topological face.
Definition: ModelData_Face.hxx:31
Defines 3D offset curve.
Definition: ModelData_OffsetCurve.hxx:32
Defines a Unicode (UTF-16) string wrapping a standard string.
Definition: Base_UTF16String.hxx:33
Defines a surface of revolution.
Definition: ModelData_SurfaceOfRevolution.hxx:34
Provides CAD Exchanger data model.
Definition: ModelData_Model.hxx:40
Defines 3D ellipse.
Definition: ModelData_Ellipse.hxx:31
Defines an offset surface.
Definition: ModelData_OffsetSurface.hxx:31
Defines 3D Bezier curve.
Definition: ModelData_BezierCurve.hxx:35
Defines a Bezier surface.
Definition: ModelData_BezierSurface.hxx:33
Defines a B-Spline surface.
Definition: ModelData_BSplineSurface.hxx:33
Defines a conical surface.
Definition: ModelData_ConicalSurface.hxx:31
Defines topological vertex.
Definition: ModelData_Vertex.hxx:30
static ModelData_Body Create(const ModelData_Shape &theShape)
Creates a body from an arbitrary shape.
Definition: ModelData_Body.cxx:223
Writes any format that CAD Exchanger can export.
Definition: ModelData_ModelWriter.hxx:31
Defines 3D B-Spline curve.
Definition: ModelData_BSplineCurve.hxx:33
Defines a toroidal surface.
Definition: ModelData_ToroidalSurface.hxx:31
Defines a right-handed or left-handed axis placement in 3D.
Definition: ModelData_Axis3Placement.hxx:37
Defines a spherical surface.
Definition: ModelData_SphericalSurface.hxx:31
Defines 3D line.
Definition: ModelData_Line.hxx:35
Defines a leaf node in the scene graph hiearchy.
Definition: ModelData_Part.hxx:34
Defines a right-hand axis placement in 3D.
Definition: ModelData_Axis2Placement.hxx:37
Defines a connected set of edges.
Definition: ModelData_Wire.hxx:30
Defines precise Boundary Representation of part.
Definition: ModelData_BRepRepresentation.hxx:38
Defines an edge.
Definition: ModelData_Edge.hxx:35