ce que vous avez toujours voulu sans jamais avoir osé le demander
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
exactement ! c'est ce que je fais, merci à Mario52 pour toutes ses macros
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
Hello, j'ai testé freecad avec mes élèves en collège, une des choses qui déroutent le débutant est :
la contrainte de coïncidence qui n'est pas affichée comme les autres et donc la suppression n'est pas évidente (même si j'ai découvert par hasard qu'il suffisait de supprimer le "point"), cela les perturbe énormément. Lié à ça, les arcs de cercles qui ne se connectent pas en mode tangent par défaut sur les segments de droite.
Me concernant, le problème de sélection de certaines contraintes (ex : dimensionnelle), on est souvent obligé d'aller dans la liste à gauche ce qui fait perdre du temps (la dimension ne devient pas jaune quand on survole).
Le problème de sélection des objets qui sont les uns sur les autres (être obligé de passer en mode filaire fait perdre du temps). L'idée, serait, comme dans Rhino, que le logiciel donne une liste des objets sous la souris (et on prend celui que l'on veut). C'est le cas en particulier pour les lignes de constructions ou les éléments extérieurs sous des objets standard.
Le problème de compatibilité entre les différents objets créés par les modules, ceci implique que si on fait des dev avec un module et que celui-ci n'est plus entrenu, le travail est perdu. Il y a beaucoup de choses redondantes par exemple entre part et partdesign.
Les messages pas toujours explicite dans la vue rapport (un sketch non fermé (soi-disant) mais on ne sais pas où).
Pas d'accrochage dans sketcher sur un point milieu (le premier truc que j'ai vu).
Des annulations qui n'annulent pas toujours (obligé de recharger le fichier).
Ma version : 0.20 rev 29177
Mon système : win 10 64 pro
la contrainte de coïncidence qui n'est pas affichée comme les autres et donc la suppression n'est pas évidente (même si j'ai découvert par hasard qu'il suffisait de supprimer le "point"), cela les perturbe énormément. Lié à ça, les arcs de cercles qui ne se connectent pas en mode tangent par défaut sur les segments de droite.
Me concernant, le problème de sélection de certaines contraintes (ex : dimensionnelle), on est souvent obligé d'aller dans la liste à gauche ce qui fait perdre du temps (la dimension ne devient pas jaune quand on survole).
Le problème de sélection des objets qui sont les uns sur les autres (être obligé de passer en mode filaire fait perdre du temps). L'idée, serait, comme dans Rhino, que le logiciel donne une liste des objets sous la souris (et on prend celui que l'on veut). C'est le cas en particulier pour les lignes de constructions ou les éléments extérieurs sous des objets standard.
Le problème de compatibilité entre les différents objets créés par les modules, ceci implique que si on fait des dev avec un module et que celui-ci n'est plus entrenu, le travail est perdu. Il y a beaucoup de choses redondantes par exemple entre part et partdesign.
Les messages pas toujours explicite dans la vue rapport (un sketch non fermé (soi-disant) mais on ne sais pas où).
Pas d'accrochage dans sketcher sur un point milieu (le premier truc que j'ai vu).
Des annulations qui n'annulent pas toujours (obligé de recharger le fichier).
Ma version : 0.20 rev 29177
Mon système : win 10 64 pro
Essaie, essaie encore, même si c'est pas bien, tu vas apprendre de tes erreurs ! Et un jour, tu réussiras !
- Shalmeneser
- Veteran
- Posts: 9560
- Joined: Wed Dec 23, 2020 12:04 am
- Location: Fr
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
Des fois en appuyant sur le bouton [Mettre à jour] dans le sketcher on peut récupérer la sélection des dimensions (je ne sais pas s'il s'agit d'autosuggestion).
L'outil Sketcher_CreatePolyline/fr +M permet de créer automatiquement ces tangences au fur et à mesure de l'ajout des lignes.Lié à ça, les arcs de cercles qui ne se connectent pas en mode tangent par défaut sur les segments de droite.
Et pourquoi faudrait-il une tangence par défaut ?
Utiliser le milieu d'un segment est rare car cela créerait une jonction en T qui n'est pas extrudable dans PartDesign.Pas d'accrochage dans sketcher sur un point milieu (le premier truc que j'ai vu).
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
un petit bug qui persiste, quand une cote ne change pas de couleur au survol, il faut survoler une ligne voisine dans le sketch
(ça peut même être un des axe X ou Y) et après ça se débloque
pour sélectionner une contrainte coïncidente, la meilleure solution que j'ai trouvé, est de faire une sélection par boite de la gauche vers la droite
- sélection de la gauche vers la droite ne sélectionne que les éléments qui sont entièrement dans la boite
- sélection de la droite vers la gauche sélectionne tous les éléments qui sont en contact avec la boite
(ça peut même être un des axe X ou Y) et après ça se débloque
pour sélectionner une contrainte coïncidente, la meilleure solution que j'ai trouvé, est de faire une sélection par boite de la gauche vers la droite
- sélection de la gauche vers la droite ne sélectionne que les éléments qui sont entièrement dans la boite
- sélection de la droite vers la gauche sélectionne tous les éléments qui sont en contact avec la boite
- papyblaise
- Veteran
- Posts: 8001
- Joined: Thu Jun 13, 2019 4:28 pm
- Location: France
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
tout utilisateur de logiciel doit faire preuve d'un peu d'intelligence : de même une division par zéro dans un tableur provoquera un crash , un segment parasite dans un sketch peu provoquer un crash
exemple 1 :le sketch est contraint 100% et pourtant pas extrudable > ouvert à cause du trait de construction en bleu
exemple 2 : le même mais le trait de construction est si petit que invisible > toujours pas extrudable
je veux dire par là que l'on voit souvent ici des appel à l'aide pour des sketches où il y a des doublons de traits dont certains sont si petits que invisible à l'échelle normale de l'écran
exemple 1 :le sketch est contraint 100% et pourtant pas extrudable > ouvert à cause du trait de construction en bleu
exemple 2 : le même mais le trait de construction est si petit que invisible > toujours pas extrudable
je veux dire par là que l'on voit souvent ici des appel à l'aide pour des sketches où il y a des doublons de traits dont certains sont si petits que invisible à l'échelle normale de l'écran
- Attachments
-
- sketch.JPG (18.92 KiB) Viewed 1365 times
-
- sketch2.JPG (16.42 KiB) Viewed 1365 times
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
Salut,
Du texte à l'horizontale sur une contrainte vertical dans ''sketcher'' plutôt qu'a la vertical.
Du texte à l'horizontale sur une contrainte vertical dans ''sketcher'' plutôt qu'a la vertical.
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
Bonsoir
lancez la macro dans la page (la barre d'outils peut disparaître quand vous changez d'atelier , if faudra la réactiver)
la vue centrale ("Principale" reste toujours au même endroit)
les autres vues prennent la position désignées par TechDraw (Type)
pour désactiver Type (positionnement de la vue) désactivez la case à cocher
il y a une option pour changer le Label :
allez dans "User parameter:BaseApp/Preferences/Macros/FCMmacros/TechDrawProjView_ToolBar" mettez switchDisplayLineEdit à 1
Macro_D_Un_Jour_TechDrawProjView_ToolBar.FCMacro
dites moi si elle vaut la peine
mario
j'ai fait cette macro (barre d'outil) pas de bouton magique, sélectionnez une vue et cliquez le bouton de votre choix
lancez la macro dans la page (la barre d'outils peut disparaître quand vous changez d'atelier , if faudra la réactiver)
la vue centrale ("Principale" reste toujours au même endroit)
les autres vues prennent la position désignées par TechDraw (Type)
pour désactiver Type (positionnement de la vue) désactivez la case à cocher
il y a une option pour changer le Label :
allez dans "User parameter:BaseApp/Preferences/Macros/FCMmacros/TechDrawProjView_ToolBar" mettez switchDisplayLineEdit à 1
Macro_D_Un_Jour_TechDrawProjView_ToolBar.FCMacro
Code: Select all
# -*- coding: utf-8 -*-
#
#Macro_D_Un_Jour_TechDrawProjView_ToolBar
#https://forum.freecadweb.org/viewtopic.php?f=3&t=50817
#
__title__ = "TechDrawProjView_ToolBar" # on ToolBar
__author__ = "Mario52"
__url__ = "https://forum.freecadweb.org/viewtopic.php?p=615228#p615228"
__wiki__ = ""
__icon__ = ""
__version__ = "00.01"
__date__ = "2022/08/09" #YYYY/MM/DD
import FreeCAD, FreeCADGui
import TechDraw, TechDrawGui
App = FreeCAD
Gui = FreeCADGui
import PySide2
from PySide2 import (QtWidgets, QtCore, QtGui)
from PySide2.QtWidgets import (QWidget, QVBoxLayout, QStyle, QDockWidget, QToolBar, QDialog)
from PySide2.QtGui import (QColor, QIcon)
from PySide2.QtCore import QSize
##### Configuration begin ##############################################
#### for modify : go to : FreeCAD >Menu >Tools >Edit parameters... >BaseApp/Preferences/Macros/FCMmacros/FCInfo ####
##
FreeCAD.ParamGet(u"User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__).SetString(u"Version", __version__ + " (" + __date__ + ")")
##
global switchDisplayLineEdit # switchDisplayLineEdit = 0 # display or not the lineEdit for label : False
switchDisplayLineEdit = FreeCAD.ParamGet(u"User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__).GetBool(u"switchDisplayLineEdit")
FreeCAD.ParamGet(u"User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__).SetBool(u"switchDisplayLineEdit", switchDisplayLineEdit) #*True or False
##
global sizeIconX # size X icon (if switchToolbarIconSize = 1)
global sizeIconY # size Y icon (if switchToolbarIconSize = 1)
sizeIconX = sizeIconY = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/General").GetInt("ToolbarIconSize") # FC preference
if sizeIconX == 0: sizeIconX = 24
if sizeIconY == 0: sizeIconY = 24
##### Configuration end ################################################
checkBox_ToolBar = QtWidgets.QCheckBox()
checkBox_ToolBar.setChecked(True)
checkBox_ToolBar.setText(u"Type")
checkBox_ToolBar.setToolTip(u"Type of Projection" + "\n"
u"Checked = Yes / No")
if switchDisplayLineEdit == True:
lineEditLabel_ToolBar = QtWidgets.QLineEdit()
lineEditLabel_ToolBar.setVisible(True)
lineEditLabel_ToolBar.setToolTip(u"Label (option)" + "\n"
u"Give the label before select select the Projection plane button" + "\n"
u"If the LineEdit field is empty, the imposted name is restitued" + "\n\n"
u"For display or not display this LineEdit :" + "\n"
u"Go to : User parameter:BaseApp/Preferences/Macros/FCMmacros/" + __title__ + "\n"
u"check True or False")
def TechDraw_ProjFront(): # Front
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (0.0000, -1.0000, 0.0000)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (1.0000, 0.0000, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"Front"
sel.Label = u"Front"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjFront ",sel.Name)
except Exception: None
def TechDraw_ProjFrontBottomRight():
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (0.5774, -0.5774, -0.5774)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (0.7071, 0.7071, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"FrontBottomRight"
sel.Label = u"FrontBottomRight"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjFrontBottomRight")
except Exception: None
def TechDraw_ProjBottom():
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (0.0000, 0.0000, -1.0000)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (1.0000, 0.0000, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"Bottom"
sel.Label = u"Bottom"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjBottom")
except Exception: None
def TechDraw_ProjFrontBottomLeft():
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (-0.5774, -0.5774, -0.5774)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (0.7071, -0.7071, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"FrontBottomLeft"
sel.Label = u"FrontBottomLeft"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjFrontBottomLeft")
except Exception: None
def TechDraw_ProjLeft(): # Left
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (-1.0000, -1.0000, 0.0000)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (0.0000, -1.0000, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"Left"
sel.Label = u"Left"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjLeft")
except Exception: None
def TechDraw_ProjFrontTopLeft():
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (-0.5774, -0.5774, 0.5774)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (0.7071, -0.7071, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"FrontTopLeft"
sel.Label = u"FrontTopLeft"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjFrontTopLeft")
except Exception: None
def TechDraw_ProjTop(): # Top
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (0.0000, 0.0000, 1.0000)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (1.0000, 0.0000, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"Top"
sel.Label = u"Top"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
else:
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjTop")
except Exception: None
def TechDraw_ProjFrontTopRight():
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (0.5774, -0.5774, 0.5774)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (0.7071, 0.7071, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"FrontTopRight"
sel.Label = u"FrontTopRight"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjFrontTopRight")
except Exception: None
def TechDraw_ProjRight():
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (1.0000, 0.0000, 0.0000)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (0.0000, 1.0000, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"Right"
sel.Label = u"Right"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjRight")
except Exception: None
def TechDraw_ProjRear():
try:
sel = Gui.Selection.getSelection()[0]
FreeCAD.ActiveDocument.getObject(sel.Name).Direction = (0.0000, 1.0000, 0.0000)
FreeCAD.ActiveDocument.getObject(sel.Name).XDirection = (-1.0000, 0.0000, 0.0000)
if checkBox_ToolBar.isChecked():
sel.Type = u"Rear"
sel.Label = u"Rear"
if (switchDisplayLineEdit == True):
if (lineEditLabel_ToolBar.text() != ""):
sel.Label = lineEditLabel_ToolBar.text()
lineEditLabel_ToolBar.clear()
App.activeDocument().recompute(None,True,True)
#print("TechDraw_ProjRear")
except Exception: None
#############################################################################
class SelObserver:
def addSelection(self, document, object, element, position): # Selection
global ui
None
#############################################################################
####
mw = FreeCADGui.getMainWindow()
tb = mw.findChildren(QtWidgets.QToolBar)
switchtbar = 0
for i in tb:
if str(i.objectName()) == __title__:
FreeCAD.Console.PrintError(__title__ + " is already open" + "\n")
switchtbar = 1
# if i.isVisible():
# i.setVisible(False) # visible False
# else:
i.setVisible(True) # visible True
break
pageTCD = Gui.ActiveDocument.ActiveView
if str(pageTCD) == u"MDI view page":
if switchtbar == 0:
toolbar1 = QtWidgets.QToolBar()
toolbar1.setObjectName(__title__)
toolbar1.setWindowTitle(__title__)
mw.addToolBar(toolbar1)
toolbar1.setIconSize(QSize(sizeIconX, sizeIconY))
# Icon fromTheme FreeCAD
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjFront.svg")), "Front", TechDraw_ProjFront)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjFrontBottomRight.svg")), "Front Bottom Right", TechDraw_ProjFrontBottomRight)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjBottom.svg")), "Bottom", TechDraw_ProjBottom)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjFrontBottomLeft.svg")), "Front Bottom Left", TechDraw_ProjFrontBottomLeft)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjLeft.svg")), "Left", TechDraw_ProjLeft)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjFrontTopLeft.svg")), "Front Top Left", TechDraw_ProjFrontTopLeft)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjTop.svg")), "Top", TechDraw_ProjTop)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjFrontTopRight.svg")), "Front Top Right", TechDraw_ProjFrontTopRight)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjRight.svg")), "Right", TechDraw_ProjRight)
toolbar1.addAction(QtGui.QIcon.fromTheme("TechDraw",QtGui.QIcon(":/icons/TechDraw_ProjRear.svg")), "Rear", TechDraw_ProjRear)
toolbar1.addWidget(checkBox_ToolBar)
if (switchDisplayLineEdit == True):
toolbar1.addWidget(lineEditLabel_ToolBar)
else:
FreeCAD.Console.PrintError("Edit the TechDraw page (actual : " + str(pageTCD) + ")" + "\n")
########
merci quelle(s) macro(s) sont/est intéressante(s) ?
mario
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Topological_data_scripting.
My macros on Gist.github here complete macros Wiki and forum.
My macros on Gist.github here complete macros Wiki and forum.
- freecadjam
- Veteran
- Posts: 1994
- Joined: Tue Jul 17, 2018 10:47 am
- Contact:
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
suggestion 002
Par rapport à 29971 linux weekly
Augmenter le potentiel de PartDesign Pad jusqu'à la face,
qu'il soit possible d'actionner la symétrie par rapport au sketch, ce qui est actuellement bridé (voir symétrie false grisé dans les propriétés de Pad).
Ceci n'étant pas possible, on doit s'en occuper à la place de Pad en faisant un miroir par rapport au plan du sketch (XZ par exemple), chose impossible ensuite par rapport au plan YZ (car le miroir ne s'occupe que d'additif et de soustractif et pas d'ancien miroir), ce qui nous contraint, si on en a besoin, à dessiner une symétrie au départ.
Dans les paramètres, expliquer ce que vaut le paramètre Allow Multi Face, True/False SVP.
Par rapport à 29971 linux weekly
Augmenter le potentiel de PartDesign Pad jusqu'à la face,
qu'il soit possible d'actionner la symétrie par rapport au sketch, ce qui est actuellement bridé (voir symétrie false grisé dans les propriétés de Pad).
Ceci n'étant pas possible, on doit s'en occuper à la place de Pad en faisant un miroir par rapport au plan du sketch (XZ par exemple), chose impossible ensuite par rapport au plan YZ (car le miroir ne s'occupe que d'additif et de soustractif et pas d'ancien miroir), ce qui nous contraint, si on en a besoin, à dessiner une symétrie au départ.
Dans les paramètres, expliquer ce que vaut le paramètre Allow Multi Face, True/False SVP.
- Attachments
-
- pad droit jusqu'à la face.FCStd
- (29.84 KiB) Downloaded 19 times
-
- Capture d’écran_2022-08-10_10-39-34.png (98.08 KiB) Viewed 1220 times
- Shalmeneser
- Veteran
- Posts: 9560
- Joined: Wed Dec 23, 2020 12:04 am
- Location: Fr
Re: ce que vous avez toujours voulu sans jamais avoir osé le demander
On peut aussi réutiliser ce sketch pour un Pad UpToFace d'une autre face.
Ici ça ne marchera pas car la face est circulaire et donc un Mirror est plus efficace.
Ici ça ne marchera pas car la face est circulaire et donc un Mirror est plus efficace.