Extensions/ComfyUI_DAO_master
ComfyUI Extension

ComfyUI_DAO_master

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…

By orion4d·Created 12 months ago·Updated 11 months ago· 11
orion4d/ComfyUI_DAO_master
Nodes37
On cloudLocal install
CategoryDAO_master/SVG/Convert, DAO_master/Images/Filter
Stars11
Updated11 months ago

Nodes (37)

Convert IMG → SVG (1-bit)
DAO_master/SVG/Convert
Convert SVG → IMG (+colors)
DAO_master/SVG/Convert
Blur (Gaussian)
DAO_master/Images/Filter
Clone Circular
DAO_master/Images/Clone
Clone Circular (Path)
DAO_master/Images/Clone
Clone Grid (X/Y)
DAO_master/Images/Clone
Clone Grid (Path)
DAO_master/Images/Clone
Move-Scale-Rotate-Sym
DAO_master/Utils
RVB Color Picker
DAO_master/Color
Text Maker
DAO_master/Text
DXF Add Circle
DAO_master/DXF/Primitives
DXF Add Ellipse
DAO_master/DXF/Primitives
DXF Add Line
DAO_master/DXF/Primitives
DXF Add Polygon
DAO_master/DXF/Primitives
DXF Add Rectangle
DAO_master/DXF/Primitives
DXF Add Rounded Rectangle
DAO_master/DXF/Primitives
DXF Add Star
DAO_master/DXF/Primitives
DXF Add Triangle
DAO_master/DXF/Primitives
DXF Import
DAO_master/DXF/IO
DXF New (ezdxf)
DAO_master/DXF
DXF Preview (from DXF)
DAO_master/DXF/Utils
DXF Save
DAO_master/DXF/Utils
DXF Stats (bbox & count)
DAO_master/DXF/Utils
Convertisseur DXF vers SVG
DAO_master/SVG/Convert
DXF Transform (Rotate, Scale, Move)
DAO_master/DXF/Modify
Folder File Pro (dir → file_path)
DAO_master
Load Image Pro (Path/Image → RGB/RGBA/Mask/Upscale)
DAO_master/Images/IO
Mosaic: Assemble (Folder)
DAO_master/Images/Mosaic
Mosaic: Assemble (Batch)
DAO_master/Images/Mosaic
Mosaic: Tile & Export
DAO_master/Images/Mosaic
Path → Image (+RGBA/Mask/Meta)
DAO_master/Images/IO
Opération Booléenne SVG
DAO_master/SVG
SVG Load (fichier → SVG_TEXT)
DAO_master/SVG/IO
SVG Passthrough (Text vers String)
DAO_master/SVG/Utils
Prévisualisation SVG
DAO_master/SVG
SVG Save
DAO_master/SVG/IO
Style SVG (Remplissage/Contour)
DAO_master/SVG
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" /> <img width="1273" height="1075" alt="image" src="https://github.com/user-attachments/assets/a55e99cc-9b3f-4d79-b6cd-e5fa600c6081" /> <img width="1743" height="1094" alt="image" src="https://github.com/user-attachments/assets/dfe6e21a-a0a6-4359-bc90-335bdce485f5" /> <img width="1140" height="1142" alt="image" src="https://github.com/user-attachments/assets/5b9c46b8-e3b5-43c6-8821-41ce32464f3a" /> <img width="1055" height="1009" alt="image" src="https://github.com/user-attachments/assets/6b7c35ad-9396-4902-ad90-486d0ec05c39" /> <img width="1827" height="1151" alt="image" src="https://github.com/user-attachments/assets/09c76182-d705-49de-bf19-84aa85c23fc2" /> <img width="1380" height="996" alt="image" src="https://github.com/user-attachments/assets/67f70e2a-432d-4372-b683-31b0c6f0c1f3" /> <img width="898" height="1097" alt="image" src="https://github.com/user-attachments/assets/4595c263-a446-4710-a276-5934f1a38fea" /> <img width="625" height="723" alt="image" src="https://github.com/user-attachments/assets/13de492e-721c-4646-961e-84433cfa3932" /> <img width="825" height="957" alt="image" src="https://github.com/user-attachments/assets/0de4a91c-1d96-4deb-a3b6-a267ab5f2707" /> <img width="578" height="678" alt="image" src="https://github.com/user-attachments/assets/e0357bf7-d350-4ba9-af7e-355a28485498" /> <img width="2306" height="1026" alt="image" src="https://github.com/user-attachments/assets/28d4709c-761d-4454-bdb2-0e87891b2d43" /> <img width="687" height="1129" alt="image" src="https://github.com/user-attachments/assets/ea43bd49-4295-460c-8e34-c50c61e738a3" /> <img width="849" height="1164" alt="image" src="https://github.com/user-attachments/assets/6840b472-3968-4d92-97c6-5a6065ab018c" /> <img width="1400" height="749" alt="image" src="https://github.com/user-attachments/assets/e4c36434-25d2-4412-bafe-277b3ccdba84" /> <img width="1307" height="1077" alt="image" src="https://github.com/user-attachments/assets/6f187152-2951-4a96-bb14-31424929a313" /> <img width="1976" height="1028" alt="image" src="https://github.com/user-attachments/assets/0d6c1aff-bcbf-4ac8-a69f-73edde915686" /> </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.
  • Clonage & Mosaïques : Créez des grilles et des motifs circulaires complexes, découpez des images en tuiles et réassemblez-les avec des options de fusion avancées.
  • 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. Prend uniquement une entrée svg_text.
  • 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>🖼️ Images : Clones et Mosaïques</strong></summary> <details> <summary><code>Clone Grid (X/Y)</code> / <code>Clone Grid (Path)</code></summary>

Crée une grille de clones à partir d'une image source unique ou de plusieurs images d'un dossier.

  • Catégorie : DAO_master/Images/Clone
  • Clone Grid (X/Y) : Répète une seule image d'entrée selon une grille.
  • Clone Grid (Path) : Remplit la grille en utilisant des images différentes provenant d'un dossier. Permet un ordre aléatoire via shuffle et seed.
  • Fonctionnalités communes :
    • Contrôle de la disposition (count, spacing, offset).
    • Décalages alternés pour les lignes/colonnes (row_offset_x, col_offset_y) pour des motifs complexes (briques, quinconce...).
    • Transformation de chaque clone (scale, rotation, opacity).
</details> <details> <summary><code>Clone Circular</code> / <code>Clone Circular (Path)</code></summary>

Arrange des clones en un motif circulaire.

  • Catégorie : DAO_master/Images/Clone
  • Clone Circular : Répète une seule image d'entrée.
  • Clone Circular (Path) : Utilise des images différentes d'un dossier.
  • Fonctionnalités communes :
    • Contrôle du rayon, du nombre de clones, des angles de départ/fin.
    • Options pour orienter les clones vers le centre ou les aligner sur un angle fixe.
</details> <details> <summary><code>Mosaic: Tile & Export</code></summary>

Découpe une image source en une grille de tuiles et les exporte en tant que fichiers individuels.

  • Catégorie : DAO_master/Images/Mosaic
  • Description : Idéal pour préparer des images pour des workflows de type "tiled diffusion".
  • Sorties :
    • Un batch d'images contenant toutes les tuiles pour un traitement ultérieur dans ComfyUI.
    • Un dossier de sortie contenant chaque tuile sauvegardée en .png ou .jpg.
</details> <details> <summary><code>Mosaic: Assemble (Batch)</code> / <code>Mosaic: Assemble (Folder)</code></summary>

Réassemble des tuiles pour former une image composite.

  • Catégorie : DAO_master/Images/Mosaic
  • Assemble (Batch) : Prend un batch d'images en entrée.
  • Assemble (Folder) : Charge les tuiles directement depuis un dossier.
  • Fonctionnalités communes :
    • Superposition et Fusion : Permet de superposer les tuiles (overlap) et de les fusionner avec des modes de blending avancés (feathering, weighted average...).
    • Disposition : Contrôle de l'espacement (gutter) et de l'ordre d'assemblage (row_major, snake_row...).
    • Ordre par Regex (Folder) : Le mode regex_filename_order permet de replacer les tuiles à leur position exacte en se basant sur leur nom de fichier (ex: tile_r01_c03.png).
</details> </details> <details> <summary><strong>🛠️ Utilitaires, Filtres et Générateurs</strong></summary> <details> <summary><code>DAO Hex/RVB Color Picker</code></summary>

Des 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 les dossiers hexadecimal_List/ ou 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 Pro</code> / <code>Path → Image</code> / <code>Load Image Pro</code></summary>

Nodes avancés pour la gestion des fichiers et le chargement d'images.

  • Catégorie : DAO_master/IO
  • Folder File Pro : Un explorateur de fichiers avancé avec une UI interactive pour filtrer, trier et sélectionner des fichiers de manière procédurale.
  • Path → Image : Prend un chemin de fichier en STRING et charge l'image correspondante.
  • Load Image Pro : Un chargeur d'image amélioré avec des options supplémentaires.
</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>