# skFrontend

Un frontal pour Skeinforge 50 en impression 3D
http://reprapide.fr/skfrontend-un-frontal-pour-skeinforge
Version 1.3 novembre 2012

## Introduction

Lorsqu’on a trouvé les bons réglages de Skeinforge et qu’on obtient de bonnes impressions, l’utilisation courante de la RepRap ne demande plus à modifier que peu de paramètres de Skeinforge.

Sans lancer Skeinforge, skFrontend permet de modifier ces paramètres et de lancer le calcul du G-code sans avoir à se confronter à une interface complexe. L’utilisation courante de Skeinforge devient plus facile et, pour peu que les paramètres de base soient établis par un connaisseur, devient possible pour ceux qui ne connaissent pas ce logiciel.

Comme Skeinforge, skFrontend est écrit en Python et utilise Tkinter, aucun autre logiciel n’est requis. skFrontend lit et écrit dans les fichiers de configuration de son profil dédié. Une fois les paramètres enregistrés et un fichier choisi, il lance Skeinforge en appelant craft.py.

Problème connu : l’état activé ou non du bouton d’enregistrement des modifications n’est pas mis à jour si les valeurs sont éditées dans les trois boîtes de saisie : Vitesse d’impression, Débit de plastique et Taux de remplissage. Il est bien mis à jour lors d’une modification par les flèches de ces boîtes de saisie. On contourne ce problème en modifiant ces valeurs par les flèches avant modification manuelle.

## Paramètres modifiables par skFrontend

Bien sûr il s’agit des paramètres que je modifie souvent, d’autres seraient peut-être à inclure…

- Le profil utilisé
  Choix parmi les profils du dossier des profils d’extrusion de Skeinforge.
- Épaisseur des couches
  Layer Height dans le plugin Carve.
- Vitesse d’impression
  Feed Rate dans Speed.
- Débit de plastique
  Flow Rate dans Speed. Quand le Feed Rate est modifié, le Flow Rate est automatiquement modifié pour lui être égal. Le Flow Rate peut aussi être modifié indépendamment.
- Vitesse d’impression de la 1re couche (rapport)
  Les quatre paramètres concernant cette couche dans Speed sont tous mis à la valeur choisie. Ils concernent la vitesse et le débit du périmètre et du remplissage, qui peuvent être diminués du rapport choisi.
- Taux de remplissage
  Infill Solidity dans Infill. À la différence de Skeinforge, ce taux est exprimé en pourcentage et non en valeurs de 0 à 1, ce qui me semblait plus compréhensible. skFrontend fait la conversion en lecture et écriture.
- Vitesse d’impression du périmètre (rapport)
  Les deux paramètres concernant le périmètre dans Speed sont tous mis à la valeur choisie. Ils concernent la vitesse et le débit pour le périmètre, qui peuvent être diminués du rapport choisi.
- Activation/désactivation du module Multiply
  On peut choisir d’activer Multiply même en imprimant une seule pièce, pour modifier l’emplacement de l’impression.
- Nombres de lignes et de colonnes
  Number of Columns & Number of Rows dans Multiply. Pour imprimer plusieurs exemplaires de la pièce.
- Nombre de couches d’entourage
  Layers To dans Skirt. Un nombre élevé de couches peut diminuer ou empêcher la déformation par warping. skFrontend active Skirt si le nombre est supérieur à 0 et le désactive sinon.

## Configuration

### 1- Profil(s)

Vérifier la présence d’au moins un profil dans le dossier des profils d’extrusion de Skeinforge. Localisations :

- Linux : `/home/userName/.skeinforge/profiles/extrusion`
- OS X : `/Users/userName/.skeinforge/profiles/extrusion`
- Windows : `C:\Users\userName\.skeinforge\profiles\extrusion`
- Windows : `C:\Documents and Settings\userName\.skeinforge\profiles\extrusion`

### 2- Trois réglages obligatoires

Tous les paramètres se règlent dans config.py, le fichier de configuration de skFrontend. Des explications sur les paramètres y figurent. Il est obligatoire d’y régler trois paramètres :

- `skDefaultProfileName`, le nom du profil par défaut, qui doit correspondre à un profil existant
- `skProfilesDirectory`, le chemin d'accès absolu au répertoire des profils d’extrusion de Skeinforge
- `skCraftPath`, le chemin d'accès absolu au plugin Craft de Skeinforge

Sous Windows, doubler les backslashs dans `skCraftPath` et `skProfilesDirectory`.

### 3- Réglages optionnels

Le reste de la configuration est optionnel et concerne l’interface utilisateur, notamment les valeurs présentées dans les contrôles de l’interface :

- `layerThicknessList` menu déroulant des épaisseurs de couches, sur le modèle `("0.25", "0.30", "0.40")`
- `feedRateMinimumValue` et `feedRateMaximumValue` boîtes de saisie, valeurs minimum et maximum de Feed Rate
- `flowRateMinimumValue` et `flowRateMaximumValue` boîtes de saisie, valeurs minimum et maximum de Flow Rate
- `multiplyRowList` et `multiplyColList` menu déroulant des nombres de lignes et colonnes
- `skirtLayersList` menu déroulant du nombre de couches d’entourage

La langue de l’interface peut aussi être choisie…

- `interfaceLanguage` : `fr` français, `en` anglais, `de` allemand.

… ainsi que le chemin d'accès absolu au répertoire par défaut des fichiers STL :

- `STLFilesDefaultDirectory`

Le nom de l’interpréteur Python :

- `pythonInterpreter`: `python` (par defaut) ou `pypy` ou un autre

## Lancement

Commande dans un terminal pour Linux et OS X :

`python /chemin/vers/emplacement/skFrontend/skFrontend.py`

Windows : double-clic sur skFronted.py ou un alias. Le chemin vers votre installation de Python (C:\Python27 par exemple) doit figurer dans la variable d’environnement Path de votre système.