omzetten tekening in "matrix" naar motor sturing

Vragen die je boven niet kwijt kunt, kan je hier stellen.

Moderator: Moderators

trix
Berichten: 30
Lid geworden op: 06 jun 2007 19:36
Locatie: oss

omzetten tekening in "matrix" naar motor sturing

Bericht door trix »

topic titel is wat wazig, maar moet kort en bondig zijn.
voorop gesteld, ik heb geen verstand van cnc besturingen, maar daarom ook mijn vraag.

ik ben een machine aan het bedenken waar ik eigenlijk niet goed weet hoe ik de input aan de output moet koppelen.
de machine moet gewoon een tekening op een doek tekenen (2D)

output, ben ik nog niet uit, mag waarschijnlijk zowel servo als stepper zijn. assen hoeven geen kracht te leveren (zoals bij frezen) en ook geen noemenswaardige snelheid te halen.

input is een binaire code waarbij een simpele tekening (alleen rechte lijnen) voorgesteld word als een matrix van b.v. 600x600 punten.
die punten zijn dan of een 1 of een 0.

hoe maak ik van die binaire code een b.v. dir/step signalen.
zijn daar b.v. programmas voor ?

alvast mijn dank voor de reacties.
eigenwijs is ook wijs
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door hugo stoutjesdijk »

Bij een matrix denk ik aan b.v. een bitmap of ander digitaal tegelpatroon.
Iets met G-code werkt op z'n slechts samen met bitmappen, dan kun je beter aan CAD tekening denken.

Bij een bitmap naar output denk ik eerder aan een matrix printer of een fax.
Dus banen aflopen langs een rij van de bitmap, en elke gelezen 1 een dotje inkt op het doek.

Anders zul je eerst die matrix om moeten zetten naar vectoren.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
trix
Berichten: 30
Lid geworden op: 06 jun 2007 19:36
Locatie: oss

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door trix »

dat banen aflopen en op de juist plek een dot, gaat niet, ik moet echt alleen de lijnen tekenen met een viltstift.

ik zal me eens in die vectoren verdiepen, weet daar nagenoeg niets van.
eigenwijs is ook wijs
Gebruikersavatar
Breaker
Donateur
Berichten: 1956
Lid geworden op: 26 mei 2015 22:43
Locatie: Nabij Antwerpen
Contacteer:

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door Breaker »

Alleen horizontale lijnen, of ook verticale en diagonale lijnen? En loopt een lijn tussen twee eenen (dus 1-0-0-1 is een lijn met lengte driej, of zolang de punten één zijn (1-1-1-1)?

Vectric software (Aspire of een andere variant) zou hier mogelijk wel iets mee kunnen...
Geduld is een schone zaak, frezen niet...
gerkon
Berichten: 112
Lid geworden op: 03 jan 2009 15:06
Locatie: lisse
Contacteer:

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door gerkon »

trix
Berichten: 30
Lid geworden op: 06 jun 2007 19:36
Locatie: oss

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door trix »

horizontaal & verticaal (geen diagonaal)
100000001 = geen lijn, dit zal ook niet voor komen.
111111111 = dus wel een lijn

overigens dank voor de ractie.

edit: de machine komt in een (semi) industriele omgeving.
eigenwijs is ook wijs
Gebruikersavatar
Breaker
Donateur
Berichten: 1956
Lid geworden op: 26 mei 2015 22:43
Locatie: Nabij Antwerpen
Contacteer:

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door Breaker »

Ik zit in deze op precies dezelfde lijn als hugo stoutjesdijk, zie het zo voor me als een zwart-wit bitmap. Je moet dan wat beslissingen nemen aangaande wat een punt is, is het een beginpunt van een lijn of een lijndeel, neem:

Code: Selecteer alles

1 0 0 0
1 1 0 0
1 1 1 0
1 1 1 1
Geeft dat op de eerste regel wel of geen horizontale lijn en op het eind van de vierde regel geen verticale lijn of wel?
Moet dit door een hulpprogramma gedaan worden (input matrix -> output vector) en wat heb je daarvoor dan beschikbaar, of kun/wil je het zelf programmeren?
Geduld is een schone zaak, frezen niet...
trix
Berichten: 30
Lid geworden op: 06 jun 2007 19:36
Locatie: oss

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door trix »

een hulp programa zou natuurlijk heel mooi zijn, mijn programeer skils zijn niet zo geweldig.
ik denk zelf dat ik het een beetje in de graveer programmas moet zoeken, en die dan aanpasssen indien mogelijk.

zou dit te programeren zijn in C ?
eigenwijs is ook wijs
Gebruikersavatar
audiomanics
Donateur
Berichten: 5273
Lid geworden op: 28 feb 2007 09:31
Locatie: Appelscha
Contacteer:

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door audiomanics »

trix schreef: 15 jul 2018 15:03 zou dit te programeren zijn in C ?
Vast wel, De programmeertaal is op zich niet zo belangrijk... al zou het visual Basic zijn. Maar waarschijnlijk is het ook in een macro te zetten..
Nu is het beeld me niet 100% duidelijk.. Een plaatje van zo'n tekening, en wat je wil bereiken kan mogelijk wat opheldering verschaffen.
Ziet zo'n plaatje er uit als een QR-code bijvoorbeeld? (daar kan ik weinig structuur in ontdekken om lijnen te trekken namelijk)
En hoe bepaal je welke twee punten bij elkaar horen?
Als je dat weet is het een kwestie van:
G0 Z-safeheight
G0 X,Y eerste punt
G1 Z-freesdiepte
G1 X,Y tweede punt
Lees volgende combinatie..

Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
trix
Berichten: 30
Lid geworden op: 06 jun 2007 19:36
Locatie: oss

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door trix »

ik kreeg de tekening uit sketch=up zo snel niet in het topic,....dan maar een print screen.

dit is wat ik als input krijg, die letter P moet ik dan tekenen en "inkleuren"
en dan 300x300 pixels


Afbeelding
eigenwijs is ook wijs
Gebruikersavatar
Breaker
Donateur
Berichten: 1956
Lid geworden op: 26 mei 2015 22:43
Locatie: Nabij Antwerpen
Contacteer:

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door Breaker »

Kon de afbeelding niet zien:

17210

Toch nog lastig te begrijpen. De aanpak is ook afhankelijk van de kwaliteit die bereikt moet worden. Zoiets is vij makkelijk te realiseren in alleen horizontale lijnen, maar de randen en aansluiting zal dan niet perfect zijn. Worden er verticale lijnen toegevoegd dan is er veel overlap.

Moet het strakker zijn, dan moeten de contouren getekend worden en daarna het vlak netjes ingevuld, dat is ook weer afhankelijk van de pendikte en schaling van het geheel.

Al met al is het een hele puzzel zo.
Laatst gewijzigd door Breaker op 16 jul 2018 11:05, 1 keer totaal gewijzigd.
Geduld is een schone zaak, frezen niet...
Kjelt
Donateur
Berichten: 6259
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door Kjelt »

Dus als ik je goed begrijp wil je een bitmap omzetten naar G-code ?
Normaal gebeurt dat in de volgende stappen
1) de bitmap met de hand over tekenen in een tweede layer met vectoren en deze tweede layer dan opslaan als een vector-graphics formaat file.
2) Het vector graphics formaat kan dan door de cam software ingelezen worden, in die software kun je dan weer tools en de toolpaden ingeven (freesdiameter , diepte/bewerking en uiteindelijke diepte).
3) Output is dan de G-code die de aansturingssoftware weer kan inlezen en uitvoeren op de machine.

Jij wilt dus eigenlijk stap 1 t/m 3 automatisch door software laten doen.
Het probleem is daarbij zoals hierboven al aangegeven dat die software niet weet welke vectoren hij moet maken uit alleen maar de puntjes tenzij er geen alternatief mogelijk is.
Je input file zal dus dusdanig moeten worden opgezet dat er geen ambiguiteit in de puntjes zit, anders gezegd de puntjes moeten dusdanig aanwezig zijn dat een 4 jarig kind er lijntjes tussen kan trekken zonder in de war te raken en dan nog is een 4 jarig kind intelligenter dan menig programma ;-)
Is het niet mogelijk om de generator software als output file een vector graphics file te laten maken? Dan ben je al bijna klaar.
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door hugo stoutjesdijk »

Wat jij letterlijk vraagt (in de openings post), stelt niet zo veel voor.
Voor de horizontale lijnen, lees je de matrix van boven naar beneden, en op het eerste 'vakje' met een 1 start een lijn, en stopt op het vakje voor de volgende nul.
Als je vervolgens alle lijnen getrokken hebt, doe je hetzelfde met de vertikale rijen.
Dat je dan een hoop dubbel doet (als je het goed doet bijna alles) is misschien geen probleem.
Als de dikte van het 'schrijf' tool dik genoeg is zitten de lijnen in de breedte aan elkaar en is je vlak opgevuld, maar misschien is dat helemaal niet de bedoeling.

Maar wat je vervolgens wilt, is de contour ook nog inkleuren, dus eigenlijk wil je de grenzen van de enen en nullen als contour zien.
Dus er is een verschil tussen lijnen over de middelpunten van de ruitjes van je ruitjes papier, of lijnen over de grenzen van de ruitjes.

Ik heb vroeger (vorige eeuw, dus niks nieuws aan) veel met graveer software gewerkt, en daar is het bijna standaard om een bitmap (vaak vanuit de scanner) om te zetten in vectoren, daar is volgens mij genoeg software voor te vinden. Maar in dit geval lijkt me een 'eigen' oplossing logischer. De bitmaps zijn extreem klein, en de vraag is niet complex, dat moet door een beetje middelbare school programmeer hobbyist redelijk op te lossen zijn. De matrix met eentjes en nullen uitlezen is toch heel erg hoofdstuk 2 lijkt me.

Maar in je vraag zit eigenlijk hoe jij denkt het op te moeten lossen, dat maakt het vaak voor anderen lastig om met oplossingen te komen, beter is het probleem voor te leggen, misschien zijn er hele andere inzichten die ook tot jouw oplossing kunnen bijdragen.

Ook hoe scherp het resultaat er uit moet zien, en hoe snel of langzaam het moet gaan. Misschien is elk 'ruitje' apart inkleuren ook een optie, als ze precies aansluiten wordt het ook 1 vlak.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Kjelt
Donateur
Berichten: 6259
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

Re: omzetten tekening in "matrix" naar motor sturing

Bericht door Kjelt »

Zo heel makkelijk is het volgens mij niet Hugo tenzij je het niet erg vind dat horizontale en vertikale lijnen anders lopen.
Zie voorbeeld hieronder, linksboven is de bitmap en er onder een drietal van de 16 of meer mogelijke vectoren of freespatronen.
Er zijn wel standaardpakketten die dit kunnen maar het resultaat is vaak magertjes.
17212
Plaats reactie