Flamingo Workbench/fr

Introduction
L'atelier Flamingo est un ensemble de commandes et objets FreeCAD personnalisés qui permettent principalement d'accélérer la conception de charpentes et de canalisations.


 * L'atelier "Flamingo" est dédié aux versions utilisant la syntaxe Python >2.7 et la boîte à outils Qt4.


 * L'atelier "Dodo" est pour Python >3.6 et Qt5.

Par commodité, les outils Flamingo/Dodo sont groupés dans trois barres d'outils et menus + un ensemble utilitaire.


 * Outils Frame : ils visent à organiser les charpentes, les structures et autres éléments similaires dans FreeCAD à l'aide des objets Structure du module Arch. .../flamingo/tutorials/tutorialFrame.pdf
 * Outils Pype : C’est la suite logique des outils Frame, car ils traitent de la création de canalisations et de structures tubulaires. Ils disposent également de ses propres classes Python pour créer les objets de tuyauterie, tels que des tubes, des coudes, des brides, etc. .../flamingo/tutorials/tutorialPype2.pdf
 * Outils Eagle : C'est essentiellement un ajout et un raccourci vers l'atelier très professionnel FreeCAD-PCB (également disponible dans le référentiel des add-ons FreeCAD) pour importer la position des objets d’un fichier Eagle .brd vers un dessin PCB dans FreeCAD avec l'atelier Arch module liés seulement par leurs noms. C'est aussi l'origine, par extension, du nom de l'ensemble de l'atelier. .../flamingo/tutorials/tutorialEagle.pdf
 * La barre d’outils Utilitaires fournit certaines fonctionnalités permettant d’interroger les objets du modèle et leur distance, pour déplacer/pivoter le plan de travail et un petit extrait de la boîte de dialogue de création DWire du module Draft, qui permet de modifier la position du plan de travail à la volée.

Références

 * Auteur : oddtopus
 * Code source sur github :

https://github.com/oddtopus/flamingo

https://github.com/oddtopus/dodo

Installation
Cet atelier est facile à installer et à mettre à jour à partir de l'Addon Manager disponible dans FreeCAD 0.17 et supérieur. Pour les utilisateurs de FreeCAD 0.16 et les autres méthodes d'installation, reportez-vous à la section Installation de contenu additionnel. Plus précisément, la page de téléchargement de GitHub contient des instructions d’installation : téléchargez le fichier Zip, décompressez-le et placez le dossier flamingo-master dans votre répertoire. Si le répertoire n'existe pas, créez-le par  sur Ubuntu.

Outils Frame



 * 1) Placement d'une poutre sur une arête (classe frameIt)

Avec un objet poutre et une arête dans le modèle, cet outil pose la poutre sur une arête en sélectionnant l'une puis l'autre jusqu'à ce que vous appuyiez sur ESC.


 * 2) Remplissage du cadre (classe fillFrame)

Boîte de dialogue permettant de créer sur plusieurs arêtes sélectionnées dans la fenêtre les poutres du type de celles précédemment choisies parmi celles présentes dans le modèle.

Avec le bouton Sélectionner, il est possible de changer le type de poutre.


 * 3) Insérer un chemin (classe insertPath)

Outil permettant de créer un fil DWire continu sur le chemin défini par les arêtes sélectionnées dans la fenêtre, même si celles-ci ne se touchent pas, se croisent au milieu ou appartiennent à des objets différents. La seule contrainte est qu'il existe une intersection entre deux arêtes consécutives, dans l'ordre dans lequel elles ont été sélectionnées. De plus, le DWire donne les propriétés d'affichage d'une ligne centrale, c'est-à-dire orange et pointillé.


 * 4) Insérer des Sections Std. (classe insertSection)

Boîte de dialogue permettant de créer un ensemble de profils à utiliser dans le modèle pour l'objet FrameLine. D'autres tables de profils peuvent être créées en ajoutant le fichier approprié dans le dossier. Les règles permettant de créer ou de personnaliser de tels tables sont similaires à celles relatives aux canalisations.
 * Liste des Sections : comprend toutes les sections définies dans le fichier correspondant au type de section sélectionné.
 * Liste des types de section : types de profils définis avec les fichiers inclus dans le dossier
 * Bouton Insérer : crée le groupe "Profiles_set", s'il n'existe pas déjà, et y ajoute l'objet du profil sélectionné.

D'autres profils peuvent être dessinés dans le modèle et glissés dans le groupe "Profiles_set".

L'orientation des fils DWires peut influer sur le rendu des poutres.


 * 5) Gestionnaire FrameLine (classe FrameLineManager)

Comme pour les objets "pype-line", il s'agit d'une boîte de dialogue permettant de créer et de modifier les propriétés des objets "frame-line".

De même que ce qui a été vu ci-dessus, les FrameLine sont des objets qui collectent des propriétés communes à un ensemble de poutres (à savoir la section de la poutre), qui sont incluses dans un groupe commun de l'arborescence du modèle. Elles ont également une propriété facultative ".Base", définie par défaut sur Aucune, qui est la ligne médiane des poutres du cadre. Une fois qu'un chemin, alias .Base, est défini (un DWire ou un Sketch), d'autres poutres peuvent être ajoutées à la FrameLine, mais elles seront supprimés sur demande de Redessiner. La boîte de dialogue offre les fonctionnalités suivantes : Si le nom d'un objet FrameLine est modifié, le nom du groupe approprié changera automatiquement, mais pas l'inverse.
 * une liste des profils de poutres précédemment inclus dans le modèle par la boîte de dialogue "Insérer des sections standard" (lire plus loin) ;
 * une liste déroulante pour sélectionner la FrameLine active parmi celles déjà créées ou pour en créer une nouvelle ;
 * une zone de texte où écrire le nom de la FrameLine à créer ; si rien ou " ", la FrameLine sera nommée par défaut "Telaio00n" ;
 * Bouton Insérer : crée un nouvel objet FrameLine ou ajoute de nouveaux membres à celui sélectionné dans la liste déroulante si des arêtes sont sélectionnées dans la fenêtre active.
 * Bouton Redessiner : crée de nouvelles poutres et les place sur le chemin sélectionné. Les nouvelles poutres seront collectés à l'intérieur du groupe FrameLine. Ne crée pas et ne met pas à jour les poutres ajoutées à FrameLine en dehors de son chemin défini.
 * Bouton Effacer : supprime toutes les poutres du groupe FrameLine. Cela s'applique également aux poutres ajoutées à la FrameLine en dehors de son chemin défini.
 * Bouton Obtenir Path : assigne le Dwire sélectionné à l'attribut Path de l'objet FrameLine.
 * Bouton Obtenir profil : modifie l'attribut Profil de l'objet FrameLine par celui de la poutre sélectionnée dans la fenêtre ou celle sélectionnée dans la liste.
 * Case à cocher Copier le profil : si cette case est cochée, un nouvel objet profil est généré pour chaque poutre afin d’éviter les références multiples dans le modèle.
 * Case Déplacer vers l'origine : si cochée, déplace le centre de gravité du profil vers le système d'origine des coordonnées : le centre de la poutre coïncide avec le centre de gravité du profil.


 * 6) Gestionnaire FrameBranch

Semblable à la fonction analogue du menu Pype, il s’agit d’un conteneur pour les poutres structurées sur une .Base. La base peut être un DWire, une esquisse ou les bords d’une forme solide. Lorsque la base sous-jacente est modifiée, la position et la longueur des poutres sont également modifiées en conséquence. Il est possible de couper/étendre n'importe quelle géométrie sur les poutres et de faire pivoter les sections le long de la ligne médiane à l'aide des commandes fournies dans la boîte de dialogue : de cette manière la modification n'est pas perdue lors du recalcul du document.
 * OK crée une branche sur la géométrie présélectionnée
 * Annuler ferme la boîte de dialogue
 * la zone de texte   permet d'insérer un nom personnalisé à la fonctionnalité
 * la liste déroulante permet de sélectionner le type de section à afficher dans la liste. (voir ../Mod/flamingo/shapes ou ../Mod/dodo/shapez pour personnaliser)
 * AddBeams ajoute un membre à un cadre sur l'arête sélectionnée. L'arête doit appartenir à une branche existante
 * RemoveBeams supprime la poutre sélectionnée de l'arête correspondante
 * ChangeProfile change les profils de la framebranch. Pour sélectionner la branche, il suffit de sélectionner l'un de ses membres dans la zone d'affichage.
 * Sélectionner cibles sélectionne la géométrie dans la zone de visualisation pour couper/étendre les poutres. Les cibles peuvent également n'appartenir à aucune branche.
 * Couper/Étendre change la longueur des membres sélectionnés en cibles
 * Ajout unique crée une poutre de la   spécifiée, non liée à la base des arêtes ou des surfaces sélectionnées.
 * Redessiner recrée le cadre, en supprimant tous les décalages et rotations

Lorsqu'une poutre appartenant à une branche est sélectionnée dans la zone de visualisation, son EXTRÉMITÉ est mise en surbrillance. Cela permet de modifier manuellement les décalages de queue et de tête, à côté de la rotation de la section, en utilisant les commandes fournies dans la boîte de dialogue.


 * 7) Tourner poutres par 45 deg. (classe spinSect)

Outil pour faire tourner un objet de 45 degrés autour de l’axe "Z" de sa forme.


 * 8) Inversion d'orientation (classe reverseBeam)

Outil permettant de faire pivoter un objet de 180 degrés autour de l’axe "X" de sa forme. Notes : si un bord de l'objet est sélectionné, il est utilisé comme pivot de rotation.


 * 9) Déplacer la poutre (classe shiftBeam)

Boîte de dialogue pour déplacer et copier des objets.

Les zones de texte X, Y et Z permettent de saisir directement la valeur de déplacement dans chaque direction.

Zone de texte Multiple est le coefficient multiplicateur de la valeur du déplacement.

Le champ Étapes est le diviseur de la valeur du déplacement. Il est utilisé lorsque la valeur du déplacement doit correspondre à un certain nombre d'étapes.

Le bouton Obtenir déplacement prend la quantité et le sens du déplacement de la distance des entités sélectionnées (points, arêtes, faces) ou même d’une seule arête. Dans ce dernier cas, une flèche verte s'affiche pour indiquer la direction.

OK pour effectuer l'action et Annuler pour fermer la boîte de dialogue.


 * 13) Tourne + joint les arêtes (classe rotJoin)

Outil pour déplacer et faire pivoter les poutres pour assembler deux arêtes. Comme ci-dessus mais cela rend également les bords colinéaires.


 * 10) Pivoter la poutre (classe pivotBeam)

Boîte de dialogue permettant de faire pivoter une poutre ou un autre objet sur l’un de ses bords.

Zone de texte Angle pour insérer l'angle de rotation.

Bouton Inverser pour tourner dans le sens opposé, si nécessaire.

OK pour effectuer l'action et sur Annuler pour fermer la boîte de dialogue.


 * 11) Affleurer les surfaces (class levelBeam)

Outil pour affleurer les faces parallèles de deux objets. Actuellement la commande prend ce qui est au même niveau, respecte la position et l'orientation de la première face sélectionnée, le centre de gravité de toutes les faces sélectionnées. Ainsi, elle translate les objets même si les faces ne sont pas parallèles.


 * 12) fusionner les arêtes (class alignEdge)

Outil pour coupler deux arêtes parallèles. En réalité, la commande déplace les objets le long de la distance minimale entre le bord sélectionné et le premier. Ainsi, il déplace l'objet même si les bords ne sont pas parallèles et constitue un bon moyen de placer les objets à la position souhaitée. Il est également possible de sélectionner deux arêtes d'un même objet. Avec cette méthode, il est possible de déplacer rapidement un objet par étapes définies sur sa propre géométrie.


 * 14) alignement de brides (classe alignFlange)

Boîte de dialogue pour faire pivoter les poutres de sorte que leurs surfaces soient parallèles à un plan de référence.

Il est possible de présélectionner la face de référence avant d'appeler la commande.

Les trois boutons XY, XZ et YZ permettent de choisir directement l’orientation des plans principaux comme référence.

Enfin, il est possible d'entrer directement la nouvelle orientation des faces à l'aide des trois coordonnées du repère cartésien et du bouton Régler repère cartésien.


 * 15) Étirer une poutre (classe stretchBeam)

Boite de dialogue pour changer la longueur des poutres.

Dans la zone de texte, écrivez la nouvelle longueur qui sera appliquée aux poutres ou tuyaux sélectionnés. Sinon, le bouton Obtenir la longueur prend la nouvelle longueur de la géométrie sélectionnée (soit la longueur de la poutre ou de l'arête, soit la distance entre des entités géométriques).

Avec le curseur, il est possible de changer la longueur saisie dans la zone de texte de -100% à + 100%.

Les boutons radio Head et Tail permettent de choisir le côté de la poutre à modifier.


 * 16) Étendre la poutre (classe extend)

Boîte de dialogue pour étendre une poutre jusqu'à une cible sélectionnée.

Si des entités sont présélectionnées avant d'appeler cette commande, la première entité est automatiquement prise comme cible et l'objet qui lui est associé est supprimé de la sélection. Dans tous les cas, il est possible de changer d'objet cible avec le bouton-poussoir Sélectionner.


 * 17) Ajuster l'angle des encadrements (classe adjustFrameAngle)

Outil pour ajuster les poutres aux angles droits des encadrements. Pour comprendre au mieux son fonctionnement, reportez-vous au didacticiel précédent.

Outils Tuyauteries



 * 1) Ajouter un tube

Ouvre une boîte de dialogue pour insérer des tubes.

La liste déroulante située en haut à droite est une fonctionnalité commune à toutes les boîtes de dialogue "Insérer ...": elle répertorie les objets de ligne de type définis dans le document actuel: cette option permet de sélectionner à quelle ligne de type d'attribuer les canaux nouvellement créés. Vous pouvez également laisser pour que l'objet soit créé sur la ligne racine du modèle de pièce. Dans le coin supérieur gauche est imprimée la classification de conduite actuellement sélectionnée, extraite de la liste dans la colonne de droite. Les dimensions des tuyaux pour chaque classe de tuyau sont définies dans des fichiers .csv, qu'il est possible d'ajouter ou de modifier, avec quelques règles de nommage simples, en fonction des besoins. Les courbes, les réductions, etc. ont les mêmes règles pour la définition de leurs tableaux de dimensions: voir les fichiers dans ../Mod/flamingo/Tables. Lisez aussi "tutorialPype.pdf" pour savoir comment les personnaliser ou les créer.

Pour définir la position et l’orientation des tuyaux, les sélections suivantes sont possibles: Si aucune longueur n'est spécifiée, la valeur par défaut est 200 unités (longueur conventionnelle en mm).
 * un ou plusieurs bords droits
 * un ou plusieurs bords courbes
 * un ou plusieurs sommets
 * rien; dans ce cas, le tube sera placé à l'origine.

Le bouton Reverse permet de faire pivoter de 180 ° le dernier tube créé ou ceux sélectionnés.

Le bouton Apply permet d'appliquer une longueur différente ou un diamètre nominal différent aux tubes sélectionnés.


 * 2) Ajouter un coude

Ouvre une boîte de dialogue pour insérer un coude.

En plus des widgets communs avec les autres boîtes de dialogue "Insérer...", le bouton Trim/Extend (Couper/Etendre) permet d'ajuster la longueur des tuyaux sélectionnés au bord sélectionné de la courbe. Pour définir la position et l'orientation, les sélections suivantes sont possibles: Si aucun angle n'est spécifié, la valeur par défaut est 90 degrés.
 * un sommet,
 * un bord circulaire,
 * un tuyau à l'une de ses extrémités. Dans ce cas, le diamètre et l'épaisseur de la courbe s'ajusteront automatiquement à ceux du tuyau sélectionné.
 * une paire d'arêtes, de tuyaux ou de poutres, également non jointifs mais se croisant. Dans ce cas, les propriétés de la courbe seront automatiquement ajustées pour connecter les deux objets sélectionnés. Les tuyaux également sélectionnés seront automatiquement ajustés ou étendus jusqu'aux bords de la courbe.
 * rien. Dans ce cas, la courbe sera placée à l'origine.


 * 3) Ajouter une réduction

Ouvre une boîte de dialogue pour insérer des réductions concentriques.

Pour définir la position et l'orientation, les sélections suivantes sont possibles: deux tuyaux parallèles (éventuellement colinéaires) Si un tuyau est sélectionné, ses propriétés sont appliquées à la réduction.
 * un tuyau à l'une de ses extrémités
 * un tuyau
 * un bord circulaire
 * un bord droit
 * un sommet
 * rien (créé à l'origine)

Si deux tuyaux sont sélectionnés, l'outil essaiera automatiquement de les connecter avec le diamètre majeur et mineur de droite.


 * 4) Ajouter une tape

Ouvre la boîte de dialogue pour insérer des bouchons.

Pour définir la position et l'orientation, les sélections suivantes sont possibles: Si un bord de tuyau est sélectionné, les propriétés des bouchons s’adapteront automatiquement à celles du tuyau.
 * un ou plusieurs bords courbes (axe et origine au centre)
 * un ou plusieurs sommets
 * rien


 * 5) Ajouter une vanne

Créez un "espace réservé" d'une vanne à partir d'une table .csv comme ci-dessus. Outre la dimension de décalage, il est important car il définit également le coefficient Kv qui sera utilisé pour calculer les pertes de pression avec l'outil correspondant dans le menu "Utils". Notez que le symbole de l'espace réservé change en fonction du type de vanne, si son nom est identifié par un mot clé parmi "boule", "papillon" ou "globe".


 * 6) Ajouter une bride

Ouvre une boîte de dialogue pour insérer des brides. Pour définir la position et l'orientation, les sélections suivantes sont possibles: Si un tuyau est sélectionné, ses propriétés sont appliquées à la bride.
 * un ou plusieurs bords circulaires,
 * un ou plusieurs sommets,
 * rien.


 * 7) Ajouter un boulon-U

Ouvre la boîte de dialogue pour insérer des boulons en U.

Pour définir la position et l'orientation, les sélections suivantes sont possibles: Si un tuyau est sélectionné, ses propriétés sont appliquées au boulon en U. De plus, il est possible de choisir de placer le boulon en U au niveau des extrémités "Head" ou "Tail" ou du "Middle" des tuyaux en cochant la case correspondante.
 * un ou plusieurs bords circulaires
 * un ou plusieurs tuyaux
 * rien.

Avec le bouton '''Ref. face''', il est possible de sélectionner la face du support sur laquelle orienter l'axe du boulon en U.

Seulement dans dodo : les composants de tuyauterie ci-dessus peuvent également être insérés à partir du menu à tarte dédié.


 * 8) Gestionnaire ligne de tuyauterie

Avant de parler du dialogue, rappelez-vous ce qu'est un objet de type tuyauterie dans le contexte de Flamingo Workbench.

Cet objet représente une collection d'objets "PType" qui sont mis à jour avec les méthodes définies dans la classe Python elle-même. À l'heure actuelle, cela crée, avec la méthode "obj.Proxy.update(obj,[edges])", tuyaux et courbes à partir des arêtes données et les rassemble dans un groupe nommé d'après l'obj.Label des objets. Un rayon de courbure standard "3D" (càd 1,5xO.D.) est appliqué aux courbes. Le rayon de courbure est une propriété commune d'un objet de type tuyauterie, vous pouvez donc le modifier, puis le redessiner. Lorsque l'étiquette d'un objet de type tuyauterie est renommée, le nom de son groupe est modifié en conséquence.

La classe PypeLine2 possède également l'attribut facultatif ".Base" qui représente notamment le trait d'axe de la tuyauterie:
 * Si Base est None, PypeLine2 se comporte comme un conteneur d'objets nu avec la possibilité de les regrouper automatiquement, d'attribuer une couleur et d'extraire la liste de pièces.
 * .Base peut être un fil, une esquisse ou tout objet dont les bords ont une forme.
 * En exécutant "obj.Proxy.update (obj)", sans [edges] (bords), la classe tente de restituer le pypeline (objets Pipe et Elbow) sur les bords "obj.Base": pour les géométries bien définies, cela conduit généralement à la résultat désiré. Si les [edges] sont donnés, des tuyaux et des courbes seront dessinés le long de ceux-ci.
 * L'exécution de "obj.Proxy.purge(obj)" supprime du modèle tous les tuyaux et coudes appartenant à la ligne pype.
 * N'oubliez pas que l'objet créé en dehors de la base .Base ne sera pas mis à jour lorsque la base .Base sera modifiée et que le pypeline sera redessiné et (sauf les tubes et les courbes) ne sera pas supprimé si pype-line est purgée.

Ceci compris, la commande ouvre la boîte de dialogue permettant de créer ou de modifier une pype-line.

Le dialogue est très similaire à ceux pour insérer d'autres objets vus auparavant.

Les tableaux de cotes de conduite, où l’O.D. et l'épaisseur sont définis, sont les mêmes de ceux pour les tubes (ex. Pipe_SCH-STD.csv).

Lorsque est dans la liste déroulante et que vous appuyez sur la touche Insert, un nouvel objet de ligne de type est créé dans le document avec le groupe approprié.

Il est possible de créer un pypeline de trois manières, en fonction des objets sélectionnés dans la fenêtre lorsque vous insérez Insérer: Après cela, il est toujours possible d'ajouter d'autres objets (tels que Flange, Reduct ...) à l'aide des commandes d'insertion appropriées décrites ci-dessus. Lorsque des objets sont créés dans une ligne de type, ils sont automatiquement inclus dans le groupe pertinent du modèle et les propriétés communes (c'est-à-dire le diamètre optique, l'épaisseur, la couleur, le rayon de courbure, etc.) sont appliquées.
 * rien n'est sélectionné. Une pype-line est créée avec la propriété .Base = None et incluse dans son groupe avec le nom et la couleur spécifiés (ou les valeurs par défaut). Les objets de tuyauterie à remplir peuvent être créés un à un avec les commandes ci-dessus ou bien une ligne médiane peut être sélectionnée par la suite à l’aide des boutons Get Profile et Redraw.
 * un objet DWire est sélectionné. Il est automatiquement pris comme base et converti en chemin (orange, pointillé) avec des tuyaux et des courbes.
 * un ensemble d'arêtes est sélectionné (même non contigu mais ayant des intersections prolongeant leurs extrémités). Un chemin est créé en connectant toutes les arêtes (voir l’outil Chemin dans la barre d’outils Frame) et attribué en tant que .Base à la nouvelle pype-line créée. Ensuite, les tuyaux et les courbes sont dessinés comme ci-dessus.

Si au moins une ligne de type est déjà présente dans le modèle, vous pouvez la sélectionner dans la liste déroulante: dans ce cas, appuyer sur Insert crée les tuyaux et les courbes comme décrit ci-dessus, mais au lieu de créer un nouvel objet de ligne de type, les ajoute à la ligne de type existante sélectionnée. Attention, la tuyauterie ainsi créée sera supprimée lors du prochain Redraw.

Get Path, Get Profile et Color permettent de modifier la propriété .Base, la taille nominale et la couleur de l'objet, respectivement.

Redessine recrée les tubes et les courbes le long de la .Base (Si défini) après toute modification du chemin ou des propriétés de la ligne de tuyauterie.

Part list génère un fichier .csv avec la nomenclature des objets de tuyauterie inclus dans la ligne sélectionnée dans la liste déroulante.


 * 9) Insère une branche de tuyauterie

This pype object behave like a PypeLine except it automatically updates whenever the Base (a DWire or a SketchObject) is modified: that includes changing the placement, stretching, moving, adding or deleting edges. It is mainly intended to represent the secondary branches of the PypeLine (see the dedicated tutorial) but it can also act as a stand-alone object. This is an important task that allow to change quickly the layout of pipes but, as a drawback, its geometry is more rigidly defined. In other words, pipes can not be splitted or resized independently because they will be eventually redrawn on the Base. Changin the OD, thk or BendRadius of the PypeBranch, instead, will apply on all tubes and curves of it.


 * 10) Insert a tank

See tutorial Part 4 (1/2)


 * 11) Insert a piperoute

See tutorial Part 4 (2/2)


 * 12) Break the pipe

Opens a dialog to break one pipe at a defined point, optionally making a gap between the ends of the two parts. Multiple selection is possible.

Insert in the Point text-box the length where the pipe or pipes are going to break: this can be an absolute value or just a percentage of the length (a numeral followed by %). In some case it's quicker to use the slide-bar at the bottom to change this value.

The Length button allow to measure the length of the selected pipe and use that as the reference of the slide-bar scale.

If it's needed just to break pipes in two, leave the Gap text-box to 0; otherwise define the length of the gap. If a reference length is choosen, also the gap can be defined as a percentage. As seen in the tutorial, it's possible to measure the gap from geometries in the model with the Get gap button: that's the distance between any geometric entity or even the length of a single edge.

Pushing on Break performs the action.

The Pypeline combo, as usual, allow to choose the group to which to assign the new objects created.


 * 13) Mate pipes edges.

When two circular edges belonging to different objects are selected, pressing this button will make the second object move to make the edges concentric and coplanar.

This works not only with pipes.


 * 14) Join the pypes

Joins the Ports of different objects in a graphical way. It works only among pype-objects, also from different workbenches, where the Ports[] property is defined congruently.


 * 15) Fit one elbow

Select 2 intersecting pipes + 1 elbow: executing this command, they will be joined. It works only among pype-objects, also from different workbenches.


 * 16) Extend pipes to intersection

By selecting two pipes, this command extend them both to their intersection point, if exists.


 * 17) Extend pipe to intersection

By selecting two pipes, this command extend the first to the intersection with the other, if exists.


 * 18) Lay-down the pipes

By selecting one face and multiple pipes, this command translates the pipe along the normal of the face in order to make them lie on its plane.


 * 19) Raise-up the support

Similar to the tool above but in this case is the support that is raised or lowered, so that the face is tangent to the pipe.
 * 20) Attach to tube

Attaches a pype object (2, 3, 4, 5 or 6) rigidly to the nearest end of a pipe (1). To detach, click on the button while the attached object is selected alone.
 * 21) Create pipes point-to-point

Opens a dialog similar to "Draw a DWire" together with the dialog of "Insert a pipe": this allows to draw a sequence of pipes, connected by curves, just selecting one point after the other. It is also allowed to change properties of the pipe and/or the pype-line on the fly.
 * 22) Insert Any Shape

This is a tool to create a "pype" object from a .STEP or .IGES or .BREP file. It loads the imported file into the Shape property of a FeaturePython.

Utilitaires



 * 1) Make a polygon

The first two tools of utils are part of a separate project which aims to create an automatic scanner of rooms with a stepper motor and an ultrasonic distance meter. This tool creates one regular polygon inside a sketch.


 * 2) Polygon from file

Tool to create any polygon inside a sketch taking vertexes from a .csv file, where they are stored in polar coordinates.
 * 3) Query the model

Tool to get various informations according to the object or objects selected. Beside length or distances, it is specifically suited to give informations related to beams and pipes (length, section, angle-between).


 * 4) Align workplane

Tool to set the position and rotation of working plane according to the selected existing geometry.

The normal of WP is defined scanning the elements in the following order:
 * 1) the normal of a face
 * 2) the normal of the plane of a curve
 * 3) the normal of the plane containing two segments

The origin of WP is defined (in order) by
 * 1) one vertex
 * 2) the center of curvature of a line
 * 3) the intersection of two lines
 * 4) the center of an edge


 * 5) Offset workplane

Shifts the WP along its normal vector. To show the direction of offset, a temporary green arrow is displayed on the screen. Clearly also negative values are allowed.


 * 6) Rotate workplane

Rotates the WP around one of its axis. Also in this case a green arrow is displayed in the viewport to identify the present orientation of the WP: the arrow is pointed in the Z direction and the long base of the arrow is layed over the X direction.


 * 7) Draw a DWire

This tool works exactly like the corresponding tool of Draft workbench but with few additional options at the end of the dialog. As default, the origin of WP is redefined at each point added because this makes simpler to draw segments of known length and orientation using the snap-to-grid option. Then two push-buttons, invoked also with the short-key Ctrl+Shift+, allow to rotate and offset the WP as seen above without breaking the DWire object. The last three buttons allow to quickly change the rotation of WP to be parallel to the principal planes.


 * 8) Quick move objects

To move quickly any part, to access the underlying objects for instance, this tool provides a graphic handle (green arrow) by clicking on which it's possible to displace and rotate the selected objects.


 * 9) Pressure loss calculator

Opens one dialog to calculate the pressure losses across the pype-parts selected in the viewport or across one PypeBranch. The friction coefficient is calculated for each straight tube and elbow. For other objects the concentrated pressure loss is calculated through the flow factor, provided that the attribute Kv is available and set to a positive value.

Liens

 * Forum FreeCAD : (Announcement thread)
 * Tutoriels : https://github.com/oddtopus/flamingo/tree/master/tutorials
 * Vidéos :
 * Simple video tutorial for frame creation with pipes
 * How to lay down pipe lines
 * How to create a parametric base-frame
 * PART 3 Create a building with 4 sketches
 * PART 4 (1/2) Pump room layout
 * PART 4 (2/2) Pump room import in building and pipe-route


 * Fichiers :
 * Rapport de bugs : Svp rapportez les bugs sur Flamingo GH issue queue

Autres liens intéressants

 * DevWorkbenches : Liste des ateliers en développement.
 * Macros
 * OSE-Piping-Workbench : to create extra pipe fittings

Ateliers externes
Les ateliers FreeCAD sont faciles à programmer en Python, de ce fait de nombreuses personnes développent des ateliers supplémentaires en dehors des développeurs principaux de FreeCAD.

La page ateliers externes contient des informations et des tutoriels sur certains d’entre eux, et le projet FreeCAD Addons vise à les rassembler et à les rendre facilement installables depuis FreeCAD.

De nouveaux ateliers sont en développement, restez en observation !