예제 #1
0
  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;
  }
예제 #2
0
  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
  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;
  }
예제 #4
0
  static Drawing drawFigure() {
    Drawing d = new Drawing();

    d.setCheckIntersection(true);
    d.setLineWidth(2);
    d.setFaceColor(Color.CYAN);
    d.moveTo(0, 0, 0);
    d.line(1, 0, 0);
    d.line(0, 0, 1);
    d.line(-1, 0, 0);
    Shape rect = d.close();

    d.setFaceColor(Color.YELLOW);
    d.move(0.2, 0, 0.2);
    d.line(0.6, 0, 0);
    d.line(0, 0, 0.6);
    d.line(-0.6, 0, 0);
    Shape rect1 = d.close();

    d.moveTo(0, 0, 2);
    d.setDirection(0, 1, 0);
    Shape s = d.extrude(rect, 0.5);

    //		d.fillet(s);

    //		d.setDirection(1, 0, 0);
    //		Shape shape = d.revolve(rect, Math.PI/4);

    ////		d.setCheckIntersection(false);
    //		d.setVirtualDrawingMode(true);
    //		d.moveTo(0, 1, 0.6);
    //		Shape circle = d.circle(0.15);
    //		Shape cylinder = d.extrude(circle, 1);
    //		d.setVirtualDrawingMode(false);
    //
    //
    ////		d.add(cylinder);
    //		shape = d.cut(shape, cylinder);
    //
    //		d.moveTo(0,0,0);
    //		d.setDirection(-1, 0, 0);
    //		Shape rev = d.revolve(rect1, Math.PI);
    //		d.delete(rev);
    //		d.delete(d.getCommon());
    //
    //
    ////		d.setCheckIntersection(false);
    ////		int n = 10;
    ////		double dist = 2;
    ////		Shape line = d.array(shape, n, dist, 0, 0);
    ////		Shape area = d.array(line, n, 0, dist, 0);
    ////		Shape cube = d.array(area, n, 0, 0, dist);
    ////
    ////		d.setCheckIntersection(true);
    //
    ////		d.copy(shape, 2,0,0);
    //
    ////		Shape shape1 = d.copy(shape, 2, 0, 0);
    ////
    ////		shape1 = d.scale(shape1, 0.5);
    ////
    ////		d.moveTo(2, 0, 0);
    ////		d.setDirection(0, 0, 1);
    ////		shape1 = d.rotate(shape1, Math.PI/4);
    ////
    //
    ////		rect1.setSelected(true);
    //////		d.save("figure.brep");
    //////		d.explode(shape);

    return d;
  }