(defun c:CarreAvecHachure (/ pt1 pt2 pt3 pt4 poly lastEntity hatch)
  ;; 1. Demander à l'utilisateur de sélectionner le premier point (coin inférieur gauche)
  (setq pt1 (getpoint "\nSélectionnez le premier point du carré: "))
  
  ;; Demander la longueur du côté du carré
  (setq longueur (getdist pt1 "\nEntrez la longueur du côté du carré: "))

  ;; 2. Calculer les autres points du carré
  (setq pt2 (polar pt1 0.0 longueur))           ; Point inférieur droit
  (setq pt3 (polar pt1 (/ pi 2) longueur))      ; Point supérieur gauche
  (setq pt4 (polar pt3 0.0 longueur))           ; Point supérieur droit

  ;; 3. Créer la polyligne fermée en utilisant les 4 points calculés
  (command "_.PLINE" pt1 pt2 pt4 pt3 pt1 "")
  
  ;; 4. Récupérer l'identifiant de la dernière entité créée (la polyligne)
  (setq lastEntity (entlast))
  
  ;; 5. Créer la hachure en utilisant la polyligne comme contour
  (command "-HATCH" "P" "ANSI31" "" "S" lastEntity "" "")
  
  ;; Finaliser la fonction sans afficher de valeurs de retour
  (princ "\nCarré avec hachure créé avec succès.")
  (princ)
)

