ComfyUI Extension: ComfyUI_DAO_master

Authored by orion4d

Created

Updated

0 stars

ComfyUI_DAO_master is a collection of custom nodes for ComfyUI. These nodes provide additional tools for image creation, manipulation, and visual experimentation, with a focus on vector workflows (DXF & SVG) and production utilities.

Custom Nodes (0)

    README

    🎹 ComfyUI_DAO_master

    ComfyUI_DAO_master est une collection de custom nodes pour ComfyUI. Ces nodes apportent des outils supplĂ©mentaires pour la crĂ©ation, la manipulation d’image et l’expĂ©rimentation visuelle, avec un focus sur les workflows vectoriels (DXF & SVG) et les utilitaires de production.

    <p align="center"> <img width="1928" height="1033" alt="image" src="https://github.com/user-attachments/assets/0d425b29-379b-4b0d-b8b6-c168c8d4cee1" /> </p>

    ✹ Aperçu des fonctionnalitĂ©s

    • CrĂ©ation Vectorielle DXF : GĂ©nĂ©rez des formes primitives (cercles, rectangles, polygones...) et assemblez-les.
    • Manipulation SVG : Effectuez des opĂ©rations boolĂ©ennes (union, diffĂ©rence...), stylisez vos SVG et convertissez-les.
    • Conversion Robuste : Passez facilement d'une image Ă  un SVG (vectorisation) et d'un SVG Ă  une image (rastĂ©risation).
    • Utilitaires Puissants : Un sĂ©lecteur de fichiers avancĂ©, des sĂ©lecteurs de couleurs dynamiques, un gĂ©nĂ©rateur de texte complet et des filtres d'image pratiques.
    • Interface AmĂ©liorĂ©e : De nombreux nodes disposent d'une interface utilisateur interactive avec des menus dĂ©roulants dynamiques pour une utilisation plus intuitive.

    🚀 Installation

    1. Naviguez vers le dossier custom_nodes de votre installation ComfyUI.
    2. Clonez ce dépÎt :
      cd ComfyUI/custom_nodes
      git clone https://github.com/orion4d/ComfyUI_DAO_master.git
      
    3. Installez les dépendances : Certains nodes nécessitent des bibliothÚques supplémentaires. Installez-les via pip :
      pip install cairosvg potrace ezdxf svgpathtools lxml pyclipper shapely
      
      • Note : Le node Convert IMG to SVG fonctionne mieux si l'exĂ©cutable potrace est installĂ© et accessible dans le PATH de votre systĂšme.

    📚 Documentation des Nodes

    <details> <summary><strong>📐 DXF : Primitives</strong></summary>

    Cette catégorie regroupe les nodes fondamentaux pour la création de formes géométriques simples. Ils constituent la base de tout dessin vectoriel. Principe de fonctionnement commun : Chaque node de cette catégorie fonctionne de maniÚre non-destructive. Il prend un objet DXF en entrée, crée une copie de son contenu, y ajoute la nouvelle forme, et retourne un nouvel objet DXF en sortie.

    <details> <summary><code>DXF Add Circle</code></summary>

    Ajoute un cercle Ă  un document DXF.

    • CatĂ©gorie : DAO_master/DXF/Primitives
    • EntrĂ©es :
      • dxf (DXF): Le document de base.
      • cx, cy (FLOAT): CoordonnĂ©es du centre.
      • radius (FLOAT): Rayon du cercle.
    • Sorties :
      • dxf (DXF): Le nouveau document DXF avec le cercle.
    </details> <details> <summary><code>DXF Add Rectangle</code> / <code>DXF Add Rounded Rectangle</code></summary>

    Ajoute un rectangle (standard ou aux coins arrondis) Ă  un document DXF.

    • CatĂ©gorie : DAO_master/DXF/Primitives
    • EntrĂ©es :
      • dxf (DXF): Le document de base.
      • x, y (FLOAT): Point d'ancrage.
      • width, height (FLOAT): Dimensions.
      • radius (FLOAT): Rayon des coins (pour la version arrondie).
      • centered (BOOLEAN): Si True, (x, y) est le centre ; sinon, c'est le coin infĂ©rieur gauche.
    • Sorties :
      • dxf (DXF): Le nouveau document DXF avec le rectangle.
    </details> <details> <summary><code>DXF Add Polygon</code> / <code>DXF Add Star</code> / <code>DXF Add Triangle</code></summary>

    Ajoute une forme polygonale (polygone régulier, étoile ou triangle) à un document DXF.

    • CatĂ©gorie : DAO_master/DXF/Primitives
    • EntrĂ©es (Polygone/Étoile) :
      • dxf (DXF): Le document de base.
      • cx, cy (FLOAT): Centre de la forme.
      • outer_radius, inner_radius (FLOAT): Rayons pour dĂ©finir les sommets.
      • num_sides / num_points (INT): Nombre de cĂŽtĂ©s ou de pointes.
    • EntrĂ©es (Triangle) :
      • x1, y1, x2, y2, x3, y3 (FLOAT): CoordonnĂ©es des trois sommets.
    • Sorties :
      • dxf (DXF): Le nouveau document DXF avec la forme.
    </details> <details> <summary><code>DXF Add Line</code> / <code>DXF Add Ellipse</code></summary>

    Ajoute une ligne ou une ellipse Ă  un document DXF.

    • CatĂ©gorie : DAO_master/DXF/Primitives
    • EntrĂ©es (Ligne) :
      • x1, y1, x2, y2 (FLOAT): CoordonnĂ©es des points de dĂ©part et d'arrivĂ©e.
    • EntrĂ©es (Ellipse) :
      • cx, cy (FLOAT): Centre de l'ellipse.
      • major_axis_x, major_axis_y (FLOAT): Vecteur de l'axe principal (dĂ©finit la longueur et l'orientation).
      • ratio (FLOAT): Rapport entre l'axe mineur et l'axe majeur.
    • Sorties :
      • dxf (DXF): Le nouveau document DXF avec la forme.
    </details> </details> <details> <summary><strong>📂 DXF : I/O, Modification et Utilitaires</strong></summary> <details> <summary><code>DXF New</code> / <code>DXF Import</code> / <code>DXF Save</code></summary>

    Crée, charge ou sauvegarde des documents DXF.

    • CatĂ©gorie : DAO_master/DXF, DAO_master/DXF/IO
    • FonctionnalitĂ©s :
      • New : CrĂ©e un document DXF vierge en spĂ©cifiant les unitĂ©s.
      • Import : Charge un fichier .dxf depuis le disque.
      • Save : Sauvegarde un objet DXF en fichier .dxf, avec des options d'horodatage.
    </details> <details> <summary><code>DXF Transform</code></summary>

    Applique des transformations géométriques (translation, rotation, échelle) à l'ensemble du dessin.

    • CatĂ©gorie : DAO_master/DXF/Modify
    • EntrĂ©es :
      • translate_x, translate_y (FLOAT): DĂ©placement.
      • scale (FLOAT): Facteur d'Ă©chelle.
      • rotation_degrees (FLOAT): Angle de rotation.
      • rotation_center (LISTE): Point pivot (object_center ou origin).
    • Sorties :
      • dxf (DXF): Un nouveau document avec la gĂ©omĂ©trie transformĂ©e.
    </details> <details> <summary><code>DXF Preview</code></summary>

    GénÚre un aperçu visuel (une image) du contenu d'un objet DXF.

    • CatĂ©gorie : DAO_master/DXF/Utils
    • FonctionnalitĂ©s : ContrĂŽle total sur la taille, l'Ă©paisseur des traits, les couleurs de remplissage/contour, le fond et la grille. Peut Ă©galement gĂ©nĂ©rer un masque.
    </details> <details> <summary><code>DXF Stats</code></summary>

    Analyse un document DXF et en extrait des statistiques.

    • CatĂ©gorie : DAO_master/DXF/Utils
    • Sorties :
      • bbox (STRING): La boĂźte englobante du dessin (min_x, min_y, max_x, max_y).
      • count (INT): Le nombre total d'entitĂ©s dans le document.
    </details> </details> <details> <summary><strong>🎹 SVG : Manipulation et Conversion</strong></summary> <details> <summary><code>SVG Boolean</code></summary>

    Effectue des opérations booléennes (Pathfinder) entre deux formes SVG.

    • CatĂ©gorie : DAO_master/SVG
    • EntrĂ©es : svg_a, svg_b
    • OpĂ©rations :
      • union: Fusionne les deux formes.
      • difference: Soustrait la forme B de la forme A.
      • intersection: Ne conserve que la zone commune.
      • xor: Ne conserve que les zones non communes.
    </details> <details> <summary><code>SVG Style</code> / <code>SVG Preview</code></summary>

    Applique des styles ou génÚre un aperçu d'un SVG.

    • CatĂ©gorie : DAO_master/SVG
    • FonctionnalitĂ©s :
      • Style : Permet de dĂ©finir la couleur de remplissage, la couleur et l'Ă©paisseur du contour.
      • Preview : Utilise CairoSVG pour un rendu de haute qualitĂ© avec gestion du ratio d'aspect.
    </details> <details> <summary><code>SVG Load</code> / <code>SVG Save</code> / <code>SVG Passthrough</code></summary>

    Charge, sauvegarde ou convertit le type de données SVG.

    • CatĂ©gorie : DAO_master/SVG/IO, DAO_master/SVG/Utils
    • FonctionnalitĂ©s :
      • Load : Charge un .svg et permet de le redimensionner Ă  la volĂ©e.
      • Save : Sauvegarde du texte SVG dans un fichier .svg.
      • Passthrough : Convertit le type SVG_TEXT en STRING pour la compatibilitĂ©.
    </details> <details> <summary><code>DXF to SVG</code></summary>

    Convertit un document DXF en code SVG.

    • CatĂ©gorie : DAO_master/SVG/Convert
    • Description : Transforme la gĂ©omĂ©trie DXF en un format SVG textuel, en tentant d'assembler intelligemment les segments pour crĂ©er des chemins propres. Offre des contrĂŽles sur la qualitĂ© des courbes et la mise en page.
    </details> <details> <summary><code>Convert SVG → IMG (+colors)</code></summary>

    Convertit un SVG en une image rastérisée et extrait les couleurs utilisées.

    • CatĂ©gorie : DAO_master/SVG/Convert
    • Description : Un node de conversion avancĂ© avec deux moteurs de rendu (natif ou cairosvg) pour une compatibilitĂ© maximale.
    • Sorties : image, mask, et colors_json (un rapport dĂ©taillĂ© des couleurs et formes dĂ©tectĂ©es).
    </details> <details> <summary><code>Convert IMG → SVG (1-bit)</code></summary>

    Vectorise une image en un SVG monochrome en utilisant Potrace.

    • CatĂ©gorie : DAO_master/SVG/Convert
    • Description : Binarise une image (la transforme en noir et blanc pur) puis utilise l'algorithme de Potrace pour tracer les contours des formes, gĂ©nĂ©rant ainsi un SVG.
    </details> </details> <details> <summary><strong>đŸ› ïž Utilitaires, Filtres et GĂ©nĂ©rateurs</strong></summary> <details> <summary><code>DAO RVB Color Picker</code></summary>

    Un sélecteurs de couleurs interactifs pour choisir des couleurs à partir de listes personnalisables.

    • CatĂ©gorie : DAO_master/Color
    • 💡 Fonctionnement UI : CrĂ©ez vos propres listes de couleurs dans le dossier RGB_List/. Le node affichera des menus dĂ©roulants pour choisir le fichier et la couleur. Un bouton ↻ permet de rafraĂźchir les listes.
    • Modes : Manual, Random, Increment, Decrement.
    </details> <details> <summary><code>Folder File Picker</code></summary>

    Un explorateur de fichiers avancé pour sélectionner dynamiquement un fichier dans un dossier.

    • CatĂ©gorie : DAO_master/IO
    • 💡 Fonctionnement UI : Une interface trĂšs rĂ©active oĂč tous les paramĂštres de filtrage (extensions, RegEx) et de tri mettent Ă  jour un menu dĂ©roulant listant les fichiers trouvĂ©s en temps rĂ©el.
    • Modes de sĂ©lection : manual (via l'UI), fixed, increment, decrement, randomize (pilotĂ© par la seed).
    </details> <details> <summary><code>DAO Text Maker</code></summary>

    Crée une image, un SVG et un masque à partir d'un texte.

    • CatĂ©gorie : DAO_master/Text
    • 💡 Fonctionnement UI : Le champ font_file devient un menu dĂ©roulant listant les polices .ttf/.otf que vous placez dans le dossier Fonts/.
    • FonctionnalitĂ©s : ContrĂŽle total sur la police, la taille, l'alignement, les couleurs de remplissage/contour, le fond, et la sortie (SVG textuel ou vectorisĂ©).
    </details> <details> <summary><code>DAO Move</code></summary>

    Applique des transformations (déplacement, échelle, rotation) et des symétries à une image.

    • CatĂ©gorie : DAO_master/Utils
    • Description : Permet de manipuler la position, la taille et l'orientation d'une image et de son masque associĂ©, avec un contrĂŽle prĂ©cis sur le point de pivot.
    </details> <details> <summary><code>DAO Blur</code></summary>

    Applique un flou gaussien et peut générer une ombre portée.

    • CatĂ©gorie : DAO_master/Filter
    • Description : Floute une image et/ou un masque, et peut gĂ©nĂ©rer une image sĂ©parĂ©e contenant une ombre portĂ©e personnalisable (couleur, opacitĂ©, dĂ©calage).
    </details> </details> <details> <summary><strong>💡 Guides d'Installation (Potrace & Polices)</strong></summary> <br> <details> <summary><strong>🚀 Installer Potrace sur Windows (pour la vectorisation d'images)</strong></summary>

    Pour utiliser le node Convert IMG to SVG de la maniÚre la plus performante, il est fortement recommandé d'installer l'utilitaire Potrace et de l'ajouter au PATH de votre systÚme. Ce guide vous montrera comment faire, étape par étape.

    Étape 1 : TĂ©lĂ©charger Potrace

    1. Rendez-vous sur la page officielle : http://potrace.sourceforge.net/#downloading
    2. Cherchez la section "Windows" et téléchargez la derniÚre version 64-bit (ex: potrace-1.16.win64-x64.zip).

      Note : Prenez bien la version 64-bit (win64), adaptée à la majorité des ordinateurs modernes.

    Étape 2 : CrĂ©er un Dossier et Extraire les Fichiers

    1. Dans l'Explorateur de Fichiers, allez Ă  la racine de votre disque C:.
    2. Créez un nouveau dossier nommé Potrace.
    3. Extrayez tous les fichiers de l'archive .zip téléchargée directement dans ce dossier C:\Potrace.

      📁 Votre dossier C:\Potrace doit maintenant contenir potrace.exe et d'autres fichiers.

    Étape 3 : Ajouter Potrace au PATH Systùme

    C'est l'Ă©tape la plus importante. Elle permet Ă  Windows de trouver potrace.exe depuis n'importe oĂč.

    1. Dans le menu Démarrer, cherchez et ouvrez "Modifier les variables d'environnement systÚme".
    2. Cliquez sur le bouton "Variables d'environnement...".
    3. Dans la section du haut ("Variables utilisateur"), sélectionnez la ligne Path et cliquez sur "Modifier...".
    4. Cliquez sur "Nouveau" et collez le chemin de votre dossier : C:\Potrace.
    5. Cliquez sur OK sur toutes les fenĂȘtres pour sauvegarder.

    Étape 4 : VĂ©rifier l'Installation

    1. Ouvrez un NOUVEAU terminal (via cmd dans le menu Démarrer).
    2. Tapez potrace --version et appuyez sur Entrée.
    3. Si tout est correct, la version de Potrace s'affichera.

      ✅ FĂ©licitations ! Potrace est prĂȘt. Si ComfyUI ne le trouve pas, redĂ©marrez-le.

    </details> <details> <summary><strong>✍ Installer des Polices PersonnalisĂ©es (pour DAO Text Maker)</strong></summary>

    Le node DAO Text Maker vous permet d'utiliser n'importe quelle police au format .ttf ou .otf. L'installation est trĂšs simple.

    Étape 1 : Trouver et TĂ©lĂ©charger une Police

    Choisissez une police sur un des sites recommandés. Cherchez le bouton "Download" pour obtenir un fichier .zip.

    Étape 2 : Localiser et Copier la Police

    1. Naviguez jusqu'au dossier : ComfyUI/custom_nodes/ComfyUI_DAO_master/Fonts/.
    2. Ouvrez le .zip que vous avez téléchargé.
    3. Copiez le ou les fichiers .ttf ou .otf directement dans ce dossier Fonts.

    Étape 3 : Rafraüchir dans ComfyUI

    1. Retournez dans ComfyUI.
    2. Sur votre node DAO Text Maker, cliquez sur le bouton de rafraĂźchissement ↻.
    3. Votre nouvelle police apparaßtra dans le menu déroulant font_file.

    ⚠ Note sur les Licences

    Respectez le travail des créateurs. Les polices de Google Fonts, Fontshare et Velvetyne sont généralement open-source et sûres pour tout usage. Sur DaFont, beaucoup de polices sont "gratuites pour un usage personnel" uniquement. Vérifiez toujours la licence avant utilisation.

    </details> </details>
    <div align="center"> <h3>🌟 <strong>Show Your Support</strong></h3> <p>If this project helped you, please consider giving it a ⭐ on GitHub!</p> <p><strong>Made with ❀ for the ComfyUI community</strong></p> <p><strong>by Orion4D</strong></p> <a href="https://ko-fi.com/orion4d"> <img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="Buy Me A Coffee" height="41" width="174"> </a> </div>