3D модель небольшого трансформатора (в LibreCAD, OpenSCAD, Meshlab) [al_fuhrmann al_fuhrmann] (fb2) читать постранично, страница - 3


 [Настройки текста]  [Cбросить фильтры]

        }

    } 

}

//ch1(); не показываем, деталь


module knob() {

    union() {

        cylinder(0.6,0.6,0.6,$fn=60);

        translate([0,0,0.6]) cylinder(0.2,0.6,0.4,$fn=60);

    }

}

//knob(); // не показываем, деталь


module ch1k() { //щечка с бобышкой

union() {

    ch1();

    translate([4,13,1.2]) knob();

    }

}

ch1k(); //это показываем, сборка


Рис. 11.

А вот небольшая иллюстрация того, за что модели openscad называются параметрическими:

…….

module knob(s) { //параметрическая версия бобышки

scale(s) union() {

    cylinder(0.6,0.6,0.6,$fn=60);

    translate([0,0,0.6]) cylinder(0.2,0.6,0.4,$fn=60);

  }

}

//knob();

module ch1k() {


kscale = [1.5,1.5,3]; //”вектор” масштаба по всем осям


union() {

    ch1();

    translate([4,13,1.2]) knob(kscale); //применяем параметр

    }

}

ch1k();


Рис. 12.

Шишка стала в полтора раза шире и в три — выше. И с необыкновенной легкостью! (Какой, однако, тонкий французский юмор получился.)

Хорошо продуманная библиотечка параметризируемых деталей открывает широкие перспективы. Но только для «программистов»! Кавычки взяты для того, чтобы расширить смысл этого слова. «Программистом» здесь может быть не только тот, кто обучался теоретической или прикладной математике в университете, но и конструктор, и дизайнер. Требуется подходящий склад ума. Некоторые люди легко оперируют геометрическими образами и отношениями, у них хорошо развито пространственное воображение, а с алгеброй они тупят. А другие — наоборот. Я отношусь к последним.

Теперь вернем шишке исходный размер (kscale = [1,1,1]) и займемся второй щечкой. Она изготавливается аналогично, вместо эскиза p1 выдавливается эскиз p2 и на этот раз никакая бобышка не нужна:


module ch2() {

difference() {

    linear_extrude(3) import("p2.dxf", $fn=60);

    translate([-2,0,0]) rotate(90, [0,1,0])

    linear_extrude(20) import("f1.dxf");

    }

}


Только здесь мы ничего не демонстрируем, даже вид щечки. Как говорил Рабинович, раздавая чистую бумагу в качестве листовок, «А чего писать, когда все и так ясно».

Теперь осталось только правильно сориентировать щечки и объединить их. Здесь необходимо учитывать расстояние между будущими выводами, от которого зависит расстояние между торцами. Для этого лучше не спешить и вернуться в librecad, чтобы сделать проекцию сборки вдоль оси Z. Заодно мы получим все остальные эскизы для выдавливания.

Вот чертеж щечек сверху:


Рис. 13.

Он сделан в отдельном слое, и слой заморожен (замочек черный, а не серый) чтобы случайно его не испортить, так как он очень важен.

Начнем хотя бы с выводов. Они расположены в прямоугольном массиве. В каждом ряду «виртуально» расположено 5 выводов (лишние мы потом удалим), а всего таких рядов два — по одному на щечку. Расстояние между выводами 2 мм. Необходимое построение можно сделать при помощи линий и привязок. «Геометрист» так бы и сделал, но мне лень колотить по мыши и елозить ею по столу.

Я рассуждаю так: x = (17 — 2*5)/2 = 3.5; y = 1.5. Это координаты (относительные! см. Рис. 13.) первого вывода, рядом с бобышкой, которая его и маркирует в изделии. Строим по этим координатам окружность с радиусом 0.4. Это проекция вывода на плоскость XY. Затем делаем копию с относительным смещением на вектор 0,2 и в диалоговом окне указываем переключатель Multiple copy. Вводим значение 5. Затем полученные 5 выводов копируем со смещением @13.5,0. Лишние кружки убираем. Получается:


Рис. 14.

Чтобы окружности были заметнее, я придал линиям слоя чертежа толщину 0.13 мм, временно. Информацию Рис. 14. можно использовать для справки под посадочное место в электронном CAD’е. Иногда такие данные приходится добывать косвенным путем, вычислять, а то и угадывать. Даже в даташитах! Особенно китайских.

Также делается сердечник и его внешняя обечайка. Это просто лента, которую после сборки ламинируют. Она одного цвета с обмоткой (внешней изоляции обмотки). Но пора уже заканчивать щечки.

Вот, возможно, не самый оптимальный вариант, но рабочий:


module ch1() {

    difference() {

        linear_extrude(3) import("p1.dxf", $fn=60);

        translate([-2,0,0]) rotate(90, [0,1,0])

        linear_extrude(20) import("f1.dxf");

        }

}


module knob(s) {

    scale(s) union() {

        cylinder(0.6,0.6,0.6,$fn=60);

        translate([0,0,0.6])

        cylinder(0.2,0.6,0.4,$fn=60);

        }

}


module ch2() {

    translate([0,10.5,0]) rotate(90,[1,0,0])

    translate([17,0,0]) rotate(180,[0,1,0])

    difference() {

        linear_extrude(3) import("p2.dxf", $fn=60);

        translate([-2,0,0]) rotate(90, [0,1,0])

        linear_extrude(20) import("f1.dxf");

    }

}


module ch1k() {

kscale = [1,1,1];

    rotate(90,[1,0,0])

    union() {

        ch1();

        translate([4,13,1.2]) knob(kscale);

    }

}


module ch12() {

    union() {

        ch1k();

        ch2();

    }

}

ch12(); //щечки для экспорта в STL



Рис. 15.

Первая и самая сложная деталь готова. --">