Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

j'osais pas la poster... :exclam:

 

 (defun C:essai (/ P1)
(setq P1 (getpoint "pointez le cercle: "))
(command "scu" "déplacer" P1 "")
(command "zoom" "et")
(princ)
)

 

Voila, cette routine recentre le SCU sur le cercle et fait un zoom étendu.

Ma question:

je voudrais que le scu aille sur le centre du cercle (sans "pointez le centre du cercle") mais toujours en pointant le cercle, j'avais pensé à ça.

 

(command "scu" "déplacer" "centre" "cercle")

 

Mais bon....

 

Merci pour votre aide

Posté(e)

Salut ! Merci d'avoir osé ! ;)

 

Si tu regardes ici, tu verras que le code DXF correspondant au centre du cercle est le 10.

Pour retrouver les codes dxf d'une entité, il faut passer par un entget. Un entget sur quoi ? Une entité. Pour sélectionner une entité, faut passer par un (car (entsel msg)).

 

Ce qui donne un truc du style :

(setq ent (car (entsel "\nSélectionner le cercle : ")))  

ensuite tu n'as plus qu'à retourner le code 10 de l'entité, soit :

(setq p1 (cdr (assoc 10 (entget ent))))

Tout ça pour te dire comment retrouver le centre d'un cercle. Cependant tu n'as pas du tout besoin de ça pour zoomer sur le centre d'un cercle !

 

La commande zoom contient une option "objet". Tu n'as qu'à sélectionner l'entité sur laquelle zoomer, et tout se fait tout seul !!

 

 

[Edité le 23/2/2009 par Matt666]

"Chacun compte pour un, et nul ne compte pour plus d'un."

Posté(e)

Merci Matt666.

Voila ce que j'ai dans ma routine

 

 .......
(while (null (setq ent (entsel "\nDésigner un cercle type: "))))
(setq dxf_ent (entget (car ent)))
.......

 

j'ai essayé plusieurs trucs mais si j'insère la définition de P1 pour ensuite recaler mon SCU, la routine plante ?!

 

 .......
(while (null (setq ent (entsel "\nDésigner un cercle type: "))))
(setq dxf_ent (entget (car ent)))
(setq p1 (cdr (assoc 10 (entget ent))))
(command "scu" "déplacer" P1 "")
.......

 

Merci pour ton aide

Posté(e)

Salut,

 

(setq dxf_ent (entget (car ent)))

(setq p1 (cdr (assoc 10 (entget ent))))

 

Soit tu te sert du dxf_ent pour extraire ton code 10: (setq p1 (cdr (assoc 10 dxf_ent)))

 

Soit tu supprime ta ligne dxf_ent et tu fais: (setq p1 (cdr (assoc 10 (entget (car ent)))))

 

(entget ent) ne fonctionne pas, (entget (car ent)) fonctionne

 

(entsel) retourne une liste constitué du nom de l'entité et du point de sélection, c'est pour cela que l'on prend le 1er élément (car) pour pouvoir utiliser (entget) qui réclame un nom d'entité et non une liste.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

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é