Aller au contenu

decaler automatique


Fraid

Messages recommandés

Bonjour,

 

Utilisant l'outil DECALER à outrance lorsque je dessine du batiment, j'utilise ces raccourcis.

 

 
(defun c:1 (/)
(command "_offset" "1")
(princ))

(defun c:2 (/)
(command "_offset" "2")
(princ))

....

 

Y aurait il une autre solution?

 

l'ideal serai, si l'on tappe un entier ou un réel, que cela fonctionne sans devoir créer un lisp avant.

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

quand j'ai fais ca je devais décaler toujours les même valeurs

au d'un moment ca gonfle

alors voila

 

une commande "decaler" avec mémoire

a tester

 


(defun c:dcc  (/ ent pt what_next)
 (setq what_next 2)
 (if (not dec)
   (setq dec "1.00")
   )
 (if (not dclist)
   (setq dclist '("0.10" "0.20" "0.30"	"0.40" "0.50" "0.52" "0.60" "0.70"
	   "1.00"))
   )
 (while (>= what_next 2)
   (setq id_dcl (load_dialog "choixdc.dcl"))
   (if	(not (new_dialog "CHOIXDC" id_dcl))
     (exit)
     )

   (set_tile "dc_selec" dec)
   (setq dclist (acad_strlsort dclist))
   (start_list "dcselec")
   (mapcar 'add_list dclist)
   (end_list)
   (action_tile "dcselec" "(dcc3)")
   (action_tile "dc_selec" "(dcc2)")
   (action_tile "dellist" "(dcc1)")
   (action_tile "cancel" "(exit)")
   (action_tile "pick" "(done_dialog 4)")

   (setq what_next (start_dialog))
   (cond
     ((= what_next 4)
      (initget 64)

      (setq dist (rtos (getdist "\nDistance :") 2 2))

      (if (= (member dist dclist) nil)
 (setq dclist (cons dist dclist))
 )

      (set_tile "dc_selec" (setq dec dist))
      (setq what_next 2)
      )


     )


   ) ;fin while

 (unload_dialog id_dcl)
 (setq ent (car (entsel "\nChoix de l'objet à decaler :")))
 (setq pt (getpoint "\nCoté a decaler :"))
 (command "decaler" (atof dec) ent pt)
 (princ)
 )

(defun dcc1  ()

 (setq dclist '("1.00"))
 (start_list "dcselec")
 (mapcar 'add_list dclist)
 (end_list)
 )
(defun dcc2  ()
 (setq dec $value)
 (if (= (member dec dclist) nil)
   (setq dclist (cons dec dclist))
   )
 (setq what_next 2)
 )
(defun dcc3  ()
 (setq dec (nth (atoi $value) dclist))
 (set_tile "dc_selec" dec)
 (setq what_next 2)
 )



;;;partie a copier de un fichier CHOIXDC.DCL
CHOIXDC:dialog
{label = "Valeur du décalage";
:button{label="Effacer la liste";key="dellist" ;width=5;}

:boxed_column{alignment = centered;width = 25;fixed_width = true;spacer;
:list_box{label = "décalage";key = "dcselec";fixed_width = true;width = 25;height = 10;list = dclist;}
:button{label="Pick >";key="pick" ;width=5;}
:edit_box{label="Décalage";key="dc_selec";edit_width=10;}

spacer;


}
ok_cancel;
}



Vous fîtes ce que vous pûtes

et vous m'épatâtes !!!!

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
Invité samuelM

bonjour,

 

Je veux créer un outil de DECALAGE similaire à celui qui existe déjà.

le différence que je veux c'est pouvoir rentrer deux valeurs en addition au lieu d'un nombre entier.

Savez vous où ou comment je peux accéder à la programmation de DECALAGE qui existe déjà?

Merci

Lien vers le commentaire
Partager sur d’autres sites

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é