рд╣рдо 3D рдореБрджреНрд░рдг рдХреЗ рд▓рд┐рдП OpenSCAD рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕реАрдбреА, рдпрд╛ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд╛ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВ





рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдореБрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо OpenSCAD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдП рдЧрдП рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ 3 рдбреА рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдПред



рд╕рдВрдкреВрд░реНрдг рдореЙрдбрд▓рд┐рдВрдЧ рдкрде рдФрд░ рд╕рдорд╛рдкреНрддрд┐ рдкрд░ рдореБрджреНрд░рд┐рдд 3 рдбреА рднрд╛рдЧ рдХреЛ рдЪрд░рдг рджрд░ рдЪрд░рдг рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдЗрд╕ рднрд╛рдЧ рд╕реЗ рдЖрдк рд╕реАрдбреА-рдбрд┐рд╕реНрдХ рдХреЛ рдПрдХ рдзрд╛рдЧреЗ рдкрд░ рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЧреНрд░рд╣ рдкрд░ рдорд╛рдирд╡рддрд╛ рдХреЗ рд▓рд┐рдП рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд▓рд╛рдн рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╢реМрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ (рдкрд╣рд▓реА рдмрд╛рд░) рдУрдкрдирд╕реНрдХреИрдб рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВ "рдЦрд░реЛрдВрдЪ рд╕реЗ" рдореИрдВрдиреЗ рдПрдХ 3 рдбреА рдореЙрдбрд▓ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ред



рдУрдкрдирдПрд╕рдХреЗрдПрдбреА 3 рдбреА рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдФрд░ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп 3 рдбреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕рдореЗрдВ рдорд╛рдЙрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддреИрдпрд╛рд░ рднрд╛рдЧ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЦреБрдж рдбреНрд░рд╛рдЗрдВрдЧ рдбреНрд░рд╛рдЗрдВрдЧ рдУрдкрдирд╕реНрдХреИрдб рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред



рдУрдкрдирдПрд╕рдХреЗрдПрдбреА рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╕рд╛рд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ - рдЗрд╕рдореЗрдВ рд╣рдо рдЬреНрдпрд╛рдорд┐рддреАрдп рдЖрджрд┐рдо рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд╣рдо рд░реЛрдЯреЗрд╢рди, рдЖрдВрджреЛрд▓рди рдФрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо рдЖрдВрдХрдбрд╝реЗ рдкрд░ "рдЕрдВрдХрдЧрдгрд┐рдд" рдЖрджреЗрд╢ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШрдЯрд╛рд╡ред



рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЪрд┐рддреНрд░рдг:

    10     10     
      
      







рдФрд░ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ:









OpenSCAD рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ





рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЕрдкрдиреЗ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ (http://www.openscad.org/) рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рдлрд┐рд▓рд╣рд╛рд▓ рд╕рдВрд╕реНрдХрд░рдг 03.2014 рд╕реЗ рд╣реИ ред



рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо 2 рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ:







рд╡рд╛рдо - OpenSCAD рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,

рджрд╛рдИрдВ рдУрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред



рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреВрд░реНрдг рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП F5 рджрдмрд╛рдПрдВ - F6 ред



рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЬрдм рдЖрдк рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ - рддреЛ рдЙрд╕реЗ OpenSCAD рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╛рд╣рд░реА рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдкрд╛рджрди рдХрд░рддреЗ рд╕рдордп рдЦреБрд▓реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЖрдкрдХреЛ F4 рджрдмрд╛рдирд╛ рд╣реЛрдЧрд╛ред



рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛





рдЖрдЗрдП рдПрдХ рдХреНрдпреВрдм рдЦреАрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: cube();







рд╣рдо рдмрд╛рдИрдВ рдУрд░, рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ (10 рдШрди рдХреЗ рдХрд┐рдирд╛рд░реЗ рд╣реИ):



 cube(10);
      
      







рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдПрдХ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИ ред



рд╣рдо F5 рджрдмрд╛рддреЗ рд╣реИрдВ, рд╣рдо рджрд╛рдИрдВ рдУрд░ рджреЗрдЦрддреЗ рд╣реИрдВ - рдШрди - рд╣рдо рдЗрд╕реЗ рдорд╛рдЙрд╕ рд╕реЗ рдкрдХрдбрд╝рдХрд░, рд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдмрдврд╝рд╛ / рдШрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╣реА рдмрдЯрди рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдШреБрдорд╛ рд╕рдХрддреЗ рд╣реИрдВред







рдФрд░ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдЖрджреЗрд╢: sphere(10)







 cube(10); sphere(10);
      
      







рд╣рдо F5 рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:







рдЕрдм рдШрдЯрд╛рд╡ рдХрдорд╛рдВрдб рдЬреЛрдбрд╝реЗрдВ:



difference() { OBJ1; OBJ2;}



difference() { OBJ1; OBJ2;}







рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЦрд╛рд▓реА рдмреНрд░реИрдХреЗрдЯ, рдФрд░ рдлрд┐рд░ рдЙрди рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рдирдореЗрдВ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдШрдЯрд╛рд╡ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛



 difference(){ cube(10); sphere(10); }
      
      







рдФрд░ рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:







рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред



рдЕрдм рдЕрдкрдиреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдкрд░ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВред



рд╕рд╕реНрдкреЗрдВрд╢рди рдореЙрдбрд▓рд┐рдВрдЧ





рд╕реАрдбреА рдХреЛ рдереНрд░реЗрдбреНрд╕ рдкрд░ рд▓рдЯрдХрд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдерд┐рддрд┐ рдореЗрдВ:



  1. рдРрд╕рд╛ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рдЖрдк рдереНрд░реЗрдб рдХреЛ рдареАрдХ рдХрд░ рд╕рдХреЗрдВ
  2. рдбрд┐рд╕реНрдХ рдХреЛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  3. рдзрд╛рдЧреЗ рдХрд╛ рд▓рдЧрд╛рд╡ рдмрд┐рдВрджреБ рдбрд┐рд╕реНрдХ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рдКрдкрд░ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрдХреНрд╖ рд╕реЗ рджреЗрдЦрдиреЗ рдкрд░ рд╡рд┐рдорд╛рди рдХреЗ рдКрдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП




рдЪрд▓реЛ рдзрд╛рдЧреЗ рдХреЗ рд▓рдЧрд╛рд╡ рдХреЗ рдмрд┐рдВрджреБ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдмрд▓реНрдХрд┐, рдЗрд╕рдХреЗ рдФрд░ рдбрд┐рд╕реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рд╣реИред



рдХреНрд░реЙрд╕ рдореЙрдбрд▓рд┐рдВрдЧ





рдореИрдВрдиреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдПрдХ рдХреНрд░реЙрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдПрдХ рдХрд╛рдЯреЗ рдЧрдП рдкрд┐рд░рд╛рдорд┐рдб рдХреА рддрд░рд╣ рдКрдкрд░ рдЬрд╛рддрд╛ рд╣реИред



рдареАрдХ рд╣реИ, рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо рдПрдХ рдХреНрд░реЙрд╕ рдмрдирд╛рддреЗ рд╣реИрдВред



рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рдЖрдпрддрд╛рдХрд╛рд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдЪрддреБрд░реНрднреБрдЬ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓рдВрдмрд╡рдд рдЦреАрдВрдЪреЗрдВред



рдиреЛрдЯ : рдкрд╛рда рдХреА рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП - рдореИрдВ "рдЖрдпрддрд╛рдХрд╛рд░ рдмреЙрдХреНрд╕" рдХрд╣реВрдВрдЧрд╛ - "рдХреНрдпреВрдмреЙрдЗрдб", рдЕрд░реНрдерд╛рдд рдпрд╣ рдШрди рдХрд╛ рдПрдХ рд░реВрдкрд╛рдВрддрд░ рд╣реИред



рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡реЗ рдХреЗрдВрджреНрд░ рд╕реЗ, X, Y, Z рдЕрдХреНрд╖ рдХреЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖реЛрдВ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рдХреНрдпреВрдм рдХреЛ рдкреЙрдЬрд┐рдЯрд┐рд╡ рдЬрд╝реЛрди рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ (рдЬрдмрдХрд┐ рдЧреЛрд▓рд╛ рд╢реБрд░реВ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ)ред



рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрдм рддреИрдпрд╛рд░ рдЖрдВрдХрдбрд╝реЗ рдХрд╛ рдХреЗрдВрджреНрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

center = true



ред



рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рд╕реАрдбреА рдХреЗ рдЖрдВрддрд░рд┐рдХ рдЫреЗрдж рдХрд╛ рд╡реНрдпрд╛рд╕ 15 рдорд┐рдореА рд╣реИред рддреЛ рдХреНрд░реЙрд╕ рдХреЗ рдиреАрдЪреЗ 15 рдорд┐рдореА рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕ рд╕реНрдЯреЙрдХ рдХреЗ рд▓рд┐рдП рд╣рдо 14 рдорд┐рдореА рд▓реЗрддреЗ рд╣реИрдВред



рдХреНрд░реЙрд╕ рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ:

 cube([14,1,15], center=true);
      
      







рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛:





рдпрджрд┐ рд╣рдо "рдХреНрдпреВрдм" рдХреА рдкреНрд░рддреНрдпреЗрдХ рджреАрд╡рд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрдВрдХрди [x, y, z]



рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ (рдХреЗрдВрджреНрд░ = рд╕рддреНрдп) рд╣рдордиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ "рдХреНрдпреВрдмреЙрдЗрдб" рдЦреАрдВрдЪрд╛ рдЬрд╛рдПрдЧрд╛ред



рд╣рдордиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ:

14 - рдпрд╣ "рдХреНрдпреВрдмреЙрдЗрдб" рдХреА рдЪреМрдбрд╝рд╛рдИ рд╣реИ - рдпрд╣ 15 рдорд┐рдореА рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рд╕реАрдбреА-рд░реЛрдо рдбрд┐рд╕реНрдХ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдЫреЗрджред

1 - рджреАрд╡рд╛рд░ рдХреА рдореЛрдЯрд╛рдИ

15 "рдХреНрдпреВрдмреЙрдЗрдб" рдХреА рдКрдВрдЪрд╛рдИ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬреЗрдб рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд╣реИ, рдлрд┐рд░ рдКрдкрд░реА рднрд╛рдЧ рдореЗрдВ рдпрд╣ 15/2 = 7.5 рдорд┐рдореА рд╣реЛрдЧрд╛ - рдпрд╣ рд▓рдЧрд╛рд╡ рдмрд┐рдВрджреБ рддрдХ рдХреА рдКрдВрдЪрд╛рдИ рд╣реЛрдЧреАред



рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдХреНрд░реЙрд╕ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЬреЗрдб рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рдорд╛рди "рдХреНрдпреВрдмреЙрдЗрдб" 90 рдбрд┐рдЧреНрд░реА рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рд░реЛрдЯреЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ: rotate(a = deg, v = [x, y, z]) { ... }







рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд░реЛрдЯреЗрд╢рди рдХреЛрдг (рдП) рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡реЗрдХреНрдЯрд░ (рд╡реА) рдЬрд┐рд╕рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд░реЛрдЯреЗрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рджрд┐рдЦреЗрдЧрд╛:

 cube([14,1,15], center=true); rotate(a=90, v=[0,0,1]){ cube([14,1,15], center=true); }
      
      







рдФрд░ рдирддреАрдЬрд╛





рдЕрдм рд╣рдореЗрдВ рдЙрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬреЛ рд╢реВрдиреНрдп рддрд▓ (рдиреАрдЪреЗ) рдХреЗ рдиреАрдЪреЗ рд╣реИред



рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдиреАрдЪреЗ рдПрдХ рдХреНрдпреВрдм рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЖрдВрдХрдбрд╝реЗ рд╕реЗ рдШрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреНрдпреВрдм рдХреЛ рдХреЗрдВрджреНрд░ рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛рдПрдЧрд╛, рд╣рдореЗрдВ рдЗрд╕реЗ рдиреАрдЪреЗ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдЪрд╛рд▓ рдХрдорд╛рдВрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: translate(v = [x, y, z]) { ... }







рдЬрд╣рд╛рдВ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╡реЗрдХреНрдЯрд░ (v) рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред



рд╣рдо 15 рдорд┐рдореА рдХреЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрдпреВрдм рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ 15/2 рдорд┐рдореА рдиреАрдЪреЗ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ (рд╣рд╛рдБ рдЖрдк рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) - рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдорд╛рди рдХреЗ рдиреАрдЪреЗ рдирд┐рдХрд▓рддрд╛ рд╣реИред



рдпрд╣рд╛рдБ рдЕрджреНрдпрддрди рдХреЛрдб рд╣реИ:

 cube([14,1,15], center=true); rotate(a=90, v=[0,0,1]){ cube([14,1,15], center=true); } translate(v=[0,0,-15/2]){ cube(15, center=true); }
      
      







рдФрд░ рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:





рдЕрдм рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рд╕рдмрдЯреНрд░реЗрдХреНрд╢рди рдХрдорд╛рдВрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ - рд╣рдореЗрдВ рдХреНрд░реЙрд╕ рд╕реЗ рдХреНрдпреВрдм рдХреЛ рдШрдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдШрдЯрд╛рд╡ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди - рджреЛ "рдХреНрдпреВрдмреЙрдЗрдбреНрд╕" (рдПрдХ рдХреНрд░реЙрд╕), рдФрд░ рдПрдХ рдХреНрдпреВрдм рд╣реЛрддрд╛ рд╣реИред



рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпреВрдирд┐рдпрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ : union(){ OBJ1; OBJ2; ... }



union(){ OBJ1; OBJ2; ... }



union(){ OBJ1; OBJ2; ... }



ред



рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб (рд╕рдВрдШ рдФрд░ рдШрдЯрд╛рд╡ рдХреЗ рд╕рд╛рде) рдирд┐рдХрд▓рддрд╛ рд╣реИ:

 difference(){ union(){ cube([14,1,15], center=true); rotate(a=90, v=[0,0,1]){ cube([14,1,15], center=true); } } translate(v=[0,0,-15/2]){ cube(15, center=true); } }
      
      







рдкрд░рд┐рдгрд╛рдо





рдХреНрд░реЙрд╕ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реИ, рдЕрдм рд╣рдореЗрдВ рдЗрд╕реЗ рдкрд┐рд░рд╛рдорд┐рдб рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдЗрд╕ рдкреНрд░рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рдПрдХ рд╢рдВрдХреБ рд╣рдореЗрдВ рд╕реВрдЯ рдХрд░реЗрдЧрд╛, рдФрд░ "рдХреНрд░реЙрд╕рд┐рдВрдЧ" рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдЬрдм рдХреЗрд╡рд▓ рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рджреЛрдиреЛрдВ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред



рд▓реЗрдХрд┐рди OpenSCAD рдореЗрдВ рд╢рдВрдХреБ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрджреЗрд╢ рдирд╣реАрдВ рд╣реИред



рд▓реЗрдХрд┐рди рдПрдХ рд╕рд┐рд▓реЗрдВрдбрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдХрдорд╛рдВрдб рд╣реИ : cylinder(h = 10, r = 10, [r2 = 20,]);







рдЬрд╣рд╛рдВ рдореВрд▓ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдПрдХ рд╕рд┐рд▓реЗрдВрдбрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) - рдЖрдзрд╛рд░ рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ [r] рдФрд░ рдКрдВрдЪрд╛рдИ [f] рдПрдХ рддреАрд╕рд░рд╛ [r2] рд╣реИ - рд╢реАрд░реНрд╖ рдХреА рддреНрд░рд┐рдЬреНрдпрд╛, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдПрдХ рд╢рдВрдХреБ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ 0. рдпрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╢рдВрдХреБ - рдпрджрд┐ рдЖрдк рдорд╛рди рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЖрдзрд╛рд░ рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ред



рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред



рдЖрдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░реЗрдВ, рд╡реНрдпрд╛рд╕ рдореЗрдВ рд╢рдВрдХреБ рдХрд╛ рдЖрдзрд╛рд░ 14 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рдд 7. рдКрдБрдЪрд╛рдИ 15/2 рдорд┐рдореАред рдКрдкрд░реА рдЖрдзрд╛рд░ рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ рдЗрд╕реЗ 1 рдорд┐рдореА рд╣реЛрдиреЗ рджреЗрдВ, рдЖрдХрд╛рд░ рд╕реНрд╡рдпрдВ 2 рдорд┐рдореА рд╣реЛрдЧрд╛, рдЗрд╕ рдкрд░ рд╣рдо рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрдЦ рдбрд╛рд▓ рджреЗрдВрдЧреЗред



рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдПрдХ рд╢рдВрдХреБ рдЦреАрдВрдЪреЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЖрдзреА рдКрдВрдЪрд╛рдИ (15/4) рдХреЛ рдЙрдард╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ред



рдЯреБрдХрдбрд╝рд╛:

 translate(v=[0,0,7/2]){ cylinder(h=7, r=7, r2=2, center=true); }
      
      







рдпрд╣рд╛рдБ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:







рдкрд░рд┐рдгрд╛рдо рдХреЛрдб:

 difference(){ union(){ cube([14,1,15], center=true); rotate(a=90, v=[0,0,1]){ cube([14,1,15], center=true); } } translate(v=[0,0,-15/2]){ cube(15, center=true); } } translate(v=[0,0,15/4]){ cylinder(h=15/2, r=7, r2=2, center=true); }
      
      







рдФрд░ рдкрд░рд┐рдгрд╛рдо:





рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рддреИрдпрд╛рд░ рд╢рдВрдХреБ рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реИред OpenSCAD рдореЗрдВ, рджреЗрдЦрдиреЗ рдХреЗ рдореЛрдб рдХреЗ рд▓рд┐рдП, рдЖрдк рдЪрдпрдирд┐рдд рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░рднрд╛рд╕реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рд╕реЗ рдкрд╣рд▓реЗ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ "%" рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред



рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ:

 difference(){ union(){ cube([14,1,15], center=true); rotate(a=90, v=[0,0,1]){ cube([14,1,15], center=true); } } translate(v=[0,0,-15/2]){ cube(15, center=true); } } %translate(v=[0,0,15/4]){ cylinder(h=15/2, r=7, r2=2, center=true); }
      
      







рдФрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:





рдареАрдХ рд╣реИ, рдЕрдм рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХреНрд░реЙрд╕ рдФрд░ рд╢рдВрдХреБ рдХреЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



intersection() { OBJ1; OBJ2; ...}



рдЪреМрд░рд╛рд╣реЗ рдХрдорд╛рди : intersection() { OBJ1; OBJ2; ...}



intersection() { OBJ1; OBJ2; ...}







рд╣рдорд╛рд░реЗ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

 intersection(){ difference(){ union(){ cube([14,1,15], center=true); rotate(a=90, v=[0,0,1]){ cube([14,1,15], center=true); } } translate(v=[0,0,-15/2]){ cube(15, center=true); } } translate(v=[0,0,15/4]){ cylinder(h=15/2, r=7, r2=2, center=true); } }
      
      







рдФрд░ рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ:





рдзрд╛рдЧрд╛ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрдб рддреИрдпрд╛рд░ рд╣реИред



рдпрд╣ рдЖрдЧреЗ рд╕рд░рд▓ рд╣реЛрдЧрд╛, рд╣рдо рдПрдХ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдВрдЦ рдЦреАрдВрдЪрддреЗ рд╣реИрдВред



рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рд╛рдЦрд╝ рдХрд╛ рдЕрдиреБрдХрд░рдг





рдХрд╛рди - рдпрд╣ рдПрдХ рдЫреЛрдЯреА рдЕрдВрдЧреВрдареА рд╣реЛрдЧреАред рд╣рдо рдЗрд╕реЗ рдлреНрд▓реИрдЯ рд╕рд┐рд▓реЗрдВрдбрд░реЛрдВ рдХреЛ рдШрдЯрд╛рдХрд░ рдмрдирд╛рдПрдВрдЧреЗред



рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд┐рд▓реЗрдВрдбрд░ рдЦреАрдВрдЪреЗрдВ рдЬрд┐рд╕рдХреА рдКрдВрдЪрд╛рдИ рдЖрдВрдЦ рдХреА рдореЛрдЯрд╛рдИ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА, рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд┐рд▓реЗрдВрдбрд░ рдЦреАрдВрдЪрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдмрдбрд╝реЗ рд╕реЗ рдШрдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдЧрд▓рд╛, рдЬреЛ рд╣реБрдЖ рд╡рд╣ y- рдЕрдХреНрд╖ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ 90 рдбрд┐рдЧреНрд░реА рдШреБрдорд╛рдпрд╛ рдЧрдпрд╛, рдФрд░ рд╣рдорд╛рд░реЗ рдХреНрд░реЙрд╕ рдХреЗ рд╢реАрд░реНрд╖ рддрдХ рдмрдврд╝рд╛ред



рдпрд╣рд╛рдБ рдЗрд╕ рдХреЛрдб рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рд╣реИ:

 translate(v=[0,0,15/2]){ rotate(a=90, v=[1,0,0]){ difference(){ cylinder(h=1, r=2, center=true); cylinder(h=1, r=1, center=true); } } }
      
      







рдФрд░ рдирддреАрдЬрд╛





рдпрд╣ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХреЛрдб рдореЗрдВ рд╣реИ:

 intersection(){ difference(){ union(){ cube([14,1,15], center=true); rotate(a=90, v=[0,0,1]){ cube([14,1,15], center=true); } } translate(v=[0,0,-15/2]){ cube(15, center=true); } } translate(v=[0,0,15/4]){ cylinder(h=15/2, r=7, r2=2, center=true); } } translate(v=[0,0,15/2]){ rotate(a=90, v=[1,0,0]){ difference(){ cylinder(h=1, r=2, center=true); cylinder(h=1, r=1, center=true); } } }
      
      







рдФрд░ рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:





рдпрд╣реА рд╣реИ, рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдЙрдВрдЯ рд╣реИ, рдЕрдм рд╣рдореЗрдВ рд╕реАрдбреА рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд╛рд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░





рд╣рдо рдЪрд╛рд▓рд╛рдХреА рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ - рд╣рдо рдЗрд╕реЗ рдирд╣реАрдВ рдЦреАрдВрдЪреЗрдВрдЧреЗред рд╣рдо рд░рдлрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред



рдмреЗрдбрд╝рд╛ рдХреНрдпрд╛ рд╣реИ?





рд░рдлреЗрдЯ (рдмреЗрдбрд╝рд╛) рдПрдХ рддрдХрдиреАрдХреА рд╕рдмреНрд╕рдЯреНрд░реЗрдЯ рд╣реИ, рдЬреЛ 3 рдбреА рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдореБрджреНрд░рд┐рдд 3 рдбреА рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдЖрд╕рдВрдЬрди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред



рдпрд╣ рдХреИрд╕рд╛ рдмреЗрдбрд╝рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдиреАрдЪреЗ рдХрд╛ рдЬрд╛рд▓ рд╣реИ:





рдЖрдХреГрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд╕рдореЛрдЪреНрдЪ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рдлрд╝ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рд▓рдЧрднрдЧ 5 рдорд┐рдореА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП - рд╕рдмреНрд╕рдЯреНрд░реЗрдЯ, рд╣рдорд╛рд░реЗ рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдиреАрдЪреЗ рдХреА рдкрд░рдд рд╕реАрдбреА-рд░реЛрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧреАред



рд╕рдмрд╕реЗ рдиреАрдЪреЗ рд░рд┐рдВрдЧ рдХрд░реЗрдВ





рдПрдХрдорд╛рддреНрд░ рд╕реВрдХреНрд╖реНрдорддрд╛ - рдмреЗрдбрд╝рд╛ рдПрдХ рдХреНрд░реЙрд╕ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ - рд╣рдо рдиреАрдЪреЗ рдПрдХ рдкрддрд▓реА рдЕрдВрдЧреВрдареА рдЦреАрдВрдЪреЗрдВрдЧреЗред



рд╣рдо рджреЛ рд╕рд┐рд▓реЗрдВрдбрд░ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, 0.5 рдорд┐рдореА рдХреА рдКрдБрдЪрд╛рдИ рдХреЗ рд╕рд╛рде, 14 рдорд┐рдореА рдХрд╛ рдПрдХ рдмрд╛рд╣рд░реА рд╡реНрдпрд╛рд╕, рдпрд╛рдиреА 7 рдорд┐рдореА рдХрд╛ рддреНрд░рд┐рдЬреНрдпрд╛, 6.5 рдорд┐рдореА рдХрд╛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рддреНрд░рд┐рдЬреНрдпрд╛, рдФрд░ рдЗрд╕реЗ рдШрдЯрд╛рдПрдВ - рд╣рдореЗрдВ рдПрдХ рдЕрдВрдЧреВрдареА рдорд┐рд▓рддреА рд╣реИ, рдЗрд╕реЗ 0.25 рдКрдкрд░ рдЙрдард╛рдПрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред



рдпрд╣рд╛рдБ рд╕реНрдирд┐рдкреЗрдЯ рдХреЛрдб рд╣реИ:

 translate(v=[0,0,0.25]){ difference(){ cylinder(h=0.5, r=7, center=true); cylinder(h=0.5, r=6.5, center=true); } }
      
      





рдкрд░рд┐рдгрд╛рдо:





рдФрд░ рдпрд╣рд╛рдБ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдХреЛрдб рд╣реИ:

 intersection(){ difference(){ union(){ cube([14,1,15], center=true); rotate(a=90, v=[0,0,1]){ cube([14,1,15], center=true); } } translate(v=[0,0,-15/2]){ cube(15, center=true); } } translate(v=[0,0,15/4]){ cylinder(h=15/2, r=7, r2=2, center=true); } } translate(v=[0,0,15/2]){ rotate(a=90, v=[1,0,0]){ difference(){ cylinder(h=1, r=2, center=true); cylinder(h=1, r=1, center=true); } } } translate(v=[0,0,0.25]){ difference(){ cylinder(h=0.5, r=7, center=true); cylinder(h=0.5, r=6.5, center=true); } }
      
      







рд╕рд┐рд╕реНрдЯрдо рдЪрд░





рд╢рд╛рдпрдж рдЙрдиреНрд╣реЛрдВрдиреЗ рдиреЛрдЯ рдХрд┐рдпрд╛ рдХрд┐ рд╡реГрддреНрдд "рдХреЛрдгреАрдп" рд╣реИрдВ, рдбреНрд░рд╛рдЗрдВрдЧ рдордВрдбрд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЧрдореЗрдВрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ (рдХреЛрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ) рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



 $fn=30;
      
      







рддреЛ рдпрд╣ рдФрд░ рдЕрдзрд┐рдХ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдЧрд╛:





рдПрд╕рдЯреАрдПрд▓ рдЬреЗрдирд░реЗрд╢рди





рдЕрдВрдд рдореЗрдВ рд╡рд╣!



рдЕрдм, рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП, F6 рджрдмрд╛рдирд╛ рди рднреВрд▓реЗрдВред рдФрд░ рдореЗрдиреВ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ -> рдирд┐рд░реНрдпрд╛рдд -> рдПрд╕рдЯреАрдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ ... , рдПрд╕рдЯреАрдПрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреА рдЬрд╛рддреА рд╣реИред



рдкреНрд░рд┐рдВрдЯ





рдЕрдм рд╣рдо рдкреНрд░рд╛рдкреНрдд рдПрд╕рдЯреАрдПрд▓ рдХреЛ 3 рдбреА рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (5 рдорд┐рдореА) рдореЗрдВ рд░рдл рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред



рддреЛ рдпрд╣ рдХреБрд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ:





рдФрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред



рдкрд░рд┐рдгрд╛рдо





рдпрд╣рд╛рдБ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ:







рдФрд░ рдпрд╣рд╛рдБ рд╣рдорд╛рд░рд╛ рдмреЗрдбрд╝рд╛ рд╣реИ:







рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ





рдпреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ OpenSCAD рдХреА рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ (рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ, рдЪрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡реЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрд▓реНрджреА рд╕реЗ 3 рдбреА рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред



рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд╢рд╣рд░ рдореЗрдВ 3D рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдХрд╣рд╛рдБ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



  1. рдЕрдкрдиреЗ рд╢рд╣рд░ рдореЗрдВ рд╣реИрдХ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╣рд╛рдБ 3 рдбреА рдкреНрд░рд┐рдВрдЯрд░ рд╣реИрдВ, рдФрд░ рд╡реЗ рдЫреЛрдЯреЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
  2. рдЖрдк fablab рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдВ 3D рдкреНрд░рд┐рдВрдЯрд░ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  3. 3 рдбреА рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ (рдЕрдкрдиреЗ рд╢рд╣рд░ рдореЗрдВ)




рдореЙрдбрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ





рдореЙрдбрд▓ рдФрд░ рдХреЛрдб рдХреЛ Thingiverse рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



All Articles