# 🎹 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.

image image image image image image image image image image

### ✹ 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 : ```sh 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 : ```sh 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
📐 DXF : Primitives > 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.
DXF Add Circle > 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.
DXF Add Rectangle / DXF Add Rounded Rectangle > 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.
DXF Add Polygon / DXF Add Star / DXF Add Triangle > 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.
DXF Add Line / DXF Add Ellipse > 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.
📂 DXF : I/O, Modification et Utilitaires
DXF New / DXF Import / DXF Save > 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.
DXF Transform > 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.
DXF Preview > 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.
DXF Stats > 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.
🎹 SVG : Manipulation et Conversion
SVG Boolean > 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.
SVG Style / SVG Preview > 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.
SVG Load / SVG Save / SVG Passthrough > 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é.
DXF to SVG > 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.
Convert SVG → IMG (+colors) > 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).
Convert IMG → SVG (1-bit) > 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.
đŸ› ïž Utilitaires, Filtres et GĂ©nĂ©rateurs
DAO RVB Color Picker > 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`.
folder_file_pro - **CatĂ©gorie** : `DAO_master/IO` - **Vue** : Grille ou Liste, dĂ©filement fiable, double-clic pour ouvrir/preview, bouton **Up** & **Explorer**. - **Aperçus** : vignettes images, SVG inline ; autres fichiers affichĂ©s avec un badge `[File.ext]`. IcĂŽne dossier PNG non dĂ©formĂ©e. - **Filtres** : `extensions`, `name_regex` (modes `include` / `exclude`, option *ignore case*). - **Tri** : `sort_by = name | mtime | size` + `descending` (asc/desc). - **SĂ©lection** : - **Modes** : `manual` (UI), `fixed`, `increment`, `decrement`, `randomize` (pilotĂ© par `seed`). - **Raccourcis** : *type-to-select* (taper des lettres pour sauter au prochain item). - **Sorties** : - `file_path` (chemin complet), `filename`, `dir_used`, `files_json` (liste des fichiers) - `file_info` (JSON) : taille octets, dates ISO (crĂ©ation/modif), et si image/vidĂ©o → `width` / `height`. - **Compat** : l’icĂŽne de dossier est rĂ©fĂ©rencĂ©e via `new URL("./ico_dossier.png", import.meta.url).href` → fonctionne quel que soit l’emplacement/nom du dossier de l’extension.
DAO Text Maker > 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Ă©).
DAO Move > 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.
DAO Blur > 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).
💡 Guides d'Installation (Potrace & Polices)
🚀 Installer Potrace sur Windows (pour la vectorisation d'images) > 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](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.
✍ Installer des Polices PersonnalisĂ©es (pour DAO Text Maker) > 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`. > * [**Google Fonts**](https://fonts.google.com/) (le plus sĂ»r) > * [**Fontshare**](https://www.fontshare.com/) > * [**Velvetyne**](https://velvetyne.fr/) > * [**DaFont**](https://www.dafont.com/fr/) (**Attention : vĂ©rifiez la licence de chaque police !**) #### É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.
---

🌟 Show Your Support

If this project helped you, please consider giving it a ⭐ on GitHub!

Made with ❀ for the ComfyUI community

by Orion4D

Buy Me A Coffee