Re: Lathe4D.php
Добавлено: 22 янв 2020, 20:16
Вот что нашёл для резьб: http://www.cnc-club.ru/forum/viewtopic. ... 55&t=27136
Не совсем то. Это вертикально резьборезьбой. Вчера так резал 8 резьб М28.5 х 0.6. Здесь часть процесса нарезки.Cvazist писал(а):Вот что нашёл для резьб: http://www.cnc-club.ru/forum/viewtopic. ... 55&t=27136
Код: Выделить всё
var ORIGIN = [0, 0, 0]; // центр круга (верх)
var METRIC = 48; // M48
var STEP = 0.75; // M48x0.75
var HEIGHT = 7; // высота резьбы
var CUT = 1.5; // нужно врезаться вглубь на 1мм
var CUT_STEP = 0.1; // шагом 0.1мм
var CUTTER = 22; // диаметр носа фрезы
var POINTS_PER_LOOP = 200;
var SPEED = 480;
var SAFE_Z = 5;
var i, cut, theta, h;
//console.log("G4 P5000");
console.log("G17");
console.log("G0Z"+ (ORIGIN[2] + SAFE_Z));
console.log('G0X'+ ORIGIN[0] +'Y'+ ORIGIN[1] +'S12000M3');
console.log("G0F"+ SPEED);
console.log('G1F'+ SPEED);
var LOOPS = Math.floor(HEIGHT / STEP);
console.log('G1X'+ ORIGIN[0] +'Y'+ ORIGIN[1] +'Z'+ (ORIGIN[2] + SAFE_Z) );
for (cut = 0; cut <= CUT; cut += CUT_STEP) {
console.log('G1Z'+ ORIGIN[2] );
for (i = 0; i < LOOPS; i += (1 / POINTS_PER_LOOP) ) {
theta = 2*i*Math.PI;
h = ORIGIN[2] - (Math.abs(HEIGHT - ORIGIN[2]) / LOOPS) * i;
console.log("G1X"+ ((ORIGIN[0] + Math.cos(theta) * ((METRIC - CUTTER) / 2 + cut)).toFixed(4) )
+"Y"+ ((ORIGIN[1] - Math.sin(theta) * ((METRIC - CUTTER) / 2 + cut)).toFixed(4) )
+"Z"+ h.toFixed(4));
}
console.log('G1X'+ ORIGIN[0] +'Y'+ ORIGIN[1]);
}
console.log("G0Z"+ (ORIGIN[2] + SAFE_Z));
console.log("M30");