Tournage (Lathe)

C'est une fonctionnalité expérimentale de la version 0.9.8, toujours en test et développement, le Gcode résultant doit être utilisé avec précaution! Utilisez un simulateur ou un usinage "en l'air" avant usinage.

Cette opération d'usinage est implémentée sous la forme d'un plugin. De cette manière le plugin peut être développé et mis à jour indépendamment de l'application principale de CamBam. C'est également une démonstration de ce qu'il est possible de faire pour étendre les possibilités du logiciel en utilisant des plugins écrit par l'utilisateur.

Le fichier lathe-test.cb dans le dossier sample de CamBam montre le fonctionnement de cette nouvelle fonction.

Dans cette première version il y a un certain nombre de limitations

  • Seules les opérations de profilage sont actuellement prisent en charge. Le dressage de face, le perçage et le filetage ne sont pas encore implémentés.
  • Mis à part le rayon de l'outil, Il n'y a pas de mécanisme permettant de définir un profil d'outil. Le tracé devra être élaboré en tenant compte de la taille/forme de l'outil.

Dessin

Un profil de tournage est généré à partir d'une ligne 2D représentant la forme à usiner.

La pièce doit être dessinée avec le centre de rotation autour de l'axe X. Le dessin doit être dans le même sens que lorsque l'on se tient face au tour.

L'axe +X du tour est dessiné dans la direction -Y et
L'axe +Z du tour est dessiné dans la direction -X.

Les parcours seront convertis en coordonnées X et Z lorsque le Gcode sera produit.

Ne dessinez que le profil qui devra être usiné, ne dessinez pas de polyligne fermée, la partie de la pièce se trouvant de l'autre coté de l'axe ou toute autre ligne le long de l'axe de rotation sinon l'opération Tournage essaiera de les usiner, ce qui provoquera des problèmes.

Le profile peut être tracé n'importe ou dans la zone de dessin, mais dans le cas ou vous n'utilisez pas l'origine, vous devrez positionner l'origine machine de façon à ce qu'elle se trouve au croisement de l'axe de rotation et du Z=0 du tour.

Un exemple d'un profil utilisant l'origine du dessin.

Le même profil dessiné loin de l'origine, l'origine machine (croix rouge) à été positionnée au point 0,0 des axes X et Z du tour (X et Y de la vue CamBam)

Vous pouvez positionner l'origine machine par le paramètre MachiningOrigin du dossier Machining ou du dossier part (groupe) supérieur. Cliquez sur le bouton à droite puis cliquez sur le dessin pour positionner l'origine machine.

Le brut (Stock object)

L'opération de tournage peut utiliser les informations de l'objet Stock (brut) pour déterminer la valeur des propriétés comme StockSurface et volume d'usinage.

Pour l'instant CamBam ne gère pas les bruts cylindriques, le brut sera donc vu sous la forme d'un bloc rectangulaire.

Une vue avec un objet Stock défini pour une pièce de 80 mm de Ø et 100 mm de long.(cube violet)

Si le paramètre StockSurface est sur Auto la taille du brut est utilisée pour le définir.

  • La taille en X correspond à la longueur du brut (dans l'axe Z du tour).
  • Les dimensions en Y et Z doivent toutes les deux êtres égale au diamètre du brut.
  • StockSurface: est défini à la valeur du rayon du brut.
  • La valeur X de StockOffset est définie à 0 et la valeur Y doit être égale à la valeur négative du rayon du brut.

Utiliser l'opération de tournage

Sélectionnez un profil approprié, puis insérez une opération de tournage par le menu Machining/Lathe .

Note: Pour l'instant il n'y a pas d'icône dans la barre d'outil ni d'accès par le menu contextuel de la zone de dessin.

Assurez-vous que les paramètres suivants sont réglés

  • Workplane: XZ (plan de travail)
  • StockSurface: Egale au rayon du brut.
  • ClearancePlane: Supérieur au rayon du brut.
  • MachiningOrigine: Le long de l'axe de rotation
  • ToolDiameter: Le double du rayon du bec de l'outil
  • ToolProfile: Lathe (tour)
  • RoughingFinishing: Réglé en fonction de l'opération d'ébauche ou de finition.
  • Si vous êtes en usinage d'ébauche, utilisez le paramètre RoughingClearance pour laisser de la matière pour la passe de finition.
  • Définissez une profondeur de passe (DephtIncrement) et une vitesse d'avance appropriée à la matière à usiner.
  • Définir le brut (objet stock) si nécessaire.
  • Sélectionnez le post processeur approprié dans les propriétés du dossier d'usinage (machining), Mach3-Turn ou EMC-Turn.

Propriétés

ClearancePlane

Le plan libre ou plan de dégagement (décalage par rapport au plan de travail) en coordonnée X du tour

Le ClearancePlane doit être libre de tous obstacles, il représente toujours un rayon (qui devra être supérieur au rayon du brut).

CustomMOPFooter Un script en Gcode (multiligne) qui sera inséré après l'Opération d'Usinage (MOP) courante dans le Gcode produit.
CustomMOPHeader Un script en Gcode (multiligne) qui sera inséré avant l'Opération d'Usinage (MOP) courante dans le Gcode produit.
CutFeedrate Vitesse d'avance
DepthIncrement

En ébauche (roughing) c'est la profondeur d'usinage maximum prise pour chaque passe.

Enabled True: Des parcours d'outils et du Gcode seront générés pour cette Opération d'usinage(MOP)
False: L'opération sera ignorée, aucun Gcode/parcours d'outil ne sera produit pour cette MOP
LatheCutDirection

RightHand: (à droite) – L'outil coupe en se déplaçant de droite à gauche (+Z -> -Z)
LeftHand: (à gauche) – L'outil coupe en se déplaçant de gauche à droite (-Z -> +Z)

Name

Chaque Opération d'Usinage (MOP) peut recevoir un nom ou une description qui sera inclus sous forme de commentaire dans le Gcode produit. Cela permet d'identifier facilement les différentes opérations dans le code.

MaxCrossoverDistance

Distance maximum, en fraction du Ø de la fraise ( 0 à 1) ou la matière sera coupée par déplacement horizontal de l'outil.(trajectoires //, usinage de poches,..) Si la distance jusqu'à la prochaine trajectoire et supérieure à MaxCrossoverDistance l'outil remontera, se déplacera en rapide à la hauteur définie dans ClearancePlane jusqu'à la prochaine trajectoire, puis plongera de nouveau dans la matière.

OptimisationMode

Une option qui permet de définir la méthode utilisée pour déterminer l'ordre dans lequel les trajectoires seront exécutées (pour la production du Gcode)

Default – Les trajectoires sont ordonnées pour minimiser les déplacements en rapide
Experimental – Un optimiseur de trajectoires amélioré qui est actuellement en test.
None – Pas d'optimisation, les trajectoires sont générées dans l'ordre ou elles ont été créées.

PlungeFeedrate Vitesse d'avance en plongée (Z).
PrimitiveIds La liste des objets (formes) à partir desquels cette Opération d'Usinage est définie.
RoughingClearance

C'est la quantité de matière à laisser par rapport à la cote finale.

Le reste est généralement enlevé plus tard lors de la passe de finition.

Des valeurs négatives peuvent être utilisées pour augmenter la profondeur de la dernière passe.

RoughingFinishing

La propriété RoughingFinishing est utilisée pour sélectionner la méthode d'usinage.

Roughing: - (ébauche) Si sélectionné, un certain nombre de coupes droites seront effectuées en utilisant la profondeur de passe définie dans DephtIncrement suivies d'une dernière passe effectuée en suivant le profil de la pièce, tout en laissant l'épaisseur de matière définie dans RoughingClearance.

Finishing: (finition) Une seule passe suivant le contour de la pièce sera effectuée, toujours en tenant compte d'une éventuelle surépaisseur définie dans.

SpindleDirection Sens de rotation de la broche: CW = sens horaire (normal) / CCW = sens anti-horaire / Off = Arrêt
SpindleSpeed Vitesse de rotation de la broche en tr/min.
StartPoint

Utilisé pour choisir un point proche de l'endroit ou devra démarrer l'usinage.
Si le point de départ est défini, un petit cercle sera affiché à cet endroit lorsque l'Opération d'Usinage (MOP) est sélectionnée. Le point de départ peut être déplacé par un cliquer/glisser du bouton gauche.

StockSurface

Coordonnée Z de la surface de la pièce d'où démarrera l'usinage.

Style
[Nouveauté 0.9.8]

Permet de sélectionner un Style d'Usinage pour cette opération. Tous les paramètres par défaut seront hérités de ce style.

Tag
[Nouveauté 0.9.8]

A des fins générales, champ de texte multiligne qui peut être utilisé pour stocker des notes ou les paramètres des plugins.

ToolDiameter

Diamètre de l'outil (en unité utilisée par le dessin)

Si le Ø est à 0, la valeur utilisée sera celle qui correspond au n° d'outil stocké dans la bibliothèque d'outils courante.

ToolNumber

Utilisé pour identifier l'outil en cours.

Si le n° d'outil change d'une MOP à l'autre, une instruction "changement d'outil" est généré dans le Gcode.
ToolNumber = 0 est un cas spécial, aucun changement d'outil n'est généré.

Le n° d'outil est également utilisé pour récupérer les informations le concernant dans la bibliothèque d'outils courante.
La bibliothèque est définie dans le groupe (part) parent ou au niveau du dossier Usinage (Machining).
Si aucune bibliothèque n'est définie, la bibliothèque par défaut sera utilisée (default-in ou default-mm suivant unité courante).

ToolProfile

Le profil de l'outil. Vous devez utiliser les profils d'outils de la bibliothèque lathe

Si non spécifié, le profil utilisé sera celui stocké dans la bibliothèque d'outils pour le n° de cet outil.

VelocityMode

Mode de suivi de trajectoire:

ConstantVelocity: Vitesse constante (G64) mais moins précis.
ExactStop: (G61) Suivi précis de la trajectoire, mais ralentissement et à coups dans la vitesse d'avance.
Undefined: Utilise la valeur définie dans les options du niveau usinage (dossier machining)

WorkPlane

Doit toujours être défini sur XZ pour produire du Gcode de tournage.

Post-processeur

Trois exemples de post processeurs spécifiques au tournage sont fournis, Mach3-Turn, Mach3-Turn-CV (Mach3 + définitions pour CutViewer) et EMC-Turn. Ces fichiers peuvent nécessiter des modifications pour être adaptés à la configuration des contrôleurs.

Cette section décrit certaines propriétés du post processeur qu'il peut être pertinent de modifier pour personnaliser la sortie du Gcode de tournage.

LatheXMode

Détermine si les coordonnées X du tour seront écrites en Rayon ou en Diamètre dans le Gcode.

DepthIncrement, StockSurface et ClearancePlane doivent toujours être spécifiés sous la forme d'un rayon, quelle que soit la valeur de LatheXMode.

LatheToolRadiusOffset

Si à False, le parcours d'outil passe par le centre du rayon de l'outil.

Si à True, un décalage de la trajectoire est appliqué en fonction du rayon de l'outil. Le parcours sera décalé d'une valeur négative en X équivalent au rayon de l'outil. La direction du décalage en Z du rayon de l'outil est déterminée par la direction de coupe.

Pour une coupe à droite, la valeur en Z sera décalée d'une valeur négative, d'une valeur positive pour une coupe à gauche.

Tool radius offsets

Dans le dessin ci-dessus, la croix rouge représente le point de référence de la trajectoire lorsque LatheToolRadiusOffset est à True. Si à False, c'est le point noir au centre du rayon de l'outil qui servira de point de référence. Le point de référence est parfois appelé point 'virtuel' ou 'imaginaire' de l'outil.

XModeDiameter

Code à utiliser pour passer en mode diamètre pour le X (G7 for EMC2)

XModeRadius

Code à utiliser pour passer en mode rayon pour le X (G8 for EMC2)

InvertArcs

Si à true, les arcs en sens horaire sont sortis en anti-horaire et vice versa. Cela peut être utile pour les usinages sur la face de la pièce.

ArcOutput

Normal est le mode à utiliser de préférence, il utilise les codes G2 et G3 pour le codage des arcs de cercle.

ConvertToLine peut être utilisé en dernier ressort si CamBam ne peut pas générer les codes pour les arcs dans un format compatible avec le contrôleur de destination. Il transformera tous les arcs en une série de lignes droites. La propriété ArcToLineTolerance sera utilisée pour déterminer la précision de cette conversion.

Définition des outils

Un exemple de bibliothèque d'outils de tournage est fourni (Lathe-mm).

La bibliothèque d'outil peut être sélectionnée via la propriété ToolLibrary du dossier d'usinage ou du groupe d'usinage (Machining ou Part).

Pour l'instant les bibliothèques d'outils sont prévues pour les outils de fraisage plutôt que de tournage. Toutefois il y a quelques paramètres qu'il peut être utile de stocker dans la bibliothèque d'outils.

ToolProfile doit toujours être réglé sur Lathe. Entre autres choses, cela renseigne le post processeur pour qu'il détermine le rayon de l'outil en fonction du diamètre d'outil.

Une nouvelle propriété ToolChange a été ajoutée. C'est une valeur texte qui peut être incluse par le post processeur lors de l'utilisation de la macro {$tool.toolchange} de la section ToolChange du post processeur.

Par exemple, CutViewer Turn reconnais un commentaire Gcode qui définis la géométrie des outils de tournage dans le format suivant:

TOOL/STANDARD,BA,A,R,IC,ITP

Référez-vous à la documentation de CutViewer Turn pour plus de détails, voici un bref aperçu des paramètres.

  • BA - Angle de l'outil.
  • A - Angle de la plaquette.
  • R - Rayon.
  • IC - Cercle intérieur.
  • ITP - Point imaginaire de l'outil. 0 = Central, 3 = décalage à droite, 4 = décalage à gauche.

Exemple:

{$comment} TOOL/STANDARD,40,40,{$tool.radius},2,3 {$endcomment}