Travail en cours sur l'analyse du format Trotec Spool File (TSF) pour voir s'il ne serait pas possible de le générer à la mano, voir avec un plugin inkscape.
<!-- Version: 9.4.2.1034> <!-- PrintingApplication: inkscape.exe> <BegGroup: Header> <ProcessMode: Standard> <Size: 10.00;10.00> <MaterialGroup: Standard> <MaterialName: Standard> <JobName: bbb_sq10> <JobNumber: 2> <Resolution: 500> <Cutline: none> <EndGroup: Header>
Le format est assez lisible à première vue :
<LayerParameter: 5;0.000> : paramétrage du mode couche − 5 : Nombre de couches − 0.000 : Ajustement<StampShoulder: flat> : paramétrage des bord du tampon − flat / medium / steep<RotaryAttachment: 3.18> : Argument facultatif : apparait lorsque l'on selectionne l'option tourne cylindre − 3.18 est le dimaètre du tourne cylindre
Jouer avec les différents réglages du driver trotec lorsque l'on imprime à partir d'inkscape pour voir ce que cela donne dans le tsf
<BegGroup: Bitmap> <STBmp: 0;0>BMÊ^U^@^@^@^@^@^@>^@^@^@(^@^@^@Å^@^@^@Å^@^@^@^A^@^A^@.......<EOBmp> <EndGroup: Bitmap>
Le bmp est soit en monochrome soit en 256 niveaux de gris(8bit) en fonction du mode de gravure (cf ci dessus).
Le bmp est tête en bas (flip)
Il est possible de générer des images BMP monochrome qui fonctionnent avec image magick
essayer de générer des images en 8bits pour les modes couches et relief
Pour les modes couches et relief l'image bms est encodée sur 8bits(256couleurs) mais est en fait tramée sur 16 couleurs
Conversion d'une image png en bitmap N&B de façon assez brute (avec un flip sinon à l'envers dans JobControl):
<code>convert image_source.png -flip pbm:- | ppm2bmp > image_nb.bmp</code> en fait pas besoin de passer par ppbm cf ci dessous
Quelques exemple de generation d'images monochromes (modes standard et tampon) avec tramage sympa grâce à imagemagick
convert reverserd2.png -flip -remap pattern:gray50 -monochrome reversed23.bmp : fonctionne mais trammage pas topconvert reverserd2.png -flip -colorspace Gray -ordered-dither o8x8 -monochrome reversed25.bmp : tramage régulier mais plutot sympaconvert reverserd2.png -flip -colorspace Gray -ordered-dither h4x4a -monochrome reversed25.bmp : tramage régulier un peu plus grossier que le précédent mais en diagonale rend pas mal en visuel<BegGroup: DrawCommands> <DrawPolygon: 5;255;0;0;0;0;196;0;196;196;0;196;0;0> <DrawPolygon: 2;255;0;0;0;0;196;196> <DrawPolygon: 2;0;0;255;196;0;0;196> <EndGroup: DrawCommands>
Partie découpe on a bien des polygones à couper devraient pourvoir se générer la la main \o/
Faire des truc un peu plus compliqué dans inkscape et voir ce qui sort.
Générer des trucs un peu plus compliqué “à la main” et voir ce qui se passe ;)
http://www.daubnet.com/en/file-format-bmp Description format BMP http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=15846
Petit script d'analyse des entêtes bmp pour comparer l'image qui vient de trotec et ce que je génère:
import os,struct,sys if len(sys.argv) != 2: print 'Usage:python viewer.py bmpfile' exit(1) filename = sys.argv[1] header_keys = ('signature','file size','reserved','reserved','data offset','size','width','height','planes','bitCount','compression','image size','XpixelsPerM','YpixelsPerM','ColorUsed','ColorImportant') header_fmt = '=2sihhiiiihhiiiiii' palette_fmt = 'BBBB'*256 f = open(filename,'rb') #read header print '----Header----' s_header = f.read(54) for k,it in zip(header_keys,struct.unpack(header_fmt,s_header)): print "%s : %s" %(k,it) #read palette print '----palette----' s_palette = f.read(1024) palette = struct.unpack(palette_fmt,s_palette) i = 0 while i < len(palette): print palette[i:i+4] i += 4
,