]> gerrit.simantics Code Review - simantics/3d.git/blob - org.jcae.opencascade/doc/Example1.java
PipeRun reverse action
[simantics/3d.git] / org.jcae.opencascade / doc / Example1.java
1 import org.jcae.opencascade.jni.*;
2
3 /**
4  * Create a square with an attached free edge
5  * @author Jerome Robert
6  */
7 public class Example1
8 {
9         public static void main(String[] args)
10         {
11                 // The plate
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};
18                 
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();
23                 
24                 TopoDS_Wire wirePlate=
25                         (TopoDS_Wire) new BRepBuilderAPI_MakeWire(edge1, edge2, edge3, edge4).shape();
26                 
27                 TopoDS_Face face=(TopoDS_Face) new BRepBuilderAPI_MakeFace(wirePlate, true).shape();
28                 
29                 // The wire
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();
33                 
34                 //Connect the wire to the plate
35                 BRep_Builder bb=new BRep_Builder();
36                 bb.add(face, vertex1);
37                 
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);
43                 
44                 //Write to to a file
45                 BRepTools.write(compound, "/tmp/test.brep");
46         }
47 }