Aller au contenu

question jeu de selection


nounours44

Messages recommandés

bonjours a tous,

 

j'utilise le jeu de sélection suivant pour sélectionner toute les ligne de mon schéma.

(setq js (ssget "x" (list(cons 0 "LINE"))))

 

ce jeu de sélection me sert a faire des coupure de ligne au intersection entre deux ligne.

 

le code fonctionne bien sauf que a force de faire des coupures mon nombre de ligne augmente mais mon jeu de sélection reste le même. la conséquence c'est que les nouvelle ligne ne sont pas traiter pour les coupures.

 

y a t'il une façon d’intégrer les nouvelle ligne dans le jeu de sélection?

 

si non comment faite vous pour gérer ce genre de problème?

 

merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Si la coupure (command "_.break" ...) fait partie de ton code, il te suffit de rajouter juste après; la fonction

(ssadd (entlast) js)

 

NB: Si tu es dans une boucle, il peut être nécessaire de réajuster l'index si tu utilise (ssname js ind)

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Si la coupure (command "_.break" ...) fait partie de ton code, il te suffit de rajouter juste après; la fonction

(ssadd (entlast) js)

 

NB: Si tu es dans une boucle, il peut être nécessaire de réajuster l'index si tu utilise (ssname js ind)

 

 

merci bonuscad de ta réponse rapide.

 

j'ai utiliser

(ssadd (entlast) js)

après ma commande "_Break" seulement quand j’inspecte le jeu de sélection je ne peut pas voir la dernière page car il me met une erreur

 

erreur: type d'argument incorrect: (or stringp symbolp): nil

 

je vient de voir que la commande (ssadd (entlast) js) me retourne un bloc et moi il me faut des lignes

 

y a t'il une solution?

Lien vers le commentaire
Partager sur d’autres sites

pour info j'utilise deux commande break a suivre et j'ai mis le ssadd après la deuxième.

 

Mauvaise pioche!

 

Pour ton info, chaque coupure (break) fonctionne comme ceci:

L'entité originale est conservée ET modifiée (suivant l'ordre de création des points la constituant) jusqu'à ton point de coupure. Une nouvelle entité est crée en complémentarité des caractéristiques de l'originale qui représente la seconde partie de ta coupure.

 

Donc tu dois ajouter A CHAQUE coupure ta seconde entité crée en utilisant (entlast): pour avoir la dernière entité créé.

 

erreur: type d'argument incorrect: (or stringp symbolp): nil

Sans voir le code, difficile de dire où est l'erreur.

D'après le message une fonction attend une chaine (string) ou une variable (symbol), mais rien (nil) lui est fournie, d'où l'erreur...

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

Lien vers le commentaire
Partager sur d’autres sites

Mauvaise pioche!

 

Pour ton info, chaque coupure (break) fonctionne comme ceci:

L'entité originale est conservée ET modifiée (suivant l'ordre de création des points la constituant) jusqu'à ton point de coupure. Une nouvelle entité est crée en complémentarité des caractéristiques de l'originale qui représente la seconde partie de ta coupure.

 

Donc tu dois ajouter A CHAQUE coupure ta seconde entité crée en utilisant (entlast): pour avoir la dernière entité créé.

 

 

Sans voir le code, difficile de dire où est l'erreur.

D'après le message une fonction attend une chaine (string) ou une variable (symbol), mais rien (nil) lui est fournie, d'où l'erreur...

 

en fait il me fait cette erreur car la fonction (ssadd (entlast) js) insert un bloc dans le jeu de sélection et le bloc n'a pas de point final et donc a un moment ça bug je ne sait pas ou exactement dans le code du coup il ne faudrait pas rentré les blocs dans le jeu de sélection mais que les ligne.

 

par contre je ne sait pas comment faire.

Lien vers le commentaire
Partager sur d’autres sites

par contre je ne sait pas comment faire

 

Sans voir ton code, moi non plus...

 

Peut être en l'abordant sous un autre angle

Un exemple (non achevé) de départ construit sur ton commentaire

sert a faire des coupure de ligne au intersection entre deux ligne.

((lambda ( / lst_pt js e_name obj js_b nb tmp_name tmp_obj vrt_pt pt)
 (vl-load-com)
 (setq js (ssget "_X" '((0 . "LINE"))))
 (repeat (setq n (sslength js))
   (setq e_name (ssname js (setq n (1- n))))
   (cond
     (e_name
       (setq
         obj (vlax-ename->vla-object e_name)
         js_b js
       )
       (repeat (setq nb (sslength js_B))
         (setq tmp_name (ssname js (setq nb (1- nb))))
         (cond
           (tmp_name
             (setq
               tmp_obj (vlax-ename->vla-object tmp_name)
               vrt_pt (vlax-variant-value (vla-IntersectWith obj tmp_obj 0))
             )
             (if (>= (vlax-safearray-get-u-bound vrt_pt 1) 0)
               (progn
                 (setq pt (vlax-safearray->list vrt_pt))
                 (if pt
                   (if (> (length pt) 3)
                     (repeat (/ (length pt) 3)
                       (setq lst_pt (cons (list (car pt) (cadr pt) (caddr pt)) lst_pt) pt (cdddr pt))
                     )
                     (setq lst_pt (cons pt lst_pt))
                   )
                 )
               )
             )
           )
         )
       )
     )
   )
 )
 (initget 7)
 (setvar "FILLETRAD" (getdist "Rayon des cercles: ")) (setvar "CMDECHO" 0)
 (if (and lst_pt (listp lst_pt)) (foreach el lst_pt (command "_.circle" "_none" (trans el 0 1) (getvar "FILLETRAD"))))
 lst_pt
))

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

Lien vers le commentaire
Partager sur d’autres sites

voila tout les code si ça peut aider car je doit avouer que le v-lisp c pas mon truc.

si tu veut un fichier pour tester je peut le fournir mais que par MP

; ===============================================
;
; COUPURE AUTOMATIQUE  DES LIGNES QUI SE CROISENT
; POUR LA CREATION DE SCHEMA.
;
; Ce programme a été conçu dans le cadre d'une 
; formation AutoLISP.
; =============================================== 


;RAISONNEMENT :
;1 - récup valeur de la résol (snapunit)
;2 - recherche d'objet par rapport au nom du calque (calque 6 prioritaire)
;3 - analyse des objets pour ne traiter que les lignes
;4 - d'une ligne on en déduire le X Y de départ et de fin et son angle
;5 - on retrouve des intersections sur d'autres lignes


(defun c:couplin ()

(setvar "cmdecho" 0) ; on supprime l'écho des commandes

; on mémorise l'accrochage objet
(setq accroche (getvar "osmode"))
; on met l'accrochage à aucun
(setvar "osmode" 0)

   
(princ "\nTraitement en cours...")

   ;création variable correspondant à la longueur de coupe
   ;(longueur de coupe = 3 x résol)
   (setq lgcoupe (* (cadr (getvar "snapunit" ))3))
  
   	(setq js (ssget "x" (list(cons 0 "LINE"))))
    ;récupération du nombre d'objet dans le jeu de sélection
(setq nbobj (sslength js))
    
   ;mise à 0 dans indice pour partir du début du jeu de sélection
   (setq ind 0)



   ;création de la boucle pour traiter tous les objets
 (while (/= nbobj ind)
       (if (= ind 118)
  (redraw ligne 3)
  (setq ligne (ssname js ind))
 )
   ;(repeat nbobj
; récupération du X,Y,Z du début de la ligne 
       (setq depart (cdr (assoc 10 (entget (ssname js ind)))))
       (setq dxy  (list (car depart)(cadr depart)))

	; récupération du X,Y,Z de la de la ligne        
       (setq fin (cdr (assoc 11 (entget (ssname js ind)))))
       (setq fxy (list (car fin)(cadr fin)))

; récupération du calque       
       (setq calque (cdr (assoc 8 (entget (ssname js ind)))))
            
       ;calcul de l'angle de la ligne (en radian)
       (setq ang (angle dxy fxy))

 	(setq angl (gc:TrueZero ang 0.00001))
     
       ;condition si la ligne est horizontale
; si oui on exécute le sous programme VERIFCOUP
       (if (or (equal angl 0 1E-5) (equal angl pi 1E-5) (equal angl (* 2 pi) 1E-5)(= angl 0) (= angl pi) (= angl (* 2 pi)))
           (verifcoup)
       )
       (setq ind (+ ind 1))
       (setq jsx (ssget "x" (list(cons 0 "LINE"))))
    ;récupération du nombre d'objet dans le jeu de sélection
(setq nbobjx (sslength jsx))
     	;(if (/= nbobj nbobjx)
	;(nouvsel jsx)
 ; )
        
       ;incrémentation de l'indice pour la boucle
       ;ou (setq ind (1+ ind))
)
   ;);fermeture du repeat

; on met l'accrochage comme au départ
(setvar "osmode" accroche)

(Alert "\nFin du traitement de coupure des lignes.")

   (princ)
   
); fermeture du defun COUPLIN


(defun nouvsel (sel)

 (setq js (ssget "x" (list(cons 0 "LINE"))))
 (setq nbobj (sslength js))
 (setq ind 0)
)
 

;; gc:TrueZero
;; Arrondit à 0 les nombres compris entre -fuzz et fuzz
;; Fonctionne avec les nombres et les listes de nombres (même imbriquées)
;;
;; Arguments
;; num : le nombre à arrondir
;; fuzz : la tolérance
(defun gc:TrueZero (num fuzz)
 (if (listp num)
   (mapcar '(lambda (x) (truezero x fuzz)) num)
   (if	(< (- fuzz) num fuzz)
     0.
     num
   )
 )
)
;========================================
;**sous-prog de verification des coupes**
;========================================


(defun verifcoup ()

  
   ;variable ind1 à 0
   (setq ind1 0)
   
   ;création d'un autre jeu de sélection portant sur des objets ligne
   (setq js1 (ssget "x" (list (cons 0 "line"))))
   
   ;récupération du nombre d'objet dans le jeu de sélection
   (setq nbobj1 (sslength js1))
   
   ;création de la boucle pour traiter tous les objets
   (repeat nbobj1

     	
     
       (setq depart1 (cdr (assoc 10 (entget (ssname js1 ind1)))))
       (setq d1xy  (list (car depart1)(cadr depart1)))
       
       (setq fin1 (cdr (assoc 11 (entget (ssname js1 ind1)))))
       (setq f1xy (list (car fin1)(cadr fin1)))

       (setq calque1 (cdr (assoc 8 (entget (ssname js1 ind1)))))
     
       (setq int (inters dxy fxy d1xy f1xy))
     
       ;calcul de l'angle de la ligne (en radian)
       (setq ang1 (angle d1xy f1xy))

     (setq ang1 (gc:TrueZero ang1 0.00001))
       (setq ligne1 (ssname js1 ind1))
     	(setq ligne (ssname js ind))
       (redraw ligne 3)
       (setq test '(95.0 287.0))
       (if  (equal int test 0.1)
  (redraw ligne 3)
)

   (if (/= int nil)
       ;condition : aucun point d'extrémité de la ligne ne doit être égal à INT
       (if (and 
           (null (equal int dxy 0.0001))
           (null (equal int fxy 0.0001))
           (null (equal int d1xy 0.0001))
           (null (equal int f1xy 0.0001))
    )
       ;condition : si ligne est verticale
       	(if  (or (equal ang1 (* 0.5 pi) 1E-5)(equal ang1 (* 1.5 pi)1E-5)(= ang1 (* 0.5 pi))(= ang1 (* 1.5 pi)))
		(traitcoup calque);alors aller vers traitcoup
	)

  )
     )
(redraw ligne1 4)
     (redraw ligne 4)
       ;incrémentation de l'indice pour la boucle
       (setq ind1 (+ ind1 1));ou (setq ind1 (1+ ind1))

       
   );fermeture repeat
   
);fermeture defun verifcoup



;======================================
;**sous-prog de traitement des coupes**
;======================================

(defun traitcoup (calque)


 (cond

   ((= calque "1") (coupe1))
   ((= calque "1B") (coupe1B))
   ((= calque "2") (coupe2))
   ((= calque "3") (coupe3))
   ((= calque "15") (coupe15))
   ((= calque "5") (coupe5))
   ((= calque "4") (coupe4))
   ((= calque "6") (coupe6))
   ((= calque "X1") (coupeX1))
   ((= calque "C1") (coupeC1))
   ((= calque "C1B") (coupeC1B))
   ((= calque "C2") (coupeC2))
   ((= calque "C3") (coupeC3))
   ((= calque "C15") (coupeC15))
   ((= calque "C5") (coupeC5))
   ((= calque "C4") (coupeC4))
   ((= calque "C6") (coupeC6))
   
 )
 (setq nbobj (sslength js ))
 )

(defun typeobj ()
(setq jstest (ssadd (entlast)))
 	(setq x (cdr (assoc 0 (entget (ssname jstest 0)))))
 	(if (= x "LINE")
  (ssadd (entlast) js)
  
  )
  
 )

(defun coupe1 ()
   	(cond
           	((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	 
	((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj))

	((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
    )
)
  

 (defun coupe1B ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	 
	((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
			
             )
  )
      

(defun coupe2 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	
	((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	 
	((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
			
             )
     )

(defun coupe3 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
			
             )
     )

(defun coupe15 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
			
             )
     )

(defun coupe5 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	
	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
			
             )
     )

(defun coupe4 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )

	((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	
	((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	
             )
     )

(defun coupe6 ()
       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
	
	((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
					
             )
     )

(defun coupeX1 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	
	((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) )

	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) )
			
             )
     )


(defun coupeC1 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) ) ;horizontale
	;((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) ) ;verticale
	
	;((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	 
	;((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "X1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
			
             )
     )



(defun coupeC1B ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) ) ;horizontale
	;((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) ) ;verticale
	
	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	 
	;((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "X1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
			
             )
     )


(defun coupeC2 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) ) ;horizontale
	;((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) ) ;verticale
	
	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "X1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
			
             )
     )
 
(defun coupeC3 ()
       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) ) ;horizontale
	;((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) ) ;verticale
	
	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "X1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
			
             )
     )


(defun coupeC4 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) ) ;horizontale
	;((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) ) ;verticale
	
	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "X1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
			
             )
     )

     (defun coupeC5 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) ) ;horizontale
	;((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) ) ;verticale
	
	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "X1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
			
             )
     )

     (defun coupeC6 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) ) ;horizontale
	;((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) ) ;verticale
	
	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "X1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
			
             )
     )

     (defun coupeC15 ()

       (cond

	((= calque1 "1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) ) ;horizontale
	;((= calque1 "1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) ) ;verticale
	
	((= calque1 "1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	 
	((= calque1 "2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	((= calque1 "C1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C1B") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C1B") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C2") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C2") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	((= calque1 "C3") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	;((= calque1 "C3") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
	
	;((= calque1 "C4") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C4") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C5") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C5") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C6") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C6") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "C15") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "C15") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale

	;((= calque1 "X1") (command "_BREAK" ligne int (polar int angl lgcoupe))(typeobj)(command "_BREAK" ligne int (polar int (+ angl pi) lgcoupe))(typeobj) );horizontale
	((= calque1 "X1") (command "_BREAK" ligne1 int (polar int ang1 lgcoupe))(typeobj)(command "_BREAK" ligne1 int (polar int (+ ang1 pi) lgcoupe))(typeobj) );verticale
			
             )
     )


Lien vers le commentaire
Partager sur d’autres sites

en fait je vient de voir que une des ligne que j'ajout au jeu de sélection est supprimer plus tard et donc mon jeu de sélection pointe vers un élément qui n'existe plus.

je pence que je doit faire un test de la longueur de l'élément avant de l'intégrer au jeu de sélection mais je ne suis pas sur que ça résolve le problème.

Lien vers le commentaire
Partager sur d’autres sites

Ton code est bien répétitif, et donc très long...!

 

Je pense avoir saisi à peu près ce que tu veux faire.

Voici un code similaire qui doit faire je pense la même chose mais pas de la même façon: j'ai "shunter" la commande BREAK pour préférer un (entmake)

 

Profites de mes commentaires que j'ai mis (c'est très rare que je le fasse :(rires forts): ) pour comprendre la démarche du code et pouvoir le perfectionner.

(defun c:cut_line ( / js_all js_h js_v lst_exth lst_extv nb_all name_ent dxf_ent dxf_10 dxf_11 nb_v lst_pt_brk v_name dxf_entv lst_int lst_pt_make)
 ;recupere toutes les lignes du dessin dans js_all et declare deux jeux vides de selection vertical et horizontal
 (setq js_all (ssget "_X" '((0 . "LINE"))) js_h (ssadd) js_v (ssadd) lst_exth nil lst_extv nil)
 ;si il y a des lignes
 (cond
   (js_all
     ;alors pour chaque ligne on recupere ses points de definition
     (repeat (setq nb_all (sslength js_all))
       (setq
         name_ent (ssname js_all (setq nb_all (1- nb_all)))
         dxf_ent (entget name_ent)
         dxf_10 (cdr (assoc 10 dxf_ent))
         dxf_11 (cdr (assoc 11 dxf_ent))
       )
       ;si les Y sont identique à 0.00001 près alors on ajoute l'entite au jeu horizontal
       ;si les X sont identique à 0.00001 près alors on ajoute l'entite au jeu vertical
       (cond
         ((equal (cadr dxf_10) (cadr dxf_11) 1E-5)
           (setq js_h (ssadd name_ent js_h) lst_exth (cons (list dxf_10 dxf_11) lst_exth))
         )
         ((equal (car dxf_10) (car dxf_11) 1E-5)
           (setq js_v (ssadd name_ent js_v) lst_extv (cons (list dxf_10 dxf_11) lst_extv))
         )
       )
     )
   )
 )
 ;s'il y a effectivement un jeu vertical ET horizontal
 (cond
   ((and js_h js_v)
     ;pour chaque entite verticale on cherche les intersections par iteration avec toutes les horizontales
     (repeat (setq nb_v (sslength js_v))
       (setq
         lst_pt_brk nil
         v_name (ssname js_v (setq nb_v (1- nb_v)))
         dxf_entv (entget v_name)
         dxf_10 (cdr (assoc 10 dxf_entv))
         dxf_11 (cdr (assoc 11 dxf_entv))
         lst_int (vl-remove nil (mapcar '(lambda (x) (inters dxf_10 dxf_11 (car x) (cadr x) T)) lst_exth))
       )
       ;si des intersections ont ete trouves on calcule les points de part et d'autre qu'on trie par ordre croissant en Y
       ;et qu'on stoke dans une liste de point pour créer les segment de ligne et on efface le segment vertical original
       (cond
         (lst_int
           (mapcar
             '(lambda (el)
               (setq
                 lst_pt_brk
                 (cons
                   (polar el (* pi 0.5) (* (cadr (getvar "snapunit" )) 3))
                   (cons
                     (polar el (* pi 1.5) (* (cadr (getvar "snapunit" )) 3))
                     lst_pt_brk
                   )
                 )
               )
             )
             lst_int
           )
           (setq lst_pt_make (vl-sort (cons dxf_11 (cons dxf_10 lst_pt_brk)) '(lambda (e1 e2) (< (cadr e1) (cadr e2)))))
           (while lst_pt_make
             (entmake
               (list
                 (assoc 0 dxf_entv)
                 '(100 . "AcDbEntity")
                 (assoc 67 dxf_entv)
                 (assoc 410 dxf_entv)
                 (assoc 8 dxf_entv)
                 '(100 . "AcDbLine")
                 (cons 10 (car lst_pt_make))
                 (cons 11 (cadr lst_pt_make))
                 (assoc 210 dxf_entv)
               )
             )
             (setq lst_pt_make (cddr lst_pt_make))
           )
           (entdel v_name)
         )
       )
     )
   )
 )
 (prin1)
)

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

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Un de mes premiers lisp, donc sans v-lisp.

Ne fonctionne que sur des lignes, mais qu'importe l'angle.

;;;=================================================================
;;;
;;; COUP.LSP V1.00
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================================

(defun c:coup(/ cmd h s)

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Gestion des erreurs
 ;;;
 ;;;---------------------------------------------------------------

 (defun *errcoup* (msg)
   (if (/= msg "Function cancelled")
     (if (= msg "quit / exit abort")
       (princ)
       (princ (strcat "\nErreur : " msg))
     )
     (princ)
   )
   (setq *error* s)
   (setvar "pickadd" h)
   (setvar "cmdecho" cmd)
   (princ)
 )

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Couper une ligne
 ;;;
 ;;;---------------------------------------------------------------

 (defun couper_ligne(/ a b c d e f g n o p1 p2 q)

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Trier les points d'intersections
 ;;;
 ;;;---------------------------------------------------------------

   (defun trie_liste(o / b c d f i k n l)
     (setq b e)
     (setq l 0)
     (while (/= (car B) nil)
       (setq i (car B))
       (cond
         ((or (= o "DG") (= o "GD"))
           (foreach n b
             (if (< (car n) (car i))
               (setq i n)
             )
           )
         )
       )
       (cond
         ((or (= o "HB") (= o "BH"))
           (foreach n b
             (if (< (cadr n) (cadr i))
               (setq i n)
             )
           )
         )
       )
       (cond
         ((or (= o "BGH") (= o "HDB"))
           (foreach n b
             (if (< (car n) (car i))
               (setq i n)
             )
           )
           (foreach n b
             (if (and (= (car n) (car i)) (< (cadr n) (cadr i)))
               (setq i n)
             )
           )
         )
         ((or (= o "HGB") (= o "BDH"))
           (foreach n b
             (if (< (car n) (car i))
               (setq i n)
             )
           )
           (foreach n b
             (if (and (= (car n) (car i)) (> (cadr n) (cadr i)))
               (setq i n)
             )
           )
         )
       )
       (setq d (append (list i) d))
       (setq c nil)
       (foreach n b
         (if (/= n i)
           (setq c (append (list n) c))
         )
       )
       (setq b c)
       (setq l (1+ l))
     )
     (if (or (= o "GD") (= o "BH") (= o "BGH") (= o "BGD") (= o "HGB") (= o "BDG"))
       (setq e (reverse d))
       (setq e d)
     )
   )

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Routine de Couper
 ;;;
 ;;;---------------------------------------------------------------

   (princ "\nSélectionnez la ligne à couper.")
   (setq e nil)
   (setvar "pickadd" 0)
   (setq a (ssget))
   (if a
     (progn
       (setq n 0)
       (while (ssname a n)
         (if (= (cdr (assoc 0 (entget (ssname a n)))) "LINE")
           (setq b n)
         )
         (setq n (1+ n))
       )
       (if b
         (progn
           (princ "\nSélectionnez les intersections.")
           (setvar "pickadd" 1)
           (setq c (ssget))
           (if c
             (progn
               (setq n 0)
               (setq d nil)
               (while (ssname c n)
                 (if (= (cdr (assoc 0 (entget (ssname c n)))) "LINE")
                   (setq d n)
                 )
                 (setq n (1+ n))
               )
               (if d
                 (progn
                   (setq n 0)
                   (setq i 0)
                   (setq b (entget (ssname a B)))
                   (while (ssname c n)
                     (setq d (entget (ssname c n)))
                     (if (= (cdr (assoc 0 d)) "LINE")
                       (progn
                         (setq f (inters (list (cadr (assoc 10 B)) (caddr (assoc 10 B)))
                                         (list (cadr (assoc 11 B)) (caddr (assoc 11 B)))
                                         (list (cadr (assoc 10 d)) (caddr (assoc 10 d)))
                                         (list (cadr (assoc 11 d)) (caddr (assoc 11 d)))))
                         (if f
                           (progn
                             (setq i (1+ i))
                             (setq e (append (list f) e))
                           )
                         )
                       )
                     )
                     (setq n (1+ n))
                   )
                   (if e
                     (progn
                       (cond
                         ((= (cadr (assoc 10 B)) (cadr (assoc 11 B)))
                           (if (> (caddr (assoc 10 B)) (caddr (assoc 11 B)))
                             (setq o "HB")
                             (setq o "BH")
                           )
                         )
                         ((= (caddr (assoc 10 B)) (caddr (assoc 11 B)))
                           (if (> (cadr (assoc 10 B)) (cadr (assoc 11 B)))
                             (setq o "DG")
                             (setq o "GD")
                           )
                         )
                         ((> (cadr (assoc 10 B)) (cadr (assoc 11 B)))
                           (if (> (caddr (assoc 10 B)) (caddr (assoc 11 B)))
                             (setq o "HDB")
                             (setq o "BGH")
                           )
                         )
                         ((< (cadr (assoc 10 B)) (cadr (assoc 11 B)))
                           (if (> (caddr (assoc 10 B)) (caddr (assoc 11 B)))
                             (setq o "HGB")
                             (setq o "BDH")
                           )
                         )
                       )
                       (trie_liste o)
                       (if (or (= o "BDH") (= o "BGH"))
                         (progn
                           (setq e (reverse e))
                           (setq k (angle (list (cadr (assoc 11 B)) (caddr (assoc 11 B)))
                                          (list (cadr (assoc 10 B)) (caddr (assoc 10 B)))))
                         )
                         (setq k (angle (list (cadr (assoc 10 B)) (caddr (assoc 10 B)))
                                        (list (cadr (assoc 11 B)) (caddr (assoc 11 B)))))
                       )
                       (setq g (getreal (strcat "\nValeur du décalage <" (rtos g_lign) "> : ")))
                       (if g
                         (setq g_lign g)
                       )
                       (setq n 0)
                       (while (nth n e)
                         (setq p1 (polar (nth n e) k g_lign))
                         (setq p2 (polar (nth n e) k (- g_lign)))
                         (command "_.break" (cdr (assoc -1 B)) "_none" p1 "_none" p2)
                         (setq q (entget (ssname (ssget "_l") 0)))
                         (if (/= (cdr (assoc -1 B)) (cdr (assoc -1 q)))
                           (setq b q)
                           (setq b (entget (cdr (assoc -1 B))))
                         )
                         (setq n (1+ n))
                       )
                     )
                     (princ "\nPas d'intersection.")
                   )
                 )
                 (princ "\nAucune ligne de sélectionnée.")
               )
             )
             (princ "\nAucune Sélection.")
           )
         )
         (princ "\nAucune ligne de sélectionnée.")
       )
     )
     (princ "\nAucune Sélection.")
   )
   (princ)
 )

 ;;;---------------------------------------------------------------
 ;;;
 ;;; Routine de lancement
 ;;;
 ;;;---------------------------------------------------------------

 (setq s *error*)
 (setq *error* *errcoup*)
 (setq cmd (getvar "cmdecho"))
 (setq h (getvar "pickadd"))
 (setvar "cmdecho" 0)
 (command "_.undo" "_group")
 (if (not g_lign)
   (setq g_lign 1.0)
 )
 (couper_ligne)
 (command "_.undo" "_end")
 (setq *error* s)
 (setvar "pickadd" h)
 (setvar "cmdecho" cmd)
 (princ)
)

(setq nom_lisp "COUP")
(if (/= app nil)
 (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp)
   (princ (strcat "..." nom_lisp " chargé."))
   (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter.")))
 (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter.")))
(setq nom_lisp nil)
(princ)

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

salut à tous,

je vois dans le mail de patrick_35 un peu de nostalgie quand il évoque ses 1er lisps ...

moi j'ai un peu honte quand je les revois !

 

par contre, pour ce problème, le qbrick de Kamal Boutora devrait faire l'affaire

Qbrick

Gérald

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

moi j'ai un peu honte quand je les revois !

Salut

 

On a tous commencé et c'était des super codes à l'époque ;)

Nos techniques évoluent et quand je regarde le mien, il y a plusieurs pistes d'optimisations. Mais il fonctionne très bien et l'améliorer n'apportera que quelques millisecondes, alors...

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

J'ai amélioré un peu mon précédent code.

Ce qui a changé:

- Suppression de la sélection automatique de toute les lignes dans le dessin, je préfère qu'une sélection soit faite par l'utilisateur.

- Recherche des verticalités et horizontalités dans le SCU courant.

- Élimination des intersections qui seraient identique aux extrémités des lignes.

- Prise en compte des caractéristiques forcées éventuelles des lignes (couleur, type de ligne, épaisseur)

- Substitution de l'utilisation de SNAPUNIT par DIMEXO pour le décalage de coupure (ça me semble plus logique de s'appuyer sur cette variable)

 

(defun c:cut_line ( / js_all js_h js_v lst_exth lst_extv nb_all name_ent dxf_ent dxf_10 dxf_11 nb_v lst_pt_brk v_name dxf_entv lst_int lst_pt_make)
 ;recupere toutes les lignes du dessin dans js_all et declare deux jeux vides de selection vertical et horizontal
 (princ "\nSélectionner les lignes pour couper les lignes verticales avec les horizontales: ")
 (setq js_all (ssget '((0 . "LINE"))) js_h (ssadd) js_v (ssadd) lst_exth nil lst_extv nil)
 ;si il y a des lignes
 (cond
   (js_all
     ;alors pour chaque ligne on recupere ses points de definition
     (repeat (setq nb_all (sslength js_all))
       (setq
         name_ent (ssname js_all (setq nb_all (1- nb_all)))
         dxf_ent (entget name_ent)
         dxf_10 (cdr (assoc 10 dxf_ent))
         dxf_11 (cdr (assoc 11 dxf_ent))
       )
       ;si les Y sont identique dans le SCU courant à 0.00001 près alors on ajoute l'entite au jeu horizontal
       ;si les X sont identique dans le SCU courant à 0.00001 près alors on ajoute l'entite au jeu vertical
       (cond
         ((equal (cadr (trans dxf_10 0 1)) (cadr (trans dxf_11 0 1)) 1E-5)
           (setq js_h (ssadd name_ent js_h) lst_exth (cons (list dxf_10 dxf_11) lst_exth))
         )
         ((equal (car (trans dxf_10 0 1)) (car (trans dxf_11 0 1)) 1E-5)
           (setq js_v (ssadd name_ent js_v) lst_extv (cons (list dxf_10 dxf_11) lst_extv))
         )
       )
     )
   )
 )
 ;s'il y a effectivement un jeu vertical ET horizontal
 (cond
   ((and js_h js_v)
     ;pour chaque entite verticale on cherche les intersections par iteration avec toutes les horizontales
     (repeat (setq nb_v (sslength js_v))
       (setq
         lst_pt_brk nil
         v_name (ssname js_v (setq nb_v (1- nb_v)))
         dxf_entv (entget v_name)
         dxf_10 (cdr (assoc 10 dxf_entv))
         dxf_11 (cdr (assoc 11 dxf_entv))
         lst_int (vl-remove nil (mapcar '(lambda (x) (inters dxf_10 dxf_11 (car x) (cadr x) T)) lst_exth))
       )
       ;si l'intersection fait partie des extremites horizontale, elles sont supprimées
       (foreach xint lst_int
         (if (member xint (apply 'append lst_exth))
           (setq lst_int (vl-remove xint lst_int))
         )
       )
       ;si des intersections ont été trouvées on calcule les points de part et d'autre dans le SCU courant qu'on trie par ordre croissant en Y
       ;et qu'on stocke dans une liste de point pour créer les segment de ligne et on efface le segment vertical original
       (cond
         (lst_int
           (mapcar
             '(lambda (el)
               (setq
                 lst_pt_brk
                 (cons
                   (polar el (+ (atan (/ (cadr (getvar "UCSXDIR")) (car (getvar "UCSXDIR")))) (* pi 0.5)) (getvar "DIMEXO" ))
                   (cons
                     (polar el (+ (atan (/ (cadr (getvar "UCSXDIR")) (car (getvar "UCSXDIR")))) (* pi 1.5)) (getvar "DIMEXO" ))
                     lst_pt_brk
                   )
                 )
               )
             )
             lst_int
           )
           (setq lst_pt_make (vl-sort (cons dxf_11 (cons dxf_10 lst_pt_brk)) '(lambda (e1 e2) (< (cadr e1) (cadr e2)))))
           (while lst_pt_make
             (entmake
               (list
                 (assoc 0 dxf_entv)
                 '(100 . "AcDbEntity")
                 (assoc 67 dxf_entv)
                 (assoc 410 dxf_entv)
                 (assoc 8 dxf_entv)
                 (if (assoc 62 dxf_entv) (assoc 62 dxf_entv) '(62 . 256))
                 (if (assoc 6 dxf_entv) (assoc 6 dxf_entv) '(6 . "BYLAYER"))
                 (if (assoc 48 dxf_entv) (assoc 48 dxf_entv) '(48 . 1.0))
                 (if (assoc 370 dxf_entv) (assoc 370 dxf_entv) '(370 . -1))
                 '(100 . "AcDbLine")
                 (cons 10 (car lst_pt_make))
                 (cons 11 (cadr lst_pt_make))
                 (assoc 210 dxf_entv)
               )
             )
             (setq lst_pt_make (cddr lst_pt_make))
           )
           (entdel v_name)
         )
       )
     )
   )
 )
 (prin1)
)

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

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é