Повърхности в RVE

Това е съпровождащо описание към програмата RVE .
Касае само изработването на G-Code.
Поначало RVE е програма за плоско рисуване.
По-долу обаче са описани няколко начина, по които от плоската рисунка, RVE изработва 3D код за гравиране на не плоски повърхности.

*Забележка:
Изразът "Изработване на G-code" означава последваща CNC-обработка с механичен привод. Програмните процедури в тази статия са само геометрично помагало към действителен режещ процес. Сами си носете отговорността от работата. Има особености, за които не се казва нищо. Написаното тук е базирано на опит с машинна резолюция (стъпка), не по-добра от 13 микрона.

Равнини и повърхности
Преходът от 2D към 3D предполага, че всяка плоска рисунка лежи в равнината XY от декартова координатна система.
В това изложение се приема, че режещия инструмент се върти винаги около вертикална ос, тоест около ос успоредна на Z. Такава е машината с която работя, тя е прост и популярен модел. Така, че плоската рисунка се проектира вертикално върху друга, неплоска повърхност, в която Z е еднозначна функция на XY.
Когато RVE произвежда G-Code файл (това е текстов файл разширение .TAP), в началото на TAP-файла има две линии от вида:
"#510=2"
"#511=-3"
Тези линии са указания към CNC-интерпретатора. Ако шпинделът се движи на свободен (тоест бърз) ход, първо се издава команда "G0 Z#510", при което машинната програма (в моя случай Mach3) вдига инструмента на височина 2 мм (затова #510=2) над нивото Z=0 и тогава предприема бързото преместване. Ако инструментът реже, се предполага ниво #511 (тоест минус 3 мм по скалата на Mach3) - понякога наричано нулево ниво - което съответствува на команда "G1 Z#511". Двете линии по-горе са в началото на G-code файла, за да бъдат удобно променяни преди всяка машинна операция. Плоските кодове са подходящи за рязане и плоско гравиране (за което Z-нивото остава постоянно). Ако обаче искаме Z да варира по време на работа, трябва да ползваме някой от описаните по-долу начини за излизане

Извън XY равнината
Всички те се намират в главното меню, "Команди" - "G-Code utils" - "Повърхност".
Засега (края на 2013) има няколко вида повърхности, върху които RVE може да проектира рисунката.
1. Наклонена равнина.
2. Правилна пирамида.
3. Цилиндър.
4. Сфера.
5. Елипсоид.
6. Цвят - цветните тонове се тълкуват като Z-нива.
Във всеки от описаните по-горе случаи програмата ще иска указания за да построи посочения вид повърхност.
Едно от тези указания винаги е стъпка.
Тези шест повърхности са подложка, въху която ще бъде проектирана рисунката от редактора при "Износ"-"G-code" от главното меню. Обаче има два специални спираловидни растера, които се генерират автоматично, без рисунка. Те са:
- Спирала - полусфера;
- Спирала - правилна пирамида.
При тези два случая се излъчва направо G-Code файл, който спазва настройките указани в точки 4 и 2 от горните пет повърности.

Наклонена равнина
Освен за общо ползуване, тази опция е подходяща и за корекция на закрепването. Ще поясня. Когато закрепваме някакъв материал към работната маса, колкото и да се стараем, може да остане наклон - обикновено части от милиметъра и това създава неудобства. Ако използуваме наклонена равнина, компенсираме наклоненото закрепване на материала - поне в първо приближение.
Наклонът се определя от две точки. Едната е нулевата точка, а другата се задава ръчно.
Погледнете Фиг.1. Отсечката с пунктир OP определя наклонена равнина по следния начин:
OP пробожда равнината Z=0 в точка О и равнината Z=z в точка P.
През точка O и през точка P построяваме две успоредни прави - на фигурата 1 и 2 в син цвят - такива, че да са перпендикулярни на отсечката OP и заедно с това да лежат в равнини успоредни на XY. Това е възможно по един-единствен начин. Тези две прави, както и отсечката OP, лежат на въпросната наклонена равнина. Може да изглежда сложно на думи, но на практика това задаване е удобно.
Когато включим опцията "наклонена равнина", програмата ще поиска да въведем ръчно линия от вида:
x20000, y5000, z-5000, s62
В тази линия x y z са координатите на точка (точка P според Фиг.1) - в микрони, а s е стъпка (по подразбиране стъпката е 62 микрона).

Правилна пирамида
Основата е правилен многоъгълник. Остава да бъдат зададени броя страни, радиуса на описаната окръжност (виж фиг.2 - Radius) и координатите на върха. Височината е означена като TOP-Z. Този вид повърхност вътре в програмата се свежда до поредица наклонени равнини, описани по-горе. Върхът на пирамидата е при нулево ниво на Z.
Ако поискаме спираловиден растер, ходът на инструмента ще започне от основата на пирамидата и ще описва стесняваща се спирала към върха. В този случай програмата ще попита до какъв радиус да стеснява спиралата.
Но пресечените пирамиди се получават, като нагласим нулевото Z-ниво да е над горната страна на обработвания предмет. В този случай машината трябва да бъде спряна ръчно, след като инструментът се вдигне над предмета.
Когато увеличаваме броя страни, всяка страна става все по-малка и при стъпковата граница, тази повърхност се превръща в конус.

Цилиндър
Оста на цилиндъра винаги е успоредна на равнината XY (извинявам се за това ограничение, но засега е така). и сключва зададен ъгъл A с оста X. Радиусът се задава явно.
Оста на цилиндъра се определя от една 3D точка и ъгълът A.
Когато включим тази опция, програмата ще поиска да въведем текстова линия от вида:

A0, X0, Y0, Z-25000, R25000, S62

X Y Z са координати на една точка, през която минава оста на цилиндъра. S е стъпка. Числото A е в градуси, всички други са микрони.
Оста на цилиндъра сключва ъгъл A с оста X. Ако Z-координатата на зададената точка е колкото радиуса на цилиндъра, то горната част на цилиндъра ще де допира до нулевото Z ниво от равнината XY. На Фиг.3 е изобразен такъв случай. На рисунката цилиндърът е цял, но верикалната ос на шпиндела - еднозначна функция Z(x,y) - предполага, че се използува само едната половина от цилиндъра. Тази половина може да е горна,или долна в зависимост от Z-координатата на зададената точка.

Сфера
Сферата се определя от една централна 3D точка и радиус.
Когато включим тази опция, програмата ще поиска да въведем текстова линия от вида:

X0, Y0, Z-25000, R25000, S62

Трите числа ще са координати на центъра C(x,y,z). Отново, използува се само едната половина от сферата. Тя ще е горна, ако точката C е под нулевата точка и така повърхността ще е изпъкнала. Ако центърът е над нулата, повърхността ще е вдлъбната.
Когато е включена сфера, е възможна автоматична генерация на спираловиден растер.
В този случай спиралата ще покрие само част от сферата, зададена по ъгъл a (виж Фиг.4). Програмата ще попита колко да бъде този ъгъл в градуси и ще направи спирален G-code ход за инструмента. Спиралата започва отвън и се стеснява навътре.
Спиралните ходове за чиста полусфера и пирамида са по-удачни от линейни растери, защото стават с непрекъснат ход на инструмента и така имаме повърхност с един недостатък по-малко.

Елипсоид
Елипсоидът има три полуоси. Да ги наречем Rx,Ry,Rz.
Формата му се определя от тяхното съотношение.
В нашия случай се приема, че Rz=1, а останалите две Rx и Ry се пресмятат по два зададени коефициента.
Виж Фиг.5 вдясно.
Когато включим тази опция, програмата ще поиска да въведем текстова линия от вида:

A2.3, B0.75, X0, Y0, Z-10000, R10000, S62

Трите числа X0, Y0, Z ще са координати на центъра C(x,y,z). R е относителния радиус за пресмятане на трите полуоси.
S е стъпка.
Всички числа са микрони. Както по-горе, използува се само едната - горна, или долна половина - от елипсоида.
Според сегашната версия на програмата, са разрешени само елипсоиди с оси успоредни на машинните XYZ-оси.

Цвят
Тази опция придава z-координата на изнесените G-code линии съобразно цвета, който е видим на екрана.
Не е задължително цвета да произлиза от обектите, които се изнасят. За да изчисли z-координатата, програмата предварително построява цветен образ (какъвто се вижда с бутона-око) и при всяка стъпка снема интезитета на цвета от този образ. RGB-характерът на компютърните картинки ограничава за всеки основен цвят не повече от 255 степени. Следователно такава линия може да варира по Z само с 256 нива. Ако гравировката е дълбока 3 мм, разстоянието между нивата е приблизително една машинна стъпка (1.2 стотни от милиметъра).
Да приемем, че образът е детелината от Фиг.6 - вдясно. Със синя линия е означен хода на инструмента, в случая това е движение по оста X. Под нея със жълт цвят е изобразен същия ход - погледнат от края на оста Y.
Z-координатата на този ход следва цвета от рисунката. Ако цветът е тъмен, z слиза до нулево ниво. Ако цвета е ярък (бял), z е максимално високо.
Когато включим опцията за цвят, програмата ще поиска текстова линия от вида:

R1, G1, B1, Z1000, S62

Eдинииците пред буквите са относителни тегла за RGB-съставките от прочетения пиксел.
Ако всички са единици това е сива скала от 0 до 255. Картинката на фиг.6 е правена при R0, G1, B0, за да бъде следен само зеления цвят.
Тегловните RGB-коефициенти трябва да са реални числа между нула и единица. Z-обхватът е в микрони, S е стъпка в микрони.

*Подводен камък:
Растерите, които често се ползуват при G-code генерация се правят с гъстота едно върху диаметъра на фрезера.
Така се постига плътен ход и добър резултат. За да илюстрира това, програмата автоматично слага дебелина на растерните линии, колкото е диаметъра на очаквания фрезер. Обаче за да работи цветна z-координата, на екрана трябва да се вижда цвят, а не линия. В този случай насила трябва да премахнем дебелината на растерните линии (трябва да установим нулева ширина на линията).


03.01.2014

Начална страницана за RVE