Voor diegenen die het graag zelf willen proberen: het programma is een variatie op het Lissajous voorbeeld in hoofdstuk 1 van het boek "The Go Programming Language". De Go compiler is gratis te downloaden voor OS X (en werkt gelukkig ook nog op oudere OS X versies zoals Lion 10.7, ondanks dat er "minimaal 10.8" op de website staat).
Maar hoe vertaal/parse je dat .m bestand dan, daar ben ik wel benieuwd naar? Ik kon niet zo snel een beschrijving van het format vinden, zie wel dat er coördinaten in beschreven worden. Als het in Go kan is de stap naar een native OSX appje met XCode/Swift niet zo groot meer...
De sourcecode staat hier.
EDIT: link naar aangepaste versie, met behalve support voor rechte lijnen ook cirkelbogen.
(Bewerkt door Pieterr om 17:07, 9-01-2017)
Pieterr om 16:24, 7-01-2017@boiing: De beschrijving heb ik maar geraden.
Ik zie nog niet helemaal wat de vele 0|1|2's doen in de lijnregels maar zo te zien negeer je die. Thanks voor de link, knap gedaan hoor. Code is prima leesbaar, en omzetten naar Swift zou niet heel lastig zijn. Het is dat ik teveel hobby's heb maar anders..
respect dat je dat op een ijzelachtige dag als vandaag dit voor elkaar krijgt.
Maar wat als er nu cirkels, rechthoeken en andere gekromde lijnen zoals splines in de .m file gedefineerd kunnen zijn, of wordt dat afgevangen door een library in go? In de huidige .m file zijn alleen eenvoudige rechte lijnen verwerkt......
De topicstarter (pjottervmr) heeft mij per mail een paar extra .m bestanden opgestuurd om te testen, en ook daar komen (zo op het eerste gezicht) bruikbare plaatjes uit.
Maar me dunkt dat hier een en ander interessants te halen is:
https://github.com/awesomebytes/libermate
Succes!
Pieterr om 17:40, 7-01-2017@Feek: Dat klopt. Als jij een specificatie van het .m file formaat weet op te snorren kijken we verder op de volgende regenachtige weekenddag. Cirkels etc tekenen moet ook wel lukken. De topicstarter (pjottervmr) heeft mij per mail een paar extra .m bestanden opgestuurd om te testen, en ook daar komen (zo op het eerste gezicht) bruikbare plaatjes uit.
(Bewerkt door boiing om 23:11, 7-01-2017)
command line:
~ XXX$ File "/Users/XXX/Downloads/libermate-0.4/libermate.py"~ XXX$ python ~/Downloads/libermate-0.4/libermate.py
Als we nou eens zouden weten waar die platte tekst vandaan komt is die zo ingevoerd in LiberMate, een command line programma.
Hee, ik probeer ook maar Terminal Command line te leren,hoor!
NB: XXX is jouw user name. Post de juiste command line, vervang je User Name met XXX, en je blijft anoniem...
(Bewerkt door HEXDIY om 0:08, 8-01-2017)
Ik ben bang dat je op het verkeerde spoor zit. De bestanden van de topicstarter mogen dan wellicht door een programma geschreven in Matlab gecreëerd zijn, wat erin staat heeft niets met Matlab van doen. Dit zijn typische CSV bestanden ("comma separated values") met 'data' die door een ander programma weer ingelezen kan worden. Daarvoor dient dat andere programma te weten wat de betekenis van de data is ("specificatie"). Als je de specificatie niet hebt kun je hooguit raden naar de betekenis, zoals ik gedaan heb in mijn Go programma ("regels die met een L beginnen bevatten coördinaten om lijnen te tekenen").
pjottervmr om 8:03, 7-01-2017@Beste Cyrano, je opmerking over de werkgever is nu niet iets wat in het bedrijfsleven echt haalbaar is.
Soms wel, soms niet.
Heb jij voor mij software die draait bv onder linux en windows en eventueel mac die vervolgens bestanden zoals .LA2 van 25 jaar geleden kan openen en die nu nog draait onder linux waarop een digitale teken tafel aangesloten is die vervolgens bestanden kan wegschrijven die zowel op een laser snijmachine gebruikt kan worden van nu 25 jaar oud (msdos 6.2) een plotter van 2010 en een digitale buigmachine van 1997 (windows 98) met bijna voor elke machine een versie van cf2? Ik ben bang dat dit gewoon niet haalbaar is.
Wel, ik supporteer een gelijkaardig geval. Een ondernemer met een waterjet cutter, ook zo'n 25 jaar oud, waarvan de leverancier van de software niet meer bestaat. En die draait alleen op een Macintosh IIci.
Die heb ik ook jaren aan z'n kop gezaagd om dat soort pitfalls te voorkomen. En hij heeft het uiteindelijk gesnapt. Daar komt niks meer binnen dat geen open source is, of waarvan de leverancier de broncode niet meelevert. Die software en die computer, dat is niks, vergeleken met zo'n waterjet qua kost.
En als je je bestandsformaten eens in een lijstje zet (maar dan niet alleen een bestandsextensie!), wil ik best eens nagaan wat kan. Ik ben niet intiem bekend met de meeste CAD formaten (er zijn er teveel), maar wel met programmeurs en andere professionals die er mee moeten werken. En 't eerste motto met CAD is dat er veel oplossingen zijn die niet op 't net te vinden zijn, raar genoeg. Of ze zitten soms zo goed weggestopt dat je ze niet vindt via Google. Fabrikanten met een robots.txt bestand dat Google verbiedt te indexeren, bv.
Vergeet ook niet dat de meeste CAD bestanden gewoon tekst bestanden zijn. Iemand die dagelijks met die dingen werkt, herkent die meestal al op zicht. En wat je niet verwacht, is dat de meeste ateliers best bereid zijn om programma's die ze zelf maakten, gewoon met je te delen. Ten minste, als je 't lief vraagt...
En 't is knap van Pieter dat die dat "effe" in go maakt.
Maar het toont ook weer dat de oplossing vaak niet zo ver weg ligt...
boiing om 22:13, 7-01-2017Ik heb nog één klein vraagje pjottervmr: waarom noem je nou nergens even de naam of fabrikant van het tekenprogramma dat jouw .m files produceert (want dat is niet Matlab zelf)? Wie weet levert dat nog andere ideeën op..
De CAD wereld is erg klein. De combinatie van machines die er staan, maakt elk bedrijf uniek en dus makkelijk te identificeren...
En voorzichtigheid is de moeder van de porseleinwinkel
Kodak heeft een "Cad Correct" programma (oorspronkelijk van het bedrijf Creo) waarmee je CF2 bestanden kunt editten. Het programma is ook beschikbaar voor de Mac. Ik heb nog geen voorbeeld van een .cf2 bestand kunnen vinden dus ik weet niet of je hier iets aan hebt.
Das bereits aus den 80er Jahren stammende Common File Format wird in der Version 2 verwendet und heißt deswegen auch CFF2 oder CF2. Es ist ein reines Textformat (7-Bit- ASCII), kann also mit Hilfe eines Texteditors leicht geprüft (und geändert) werden. Üblicherweise kann ein CAD-System CFF2 exportieren. In diesem Format gibt es als grafische Primitive nur Linien und Kreisbögen. Die Spezifikation einer Linie beginnt mit dem Buchstaben L, während die eines Kreisbogens mit einem A (A steht für arc) anfängt, wie in Abb. 2.18 zu sehen ist. Eine Linie wird durch ihre Anfangs- und Endposition definiert, außerdem findet man in den entsprechenden Zeilen Informationen über Strichstärke, den Linientyp (Schneidelinien, Rilllinien etc.) und die Länge und Anzahl der Unterbrechungen. Der Kreisbogen wird durch die Positionen der beiden Endpunkte sowie durch den Kreismittelpunkt bestimmt.
pjottervmr om 21:08, 6-01-2017Ik durf echter geen uitspraak te doen of deze tekst als cf2 anders is? Ik weet wel dat vanuit het teken programma het .m bestand moet worden weggeschreven als cf2 voor de laser of plotter. Het handmatig aanpassen van de extensie (dus .m vervangen door .cf2) dat werkt niet dan is het bestand niet in te lezen.
(Bewerkt door Pieterr om 11:05, 8-01-2017)
Pieterr om 10:14, 8-01-2017Kodak heeft een "Cad Correct" programma waarmee je CF2 bestanden kunt editten. Het programma is ook beschikbaar voor de Mac. Ik heb nog geen voorbeeld van een .cf2 bestand kunnen vinden dus ik weet niet of je hier iets aan hebt.https://workflowhelp.kodak.com/pages/viewpage.action?pageId=24088184&desktop=true¯oName=sv-translation
https://workflowhelp.kodak.com/pages/viewpage.action?pageId=24088184&desktop=true¯oName=sv-translation
Pieter, het gaat er mij niet om om de cf2 files nadien nog aan te passen, we werken namelijk niet met die cf2 files. Vanuit het .m bestand wordt deze weggeschreven als een goed werkend cf2 per machine en met dat bestand daar is niets mis mee. Het omgezetten cf2 bestand is puur om een bestand te bekijken op een andere computer dan het originele teken programma. Het liefst keken we meteen in het .m bestand (wat dus nu gaat gebeuren op een aantal PC's.) Maar op een paar MAC's moet dit af en toe ook mogelijk zijn. Planning moet soms even iets kunnen nakijken en nu moeten ze dus eerst naar een tekencomputer of moeten ze de designstudio vragen van een bepaald bestand even een pdf te maken en terug sturen zodat ze verder kunnen. Met jouw oplossing kunnen ze dus dit lokaal even doen. Mochten er alsnog twijfels zijn dan moeten ze de pdf maar opvragen.
cyrano om 9:30, 8-01-2017Citaatboiing om 22:13, 7-01-2017Ik heb nog één klein vraagje pjottervmr: waarom noem je nou nergens even de naam of fabrikant van het tekenprogramma dat jouw .m files produceert (want dat is niet Matlab zelf)? Wie weet levert dat nog andere ideeën op..De CAD wereld is erg klein. De combinatie van machines die er staan, maakt elk bedrijf uniek en dus makkelijk te identificeren...En voorzichtigheid is de moeder van de porseleinwinkel
je haalt me de woorden uit mijn computer
pjottervmr om 11:04, 8-01-2017Het liefst keken we meteen in het .m bestand (wat dus nu gaat gebeuren op een aantal PC's.) Maar op een paar MAC's moet dit af en toe ook mogelijk zijn. Met jouw oplossing kunnen ze dus dit lokaal even doen.
Feek om 17:23, 7-01-2017In de huidige .m file zijn alleen eenvoudige rechte lijnen verwerkt......