Skip to content
This repository has been archived by the owner on Mar 8, 2024. It is now read-only.

Commit

Permalink
update: impression_fdm.md
Browse files Browse the repository at this point in the history
enabling images in md by replacing ../static occurences by static images url on github
  • Loading branch information
Maximellerbach committed Jan 26, 2024
1 parent 0cbecef commit 63cdbd3
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 22 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.pdf
docs
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,11 @@ Feel free to open issues for suggestions and to facilitate the workflow of remai
## Locale

local variations must start with prs_, lyn_, tls_...

## Generate

```bash
python3 generator/generate.py --dir src --out docs
```

Note: if you added a static image, once you generate locally, the pdf will not feature the image you added locally. static images are fetched from "github.com/Atelier-Epita/fiches-tuto/raw/main/static/". Once pushed to main, the pdf will feature the image.
2 changes: 1 addition & 1 deletion generator/document.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
<div class="bar blue-bar"></div>

<header>
<img src="https://github.com/Atelier-Epita/fiches-machines/raw/main/generator/static/logo.png" alt="L'Atelier" class="logo">
<img src="https://github.com/Atelier-Epita/fiches-tuto/raw/main/static/logo.png" alt="L'Atelier" class="logo">
<div>
<h1>%title%</h1>
</div>
Expand Down
19 changes: 13 additions & 6 deletions generator/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import markdown
import pdfkit

file_path = os.path.dirname(os.path.realpath(__file__))
ressources_path = "https://github.com/Atelier-Epita/fiches-tuto/raw/main/static/"

def process(path: str, output: str):
with open(path) as f:
Expand All @@ -13,11 +15,12 @@ def process(path: str, output: str):
content = markdown.markdown(content)

html = ""
with open("document.html") as document:
with open(file_path + "/document.html") as document:
html = document.read()

html = html.replace("%title%", metadata['title']) \
.replace("%content%", content)
.replace("%content%", content) \
.replace("../static/", ressources_path)

pdfkit.from_string(html, output, options={
"margin-top": "0", "margin-bottom": "0", "margin-left": "0", "margin-right": "0",
Expand All @@ -32,7 +35,7 @@ def get_pdf_path(outdir: str, original_file: str):

if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('-o', '--outdir', nargs='?', help='Output directory', default="./")
parser.add_argument('-o', '--out', nargs='?', help='Output directory', default="./")
parser.add_argument('-f', '--file', nargs='?', help='File to process')
parser.add_argument('-d', '--dir', nargs='?', help='Directory to process')

Expand All @@ -47,9 +50,13 @@ def get_pdf_path(outdir: str, original_file: str):

if args.file is not None:
process(str(args.file),
get_pdf_path(str(args.outdir), str(args.file)))
get_pdf_path(str(args.out), str(args.file)))
else:
if not os.path.exists(str(args.dir)):
os.makedirs(str(args.dir))

for file in os.listdir(str(args.dir)):
if os.path.splitext(file)[1] in [".md", ".yaml", ".yml"]:
process(str(args.dir).rstrip("/") + "/" + file,
get_pdf_path(str(args.outdir), str(file)))
path = str(args.dir).rstrip("/") + "/" + file
outpath = get_pdf_path(str(args.out), str(file))
process(path, outpath)
32 changes: 17 additions & 15 deletions src/impression_fdm.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,16 @@ Pour ce tuto, il vous faudra:
Pour le design, vous pouvez utilisez ce que vous voulez: Fusion360, Blender ou autre. Dans le process, n'oubliez pas de penser aux différentes contraintes d'impression.
Voici quelques conseils:

- pensez aux forces qui s'exerçeront sur la pièce.
- les détails trop petits (moins d'un mm).
- éviter les overhang.
- utiliser des côtes en millimetres
- Penser aux forces qui s'exerçeront sur la pièce.
- Les détails trop petits (moins d'un mm) ne seront difficilement imprimable.
- Éviter les overhang.
- Penser à la façon dont la pièce sera imprimée, la face qui sera en contact avec le bed sera la plus lisse. Plus cette face sera grande, plus la pièce sera stable.
- Utiliser des côtes en millimetres.
- Utiliser des tolérances pour les assemblages. Le plus souvent 0.2mm est suffisant. Par exemple, pour un axe de 10mm, le trou devrait faire 10.2mm voir 10.4mm.

### Un exemple de création d'objet
<!-- todo -->
<img src="../static/fusion360.png" width=800>
On a ici deux pièces qui sont conçues pour être assemblées. Ici la pièce est séparé en deux pour faciliter l'impression à plat sans supports.

## Slice

Expand All @@ -40,18 +43,18 @@ Voici quelques parametres qui pourraient être interessant à modifier suivant v

- layer height -> dépends directement de la taille de la buse, en général correspond à la moitié de la taille de la buse.
- line width -> largeur d'une ligne imprimé, dépends aussi de la taille de la buse, la plupart du temps elle correspond a peu pret à la largeur de la buse +/- 10%.
- vitesse d'impression -> plus c'est élevé plus ça va vite, plus ça débite, plus ça fait des patés dégueux à certains endroits.
- vitesse d'impression -> l'augmenter permet d'imprimer plus vite, mais peut réduire la qualité de l'impression, les vitesses d'impression sont dépendantes de la taille de la buse, en général les proiles par défaut sont plutôt conservateurs par rapport à la qualité d'impression.
- infill density -> la densité des remplissages est importante si vous voulez faire des pièces où les contraintes sont importantes. Par défaut entre 15-20%, l'augmenter produira une pièce plus robuste mais demandera plus de temps a imprimer.
- supports -> votre pièce contient-elle des overhangs ? si oui: mettez des supports.
- temperatures -> il y a deux températures que vous pouvez régler si jamais vous imprimer avec du filament autre que celui par défaut: la température de la buse et celle du plateau, faites gaffe les plateaux des wanhao ne montent pas très haut, donc éviter d'y imprimer de l'ABS par exemple (de toute façon ça tiendra pas).
- plate adhesion -> pour certaines pièces, il est fortement recommandé de rajouter un raft ou un brim, ces deux méthodes permettent d'éviter que la pièce "warp" (voir la section troubleshooting pour plus d'information).
- supports -> votre pièce contient-elle de grands overhangs ? si oui: mettez des supports. Il existe également des supports en forme de tree, c'est parfois interessant de les utiliser.
- temperatures -> il y a deux températures que vous pouvez régler si jamais vous imprimer avec du filament autre que celui par défaut: la température de la buse et celle du plateau.
- plate adhesion -> pour certaines pièces, il est fortement recommandé de rajouter un raft ou un brim, ces deux méthodes permettent d'éviter que la pièce "warp" (voir la section troubleshooting pour plus d'information) en augmentant la surface de contact avec le bed.

### Un exemple de slice
<!-- todo -->
<img src="../static/cura.png" width=800>

### Impression

Pour lancer l'impression, il suffit d'inserer la carte SD et de rentrer dans le menu "print" et cliquer sur votre fichier.
Pour lancer l'impression, il suffit d'inserer la carte SD ou clef USB et de rentrer dans le menu "print" et cliquer sur votre fichier.
(*Note: il peut être utile de préchauffer l'imprimante pour eviter de perdre du temps lors du lancement de l'impression*)

L'imprimante se charge ensuite de lire le GCODE depuis la SD. On peut distinguer 3 séctions dans le gcode:
Expand All @@ -66,7 +69,6 @@ Vous pouvez si vous le souhaiter modifier les gcode de start et de fin dans la `

Quelques problèmes courant et comment les fix dans la plupart des cas:

- warping -> c'est lorsque l'un bord ou une partie de la pièce ne tient plus sur le bed. Dans 50% des cas c'est dû au design de la pièce, dans le cas écheant, rajouter un brim devrait emplement suffire. dans les 50 autres pourcents restant, recalibrer le plateau peut être une option, néttoyer le plateau, et tout simplement imprimer plus lentement.
- blobs -> dû à une pression trop élevé dans la buse, des petits blobs se font apparaitre aux jointures lorsqu'une rétractation ou une pause a lieux. Pour réduire cet effet il faut réduire la vitesse d'extrusion, ce qui réduit la préssion dans la buse.
- stringing -> c'est quand ya pleins de petits fils dans l'impression, en vrai c'est pas hyper grave.
- l'impression ne démarre pas ? C'est un problème avec la sd. Formatter la carte sd, re-slice le modèle et réessayer.
- warping -> Lorsque qu'un bord ou une partie de la pièce ne tient plus sur le bed. Dans 50% des cas c'est dû au design de la pièce, dans le cas écheant, rajouter un brim devrait amplement suffire. dans les 50 autres pourcents restant, recalibrer le plateau peut être une option, néttoyer le plateau, ou alors tout simplement imprimer le premier layer plus lentement.
- blobs -> Dû à une pression trop élevé dans la buse, des petits blobs se font apparaitre aux jointures lorsqu'une rétractation ou une pause a lieux. Pour réduire cet effet, on peut augmenter la distance de rétractation ou bien rajouter du coasting: relacher la pression de la buse avant chaque retraction en réduisant la vitesse d'extrusion.
- stringing -> L'impression possède des fils entre les différentes parties de la pièce. C'est dû à une rétractation trop faible, augmenter la rétractation devrait régler le problème.
Binary file added static/cura.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/fusion360.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes

0 comments on commit 63cdbd3

Please sign in to comment.