Jdi na navigaci předmětu

Coursework Summer 2016/2017

bi 3dt trubka trubka2

Pipes

Your task is to create pipe junction for three water pipes, each pipe has its shape and diameter.

Pipe junction generator

Develop OpenSCAD module splitter with following interface, which will create junction of water pipes according to input data.

module splitter(pipes=[...], wall_thick=2.5) { ... }

Vector pipes contains 3 elements describing 3 pipes entering junction.

Each pipe contains following data in this order (the last element is interval of valid inputs (you do not have to check for logical inputs))

  1. pipe shape (string)
  2. pipe length from center of junction (20, 50)
  3. pipe inner diameter (10,40)
  4. angle that pipe is under with plane (-30°,30°)

Parameter wall_thick is wall thickness in the whole object (small differences in curves ale allowable). Pipe diameter is meant to be the inner one, therefore wall_thick changes the wall thickness not the pipe diameter.

(There are no default values fot this model)

Pipe shapes

Profily

Your module has to comply to all of these pipe shapes. Rotation of profile matters! Shapes are illustrated so the bottom edge lays at the bottom, they are always perpendicular to pipe axis, and shows view from inside out. Pipe shape is defined by string, for example Square. (Your module will not be automatically tested, so use logical lowercased or uppercased letters.)

Variable d illustrates diameter od pipe.

You are not allowed to use external libraries, but you can manipulate $fn, which could come handy.

Pipe position

Pipes are under 120° angle from top view.

Top View

Variables l and d are lengths and diameters of pipes. a, b and c indexes describes pipes. Pipes are arranged counterclockwise. It doesn’t matter which way you will arrange yours.

Pipe is under angle from (-30°,30°) interval with plane. There are 2 parallel pipes on this picture, but it might not always be the case. Center axis of pipes intersect each other in the center of the junction. Positive value means direction up, negative direction down.

Side View

Outer curve od pipes can be whichever, but it needs to make sense so it would not lower the water flow. Keep in mind that your module has to be parametric.

Submission to print

Each one of you will receive 2 models, you are supposed to choose one of them, you will define the wall thickness, so the model would be printable in the time you will have.

Důležité:

Your OpenSCAD module must support all pipe types, not just the ones assigned to you in this list.

Abisogomyan Sergei: [['Pentagon', 32, 32, 30], ['Star', 46, 22, 3], ['Circle', 31, 28, -15]]
Abisogomyan Sergei: [['RippedSquare', 24, 25, -11], ['Square', 41, 11, -10], ['Star', 25, 40, 15]]
Bigarová Jana: [['Star', 33, 12, 12], ['Pentagon', 29, 39, 3], ['Square', 37, 24, -23]]
Bigarová Jana: [['RippedSquare', 50, 10, 17], ['Square', 20, 21, 20], ['Star', 46, 10, 25]]
Bubeníček Tomáš: [['Star', 27, 33, -19], ['Pentagon', 38, 10, 7], ['Circle', 37, 34, -11]]
Bubeníček Tomáš: [['Square', 25, 39, 28], ['RippedSquare', 27, 29, 21], ['Pentagon', 48, 18, 16]]
Čapek Tomáš: [['Star', 30, 23, -6], ['Pentagon', 22, 15, 0], ['Circle', 35, 31, 17]]
Čapek Tomáš: [['Square', 49, 25, -25], ['Circle', 37, 11, -7], ['Star', 38, 30, -5]]
Do Duc Huy: [['Star', 22, 37, -10], ['Pentagon', 31, 18, 20], ['Circle', 36, 17, 25]]
Do Duc Huy: [['RippedSquare', 47, 11, 0], ['Square', 46, 10, -2], ['Star', 25, 15, 22]]
Havrda Tomáš: [['Pentagon', 22, 29, 4], ['Star', 48, 16, 23], ['RippedSquare', 28, 35, 27]]
Havrda Tomáš: [['Circle', 33, 12, 4], ['RippedSquare', 47, 29, 26], ['Pentagon', 48, 14, -30]]
Hejda Jakub: [['Pentagon', 40, 32, 1], ['Star', 48, 26, 26], ['Square', 43, 11, -12]]
Hejda Jakub: [['Square', 27, 30, 6], ['Circle', 25, 28, 24], ['Star', 34, 10, 11]]
Hendrychová Vanda: [['Pentagon', 43, 24, 24], ['Star', 20, 12, 4], ['Square', 24, 15, -26]]
Hendrychová Vanda: [['Circle', 44, 14, -11], ['RippedSquare', 46, 36, 27], ['Star', 36, 15, 10]]
Hollmann Otto: [['Pentagon', 50, 33, -15], ['Star', 21, 28, -12], ['Circle', 42, 32, 27]]
Hollmann Otto: [['RippedSquare', 37, 39, 24], ['Circle', 44, 29, -9], ['Star', 25, 31, 15]]
Homolka Jakub: [['Pentagon', 24, 37, -12], ['Star', 40, 26, 28], ['RippedSquare', 34, 10, 20]]
Homolka Jakub: [['Circle', 48, 36, 8], ['Square', 45, 34, -26], ['Star', 29, 34, -4]]
Kello Tomáš: [['Pentagon', 47, 27, 8], ['Star', 22, 37, 26], ['Circle', 36, 36, -1]]
Kello Tomáš: [['Square', 50, 20, -13], ['Circle', 46, 17, 23], ['Pentagon', 23, 17, 8]]
Laskov Boris: [['Pentagon', 24, 33, -30], ['Star', 36, 24, 27], ['RippedSquare', 21, 31, 22]]
Laskov Boris: [['Circle', 49, 20, 15], ['Square', 38, 20, -26], ['Pentagon', 47, 33, 17]]
Lišhák Filip: [['Pentagon', 40, 36, -11], ['Star', 44, 40, -19], ['Circle', 45, 28, -6]]
Lišhák Filip: [['Square', 50, 27, -23], ['RippedSquare', 46, 28, -2], ['Pentagon', 50, 36, 18]]
Nechiporenko Valeria: [['Pentagon', 44, 22, -16], ['Star', 41, 15, 10], ['Circle', 30, 35, 10]]
Nechiporenko Valeria: [['RippedSquare', 49, 20, 15], ['Square', 24, 40, -4], ['Pentagon', 37, 26, -27]]
Polačok Juraj: [['Star', 44, 14, 18], ['Pentagon', 35, 12, 24], ['Square', 50, 38, 19]]
Polačok Juraj: [['RippedSquare', 20, 19, 23], ['Square', 47, 10, -5], ['Pentagon', 41, 24, 29]]
Samek Jakub: [['Star', 20, 22, 27], ['Pentagon', 24, 11, -18], ['RippedSquare', 38, 31, -19]]
Samek Jakub: [['Circle', 32, 21, -6], ['Square', 24, 17, 23], ['Star', 29, 25, -2]]
Sauer Petr: [['Pentagon', 33, 24, 24], ['Star', 30, 12, -27], ['RippedSquare', 42, 20, 25]]
Sauer Petr: [['Square', 42, 35, 25], ['Circle', 45, 21, 27], ['Star', 21, 11, -10]]
Šedivý Richard: [['Star', 36, 11, -4], ['Pentagon', 47, 35, 8], ['Circle', 47, 35, 25]]
Šedivý Richard: [['Square', 21, 31, -19], ['RippedSquare', 38, 37, 17], ['Pentagon', 23, 11, -29]]
Selvek Róbert: [['Pentagon', 47, 20, -18], ['Star', 46, 24, -26], ['RippedSquare', 32, 29, 29]]
Selvek Róbert: [['RippedSquare', 35, 26, 24], ['Circle', 35, 38, -25], ['Pentagon', 37, 18, 23]]
Shatrovskii Aleksandr: [['Pentagon', 21, 34, -28], ['Star', 42, 11, -13], ['Square', 46, 31, 17]]
Shatrovskii Aleksandr: [['Circle', 30, 38, 15], ['Square', 29, 14, -23], ['Pentagon', 30, 37, 6]]
Schmidt Daniel: [['Pentagon', 21, 29, 18], ['Star', 49, 38, -30], ['RippedSquare', 48, 39, 13]]
Schmidt Daniel: [['Square', 33, 34, -30], ['Circle', 39, 22, 6], ['Star', 33, 15, 15]]
Srogončíková Jana: [['Pentagon', 38, 36, 11], ['Star', 28, 36, 28], ['Square', 22, 24, 5]]
Srogončíková Jana: [['Circle', 36, 15, -25], ['Square', 41, 31, 19], ['Star', 21, 11, -18]]
Topič Jakub: [['Star', 24, 34, -20], ['Pentagon', 32, 24, -24], ['Circle', 36, 39, -19]]
Topič Jakub: [['Square', 38, 26, 25], ['Circle', 28, 40, -26], ['Star', 30, 27, -13]]
Zotkina Olga: [['Pentagon', 23, 37, 22], ['Star', 36, 15, 20], ['Square', 34, 31, 20]]
Zotkina Olga: [['Circle', 27, 28, 11], ['Square', 23, 22, -13], ['Star', 32, 16, -18]]
Bulíř Hynek: [['Star', 46, 10, -10], ['Pentagon', 38, 32, 8], ['Circle', 41, 40, 4]]
Bulíř Hynek: [['Circle', 47, 27, -15], ['Square', 34, 33, 21], ['Star', 24, 20, -22]]
Cafardy Clair: [['Star', 27, 30, 13], ['Pentagon', 43, 28, -6], ['Square', 32, 37, -14]]
Cafardy Clair: [['Square', 40, 39, 20], ['RippedSquare', 32, 11, -3], ['Star', 36, 35, -24]]
Klepoch Marco: [['Star', 27, 37, -6], ['Pentagon', 26, 28, 6], ['Circle', 22, 10, -29]]
Klepoch Marco: [['Circle', 42, 16, 28], ['RippedSquare', 40, 17, -7], ['Pentagon', 21, 21, -21]]
Lebe David: [['Pentagon', 29, 17, 27], ['Star', 32, 33, -30], ['Square', 35, 25, 4]]
Lebe David: [['RippedSquare', 26, 28, 3], ['Square', 29, 32, -5], ['Star', 46, 20, 1]]
Martinovská Tereza: [['Star', 22, 18, 12], ['Pentagon', 45, 10, 0], ['Square', 28, 33, 28]]
Martinovská Tereza: [['Circle', 22, 39, -7], ['RippedSquare', 25, 36, -21], ['Pentagon', 25, 16, -5]]
Petrášová Jaroslava: [['Pentagon', 44, 24, -29], ['Star', 38, 11, 7], ['RippedSquare', 21, 30, -12]]
Petrášová Jaroslava: [['Circle', 40, 36, -28], ['Square', 31, 15, 25], ['Star', 30, 29, 3]]
Sivák Dominik: [['Star', 40, 20, 6], ['Pentagon', 34, 13, 15], ['Circle', 48, 22, 28]]
Sivák Dominik: [['RippedSquare', 50, 24, -17], ['Circle', 31, 13, 7], ['Pentagon', 32, 36, -20]]
Widmark Sondre Johan: [['Pentagon', 48, 25, -27], ['Star', 25, 37, -13], ['Circle', 27, 35, -25]]
Widmark Sondre Johan: [['Square', 30, 38, 16], ['Circle', 34, 24, -24], ['Pentagon', 26, 35, -17]]

Pre-processing

Choose which ever junction out of the 2 that has been given to you and prepare it for print. You can do what ever you want with this model (rotate, cut, fix, add support), but it is necessary to keep dimensions of the junction. Output of this section is one or more STL files, which are ready for slicing, and very brief description of the things which you did with the original model and why. (This brief description is not to be written but you need to explain all the steps to the person which will check your model).

Slicing

Slice it by which ever program you prefer, you can also develop you own slicer if you like. For Slic3r use slic3r-config-bundle.ini.zip (make sure you will use the correct profile, not -default-). After you slice your model, you need to export used config, you also need to keep sliced model in .GCODE. You can use several GCODEs if you will print it like that, but you need to submit what you are printing.

Print and post-proccessing

You can find the dates and times for printing in KOS. You will be printing your gcode in our lab. You need to post-proccess printed object afterward (remove supports, glue it together etc.). The print should look like the given model.

In case total failure it is possible to retry with new .GCODE, but only once. In case of failure which is not from you doing the try is not considered.

Submission, evaluation and terms

Submission is on GitHub, ussing this link will create you a repo. All the necessary description should be in README (or README.md) inside your repo.

What do you submit?

  • scad file containing modul splitter including its declaration and definition
  • scad file with call to your modul with arguments
  • STL file with your chosen junction as it was generated by OpenSCAD
  • STL file which you will print
  • GCODES
  • Slicer config you used
  • Any necessary files we need to evaluate you work

Deadline is 11.6.2017 including, or the beginning of your submission, incase it happens earlier. Late submission is with 10 point deduction per week. Minimal score per coursework is 0, you cannot get negative points for this task.

Finals are ending on 30.6.2017, you can print your coursework later, but you need to discuss this with us beforehand.

Points according to this:

OpenSCAD module10
Modul works accordingly the task7mandatory
Source code is well written and accordingly commented3
Preparation for printing10
Well prepared STLs5mandatory
Mesh is valid in all STL files5
Slicing10
Supports (are not necessary (5 p.), justified use* (2.5 p.), unjustified use (0 p.))5
Well chosen parameters for printing (perimeters, infill, height of layer)5
Print10
The printed model is accordingly by task, the object is post-proccessed4mandatory
The printed model does not have any defects caused by wrong preparation it self for printing3
The printed model does not have any defects caused by wrong usage of printer (preparation of heat bed, bad temperature)3
  • We lower your points only for automatically generated support (by slicers).
Důležité:

You will need your own computer for printing. You need to be able to connect ti WiFi or by ethernet and knowledge of your MAC address.

Evaluation is divided to 4 parts. mandatory means that if you fail in this one you will not receive any points from the section it is in!