コード例 #1
0
ファイル: ViewerTest.java プロジェクト: alexeyivanov/FEM
  static Drawing drawFN() {
    Drawing d = new Drawing();

    d.setLineWidth(0.1f);

    d.circle(0.6);

    d.circle(0.4);

    d.moveTo(0, -0.2, 0);
    d.setFaceColor(Color.CYAN);
    Shape b1 = d.box(0.8, 0.3, 0.3);

    d.setFaceColor(Color.GREEN);
    Shape b2 = d.box(0.8, 0.15, 0.6);

    d.setFaceColor(Color.MAGENTA);
    Shape box = d.box(-0.25, 0.25, 0.25);

    d.setFaceColor(Color.ORANGE);
    d.box(-0.1, 0.1, 0.35);

    //		d.setTexture("brick1.gif");

    d.setFaceColor(Color.YELLOW);
    Shape cyl = d.cylinder(0.5, 0.7, Math.PI * 3 / 2);

    //		d.noTexture();
    d.moveTo(0, 0, 0);
    d.setFaceColor(Color.BLUE);
    d.cylinder(0.2, 0.3, Math.PI * 2);
    d.save("FN.brep");
    return d;
  }
コード例 #2
0
ファイル: ViewerTest.java プロジェクト: alexeyivanov/FEM
  static Drawing drawTest() {
    Drawing d = new Drawing();
    d.setFaceColor(Color.YELLOW);
    //		d.setTransparency(0.9);
    d.moveTo(0, 0, 0);
    d.line(2, 0, 0);
    d.line(0, 0, 2);
    d.line(-2, 0, 0);
    Shape rect = d.close();

    d.moveTo(0.2, 0, 0.2);
    d.line(1.6, 0, 0);
    d.line(0, 0, 1.6);
    d.line(-1.6, 0, 0);
    Shape intern = d.close();
    d.delete(intern);

    Shape fig = d.extrude(rect, 2);
    d.save("test.brep");

    d.setMeshSize(fig, 0.1);
    d.setMeshSize(fig, 2, 0, 0, 0.01);
    fig.setMeshSize(0, 0.5, 0, 50);

    return d;
  }
コード例 #3
0
ファイル: ViewerTest.java プロジェクト: alexeyivanov/FEM
  static Drawing drawBuilding3D() {
    Drawing d = new Drawing();
    d.setLineWidth(2);
    d.moveTo(0, 0, 0);
    d.setCheckIntersection(true);
    d.setFaceColor(Color.GRAY);
    Shape wall = d.rectangleXZ(30, 15);
    d.moveTo(0.3, 0, 0.3);
    Shape plate = d.rectangleXZ(30 - 0.4, 15 - 0.4);
    d.setFaceColor(Color.YELLOW);
    wall = d.extrude(wall, 3);
    d.setFaceColor(Color.CYAN);
    for (int i = 0; i < 10; i++) {
      d.moveTo(0.5 + i * 3, 0.8, 0);
      Shape window = d.box(1, 1.5, 0.2);
      d.delete(window);
      d.moveTo(0.5 + i * 3, 0.8, 15);
      window = d.box(1, 1.5, 0.2);
      d.delete(window);
    }
    d.array(wall, 10, 0, 3, 0);
    d.array(plate, 11, 0, 3, 0);
    d.moveTo(-20, 0, -20);
    d.setFaceColor(Color.GREEN);
    d.box(70, -30, 60);

    d.save("building.brep");
    return d;
  }
コード例 #4
0
ファイル: ViewerTest.java プロジェクト: alexeyivanov/FEM
  static Drawing drawWall() {
    Drawing d = new Drawing();

    d.setCheckIntersection(false);
    d.setFaceColor(Color.WHITE);
    d.setTransparency(0);
    d.moveTo(-0.4, 0, -0.4);
    Shape base = d.box(0.8, 0.2, 0.8);
    d.moveTo(0, 0.2, 0);
    Shape col = d.cone(0.3, 0.2, 3.8, Math.PI * 2);
    d.moveTo(0, 4, 0);
    Shape capitel1 = d.cone(0.2, 0.3, 0.2, Math.PI * 2);
    d.move(0, 0.2, 0);
    Shape capitel2 = d.cylinder(0.35, 0.15, Math.PI * 2);
    Shape column = d.fuse(base, col);
    column = d.fuse(column, capitel1);
    column = d.fuse(column, capitel2);
    d.moveTo(-1, 0, 0);
    Shape cutBox = d.box(5, 6, 1);
    column = d.cut(column, cutBox);
    d.delete(cutBox);
    Shape columns = d.array(column, 6, 2, 0, 0);
    d.moveTo(-0.4, 4.35, -0.4);
    Shape beam = d.box(5 * 2 + 0.8, 0.3, 0.4);

    d.moveTo(-0.4, 0, 0);
    d.setFaceColor(Color.GREEN);
    Shape wall = d.box(5 * 2 + 0.8, 4.65, 0.5);

    wall = d.fuse(wall, beam);
    d.fuse(columns, wall);

    d.setDirection(0, 0, 1);
    d.moveTo(1, 3, 0);
    Shape arch = d.cylinder(0.5, 0.5, Math.PI * 2);
    d.move(-0.5, 0, 0);
    Shape door = d.box(1, -3, 0.5);
    door = d.fuse(door, arch);
    wall = d.cut(wall, door);
    door = d.copy(door, 2, 0, 0);
    wall = d.cut(wall, door);
    door = d.copy(door, 2, 0, 0);
    wall = d.cut(wall, door);
    door = d.copy(door, 2, 0, 0);
    wall = d.cut(wall, door);
    door = d.copy(door, 2, 0, 0);
    wall = d.cut(wall, door);

    d.save("columns.brep");
    return d;
  }
コード例 #5
0
ファイル: ViewerTest.java プロジェクト: alexeyivanov/FEM
  static Drawing testMesh() {
    Drawing d = new Drawing();
    d.setTransparency(0.9);
    Shape s = d.box(2, 2, 2);
    Shape s1 = d.box(1, 1, 1);

    s = d.cut(s, s1);
    d.moveTo(0, 2, 0);
    Shape s2 = d.box(0.2, 2, 0.2);

    s.setMeshSize(0.3);
    s2.setMeshSize(0.1);
    // d.fuse(s, s2);
    d.save("test.brep");

    return d;
  }
コード例 #6
0
ファイル: ViewerTest.java プロジェクト: alexeyivanov/FEM
  static Drawing drawBuilding() {
    Drawing d = new Drawing();
    d.setLineWidth(2);
    d.moveTo(0, 0, 0);
    d.setCheckIntersection(true);
    d.setFaceColor(Color.GRAY);
    Shape plate = d.rectangleXZ(30, 15);
    Shape wall = d.getEdges(plate);
    d.setFaceColor(Color.DARK_GRAY);
    Shape base = d.extrude(wall, -1.5);
    d.copy(plate, 0, -1.5, 0);
    d.setFaceColor(Color.YELLOW);
    wall = d.getEdges(plate);
    wall = d.extrude(wall, 3);
    d.setFaceColor(Color.CYAN);
    for (int i = 0; i < 10; i++) {
      d.moveTo(0.5 + i * 3, 0.8, 0);
      Shape window = d.rectangleXY(1, 1.7);
      d.delete(window);
      d.moveTo(0.5 + i * 3, 0.8, 15);
      window = d.rectangleXY(1, 1.7);
      d.delete(window);
    }
    d.setCheckIntersection(false);
    d.array(wall, 10, 0, 3, 0);
    d.array(plate, 11, 0, 3, 0);
    d.setCheckIntersection(true);

    d.moveTo(-20, 0, -20);
    d.setFaceColor(Color.GREEN);
    d.box(70, -30, 60);
    Shape excavation = d.extrude(plate, -1.5);
    d.delete(excavation);

    //	    d.delete(plate);

    d.save("building.brep");
    return d;
  }