Перейти к публикации

Программа фрезерования полусферы по спирали сверху вниз


DJ Astro

Рекомендованные сообщения

Всем читающим, доброго времени суток!

Вот такой вопрос...

Оператору (станочнику, наладчику, программисту) какой квалификации под силу самостоятельно сварганить такую программу?

 

5ad354e0937e1792f51f24f6eafb106e.jpg

 

 

 

 

0 BEGIN PGM sphere MM
1 BLK FORM 0.1 Z X-30 Y-30 Z+0
2 BLK FORM 0.2 X+30 Y+30 Z+30
3 TOOL CALL 1 Z S3000
4 FN 0: Q10 =+30 ;R sphere
5 FN 0: Q1 =+0 ;current angle to go deep
6 FN 0: Q2 =+1 ;step depth in degree
7 FN 0: Q3 =+1 ;segment degree
8 FN 4: Q4 =+90 DIV +Q2 ;number cuts
9 FN 4: Q5 =+360 DIV +Q3 ;number segments
10 ;
11 L X+0 Y+0 Z+Q10 R0 F5000
12 FN 0: Q15 =+0
13 FN 0: Q22 =+0
14 FN 0: Q8 =+Q10
15 FN 0: Q11 =+Q1
16 ;
17 LBL 2
18 Q6 = Q10 * COS Q1 - Q10 * COS ( Q1 + Q2 ) ;depth per rev
19 FN 4: Q7 =+Q6 DIV +Q5 ;step depth per segment
20 ;
21 LBL 1
22 Q1 = Q1 + ( Q2 / Q5 ) ;current angle
23 Q22 = Q10 * SIN Q1 ;current radius-vector
24 FN 1: Q15 =+Q15 + +Q3
25 Q23 = Q22 * COS Q15 ;X
26 Q24 = Q22 * SIN Q15 ;Y
27 L X+Q23 Y+Q24 Z+Q8 R0
28 FN 2: Q8 =+Q8 - +Q7
29 FN 2: Q55 =+Q5 - +1
30 CALL LBL 1 REPQ55
31 Q8 = Q10 * COS Q1
32 FN 2: Q44 =+Q4 - +1
33 CALL LBL 2 REPQ4
34 END PGM sphere MM

 

Ссылка на сообщение
Поделиться на других сайтах


Ты про себя? Да, тогда очень высокая нужна квалификация. А так - в пределах средней школы, для отличающих синус от косинуса.

Ссылка на сообщение
Поделиться на других сайтах

operatoru eto ne po silam

А так - в пределах средней школы, для отличающих синус от косинуса.

 

Толковый оператор должен же отличать синус от косинуса или нет? ))) 

Ссылка на сообщение
Поделиться на других сайтах

В прошлом тысячелетии, когда я работал в ЦАГИ, один начальник цеха подвел меня к оператору станка, и знакомя нас сказал мне: "Ты с этим оператором повежливее будь, он очень грамотный. Он знает, что такое ТАНГЕНС!"

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

Моя критика к программе:

1. не учтена форма и размер инструмента

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

3. из-за большого количества вычислений станок будет "подтормаживать"

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

Ссылка на сообщение
Поделиться на других сайтах
А так - в пределах средней школы, для отличающих синус от косинуса.

 

 

 

Уже столько лет прошло… А я всё жду.
Когда? Ну когда же, блин, пригодятся в жизни синусы и косинусы?!!

 

Ссылка на сообщение
Поделиться на других сайтах

В прошлом тысячелетии, когда я работал в ЦАГИ, один начальник цеха подвел меня к оператору станка, и знакомя нас сказал мне: "Ты с этим оператором повежливее будь, он очень грамотный. Он знает, что такое ТАНГЕНС!"

:biggrin:  :biggrin: 

 

Моя критика к программе:

1. не учтена форма и размер инструмента

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

3. из-за большого количества вычислений станок будет "подтормаживать"

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

1. со сферической фрезой - +1 параметр, с радиусной кромкой - +пару доп. синусов-косинусов :rolleyes: 

2. как сюда дугу воткнуть? Z же меняется...

3. если сильно мелкий шаг задать, то даже в test-mode тормоза жуткие :biggrin:

 

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

Ссылка на сообщение
Поделиться на других сайтах

Хорошо, что Вы позитивно относитесь к критике. Я не стал повторяться, как сказал уважаемый alex0800 и другие форумчане, что программа достойная. 

Примите мой респект.

Ссылка на сообщение
Поделиться на других сайтах

ja zanimaus cnc s 1970 goda 

i otnoshenie k urovnu znanii operatora rezko pomenjalos s prichodom na zavodi stoek  nc31-1/2r22/2c61/2c-65 / i drugich

gdeto do 1975-76 goda govorili chto na cnc mogno obuchit 8 klasnika i on budet rabotat 

no s prichodom bolee razvitoi techniki nachali stavit na stanki technikov i na bollee krutie stanki ingenerov

chto privelo k uvelecheniu rezkomu proizvoditelnosti stankov za chet sokracheni vremeni naladki i bolee bistrogo programirovanija

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Всем привет!Программка на сферу поразила!Достойно и просто на первый взгляд.

Пол дня маялся,но так до конца и не разобрался...Решил зарегестрироваться и попросить расписать более конкретно строки программы.Т.е."Разжевать":).

На heidenhaine уже 6 лет,но с написанием такого типа программ не сталкивался.Пару раз обрабатывали обратную сферу,но программу на каме писали.Если сложные контуры то в смарте.

Очень хочется понять и научиться писать такие программы!Не для работы,а для собственного развития:)!

Ссылка на сообщение
Поделиться на других сайтах

Решил зарегестрироваться и попросить расписать более конкретно строки программы.Т.е."Разжевать":).

 

 

Всё довольно просто.... если представить сферическую систему координат :)

 

c7bc22c20b3add6cbcb8c416d116bd9a.jpg

 

 

0 BEGIN PGM sphere MM

1 BLK FORM 0.1 Z X-30 Y-30 Z+0

2 BLK FORM 0.2 X+30 Y+30 Z+30

3 TOOL CALL 1 Z S3000

4 FN 0: Q10 =+30 ;R sphere

5 FN 0: Q1 =+0 ;угол текущего слоя спирали (меняется от 0 до 90 за время работы программы)

6 FN 0: Q2 =+1 ;шаг спирали по сфере (в градусах)

7 FN 0: Q3 =+1 ;шаг по окружности внутри одного витка спирали (в градусах)

8 FN 4: Q4 =+90 DIV +Q2 ;вычисляем кол-во витков спирали

9 FN 4: Q5 =+360 DIV +Q3 ;вычисляем кол-во отрезков в одном витке

10 ;

11 L X+0 Y+0 Z+Q10 R0 F5000 едем в нач точку

12 FN 0: Q15 =+0 

13 FN 0: Q22 =+0

14 FN 0: Q8 =+Q10 ; задается, чтобы не "портить" исходные данные

15 FN 0: Q11 =+Q1 ; задается, чтобы не "портить" исходные данные

16 ;

17 LBL 2

18 Q6 = Q10 * COS Q1 - Q10 * COS ( Q1 + Q2 ) ;вычисляем шаг текущего витка спирали по Z в мм, т.к. на каждом витке он разный

19 FN 4: Q7 =+Q6 DIV +Q5 ;step depth per segment ;вычисляем смещение по Z на каждом отрезке из одного витка спирали

20 ;

21 LBL 1

22 Q1 = Q1 + ( Q2 / Q5 ) ;вычисляем текущий угол от вертикальной оси сферы для текущей точки

23 Q22 = Q10 * SIN Q1 ;вычисляем радиус сечения сферы на текущем уровне Z для текущей точки

24 FN 1: Q15 =+Q15 + +Q3 угол следующей точки в текущем витке

25 Q23 = Q22 * COS Q15 ;X координата текущей точки

26 Q24 = Q22 * SIN Q15 ;Y координата текущей точки

27 L X+Q23 Y+Q24 Z+Q8 R0 едем в найденную точку

28 FN 2: Q8 =+Q8 - +Q7 ; вычисляем Z для следующей точки одного витка

29 FN 2: Q55 =+Q5 - +1 ; кол-во повторов вычислений в зависимости от кол-ва отрезков в каждом витке

30 CALL LBL 1 REPQ55 ; возвращаемся к LBL1, и так пока не пройдем один виток спирали

31 Q8 = Q10 * COS Q1 ; вычисляем новую Z для следующего витка спирали и с этими данными...

32 FN 2: Q44 =+Q4 - +1 ; кол-во повторов вычислений в зависимости от кол-ва витков спирали

33 CALL LBL 2 REPQ4 ; ...переходим на LBL 2 к повторению расчетов нового витка спирали

34 END PGM sphere MM

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...