Aller au contenu

Routine besoin d'information


CadFrank

Messages recommandés

Bonjour à tous,

 

Voici un routine que j'ai créer.

 

Ce but consiste a coffrer les cotés d'une pourtre de béton.

 

ma question est la suivante. Est-elle bien structuré ou y aurait-il un moyen plus rapide que la sélection de 2 point pour créer mon coffrage.

 

Voici le code

 

(defun NouveauCalque ()
 
 (Command"_layer" "_n" "-LU BOIS" "_C" "41" "-LU BOIS" "" "")
 (Command"_layer" "_n" "-LU CONTREPLAQUÉ"  "_C" "40" "-LU CONTREPLAQUÉ" "" "")

)

(defun c:cofp (/ rep pt1 pt2 os)

 (setq pt1 (getpoint "\nPointez le premier point ! "))
 (setq pt2 (getpoint "\nPointer le second point ! "))

 (setq os (getvar 'OSMODE))
 (setvar 'OSMODE 0)
 
 
 (initget 1 "G D")
 (setq rep (getkword "\nChoisir un côté de poutre [Gauche/Droite] "))
 
   (if (= rep "G")
     (progn
     
       (setq pt3 (list (- (car pt2) 20) (- (cadr pt2) 20)))
       (setq pt4 (list (- (car pt1) 20) (cadr pt1)))
       (setq pt5 (list (- (car pt4) 90) (+ (cadr pt4) 20)))
       (setq pt6 (list (- (car pt4) 90) (cadr pt4)))
       (setq pt7 (list (car pt3) (- (cadr pt3) 38)))
       (setq pt8 (list (car pt3) (- (cadr pt3) 76)))
       (command "_insert" "2x4" pt6 "" "1" "")
       (setq blc1 (entlast))
(command "_insert" "2x4" pt7 "" "1" "")
       (setq blc2 (entlast))
(command "_insert" "2x4" pt8 "" "1" "")
(setq blc3 (entlast))

     );progn
   );if

   (if (= rep "D")
     (progn
     
       (setq pt3 (list (+ (car pt2) 20) (- (cadr pt2) 20)))
       (setq pt4 (list (+ (car pt1) 20) (cadr pt1)))
       (setq pt5 (list (+ (car pt4) 90) (+ (cadr pt4) 20)))
       (setq pt6 (list (+ (car pt4) 90) (cadr pt4)))
       (setq pt7 (list (car pt3) (- (cadr pt3) 38)))
       (setq pt8 (list (car pt3) (- (cadr pt3) 76)))
(setq pt9 (list (+ (car pt6) 90) (cadr pt4)))
(setq pt10 (list (car pt5) (- (cadr pt3) 38)))
(setq pt11 (list (car pt5) (- (cadr pt3) 76)))
       (command "_insert" "2x4" pt9 "" "1" "")
       (setq blc1 (entlast))
(command "_insert" "2x4" pt10 "" "1" "")
       (setq blc2 (entlast))
(command "_insert" "2x4" pt11 "" "1" "")
       (setq blc3 (entlast))

     );progn
   );if
   
 (NouveauCalque)
 (command "_rectangle" pt1 pt3)
 (setq rec1 (entlast))
 (command "_rectangle" pt4 pt5)
 (setq rec2 (entlast))
 (command "_rectangle" pt5 pt8)
 (setq rec3 (entlast))

 (command "_chprop" blc1 blc2 blc3 rec3 "" "_la" "-LU BOIS" "" "")
 (command "_chprop" rec1 rec2 "" "_la" "-LU CONTREPLAQUÉ" "" "")

 (setvar 'OSMODE os)
 
 (princ)
 
);defun c:

 

voici ce qui est nécessaire pour tester la routine.

 

 

 

Sincére salutations a tous !

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é