Lathe4D.php

Обсуждение аспектов работы с CAМ программами, подготовка моделей, настройка постпроцессоров, настройка параметров инструментов, обсуждение стратегий обработки, симуляция обработки. Вопросы по G-коду.
Cvazist
Мастер
Сообщения: 1080
Зарегистрирован: 16 окт 2017, 16:07
Репутация: 85
Контактная информация:

Re: Lathe4D.php

Сообщение Cvazist »

Вот что нашёл для резьб: http://www.cnc-club.ru/forum/viewtopic. ... 55&t=27136
Аватара пользователя
moscow
Мастер
Сообщения: 554
Зарегистрирован: 27 фев 2018, 20:52
Репутация: 73
Настоящее имя: Олег Милантьев
Откуда: ПодКраснодар
Контактная информация:

Re: Lathe4D.php

Сообщение moscow »

Cvazist писал(а):Вот что нашёл для резьб: http://www.cnc-club.ru/forum/viewtopic. ... 55&t=27136
Не совсем то. Это вертикально резьборезьбой. Вчера так резал 8 резьб М28.5 х 0.6. Здесь часть процесса нарезки.

Программу сначала написал сам на javascript. Рисует круг отрезками. Не помню только, код для какого станка генерит (у меня был grbl, сейчас mach). Судя по 22мм диаметру носа фрезы - эту резьбу резал отрезным диском на CNC3018 (grbl).

Код: Выделить всё

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");
Потом начал пользоваться программой знакомого. Там проще и программа, и код (дугами).

А недавно базово изучил, как к Aspire Vectric писать на Lua "гаджеты", то есть плугины. В т.ч. можно резьбы резать ими.

... впрочем, это дело будущего. И не в этой теме.

----

Пока библиотеку не развиваю. Потому как четвёртую ось разобрал, делаю пятиосевую приставку к станку. Там уж повеселюсь вдоволь :)
Ответить

Вернуться в «CAM пакеты»