Библиотека модулей OpenSCAD.

Шуруп.
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 радиус шайбы под подшипник.

Примечание:
- требуется 6 подшипников;
- использовалась с подшипниками диаметром от 10 до 19 мм;
- алюминиевая направляющие, требует оклеивания плёнкой от истирания.
- в качестве осей подшипников используются обычные калёные чёрные шурупы с широкой резьбой.

10.04.18 v1.1
Удобная minkowski();
module mink(r , $fn)
r радиус скругления.


Пример на картинке: mink(3, 30){ cube(10); };
Примечание:
- увеличивает размер объекта на 2*r по каждой стороне;
- $fn должно быть меньше либо равно 40; установлено ограничение в связи с проблемами в обработки;
- действует на все объекты внутри фигурных скобок.

10.04.18 v1.0
Удобные 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]);

Аналогичный синтаксис у sphereM, за исключением: первые 2 параметра это радиус и $fn. sphereM([r, $fn], [0,10,0], [0,0,45]);

Допустимы записи вида:

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]);
		

Примечание:
- moveM - по умолчанию последний параметр true;
- вместо false применимо любое определённое значение кроме true или 1;
- допустимы записи вида:
A=[x,y,z, yz,xz,xy, false]; moveM(A);
A=[y,z, yz]; moveM(x,A,xz,xy, false)

12.04.18 v1.1
Коробочка произвольной формы в одну строку кода 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);
};


Примечание:
- фигура из которой будет формироваться коробка, не должна иметь конусность в месте разреза;
- применяйте с mink() осторожно на многогранных фигурах придётся уменьшить $fn, или вообще отказаться от mink(), из-за возникающих ошибок в построении модели из-за её сложности.

13.04.18 v1.0


На главную



Иванова Ира
Вышлите мне пожалуйста библиотеку модулей ОреnSCAD

2023-11-20 08:41:16