Files
2025-08-21 20:49:25 +02:00

36 lines
1.2 KiB
Python

# ComfyUI_DXF/dxf_add_circle.py
import ezdxf
from ezdxf.addons import Importer
from .dxf_utils import DXFDoc, _BaseAdd
class DXFAddCircle(_BaseAdd):
@classmethod
def INPUT_TYPES(cls):
return {"required": {
"dxf": ("DXF",),
"cx": ("FLOAT", {"default": 0.0}),
"cy": ("FLOAT", {"default": 0.0}),
"radius": ("FLOAT", {"default": 10.0, "min": 0.0001}),
}}
RETURN_TYPES = ("DXF",)
FUNCTION = "add"
CATEGORY = "DAO_master/DXF/Primitives"
def add(self, dxf: DXFDoc, cx: float, cy: float, radius: float):
# Créer un nouveau document vierge pour la sortie
new_doc = ezdxf.new()
# Importer le contenu de l'ancien document dans le nouveau
importer = Importer(dxf.doc, new_doc)
importer.import_modelspace()
importer.finalize()
# Ajouter le nouveau cercle au document fraîchement copié
new_msp = new_doc.modelspace()
new_msp.add_circle(center=(cx, cy), radius=radius)
return (DXFDoc(doc=new_doc, msp=new_msp, units=dxf.units),)
NODE_CLASS_MAPPINGS = {"DXF Add Circle": DXFAddCircle}
NODE_DISPLAY_NAME_MAPPINGS = {"DXF Add Circle": "DXF Add Circle"}