Table des matières

Polygones dégénérés

Au fablab @ Flux, 8-12 novembre 2025

Pad : https://annuel.framapad.org/p/rda_polygone_2025

XY LDC

Alléger une paire de micros larges diaphragmes NEAT King Bee II (6dB Self Noise) de 1kg pièce pour en faire quelque chose de portable pour du field recording.

NEAT King Bee II en image

XY LDC

mesh 2 svg 2 paper

mesh2svg2paper (notes)

papercraft (notes)

Utiliser l'add-on Blender «Export Paper Model»

Petite parenthèse VRML

Visualiseur en ligne pour fichiers VRML : https://imagetostl.com/view-wrl-online#convert
Navigateur VRML à compiler : https://freewrl.sourceforge.io/examples.html
Peut être possible d'afficher un fichier VRML avevc : https://castle-engine.io/
https://www.qiew.org/
https://web.archive.org/web/20140412054654/http://cic.nist.gov/vrml/vbdetect.html

Physarum Polycephalum

Maintenant en 3D ! 🍩

Reprise d'un vieux projet de génération de motifs d'après l'algorithme de croissance du Physarum Polycephalum (a.k.a “le blob”), mais en y ajoutant une troisième dimension pour passer du pixel au voxel.

(code source à venir)

(vue de coupe au centre de la grille de voxels)

Travaux similaires (et plus aboutis)

Pavages de polygones brodés

Les fichiers sont sur la clés usb de la machine, dossier 'laurent'

Roland DPX-3300

Dessiner un fichier svg depuis linux

Conversion de fichiers svg en RP-GL2 avec vpype-rpgl

pipx install vpype
pipx inject vpype https://gitlab.com/losylam/vpype-rpgl/-/archive/v0.1.0/vpype-rpgl-v0.1.0.tar.gz

Usage

vpype read input.svg rpwrite output.rpgl

Streamer le fichier avec hpplot

Installation hpplot

git clone https://github.com/rhalkyard/hpplot
cd hpplot
pipx install .

Usage

hpplot -f query -B 32 /dev/ttyUSB0 output.rpgl

Les trucs qui ne marchent pas

Création du plugin vpype-rpgl

Les sources sont disponibles sur gitlab

D'après la documentation de pipx

1. Utilisation de cookiecutter pour faire un squelette de plugin vpype

# installer cookiecutter
pipx install cookiecutter
# initialiser un projet à partir du modèle de plugin
cookiecutter gh:abey79/cookiecutter-vpype-plugin #

Un formulaire permet de changer le noms du module (ici vpype-rpgl) et de la commande (ici rpwrite)

2. Conversion

Le processus a lieu dans le fichier vpype_rpgl/rpwrite.py

Inspiré du plugin vpype-gcode

from __future__ import annotations
import click
import copy
 
import vpype as vp
import vpype_cli
 
 
def cplx(p: complex, offset_x, offset_y) -> str:
    return f"{int(round(p.real)+offset_x)},{int(round(p.imag)+offset_y)}"
 
# @click.command()
@click.argument("output", type=vpype_cli.FileType("w"))
@vpype_cli.cli.command(group="Plugins")
@vpype_cli.global_processor
def rpwrite(document: vp.Document, output: typing.TextIO) -> vp.LineCollection:
    """
    Write rp-gl2 files for the vpype pipeline.
    """
    orig_document = document
    document = copy.deepcopy(document)  # do NOT affect the pipeline's document
    unit_scale = vp.convert_length('mm')
    # unit_scale = 100
    offset_x = -17750
    offset_y = -11180
    mult = 50 / 1.25
    document.scale(mult / unit_scale, mult / unit_scale)
    lc = vp.LineCollection()
    layers = document.layers
    output.write('IN;')
    output.write('PA;')
    output.write('SP1;PU;\n')
    output.write('OS;\n')
    for (layer_id, layer) in layers.items():
        for line in layer:
            output.write('PU' + cplx(line[0], offset_x, offset_y) + ';\n')
            for pt in line[1:]:
                output.write('PD' + cplx(pt, offset_x, offset_y) + ';\n')
 
    output.write('PU 0,0 ;\n')
    return orig_document

TODO