Повърхности в 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