Aller au contenu

Messages recommandés

Posté(e)

Bonjour à toutes et à tous.

 

J'ai glané je ne sais plus où ce lisp (et j'en remercie encore son auteur) qui me permet de tracer une croix dans un cercle en sélectionnant celui ci, très pratique pour ce que je fais.

 

(defun c:croix	(/ sel i obj ent)



 ;; Trace une croix dans le cercle

 (defun trc_cercle  (obj)

   (setq d  (/ (cdr (assoc '40 obj)) (sqrt 2.0))

  ct (cdr (assoc '10 obj)))

   (entmake (list '(0 . "LINE")

	   (cons '10 (mapcar '+ ct (list d d 0)))

	   (cons '11 (mapcar '- ct (list d d 0)))

	   )

     )

   (entmake

     (list '(0 . "LINE")

    (cons '10 (mapcar '+ ct (list d (* -1 d) 0)))

    (cons '11 (mapcar '- ct (list d (* -1 d) 0)))

    )

     )

   )



 ;; Trace une croix dans un rectangle

 (defun trc_rect  (obj)

   (setq obj (vl-remove-if-not

	'(lambda (x) (= (car x) 10))

	obj))

   (entmake (list '(0 . "LINE")

	   (nth 0 obj)

	   (cons '11 (cdr (nth 2 obj)))

	   )

     )

   (entmake (list '(0 . "LINE")

	   (nth 1 obj)

	   (cons '11 (cdr (nth 3 obj)))

	   )

     )

   )



 ;; Fonction principale

 (setq	i   -1

sel (ssget '((-4 . "
	     (0 . "CIRCLE")

	     (0 . "LWPOLYLINE")

	     (-4 . "OR>")

	     )

	   )

)

 

 (if sel

   (while (setq i   (1+ i)

	 obj (ssname sel i))

     (setq obj	(entget obj)

    ent	(cdr (assoc '0 obj)))

     (cond

((= ent "CIRCLE") (trc_cercle obj))

((= ent "LWPOLYLINE") (trc_rect obj))

)

     )

   )

 (princ)

 )

 

Je souhaiterais que vous m'aidiez à le modifier pour qu'au lieu de tracer une croix dans un cercle désigné, il remplisse le cercle en vert.

 

Exemple:

 

http://img35.imageshack.us/img35/4490/exempled.gif

 

Merci d'avance à ceux qui voudrons bien se pencher sur ma requête.

Posté(e)

Bonjour,

 

Normalement pas trop besoin de lisp pour faire cela

 

Mais si tu est faché avec l'outil hachure

 

un ptit truc

 

(defun c:vert (/ SelCircle i NamCircl)
(setq 	SelCircle 	(ssget (list (cons 0 "CIRCLE")))
		i 			0)
  (if SelCircle
	(repeat (sslength SelCircle)
	  (setq NamCircl (ssname SelCircle i))
	  (command "_-hatch" "s" NamCircl  "p" "s" "" "")
	  (command "_chprop" (entlast) "" "co" "vert" "")
	  (setq i (1+ i))
	)
  )
  (princ)
)

Posté(e)

Bonjour à toutes et à tous.

 

Merci Fraid pour ce code qui fonctionne, mais il utilise le type de hachures prédéfini.

Est-ce possible de forcer dans le code l'utilisation du motif "solid" ?

Non, je ne suis pas faché avec l'outil hachures, mais moins j'utilise de commandes pour faire un truc, mieux je me porte :cool:

 

Merci Didier pour ta réponse, je ne pense pas que l'accrochage au centre soit utile pour cette utilisation.

 

Cordialement, Gilles

Posté(e)

OK, d'accord.

 

Sur mon acad2011, je suis obligé d'aller changer une première fois la valeur pour mettre en Solid, après, le code fonctionne.

 

Merci pour ta solution, Fraid ;)

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité