Шуруп. |
module screw(h1, h2, h3, d1, d2) h1 полная высота шурупа; h2 высота шляпки; h3 высота прорези под шляпку; d1 диаметр резьбы; d2 диаметр шляпки. 08.04.18 v1.0 |
![]() |
|
Подвижная тележка (каретка) для квадратной направляющей. |
module bogie(a, db, Rh, $fn) a сторона квадрата направляющей; db диаметр подшипника; Rh радиус шайбы под подшипник.
Примечание:
|
![]() |
![]() |
Удобная minkowski(); |
module mink(r , $fn) r радиус скругления.
|
![]() |
|
Удобные cube, cylinder, sphere; |
module cubeM(x,y,z, tr_X,tr_Y,tr_Z, rot_X,rot_Y,rot_Z, invers)аналог: если invers=true или 1; translate([tr_X,tr_Y,tr_Z]) rotate([rot_X, rot_Y, rot_Z]) cube(x,y,z);если invers=false; rotate([rot_X, rot_Y, rot_Z]) translate([tr_X,tr_Y,tr_Z]) cube(x,y,z);По умолчанию invers=true. Варианты написания: только куб cubeM(5,5,5); cubeM([5,5,5]);куб с перемещением cubeM(5,5,5, 0,5,0); cubeM([5,5,5], [0,5,0]);куб с вращением cubeM(5,5,5, false, 0,45,0); cubeM([5,5,5], false, [0,45,0]); cubeM(5,5,5, no, 0,45,0); cubeM([5,5,5], no, [0,45,0]); cubeM(5,5,5, 'no', 0,45,0); cubeM([5,5,5], 'no', [0,45,0]);куб с перемещением и вращением cubeM(5,5,5, 0,5,0, 0,45,0); cubeM([5,5,5], [0,5,0], [0,45,0]); cubeM(5,5,5, 0,5,0, 0,45,0, true); cubeM([5,5,5], [0,5,0], [0,45,0], 1); cubeM(5,5,5, 0,5,0, 0,45,0, false); cubeM([5,5,5], [0,5,0], [0,45,0], 0);
Аналогичный синтаксис у cylinderM, за исключением: первые 4 параметра это h, r1, r2, $fn.
cylinderM([10,5,5,100], false, [0,45,0]);
A=[5,5,5, 0,5,0, 0,45,0, true]; cubeM(A); или A=[5,5]; B=[5,0]; C=[45]; cubeM(A,5, 0,B, 0,C,0, true);Добавлены модули сокращённых записей перемещения, вращения, перемещение + вращение: transM(x,y,z) или transM([x,y,z]) => translate([x,y,z]); rotM(yz,xz,xy) или rotM([yz,xz,xy]) => rotate([yz,xz,xy]); moveM([x,y,z], [yz,xz,xy], true), moveM(x,y,z, yz,xz,xy, true) => translate([x,y,z]) rotate([yz,xz,xy]); moveM([x,y,z], [yz,xz,xy], false), moveM(x,y,z, yz,xz,xy, false) => rotate([yz,xz,xy]) translate([x,y,z]);
Примечание:
|
||
Коробочка произвольной формы в одну строку кода boxM(); |
boxM(A, srez, h, nak=1, zak=0.98, k=0.98, x=0.9, y=0.9, z=0.9){/* здесь код фигуры */} A - расположение половинок в системе координат [A,A,0],[A,-A,0]; srez - смещение линии раздела на половинки; h - высота смыкающего бортика; nak - наклон смыкающего бортика; zak - подгоночный параметр для лучшего закрытия крышки; k - параметр перераспределения толщины смыкающего бортика на крышке и коробке; x,y,z - параметры толщины стенок коробки в долях 0.9 (90% занимает полость по данной оси). Первые 3 параметра обязательны, остальные значения заданы по умолчанию.Несколько примеров на картинках: boxM(40, 10, 4, 0.97, 0.98, 0.97) mink(5,40) cylinderM(50,20,20,5, no, 0,0,0); boxM(40, 0, 4, 0.97, 0.98, 0.97) rotate([0, 90, 0]) mink(5,40) cylinderM(50,20,20,6, no, 0,0,0); boxM(40, 10, 4, 0.97, 0.98, 0.97) mink(5,40) difference() { cylinderM(50,20,20,100, no, 0,0,0); cubeM(30, 50, 60, 20,0,0); };
|
![]() ![]() ![]() ![]() |