capde06 Posté(e) le 29 mars 2006 Posté(e) le 29 mars 2006 Petit soucisDans une macro en lispAvec la commande mesurer « bloc » est il possible de donné un facteur d’echelle au bloc inseré. merci Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
(gile) Posté(e) le 29 mars 2006 Posté(e) le 29 mars 2006 Salut, Une bidouille vite fait (aucun contrôle) : Je crée un point avant l'insertion des blocs, je fais un (entlast) pour récupérer le nom d'entité du point,j'insère les blocs avec _measure,je boucle avec (entnext) sur les entités créées après le point (les blocs)et leur donne le facteur d'échelle spécifié. (defun c:test (/ ent bl ali dist ech pt next) ;; Entrées utilisateur (setq ent (car (entsel "\Choix de l'objet à mesurer: ")) bl (getstring "\nEntrez le nom du bloc à insérer: ") ) (initget "Oui Non") (setq ali (getkword "\nAligner le bloc avec l'objet ? [Oui/Non]:") dist (getdist "\Spécifiez la longueur du segment: ") ech (getreal "\nSpécifiez le facteur d'échelle: ") ) ;; Point de départ (command "_.point" '(0 0)) (setq pt (entlast)) ;; Insertion des blocs (command "_.measure" ent "b" bl ali dist) ;; Boucle pour affecter le facteur d'échelle (setq next (entnext pt)) (while next (command "_scale" next "" (cdr (assoc 10 (entget next))) ech ) (setq next (entnext next)) ) ;; Suppression du point (entdel pt) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
capde06 Posté(e) le 30 mars 2006 Auteur Posté(e) le 30 mars 2006 barvo gile et je te remercie de ton aidela fonction marche tres bien cest entnext qui me manquaisy faut que je revise cette fonction Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant