Таблица режимы резания при токарной обработке: Режимы резания при токарной обработке: расчет и выбор

Содержание

Режимы резания при фрезеровании: таблица, элементы, выбор режимов

Поверхностная обработка заготовок методом фрезерования может проводиться исключительно после разработки технологической карты, в которой указываются основные режимы обработки. Подобной работой, как правило, занимается специалист, прошедший специальную подготовку. Режимы резания при фрезеровании могут зависеть от самых различных показателей, к примеру, типа материала и используемого инструмента. Основные показатели на фрезерном станке могут устанавливаться вручную, также проводится указание показателей на блоке числового программного управления. Особое внимание заслуживает резьбофрезерование, так как получаемые изделия характеризуются довольно большим количеством различных параметров. Рассмотрим особенности выбора режимов резания при фрезеровании подробно.

Скорость резания

Наиболее важным режимом при фрезеровании можно назвать скорость резания. Он определяет то, за какой период времени будет снят определенный слой материала с поверхности. На большинстве станков устанавливается постоянная скорость резания. При выборе подходящего показателя учитывается тип материала заготовки:

  1. При работе с нержавейкой скорость резания 45-95 м/мин. За счет добавления в состав различных химических элементов твердость и другие показатели меняются, снижается степень обрабатываемости.
  2. Бронза считается более мягким составом, поэтому подобный режим при фрезеровании может выбираться в диапазоне от 90-150 м/мин. Она применяется при изготовлении самых различных изделий.
  3. Довольно большое распространение получила латунь. Она применяется при изготовлении запорных элементов и различных клапанов. Мягкость сплава позволяет повысить скорость резания до 130-320 м/мин. Латуни склонны к повышению пластичности при сильном нагреве.
  4. Алюминиевые сплавы сегодня весьма распространены. При этом встречается несколько вариантов исполнения, которые обладают различными эксплуатационными характеристиками. Именно поэтому режим фрезерования варьирует в пределе от 200 до 420 м/мин. Стоит учитывать, что алюминий относится к сплавам с низкой температурой плавления. Именно поэтому при высокой скорости обработки есть вероятность существенного повышения показателя пластичности.

Встречается довольно большое количество таблиц, которые применяются для определения основных режимов работы. Формула для определения оборотов скорости резания выглядит следующим образом: n=1000 V/D, где учитывается рекомендуемая скорость резания и диаметр применяемой фрезы.  Подобная формула позволяет определить количество оборотов для всех видов обрабатываемых материалов.

Рассматриваемый режим фрезерования измеряется в метрах в минуту режущие части. Стоит учитывать, что специалисты не рекомендуют гонять шпиндель на максимальных оборотах, так как существенно повышается износ и есть вероятность повреждения инструмента. Поэтому полученный результат уменьшается примерно на 10-15%. С учетом этого параметра проводится выбор наиболее подходящего инструмента.

Скорость вращения инструмента определяет следующее:

  1. Качество получаемой поверхности. Для финишной технологической операции выбирается наибольший параметр. За счет осевого вращения с большим количеством оборотов стружка получается слишком мелкой. Для черновой технологической операции, наоборот, выбираются низкие значения, фреза вращается с меньшей скоростью, и размер стружки увеличивается. За счет быстрого вращения достигается низкий показатель шероховатости поверхности. Современные установки и оснастка позволяют получить поверхность зеркального типа.
  2. Производительность труда. При наладке производства уделяется внимание и тому, какова производительность применяемого оборудования. Примером можно назвать цех машиностроительного завода, где налаживается массовое производство. Существенное снижение показателя режимов обработки становится причиной уменьшения производительности. Наиболее оптимальный показатель существенно повышает эффективность труда.
  3. Степень износа устанавливаемого инструмента. Не стоит забывать о том, что при трении режущей кромки об обрабатываемую поверхность происходит ее сильный износ. При сильном изнашивании происходит изменение показателей точности изделия, снижается эффективность труда. Как правило, износ связан с сильным нагревом поверхности. Именно поэтому на производственной линии с высокой производительностью применяется оборудование, способное подавать СОЖ в зону снятия материала.

При этом данный параметр выбирается с учетом других показателей, к примеру, глубины подачи. Поэтому технологическая карта составляется с одновременным выбором всех параметров.

Глубина резания

Другим наиболее важным параметром является глубина фрезерования. Она характеризуется следующими особенностями:

  1. Глубина врезания выбирается в зависимости от материала заготовки.
  2. При выборе уделяется внимание тому, проводится черновая или чистовая обработка. При черновой выбирается большая глубина врезания, так как устанавливается меньшая скорость. При чистовой снимается небольшой слой металла за счет установки большой скорости вращения инструмента.
  3. Ограничивается показатель также конструктивными особенностями инструмента. Это связано с тем, что режущая часть может иметь различные размеры.

Глубина резания во многом определяет производительность оборудования. Кроме этого, подобный показатель в некоторых случаях выбирается в зависимости от того, какую нужно получить поверхность.

Мощность силы резания при фрезеровании зависит от типа применяемой фрезы и вида оборудования. Кроме этого, черновое фрезерование плоской поверхности проводится в несколько проходов в случае, когда нужно снять большой слой материала.

Особым технологическим процессом можно назвать работу по получению пазов. Это связано с тем, что их глубина может быть довольно большой, а образование подобных технологических выемок проводится исключительно после чистовой обработки поверхности. Фрезерование т-образных пазов проводится при применении специального инструмента.

Подача

Понятие подачи напоминает глубину врезания. Подача при фрезеровании, как и при проведении любой другой операции по механической обработке металлических заготовок, считается наиболее важным параметром. Долговечность применяемого инструмента во многом зависит от подачи. К особенностям этой характеристики можно отнести нижеприведенные моменты:

  1. Какой толщины материал снимается за один проход.
  2. Производительность применяемого оборудования.
  3. Возможность проведения черновой или чистовой обработки.

Довольно распространенным понятием можно назвать подачу на зуб. Этот показатель указывается производителем инструмента, зависит от глубины резания и конструктивных особенностей изделия.

Как ранее было отмечено, многие показатели режимом резания связаны между собой. Примером можно назвать скорость резания и подачу:

  1. При увеличении значения подачи скорость резания снижается. Это связано с тем, что при снятии большого количества металла за один проход существенно повышается осевая нагрузка. Если выбрать высокую скорость и подачу, то инструмент будет быстро изнашиваться или попросту поломается.
  2. За счет снижения показателя подачи повышается и допустимая скорость обработки. При быстром вращении фрезы возможно существенно повысить качество поверхности. На момент чистового фрезерования выбирается минимальное значение подачи и максимальная скорость, при применении определенного оборудования можно получить практически зеркальную поверхность.

Довольно распространенным значением подачи можно назвать 0,1-0,25. Его вполне достаточно для обработки самых распространенных материалов в различных отраслях промышленности.

Ширина фрезерования

Еще одним параметром, который учитывается при механической обработки заготовок считается ширина фрезерования. Она может варьировать в достаточно большом диапазоне. Ширина выбирается при фрезеровке на станке Have или другом оборудовании. Среди особенностей отметим следующие моменты:

  1. Ширина фрезерования зависит от диаметра фрезы. Подобные параметры, которые зависят от геометрических особенностей режущей части, не могут регулироваться, учитываются при непосредственном выборе инструмента.
  2. Ширина фрезерования также оказывает влияние на выбор других параметров. Это связано с тем, что при увеличении значения также увеличивается количество материала, который снимается за один проход.

В некоторых случаях ширина фрезерования позволяет получить требуемую поверхность за один проход. Примером можно назвать случай получения неглубоких канавок. Если проводится резание плоской поверхности большой ширины, то число проходов может несколько отличаться, рассчитывается в зависимости от ширины фрезерования.

Как выбрать режим на практике?

Как ранее было отмечено, в большинстве случаев технологические карты разработаны специалистом и мастеру остается лишь выбрать подходящий инструмент и задать указанные параметры. Кроме этого, мастер должен учитывать то, в каком состоянии находится оборудование, так как предельные значения могут привести к возникновению поломок. При отсутствии технологической карты приходится проводить выбор режимов фрезерования самостоятельно. Расчет режимов резания при фрезеровании проводится с учетом следующих моментов:

  1. Типа применяемого оборудования. Примером можно назвать случай резания при фрезеровании на станках ЧПУ, когда могут выбираться более высокие параметры обработки по причине высоких технологических возможностей устройства. На старых станках, которые были введены в эксплуатацию несколько десятков лет назад, выбираются более низкие параметры. На момент определения подходящих параметров уделяется внимание и техническому состоянию оборудования.
  2. Следующий критерий выбора заключается в типе применяемого инструмента. При изготовлении фрезы могут применяться различные материалы. К примеру, вариант исполнения из быстрорежущей качественной стали подходит для обработки металла с высокой скоростью резания, фреза с тугоплавкими напайками предпочтительно выбирается в случае, когда нужно проводить фрезерование твердого сплава с высоким показателем подачи при фрезеровании. Имеет значение и угол заточки режущей кромки, а также диаметральные размер. К примеру, с увеличением диаметра режущего инструмента снижается подача и скорость резания.
  3. Тип обрабатываемого материала можно назвать одним из наиболее важных критериев, по которым проводится выбор режима резания. Все сплавы характеризуются определенной твердостью и степенью обрабатываемости. К примеру, при работе с мягкими цветными сплавами могут выбираться более высокие показатели скорости и подачи, в случае с каленной сталью или титаном все параметры снижаются. Немаловажным моментом назовем то, что фреза подбирается не только с учетом режимов резания, но и типа материала, из которого изготовлена заготовка.
  4. Режим резания выбирается в зависимости от поставленной задачи. Примером можно назвать черновое и чистовое резание. Для черного свойственна большая подача и небольшой показатель скорости обработки, для чистовой все наоборот. Для получения канавок и других технологических отверстий и вовсе показатели подбираются индивидуально.

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

В заключение отметим, что сегодня можно встретить просто огромное количество различных технологических карт, которые достаточно скачать и использовать для получения требуемых деталей. При их рассмотрении уделяется внимание типу материала заготовки, виду инструмента, рекомендуемому оборудованию. Самостоятельно разработать режимы резания достаточно сложно, при этом нужно делать предварительную проверку выбранных параметров. В противном случае может пострадать как инструмент, так и применяемое оборудование.

Таблицы режимов резания наружных поверхностей

Таблицы режимов резания наружных поверхностей

Выбор глубины резания в зависимости от параметров шероховатости, точности припуска на обработку и жесткости технологической системы

Параметр шероховатости, ммКвалитетТехнологическая системаПрипуск на обработку, мм
351015203050
Число проходов
Rz=80. ..4011-12Жесткая1123344
Средняя223445
5
Не жесткая3345566
Rz=40…108-10Жесткая2234455
Средняя3345566
Не жесткая4456677
Rz=2,50…1,256-7Жесткая334556
Средняя44566
Не жесткая5567

Подача (мм/об) при черновом обтачивании стали твердосплавными и быстрорежущими резцами

Поперечное сечение стержня резца ВхН, ммДиаметр детали, мм , не болееГлубина резания t, мм
35812
16х25400,4. ..0,50,3…0,4
600,5…0,70,4…0,60,3…0,5
1000,6…0,90,5…0,70,5…0,60,4…0,5
4000,8…1,20,7…1,0
0,6…0,8
0,5…0,6
20х30400,4…0,50,3…0,4
600,6…0,70,5…0,70,4…0,6
25х251000,8…1,00,7…0,90,5…0,70,4…0,7
6001,2…1,41,0…1,20,8…1,00,6…0,9
25х40600,6…0,90,5. ..0,80,4…0,7
Более100 и более0,8…1,20,7…1,10,6…0,90,5…0,8

При обработке по корке табличные значения подач следует умножить на коэффициент 0,8.

Меньшие значения подач соответствуют более прочным материалам.

При обработке поверхностей с неравномерным припуском, а так же прерывистых табличные значения подач следует умножать на коэффициент 0,75…0,85.

При обточке фасонных поверхностей указанные значения подач умножить на коэффициент 0,85.

При обработке с глубиной резания до 8мм быстрорежущими резцами табличные значения подач можно увеличить в 1,3…1,5 раза.

При обработке жаропрочных сталей и сплавов подачи свыше 1 мм/об не применять.

При обработке заготовок с припуском 5мм твердосплавными резцами с дополнительной режущей кромкой (при φ’=0) табличные значения подач могут быть увеличены в два раза.

Подача (мм/об) при чистовом обтачивании твердосплавными и быстрорежущими резцами

Параметр шероховатости, мкмОбрабатываемый материалРадиус при вершине резца, мм
0,51,02,0
Rz=40.
..20
Сталь0,40…0,550,55…0,650,65…0,70
Чугун и медные сплавы0,25…0,400,40…0,500,50
Rz=20…10Сталь0,20…0,300,30…0,450,35…0,50
Чугун и медные сплавы0,15…0,250,20…0,400,35…0,50
Ra=2,5…1,25Сталь0,11…0,180,14…0,240,18…0,32
Чугун и медные сплавы0,10…0,150,12…0,200,20…0,35
Ra=1,25…0,63
Сталь0,06…0,120,11…0,160,12…0,18
Чугун и медные сплавы0,05…0,100,09…0,140,11…0,16

Значение подач длины для резцов с вспомогательным углом в плане φ’=10.

..15°, при уменьшении его до 5° величина подачи может быть повышена до 20%.

При чистовой обработке стали со скоростью резания менее 50 м/мин табличное значение подачи следует умножить на коэффициент 0,8; при скоростях резания выше 100 м/мин табличное значение подачи следует увеличить в 1,2 раза, то же самое применяется при обработке стали.

В зависимости от предела прочности стальной заготовки табличное значение подачи корректируют умножением на коэффициент 0,7 при σвр до 500 МПа, на 0,75 при σвр 500…700 МПа и на 1,25 при σвр 900…1100 МПа.

Подача (мм/об) при черновом обтачивании стали и чугуна минералокерамическими резцами

Обрабатываемый материалГлавный угол в плане φ, °Глубина резания t, мм
247
Сталь: σвр≤750 МПаσвр>750 МПа30…450,4…0,70,3…0,60,3. ..0,5
600,3…0,60,3…0,50,2…0,4
900,2…0,40,2…0,30,1…0,3
30…450,4…0,60,3…0,50,2…0,4
600,2…0,40,1…0,30,1…0,3
900,1…0,30,1…0,20,1…0,2
Чугун: HB≤200

НВ

>200
30…450,5…0,90,4…0,70,3…0,6
600,5…0,80,3…0,60,3…0,5
900,3…0,60,2…0,50,2…0,4
30…450,4…0,70,3…0,60,2…0,5
60
0,4. ..0,6
0,3…0,50,2…0,4
900,3…0,50,2…0,40,1…0,3

Подача (мм/об) при чистовом обтачивании стали и чугуна минералокерамическими ркзцами

Обрабатываемый материалПараметр шероховатости, мкмВспомогательный угол в плане φ’, °Радиус при вершине резца, мм
1,01,5
Сталь
Rz=20…1050,45…0,500,50…0,60
10…150,40…0,450,45…0,50
Ra=2,5…1,25≥50,25…0,300,33…0,37
ЧугунRz=20…1050,25. ..0,300,35…0,55
10…150,20…0,250,30…0,50
Ra=2,5…1,25≥50,12…0,250,15…0,30

В зависимости от предела прочности материала заготовки табличное значение подачи корректируют умножением на коэффициент 0,7 при σвр до 500 МПа, на 0,75 при σвр 500…700 МПа и на 1,25 при σвр 900…1100 МПа.

Поперечная подача при черновом подрезании торцов и уступов

Глубина резания, мм2345
Подача, мм/об0,4…1,00,35…0,60,3…0,50,3…0,4

Меньшие значения желательно брать для более твердых материалов.

Подача (мм/об) при чистовом подрезании торцов и уступов при глубине резания до 2мм

Параметр шероховатости, мкмДиаметр обрабатываемой заготовки, мм
до 3031. ..6061…100101…150151…300301…500Св. 500
Rz=40…200,08…0,200,15…0,300,25…0,400,30…0,500,35…0,700,40…0,800,45…0,90

Меньшие значения подач принимать для получения меньшей высоты микронеровностей.

Подача (мм/об) при вытачивании наружных канавок и отрезании

Диаметр обрабатываемой заготовки, ммШирина резца, ммМатериал заготовки
Прокат и стальное литьеЧугун и медные сплавы
σвр≤800МПаσвр>800МПа
До 2030,08…0,100,06…0,080,11…0,14
20…3030,01… 0,120,08…0,100,13…0,16
30…403…40,12…0,140,10…0,120,16…0,19
40…504…50,15…0,180,13…0,160,20…0,22
60…805…60,18…0,200,16…0,180,21…0,25
80…1006…70,20…0,250,18…0,200,26…0,30
100…1257…80,25…0,300,20…0,220,30…0,35
125…1508…100,30…0,350,22…0,250,35…0,40

При отрезании сплошного материала по мере приближения к центру табличные значения подач уменьшить в два раза.

При нежесткой технологической системе табличные значения уменьшить на 30. ..40%.

Скорость резания (м/мин) при точении пластмасс твердосплавными резцами

Тип пластмассыГлубина резания, ммПодача, мм/об
0,10,150,200,250,300,40
Оргстекло0,5110938274
1,087746558
1,578655751
2,070595146
2,566554843
3,061514541
4,055474137
Фторопласт0,5251196160135
1,0197153125106
1,516913110891
2,01531199782
2,51411109076
3,01321038467
4,0119927664
Гетинакс0,5540375300261
1,0375256205174
1,5300205166140
2,0261174141120
3,0205139112100
4,01771229883
Стеклотекстолит0,5284264212173
1,0281262199164
1,5278259191158
2,0278259188154
2,5275257183150
3,0275257181148
4,0270252176144
Стеклопластик0,562484137
1,048373229
1,541322725
2,037282422
2,534262220
3,031242119
4,028221917
Фенопласт0,5466362310279
1,0389300257232
1,5351269232209
2,0326250215193
2,5307237203183
3,0293226194174
4,0273210179160
Волокнит0,5190167152145
1,0168147134127
1,5155136124118
2,0148129118113
2,5142124113108
3,0138120110104
4,013111510599

Скорости резания и поправочные коэффициенты в таблицах

Таблицы скоростей резания и поправочные коэффициенты при чистовой и черновой обточке резцами с пластинами из твердого сплава углеродистой, хромистой, хромоникелевой сталей и стального литья.

Скорость резания (м/мин) при черновом обтачивании резцами с пластинами из твердого сплава углеродистой, хромистой, хромоникелевой сталей и стального литья

Глубина резания, ммПодача, мм/об
0,30,50,60,81,01,21,5
3198166157140127
4190160150134122117
617815014112611311298
814413112111010594
1012711710610090
121131039888

При работе по корке табличные значения скорости резания умножить на 0,8.

Значение скорости резания даны для резцов с главным углом в плане φ=45° и φ’>0. Период стойкости резца принят равным 60мин.

Обрабатываемый материал: сталь с  σв.р=700…800 МПа.

Для измененных условий работы табличное значение скорости резания умножить на поправочные коэффициенты К1 приведенные ниже.

Скорость резания (м/мин) при чистовом обтачивании углеродистой, хромистой, хромоникелевой стали и стального литья твердосплавными резцами

Глубина резания, ммПодача, мм/об
0,150,200,300,400,500,60
1,0270235222
1,5253220208199
2,0244211199191176166

Значение скорости резания даны для резцов с твердосплавными пластинами: главный угол в плане φ=45° и φ’>0, период стойкости принят равным 60мин; σв. р=700…800 МПа (для обрабатываемого материала).

Для измененных условий работы табличное значение скорости резания умножить на поправочные коэффициенты К1 приведенные ниже.

Поправочные коэффициенты к скорости резания при обтачивании твердосплавными резцами

К1 (в зависимости от обрабатываемого материала)
Обрабатываемый материалМеханические характеристикиК1
Стальσв, МПа
400…500
500…600
600…700
800…900
900…1000

1,65
1,35
1,15
0,88
0,75
ЧугунНВ
120…140
140…160
160…180
200…220
220…250

1,6
1,34
1,14
0,88
0,77
К2 (в зависимости от периода стойкости резца)
Обрабатываемый материалПериод стойкости резца Т, минК2
Сталь и чугун (обработка резцом с φ’>0)301,15
451,06
900,92
1200,87
1800,80
Сталь (обработка резцом с φ’=0)201,16
301,08
600,95
750,91
900,88
К3 (в зависимости от главного угла в плане)
Главный угол в плане φ, °К3
Обрабатываемый материал
СтальЧугун
301,131,20
600,920,88
750,860,83
900,810,79
К4 (в зависимости от инструментального материала)
Обрабатываемый материалИнструментальный материалК4
СтальТ30К41,40
Т15К61,00
Т14К80,80
Т5К100,65
ЧугунВК31,15
ВК61,00
ВК80,83

Скорость резания (м/мин) при черновом обтачивании углеродистой и легированной сталей и стального литья твердосплавными резцами с дополнительной режущей кромкой (φ’=0)

Глубина резания, ммПодача, мм/об
0,11,52,02,53,0
31251111019590
4120106979180
51161039488

При работе по корке табличные значения скорости умножить на 0,8.

Значение скорости резания даны для резцов с главным углом в плане φ=45°, период стойкости принят равным 45мин.

Обрабатываемый материал — сталь σв.р=700…800 МПа.

Для других условий работы табличное значение скорости резания умножить на поправочные коэффициенты К1.

Скорость резания (м/мин) при чистовом обтачивании стали твердосплавными резцами с дополнительной режущей кромкой (φ’=0)

Глубина резания, ммПодача, мм/об
2345
0,5161153
1,0119115

Скорости резания даны для резцов с главным углом в плане φ=45°; период стойкости Т=45мин.

Обрабатываемый материал — сталь σв.р=700…800 МПа.

Для других условий работы табличные значения скорости резания умножить на поправочные коэффициенты К1.

таблица, расчеты при обработке, калькулятор, нормативы для алюминия

17.07.2020

При токарной, фрезерной обработке материала на производстве, эффективность этой работы во многом зависит от корректности выставленных настроек инструментария. Поэтому важно провести расчет режимов резания для станков с ЧПУ, чтобы точно избежать возможных проблем. А их может быть масса. Это повреждение самой установки, порча отдельных элементов инструмента, а также лезвийных частей. Пострадать может и материал, что и происходит чаще всего. Поэтому результатом становится полный брак. Любые ошибки также неминуемо сокращают срок службы оборудования.

В принципе, для анализа понадобится изучить множество аспектов. Это и температура предполагаемого объекта, его величина, твердость, планируемая глубина подрезания. И только проведя полную проверку, допустимо приступать к работе. В противном случае это еще и небезопасно для самого сотрудника, осуществляющего процедуру.


Станок токарный ЧПУ, режимы резания

Этот вид инструментов предназначен для качественной обработки различных материалов. Дерево, металлическое сырье, пластмассы разного уровня жесткости. Но в работе с каждым конкретном виде важно соблюдать набор определенных параметров.

Режущие приспособления также прослужат весь отведенный производителем эксплуатационный срок только в том случае, если при сверлении и подрезании правильно выбрана глубина. Естественно, что работа с металлом при серьезном погружении оказывает гораздо более сильное влияние на износ. Но и в этом варианте допустимо подобрать правильные характеристики и установки, чтобы максимально снизить нагрузку.

Режимы резания для фрезерования на ЧПУ станках позволяют точно рассчитать каждый элемент, проработать до момента притупления весь срок, который и отведен регламентом. Если же не выявить нужные параметры, то возможна бесполезная работа. Ведь режущие части могут прийти в негодность, а сотрудник не поймет этого момента заблаговременно.

Основные параметры

Теперь рассмотрим те характеристики, которые и определяют весь процесс в целом. Понятно, что самые важные аспекты – это скорость вращения шпинделя и подача. Эти два столпа держат на себе процесс. Но они могут сильно разниться, в зависимости от того, насколько глубоко предлагается погружаться в поверхность заготовки.

Сам конечный выбор зависит от сопутствующих факторов.

К ним можно отнести:

  • • Охлаждение инструментария. Как известно, при высокой скорости вращения объект сильно разогревается. А это может привести к деформации или даже возгоранию, если речь идет о горючем сырье. Особенно актуально при работе с деревом.
  • • Слой. То есть, какую часть поверхности предполагается снимать за проход. И это опять же зависит от всех смежных факторов. Ведь чем больше высота слоя, тем сильнее предполагается нагрузка.
  • • Жесткость. Насколько устойчив к механическому эффекту объект.
  • • Стратегия работы. Устанавливается на каждом предприятии в индивидуальном порядке.
  • • Размер. Подразумевается величина самой заготовки.

Соответственно, нормативы режимов резания для станков с ЧПУ могут разниться, если учитывать весь комплекс озвученных параметров. Операция по фрезе при работе со сталью или пластмассой занимает разное количество времени. Это логично. Но при некорректном выборе параметром эта цифра по временному диапазону возрастает еще сильнее. Что ставит под угрозу темпы выполнения плана на производстве.

С описанными выше сопутствующими факторами мы немного разобрались. Теперь же перейдем к основным характеристикам, которые и нужно учитывать при анализе.


Глубина

Под этим понятием подразумевается высота слоя, который необходимо снять для выполнения задачи. Не за один проход, а в принципе. Поэтому если подразумевается большая глубина, то понадобится два-три или более повтора. Причем последний из них всегда будет учитываться в меньшей степени. Ведь он фактически является чистовым, то есть направлен на выравнивание поверхности. Первые проходы идут грубым методом, главное — больше снять. А вот чистовой просто правит заготовку, словно прошлись наждачной бумагой.

Параметр глубины строго фиксируется и определяется перпендикулярным замером. Где плоскостью для изучения является сама деталь.

Стоит понимать, что режимы резания алюминия на ЧПУ будут в значительной степени отличаться от той же стали. Ведь жесткость последней выше. И при установке определенной глубине, в первом случае понадобится меньше проходов. Снять стружку с мягкого материала куда легче, можно топить резец намного сильнее.

Подача

В этом случае подразумевается перемещение шпинделя. Вычисляется в миллиметрах. Мы узнаем, какой путь проходит элемент за время равное одной минуте. Этот важный аспект, который имеет простую формулу для выведения. Нам понадобится выявиться подачу на один зуб, а после умножить это число на количественный фактор зубьев в инструменте. А дальше, нужно выявить, сколько оборотов делает фреза за отрезок времени. Он равен минуте, как мы помним. Это значение мы снова умножаем на полученное ранее число.

Получается: А*В*С. Где А – подача на зуб, В – их количество, С – обороты в минуту. Чтобы расчеты не проводить на каждый инструмент и материал отдельно, можно использовать калькулятор режимов резания ЧПУ. Такие программы легко найти на специализированных ресурсах, как в платном, так и в бесплатном виде.

Скорость

Это длительность пути фрезы за минуту. Обозначается уже в метрах. И обычно это справочное стандартное число, которое нужно знать перед работой с заготовкой. Оно зависит от двух моментов. Стойкости самого материала, а также качества фрезы. Указывается обычно в двух вариантах. Штатный и максимальный. Первый предназначается для выявления скорости, при которой срок эксплуатации не снижается выше заявленного производителем. Но обычно ориентируются на второй – это темп, который позволит эффективно выполнять работу, но не подвергать инструмент опасности поломки фрезы.


По уровню КПД именно максимальный параметр лучше всего. Иначе, выбирая режимы резания стали ЧПУ станками (как самого жесткого материала), беспокоясь о сроке годности фрезы, можно сильно увеличить срок выполнения процесса. А это скажется на общих объемах производства. Поэтому не принято экономить в этом моменте.

Все три параметра имеют примерно идентичное значение. Если не брать в расчет один из них, просто не использовать при анализе. То в результате вся работа окажется неэффективной. Так же как и сопутствующие факторы, описанные выше. То есть, только совокупный, комплексный подход может предоставить необходимые результаты. А также нужно всегда ориентироваться на справочные значения, которые предоставляет как производитель, так и свободно распространяются в сети.

Таблица режимов резания при фрезеровании ЧПУ

Прежде чем мы перейдем к конкретному выбору, давайте посмотрим, как выглядит текущий вариант нормативных рекомендаций.

Материал заготовки

Фреза

Обороты

Подача

Скорость

Акрил

Используется спиральная. Почти во всех случаях однозаходная. Но если толщина акрила не превышает 6 мм, то подходит двухзаходная

18 тысяч

5

1-2

Пластик

Опять же 2-заходная с 1.5 мм

24 тысячи

10-20

2-3

Композит

Применяется и 1 и 2-заходная. Преимущественно спиральная

От 15 до 18 тысяч

10-12

1-2

Дерево

Зависит от типа работы. Если речь идет про раскрой, то нужна стандартная спиральная. Круглая понадобится, если мы работаем с гравировкой. Ну, а если подразумевается V-образная обработка, то логично подойдет V-гравер.

Не выше 15 тысяч

10-15

2-3

Латунь и бронза

Сплавная спираль

15 тысяч

5

1-2

Алюминий

Такая же спиральная, но максимум 2-заходная

От 15 до 18 тысяч

12-20

1-2

МДФ

Спираль с 1 или 2 заходами

От 20 до 21 тысячи

15-20

4-5

Теперь, когда у нас есть общее представление, мы можем переходить к типу обработки. Стоит помнить, что указанные нормативы имеют значение, только если брать во внимание все озвученные выше моменты. А в первую очередь, характеристики инструмента. Ведь в таблице не учитываются данные по самому агрегату. Его качество зависит от производителя. И ввиду этого принципиально важно подобрать хороший товар. Ясно, что для оптимизации производства все компании стараются искать «золотую середину». Но помните, что часто продукты из этой серии просто не могут долгое время работать с серьезными задачами. Сэкономив, можно сильно потерять в иных факторах. Частая смена деталей, комплектующих, выход из строя до заявленного срока. Покупку лучше совершать у надежного поставщика, который сможет оправдать возложенные на него ожидания. Ведь никакой расчет токарных режимов резания на ЧПУ, анализ и вдумчивый выбор не поможет, если агрегат просто не справляется со своей задачей.

Итак, перейдем к типам работ.

Точение

Это базовый, вместе с тем наиболее простой и весьма эффективный способ обработки детали. Он определяется комплексом из двух фундаментальных элементов. Первый – вращения. Это значит, что чем выше интенсивность, тем сильнее возрастает нагрузка. Но при этом есть и второй способ воздействия – перемещение самого инструмента.

Главным критерием является заявленное качество обработки. При высоком значении процесс серьезно осложняется. Но если подразумевается создание проходных деталей, программирование установки — это легко.

Сверление

Значительная часть заготовок подразумевают наличие различных отверстий. Они могут понадобиться по разнообразным причинам. Часто это функциональные полости, пазы, сквозные проходы для обеспечения задач будущей модели. Но порой это просто способы сцепления, фиксации и сборы всего узла.

Вне зависимости от этих причин, подобные отверстия создаются посредством сверления. Важно учитывать глубину и диаметр. И точно выставлять настройки в соответствии с этими требованиями. В одних случаях, когда это проход для проводки, как вариант, точность не самая важная часть. Ошибка в 1-2 мкм не стоит ничего. А если это функциональный паз, который впоследствии подразумевается как вакуумно-обособленный, то значение становится принципиальным.

Стоит также знать, что часто способ сверления применяется в качестве разрушения заготовки по различным нуждам. И тогда конкретно точность диаметра уже не имеет никакого значения.

Работа такого типа выдвигает и определенные нормативы к инструменту. Чем серьезнее требования к отверстию, тем более высококачественным должно быть оборудование. Точность, мощность, производительность, качество. Сверяются все эти данные, вычисляется, может ли агрегат в принципе выполнять подобную задачу. И лишь после этого происходит программирование установки.


Выбор режимов резания на токарном станке с ЧПУ

Нельзя выбирать только исходя из расчетных сведений таблиц. Разумеется, если все данные по материалу есть, то нормативы имеют место быть. Но их всегда нужно разбирать в условиях техники, имеющийся на производстве. Также стоит рассматривать конкретный тип сырья. ПВХ – это неоднородная группа, как и акрил, даже дерево. Ведь всем параметры, принимаемые к одному материалу, не всегда подходят к другому. Это более твердый материал, не такой деликатный и не подверженный расколу.

То есть, исходить нужно из комплекса аспектов.

Что важно знать

Ошибка в выборе конкретного метода зачастую не критична. Но при этом она всегда влияет на сам станок. И чем чаще будут появляться подобные неточности, тем быстрее он просто перестанет работать.

Также стоит брать в расчет, что ошибки могут возникнуть не только при анализе, но и при программировании. Задачу ставит компьютер, он также может сбоить. Да и человеческий фактор никто не отменял. Лучше перепроверить, чем потом жалеть.

Расчет скорости

Правильный выбор определяет нужное количество оборотов. И это практически единственный параметр, который не содержит точных рекомендаций. Можно было заметить, что в приведенной таблице часто оперируют понятиями «от» и «до», а также «не выше». Значит, допускается весьма серьезная погрешность. И она кардинальным образом на полученный результат влияния не оказывает.

Способы повышения эффективности работы

Существует определенный ряд несложных рекомендаций, способных если не в несколько раз, то на ощутимый процент увеличить результативность. А также сократить потенциальный износ. Что в совокупности ведет к серьезным экономическим выгодам. Особенно если речь идет о цехе, где установлено большое количество оборудования.

  1. • Если предполагается работа с ПВХ, то выбирать всегда стоит пластик литьевого производства. Ведь он защищен от термического воздействия. Его температура плавления на порядок выше. А, как мы помним, при работе на массе оборотов, под 18 тысяч, заготовка сильно разогревается. И может быть повреждена.
  2. • Акрил и алюминий – это два материала, которые тоже не любят термическое воздействие. И обожают греть даже на средних оборотах. Но с ними логичнее всего использовать смазочно-охлаждающую жидкость. Логичнее будет приобрести специальные растворы, которые на современном рынке довольно популярны. Но если хочется сэкономить, а в бухгалтерии отдельной статьи расходов на СОЖ нет, то можно поступить проще. И заменить смазку обычной водой.
  3. • Пластик и акрил любят фрезы с одним заходом. Как уже стало ясно, материалы не выносят излишнего тепла. А значит, единичный заход позволит без проблем отводить стружку. И давать возможность остывать. В противном случае вполне возможно довести заготовку до плавления.
  4. • При выборе стратегии обработки всегда рассчитывайте процесс в условиях беспрерывности. Паузы не должны образовываться ни на одном участке. Иначе в совокупности это принесет серьезное снижение продуктивности.
  5. • Для избегания появления проблемных зон на пластиковой заготовке рекомендуется использоваться встречную фрезеровку.
  6. • Помните, что последним проходом будет чистовая обработка. Держите ее в памяти. И не пытайтесь запускать фрезу на всю глубину с первого захода. Только в случаях, когда внешний вид поверхности и текстура в принципе не имеют никакого значения.
  7. • Когда размер заготовки очень мал, всегда нужно работать на минимальных оборотах. Иначе резец просто начнет колоть деталь.

Подведем итоги

Становится понятно, что режимы резания при токарной обработке ЧПУ имеют важное значение. Без их правильного выбора в принципе невозможно грамотно организовать процесс производства. Да и масса сопутствующих моментов тоже оказывают свое существенное влияние. Поэтому перед началом работы с любым материалом стоит провести полный расчет. А также принять во внимание показатели инструмента. Проконсультироваться по тем или иным вопросам, получить помощь в выборе необходимого оборудования вы можете, связавшись со специалистами нашей компании «Сармат» по контактному телефону.


Режимы резания при токарной обработке: таблицы, формула

На протяжении многих лет токарная обработка металлических и иных деталей остается одной из основных операций в металлургическом производстве. Со временем меняются технологии, на заводах внедряются современные станки с ЧПУ, однако суть остается неизменной – только грамотно выбранные параметры резания на агрегатах позволяют достичь нужного результата.

Оглавление:

  1. Что важно знать о режимах
  2. Расчет скорости

Виды и режимы работы токарных станков

Токарная работа на станках остается наиболее востребованным способом получения большинства изделий. Применение в этих целях более современных методов оправдано далеко не всегда ввиду их высокой стоимости.

Для получения различных деталей применяются те или иные токарные станки:

  • с ЧПУ (числовым программным управлением), благодаря которым удается достичь наивысшего качества и высокой скорости обработки поверхностей заготовок. Точение на данных агрегатах осуществляется с точностью до микронных долей, что обеспечивается за счет тонкой компьютерной настройки необходимых параметров;
  • лоботокарные, позволяющие вытачивать конические и цилиндрические детали нестандартных размеров;
  • револьверно-токарные, служащие для точения элементов из калиброванных прутков;
  • карусельно-токарные, используемые для создания заготовок больших диаметров;
  • токарно-винторезные, которые служат по большей части для обработки деталей цилиндрической формы.

В зависимости от материала подбирается тот или иной режим резки при токарной обработке, включающий в себя совокупность таких важных параметров, как:

  • вес изделия;
  • глубина воздействия;
  • допустимая скорость.

Все эти величины определяются специалистами с использованием нормативных документов и специализированных справочников. Прежде всего, следует внимательно изучить рекомендуемые в таблицах значения, чтобы выбрать оптимальные.

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

При подборе характеристик операции резания важно определиться с выбором резака. Подбор осуществляется в зависимости от типа и материала исходной заготовки. Подачу резца назначают, исходя из необходимой скорости вращения шпинделя. Чем выше обороты, тем меньше должна быть ее величина. В противном случае металлическая деталь может перегреться и расплавиться.

Скорость резания при чистовой и черновой обработке различна. В последнем случае она несколько ниже, а подача, соответственно, выше. Чистовые проходы при резании осуществляются в режимах, обеспечивающих максимальную степень точности. Наиболее качественно эту операцию позволяют выполнить станки, оснащенные ЧПУ, имеющие бесчисленное множество эксплуатационных преимуществ.

Каждый раз затрачивать много времени на тщательное изучение немалого количества справочных таблиц, особенно в производственных условиях, когда необходимо успеть вовремя выполнить заказ, нецелесообразно. Какой бы токарный станок ни использовался при работе, все параметры резания взаимозависимы. При смене величины одного все остальные характеристики режимов резания, включая подачу и скорость, обязательно станут другими.

В связи с этим любая обработка осуществляется по специально разрабатываемым аналитическим и расчетным методикам. Все прописанные в нормативах параметры вычисляются посредством различных эмпирических формул. Точность обеспечивается благодаря известным характеристикам:

  • величины подачи;
  • частоты вращения шпинделя;
  • мощности агрегата.

В отдельных случаях необходимо также учитывать ряд других величин, оказывающих влияние на обработку поверхностей изделий.


Современные предприятия для проведения данных вычислений применяют специальные программы. Работнику достаточно только ввести вручную известные характеристики, и на экране компьютера сразу отобразятся все искомые параметры. Использование программного обеспечения значительно экономит время и упрощает работу, как и оснащение производств станками с ЧПУ.

Скорость резания и ее расчет

Одним из наиболее важных показателей является скорость. Ее величина непосредственно зависит от выполняемых работ. На максимальных оборотах осуществляется обрезка торцов заготовок. Точение или сверление имеют другие требования к этому параметру.

Чтобы выбрать оптимальное значение скорости и сделать качественную обработку детали, следует учитывать:

  • тип токарного инструмента;
  • вид операции;
  • материал заготовки.

Скорость резания для традиционных методов воздействия на детали можно определить, руководствуясь соответствующими таблицами из справочников. Но в условиях производства далеко не всегда целесообразно прибегать к такому варианту. Гораздо быстрее величину этого параметра вычислить по несложной формуле:

V = π*n*D / 1000,

где:

V – искомая скорость, м/мин;

D – максимальная величина диаметра используемой заготовки, мм;

n – количество оборотов детали за одну минуту, соответствующее частоте вращения шпинделя станка;

π – константа, равная 3,141526.

Отсюда видно, что скорость обработки прямо пропорциональна диаметру исходной заг

Последовательность расчета режима резания при точении — КиберПедия

1. Назначить глубину резания.

2. Выбрать подачу.

3. Назначить период стойкости резца.

4. Определить скорость главного движения резания.

5. Определить частоту вращения шпинделя, соответствующую найденной скорости резания, по формуле (15.3).

6. Скорректировать частоту вращения по паспортным данным станка.

7. Определить действительную скорость главного движения резания.

8. Определить силы резания (составляющие).

9. Определить мощность, затрачиваемую на резание.

10. Провести сравнение потребной мощности с мощностью привода станка.

11. Рассчитать основное время.

Приведем примеры расчета режимов резания при точении.

Пример 1. На токарно-винторезном станке 16К20 производится черновое обтачивание на проход шейки вала D = 68 мм до d=62h22(-0,30) мм. Длина обрабатываемой поверхности 1=280 мм, длина вала l1 = 430 мм. Заготовка — поковка из стали 40Х с sB = 700 мПа (=70 кгс/мм2). Способ крепления заготовки — в центрах и поводковом патроне. Система станок — приспособление — инструмент — заготовка недостаточно жесткая. Параметр шероховатости поверхности Rz=80 мкм

Необходимо выбрать режущий инструмент, назначить режим резания, определить основное время.

 

 
 

 

 

Рис. 15.1. Схема обработки к примеру 1

Решение.

1. По нормативам [14] выбираем резец и устанавливаем его геометрические элементы. Принимаем токарный проходной резец прямой правый. Материал рабочей части пластины — твердый сплав Т5К10 (прил. 1. с.352). [14], материал корпуса резца — сталь 45. Выбираем размеры поперечного сечения корпуса резца. У станка 16К20 расстояние от опорной плоскости резца в резцедержателе до линии центров 25 мм. Поэтому для установки резца на станке вершиной по центру принимается высота его корпуса Н=25 мм. Размеру Н соответствует по стандарту размер ширины корпуса B=16 мм, т.е. принимаем B´Н=16´25. Длину проходного резца выбирают 100-250 мм, она зависит, в основном от размеров резцедержателя станка и типа резца — принимаем 150 мм.

Геометрические элементы резца выбираем по [14], j=60° gf =-5°, f=0,6 мм, R=6 мм, B=2,5 мм. Форма передней поверхности — радиусная с фаской. Остальные геометрические параметры принимаем по [23], g=15°, a=12°, l=0,j1=15°, r=1 мм.

 

2. Назначаем режим резания.

2.1. Установим глубину резания.

Припуск на обработку удаляем за один рабочий ход (в данном случае это возможно, т.к. припуск относительно невелик). Глубина резания (равна припуску на сторону):

(15.10)

2.2. Назначаем подачу (по нормативам). Для обработки заготовки ди­аметром до 100 мм из конструкционной стали резцом сечением 16´25 мм при глубине резания до 3 мм рекомендуется подача sо=0,6-0,9 мм/об. Проверяем эту подачу по лимитирующим факторам.



Находим максимальное значение подачи, допускаемой заданным пара­метром шероховатости. По нормативным данным, для получения Rz=80 мкм при обработке стали и чугуна, угле j1=15° и радиусе r до 1,5 мм реко­мендуется sо=0,7-0,9 мм/об.

Находим максимальную подачу, допускаемую прочностью державки рез­ца. Для стали sВ=60-92 кгс/мм2, t до 3,5 мм и сечения резца 16´25 мм, sо доп =2 мм/об. Принимаем, что резец установлен в резцедержателе с нор­мативным вылетом l=1,5Н (Н — высота державки резца). В этом случае поправочный коэффициент на подачу KS=1.

Находим максимальную подачу, допускаемую прочностью пластины из твердого сплава. Эта подача зависит от ряда факторов, в том числе от толщины пластины из твердого сплава. Для резца сечением 16´25 мм при­меняют пластины толщиной С=4-5 мм, принимаем С=4 мм. Для стали с sВ =65-87 кгс/мм2, угла j=60°, t до 4 мм и С=4 мм, sодоп =1,1 мм/об.

Находим максимальную подачу, допускаемую жесткостью заготовки. Для стали с sВ =69-82 кгс/мм2, поля допуска по h22, t до 3,8 мм и диамет­ра заготовки D=60 мм (прочерк в графе подача означает, что жесткость заготовки практически не лимитирует подачи), sо доп =2,6 мм/об. Учитыва­ем поправочные коэффициенты. При отношении длины заготовки к диаметру обработанной поверхности

KLs=4,9.

При j=60°, Кjs=1,41. Остальные поправочные коэффициенты на подачу для заданных условий обработки равны 1, т.к. обрабатывается поверх­ность с допуском по h22 и установка заготовки — в центрах. Тогда sодоп =2,6 КLS; Кjs=2,6×4,9×1,41=17,9 мм/об.

Таким образом, для заданных условий работы подача лимитируется параметром шероховатости Rz=80 мкм, т.к. sо=0,7-0,3 мм/об оказалась наименьшей из всех допустимых подач. Полученную подачу окончательно проверяем по осевой составляющей силы резания, допускаемой прочностью механизма подачи станка, Рх доп. Устанка 16К20 Рх доп =6000 Н.



При заданных условиях работы и подаче sо=0,7-0,9 мм/об для стали с sВ=68-81 кгс/мм2, t до 3,4 мм, sо до 1,8 мм/об, угла j=60° при работе в диапазоне скоростей главного движения резания 65-155 м/мин (т.е. в диапазоне, применяемом для предварительного точения конструк­ционной стали резца из сплава Т5К10) сила РХ=2050-1450 Н. Для заданных условий обработки (g=12°, l=0) поправочные коэффициенты на силу PX равны 1. Так как РХ < РХдоп (2050<6000) то sо =0,7-0,9 мм/об не лими­тируется прочностью механизма подачи станка. Таким образом, принятая sо =0,7-0,9 мм/об является для заданных условий обработки максималь­ной технологически допустимой. Принимаем среднее значение sо =0,8 мм/об.

Корректируем подачу по паспортным данным станка sо =0,8 мм/об, [13].

2.3. Назначаем период стойкости резца Т=60 мин. Поправочный коэффи­циент на скорость резания равен 1. Допустимый износ резца по задней поверхности для твердого сплава при черновой обработке углеродистой и легированной стали hЗ=1-1,4 мм.

2.4. Определяем скорость главного движения резания, допускаемого резцом (по табличным данным). Для sВ =63-70 кгс/мм2, t до 4 мм, sо до 0,98 мм/об и j=60° при наружном продольном точении nтабл=73 м/мин. Приведенный в карте поправочный коэффициент Кпn для заданных условий обработки не учитывается, т.к. он не предусмотрен для поковки. Следо­вательно n=nтабл =73м/мин.

2.5. Определяем частоту вращения шпинделя, соответствующую найден­ной скорости:

Корректируем частоту вращения шпинделя по паспортным данным станка и устанавливаем действительные значение частоты вращения: nд=315 мин-1.

2.6. Определяем действительную скорость главного движения резания:

2.7. Определяем мощность, затрачиваемую на резание (по карте). Для sВ =59-97 кгс/мм2, t до 3,4 мм, sо до 0,96 мм/об и n=67 м/мин Nтабл=4,3 кВт. Для заданных условий обработки приведенный в карте поп­равочный коэффициент на мощность КN=1. Следовательно, Nрез=Nтабл=4,9 кВт.

2.8. Проверяем, достаточна ли мощность привода станка. Необходимо, чтобы Nрез£Nшп. Мощность на шпинделе станка по приводу Nшп =Nдh. У станка 16К20 Nд =10 кВт, h=0,75, Nшп =10×0,75=7,5 кВт. Следовательно, Nрез< Nшп (4,9<7,5), т.е. обработка возможна.

3. Основное время:

(15.11)

где i — число рабочих ходов.

Длина рабочего хода резца L=l+y+D. Врезание резца y=ctgj=3ctg60°=3×0,58=1,7 мм.

Перебег резца D=1-3 мм, принимаем D=2 мм.

Тогда L=280+1,7+2=283,7 мм, i=1.

Пример 2. На токарно-винторезном станке 16К20 подрезается торец втулки диаметром D=120 мм до диаметра d=80 мм. Припуск на обработку (на сторону) h=2 мм. Параметр шероховатости обработанной поверхности Rz=20 мкм. Материал заготовки — серый чугун СЧ20 твердостью 210HB. Об­рабатываемая поверхность без литейной корки. Система станок-приспособ­ление-инструмент-заготовка жесткая.

Необходимо: выбрать режущий инструмент, назначить режим резания (допускаемую резцом скорость главного движения резания v и мощность Nрез, затрачиваемую на резание, подсчитать по формулам), определить основное время.

 
 

 

Рис. 15.2. Схема обработки к примеру 2

 

Решение[22]

1. Выбираем резец и устанавливаем его геометрические элементы.

Принимаем токарный проходной резец отогнутый правый. Материал ра­бочей части пластины — твердый сплав ВК6, материал корпуса резца — сталь45; сечение корпуса резца 16´25 мм, длина резца 150 мм.

Геометрические элементы резца, [23],: форма передней поверхнос­ти — плоская с фаской, типа 11б, g=12°, gф= -3°, a=10°, l=0°, j=45°, j1= 45°, r =1 мм.

2. Назначаем режим резания.

2.1. Устанавливаем глубину резания. При снятии припуска на один проход t=h=2 мм.

2.2. Назначаем подачу. Для параметра шероховатости Rz=20 мкм при обработке чугуна резцом с r=1 мм рекомендуется sо =0,33 мм/об (для r=0,8 мм) и sо =0,42 мм/об (для r =1,2 мм). Принимаем для r=1 среднее значение sо =0,38 мм/об и, корректируя по паспорту станка, устанавлива­ем sо =0,35 мм/об.

2.3. Назначаем период стойкости резца. При одноинструментальной
обработке Т=30-60 мин. Принимаем Т=60 мин.

2.4. Определяем скорость главного движения резания, допускаемую
режущими свойствами резца.

(15.12)

Из таблицы выписываем коэффициент и показатели степеней формулы: для наружного продольного точения серого чугуна с НВ190 при sо £ 0,4 резцом с пластиной из твердого сплава ВК6 (с последующим учетом поправочных коэффициентов) Сn=292, Хn=0,15, Yn=0,2, m=0,2.

Учитываем поправочные коэффициенты на скорость:

Kmv=(190/HB)nv, nv=1,25, KMv=0,91,25=0,88

Knv=1, т.к. заготовка без литейной корки, Kuv=1, т.к. твердый сплав ВК6, KФv=1, т.к. j=45°

Нами используется формула для наружного продольного точения, а по условиям примера точение поперечное, поэтому нужно ввести поправочный коэффициент KОv. В справочнике [23] приведены значения этих коэффициен­тов в зависимости от d/D при поперечном точении. При d/D = 0,5-0,7 KОv=1,18. Для заданных условий d/D=80/120=0,67, следовательно KОv=1,18.

С учетом всех найденных поправочных коэффициентов:

2.5. Частота вращения шпинделя, соответствующая найденной скорости главного движения резания:

Корректируем частоту вращения шпинделя по справочным данным стан­ка и устанавливаем действительную частоту вращения nд=400 об/мин.

2.6. Действительная скорость главного движения резания:

2.7. Мощность, затрачиваемая на резание:

,

где Pz в кгс, а nд в м/мин.

Pz=9,81CPz tXPzsoYPzKPz. (15.13)

Для заданных условий обработки CPz=92, XPz=1, YPz=0,75, nPz=0.

Учитываем поправочные коэффициенты на силу резания:

KMPz=(HB)/190пр, 210HB, np=0,4, KMPz=(210/190)0,4=1,10,4=1,04, KjPz=1, т.к. j=45°, KgPz=1, т.к. g=12°, KlPz=1, т.к. l=0°.

Pz= 9,81CPz tXPzsoYPzvnPzKMPz KjPzKgPzKlPz = 9,81×92×21×0,350,75 150,71´

´1×1×1,04 ×1 = 854 Н»87 кгс

В единицах СИ (Вт): Nрез=Pzvд,

где Pz — в Н, vд — в м/с.

Nрез=854×2,51=2143 Вт= 2,14 кВт.

2.8. Проверим, достаточна ли мощность станка.

У станка 16К20 Nщп=7,5 кВт, Nрез<Nшп, 2,14<7,5, т.е. обработка возможна.

3. Основное время.

длина рабочего хода (мм) резца

врезание у = t ctgj = 2 ctg45° = 2 мм,

перебег принимаем равным 2 мм, i=1

 

 

3.1. Последовательность расчета режима резания при фрезеровании.

3.1.1. Выбираем вид и параметры инструмента.

3.1.2. Определяем геометрические элементы зуба фрезы.

3.1.3. Назначаем глубину резания.

3.1.4. Назначаем подачу на зуб фрезы.

При фрезеровании выполняются следующие соотношения между подачей на зуб фрезы, подачей на оборот фрезы и минутной подачей:

sм= sоn= szzn (15.14)

3.1.5. Определяем скорость главного движения резания — вращения
фрезы. Можно воспользоваться таблицами режимов резания или формулой:

(15.15)

где В — ширина фрезы, z — количество зубьев фрезы.

3.1.6 Определяем частоту вращения шпинделя, соответствующую найденной скорости резания.

3.1.7. Корректируем частоту вращения по паспортным данным станка.

3.1.8. Определяем действительную скорость главного движения резания.

3.1.9. Определяем соответствующие силы резания, для чего можно
воспользоваться формулой:

(15.16)

3.1.10. Определяем мощность, затрачиваемую на резание.

3.1.11. Проводим сравнение потребной мощности с мощностью привода станка.

3.1.12. Определяем основное время:

(15.17)

3.2. Последовательность расчета режимов резания при сверлении.

3.2.1. Выбираем сверло и устанавливаем значение его геометрических параметров.

3.2.2. Определяем глубину резания.

для сверления: t=D/2; для рассверливания:

t=(D-d)/2 (15.18)

3.2.3. Определяем оборотную подачу:

sо= sо таблКLs. (15.19)

3.2.4. Проверяем подачу по осевой составляющей силы резания.

Po=CPDqpsoYpKp, (15.20)

в случае необходимости корректируем подачу.

3.2.5. Корректируем подачу по механизму привода станка.

3.2.6. Назначаем стойкость сверла.

3.2.7. Определяем скорость главного движения резания, допускаемую режущими свойствами сверла:

(15.21)

3.2.8. Определяем частоту вращения шпинделя, соответствующую найденной скорости резания.

3.2.9. Корректируем частоту вращения по паспорту станка.

3.2.10. Рассчитываем действительную скорость главного движения резания.

3.2.11. Определяем крутящий момент от сил сопротивления резанию при сверлении:

M=CMDqмsoYмKp (15.22)

3.2.12. Определяем мощность, затрачиваемую на резание.

(15.23)

3.2.13. Проводим сравнение потребной мощности с мощностью привода станка.

3.2.14. Определяем основное время.

(15.24)

 

 

 

 

 

Глава 16

Оптимизация режимов резания

 

Режимы резания для токарной обработки: описание, выбор и технология

Чтобы превратить обычную заготовку в подходящую деталь механизма, используйте токарные, фрезерные, шлифовальные и другие станки. Если фрезерование необходимо для изготовления более сложных деталей, например шестерен, продольно-резательных станков, на токарных станках создаются более простые детали и придают им необходимую форму (конус, цилиндр, сфера). Режимы резания для токарной обработки очень важны, потому что, например, для хрупкого металла необходимо использовать более низкую скорость вращения шпинделя, чем для прочного.

Особенности токарной обработки

Для обработки той или иной детали на токарном станке, как правило, используются фрезы. Они бывают различных модификаций и классифицируются по типу обработки, направлению подачи и форме головки. Кроме того, инструменты изготавливаются из различных материалов: легированной стали, углеродистой, инструментальной, быстрорежущей, вольфрамовой, твердосплавной.

Выбор того или другого зависит от материала обрабатываемой детали, ее формы и метода шлифования. Режимы резания при токарной обработке требуют этих нюансов.При токарной обработке заготовка закреплена в шпинделе, она совершает основные вращательные движения. Инструмент устанавливается в опоры, и движения подачи совершаются прямо на них. В зависимости от используемого станка можно обрабатывать как очень мелкие детали, так и крупные.

Основные элементы

Какие элементы режимов резания для токарной обработки можно использовать? Несмотря на то, что токарная обработка не всегда является очень простой операцией, ее основными элементами являются скорость, шаг, глубина, ширина и толщина.Все эти показатели зависят в первую очередь от материала заготовки и размера. Для очень маленьких деталей, например, скорость резания выбирается самой маленькой, потому что даже 0,05 миллиметра, которые были случайно отрезаны, могут привести к браку всей детали.

Кроме того, очень важными показателями, от которых зависит выбор режимов резания токарной обработки, являются этапы, на которых она производится. Рассмотрим более подробно основные элементы и этапы резки металла.

Черновая, получистовая и чистовая обработка

Превращение заготовки в необходимую деталь

Таблица данных углового материала

: полный пример

В этом посте мы рассмотрим полный пример того, как использовать Таблица данных материалов Angular.

Мы собираемся охватить многие из наиболее распространенных случаев использования , которые вращаются вокруг компонента Angular Material Data Table, таких как: разбивка на страницы, сортировка и фильтрация на стороне сервера.

Это пошаговое руководство , поэтому я предлагаю вам написать код вместе с ним, поскольку мы собираемся начать с простого начального сценария. Затем мы будем постепенно добавлять функции одну за другой и объяснять все по ходу (включая подводные камни).

Мы подробно узнаем все о принципах реактивного дизайна, задействованных в разработке таблицы данных материалов Angular и источника данных Angular CDK.

Конечный результат этого поста будет:

  • полный пример того, как реализовать угловую таблицу данных материалов с разбивкой на страницы, сортировкой и фильтрацией на стороне сервера с использованием настраиваемого источника данных CDK
  • — работающий пример, доступный на Github, который включает небольшой внутренний сервер Express, обслуживающий данные с разбивкой на страницы.

Содержание

В этом посте мы рассмотрим следующие темы:

  • Угловая таблица данных материалов — не только для Material Design
  • Таблица данных по материалам Реактивный дизайн
  • Пагинатор материалов и пагинация на стороне сервера
  • Сортируемые заголовки и сортировка на стороне сервера
  • Фильтрация на стороне сервера с блоком ввода материала
  • Индикатор нагрузки
  • Источник данных CDK с нестандартным угловым материалом
  • Исходный код
  • (на Github) с полным примером
  • Выводы

Итак, без лишних слов, давайте начнем с нашей экскурсии по таблице данных материалов!

Импорт модулей углового материала

Чтобы запустить наш пример, давайте сначала импортируем все модули Angular Material, которые нам понадобятся:

Вот разбивка содержимого каждого модуля Материалов:

  • MatInputModule : он содержит компоненты и директивы для добавления полей ввода материального дизайна в наше приложение (необходимо для поля ввода поиска)
  • MatTableModule : это основной модуль таблицы данных, который включает компонент mat-table и многие связанные компоненты и директивы
  • MatPaginatorModule : это общий модуль разбивки на страницы, который можно использовать для разбивки на страницы данных в целом.Этот модуль также можно использовать отдельно от таблицы данных, например, для реализации логики разбивки на страницы деталей в настройке
  • Master-Detail.
  • MatSortModule : это дополнительный модуль, который позволяет добавлять сортируемые заголовки в таблицу данных
  • MatProgressSpinnerModule : этот модуль включает компонент индикатора выполнения, который мы будем использовать, чтобы указать, что данные загружаются из бэкэнда

Введение в таблицу данных угловых материалов

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

Фактически, мы можем дать таблице Angular Material Data альтернативный дизайн пользовательского интерфейса, если это необходимо. Чтобы убедиться в этом, давайте начнем с создания таблицы данных, в которой ячейки таблицы представляют собой простые блоки div без применения специального CSS.

Эта таблица данных будет отображать список уроков курса и имеет 3 столбца (порядковый номер, описание и продолжительность):

Определения столбцов таблицы данных материалов

Как мы видим, эта таблица определяет 3 столбца, каждый внутри своего собственного элемента ng-container .Элемент ng-container будет отображен на экране НЕ (см. Этот пост для более подробной информации), но он предоставит элемент для применения директивы matColumnDef .

Директива matColumnDef однозначно идентифицирует заданный столбец с помощью ключа: seqNo, description или duration. Внутри элемента ng-container у нас будет вся конфигурация для данного столбца.

Обратите внимание, что порядок элементов ng-container НЕ определяет визуальный порядок столбца

Директивы по дополнительным определениям таблицы данных материалов

Таблица данных материалов имеет ряд вспомогательных структурных директив (применяемых с использованием синтаксиса * directiveName ), которые позволяют нам отмечать определенные разделы шаблона, которые играют определенную роль в общем дизайне таблицы данных.

Эти директивы всегда заканчиваются постфиксом Def и используются для назначения роли разделу шаблона. Первые две директивы, которые мы рассмотрим, — это matHeaderCellDef и matCellDef .

Директивы matHeaderCellDef и matCellDef

Внутри каждого ng-контейнера с заданным определением столбца есть пара элементов конфигурации:

  • у нас есть шаблон, который определяет, как отображать заголовок данного столбца, идентифицированный с помощью структурной директивы matHeaderCellDef
  • у нас также есть другой шаблон, который определяет, как отображать ячейки данных данного столбца, используя структурную директиву matCellDef

Эти две структурные директивы только определяют, какие элементы шаблона имеют заданную роль (шаблон ячейки, шаблон заголовка), но они не придают никакого стиля этим элементам.

Например, в этом случае matCellDef и matHeaderCellDef применяются к простым div без стилей, поэтому в этой таблице еще нет дизайна материала , но .

Применение материального дизайна к таблице данных

Давайте теперь посмотрим, что нужно сделать, чтобы придать этой таблице данных материальный вид и ощущение. Для этого мы будем использовать пару встроенных компонентов в определениях наших заголовков и шаблонов ячеек:

Этот шаблон почти такой же, как и тот, который мы видели раньше, но теперь мы используем компоненты mat-header-cell и mat-cell внутри определения нашего столбца вместо простых div.

Используя эти компоненты, давайте теперь посмотрим, как выглядит таблица данных с новым дизайном материалов:

Обратите внимание, что в таблице уже есть данные! Мы перейдем к источнику данных чуть позже, а сейчас продолжим изучение остальной части шаблона.

Директива matCellDef

Шаблон ячейки данных имеет доступ к отображаемым данным. В этом случае наша таблица данных отображает список уроков, поэтому объект урока в каждой строке доступен через синтаксис let lesson и может использоваться в шаблоне так же, как любая переменная компонента.

Компонент mat-header-row и директива matHeaderRowDef

Эта комбинация связанных компонентов / директив работает следующим образом:

  • matHeaderRowDef идентифицирует элемент конфигурации для строки заголовка таблицы, но не применяет никакого стиля к элементу
  • mat-header-row , с другой стороны, применяет минимальный материал

Директива matHeaderRowDef также определяет, в каком порядке должны отображаться столбцы.В нашем случае выражение директивы указывает на переменную компонента с именем DisplayColumns .

Вот как будет выглядеть переменная компонента DisplayColumns :

Значения этого массива представляют собой ключи столбцов, которые должны быть идентичны именам разделов столбцов ng-container (заданным с помощью директивы matColumnDef ).

Примечание: именно этот массив определяет визуальный порядок столбцов!

Компонент mat-row и директива matRowDef

Эта пара компонент / директива также работает аналогично тому, что мы видели в предыдущих случаях:

  • matRowDef определяет, какой элемент внутри mat-table обеспечивает конфигурацию того, как должна выглядеть строка данных, без предоставления какого-либо конкретного стиля
  • , с другой стороны, mat-row предоставит некоторый материал, привязанный к строке данных

С mat-row у нас также есть экспортируемая переменная, которую мы назвали row , содержащую данные данной строки данных, и мы должны указать свойство columns , которое содержит порядок, в котором ячейки данных должны быть определены.

Взаимодействие с заданной строкой данных таблицы

Мы даже можем использовать элемент, идентифицированный директивой matRowDef , для взаимодействия с заданной строкой данных. Например, вот как мы можем определить, была ли нажата данная строка данных:

При щелчке по строке мы вызываем метод компонента onRowClicked () , который затем записывает данные строки в консоль:

Если мы теперь щелкнем по первой строке нашей таблицы данных, вот как будет выглядеть результат на консоли:

Как мы видим, данные для первой строки выводятся на консоль, как и ожидалось! Но откуда эти данные?

Чтобы ответить на этот вопрос, давайте поговорим об источнике данных, который связан с этой таблицей данных, и рассмотрим реактивный дизайн таблицы данных материалов.

Источники данных и реактивный дизайн таблиц данных

Таблица данных, которую мы представляем, получает данные, которые она отображает, из источника данных, который реализует API на основе Observable и следует общим принципам реактивного дизайна.

Это означает, например, что компонент таблицы данных не знает, откуда берутся данные. Данные могут поступать, например, из серверной части или из кеша на стороне клиента, но это прозрачно для таблицы данных.

Таблица данных просто подписывается на Observable, предоставленную источником данных. Когда этот Observable испускает новое значение, он будет содержать список уроков, которые затем будут отображаться в таблице данных.

Основные принципы построения таблицы данных

С помощью этого API на основе Observable не только таблица данных не знает, откуда берутся данные, но и таблица данных не знает, что вызвало появление новых данных.

Вот несколько возможных причин появления новых данных:

  • таблица данных отображается изначально
  • пользователь нажимает кнопку пагинатора
  • пользователь сортирует данные, нажимая на сортируемый заголовок
  • пользователь вводит поиск, используя поле ввода

Опять же, таблица данных не имеет информации о том, какое именно событие привело к появлению новых данных, что позволяет компонентам и директивам таблицы данных фокусироваться только на , отображающем данные, а не на их выборке.

Давайте тогда посмотрим, как мы можем реализовать такой реактивный источник данных.

Почему бы не использовать MatTableDataSource ?

В этом примере мы не будем использовать встроенный MatTableDataSource , потому что он предназначен для фильтрации, сортировки и разбивки на страницы массива данных на стороне клиента .

В нашем случае вся фильтрация, сортировка и разбивка на страницы будут происходить на сервере, поэтому мы будем создавать наш собственный источник реактивных данных Angular CDK, исходя из первых принципов.

Получение данных из серверной части

Чтобы получить данные из бэкэнда, наш пользовательский источник данных будет использовать LessonsService . Это стандартная одноэлементная служба без сохранения состояния на основе Observable, которая внутренне создается с использованием HTTP-клиента Angular.

Давайте посмотрим на эту услугу и разберемся, как она реализована:

Разборка реализации LessonsService

Как мы видим, эта служба полностью не имеет состояния, и каждый метод перенаправляет вызовы на серверную часть с помощью HTTP-клиента и возвращает Observable вызывающей стороне.

Наш REST API доступен по URL-адресам в каталоге / api , и доступно несколько сервисов (вот полная реализация).

В этом фрагменте мы просто показываем метод findLessons () , который позволяет получить одну отфильтрованную и отсортированную страницу данных уроков для данного курса.

Вот аргументы, которые мы можем передать этой функции:

  • courseId : определяет данный курс, для которого мы хотим получить страницу уроков
  • фильтр : это строка поиска, которая поможет нам фильтровать результаты.Если мы передаем пустую строку », это означает, что на сервере
  • не выполняется фильтрация.
  • sortOrder : наш бэкэнд позволяет нам сортировать на основе столбца seqNo , и с помощью этого параметра мы можем указать, является ли порядок сортировки по возрастанию (это значение по умолчанию asc ) или по убыванию, передав значение desc
  • pageNumber : После фильтрации и сортировки результатов мы собираемся указать, какая страница из этого полного списка результатов нам нужна.По умолчанию возвращается первая страница (с индексом 0)
  • pageSize : определяет размер страницы, по умолчанию не более 3 элементов

С этими аргументами метод loadLessons () затем создаст HTTP-вызов GET для внутренней конечной точки, доступной по адресу / api / classes .

Вот как выглядит HTTP-вызов GET, который извлекает уроки для первой страницы:

  http: // localhost: 4200 / api / classes? CourseId = 1 & filter = & sortOrder = asc & pageNumber = 0 & pageSize = 3
  

Как мы видим, мы добавляем ряд параметров HTTP-запроса к URL-адресу GET, используя API HTTPParams fluent.

Этот метод loadLessons () будет основой нашего источника данных, поскольку он позволит нам охватить варианты использования разбивки на страницы, сортировки и фильтрации сервера.

Реализация пользовательского источника данных Angular CDK

Используя LessonsService , давайте теперь реализуем настраиваемый источник данных Angular CDK на основе Observable. Вот начальный код, чтобы мы могли обсудить его реактивный дизайн (полная версия будет показана чуть позже):

Разрушение конструкции источника данных Angular CDK

Как мы видим, для создания источника данных нам нужно создать класс, реализующий DataSource .Это означает, что в этом классе необходимо реализовать несколько методов: connect () и disconnect () .

Обратите внимание, что эти методы предоставляют аргумент, которым является CollectionViewer , который предоставляет Observable, который выдает информацию о том, какие данные отображаются (начальный индекс и конечный индекс).

Мы бы порекомендовали пока не сосредотачиваться столько на CollectionViewer , а на чем-то гораздо более важном для понимания всего дизайна: возвращаемом значении метода connect () .

Как реализовать метод DataSource connect ()

Этот метод будет вызываться один раз таблицей данных во время начальной загрузки таблицы. Таблица данных ожидает, что этот метод вернет объект Observable, а значения этого объекта будут содержать данные, которые необходимо отобразить в таблице данных.

В этом случае наблюдаемый объект выдаст список уроков. Когда пользователь нажимает на пагинатор и переходит на новую страницу, этот наблюдаемый будет выдавать новое значение с новой страницей уроков.

Мы реализуем этот метод, используя объект, который будет невидимым вне этого класса. Этот предмет ( classesSubject ) будет выдавать значения, полученные из бэкэнда.

classesSubject — это BehaviorSubject , что означает, что его подписчики всегда будут получать его последнее переданное значение (или начальное значение), даже если они подписались поздно (после того, как значение было передано).

Зачем использовать BehaviorSubject ?

Использование BehaviorSubject — отличный способ написания кода, который работает независимо от порядка, который мы используем для выполнения асинхронных операций, таких как: вызов серверной части, привязка таблицы данных к источнику данных и т. Д.

Например, в этом проекте источник данных не знает о таблице данных или о том, в какой момент таблице данных потребуются данные. Поскольку таблица данных подписана на наблюдаемый объект connect () , он в конечном итоге получит данные, даже если:

  • данные все еще находятся в передаче от серверной части HTTP
  • или если данные уже были загружены

Custom Material CDK Data Source — Полный обзор внедрения

Теперь, когда мы понимаем реактивную структуру источника данных, давайте взглянем на полную окончательную реализацию и рассмотрим ее шаг за шагом.

Обратите внимание, что в этой окончательной реализации мы также включили понятие флага загрузки, который мы будем использовать для отображения вращающегося индикатора загрузки для пользователя позже:

Структура реализации индикатора загрузки источника данных

Давайте начнем разбирать этот код, сначала мы начнем с реализации индикатора загрузки. Поскольку этот класс источника данных имеет реактивную конструкцию, давайте реализуем флаг загрузки, выставив логическое наблюдаемое значение loading $ .

Этот наблюдаемый объект будет выдавать в качестве первого значения false (который определен в конструкторе BehaviorSubject ), что означает, что изначально данные не загружаются.

Наблюдаемая загрузка $ выводится с использованием asObservable () из объекта, который остается закрытым для класса источника данных. Идея состоит в том, что только этот класс знает, когда данные загружаются, поэтому только этот класс может получить доступ к объекту и выдать новые значения для флага загрузки.

Реализация метода connect ()

Давайте теперь сосредоточимся на реализации метода подключения:

Этот метод должен будет вернуть Observable, который генерирует данные уроков, но мы не хотим напрямую открывать внутренний объект subject sizesSubject .

Раскрытие темы означало бы предоставление контроля над тем, когда и какие данные будут отправлены источником данных, и мы хотим этого избежать. Мы хотим убедиться, что только этот класс может выдавать значения для данных уроков.

Таким образом, мы также собираемся вернуть Observable, полученный из classesSubject , используя метод asObservable () . Это дает таблице данных (или любому другому подписчику) возможность подписаться на наблюдаемые данные уроков, не имея возможности выдавать значения для той же наблюдаемой.

Реализация метода disconnect ()

Давайте теперь разберем реализацию метода отключения:

Этот метод вызывается один раз таблицей данных во время разрушения компонента. В этом методе мы собираемся завершить все наблюдаемые, которые мы создали внутри этого класса, чтобы избежать утечек памяти.

Мы собираемся завершить оба урока: : Subject и loadingSubject - , которые затем запускают завершение любых производных наблюдаемых.

Реализация метода loadLessons ()

Наконец, давайте сосредоточимся на реализации метода loadLessons:

Источник данных предоставляет этот общедоступный метод с именем loadLessons () . Этот метод будет вызываться в ответ на несколько действий пользователя (разбиение на страницы, сортировка, фильтрация) по загрузке заданной страницы данных.

Вот как работает этот метод:

  • Первое, что мы сделаем, это сообщим, что некоторые данные загружаются, отправив true в loadingSubject , что приведет к тому, что loading $ также выдаст истинный
  • LessonsService будет использоваться для получения страницы данных из бэкэнда REST
  • выполняется вызов findLessons () , который возвращает Observable
  • , подписавшись на этот наблюдаемый объект, мы запускаем HTTP-запрос
  • , если данные успешно поступают от бэкэнда, мы собираемся отправить их обратно в таблицу данных через connect () Observable
  • для этого мы будем звонить next () на уроках Тема с данными уроков
  • , производные уроки, наблюдаемые, возвращенные connect () , затем передадут данные уроков в таблицу данных
Обработка ошибок серверной части

Давайте теперь посмотрим, все еще в методе loadLessons () , как источник данных обрабатывает ошибки серверной части и как управляется индикатор загрузки:

  • , если возникает ошибка в HTTP-запросе, Observable, возвращаемый функцией findLessons () , выдаст ошибку
  • Если это произойдет, мы собираемся отловить эту ошибку, используя catchError () , и мы собираемся вернуть Observable, который генерирует пустой массив, используя из
  • , мы могли бы дополнительно использовать еще один MessagesService , чтобы показать закрываемое всплывающее окно с ошибкой для пользователя
  • , если вызов к бэкэнду завершится успешно или не удастся, в обоих случаях у нас будет , загрузка $ Observable выдаст false с помощью finalize () (который работает как , наконец, в простом Javascript try / catch / finally)

И этим последним битом мы завершили обзор нашего пользовательского источника данных!

Эта версия источника данных будет поддерживать всех наших сценариев использования: разбиение на страницы, сортировку и фильтрацию.Как мы видим, вся конструкция заключается в прозрачном предоставлении данных для таблицы данных с помощью API на основе Observable.

Давайте теперь посмотрим, как мы можем взять этот источник данных и вставить его в таблицу данных.

Связывание источника данных с таблицей данных

Таблица данных будет отображаться как часть шаблона компонента. Напишем начальную версию этого компонента, которая отображает первую страницу уроков:

Этот компонент содержит несколько свойств:

  • массив displayColumns определяет визуальный порядок столбцов
  • Свойство dataSource определяет экземпляр LessonsDataSource , который передается в mat-table через шаблон
Разбор метода ngOnInit

В методе ngOnInit мы вызываем метод Data Source loadLessons () для запуска загрузки первой страницы уроков.Давайте подробно рассмотрим, что происходит в результате этого звонка:

  • Источник данных вызывает службу LessonsService , которая запускает HTTP-запрос для получения данных
  • Источник данных затем передает данные через объект classesSubject , в результате чего Observable, возвращаемый функцией connect () , генерирует страницу уроков
  • Компонент mat-table Data Table подписался на наблюдаемый объект connect () и получает новую страницу уроков
  • Таблица данных затем отображает новую страницу уроков, не зная, откуда пришли данные или что вызвало их появление.

И с этим «клеящим» компонентом у нас теперь есть рабочая таблица данных, которая отображает данные сервера!

Проблема в том, что в этом начальном примере всегда загружается только первая страница данных с размером страницы 3 и без критериев поиска.

Давайте воспользуемся этим примером в качестве отправной точки и начнем добавлять: индикатор загрузки, разбиение на страницы, сортировку и фильтрацию.

Отображение индикатора загрузки материала

Чтобы отобразить индикатор загрузки, мы собираемся использовать наблюдаемое loading $ источника данных. Мы будем использовать прядильщик матов Материальный компонент:

Как мы видим, мы используем async pipe и ngIf , чтобы показать или скрыть индикатор загрузки материала.Вот как выглядит таблица во время загрузки данных:

Мы также будем использовать индикатор загрузки при переходе между двумя страницами данных с использованием разбивки на страницы, сортировки или фильтрации.

Добавление пагинатора материалов таблицы данных

Компонент Material Paginator, который мы будем использовать, представляет собой общий пагинатор, который поставляется с API на основе Observable. Этот пагинатор можно использовать для разбивки на страницы чего угодно, и он не связан специально с таблицей данных.

Например, при настройке компонента Master-Detail мы могли бы использовать этот пагинатор для навигации между двумя элементами детализации.

Вот как компонент mat-paginator можно использовать в шаблоне:

Как мы видим, в шаблоне нет ничего , связывающего пагинатор либо с источником данных, либо с таблицей данных — это соединение будет выполнено на уровне CourseComponent .

Пагинатору нужно только знать, сколько всего элементов разбивается на страницы (через свойство length), чтобы узнать, сколько всего страниц!

На основе этой информации (плюс текущий индекс страницы) разбиение на страницы будет включать или отключать кнопки навигации.

Чтобы передать эту информацию в средство разбиения на страницы, мы используем свойство classesCount нового объекта курса .

Как связать пагинатор материалов с источником данных

Давайте теперь посмотрим на CourseComponent , чтобы увидеть, откуда идет курс и как пагинатор связан с источником данных:

Нарушение метода ngOnInit ()

Начнем с объекта курса : как мы видим, этот объект доступен во время создания компонента через маршрутизатор.

Этот объект данных был получен из серверной части во время навигации маршрутизатора с помощью маршрутизатора Data Resolver (см. Пример здесь).

Это очень распространенная конструкция, которая гарантирует, что на целевом экране навигации уже есть некоторые предварительно выбранные данные, готовые для отображения.

Мы также загружаем первую страницу данных непосредственно в этом методе (в строке 20).

Как пагинатор связан с источником данных?

В приведенном выше коде видно, что связь между пагинатором и источником данных осуществляется в методе ngAfterViewInit () , поэтому давайте разберем его:

Мы используем хук жизненного цикла AfterViewInit , потому что нам нужно убедиться, что компонент пагинатора, запрашиваемый через @ViewChild , уже доступен.

У пагинатора также есть API на основе Observable, и он предоставляет стр. Observable. Этот наблюдаемый объект будет выдавать новое значение каждый раз, когда пользователь нажимает кнопки навигации пагинатора или раскрывающееся меню размера страницы.

Итак, чтобы загрузить новые страницы в ответ на событие разбиения на страницы, все, что нам нужно сделать, это подписаться на этот наблюдаемый объект, а в ответ на событие разбиения на страницы мы собираемся вызвать источник данных loadLessons () , вызвав loadLessonsPage () .

В этом вызове loadLessons () мы собираемся передать источнику данных, какой индекс страницы мы хотели бы загрузить и какой размер страницы, и эта информация берется непосредственно из пагинатора.

Почему мы использовали оператор tap () ?

Мы также могли бы сделать вызов источника данных изнутри обработчика subscribe () , но в этом случае мы реализовали этот вызов, используя конвейерную версию оператора RxJs do под названием tap .

Посмотрите на пагинатор в действии

Теперь у нас есть рабочий пагинатор материалов! Вот как пагинатор материалов выглядит на экране при отображении второй страницы списка уроков:

Давайте продолжим добавлять новые функции в наш пример, давайте добавим еще одну очень часто используемую функцию: сортируемые заголовки таблиц.

Чтобы добавить сортируемые заголовки в нашу таблицу данных, нам нужно будет аннотировать ее с помощью директивы matSort .В этом случае мы сделаем сортируемым только один столбец в таблице, столбец seqNo .

Вот как выглядит шаблон со всеми директивами, связанными с несколькими сортировками:

Помимо директивы matSort , мы также добавляем пару дополнительных вспомогательных директив, связанных с сортировкой, в компонент mat-table :

  • matSortActive : Когда данные передаются в таблицу данных, они обычно уже отсортированы. Эта директива позволяет нам сообщить таблице данных, что данные уже изначально отсортированы по столбцу seqNo , поэтому значок сортировки столбца seqNo будет отображаться как стрелка вверх
  • matSortDirection : Это сопутствующая директива к matSortActive , она определяет направление начальной сортировки.В этом случае данные изначально сортируются по столбцу seqNo в порядке возрастания, поэтому заголовок столбца соответствующим образом адаптирует значок сортировки (снимок экрана ниже)
  • matSortDisableClear : Иногда, помимо порядка возрастания и убывания, нам может понадобиться третье «несортированное» состояние для сортируемого заголовка столбца, где мы можем очистить порядок сортировки. В этом случае мы хотим отключить это, чтобы убедиться, что столбец seqNo всегда показывал либо восходящее, либо нисходящее состояние

Это конфигурация сортировки для всей таблицы данных, но нам также необходимо точно определить, какие заголовки таблицы можно сортировать!

В нашем случае сортируется только столбец seqNo , поэтому мы аннотируем ячейку заголовка столбца с помощью директивы mat-sort-header .

И это касается изменений шаблона, давайте теперь посмотрим на изменения, которые мы внесли в CourseComponent , чтобы включить сортировку заголовков таблицы.

Связывание заголовка сортируемого столбца с источником данных

Как и в случае разбивки на страницы, сортируемый заголовок будет предоставлять Observable, который выдает значения всякий раз, когда пользователь щелкает заголовок сортируемого столбца.

Директива MatSort затем предоставляет вид Observable, который может инициировать загрузку новой страницы следующим образом:

Как мы видим, вид Observable теперь объединяется со страницей Observable! Теперь загрузка новой страницы будет происходить в двух случаях:

  • при возникновении события разбивки на страницы
  • при возникновении события сортировки

Направление сортировки столбца seqNo теперь берется из директивы сортировки (вводится через @ViewChild () ) в бэкэнд.

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

Вот как выглядит таблица данных с сортируемыми заголовками после загрузки данных и щелчка на сортируемом заголовке (запуск сортировки по убыванию по seqNo ):

Обратите внимание на значок сортировки в столбце seqNo

На данный момент у нас есть нумерация страниц и сортировка серверов.Теперь мы готовы добавить последнюю важную функцию: фильтрацию на стороне сервера.

Добавление серверной фильтрации

Чтобы реализовать фильтрацию на стороне сервера, первое, что нам нужно сделать, это добавить поле поиска в наш шаблон.

И поскольку это последняя версия, давайте затем отобразим полный шаблон со всеми его функциями: разбиение на страницы, сортировка, а также фильтрация на стороне сервера:

Разрушение реализации окна поиска

Как мы видим, единственная новая часть в этой окончательной версии шаблона - это mat-input-container , содержащий поле ввода материала, в котором пользователь вводит поисковый запрос.

Это поле ввода следует общему шаблону, найденному в библиотеке материалов: mat-input-container обертывает простой ввод HTML и проецирует его.

Это дает нам полный доступ ко всем стандартным свойствам ввода, включая, например, все свойства, связанные с доступностью. Это также обеспечивает совместимость с Angular Forms, поскольку мы можем применять директивы Form непосредственно во входном HTML-элементе.

Подробнее о том, как создать подобный компонент, читайте в этом посте: Angular ng-content и Content Projection: The Complete Guide.

Обратите внимание, что к этому полю ввода даже не прикреплен обработчик событий! Затем давайте посмотрим на компонент и посмотрим, как это работает.

Конечный компонент с разбивкой на страницы, сортировкой и фильтрацией сервера

Это последняя версия CourseComponent со всеми включенными функциями:

Давайте сосредоточимся на части фильтрации сервера.

Получение ссылки на поле ввода поиска

Мы видим, что мы внедрили ссылку DOM на элемент , используя @ViewChild ('input') .Обратите внимание, что на этот раз механизм внедрения дал нам ссылку на элемент DOM, а не на компонент.

С этой ссылкой на DOM, вот часть, которая запускает поиск на стороне сервера, когда пользователь вводит новый запрос:

В этом фрагменте мы делаем следующее: мы берем поле ввода поиска и создаем Observable, используя fromEvent .

Этот Observable будет выдавать значение каждый раз, когда происходит новое событие keyUp. Затем к этому наблюдаемому мы применим пару операторов:

  • debounceTime (150) : пользователь может довольно быстро вводить текст в поле ввода, что может вызвать множество запросов к серверу.С помощью этого оператора мы ограничиваем количество запросов к серверу, отправляемых не более чем одним каждые 150 мс.

  • independentUntilChanged () : этот оператор удалит повторяющиеся значения

И с этими двумя операторами теперь мы можем инициировать загрузку страницы, передав строку запроса, размер страницы и индекс страницы в источник данных с помощью оператора tap () .

Давайте теперь посмотрим, как будет выглядеть экран, если пользователь введет поисковый запрос "привет":

На этом мы завершили наш пример! Теперь у нас есть полное решение для реализации таблицы данных материалов Angular с разбивкой на страницы, сортировкой и фильтрацией на стороне сервера.

Давайте теперь быстро резюмируем то, что мы узнали.

Выводы

Таблица данных, источник данных и связанные компоненты являются хорошим примером реактивного дизайна, в котором используется API на основе Observable. Выделим ключевые моменты дизайна:

  • Таблица данных материалов ожидает получить данные из источника данных через Observable
  • Основная роль источника данных заключается в создании и предоставлении Observable, который передает новые версии табличных данных в таблицу данных.
  • Класс компонента, такой как CourseService , затем «склеит» все вместе

Эта реактивная конструкция помогает обеспечить слабую связь нескольких задействованных элементов и обеспечивает четкое разделение проблем.

Исходный код

+ пример запуска Github

Работающий пример полного кода доступен здесь, в этой ветке на Github, и он включает небольшой внутренний сервер Express, который обслуживает данные и выполняет сортировку / разбиение на страницы / фильтрацию на стороне сервера.

Я надеюсь, что этот пост поможет вам начать работу с таблицей данных материалов Angular и вам понравился!

Если у вас есть вопросы или комментарии, дайте мне знать в комментариях ниже, и я свяжусь с вами.

Чтобы получать уведомления о предстоящих публикациях по материалам Angular и другим темам, связанным с Angular, я приглашаю вас подписаться на нашу рассылку новостей:

Прочие угловые стойки для материалов:

Диалог углового материала: полный пример

Видеоуроки доступны на YouTube

Посмотрите на Youtube канал Angular University, там мы публикуем от 25% до трети наших видеоуроков, новые видео публикуются постоянно.

Подпишитесь, чтобы получать новые видеоуроки:

прочтений.табличная функция | R Документация

Ввод данных

Считывает файл в формате таблицы и создает из него фрейм данных с кейсы, соответствующие строкам, а переменные - полям в файле.

Ключевые слова
Файл
, подключение
Использование
  read.table (file, header = FALSE, sep = "", quote = "\" '",
           dec = ".", numerals = c ("allow.loss", "warn.loss", "no.убыток »),
           row.names, col.names, as.is =! stringsAsFactors,
           na.strings = "NA", colClasses = NA, nrows = -1,
           skip = 0, check.names = TRUE, fill =! blank.lines.skip,
           strip.white = FALSE, blank.lines.skip = TRUE,
           comment.char = "#",
           allowEscapes = FALSE, flush = FALSE,
           stringsAsFactors = default.stringsAsFactors (),
           fileEncoding = "", encoding = "unknown", text, skipNul = FALSE) 

read.csv (file, header = TRUE, sep = ",", quote = "\" ", dec = ".", fill = TRUE, comment.char =" ",…)

read.csv2 (file, header = TRUE, sep ="; ", quote =" \ "", dec = ",", fill = TRUE, comment.char = "",…)

read.delim (file, header = TRUE, sep = "\ t", quote = "\" ", dec = ".", fill = TRUE, comment.char = "",…)

read.delim2 (file, header = TRUE, sep = "\ t", quote = "\" ", dec = ",", fill = TRUE, comment.char = "",…)

Аргументы
файл

имя файла, из которого должны быть прочитаны данные.Каждая строка таблицы отображается как одна строка файла. Если это так не содержать абсолютный путь , имя файла относительно текущего рабочего каталога, getwd () . Расширение тильды выполняется там, где это поддерживается. Это может быть сжатый файл (см. файл ).

В качестве альтернативы файл может быть читаемым текстовым режимом соединение (которое будет открыто для чтения, если необходимо, и если это так, закрыть d (и, следовательно, уничтожить) в конец вызова функции).(Если используется stdin () , подсказки для строк могут несколько сбивать с толку. Завершить ввод с пустой строкой или сигналом EOF, Ctrl-D в Unix и Ctrl-Z в Windows. Любой откат на stdin () будет очищен перед возвратом.)

файл также может быть полным URL. (Для поддерживаемого URL схем, см. раздел "URL-адреса" справки по url .)

заголовок

логическое значение, указывающее, содержит ли файл имена переменных в качестве первой строки.Если отсутствует, значение равно определяется из формата файла: заголовок установлен на ИСТИНА тогда и только тогда, когда первая строка содержит на одно поле меньше, чем Число столбцов.

сен

символ-разделитель полей. Значения в каждой строке файлы разделены этим символом. Если sep = "" ( по умолчанию для read.table ) разделителем является «пробел», то есть один или несколько пробелов, табуляции, новой строки или возврата каретки.

цитата

набор символов цитирования. Чтобы отключить цитирование в целом используйте quote = "" . См. сканирование для поведение в кавычках, заключенных в кавычки. Цитата считается только для столбцов, читаемых как символы, и все они, если colClasses указан.

дек

символ, используемый в файле для десятичных знаков.

цифры

строка, указывающая, как преобразовывать числа, преобразование которых двойная точность приведет к потере точности, см. type.convert . Может быть сокращено. (Применимо также к вводам комплексных чисел.)

row.names

вектор имен строк. Это может быть вектор, дающий фактические имена строк или одно число, дающее столбец таблица, содержащая имена строк или символьную строку, дающую имя столбца таблицы, содержащего имена строк.

Если есть заголовок, и первая строка содержит на одно поле меньше, чем количество столбцов, первый столбец во входных данных используется для имена строк. В противном случае, если row.names отсутствует, строки будут пронумерованы.

Использование row.names = NULL вызывает нумерацию строк. Отсутствует или NULL row.names генерирует имена строк, которые считаются быть «автоматическим» (и не сохраняться в как матрица ).

цв.имена

вектор необязательных имен для переменных. По умолчанию используется "V" , за которым следует номер столбца.

as.is

поведение по умолчанию чтения. Таблица должна преобразовать символьные переменные (которые не преобразуются в логические, числовые или комплекс) к факторам. Переменная as.is управляет преобразование столбцов, не указанных в colClasses .Его значение - это либо вектор логических значений (значения перерабатываются, если необходимо), или вектор числовых или символьных индексов, которые укажите, какие столбцы не следует преобразовывать в коэффициенты.

Примечание: чтобы подавить все преобразования, в том числе числовые столбцы, установите colClasses = "character" .

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

на. Струны

вектор символов строк, которые должны быть интерпретируется как значения NA . Пустые поля также считаются пропущенными значениями в логических, целочисленных, числовых и сложные поля. Обратите внимание, что тест происходит после пустое пространство удаляется из ввода, поэтому na.strings значениям может потребоваться заранее удалить собственное пустое пространство.

colClasses

персонаж.Предполагаемый вектор классов для столбцы. Если название не указано, переработано при необходимости. Если названо, имена совпадают с неуказанными значениями, принимаемыми за NA .

Возможные значения: NA (по умолчанию, когда type.convert используется), "NULL" (когда столбец пропускается), один из классов атомарных векторов (логический, целочисленный, числовой, комплексный, символьный, необработанный) или "коэффициент" , "Дата" или "POSIXct" .В противном случае должен быть как метод (из методов пакета) для преобразования из «персонаж» к указанному формальному классу.

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

ряд

целое: максимальное количество строк для чтения. Отрицательное и другие недопустимые значения игнорируются.

пропустить

целое число: количество строк файла данных, которые нужно пропустить перед начинает читать данные.

check.names

логический. Если ИСТИНА , то имена переменные во фрейме данных проверяются, чтобы убедиться, что они синтаксически допустимые имена переменных. При необходимости их корректируют (по make.names ), чтобы они были, а также для обеспечения что дубликатов нет.

залив

логический. Если ИСТИНА , тогда в случае, если строки неравны length, неявно добавляются пустые поля.Смотрите подробности'.

полоса. Белая

логический. Используется только когда sep имеет был указан, и позволяет удалять начальные и конечные пробел из символов без кавычек полей ( числовых полей всегда обнажены). См. сканирование для получения дополнительной информации. (включая точное значение «пробела»), помня, что столбцы могут включать имена строк.

бланк.lines.skip

логический: если ИСТИНА пустые строки в ввод игнорируются.

комментарий. Char

символ: вектор символов длины один содержащий один символ или пустую строку. Используйте "" для отключить интерпретацию комментариев вообще.

allowEscapes

логический. Если C-стиль экранирует, например \ n обрабатывать или читать дословно (по умолчанию)? Обратите внимание, что если вне кавычек их можно интерпретировать как разделитель (но не как символ комментария).Для получения дополнительной информации см. сканирование .

заподлицо

логический: если ИСТИНА , сканирование будет сброшено на конец строки после прочтения последнего из запрошенных полей. Это позволяет помещать комментарии после последнего поля.

stringsAsFactors

логический: следует преобразовать векторы символов к факторам? Обратите внимание, что это переопределяется как.это и colClasses , оба из которых обеспечивают более точный контроль.

файл Кодировка

символьная строка: если непусто, объявляет кодировка, используемая в файле (а не соединение), чтобы символьные данные могли перекодировать. См. Раздел «Кодирование» в справке файл , «Руководство по импорту / экспорту данных R» и 'Заметка'.

кодировка

кодировка для входных строк.это используется для обозначения символьных строк как заведомо находящихся в Latin-1 или UTF-8 (см. Encoding ): он не используется для перекодировать ввод, но позволяет R обрабатывать закодированные строки в их собственная кодировка (если одна из этих двух). См. «Ценность» и «Примечание».

текст

символьная строка: если файл не указан, а это есть, затем данные считываются из значения text через текстовое соединение.Обратите внимание, что буквальная строка может использоваться для включения (небольших) наборов данных внутри кода R.

skipNul

логический: нули нужно пропускать?

Дополнительные аргументы, которые необходимо передать таблице чтения .

Детали

Эта функция является основным средством чтения табличных данных в R.

Если не указано colClasses , все столбцы читаются как символьные столбцы, а затем преобразованы с использованием типа . преобразовать в логические, целые, числовые, комплексные или (в зависимости от as.is ) фактор в зависимости от обстоятельств. Цитаты (по умолчанию) интерпретируются во всех полей, поэтому столбец со значениями, например "42" , приведет к целочисленный столбец.

Поле или строка являются «пустыми», если они ничего не содержат (кроме пробел, если разделитель не указан) перед символом комментария или конец поля или строки.

Если row.names не указан, а в строке заголовка на единицу меньше записи, чем количество столбцов, первый столбец считается имена строк. Это позволяет считывать кадры данных из формата в которые они напечатаны. Если указано row.names и не относится к первому столбцу, этот столбец исключается из таких файлов.

Количество столбцов данных определяется по первым пяти строки ввода (или весь ввод, если он содержит менее пяти строк), или от длины цв.называет , если он указан и длиннее. Возможно, это могло быть неправильно, если заполняет или blank.lines.skip истинны, поэтому укажите col.names , если необходимо (как в «Примеры»).

read.csv и read.csv2 идентичны читать таблицу за исключением значений по умолчанию. Они предназначены для чтение файлов со значениями, разделенными запятыми ( .csv ) или ( read.csv2 ) вариант, используемый в странах, в которых в качестве запятой используется десятичная точка и точка с запятой в качестве разделителя полей.По аналогии, read.delim и read.delim2 предназначены для чтения с разделителями файлы, по умолчанию используется символ TAB в качестве разделителя. Заметить, что header = TRUE и fill = TRUE в этих вариантах, и что символ комментария отключен.

Остальная часть строки после символа комментария пропускается; цитаты не обрабатываются в комментариях. Допускаются полные строки комментариев предоставлено blank.lines.skip = TRUE ; однако строки комментариев до к заголовку должен иметь символ комментария в первом непустом столбец.

Поля в кавычках со встроенными символами новой строки поддерживаются, кроме комментарий персонажа. Встроенные нули не поддерживаются: их пропускаем (с skipNul = TRUE ) может работать.

Значение

Кадр данных ( data.frame ), содержащий представление данные в файле.

Пустой ввод является ошибкой, если не указано col.names , когда Возвращается 0-строчный фрейм данных: аналогично дается только строка заголовка, если header = TRUE дает 0-строчный фрейм данных.Обратите внимание, что в в любом случае столбцы будут логическими, если только colClasses не было поставляется.

Символьные строки в результате (включая уровни факторов) будут иметь заявленная кодировка, если кодировка - "latin1" или «УТФ-8» .

Примечание

Столбцы, обозначенные в как и colClass , включают столбец названий строк (если есть).

Есть два подхода к чтению ввода, которого нет в локальном кодирование.Если известно, что вводится UTF-8 или Latin1, используйте кодирование аргумент, чтобы объявить это. Если вход в какой-то другая кодировка, тогда она может быть переведена при вводе. Файл Кодирование аргумент достигает этого, настраивая соединение для перекодирования в текущую локаль. Обратите внимание, что в Windows или других системах, не запущенных в языковом стандарте UTF-8 это может быть невозможно.

Использование памяти

Эти функции могут использовать удивительный объем памяти при чтении. большие файлы.Подробно обсуждается в "R Data" Руководство по импорту / экспорту », дополняющее примечания здесь.

Меньше памяти будет использоваться, если colClasses указан как один из шесть атомных векторных классов. Это может быть особенно важно, когда чтение столбца, который принимает много различных числовых значений, как сохранение каждое отдельное значение в виде символьной строки может занимать до 14 раз, как много памяти как целое число.

Использование строк , даже как небольшое завышение, поможет памяти Применение.

Использование comment.char = "" будет заметно быстрее, чем чтение. Таблица по умолчанию.

read.table не подходит для чтения больших матриц, особенно те, у которых много столбцов: он предназначен для чтения кадры данных , которые могут иметь столбцы самых разных классов. Вместо этого используйте сканирование для матриц.

Список литературы

Чемберс, Дж. М. (1992) Данные для моделей. Глава 3 Статистических моделей в S редакторы Дж. М. Чемберс и Т. Дж. Хасти, Wadsworth & Brooks / Cole.

См. Также

Руководство «Импорт / экспорт данных R».

сканирование , тип. Преобразование , read.fwf для чтения f ixed w idth f или матовый вход; write.table ; data.frame .

count.fields может быть полезно для определения проблем с чтение файлов, приводящее к сообщениям о неверной длине записей (см. «Примеры» ниже).

https://tools.ietf.org/html/rfc4180 для определения IANA Файлы CSV (для которых требуется запятая в качестве разделителя и окончания строк CRLF).

Псевдонимы
  • читать таблицу
  • читать.csv
  • прочитать.csv2
  • читать.delim
  • читать.delim2
Примеры

библиотека (утилит) # NOT RUN { ## используя count.поля для обработки неизвестного максимального количества полей ## когда fill = TRUE test1 <- c (1: 5, «6,7», «8,9,10») tf <- временный файл () writeLines (test1, tf) read.csv (tf, fill = TRUE) # 1 столбец ncol <- max (count.fields (tf, sep = ",")) read.csv (tf, fill = TRUE, header = FALSE, col.names = paste0 ("V", seq_len (ncol))) разорвать связь (tf) ## "Встроенный" набор данных с использованием text = ## Обратите внимание, что начальные и конечные пустые строки автоматически обрезаются read.table (header = TRUE, text = " а б 1 2 3 4 ") #}

Документация воспроизведена из пакета utils, версия 3.6.2, Лицензия: Часть R 3.6.2

Примеры сообщества

[email protected] в 5 марта 2019 г. утилиты v3.5.2

`` heart_disease <- read.table ("https://www.kaggle.com/ronitf/heart-disease-uci#heart.csv ", header = TRUE, sep =", ", fill = TRUE) сердечное заболевание ``

[email protected] в 5 марта 2019 г. утилиты v3.5.2 [email protected] в 3 февраля 2019 г. утилиты v3.5.2 [email protected] в 3 февраля 2019 г. утилиты v3.5.2 [email protected] в 30 янв.2019 г. утилиты v3.5.2

#пример some_data <- read.table ()

[email protected] в 31 октября 2018 г. утилиты v3.5.1 [email protected] в 31 октября 2018 г. утилиты v3.5.1 [email protected] в 25 сен 2018 утилиты v3.5.1 mykytaz3216 @ aurorak12.org в 25 сен 2018 утилиты v3.5.1

#пример my_data <- read.table ("http://assets.datacamp.com/course/dasi/present.txt") мои данные

[email protected] в 6 сен 2018 утилиты v3.5.1

как перейти к следующему вопросу?

[email protected] в 6 сен 2018 утилиты v3.5.1 [email protected] в 6 сен 2018 утилиты v3.5.1 [email protected] в 6 сен 2018 утилиты v3.5.1

я не знаю что делаю

[email protected] в 6 сен 2018 утилиты v3.5.1 [email protected] в 5 сен 2018 утилиты v3.5.1 [email protected] в 27 августа 2018 г. утилиты v3.5.1

Я действительно не знаю, что происходит.

[email protected] в 27 августа 2018 г. утилиты v3.5.1 [email protected] в 27 августа 2018 г. утилиты v3.5.1 [email protected] в 28 февраля 2018 г. утилиты v3.4.3 [email protected] в 28 февраля 2018 г. утилиты v3.4.3 [email protected] в 6 ноя.2017 утилиты v3.4.1 [email protected] в 6 ноя.2017 утилиты v3.4.1 [email protected] в 6 ноя.2017 утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 31 октября 2017 г. утилиты v3.4.1 [email protected] в 4 сен.2017 утилиты v3.4.1 [email protected] в 4 сен.2017 утилиты v3.4.1 человек в 8 февраля 2017 г. утилиты v3.3.2

Во многих случаях вы можете просто передать `read.csv ()` строку, содержащую путь к файлу CSV. `` {r} cran_mirrors_file <- R.home ("doc / CRAN_mirrors.csv") cran_mirrors <- read.csv (cran_mirrors_file) str (cran_mirrors) голова (cran_mirrors) `` Это удобная оболочка для файла `read.table () `. `` {r} cran_mirrors_file <- R.home ("doc / CRAN_mirrors.csv") cran_mirrors <- read.table (cran_mirrors_file, header = TRUE, sep = ",", quote = '"', dec =". ", fill = TRUE, comment.char =" ") str (cran_mirrors) голова (cran_mirrors) ``

[email protected] в 17 янв.2017 г. утилиты v3.3.2

Во многих случаях вы можете просто дать `read.csv () `строка, содержащая путь к файлу CSV. `` {r} cran_mirrors_file <- R.home ("doc / CRAN_mirrors.csv") cran_mirrors <- read.csv (cran_mirrors_file) str (cran_mirrors) голова (cran_mirrors) `` Это удобная оболочка для `read.table ()` нижнего уровня. `` {r} cran_mirrors_file <- R.home ("doc / CRAN_mirrors.csv") cran_mirrors <- read.table (cran_mirrors_file, header = TRUE, sep = ",", quote = '"', dec =". ", fill = TRUE, comment.char =" ") str (cran_mirrors) голова (cran_mirrors) ``

Время резки для облицовки | Разработка режущего инструмента

Сравнение расчета времени резания при торцевании с постоянной скоростью резания ипостоянная частота вращения.


Наплавка трубчатой ​​заготовки. Изображение предоставлено Kennametal


Наплавка - это токарная операция, при которой заготовка обрабатывается до ее центра. Он включает перемещение режущего инструмента перпендикулярно оси вращения заготовки.

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

Следовательно, конечные пользователи сталкиваются с дилеммой: работать с постоянной скоростью или с постоянной скоростью. Один из способов рассчитать время резки для облицовки - использовать такие веб-сайты, как www.Calculatoredge.com, который предлагает бесплатные онлайн-калькуляторы для инженеров. Среди множества категорий калькулятор операций на токарном станке обеспечивает различные расчеты, в том числе время резки для торцевания. Он рассчитывает время торцевания как функцию постоянной скорости вращения, диаметра заготовки и подачи на оборот. Изображение этого калькулятора и пример расчета времени торцевания при выбранных параметрах резания показаны на Рисунке 1.



Рисунок 1.Страница калькулятора токарных операций для расчета времени резки для торцевания с сайта www.calculatoredge.com. Предоставлено Calculator Edge


Комментарии автора относительно данного калькулятора:

  • Формула для расчета времени торцевания содержит значение «Подача / Оборот», что сбивает с толку, поскольку его можно интерпретировать как подачу, деленную на оборот. Эти два слова следует заменить на fpr (подача на оборот), что является наиболее часто используемым значением.
  • Обороты задания в минуту - это неудобное определение скорости шпинделя станка, которая определяется в об / мин.
  • Требуемое время для резки указано с пятью десятичными знаками, например 1, минут в примере этой статьи. Такая точная «астрономическая» точность неоправданна. Двух (может быть, трех) знаков после запятой более чем достаточно для практической точности.

На многих современных станках с ЧПУ большинство операций, включая торцевание, программируются с использованием постоянной скорости резания, которая указывается в единицах футов в минуту в дюймовом режиме или в м / мин. в метрическом режиме. При постоянной скорости резания токарный станок с ЧПУ автоматически устанавливает правильную частоту вращения на основе следующих формул для дюймовой и метрической систем:

об / мин = 12 × sfm ÷ (π × диаметр резания в дюймах),

об / мин = 1000 × м / мин.÷ (π × диаметр резания в миллиметрах).

Профи с постоянной поверхностной скоростью

Майк Линч, президент CNC Concepts Inc., Кэри, штат Иллинойс, описал четыре преимущества постоянной поверхностной скорости в своей статье «Плюсы и минусы постоянной поверхностной скорости» (Modern Machine Shop, январь 2009 г., стр. 62, 64) .

  • Упрощает программирование. Скорость может быть напрямую указана в SFM или м / мин - единицах, используемых большинством производителей режущего инструмента для рекомендации скорости.Это избавляет от необходимости рассчитывать число оборотов в минуту.
  • Обеспечивает стабильную отделку заготовки. При использовании в сочетании с подачей на оборот (режим скорости подачи) чистовая обработка будет стабильной независимо от обрабатываемых диаметров.
  • Оптимизирует стойкость инструмента. Инструменты всегда будут работать с соответствующей скоростью.
  • Оптимизирует время обработки. Условия резания всегда будут правильно настроены, что означает минимальное время обработки.


Схема операции торцевания, где n - частота вращения шпинделя, R o - радиус заготовки в начале торцевания, R мин. - радиус заготовки, при котором шпиндель станка работает на максимуме скорость (n макс ), V c - скорость резания, а f - скорость подачи.


Автор этой статьи разработал формулу и сконструировал калькулятор необходимого времени резки при торцевании с постоянной скоростью резания. Калькулятор разработан в Microsoft Excel и доступен в дюймах и метрических единицах измерения. Таблица 1 показывает его расчетный рабочий лист (в дюймах) до ввода требуемых значений для расчета времени резки. В таблице 2 показан калькулятор после ввода значений параметров процесса и расчета времени резки.

Автор также разработал аналогичный калькулятор на постоянных оборотах.Пример расчета с использованием того же диаметра заготовки, скорости подачи и числа оборотов в минуту вместо скорости резания показан в таблице 3. Сравнение двух методов торцевания показывает, что обработка с постоянным sfm (0,98 минут) требует значительно меньше времени, чем обработка с постоянные обороты (1,90 минуты).

Терри Эшли, менеджер по обучению Walter USA LLC, Вокеша, Висконсин, предоставил следующую техническую информацию по облицовке колес из алюминиевого сплава:

  • Диаметр 15 дюймов и 17 дюймовКолеса из алюминиевого сплава являются наиболее распространенными для автомобильной промышленности, хотя есть и колеса грузовиков, которые намного больше, начиная с 19 дюймов.
  • Рекомендуемые скорости резания от 1000 до 1300 футов в минуту.
  • Обычные каналы для «красивого лица»: от 0,004 до 0,006 IPR.
  • Применяются вставки с канавками с напайками из PCD.
  • Максимальная скорость шпинделя станка мощностью от 45 до 55 л.с. составляет 3000 об / мин.
  • Okuma производит самую обычную машину для этой операции.
  • Требуются специальные зажимы.

На основании этой информации автор рассчитал необходимое время для облицовки с помощью своего калькулятора (Таблица 4.)

Если бы наплавка одних и тех же колес выполнялась при постоянной частоте вращения (эквивалентно той же скорости резания) и одинаковой скорости подачи, время резания было бы значительно больше - примерно вдвое больше (таблица 5).

.

Добавить комментарий

Ваш адрес email не будет опубликован.