1 import org.jcae.opencascade.jni.*;
4 * Create a square with an attached free edge
5 * @author Jerome Robert
9 public static void main(String[] args)
12 double[] p1=new double[]{0, 0, 0};
13 double[] p2=new double[]{0, 1, 0};
14 double[] p3=new double[]{1, 1, 0};
15 double[] p4=new double[]{1, 0, 0};
16 double[] p5=new double[]{0.5, 0.5, 0};
17 double[] p6=new double[]{0.5, 0.5, 1};
19 TopoDS_Edge edge1=(TopoDS_Edge) new BRepBuilderAPI_MakeEdge(p1,p2).shape();
20 TopoDS_Edge edge2=(TopoDS_Edge) new BRepBuilderAPI_MakeEdge(p2,p3).shape();
21 TopoDS_Edge edge3=(TopoDS_Edge) new BRepBuilderAPI_MakeEdge(p3,p4).shape();
22 TopoDS_Edge edge4=(TopoDS_Edge) new BRepBuilderAPI_MakeEdge(p4,p1).shape();
24 TopoDS_Wire wirePlate=
25 (TopoDS_Wire) new BRepBuilderAPI_MakeWire(edge1, edge2, edge3, edge4).shape();
27 TopoDS_Face face=(TopoDS_Face) new BRepBuilderAPI_MakeFace(wirePlate, true).shape();
30 TopoDS_Vertex vertex1=(TopoDS_Vertex) new BRepBuilderAPI_MakeVertex(p5).shape();
31 TopoDS_Vertex vertex2=(TopoDS_Vertex) new BRepBuilderAPI_MakeVertex(p6).shape();
32 TopoDS_Edge freeEdge=(TopoDS_Edge) new BRepBuilderAPI_MakeEdge(vertex1,vertex2).shape();
34 //Connect the wire to the plate
35 BRep_Builder bb=new BRep_Builder();
36 bb.add(face, vertex1);
38 //Put everything in a compound
39 TopoDS_Compound compound=new TopoDS_Compound();
40 bb.makeCompound(compound);
41 bb.add(compound, freeEdge);
42 bb.add(compound, face);
45 BRepTools.write(compound, "/tmp/test.brep");