Kör g-kod i webbläsaren

Robot, CNC, Pneumatik, Hydraulik, mm
dagrende
Inlägg: 70
Blev medlem: 12 februari 2009, 22:37:12
Ort: Spånga

Kör g-kod i webbläsaren

Inlägg av dagrende »

För drygt ett år sen lekte jag lite med 3D-programmering i webbsidor. Jag funderade på om man skulle kunna simulera en fräs och se hur den äter sig igenom ett arbetsstycke.

Här är resultatet.

Bild

Det är ett proof-of-concept och duger inte för proffsjobb. Den klarar bara enkla g-koder men är lätt att utöka med flera. Ett fel i solid-operationsbiblioteket gör att den skapar onödigt många polygoner, vilket kan göra att programmet storknar med för stor kod. Börja med att köra det kodexempel jag lagt in i rutan. Berätta gärna om den krashar och vilken kod ni körde då.
Jag har bara testat i webbläsaren Chrome och Firefox. Det krävs troligen någon form av grafikkort i datorn, men det har de flesta datorer idag.

Allt körs inne i webbläsaren, och är skrivet i språket javascript. Koden är ganska enkel eftersom jag använder diverse färdiga bilbiotek för 3D, solid-operationer och formulär (three.js, CSG, Angular.js, JQuery). Det ligger en länk till koden längst ner på introsidan.
Om datorn blir lite varm beror det på att grafikprocessorn måste jobba rätt hårt när man "fräser".

Kicka på http://dagrende.github.io/gsim/ och testa!
Senast redigerad av dagrende 28 augusti 2014, 07:36:37, redigerad totalt 1 gång.
X-IL
EF Sponsor
Inlägg: 8479
Blev medlem: 3 december 2008, 07:47:20
Ort: Hallstahammar

Re: Kör g-kod i webbläsaren

Inlägg av X-IL »

Stiligt, jag ska testa lite med egen (CAM-genererad) g-kod när jag är hemmavid sen.
Nerre
Inlägg: 27192
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Kör g-kod i webbläsaren

Inlägg av Nerre »

Bara några spontana tankar.

Varför blir ytan på arbetsstycket förändrad bara för att man fräser? Är det "brister" i 3D-biblioteken? Jag fick lustiga "stjärnmönster" på ytan.

Spontant så är väl "pocketfräsning" inte det mest intressanta att ha som default-exempel, vore roligare med kod som fräste ytterkonturer.

Och det vore roligare att se varje skär växa fram, nu verkade de ploppa fram vilket ger en lite dålig "känsla" för att det fräses ut.
dagrende
Inlägg: 70
Blev medlem: 12 februari 2009, 22:37:12
Ort: Spånga

Re: Kör g-kod i webbläsaren

Inlägg av dagrende »

Jo det är buggen i solidbiblioteket som du ser spöka. Jo det vore kul att simulera skärens tag i materialet. Det är helt möjligt, om man haft tid...

Först tänkte jag maila en länk till han som skrivit solid-biblioteket och se om han kan fixa buggen.

Jag simulerar inte skärets hastighet, utan för varje g1 plockar jag bort ett rätblock med en halvcylinder i vardera änden.
Nerre
Inlägg: 27192
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Kör g-kod i webbläsaren

Inlägg av Nerre »

Jag menade alltså inte att varje spåna ska simuleras (inser att det kan tolkas så) men att man så att säga ska se hur fräsen rör sig genom materialet.

Nu blev det ju lite trist att köra Run för det sa "plopp" och så var biten klar liksom.
dagrende
Inlägg: 70
Blev medlem: 12 februari 2009, 22:37:12
Ort: Spånga

Re: Kör g-kod i webbläsaren

Inlägg av dagrende »

Var glad att du har en snabb dator!
Man ser "fusket" bäst genom att stega fram med Step-knappen.
Det är inte särskilt svårt att simulera rörlsen bättre. Om jag får en ny version av solidbiblioteket, så kan jag fixa det.

Sen vore det kul med ett sätt för alla att skapa egna g-kods-program och få en speciell länk, som man kan publicera så att alla kan provköra dem i simulatorn. T ex konturfräsning som du föreslog.
Detta vore inte så svårt, men en sak i taget :) .
Nerre
Inlägg: 27192
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Kör g-kod i webbläsaren

Inlägg av Nerre »

Skulle det gå att rita verktyget också? Det kan ju vara en "oändligt" lång cylinder som kommer ner bara. För nu syns väl inte Z-rörelser?

(Kanske blir svårt att rendera ett oändligt långt verktyg.)
dagrende
Inlägg: 70
Blev medlem: 12 februari 2009, 22:37:12
Ort: Spånga

Re: Kör g-kod i webbläsaren

Inlägg av dagrende »

Jo pinnfräsen syns inte nu, men skulle kunna synas. Den är inte oändligt lång :). Den har sin botten i nivå med arbetsstyckets översida (om jag minns rätt).
Nerre
Inlägg: 27192
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Kör g-kod i webbläsaren

Inlägg av Nerre »

Jag menade "uppåt" alltså, själva skaftet, var lite otydlig där:)

Men längden kan ju vara dubbla tjockleken på ämnet kanske, så det det nog vettigt ut även där man fräser ända ner till bottnen.
dagrende
Inlägg: 70
Blev medlem: 12 februari 2009, 22:37:12
Ort: Spånga

Re: Kör g-kod i webbläsaren

Inlägg av dagrende »

Man kan ju antingen visa en bit ovanför arbetsstycket, eller ta med skärets längd i verktygslistan.
Min plan var att man skulle kunna defiera verktygets form själv - t ex med en profil. En pinnfräs blir då två linjer i rät vinkel och en fullradiefräs en vertikal linje som slutar med en kvartscirkel i nederkanten osv.
Nerre
Inlägg: 27192
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Kör g-kod i webbläsaren

Inlägg av Nerre »

Ja, det låter ju ännu bättre. Men jag tänkte lite på att det kan ju bli problem med renderingen om man fräser nåt som inte går (t.ex. om fräsen är kortare än fräsdjupet).
dagrende
Inlägg: 70
Blev medlem: 12 februari 2009, 22:37:12
Ort: Spånga

Re: Kör g-kod i webbläsaren

Inlägg av dagrende »

Frågan är hur mycket simulatorn skall göra. Skall man verkligen "validera" g-koden, så finns det ju mängder med andra saker som är omöjliga eller dåliga i praktiken. Jag tror det är bäst att denna simulator bara visar det som den är bäst på - en visualisering av det resultat som teoretiskt skulle bli om man har vettig kod.
Nerre
Inlägg: 27192
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Kör g-kod i webbläsaren

Inlägg av Nerre »

Validerar koden är väl vad man gör själv när man kör den genom simulatorn? :) D.v.s. man ser om resultatet blir som man tänkt sig. Sen kan ju inte simulatorn veta om skärhastigheten är för hög eller såna grejer.
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1353
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: Kör g-kod i webbläsaren

Inlägg av baron3d »

Har du använt "Marching cubes"?
dagrende
Inlägg: 70
Blev medlem: 12 februari 2009, 22:37:12
Ort: Spånga

Re: Kör g-kod i webbläsaren

Inlägg av dagrende »

Kul namn på en algoritm!

Vet inte. Jag har tagit solid-geometri-koden här: http://www.chandlerprall.com/2011/12/co ... -three-js/, som är baserad på http://evanw.github.io/csg.js/
och algoritmen beskrivs i detalj i http://evanw.github.io/csg.js/docs/
Skriv svar