133 lines
6.8 KiB
HTML
133 lines
6.8 KiB
HTML
<html><head><title>Macro 3d Printer Slicer/fr</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type='text/css' href='wiki.css' rel='stylesheet'></head><body><h1>Macro 3d Printer Slicer/fr</h1></div>
|
|
|
|
<div id="mw-content-text" lang="fr" dir="ltr" class="mw-content-ltr"><hr/><div class="mw-parser-output"><table class="fcinfobox wikitable ct" width="100%" style="float: right; width: 230px; margin-left: 10px;">
|
|
<tr>
|
|
<td class="ctTitle">
|
|
<h3><span class="mw-headline" id="Macro_3d_Printer_Slicer"><a href="https://www.freecadweb.org/wiki/index.php?title=File:Text-x-python.png" class="image"><img alt="Text-x-python.png" src="32px-Text-x-python.png" width="32" height="32" srcset="/wiki/images/2/2c/Text-x-python.png 1.5x" /></a> Macro_3d_Printer_Slicer</span></h3>
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Description
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven left">Exporter le projet dans un logiciel de tranchage pour utilisation dans une imprimantes 3D. Exporte le fichier stl dans le même répertoire que fichier original, puis l'ouvre dans le logiciel de tranchage.
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Auteur
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven"><a href="https://www.freecadweb.org/wiki/index.php?title=User:Cae2100&action=edit&redlink=1" class="new" title="User:Cae2100 (page does not exist)">cae2100</a>
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Liens
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven"><a href="https://www.freecadweb.org/wiki/index.php?title=Macros_recipes/fr" title="Macros recipes/fr">Recettes macros</a><br /><a href="https://www.freecadweb.org/wiki/index.php?title=How_to_install_macros/fr" title="How to install macros/fr">Comment installer une macro</a><br /><a href="https://www.freecadweb.org/wiki/index.php?title=Customize_Toolbars/fr" title="Customize Toolbars/fr">Comment ajouter une barre d'outils</a>
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Version
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven macro-version">1.0
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Date dernière modification
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven macro-date">2013-10-10
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctToc"><br /><div id="toc" class="toc"><div class="toctitle"><h2>Contents</h2></div>
|
|
<ul>
|
|
<li class="toclevel-1"><a href="#Macro_3d_Printer_Slicer"><span class="tocnumber">1</span> <span class="toctext">Macro_3d_Printer_Slicer</span></a></li>
|
|
<li class="toclevel-1 tocsection-1"><a href="#Script"><span class="tocnumber">2</span> <span class="toctext">Script</span></a></li>
|
|
<li class="toclevel-1 tocsection-2"><a href="#Credits"><span class="tocnumber">3</span> <span class="toctext">Credits</span></a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
</td></tr>
|
|
</table>
|
|
<p><br />
|
|
</p><p>Copiez le code suivant, lorsqu'il est exécuté, il exporte le projet en fichier .STL pour l'ouvrir dans le logiciel de découpage en tranches que vous utilisez. Cet exemple est écrit pour le logiciel <b><a rel="nofollow" class="external text" href="http://kisslicer.com/">KISSlicer</a></b>, mais peut être modifié pour être utilisé avec <b><a rel="nofollow" class="external text" href="http://slic3r.org/">Slic3r</a></b>, <b><a rel="nofollow" class="external text" href="http://wiki.ultimaker.com/Cura">Cura</a></b> ou tout autre logiciel pour imprimante 3d. Il peut également être légèrement modifié pour être ouvert dans un logiciel de FAO pour machines CNC.
|
|
</p><p>Il est préférable de créer un lien dans la barre d'outils qui pointe vers la macro, quand vous êtes prêt à trancher l'objet, cliquez simplement sur le bouton et votre objet sera affiché sur l'interface de votre logiciel de tranchage, tel qu'il apparaît dans l'écran de FreeCAD et prêt à être tranché. Il créera également un fichier .STL avec le même nom et dans le même répertoire que le fichier original.
|
|
</p><p><br />
|
|
</p>
|
|
<a href="https://www.freecadweb.org/wiki/index.php?title=File:Macro_3d_Printer_Slicer_00.png" class="image"><img alt="Macro 3d Printer Slicer 00.png" src="480px-Macro_3d_Printer_Slicer_00.png" width="480" height="303" srcset="/wiki/images/thumb/d/d2/Macro_3d_Printer_Slicer_00.png/720px-Macro_3d_Printer_Slicer_00.png 1.5x, /wiki/images/thumb/d/d2/Macro_3d_Printer_Slicer_00.png/960px-Macro_3d_Printer_Slicer_00.png 2x" /></a> <div style="clear:both"></div>
|
|
<p><br />
|
|
</p>
|
|
<h3><span class="mw-headline" id="Script">Script</span></h3>
|
|
<p>Le script peut être modifiés pour être utilisé avec n'importe quel logiciel de tranchage de votre choix, assurez-vous juste de modifier le script avant de l'exécuter, ou une erreur d'exécution de script sera signalée.
|
|
</p><p>Macro_3d_Printer_Slicer.py
|
|
</p><p><b>Macro_3d_Printer_Slicer.py</b>
|
|
</p>
|
|
<pre>import FreeCAD
|
|
import Mesh
|
|
import sys
|
|
import math
|
|
import os
|
|
import subprocess
|
|
# some fuctions
|
|
def getPlacement(quat,vect,obj):
|
|
if quat[3] > -1 and quat[3] < 1:
|
|
delta = math.acos(quat[3])*2.0
|
|
scale = math.sin(delta/2)
|
|
rx = quat[0]/scale
|
|
ry = quat[1]/scale
|
|
rz = quat[2]/scale
|
|
else:
|
|
delta = 0
|
|
rx = 0
|
|
ry = 0
|
|
rz = 1
|
|
info0 = "translation "+str(vect.x)+" "+str(vect.y)+" "+str(vect.z)
|
|
info1 = "rotation "+str(rx)+" "+str(ry)+" "+str(rz)+" "+str(delta)
|
|
return info0+" "+info1
|
|
# some definitions
|
|
placement = App.Placement(App.Vector(0,0,0),App.Rotation(0,0,0,1))
|
|
# user need to set this directory where slicing software is located
|
|
OutDir = FreeCAD.ActiveDocument.FileName.replace(FreeCAD.ActiveDocument.Label + ".fcstd", "")
|
|
visible_objs = []
|
|
SLICER = "/kisslicer location/" # Put your Slicer program location here
|
|
os.chdir(SLICER)
|
|
# Get Objects in document
|
|
doc = App.ActiveDocument
|
|
objs = doc.Objects
|
|
# hide all
|
|
for obj in objs:
|
|
if obj.ViewObject.isVisible():
|
|
visible_objs.append(obj)
|
|
for obj in visible_objs:
|
|
# get volume
|
|
volume = obj.Shape.Volume
|
|
# get Rotation and translation of volume
|
|
quat = obj.Placement.Rotation.Q
|
|
vect = obj.Placement.Base
|
|
pinfo = getPlacement(quat,vect,obj)
|
|
# reset placement, export it and set at original placement
|
|
oldPlacement = obj.Placement
|
|
obj.Placement = placement
|
|
obj.Placement = oldPlacement
|
|
stlFile = OutDir+str(doc.Label)+".stl"
|
|
Mesh.export(visible_objs,stlFile)
|
|
subprocess.Popen([SLICER + "KISSlicer", stlFile]) </pre>
|
|
<h3><span class="mw-headline" id="Credits">Credits</span></h3>
|
|
<p>Merci à <a rel="nofollow" class="external text" href="http://forum.freecadweb.org/viewtopic.php?f=10&t=4686">Wmayer</a> pour son aide dans la rédaction de ce script.
|
|
</p>
|
|
<div style="clear:both"></div>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div><div class="printfooter">
|
|
Online version: "<a dir="ltr" href="https://www.freecadweb.org/wiki/index.php?title=Macro_3d_Printer_Slicer/fr&oldid=240901">http://www.freecadweb.org/wiki/index.php?title=Macro_3d_Printer_Slicer/fr&oldid=240901</a>"</div>
|
|
<div id="catlinks" class="catlinks" data-mw="interface"></div><div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
<div id="mw-navigation">
|
|
<h2>Navigation menu</h2>
|
|
|
|
</body></html> |