CNC-foorumin tukeminen on helppoa! Myös webbipalveluiden hinnat nousevat ja CNC-tekniikka.com kaipaa pitkästä aikaa hieman sponsorointia, jotta into ja kyky foorumin ylläpitoon säilyvät. Saattavat pienistä lahjoituksista jopa lisääntyä.
Maksu onnistuu PayPalin kautta myös kortilla
Konemies on erityisen iloinen juuri silloin, kun hän kuulee uusien Eurojen kilahtelevan typötyhjän kassalippaan peltiselle pohjalle. Kaunis kiitos siitä!

CAM-ohjelmointia (tee se itse C++/Python jne. ei heikkohermoisille :)

Aloittaja awallin, 21.03.10 - klo:22:17

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

awallin

Herätin henkiin pari vuotta sitten aloitetun CAM-algoritmi projektin.

Tarkoitus on tehdä C++ kirjasto jota voi kutsua Pythonista jolla voi laskea ratoja nyt ensin 3-akseliselle jyrsimelle mutta jatkossa myös sorville ja ehkä 4/5 akselisille koneille myös.
Ensimmäinen rata-tyyppi on viimeistelyrata, tämäntapainen:
http://www.youtube.com/watch?v=5eci8wSmeGM

Kirjastolla ei ole graafista käyttöliittymää suoraan, sitä on käytettävä Pythonin kautta, tai se on integroitava johonkin olemassaolevaan CAD/CAM-ohjelmaan. HeeksCNC on yksi vaihtoehto: http://code.google.com/p/heekscnc/

Mikäli laskennallista geometriaa, C++:aa ja Pythonia taitavia, tai oppimishaluisia, löytyy niin koodia ja projektia voi ihmetellä tuolla:
http://code.google.com/p/opencamlib/

Kun tuosta saadaan ensimmäinen raakaversio kunnolla toimimaan HeeksCNC:ssä niin ihan normaali käyttäjät voivat myös antaa arvokasta palautetta ja/tai raportoida bugeja yms.

AW

Jussik

Terve

Näyttää todella lupaavalta.
Kumpa olisi aikaa tutustua, kaikki ylimääräinen aika mikä töiden ohesta jää, menee nyt optiikan opiskeluun. Tai siis mennyt jo viimeisen puolivuotta.


Onko tulossa tuohon 2D ja 2,5D cam ominaisuuksia, taskujen jyrsintä, profilointi jne..?
Millaista geometriaa lukeen nykyisin sisälle?
Mitä luvassa?

Hienoa, tuosta voi tulla ensimmäinen kunnon open source cam.

awallin

Lainaus käyttäjältä: Jussik - 22.03.10 - klo:11:35
Onko tulossa tuohon 2D ja 2,5D cam ominaisuuksia, taskujen jyrsintä, profilointi jne..?
Millaista geometriaa lukeen nykyisin sisälle?
Mitä luvassa?

HeeksCNC:hen on muita lisäpalikoita joilla voi tehdä 2D-ratoja.
http://code.google.com/p/libarea/
käsittääkseni tuo on ihan geometriaan perustuva, en tiedä miten hyvin toimii mutta screenshotit näyttävät OKlta.

Löytyy myös kehittyneempi libactp
http://code.google.com/p/libactp/
tämä on kai varhainen versio freesteel-kavereiden koodista. Eli idea on mallintaa radan laskennan yhteydessä kokoa ajan aihion muotoa jolloin voi jyrsiä aina järkevän siivun pois eikä työnnetä väkisin terää täysillä aihioon tms. Freesteel blogi on tuolla: http://www.freesteel.co.uk/wpblog/frontpage/
Nämä kaverit tekevät HSM-ratoja laskevaa koodia jota myydään Cimco:n kautta MasterCAM:in lisämodulina.

Seuraavaksi varmaan "vesilinja" tai "z-slice" nimellä tunnettuja ratoja, eli sellainen missä työkalun Z-koordinaatti on vakio ja liikutaan xy-tasossa kiertäen kappaleen reunaa. Nämä ääriviivat voivat tietysti olla 3D kappaleen 2D/2.5D rouhinnassa myös lähtökohtana.

Toinen iso juttu mikä pitäisi saada toimimaan on jyrsinnän simulointi. Eli 3D näkymä jossa on aihio ja näkyy miten tietty rata toimii ja voisi ehkä jopa mitata toleransseja eli miten hyvin jyrsitty kappale on CAD-mallin mukainen.

Sissänmeno-data on tällähetkellä hyvin yksinkertaista: pisteitä, viivoja, ympyrän kaaria, ja pinnat kolmioina.
DWG, DXF, IGES, STEP tms. tiedostojen lukeminen ja tulkkaaminen jää kyllä tämän kirjaston tehtävien ulkopuolelle...

Kehitystä voi seurata minun blogista:
http://www.anderswallin.net/category/cnc/cam/
ja/tai heekscnc:n kehittäjän Dan Heeksin blogista:
http://heekscnc.blogspot.com/

itselläkin riittää muita töitä ja projekteja mutta aina kun on inspiraatiota ja aikaa koodata niin yritän uusia ominaisuuksia tuohon lisätä.

AW

Jussik

Kokeilin tuosa heeksCAMiä, mutta näin pikaisella kokeilulla en ainakaan heti
päässyt siihen sisälle.

Jotain positiivistä siinä ainakin oli eli lukee nämä perus step iges dxf ym sisälle.
Vieläkun se tuosta kehittyy enemmän käyttäjä ystävälliseksi niin hyvä tulee.

awallin


tuossa jotain esimerkkejä viimeistelyradoista mitä nyt pystyy tekemään:
http://www.anderswallin.net/2010/04/drop-cutter-examples/

tästä hieman aikaisempi versio löytyy nyt HeeksCNC:stä, ja viimeisin bugifixattu tulee kunhan Mr. Heeks ehtii...

AW

awallin

jyrsinnän simulointia
http://www.youtube.com/watch?v=9sctWgd_5rs

tällähetkellä tuo toimii OK, mutta on melko hidas. Käyttää octree tietorakennetta, eli kuutio jaetaan 8kpl kuutioon joka jaetaan 8kpl kuutioon jne.
http://en.wikipedia.org/wiki/Octree
Joka liikkeelle lasketaan puu sille tilavuudelle joka terä leikkaa pois, ja tämää "miinustetaan" aihion puusta.
Tämä miinus operaatio on sinänsä tarpeeksi nopea, mutta terä-puun laskeminen on nyt liian hidasta (1s karkealla mallilla, 5-6s sellaisella resoluutiolla mikä voisi olla hyödyllinen).

jos tuohon puun rakentamiseen keksisi jotain nopeuttavaa ideaa niin tuosta voisi tulla ihan hyödyllinen.

AW


awallin


Seuraavaksi tarkoitus olisi saada tällaiset "vesilinja", tai z-slice radat laskettua. Tässä ensimmäisiä kokeiluja:

awallin

vesilinjat toimivat nyt jotenkin:


ja tässä viimeisin koneistus-simulaatio kokeilu
http://www.youtube.com/watch?v=1DAvgLCj_RQ

awallin

Hieman päivitystä tähän, pitkästä aikaa.

Viimeaikoina tuntuu että HeeksCAD/CNC innostus on hieman laantunut (Dan Heeks tekee kaupallista softaa eikä ehdi ylläpitää/kehittää ilmaisversiota). 2D piirtämiseen LibreCAD on kehittynyt hyvin viimeaikoina, ja "release"eja tulee OK tahtiin. http://librecad.org
3D piirtämiseen FreeCAD on ilmeisesti paras avoin vaihtoehto tällähetkellä, vaikka sekin kovasti kehitysvaiheessa.
http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page
FreeCAD:ssä on python rajapinta, joten suurin osa HeeksCNC:ssä toimivista scripteistä voidaan periaatteessa siirtää. Dan Falck on ollut aktiivinen: http://opensourcedesigntools.blogspot.com/

Oma CAM-kirjastojen kehitys on nyt jaettu kolmeen osaan:
1. Opencamlib jossa on 3D ratojen laskentaa. https://github.com/aewallin/opencamlib
-- zigzag-tyylinen viimeistelyrata on toiminut jo pitkän aikaa stabiilisti, esim: http://www.youtube.com/watch?v=SjUJYmrdbAw
-- vesilinja-rata vaatii kehitystyötä. esim: http://www.anderswallin.net/wp-content/uploads/2010/08/waterline_tux1.png
-- idea "constant-step-over" radalle on, mutta ei vielä toteutettu (kts esim: http://www.graphics.rwth-aachen.de/typo3temp/pics/214d490a5a.png)
-- idea "pencil milling" radalle on, mutta ei vielä toteutettu (http://en.wikipedia.org/wiki/Pencil_milling)

2. OpenVoronoi eli 2D-ratojen lasku, https://github.com/aewallin/openvoronoi
-- voronoi-diagrammaa voi käyttää moneen eri tarkoitukseen 2D ratoja/algoritmeja varten.
-- Esim "v-carving" radat: http://www.payne.org/index.php/File:IMG_0781.jpg
-- ja perus 2D offset radat: http://www.anderswallin.net/wp-content/uploads/2012/01/a_offset.png
-- poraus-ratojen optimointi (minimoidaan pikaliikkeiden matka) jne

3. Cutsim, eli leikkaus-simulaation (https://github.com/aewallin/cutsim)
-- Tämä vaatisi enemmän OpenGL-osaamista (peliohjelmoijat!) kuin mitä olen ehtinyt opiskella.
-- Käyttää EMC2-projektin G-koodi tulkkia.
-- parhaassa tapauksessa tämä saataisiin integroiduksi kiinteäksi osaksi EMC2:ta.


Anders

ftec

Morjens Anders!

Mielenkiintoista juttua sinulla. Itseä on ruvennut kiinnostamaan aihe sitä myöten kun harmitus kasvaa käyttöliittymältään typeräksi kokemaani CAM softaani RhinoCAM Pro:ta käyttäessä.

Mistähän kannattaisi aloittaa jos haluaa päästä sisälle aihealueeseen? Ensimmäiseksi pitäisi varmaan saada tajuntaan miten 3D malli rakentuu ja miten niitä koodataan. Olisiko sinulla ehdottaa jotakin hyvin helppoa OS sorsaa aiheesta, joka kääntyisi Win-puolella mikkisoftan ilmaisella C++ 2010 Expressillä, ja josta pääsisi alkuun?

t.
/Risto

awallin


Luulen että FreeCAD:stä voi kehittyä vielä vaikka mitä.
Windowsille näyttää löytyvän valmiiksi käännetty paketti. Itse kääntäminen vaatii varmaan hieman perehtymistä ja mahdollisesti maksullisen visual-studion:n (tai ilmaisen cygwin/gcc ympäristön?)
Tuolta: http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Download

FreeCAD:iin voi itse luoda omia plugin:eja tai työkaluja pythonilla. Dan Falck:n kokeiluja kannattaa katsoa, ja yrittää itse samaa. Olisin itsekin kiinnostunut esim perus 3D parallel-finish ratojen tekemisestä freecad:ssä. Tämä onnistuu kunhan löytyy joku rajapinta jonka kautta CAD-malli saadaan kolmioina (kaarevat pinnat kolmioitu tietyllä toleranssilla) python-scriptiin, kutsutaan opencamlib:iä pythonin kautta (minulla on monia esimerkkejä), ja sitten saadaa työstörata takaisin freecad:iin sopivassa muodossa (ja mahdollisesti samalla G-koodina tekstitiedostoon).

2D pocketing-ratoja voisi yrittä HeeksCNC:tä varten kehitetyllä libarea:lla, tai sitten kun saan oman OpenVoronoi-kirjaston stabiiliksi+toimivaksi niin sillä.

Yleensä suurin osa kehittäjistä käyttää Ubuntu:a koska siellä kääntäjät ja kehitystyökalut on helposti saatavilla. Mutta kyllä yleensä kaiken pitäisi kääntyä myös Windowsille - tosin asiantuntevaa ohjeistusta voi olla vaikeampi saada..

Jos ehdin joku päivä perehtyä freecad:in python-skriptaukseen niin laitan blogiin ja/tai tänne tarinaa.

Anders

maula

Lainaus käyttäjältä: awallin - 01.02.12 - klo:19:58
Luulen että FreeCAD:stä voi kehittyä vielä vaikka mitä.

Anders

Samaa mieltä. Olen sitä aika-ajoin kurkkinut kiinnostuneena. Se löytyy suoraan Ubuntun (LTSP) repoista jos joku tahtoo kurkata sitä. Ubuntuun sitä ei tarvitse alkaa kääntää.

ftec

Hienoa, kiitti! Linuxissa on vaan se huono puoli, että kaikki ammattillisesti järkevät kaupalliset cad ohjelmat toimivat win puolella, joten siellä olisi cam:in suhteen parempi. Esim. Solidworkisiin tai Rhinocerokseen voisi myös miettiä omaa plug-iniä - niissä kun aika hyvät SDK:t - ja jättää cad pyörän uudelleen keksiminen väliin, mutta ensin pitää saada jostain oppi ja taju perusasioista. Täytyykin yrittää löytää sopivaa kirjallisuutta ennen kuin rupeaa hutkimaan.

t.
/Risto

awallin

Lainaus käyttäjältä: awallin - 14.01.12 - klo:13:40
3. Cutsim, eli leikkaus-simulaation (https://github.com/aewallin/cutsim)
-- Tämä vaatisi enemmän OpenGL-osaamista (peliohjelmoijat!) kuin mitä olen ehtinyt opiskella.
-- Käyttää EMC2-projektin G-koodi tulkkia.
-- parhaassa tapauksessa tämä saataisiin integroiduksi kiinteäksi osaksi EMC2:ta.

Japanilainen Kasuyasu niminen hemmo oli löytänyt tämän ja viritellyt siitä hieman toimivampaa leikkaussimulaatiota:
https://github.com/KASUYASU/cutsim

Käykää katsomassa screenshots hakemiston kuvia. Näyttää siltä että 5-akselinen simulaatio toimii. En ole testannut itse joten eos simulaation nopeudesta tai tarkkuudesta.

Oma aika ei ole riittänyt open-source CAM projekteihin viimeaikoina - mutta tuossa näyttää nyt olevan aika lähellä toimiva 5-akselinen leikkausimulaatio joten sopivalla c++/python/yms taustalla + ohjelmointi-innostuksella tuosta saisi varmaan ihan hyvän...

AW

Powered by EzPortal
SMF spam blocked by CleanTalk