LISP et Visual LISP derniers sujetshttps://cadxp.com/forum/11-lisp-et-visual-lisp/LISP et Visual LISP derniers sujetsfrDe l’émergence à la chute des machines Lisp, vers l'AutoLISPhttps://cadxp.com/topic/62351-de-l%E2%80%99%C3%A9mergence-%C3%A0-la-chute-des-machines-lisp-vers-lautolisp/ Savez-vous ce qu'est une machine LISP ? Programmeurs AutoLISP, vous pouvez lui dire merci ! 😉

https://dessein-tech.com/t/de-l-emergence-a-la-chute-des-machines-lisp-vers-lautolisp/5540

]]>
62351Sat, 14 Jun 2025 03:39:18 +0000
Le guide de référence Visual LISP AutoCAD® 2000i en anglaishttps://cadxp.com/topic/62243-le-guide-de-r%C3%A9f%C3%A9rence-visual-lisp-autocad%C2%AE-2000i-en-anglais/ Le guide de référence Visual LISP AutoCAD® 2000i en anglais d’Autodesk® détaille une vaste gamme de fonctions AutoLISP disponibles en version 2000i

2025-04-24_21-45-07.png.1e2f89e2ddc6cd1fb829bc505fb40374.png

]]>
62243Fri, 25 Apr 2025 00:50:43 +0000
Aide à la modification d'un LISPhttps://cadxp.com/topic/62183-aide-%C3%A0-la-modification-dun-lisp/ Bonjour,

Un collègue a créé un lisp (avec l'aide de l'"IA") pour dessiner les courbes de charge d'une grue.

Mais je souhaiterait améliorer ce lisp.

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
;XXXXXXXXXX  MDT219   XXXXXXXXXXX
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

(defun c:GRUE_DIAG219 ()
  (setq choix-fleche (getstring "\nEntrez la longueur de flèche installée (ex: 30m, 35m, ...): "))
  
  ;; Définition des capacités de levage selon la longueur de flèche et le rayon de travail
  (setq capacites '(

("25" (20 20) (25 8.4))
("30" (20 10) (25 8.6) (30 7))
("35" (21 10) (25 8.5) (30 6.9) (35 5.8))
("40" (20 10) (25 8.4) (30 6.9) (35 5.8) (40 5))
("45" (20 10) (25 8.3) (30 6.8) (35 5.7) (40 4.9) (45 4.3))
("50" (20 10) (25 8.3) (30 6.7) (35 5.6) (40 4.7) (45 4) (50 3.5))
("55" (20 10) (25 7.9) (30 6.4) (35 5.4) (40 4.5) (45 3.9) (50 3.3) (55 2.95))
("60" (20 9.4) (25 7.3) (30 6) (35 4.6) (40 4.2) (45 3.6) (50 3.1) (55 2.6) (60 2.2))
("65" (20 8.88) (25 6.9) (30 5.6) (35 4.6) (40 3.9) (45 3.3) (50 2.85) (55 2.4) (60 1.95) (65 1.6))
  ))
  
  ;; Récupération des valeurs disponibles pour la flèche choisie
  (setq valeurs (cdr (assoc choix-fleche capacites)))
  
  (if valeurs
    (progn
      (foreach item valeurs
        (setq rayon (car item)
              charge (cadr item))
        ;; Dessiner un cercle pour chaque rayon de travail
	;; la partie (command "_circle" '(x x) défini le centre des cercles
        (command "_circle" '(0 0) (rtos rayon 2 2))
        ;; Ajouter un texte avec la charge au bon emplacement
	;; (list rayon x) défini la coordonnée y du texte de charge noté
    ;;    (command "_text" (list rayon 0) "1" "90" (strcat (rtos charge 2 2) "t ")))
        (command "_text" (list rayon 0) "1" "90" (strcat (rtos rayon 2 2) "m - " (rtos charge 2 2) "t")))
      (princ "\nDiagramme de levage cree avec toutes les charges affichees."))
    (princ "\nFleche non disponible."))
  (princ))

Je souhaiterai que
- Le lisp interroge et demande le lieu où les courbes de charge soient insérées
- Les courbes de charge soient crée dans un bloc

Dans un deuxième temps, ce lisp comporte les courbes de charge de plusieurs grues
(defun c:GRUE_DIAG219 ()
(defun c:GRUE_DIAG218 ()
(defun c:GRUE_DIAG178 ()

Comment faire pour que le lisp nous interroge sur la grue à installer

Quelles sont les modification à apporter au lisp.

D'avance, je vous remercie

]]>
62183Thu, 27 Mar 2025 13:09:45 +0000
Erreur dans mon LISP ?https://cadxp.com/topic/62190-erreur-dans-mon-lisp/ Bonjour,

J'ai essayé de créer un bout de code pour apprendre le language.

Ce code est censé me demander si je veux exécuter l'une ou l'autre fonction

(defun c:ChoisirFonction ()
  (setq choix (getkword "\nChoisissez la fonction à exécuter [CHOIXOPTION1 / CHOIXOPTION2Y] : "))
  
  (cond
    ((= choix "CHOIXOPTION1")
     (CHOIXOPTION1)  ; Appel de la fonction CHOIXOPTION1
     (princ "\nVous avez choisi CHOIXOPTION1"))
    ((= choix "CHOIXOPTION2Y")
     (CHOIXOPTION2Y)  ; Appel de la fonction CHOIXOPTION2Y
     (princ "\nVous avez choisi CHOIXOPTION2Y"))
    (T
     (princ "\nChoix invalide. Veuillez entrer une option correcte."))  ; Si l'entrée est invalide
  )
  (princ)  ; Retour à la ligne de commande
)

(defun CHOIXOPTION1 ()
  (command "TEXT" "0,0,0" "0.2" "0" "oui")  ; Crée le texte "oui" aux coordonnées 0,0,0
  (princ "\nTexte 'oui' écrit aux coordonnées (0,0,0).")
)

(defun CHOIXOPTION2Y ()
  (command "TEXT" "0,0,0" "0.2" "0" "non")  ; Crée le texte "non" aux coordonnées 0,0,0
  (princ "\nTexte 'non' écrit aux coordonnées (0,0,0).")
)

Mais la réponse que j'obtient est "Choix de l'option incorrect"

Euh ? qu'ai-je fait de faux ?

]]>
62190Fri, 28 Mar 2025 15:45:07 +0000
Objet en avant ou en arrière planhttps://cadxp.com/topic/62103-objet-en-avant-ou-en-arri%C3%A8re-plan/  

Bonjour à tous,

J'ai trouvé ce lisp de Gile sur ce topic https://cadxp.com/topic/20076-mettre-le-contenu-dun-calque-au-premier-plan/page/2/ qui fonctionne parfaitement, mais j'aimerais l'améliorer pour qu'il cible également les objets situés dans les blocs. Est-ce possible ? Je n'ai pas réussi à créer la boucle pour parcourir tous les blocs sans distinction et mettre les objets situés dans le calque cible au premier plan.

;;; TOP & BOT (gile)
;;; Placer tous les objets du calque de l'objet cible en avant (TOP)
;;; ou en arrière (BOT).
;;;
;;; L'utilisation de la fonction mapcar permet de définir les deux fonctions
;;; dans une seule expression.

(mapcar
 (function
   (lambda (cde fun)
     (eval
(list
  'defun
  cde
  '(/ ent doc sort space ss cnt var)
  '(vl-load-com)
  (list
    'and
    '(setq
      ent
      (car
       (entsel "\nSélectionnez un objet sur le calque cible: ")
      )
     )
    '(setq
      doc
      (vla-get-ActiveDocument (vlax-get-acad-object))
      space
      (if
       (= 1 (getvar 'cvport))
       (vla-get-PaperSpace doc)
       (vla-get-ModelSpace doc)
      )
     )
    '(or
      (not
       (vl-catch-all-error-p
	(setq
	 sort
	 (vl-catch-all-apply
	  'vla-getObject
	  (list
	   (vla-getExtensionDictionary
	    space
	   )
	   "ACAD_SORTENTS"
	  )
	 )
	)
       )
      )
      (setq
       sort
       (vla-addObject
	(vla-getExtensionDictionary
	 space
	)
	"ACAD_SORTENTS"
	"AcDbSortentsTable"
       )
      )
     )
    (list
      'progn
      '(vla-StartUndoMark doc)
      '(setq ss (ssget "_X" (list (assoc 8 (entget ent)))))
      '(setq
	var
	(vlax-make-safearray
	 vlax-vbObject
	 (cons 0 (1- (sslength ss)))
	)
	cnt
	0
       )
      '(vlax-for
	obj
	(setq ss (vla-get-ActiveSelectionSet doc))
	(vlax-safearray-put-element var cnt obj)
	(setq cnt (1+ cnt))
       )
      '(vla-delete ss)
      (list fun 'sort '(vlax-make-variant var))
      '(vla-EndUndoMark doc)
    )
  )
  '(princ)
)
     )
   )
 )
 '(c:top c:bot)
 '(vla-MoveToTop vla-MoveToBottom)
) 

Pouvez-vous m'aiguiller sur la démarche à suivre ?

Je vous remercie d'avance.

 

 

]]>
62103Fri, 21 Feb 2025 14:44:39 +0000
MPolygon vers Hachures en preservant les Object Data (OD)https://cadxp.com/topic/48585-mpolygon-vers-hachures-en-preservant-les-object-data-od/Bonjour le forum,

Je suis nouveau dans le monde d'autocad et de la programmation lisp.

J’utilise actuellement le lisp de Elpanov afin de convertir des MPolygon en Hachures, ces objets contiennent également des « Object data » qui ne sont pas conservé pendant la conversion.

Autodesk (pour la version MAP) donne un lsp (COPY_OD) qui permet de copier les « object data » d’un objet sélectionné vers un autre.

J’aimerais pourvoir fusionner ces deux scripts en un seul permettant la conversion des Mpolygon vers des hachures en conservant les « Object data » associés aux objets.

Malheureusement je n’ai pas le niveau pour le faire, merci par avance pour l'aide apporté.

 

Script utilisés :

- mp2p

 

(defun c:mp2p (/ L LL LST P V)
 ;; by ElpanovEvgeniy
 ;; convert MPolygon to Lwpolyline
 ;; version 0.2
 ;; 2012.07.11
 ;; mailto: elpanov@gmail.com
 ;; web:    elpanov.com
 (if (setq v (ssget "_x" '((0 . "MPOLYGON"))))
   (foreach e (mapcar (function cadr) (ssnamex v))
     ;;(setq e(car(entsel)))
     (setq e   (entget e)
           v   (cons 0 (mapcar (function -) (cdr (assoc 11 e)) (cdr (assoc 10 e))))
           l   (vl-remove nil
                          (list '(0 . "LWPOLYLINE")
                                '(100 . "AcDbEntity")
                                (assoc 67 e)
                                (assoc 410 e)
                                (assoc 8 e)
                                (if (assoc 63 e)
                                  (cons 62 (cdr (assoc 63 e)))
                                )
                                (if (assoc 421 e)
                                  (cons 420 (cdr (assoc 421 e)))
                                )
                                '(100 . "AcDbPolyline")
                          )
               )
           lst e
           ll  nil
     )
     (defun f (l i)
       (if (> i 0)
         (cons (mapcar (function +) (car l) v) (f (cdr l) (1- i)))
       )
     )
     (while (setq lst (member (assoc 93 (cdr lst)) (cdr lst)))
       (setq p  (f (cdr lst) (cdar lst))
             ll (append ll (list '(92 . 7) '(72 . 0) '(73 . 1) (car lst)) p '((97 . 0)))
       )
       (entmakex (vl-remove nil (append l (list (cons 90 (cdar lst)) '(70 . 1)) p (list (assoc 210 e)))))
     )
     (entmakex (vl-remove nil
                          (append (list '(0 . "HATCH")
                                        '(100 . "AcDbEntity")
                                        (assoc 410 l)
                                        (assoc 8 l)
                                        (assoc 62 l)
                                        (assoc 420 l)
                                        '(100 . "AcDbHatch")
                                        (assoc 10 e)
                                        (assoc 210 e)
                                        '(2 . "SOLID")
                                        (assoc 70 e)
                                        (assoc 71 e)
                                        (assoc 91 e)
                                  )
                                  ll
                                  (list '(75 . 0)
                                        '(76 . 1)
                                        '(47 . 1.)
                                        '(98 . 2)
                                        '(10 0. 0. 0.0)
                                        '(10 0. 0. 0.0)
                                        '(450 . 0)
                                        '(451 . 0)
                                        '(460 . 0.0)
                                        '(461 . 0.0)
                                        '(452 . 0)
                                        '(462 . 0.0)
                                        '(453 . 2)
                                        '(463 . 0.0)
                                        '(63 . 256)
                                        '(463 . 1.0)
                                        '(63 . 256)
                                        '(470 . "LINEAR")
                                  )
                          )
               )
     )
   )
 )
 (princ)
)

 

- COPY_OD

;;;---------------------------------------------------------------------------;
;;;
;;;    COPY_OD.LSP
;;;
;;;    (C) Copyright 1998 by Autodesk, Inc.
;;;
;;;    Permission to use, copy, modify, and distribute this software
;;;    for any purpose and without fee is hereby granted, provided
;;;    that the above copyright notice appears in all copies and
;;;    that both that copyright notice and the limited warranty and
;;;    restricted rights notice below appear in all supporting
;;;    documentation.
;;;
;;;    AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
;;;    AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
;;;    MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK, INC.
;;;    DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
;;;    UNINTERRUPTED OR ERROR FREE.
;;;
;;;    Use, duplication, or disclosure by the U.S. Government is subject to
;;;    restrictions set forth in FAR 52.227-19 (Commercial Computer
;;;    Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
;;;    (Rights in Technical Data and Computer Software), as applicable.
;;;
;;;    July 1996
;;; 
;;;---------------------------------------------------------------------------;
;;;
;;;    DESCRIPTION
;;;
;;;    Copy object data from one object to a set of other objects. If the
;;;    object data to be copied already exists on the target object the
;;;    options to not copy, copy once and copy all are presented.
;;;
;;;    Careful, it is possible to corrupt existing topological data
;;;    using this routine.
;;;
;;;---------------------------------------------------------------------------;

;;;****************************************************************************
;;; Function: C:COPY_OD
;;;
;;; Main routine for copying object data from an object to
;;; a selection set of object. 
;;;
;;;
(defun C:COPY_OD ( 
 /
 source_obj                 ; source object
 target_obj                 ; target object
 target_ss                  ; target selection set
 ct                         ; count
 len                        ; length
 overwrite                  ; overwrite flag
 error                      ; old error function
 )
 
 (setq error *error*)
 ;;
 ;; Define error handler
 ;;
 (defun *error* (msg)
   (alert msg)
   (setq *error* error)
   (exit)
 )
 
 ;;
 ;; Input the source object to copy data from
 ;;
 (princ "\nSelect SOURCE object: ")
 (setq source_obj (car (entsel)))
 (if (null source_obj)
   (prompt "\nNo source object selected.")
   (progn
     ;;
     ;; If the object has object data attached process it
     ;;
     (if (null (ade_odgettables source_obj))
       (princ "\nSelected object contains no object data.")
       (progn
         (princ "\n\nSelect TARGET objects: ")
         (setq target_ss (ssget))
         (if (null target_ss)
           (prompt "\nNo target object selected.")
           (progn
             (setq len (sslength target_ss))
             (setq ct 0)
             (princ "\nCopying object data...")
             (while (< ct len)
               (setq target_obj (ssname target_ss ct))
               (redraw target_obj 3)
               (setq ct (+ ct 1))
               (setq overwrite (COPY_DATA source_obj target_obj overwrite))
               (redraw target_obj 4)
             )
           )
         );if
       )
     );if
   )
 );if   
 
 (setq *error* error)                                ;restore error handler
 
 (prompt "\nProcessing completed.")
 (princ)
 
);C:COPY_OD

;;;****************************************************************************
;;; Function: C:COPY_DATA
;;;
;;; Copy object data from the source object to the target object.
;;;
;;; If the data is already found to exist on a target object, the 
;;; user is prompted what to do. Either to replace it only on the 
;;; target, for all objects in  the selection set, or to skip it.
;;;
;;;
(defun COPY_DATA (
 source_obj
 target_obj
 overwrite                   ; overwrite flag
 / 
 ct        ct2 
 cttemp    fld 
 fldnme    fldnamelist 
 fldtyp    fldtypelist
 len       numrec 
 OK        tbl 
 tbllist   tbldef 
 tblstr    val 
 vallist 
 )

 ;; 
 ;; access all OD tables from source object
 ;;
 (if (setq tbllist (ade_odgettables source_obj))
   (progn
     ;;
     ;; for each table on source object
     ;;
     (foreach tbl tbllist
        (prompt (strcat "\nProcessing source table " tbl "."))
        ;;
        ;; determine if target object has object
        ;; data records for current table
        ;;
        (setq OK nil)
        (setq numrec (ade_odrecordqty target_obj tbl))
        ;;
        ;; If the table is found on object ask what to do
        ;;
        (if (and (> numrec 0) (/= overwrite "All"))
          (progn
            (initget "All Yes No")
            (setq overwrite (getkword "\nOverwrite existing record(s) on target? (All/Yes/No) <All>: "))
            (if (null overwrite)
              (setq overwrite "All")
            )
          )
        )
        (if (or (= overwrite "All") 
                (= overwrite "Yes")
                (= numrec 0)
            )
           (setq OK T)
        )
        ;;
        ;; delete all existing records on target 
        ;; object if overwrite flag is set
        ;;
        (if (and (> numrec 0)
                 (or (= overwrite "Yes")(= overwrite "All"))
            )
          (progn
            (setq ct 0)
            (while (< ct numrec)
              (ade_oddelrecord target_obj tbl ct)
              (setq ct (+ ct 1))
            )
          ) 
        )
        (if OK
          (progn
           ;;
           ;; build list of field names
           ;;
           (setq tbldef (ade_odtabledefn tbl))
           (setq tblstr (cdr (nth 2 tbldef)))
           (setq fldnamelist ())
           (setq fldtypelist ())
           (foreach fld tblstr
             (setq fldnme (cdr (nth 0 fld)))
             (setq fldtyp (cdr (nth 2 fld)))
             (setq fldnamelist (append fldnamelist (list fldnme)))
             (setq fldtypelist (append fldtypelist (list fldtyp)))
           )
           ;;
           ;; for each record on source object 
           ;;
           (setq numrec (ade_odrecordqty source_obj tbl))
           (setq ct 0)
           (while (< ct numrec)
             ;;
             ;; build list of values
             ;;
             (setq cttemp 0)
             (setq vallist ())
             (foreach fld fldnamelist
               (setq typ (nth cttemp fldtypelist))
               (setq cttemp (+ cttemp 1))
               (setq val (ade_odgetfield source_obj tbl fld ct))
               (if (= typ "Integer")(setq val (fix val)))
               (setq vallist (append vallist (list val)))
             )
             ;;
             ;; add a record to target object
             ;;
             (ade_odaddrecord target_obj tbl)
             ;;
             ;; populate target record with values from source record
             ;;
             (setq ct2 0)
             (while (< ct2 (length vallist))
               (setq val (nth ct2 vallist))
               (setq fld (nth ct2 fldnamelist))
               (setq ct2 (+ ct2 1))
               (ade_odsetfield target_obj tbl fld ct val)
             )
             (setq ct (+ ct 1))
           );while
         )
       );if
     );foreach
   )
 );if
 
 ;;
 ;; Return overwrite status so it can 
 ;; be passed back in for the next object.
 ;; 
 overwrite
  
);COPY_DATA

(prompt "\nType: COPY_OD to copy object data.")
(princ)

]]>
48585Wed, 04 Dec 2019 08:09:05 +0000
[RESOLU] Indentation de Pline_block by (gile)https://cadxp.com/topic/61956-resolu-indentation-de-pline_block-by-gile/ Bonjour,

Je tente de récupérer le lisp Pline_block ici :

Il me semble que l'indentation des LISP est toute chamboulée (nouveau site web). Et je n'arrive pas à reprendre le code pour qu'il fonctionne.

Est-ce que vous savez si ce Lisp est récupérable quelque part dans sa version originale ?

Merci pour votre aide

 

]]>
61956Tue, 17 Dec 2024 09:50:54 +0000
Lisp AutoCAD vers GstarCADhttps://cadxp.com/topic/61812-lisp-autocad-vers-gstarcad/ Bsr a tous,

Suite a un changement de logiciel, je possède un Lisp qui a été fait pur AutoCAD hors aujourd’hui je travail avec GstarCAD.

Comment puis je faire pour que cela fonctionne? le Lisp marche jusqu'au moment de dessiner...

 Ci joint le Lisp. Merci pour votre aide.

 

                    ;----- Fonction d'Erreur Standard -----------------------------

(Defun DevErr (s)
  (If (/= s "Function cancelled")
    (Princ (StrCat "\nErreur: " s))
  ) ;_ Fin de If
  (Princ "Abandon de la command")
  (Prin1)
  (Setq *error* OldErr)
  (Var_Rec)
) ;_ Fin de Defun

                    ;----- Sauvegarde des variables Systémes ----------------------

(Defun Var_Sau (a)
  (Setq Mlst '())
  (Repeat (Length a)
    (Setq Mlst (Append Mlst (List (List (Car a) (GetVar (Car a))))))
    (Setq a (Cdr a))
  ) ;_ Fin de Repeat
) ;_ Fin de Defun
                    ;----- Rétabli les variables systémes précédemment sauvegardés --

(Defun Var_Rec ()
  (Repeat (Length Mlst)
    (SetVar (Caar Mlst) (Cadar Mlst))
    (Setq Mlst (Cdr Mlst))
  ) ;_ Fin de Repeat
) ;_ Fin de Defun

(DeFun C:AR4P (/ Echo Blip Pt1 Pt2 Pt3 Dist Y Ech Ang)
  (Princ "\n-Programme 4 Points Version:0-1-3 \n")
  ;V0-1-3-MaJ Nomenclature 203622 Suppression pince porteur-
  ;V0-1-2-MaJ Gestion variable OSNAPCOORD + Mise en place de la gestion TEEMO
  ;V0-1-1-MaJ + Montage Direct 204994
  ;V0-1-0-MaJ avec utilisation blocs suspensions rigide type 49-38 49-49 + Montage 203622 Direct
  ;V0-0-4-MaJ Nomenclature 203622 -
  ;V0-0-3-Gestion Montage E inf 900mm et MaJ -Nomenclature 203622 -Determination de la position de la voie contigue
  ;V0-0-2-Gestion Variable angdir angbase
  (Setq    OldErr    *error*
    *error*    DevErr
  ) ;_ Fin de Setq
  (Var_Sau
    '("BlipMode" "HighLight" "CmdEcho" "OsMode" "Aunits" "ANGDIR" "angbase" "OSNAPCOORD" "ATTDIA")
  ) ;_ Fin de Var_Sau
  (MapCar 'SetVar
      '("BlipMode" "HighLight" "CmdEcho" "Osmode" "Aunits" "ANGDIR" "angbase" "OSNAPCOORD" "ATTDIA")
      '(0 1 0 4 3 0 0 2 0)
  ) ;_ Fin de MapCar
  (SetQ NomCalque (Getvar "clayer"))
  (Command "_UCS" "_W")
  ;(command "modifvar" "attdia")
  (SetQ CheminDossier "C:/Users/julie/Desktop/Dev/Montage 4 points/Bibli25/Montage/")
  (Command "_-INSERT"
       (strcat CheminDossier "protoarm25.dwg")
       "0,0"
       ""
       ""
       ""
  ) ;_ Fin de Command
  (SetQ EProt (Entlast))
  (Command "_ERASE" EProt "")
                    ;  (Command "-calque" "ch" "cat" "")
;  (Initget 1 "1 2")
;  (SetQ Test (GetKword "\n > 1=Millimetre 2=Metre  "))
  (SetQ Test "1")
  (Cond
    ((= Test "1")
     (SetQ TypeUni "MM"
       VEch    1000
     ) ;_ Fin de SetQ
    )
    ((= Test "2")
     (SetQ TypeUni "M"
       VEch    1
     ) ;_ Fin de SetQ
    )
  ) ;_ Fin de Cond
  (Initget 1 "1 2 3 4 5 6")
  (SetQ    ValIso
     (GetkWord
       "\n > 1:Verre Nor 2:Verre Renfor 3:Composite Renfor 4:Ceramique Nor 5:Ceramique Renfor 6:Composite Nor "
     ) ;_ Fin de GetkWord
  ) ;_ Fin de SetQ
  (Cond
    ((= ValIso "1")
     (SetQ TypeIso "VN"
       DeltaLgIso 0
       SusFixCon 100
       SusFixHau 100
       LgIso 500
     ) ;_ Fin de SetQ
    )
    ((= ValIso "2")
     (SetQ TypeIso "VR"
       DeltaLgIso 124
       SusFixCon 150
       SusFixHau 150
       LgIso 625
     ) ;_ Fin de SetQ
    )
    ((= ValIso "3")
     (SetQ TypeIso "CO"
       DeltaLgIso 124
       SusFixCon 300
       SusFixHau 300
       LgIso 625
     ) ;_ Fin de SetQ
    )
    ((= ValIso "4")
     (SetQ TypeIso "CN"
       DeltaLgIso 0
       SusFixCon 200
       SusFixHau 200
       LgIso 500

     ) ;_ Fin de SetQ
    )
    ((= ValIso "5")
     (SetQ TypeIso "CR"
       DeltaLgIso 124
       SusFixCon 250
       SusFixHau 250
       LgIso 625

     ) ;_ Fin de SetQ
    )
    ((= ValIso "6")
     (SetQ TypeIso "CON"
       DeltaLgIso 0
       SusFixCon 400
       SusFixHau 400
       LgIso 500

     ) ;_ Fin de SetQ
    )
  ) ;_ Fin de Cond
  (Initget 1 "1 2")
  (SetQ    ValRecoup
     (GetkWord
       "\n > Depassement Tube de Console >>  1:STI160-STI200/200mm 2:T85/150mm  "
     ) ;_ Fin de GetkWord
  ) ;_ Fin de SetQ
  (Cond
    ((= ValRecoup "1")
     (SetQ BoutTube 200)        ;------Depassement du tube de console
    )
    ((= ValRecoup "2")
     (SetQ BoutTube 150)        ;------Depassement du tube de console
    )
  ) ;_ Fin de Cond
  (Initget 1 "o n")
  (SetQ    ReCoupCon
     (GetkWord
       "\n > Recoupe de Console O/N  "
     ) ;_ Fin de GetkWord
  ) ;_ Fin de SetQ

  (Initget 1 "1 2 3")
  (SetQ    ValSusP
     (GetkWord
       "\n Choix Supension Porteur > 1:Porteur Nu 2:Porteur Protégé 3:Porteur Double"
     ) ;_ Fin de GetkWord
  ) ;_ Fin de SetQ
  (Cond
    ((= ValSusP "1")
     (SetQ PinceP    "202218"        ;--- Pince porteur
       SusP         "232870"        ;--- Suspension porteur
       LgPinPor  (* 0.0695 VEch)    ;--Longueur de la pince de suspension porteur
       LgAttPor  (* 0.110 VEch)    ;--- Longueur de lattache de la pince sur le tube
       LgSusPInf (* 0.0385 VEch)    ;--- Longueur sous la pince porteur
       LgSusPLat (* 0.0055 VEch)    ;--- Decalage lateral sous la pince porteur
       LgPinPLat (* 0 VEch)        ;--- Decalage lateral de l'axe pince / porteur
       TxDesPin  "Suspension 1 porteur"
       TxPlaPin  "232870"
       TxRepPin  "101"
     ) ;_ Fin de SetQ
    )
    ((= ValSusP "2")
     (SetQ PinceP    "232899-101-A"    ;--- Pince porteur
       SusP         "232899_101_B"    ;--- Suspension porteur
       LgPinPor  (* 0.0900 VEch)    ;--Longueur de la pince de suspension porteur
       LgAttPor  (* 0.110 VEch)    ;--- Longueur de lattache de la pince sur le tube
       LgSusPInf (* 0.0450 VEch)    ;--- Longueur sous la pince porteur
       LgSusPLat (* 0 VEch)        ;--- Decalage lateral sous la pince porteur
       LgPinPLat (* 0 VEch)        ;--- Decalage lateral de l'axe pince / porteur
       TxDesPin  "Suspension 1 porteur Protégé"
       TxPlaPin  "232899"
       TxRepPin  "101"
     ) ;_ Fin de SetQ
    )
    ((= ValSusP "3")
     (SetQ PinceP    "202221"        ;--- Pince porteur
       SusP         "232870"        ;--- Suspension porteur
       LgPinPor  (* 0.0695 VEch)    ;--Longueur de la pince de suspension porteur
       LgAttPor  (* 0.110 VEch)    ;--- Longueur de lattache de la pince sur le tube
       LgSusPInf (* 0.0385 VEch)    ;--- Longueur sous la pince porteur
       LgSusPLat (* 0.00925 VEch)    ;--- Decalage lateral sous la pince porteur
       LgPinPLat (* 0.0095 VEch)    ;--- Decalage lateral de l'axe pince / porteur
       TxDesPin  "Suspension 2 porteurs"
       TxPlaPin  "232871"
       TxRepPin  "101"
     ) ;_ Fin de SetQ
    )
  ) ;_ Fin de Cond
  (Initget
    1
    "1 204935 2 204498 3 204932 4 204499 5 204994 6 203622 10 DIRECT 20 VieuxAnti"
  ) ;_ Fin de Initget
  (SetQ    ValAnti
     (GetkWord
       "\n Choix Anti > 1:204935 2:204498 3:204932 4:204499 5:204994 6:203622    --> 10:Montage direct --> 20:VieuxAnti    "
     ) ;_ Fin de GetkWord
  ) ;_ Fin de SetQ
  (Cond
    ((Or (= ValAnti "1") (= ValAnti "204935"))
     (SetQ TypeAnti "204935"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.40579 VEch)
       SensAnti "O"
            TypeSusRigide "_49-38_INF"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "2") (= ValAnti "204498"))
     (SetQ TypeAnti "204498"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.066 VEch)
       SensAnti "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "3") (= ValAnti "204932"))
     (SetQ TypeAnti "204932"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.30685 VEch)
       SensAnti "O"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "4") (= ValAnti "204499"))
     (SetQ TypeAnti "204499"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.6000 VEch)
       SensAnti "O"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "5") (= ValAnti "204994"))
     (SetQ TypeAnti "204994"
       TypeAtt  "232879"
       LgAttAnt (* 0.050 VEch)
       LgAntY   (* 0.500 VEch)
       SensAnti "O"
            TypeSusRigide "_49-49_INF"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "6") (= ValAnti "203622"))
     (SetQ TypeAnti  "203622"
       TypeAtt   "232879"
       LgAttAnt  (* 0.050 VEch)
       SensAnti  "O"
       LgBrasDep (* 1.01 VEch)
            TypeSusRigide "_49-49_INF"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "10") (= ValAnti "Direct"))
     (SetQ TypeAnti "Direct"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "20") (= ValAnti "VieuxAnti"))
     (SetQ TypeAnti "VieuxAnti"
     ) ;_ Fin de SetQ
    )
  ) ;_ Fin de Cond
   (If (= TypeAnti "Direct")
    (Progn
     (Initget
    1
    "1 204520 2 204519 3 204499D 4 203622D 5 204994D 6 204932"
  ) ;_ Fin de Initget
  (SetQ    ValAnti
     (GetkWord
       "\n Choix Anti > Montage direct->-> 1:204520 2:204519 3:204499D 4:203622D 5:204994D 6:204932   "
     ) ;_ Fin de GetkWord
  ) ;_ Fin de SetQ
  (Cond
    ((Or (= ValAnti "1") (= ValAnti "204520"))
     (SetQ TypeAnti "204520"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.600 VEch)
       SensAnti "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "2") (= ValAnti "204519"))
     (SetQ TypeAnti "204519"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.600 VEch)
       SensAnti "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "3") (= ValAnti "204499D"))
     (SetQ TypeAnti "204499"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.600 VEch)
       SensAnti "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "4") (= ValAnti "203622D"))
     (SetQ TypeAnti "203622"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.600 VEch)
       SensAnti "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "5") (= ValAnti "204994D"))
     (SetQ TypeAnti "204994"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.600 VEch)
       SensAnti "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "6") (= ValAnti "204932"))
     (SetQ TypeAnti "204932"
       TypeAtt  "204885"
       LgAttAnt (* 0.055 VEch)
       LgAntY   (* 0.600 VEch)
       SensAnti "N"
     ) ;_ Fin de SetQ
    )
      )                    ; ---- Fin Cond
    )                    ; ---- Fin Progn
  )                    ; ---- Fin If
  (If (= TypeAnti "VieuxAnti")
    (Progn
      (Initget
        1
         "1 204933  2 204900  3 203270 4 203500 5 203950 6 203250 7 203250"
      ) ;_ Fin de Initget
      (SetQ ValAnti
         (GetkWord
           "\n Choix Vieux Anti > 1:204933 2:204900 3:203270 4:203500 5:203950 6:203960 7:203250   "
         ) ;_ Fin de GetkWord
      ) ;_ Fin de SetQ
      (Cond
    ((Or (= ValAnti "1") (= ValAnti "204933"))
     (SetQ TypeAnti    "204933"
           TypeAtt    "204885"
           LgAttAnt    (* 0.055 VEch)
           LgAntY    (* 0.40579 VEch)
           SensAnti    "O"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "2") (= ValAnti "204900"))
     (SetQ TypeAnti    "204900"
           TypeAtt    "204885"
           LgAttAnt    (* 0.055 VEch)
           LgAntY    (* 0.066 VEch)
           SensAnti    "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "3") (= ValAnti "203270"))
     (SetQ TypeAnti    "203270"
           TypeAtt    "204772"
           LgAttAnt    (* 0.039 VEch)
           LgAntY    (* 0.250 VEch)
           SensAnti    "O"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "4") (= ValAnti "203500"))
     (SetQ TypeAnti    "203500"
           TypeAtt    "204772"
           LgAttAnt    (* 0.039 VEch)
           LgAntY    (* 0.400 VEch)
           SensAnti    "O"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "5") (= ValAnti "203950"))
     (SetQ TypeAnti    "203950-T"
           TypeAtt    "204772"
           LgAttAnt    (* 0.039 VEch)
           LgAntY    (* 0.310 VEch)
           SensAnti    "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "6") (= ValAnti "203960"))
     (SetQ TypeAnti    "203960-C"
           TypeAtt    "204772"
           LgAttAnt    (* 0.039 VEch)
           LgAntY    (* 0.400 VEch)
           SensAnti    "N"
     ) ;_ Fin de SetQ
    )
    ((Or (= ValAnti "7") (= ValAnti "203250"))
     (SetQ TypeAnti    "203250"
           TypeAtt    "204885"
           LgAttAnt    (* 0.055 VEch)
           LgAntY    (* 0.6000 VEch)
           SensAnti    "N"
     ) ;_ Fin de SetQ
     
    )
      )                    ; ---- Fin Cond
    )                    ; ---- Fin Progn
  )                    ; ---- Fin If
(SetQ RepAntiAig "")

  (If (= SensAnti "O")
    (Progn
      (Initget 1 "T C")
      (SetQ SensAnti (GetkWord "\n > Montage anti Tension Compression: T C "
             ) ;_ Fin de GetkWord
        Typeanti (strcat TypeAnti "-" SensAnti)
      ) ;_ Fin de SetQ
    ) ;_ Fin de Progn
  ) ;_ Fin de If
  (If (= TypeAnti "203622-C")
    (SetQ LgAntY (* 0.5000 VEch))
  ) ;_ Fin de If
  (If (= TypeAnti "203622-T")
    (SetQ LgAntY (* 0.230 VEch))
  ) ;_ Fin de If
  (SetQ    PtHauD (GetPoint "\nAttache de l'hauban")
          PtConD (GetPoint "\nAttache de la console")
  ) ;_ Fin de SetQ
  (SetVar "Osmode" 45)
  (SetQ    PtFc    (GetPoint "\nPosition Fc")
        PtPor    (GetPoint "\nPosition Porteur")
        XFc    (car PtFc)        ;--- Recuperation le l'ordonne X du Point du FC
        YFc    (Cadr PtFc)        ;--- Recuperation le l'ordonne Y du Point du FC
        DeltaFc    (- (Cadr PtConD) YFc)    ;PtPor (List Xfc  (+ YFc Encom))            
        PtCer    (list (- (Car PtPor) LgPinPLat) (+ LgPinPor (Cadr PtPor)))
        PtTan    (list (Car PtCer) (+ LgAttPor (Cadr PtCer)))
          Encom (distance PtFc PtPor)
        Ech    0.001
  ) ;_ Fin de SetQ
  (If (Or (= TypeAnti "203622-T")
          (= TypeAnti "203622-C")
        ) ;-- Fin Or
      (Progn
      (Initget 1 "O N")
      (SetQ Test (GetkWord "\n > Determination longeur du bras en indiquant l'axe de la voie contigue: O/N ")
      )
      (If (/= Test "N")
        (Progn
        (SetQ PtVoieC (GetPoint "\nPosition de l'axe voie contigue ")
              DistEntreV (abs (- (Car PtFc) (Car PtVoieC)))
              MsgBr (strcat "\n Longueur du Bras.(lg:1010 > 2160 / Calculé : " (Rtos (+ DistEntreV 1150)2 0) " -> ? ")
        ) ;-- Fin SetQ
      ) ;--- Fin Progn
      (SetQ MsgBr "\nLongueur du Bras.(lg:1010 > 2160 / Moy 1585 ) -> ? ")
      ) ;--- Fin If
    (Initget 7)
    (SetQ LgBras
       (GetReal MsgBr
       ) ;_ Fin de GetReal
    ) ;_ Fin de SetQ
    (If (> LgBras 1740)
      (SeTQ RepAntiAig "102")
          (If (> LgBras 1408)
            (SeTQ RepAntiAig "101")
            (SeTQ RepAntiAig "100")
        ) ;-- Fin iF
    ) ;-- Fin iF    
    ) ;-- Fin Progn
  ) ;--- Fin If
  (Initget 1 "1 2 3 4 5")
  (SetQ DraCot (GetReal "\nCotation 0=St1 1=St1-1 2=St1-2 3=St1-3 "))
  (SetQ    Cot   (StrCat "ARM_0_" TypeUni)
    TxCot ""
    TxNArm "0"
  ) ;_ Fin de SetQ
  (If (= DraCot 1)
    (SetQ Cot    (StrCat "ARM_1_" TypeUni)
      TxCot    " (1)"
      TxNArm "1"
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (= DraCot 2)
    (SetQ Cot    (StrCat "ARM_2_" TypeUni)
      TxCot    " (2)"
      TxNArm "2"
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (= DraCot 3)
    (SetQ Cot    (StrCat "ARM_3_" TypeUni)
      TxCot    " (3)"
      TxNArm "3"
    ) ;_ Fin de SetQ
  ) ;_ Fin de If

  (SetVar "Osmode" 0)
  (Command "_CIRCLE" PtCer LgAttPor)
  (SetQ ECerG (entlast))
  (SetVar "Osmode" 256)
  (Command "_LINE" "_none" PtConD PtTan "")
  (SetVar "Osmode" 0)
  (SetQ    ELin    (entlast)
    PtConA    (cdr (assoc 11 (entget ELin)))  ;---Point insertion de la console
    DistCon    (Distance PtConD PtConA) ;----Longueur de la console
    AngCon    (Angle PtConD PtConA)    ;----Angle de la console
  ) ;_ Fin de SetQ
  (Command "_ERASE" ECerG ELin "")
  (Command "_CIRCLE" PtConA (* 0.05 VEch))
  (SetQ    ECerP (entlast)
  ) ;_ Fin de SetQ
  (Command "_LINE" PtCer PtConA "")
  (SetQ    ELinP (entlast)
  ) ;_ Fin de SetQ
  (Command "_EXTEND" ECerP "" PtConA "")
  (SetQ    PtHauA    (cdr (assoc 11 (entget ELinP)))
    DistHau    (Distance PtHauD PtHauA) ;---Longueur du hauban
    AngHau    (Angle PtHauD PtHauA)  ;---Angle du haban
  ) ;_ Fin de SetQ
  (Command "zoom"
       "f"
       (list (* -1.350 VEch) (* -15.4 VEch))
       (list (* 2.200 VEch) (* -14.2 VEch))
  ) ;_ Fin de Command
  (Command "_ERASE" ECerP ELinP "")
  (If (and (= TypeAnti "204935-C")
             (< Encom 900)
      )
    (SetQ TypeSusRigide "_49-38_SUP"
      BoutTube (+ BoutTube 200)
    )
  )
                    ;------Assignation des Consoles
  (If (> DistCon (- (+ 5590 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  "Hors Liste"
      TxRepCon "Hors Liste"
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 5590 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 5.59 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 14)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 5290 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 5.29 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 13)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 4990 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 4.99 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 12)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 4690 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 4.69 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 11)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 4390 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 4.39 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 10)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 4090 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 4.09 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 9)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 3790 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 3.79 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 😎
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 3490 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 3.49 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 7)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 3190 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 3.19 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 6)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 2890 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 2.89 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 5)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 2590 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 2.59 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 4)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 2290 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 2.29 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 3)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 1990 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 1.99 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 2)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (<= DistCon (- (+ 1690 DeltaLgIso) BoutTube))
    (SetQ TxLgCon  (Rtos (+ 1.69 (/ DeltaLgIso 1000.0)) 2 2)
      TxRepCon (+ SusFixCon 1)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (/= TxRepCon "Hors Liste")
    (SetQ TxDesCon (StrCat "Console isolée Lg:" TxLgCon "m"))
    (SetQ TxDesCon "Console isolée Hors Liste")
  ) ;_ Fin de If
  (SetQ TxPlaCon "227281")
                    ;------- Fin Pour la console
  (Command "_-INSERT"
       (strcat CheminDossier "227281" TypeIso ".dwg")
       (list 0 (* -15 VEch))
       (* Ech VEch)
       ""
       0
  ) ;_ Fin de Command
  (Command "_ISOLATEOBJECTS" "D" "")
  (SetQ ECon (entlast))
  (Command "_EXPLODE" ECon)
  (SetQ EDec (ssget "P"))
  (Command "chprop" EDec "" "calque" NomCalque "")
  (If (= TxLgCon "Hors Liste")
    (SetQ ReCoupCon "o"
      ValRecoup 200
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (If (= ReCoupCon "o")
    (SetQ DistConHt (+ DistCon BoutTube))
    (SetQ DistConHt (* (Distof TxLgCon 2) 1000))
  ) ;_ Fin de If
  (SetQ DeltaDist (- DistConHt (* 1.56 VEch)))
                    ;---  Reclage de la console    
  (SetQ PtDelta (list DeltaDist 0))
  (Command "_STRETCH"
       "c"
       (list (* 1.76 VEch) (* -14.8 VEch))
       (list (* 1.36 VEch) (* -15.2 VEch))
       ""
       "_none"
       "0,0"
       "_none"
       PtDelta
  ) ;_ Fin de Command
  (Command "_UnIsolateObjects")
  (Command "_MOVE" EDec "" (List 0 (* -15 VEch)) PtConD)

  (Command "rotation" EDec "" PtConD AngCon)
                    ;---Asignation des haubans
  (if (<= DistHau (+ 1660 DeltaLgIso))
    (SetQ TxRepHau (+ SusFixHau 1))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 1660 DeltaLgIso))
       (<= DistHau (+ 2060 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 2))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 2060 DeltaLgIso))
       (<= DistHau (+ 2460 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 3))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 2460 DeltaLgIso))
       (<= DistHau (+ 2810 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 4))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 2810 DeltaLgIso))
       (<= DistHau (+ 3110 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 5))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 3110 DeltaLgIso))
       (<= DistHau (+ 3410 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 6))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 3410 DeltaLgIso))
       (<= DistHau (+ 3710 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 7))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 3710 DeltaLgIso))
       (<= DistHau (+ 4010 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 8))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 4010 DeltaLgIso))
       (<= DistHau (+ 4310 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 9))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 4310 DeltaLgIso))
       (<= DistHau (+ 4610 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 10))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 4610 DeltaLgIso))
       (<= DistHau (+ 4910 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 11))
  ) ;_ Fin de if
  (if (And (> DistHau (+ 4910 DeltaLgIso))
       (<= DistHau (+ 5360 DeltaLgIso))
      ) ;_ Fin de And
    (SetQ TxRepHau (+ SusFixHau 12))
  ) ;_ Fin de if
  (if (> DistHau (+ 5360 DeltaLgIso))
    (SetQ TxRepHau "Hors Liste")
  ) ;_ Fin de if
  (SetQ    TxDesHau "Hauban isolé Ø28"
    TxPlaHau "232268"
  ) ;_ Fin de SetQ
                    ;------- Fin Pour le hauban  
  (Command "_-INSERT"
       (Strcat CheminDossier "232268" TypeIso ".dwg")
       (list 0 (* -15 VEch))
       (* Ech VEch)
       ""
       0
  ) ;_ Fin de Command
  (Command "_ISOLATEOBJECTS" "D" "")
  (Command "_EXPLODE" "D")
  (SetQ    EDec      (ssget "P")
    DeltaDist (- DistHau (* 1.56 VEch))
    PtDelta      (list DeltaDist 0)
  ) ;_ Fin de SetQ
  (Command "chprop" EDec "" "calque" NomCalque "")
  (Command "_STRETCH"
       "c"
       (list (* 1.76 VEch) (* -14.8 VEch))
       (list (* 1.36 VEch) (* -15.2 VEch))
       ""
       "0,0"
       PtDelta
  ) ;_ Fin de Command
  (Command "_UnIsolateObjects")
  (Command "_MOVE" EDec "" (list 0 (* -15 VEch)) PtHauD)

  (Command "_ROTATE" EDec "" PtHauD AngHau)

  (SetQ    LgAnt (- (Car PtFc) (Car PtConD))
  ) ;_ Fin de SetQ
  (If (< LgAnt 0)
    (SetQ CorrCon   (/ pi 2)
      Gamma        (- AngCon CorrCon)
      CorrAtt   (+ Gamma Pi)
      CorrRot   1
      AngAttHau (+ Gamma pi)
    ) ;_ Fin de SetQ
    (SetQ CorrCon   (/ pi 2)
      Gamma        (- CorrCon AngCon)
      CorrAtt   (- (* 2 Pi) (- (/ Pi 2) AngCon))
      CorrRot   -1
      AngAttHau (* CorrRot gamma)
    ) ;_ Fin de SetQ
  ) ;_ Fin de If
  (SetQ    Xa    (* (Sin Gamma) (/ LgAttAnt (Cos Gamma)))
    Xb    (/ (- LgAntY DeltaFc) (Cos Gamma))
    PtAtt    (Polar PtConD AngCon (+ Xa Xb))
    PtAnt    (Polar PtAtt CorrAtt LgAttAnt)
    DistAnt    (Abs (- (Car PtFc) (Car PtAnt)))
  ) ;_ Fin de SetQ
                    ;---                    Insertion Pince Porteur
  (Command "_-INSERT"
       (strcat CheminDossier PinceP ".dwg")
       PtPor
       (* Ech VEch)
       ""
       (/ pi 2)
  ) ;_ Fin de Command
                    ;---                   Insertion Suspension Anti
  (Command "_-INSERT"
       (strcat CheminDossier SusP ".dwg")
       PtConA
       (* Ech VEch)
       ""
       AngAttHau
  ) ;_ Fin de Command
                    ;---                   Insertion Attache anti
  (if (And (/= TypeAnti "203250")
       (/= TypeAnti "204520")
       (/= TypeAnti "204519")
       (/= TypeAnti "204499")
       (/= TypeAnti "203622")
       (/= TypeAnti "204994")
       (/= TypeAnti "204932")
      )
    (Command "_-INSERT"
         (strcat CheminDossier TypeAtt ".dwg")
         PtAtt
         (* Ech VEch)
         ""
         PtAnt
    ) ;_ Fin de Command
  ) ;_ Fin de if
                    ;---                   Insertion Antibanlancant
  (Command "_-INSERT"
       (strcat CheminDossier TypeAnti RepAntiAig ".dwg")
       (list 0 (* -15 VEch))
       (* Ech VEch)
       ""
       0
  ) ;_ Fin de Command
  (Command "_ISOLATEOBJECTS" "D" "")
  (SetQ EAnt (entlast))
  (If (And (/= TypeAnti "203250")
       (/= TypeAnti "204520")
       (/= TypeAnti "204519")
          (/= TypeAnti "204499")
       (/= TypeAnti "203622")
       (/= TypeAnti "204994")
    (/= TypeAnti "204932")
      )
    (Progn
      (Command "_EXPLODE" "D" "")
      (SetQ EAnt      (ssget "P")
        DeltaDist (- DistAnt (* 1.56 VEch))
        PtDelta   (list DeltaDist 0)
      ) ;_ Fin de SetQ
      (Command "chprop" EAnt "" "calque" NomCalque "")
      (Command "_STRETCH"
           "c"
           (list (* 2 VEch) (* -14.2 VEch))
           (List (* 1.425 VEch) (* -15.2 VEch))
           ""
           "0,0"
           PtDelta
      ) ;_ Fin de Command
    )                    ;---- fin Progn
  )                    ;---fin if
  (If (= TypeAnti "203622-C")
    (Progn
      (SetQ DeltaDist (* (- LgBras LgBrasDep) -1)
        PtDelta   (list DeltaDist 0)
      ) ;_ Fin de SetQ
      (Command "_STRETCH" "c" "-200,-14200" "-1350,-15200" "" "0,0"
           PtDelta) ;_ Fin de Command
 ;_ Fin de Command
    )                    ;--- Fin Progn
  )                    ;--- Fin IF
  (If (= TypeAnti "203622-T")
    (Progn
      (SetQ DeltaDist (- LgBras LgBrasDep)
        PtDelta   (list DeltaDist 0)
      ) ;_ Fin de SetQ
      (Command "_STRETCH" "c" "1200,-14200" "460,-15200" "" "0,0"
           PtDelta) ;_ Fin de Command
 ;_ Fin de Command
    )                    ;--- Fin Progn
  )                    ;--- Fin IF

                    ;(Command "chprop" EAnt "" "calque" NomCalque "")
  (If (> LgAnt 0)
    (Command "miroir" Eant "" "0,-15" "0,-16" "o")
  ) ;_ Fin de If
  (Command "_UnIsolateObjects")
  (Command "_MOVE" EAnt "" (list 0 (* -15 VEch)) PtFc)

                    ;--- tracage ligne pour la suspension anti
                    ;     (SetQ PtSupD (List (- (Car PtPor) (* 0.0055 VEch)) (- (Cadr PtPor) (* 0.0385 VEch)))
                    ;           PtSupA (List (+ XFc (* (* 0.4 VEch) CorrRot)) (+ YFc LgAntY (* 0.025 VEch)))
                    ;     )
                    ;          (Command "ligne" PtSupD PtSupA "")

                    ;--- Insertion suspension anti tension
  (If (Or (= TypeAnti "204935-T")
      (= TypeAnti "204933-T")
      (= TypeAnti "204498")
      (= TypeAnti "204932-T")
      (= TypeAnti "204932-C")
      (= TypeAnti "204900")
      (= TypeAnti "203270-T")
      (= TypeAnti "203270-C")
      (= TypeAnti "203500-C")
      (= TypeAnti "203500-T")
      (= TypeAnti "203960-T")
      (= TypeAnti "203960-C")
      (= TypeAnti "204499-T")
      ) ;_ Fin de Or
    (Command "_-INSERT"
         (strcat CheminDossier "SUSPENSION-SOUPLE-DYN.dwg")
         (List (- (Car PtPor) LgSusPLat) (- (Cadr PtPor) LgSusPInf))
         (* Ech VEch)
         ""
         0
    ) ;_ Fin de Command
  ) ;_ Fin de If
                    ;--- Choix de mise en place d'une suspension compression
(If (Or    (= TypeAnti "204935-C")
    (= TypeAnti "204994-C")
    (= TypeAnti "204499-C")
    (= TypeAnti "203622-C")
    ) ;_ Fin de Or
  (Progn
    (Command "_-INSERT"
    (strcat CheminDossier "SUS_RIGIDE_CARRE_DYN" TypeSusRigide ".dwg")
         PtConA
         "1"
         ""
         0
    )                    ;--- Insertion suspension anti compression
    (If    (> LgAnt 0)
      (Command "miroir"
           "d"
           ""
           PtConA
           (list (car PtConA) (+ (cadr PtConA) 10))
           "o"
      )                    ;--mirroir si montage a droit du support
    ) ;_ Fin de If
  ) ;_ Fin de Progn
) ;_ Fin de If
                    ;--- Insertion blocage de pince
(If (Or    (= TypeAnti "203622-T")
    (= TypeAnti "203622-C")
    (= TypeAnti "203622")
    ) ;_ Fin de Or
  (Progn
    (Command
      "_-INSERT"
      (strcat CheminDossier "232921.dwg")
      (List (- (Car PtPor) LgSusPLat) (- (Cadr PtPor) LgSusPInf))
      "1"
      ""
      0
    ) ;_ Fin de Command
    (If    (> LgAnt 0)
      (Command
    "miroir"
    "d"
    ""
    (List (- (Car PtPor) LgSusPLat)
          (- (Cadr PtPor) LgSusPInf)
    ) ;_ Fin de List
    (List (- (Car PtPor) LgSusPLat)
          (+ (- (Cadr PtPor) LgSusPInf) 100)
    ) ;_ Fin de List
    "o"
      )                    ;--mirroir si montage a droit du support
    ) ;_ Fin de If
  ) ;_ Fin de Progn
) ;_ Fin de If
                    ;--- Insertion Blocage Hauban-Console
(If (Or    (= TypeAnti "203622-T")
    (= TypeAnti "203622-C")
    (= TypeAnti "204994-T")
    (= TypeAnti "204994-C")
    (= TypeAnti "203622")
    (= TypeAnti "204994")
    ) ;_ Fin de Or
  (Progn
    (SetQ PtSusVri (Inters PtHauA PtHauD PtConA PtConD Nil))
    (Command
      "_-INSERT"
      (strcat CheminDossier "SUS_CONSOLE_HAUBAN_DYN.dwg")
      PtSusVri
      "1"
      ""
      0
    ) ;_ Fin de Command
    (If    (> LgAnt 0)
      (Command
    "miroir"
    "d"
    ""
        PtSusVri
    (List (Car PtSusVri)
          (+ (Cadr PtSusVri) 100)
    ) ;_ Fin de List
    "o"
      )                    ;--mirroir si montage a droit du support
    ) ;_ Fin de If
  ) ;_ Fin de Progn
) ;_ Fin de If

  (Cond
    ((= TypeAnti "204935-T") (SetQ XPtAntB 0.20))
    ((= TypeAnti "204935-C") (SetQ XPtAntB -1.30))
    ((= TypeAnti "204498") (SetQ XPtAntB -0.10))
    ((= TypeAnti "204932-T") (SetQ XPtAntB 0.30))
    ((= TypeAnti "204932-C") (SetQ XPtAntB -1.30))
    ((= TypeAnti "204933-T") (SetQ XPtAntB 0.20))
    ((= TypeAnti "204933-C") (SetQ XPtAntB -1.30))
    ((= TypeAnti "204900") (SetQ XPtAntB -0.10))
    ((= TypeAnti "203270-T") (SetQ XPtAntB 0.20))
    ((= TypeAnti "203270-C") (SetQ XPtAntB -1.135))
    ((= TypeAnti "203500-T") (SetQ XPtAntB 0.10))
    ((= TypeAnti "203500-C") (SetQ XPtAntB -1.100))
    ((= TypeAnti "204994-T") (SetQ XPtAntB 0.10))
    ((= TypeAnti "204994-C") (SetQ XPtAntB -1.222))
    ((= TypeAnti "203950-T") (SetQ XPtAntB 0.8319))
    ((= TypeAnti "203960-C") (SetQ XPtAntB -1.0719))
    ((= TypeAnti "204499-T") (SetQ XPtAntB -0.35))
    ((= TypeAnti "204499-C") (SetQ XPtAntB -1.50))
    ((= TypeAnti "203622-T")
     (SetQ XPtAntB (+ 0.89850 (/ DeltaDist VEch)))
    )
    ((= TypeAnti "203622-C")
     (SetQ XPtAntB (+ -1.2314716 (/ DeltaDist VEch)))
    )

  ) ;_ Fin de Cond
  (SetQ    PtCotHau (List (Car PtHauD) (+ (Cadr PtHauD) (* 0.3 VEch)))
    PtCotCon (List (Car PtConD) (+ (Cadr PtConD) (* 0.3 VEch)))
  ) ;_ Fin de SetQ
  (if (And (/= TypeAnti "203250")
       (/= TypeAnti "204520")
       (/= TypeAnti "204499")
       (/= TypeAnti "204519")
       (/= TypeAnti "203622")
     (/= TypeAnti "204994")
     (/= TypeAnti "204932")
       )
    (SetQ PtCotAtt (List (Car PtConD) (- (Cadr PtConD) (* 0.3 VEch)))
      PtCotAnt (List (Car PtAnt) (+ (Cadr PtAnt) (* 0.2 VEch)))
      PtAntB   (List (+ XFc (* (* XPtAntB VEch) CorrRot)) (+ YFc LgAntY))
    ) ;_ Fin de SetQ
  ) ;_ Fin de if
                    ;--- Insertion Suspension suspension vertical
(If (Or    (= TypeAnti "204994-T")
    (= TypeAnti "203622-T")
    ) ;_ Fin de Or
  (Progn
    (SetQ PtSusVri (Inters PtConA PtConD PtAnt PtAntB Nil))
    (Command
      "_-INSERT"
      (strcat CheminDossier "SUS_RIGIDE_CARRE_VERTI_DYN.dwg")
      PtSusVri
      "1"
      ""
      0
    ) ;_ Fin de Command
    (If    (< LgAnt 0)
      (Command
    "miroir"
    "d"
    ""
        PtSusVri
    (List (Car PtSusVri)
          (+ (Cadr PtSusVri) 100)
    ) ;_ Fin de List
    "o"
      )                    ;--mirroir si montage a droit du support
    ) ;_ Fin de If
  ) ;_ Fin de Progn
) ;_ Fin de If
                    ;--- Mise en place des cotes
  (Command "_DIM" "_RESTORE" Cot "_EXIT")
  (Command "_DIM" "_ALIGNED" PtHauD PtHauA PtCotHau "")
  (Command "_ALIGNED" PtConD PtConA PtCotCon "")
  (if (And (/= TypeAnti "203250")
       (/= TypeAnti "204520")
       (/= TypeAnti "204499")
       (/= TypeAnti "204519")
       (/= TypeAnti "203622")
       (/= TypeAnti "204994")
     (/= TypeAnti "204932")
    )
    (Progn
      (Command "_ALIGNED" PtAtt PtConD PtCotAtt "")
      (Command "_HORI" PtAnt PtAntB PtCotAnt "")
    ) ;_ Fin de Progn
  ) ;_ Fin de if
  (Command "_EXIT")
  (Command "_DIM" "_RESTORE" "NORMAL_CAT" "_EXIT")
  (Command "_UCS" "_P")
  (Command "_ZOOM" "_P")
  (Var_Rec)
  (Setq *error* OldErr)
  (Prin1)
  ; -- points de verification des montages
  (If (And (/= TypeAnti "203250")
       (/= TypeAnti "204520")
       (/= TypeAnti "204499")
       (/= TypeAnti "204519")
       (/= TypeAnti "203622")
       (/= TypeAnti "204994")
     (/= TypeAnti "204932")
      )
    (If (< (Distance PtAtt PtConD) (+ LgIso 60))
      (Alert "Attention Attache anti trop pres de l'isolateur")
    ) ;--fin If
  ) ;--fin If
  (If (And (= TypeAnti "204935-T")
       (< (Abs (- (Car PtAtt) (Car PtFc)))  1330)
      )
      (Alert "Attention Attache du bras de rappel est trop pres de l'attache Anti")
   ) ;--fin If
  ; -- Fin de verification des points de verification des montages
  (Initget 1 "o n")
  (SetQ Nom (GetkWord "\n > Avec une Nomenclature  O/N  "))
  (If (= Nom "o")
    (MontageNomenclature)
  ) ;_ Fin de If
) ;_ Fin de DeFun
;-------------------------
;-------------------------Montage Nomenclature
;-------------------------
(Defun MontageNomenclature ()
  (Initget 1 "G T")
  (SetQ TypeNom (GetkWord "\n > Nomenclature Type Genecat ou Teemo  G/T  "))
  ;(SetQ TypeNom "G") ;-- A supprimer pour faire le choix entre Genecat et Teemo
  (SetQ CompTeemo -1
    StaTeemo "POSE"
  )
  (If (= TypeNom "G")
    (Progn
    (Command "Tilemode" "0")
    (SetVar "Osmode" 109)
    (SetQ
      PtHauNom (GetPoint "\nPoint Haut gauche de la ligne superieur")
    ) ;_ Fin de SetQ
    (SetQ XPtLigne0 (+ (Car PtHauNom) 2.50)
      YPtLigne0 (+ (- (Cadr PtHauNom) 1.75) 3.50)
    ) ;_ Fin de SetQ
                    ;---   Calcul des X/Y de la premiere ligne / au haut de la nomenclature
                    ;---   Decalage X = 2.5000     Y = -1.7500   Saut de Ligne Y = -3.5000
                    ;------ Nomenclature par defaut pour hauban console et suspension porteur
    (SetVar "Osmode" 0)
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 1 3.50)))
         "1"
         "1"
         "0"
         (Strcat TxDesHau TxCot)
         TxPlaHau
         TxRepHau
         "1"
         ""
         ""
    ) ;_ Fin de Command
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 2 3.50)))
         "1"
         "1"
         "0"
         (Strcat TxDesCon TxCot)
         TxPlaCon
         TxRepCon
         "1"
         ""
         ""
    ) ;_ Fin de Command
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 5 3.50)))
         "1"
         "1"
         "0"
         (Strcat TxDesPin TxCot)
         TxPlaPin
         TxRepPin
         "1"
         ""
         ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If
  (If (/= TxRepHau "Hors Liste")
     (SetQ TxtTeemo (StrCat "<material position=\"" "1" "\" designation=\"" TxDesHau TxCot "\" plan=\"" TxPlaHau "\" repere=\"" (Rtos TxRepHau 2 0) "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
     (SetQ TxtTeemo (StrCat "<material position=\"" "1" "\" comment=\"true\" designation=\"" TxDesHau TxCot "\" plan=\"" TxPlaHau "\" repere=\"" (Rtos TxRepHau 2 0) "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
   )    ;_ Fin de If
  (If (/= TxRepCon "Hors Liste")
    (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "2" "\" designation=\"" TxDesCon TxCot "\" plan=\"" TxPlaCon "\" repere=\"" (Rtos TxRepCon 2 0) "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "2" "\" comment=\"true\" designation=\"" TxDesCon TxCot "\" plan=\"" TxPlaCon "\" repere=\"" (Rtos TxRepCon 2 0) "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
  ) ;_ Fin de If
  (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "5" "\" designation=\"" TxDesPin TxCot "\" plan=\"" TxPlaPin "\" repere=\"" TxRepPin "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
  ;--
  ;--- Fin d montage Hauban et console le Mini d'une nomenclature
  ;--
  ;--
  ;--
  ;------   Nomenclature pour les anti type 204935 tension et compression
  (If (Or (= TypeAnti "204935-T")
      (= TypeAnti "204935-C")
      ) ;_ Fin de Or
    (Progn
      (If (= TypeAnti "204935-T")
    (SetQ DeltAnt 200)
    (SetQ DeltAnt -1300)
      ) ;_ Fin de If
      (If (> DistAnt (+ 4500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Hors Liste")
          TxRepAnt "Hors Liste"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:4.50m")
          TxRepAnt "108"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4250 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:4.25m")
          TxRepAnt "112"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4000 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:4.00m")
          TxRepAnt "107"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3750 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:3.75m")
          TxRepAnt "111"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:3.50m")
          TxRepAnt "106"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3250 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:3.25m")
          TxRepAnt "110"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3000 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:3.00m")
          TxRepAnt "105"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2750 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:2.75m")
          TxRepAnt "109"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:2.50m")
          TxRepAnt "104"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2000 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:2.00m")
          TxRepAnt "103"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 1500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:1.50m")
          TxRepAnt "102"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 1000 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.15m Lg:1.00m")
          TxRepAnt "101"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
    ) ;_ Fin de Progn
  ) ;_ Fin de If
  (If (And (Or (= TypeAnti "204935-T")
           (= TypeAnti "204935-C")
       ) ;_ Fin de Or
       (= TypeNom "G")
       ) ;_ Fin de And
       (Progn
    (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat TxDesAnt TxCot)
           "204935"
           TxRepAnt
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Antibalançant" TxCot)
           "204885"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If
    ;------
    ;--- Nomenclature Teemo des attache et Anti 204935
    ;------
  (If (Or (= TypeAnti "204935-T")
      (= TypeAnti "204935-C")
      ) ;_ Fin de Or
    (If (/= TxRepAnt "Hors Liste")
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" TxDesAnt TxCot "\" plan=\"" "204935" "\" repere=\"" TxRepAnt "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" )
                TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Attache Antibalançant" TxCot "\" plan=\"" "204885" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" )
      )
          (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" comment=\"true\" designation=\"" TxDesAnt TxCot "\" plan=\"" "204935" "\" repere=\"" TxRepAnt "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" )
                TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Attache Antibalançant" TxCot "\" plan=\"" "204885" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" )
      )
      ) ;_ Fin de If
   ) ;_ Fin de If
    ;------
    ;--- Nomenclature Genecat des suspension 204935
    ;------
  (If (And (Or (= TypeAnti "204935-T")
           (= TypeAnti "204935-C")
       ) ;_ Fin de Or
       (= TypeNom "G")
       ) ;_ Fin de And
     (If (= TypeAnti "204935-C")
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
         "1"
         "1"
         "0"
         (Strcat "Susp. anti rigide Lg:X.XXm" TxCot)
         "204504"
         "10X"
         "1"
         ""
         ""
    ) ;_ Fin de Command
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
         "1"
         "1"
         "0"
         (Strcat "Susp. anti souple Lg:X.XXm" TxCot)
         "203200"
         "20X"
         "1"
         ""
         ""
    ) ;_ Fin de Command
     ) ;--- Fin If
   ) ;--- Fin If
    ;------
    ;--- Nomenclature Teemo des suspensions 204935
    ;------
  (If (Or (= TypeAnti "204935-T")
      (= TypeAnti "204935-C")
      ) ;-- Fin de Or
    (If (= TypeAnti "204935-C")
         (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" comment=\"true\" designation=\"" "Susp. anti rigide Lg:X.XXm" TxCot "\" plan=\"" "204504" "\" repere=\"" "10X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
         (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" comment=\"true\" designation=\"" "Susp. anti souple Lg:X.XXm" TxCot "\" plan=\"" "203200" "\" repere=\"" "20X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
     ) ;--  Fin de If
  ) ;--  Fin de If

                    ;------   Nomenclature pour les tubes reglable Dia49
  (If (Or (= TypeAnti "203622-T")
      (= TypeAnti "203622-C")
      (= TypeAnti "204994-T")
      (= TypeAnti "204994-C")
      ) ;_ Fin de Or
    (Progn
      (Cond ((= TypeAnti "203622-T")
         (SetQ DeltAnt (* (+ 0.89850 (/ DeltaDist VEch)) VEch))
        )
        ((= TypeAnti "203622-C")
         (SetQ DeltAnt (* (+ -1.2314716 (/ DeltaDist VEch)) VEch))
        )
        ((= TypeAnti "204994-T")
         (SetQ DeltAnt (* 0.10 VEch))
        )
        ((= TypeAnti "204994-C")
         (SetQ DeltAnt (* -1.222 VEch))
        )
      ) ;_ Fin de Cond
      (If (> DistAnt (+ 4930 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Hors Liste")
          TxRepAnt "Hors Liste"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4930 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:4.30m")
          TxRepAnt "112"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4510 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:4.00m")
          TxRepAnt "111"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4210 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:3.70m")
          TxRepAnt "110"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3910 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:3.40m")
          TxRepAnt "109"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3610 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:3.10m")
          TxRepAnt "108"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3310 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:2.80m")
          TxRepAnt "107"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3010 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:2.50m")
          TxRepAnt "106"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2710 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:2.20m")
          TxRepAnt "105"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2410 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:1.90m")
          TxRepAnt "104"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2060 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:1.50m")
          TxRepAnt "103"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 1660 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:1.10m")
          TxRepAnt "102"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 1260 DeltAnt))
    (SetQ TxDesAnt (Strcat "Tube Réglable Ø49 Lg:0.70m")
          TxRepAnt "101"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
    ) ;_ Fin de Progn
  ) ;_ Fin de If tubes reglable Dia49
  (If (And (Or (= TypeAnti "203622-T")
         (= TypeAnti "203622-C")
         (= TypeAnti "204994-T")
         (= TypeAnti "204994-C")
           ) ;_ Fin de Or
         (= TypeNom "G")
       ) ;_ Fin de And
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat TxDesAnt TxCot)
           "232272"
           TxRepAnt
           "1"
           ""
           ""
      ) ;_ Fin de Command
  ) ;_ Fin de If tubes reglable Dia49
  (If (Or (= TypeAnti "203622-T")
      (= TypeAnti "203622-C")
      (= TypeAnti "204994-T")
      (= TypeAnti "204994-C")
       ) ;_ Fin de Or
     (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" TxDesAnt TxCot "\" plan=\"" "232272" "\" repere=\"" TxRepAnt "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
  ) ;---Fin If
  ;------   Nomenclature pour les anti type 203622-C
  (If (And (= TypeAnti "203622-C")
           (= TypeNom "G")
      ) ;---Fin And
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Bras Rappel Reglable d'Aiguillage" TxCot)
           "203622"
           (If (> LgBras 1740)
         "102"
         "101"
           ) ;_ Fin de If
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Verticale du bras" TxCot)
           "204505"
           "104"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 7 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Tube Ø49 Lg:0.475" TxCot)
           "204516"
           "103"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 8 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Antibalançant" TxCot)
           "232879"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 9 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Pince Fc" TxCot)
           "4000"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 10 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Blocage de Suspension" TxCot)
           "232921"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 11 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. Console/Hauban Lg:0.30m" TxCot)
           "204504"
           "415"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 12 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. anti rigide Lg:X.XXm" TxCot)
           "204504"
           "20X"
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If    203622-C
  (If (= TypeAnti "203622-C")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Bras Rappel Reglable d'Aiguillage" TxCot "\" plan=\"" "203622" "\" repere=\"" (If (< LgBras 1790)"101" "102") "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Attache Verticale du bras" TxCot "\" plan=\"" "204505" "\" repere=\"" "104" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "7" "\" designation=\"" "Tube Ø49 Lg:0.475" TxCot "\" plan=\"" "204516" "\" repere=\"" "103" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "8" "\" designation=\"" "Attache Antibalançant" TxCot "\" plan=\"" "232879" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "9" "\" designation=\"" "Pince Fc" TxCot "\" plan=\"" "4000" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "10" "\" designation=\"" "Blocage de Suspension" TxCot "\" plan=\"" "232921" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "11" "\" comment=\"true\" designation=\"" "Susp. Console/Hauban Lg:0.30m" TxCot "\" plan=\"" "204504" "\" repere=\"" "415" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "12" "\" comment=\"true\" designation=\"" "Susp. anti rigide Lg:X.XXm" TxCot "\" plan=\"" "204504" "\" repere=\"" "20X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    203622-C

                    ;------   Nomenclature pour les anti type 203622-T
  (If (And (= TypeAnti "203622-T")
           (= TypeNom "G")
      ) ;---Fin And
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Bras Rappel Reglable d'Aiguillage" TxCot)
           "203622"
           (If (< LgBras 1790)
         "101"
         "102"
           ) ;_ Fin de If
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache du Bras H:180mm" TxCot)
           "203601"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 7 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Antibalançant" TxCot)
           "232879"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 8 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Pince Fc" TxCot)
           "4000"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 9 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Blocage de Suspension" TxCot)
           "232921"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 10 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. Console/Hauban Lg:0.30m" TxCot)
           "204504"
           "415"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 11 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. anti rigide Lg:X.XXm" TxCot)
           "204504"
           "20X"
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If   --  203622-T
  (If (= TypeAnti "203622-T")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Bras Rappel Reglable d'Aiguillage" TxCot "\" plan=\"" "203622" "\" repere=\"" (If (< LgBras 1790)"101" "102") "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Attache du Bras H:180mm" TxCot "\" plan=\"" "203601" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "7" "\" designation=\"" "Attache Antibalançant" TxCot "\" plan=\"" "232879" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "8" "\" designation=\"" "Pince Fc" TxCot "\" plan=\"" "4000" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "9" "\" designation=\"" "Blocage de Suspension" TxCot "\" plan=\"" "232921" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "10" "\" comment=\"true\" designation=\"" "Susp. Console/Hauban Lg:0.30m" TxCot "\" plan=\"" "204504" "\" repere=\"" "415" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "11" "\" comment=\"true\" designation=\"" "Susp. anti rigide Lg:X.XXm" TxCot "\" plan=\"" "204504" "\" repere=\"" "20X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    203622-T
                    ;------   Nomenclature pour les anti type 204994
  (If (And (Or (= TypeAnti "204994-T")
            (= TypeAnti "204994-C")
           ) ;_ Fin de Or
        (= TypeNom "G")
      ) ;_ Fin de And       
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Bras Rappel Crosse 1.00m" TxCot)
           "204994"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Verticale du bras" TxCot)
           "204505"
           "104"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 7 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Tube Ø49 Lg:0.230" TxCot)
           "204516"
           "103"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 8 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Antibalançant" TxCot)
           "232879"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 9 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Pince Fc" TxCot)
           "4000"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 10 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. anti rigide Lg:X.XXm" TxCot)
           "204504"
           "20X"
           "1"
           ""
           ""
      ) ;_ Fin de Command
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 11 3.50)))
         "1"
         "1"
         "0"
         (Strcat TxDesPin TxCot)
         TxPlaPin
         TxRepPin
         "1"
         ""
         ""
    ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 12 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. Console/Hauban Lg:0.30m" TxCot)
           "204504"
           "415"
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If   --  204994-T & 204994-C
  (If (Or (= TypeAnti "204994-T")
      (= TypeAnti "204994-C")
      ) ;_ Fin de Or
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Bras Rappel Crosse 1.00m" TxCot "\" plan=\"" "204994" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Attache Verticale du bras" TxCot "\" plan=\"" "204505" "\" repere=\"" "104" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "7" "\" designation=\"" "Tube Ø49 Lg:0.230" TxCot "\" plan=\"" "204516" "\" repere=\"" "103" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "8" "\" designation=\"" "Attache Antibalançant" TxCot "\" plan=\"" "232879" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "9" "\" designation=\"" "Pince Fc" TxCot "\" plan=\"" "4000" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "10" "\" comment=\"true\" designation=\"" "Susp. anti rigide Lg:X.XXm" TxCot "\" plan=\"" "204504" "\" repere=\"" "20X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "11" "\" designation=\"" TxDesPin TxCot "\" plan=\"" TxPlaPin "\" repere=\"" TxRepPin "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "12" "\" designation=\"" "Susp. Console/Hauban Lg:0.30m" TxCot "\" plan=\"" "204504" "\" repere=\"" "415" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    204994-T  204994-C

                    ;------   Nomenclature pour les anti type 204499
  (If (And (= TypeAnti "204499")
       (= TypeNom "G")
       ) ;---Fin and
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Bras Rappel Sectionnement 1.30m" TxCot)
           "203628"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Orientable du bras" TxCot)
           "203524"
           "101"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Tube Ø49 Lg:X.XXX" TxCot)
           "204516"
           "103"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 7 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Pince Fc" TxCot)
           "4000"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 8 3.50)))
         "1"
         "1"
         "0"
         (Strcat TxDesPin TxCot)
         TxPlaPin
         TxRepPin
         "1"
         ""
         ""
    ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If   --  204499
  (If (= TypeAnti "204499")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" "Bras Rappel Sectionnement 1.30m" TxCot "\" plan=\"" "203628" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Attache Orientable du bras" TxCot "\" plan=\"" "203624" "\" repere=\"" "101" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Tube Ø49 Lg:X.XXX" TxCot "\" plan=\"" "204516" "\" repere=\"" "103" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "7" "\" designation=\"" "Pince Fc" TxCot "\" plan=\"" "4000" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "8" "\" designation=\"" TxDesPin TxCot "\" plan=\"" TxPlaPin "\" repere=\"" TxRepPin "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    204499

                    ;------   Nomenclature pour les anti type 204520
  (If (And (= TypeAnti "204520")
       (= TypeNom "G")
       ) ;---Fin and
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Anti. montage direct bras:1.15m" TxCot)
           "204520"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Tube Ø49 Lg:X.XXX" TxCot)
           "204516"
           "103"
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If -------    Bras 204520
  (If (= TypeAnti "204520")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" "Anti. montage direct bras:1.15m" TxCot "\" plan=\"" "204520" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Tube Ø49 Lg:X.XXX" TxCot "\" plan=\"" "204516" "\" repere=\"" "103" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    204520
                    ;------   Nomenclature pour les anti type 203622
  (If (And (= TypeAnti "203622")
       (= TypeNom "G")
       ) ;---Fin and
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Bras Rappel Reglable d'Aiguillage" TxCot)
           "203622"
           "10X"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Orientable du bras" TxCot)
           "203524"
           "101"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Tube Ø49 Lg:X.XXX" TxCot)
           "204516"
           "103"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 7 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Pince Fc" TxCot)
           "4000"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 8 3.50)))
         "1"
         "1"
         "0"
         (Strcat TxDesPin TxCot)
         TxPlaPin
         TxRepPin
         "1"
         ""
         ""
    ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 9 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Blocage de Suspension" TxCot)
           "232921"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 10 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. Console/Hauban Lg:0.30m" TxCot)
           "204504"
           "415"
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If   --  203622
  (If (= TypeAnti "203622")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" comment=\"true\" designation=\"" "Bras Rappel Reglable d'Aiguillage" TxCot "\" plan=\"" "203622" "\" repere=\"" "10X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Attache Orientable du bras" TxCot "\" plan=\"" "203624" "\" repere=\"" "101" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Tube Ø49 Lg:X.XXX" TxCot "\" plan=\"" "204516" "\" repere=\"" "103" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "7" "\" designation=\"" "Pince Fc" TxCot "\" plan=\"" "4000" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "8" "\" designation=\"" TxDesPin TxCot "\" plan=\"" TxPlaPin "\" repere=\"" TxRepPin "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "9" "\" designation=\"" "Blocage de Suspension" TxCot "\" plan=\"" "232921" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "10" "\" comment=\"true\" designation=\"" "Susp. Console/Hauban Lg:0.30m" TxCot "\" plan=\"" "204504" "\" repere=\"" "415" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    203622
                ;------   Nomenclature pour les anti type 204994    
  (If (And (= TypeAnti "204994")
       (= TypeNom "G")
       ) ;---Fin and
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Bras Rappel Crosse 1.00m" TxCot)
           "204994"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Orientable du bras" TxCot)
           "203524"
           "101"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Tube Ø49 Lg:X.XXX" TxCot)
           "204516"
           "103"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 7 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Pince Fc" TxCot)
           "4000"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 8 3.50)))
         "1"
         "1"
         "0"
         (Strcat TxDesPin TxCot)
         TxPlaPin
         TxRepPin
         "1"
         ""
         ""
    ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 9 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. Console/Hauban Lg:0.30m" TxCot)
           "204504"
           "415"
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If   --  204994
  (If (= TypeAnti "204994")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" "Bras Rappel Crosse 1.00m" TxCot "\" plan=\"" "204994" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Attache Orientable du bras" TxCot "\" plan=\"" "203624" "\" repere=\"" "101" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Tube Ø49 Lg:X.XXX" TxCot "\" plan=\"" "204516" "\" repere=\"" "103" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "7" "\" designation=\"" "Pince Fc" TxCot "\" plan=\"" "4000" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "8" "\" designation=\"" TxDesPin TxCot "\" plan=\"" TxPlaPin "\" repere=\"" TxRepPin "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "9" "\" comment=\"true\" designation=\"" "Susp. Console/Hauban Lg:0.30m" TxCot "\" plan=\"" "204504" "\" repere=\"" "415" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    204994
                      ;------   Nomenclature pour les anti type 204499
  (If (And (= TypeAnti "204932")
       (= TypeNom "G")
       ) ;---Fin and
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Bras Rappel Droit Lg.:1.00m" TxCot)
           "203628"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Orientable du bras" TxCot)
           "203524"
           "101"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Tube Ø49 Lg:X.XXX" TxCot)
           "204516"
           "103"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 7 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Pince Fc" TxCot)
           "4000"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If   --  204932
  (If (= TypeAnti "204932")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" "Bras Rappel Droit Lg.:1.00m" TxCot "\" plan=\"" "204928" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Attache Orientable du bras" TxCot "\" plan=\"" "203624" "\" repere=\"" "101" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Tube Ø49 Lg:X.XXX" TxCot "\" plan=\"" "204516" "\" repere=\"" "103" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "7" "\" designation=\"" "Pince Fc" TxCot "\" plan=\"" "4000" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))

    ) ;--Fin Progn
  ) ;_ Fin de If    204932
                      ;------   Nomenclature pour les anti type 204519
  (If (= TypeAnti "204519")
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Anti. montage direct bras:1.40m" TxCot)
           "204519"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Tube Ø49 Lg:X.XXX" TxCot)
           "204516"
           "103"
           "1"
           ""
           ""
      ) ;_ Fin de Command
    ) ;_ Fin de Progn
  ) ;_ Fin de If -------    Bras 204519
  (If (= TypeAnti "204519")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" "Anti. montage direct bras:1.40m" TxCot "\" plan=\"" "204519" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" designation=\"" "Tube Ø49 Lg:X.XXX" TxCot "\" plan=\"" "204516" "\" repere=\"" "103" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    204519

                    ;------   Nomenclature pour les anti type 204498 anti relévement
  (If (= TypeAnti "204498")
    (Progn
      (SetQ DeltAnt -100)
      (If (> DistAnt (+ 4530 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Hors Liste")
          TxRepAnt "Hors Liste"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4530 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Rel. Fc107 Lg:4.53m")
          TxRepAnt "108"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4030 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Rel. Fc107 Lg:4.03m")
          TxRepAnt "107"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3530 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Rel. Fc107 Lg:3.53m")
          TxRepAnt "106"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3030 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Rel. Fc107 Lg:3.03m")
          TxRepAnt "105"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2530 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Rel. Fc107 Lg:2.53m")
          TxRepAnt "104"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2030 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Rel. Fc107 Lg:2.03m")
          TxRepAnt "103"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 1530 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Rel. Fc107 Lg:1.53m")
          TxRepAnt "102"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 1030 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant Rel. Fc107 Lg:1.03m")
          TxRepAnt "101"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
  (If (= TypeNom "G")
    (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat TxDesAnt TxCot)
           "204498"
           TxRepAnt
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Antibalançant" TxCot)
           "204885"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Susp. anti souple Lg:X.XXm" TxCot)
           "203200"
           "20X"
           "1"
           ""
           ""
      ) ;_ Fin de Command
      ) ;_ Fin de Progn
     ) ;_ Fin de If
    ) ;_ Fin de Progn
  ) ;_ Fin de If
  (If (= TypeAnti "204498")
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" TxDesAnt TxCot "\" plan=\"" "204498" "\" repere=\"" TxRepAnt "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Attache Antibalançant" TxCot "\" plan=\"" "204885" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" comment=\"true\" designation=\"" "Susp. anti souple Lg:X.XXm" TxCot "\" plan=\"" "203200" "\" repere=\"" "20X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
    ) ;--Fin Progn
  ) ;_ Fin de If    204498
                    ;------   Nomenclature pour les anti type 204499 tension et compression
  (If (Or (= TypeAnti "204499-T")
      (= TypeAnti "204499-C")
      ) ;_ Fin de Or
    (Progn
      (If (= TypeAnti "204499-T")
    (SetQ DeltAnt -350)
    (SetQ DeltAnt -1500)
      ) ;_ Fin de If
      (If (> DistAnt (+ 4500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.30m Hors Liste")
          TxRepAnt "Hors Liste"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.30m Lg:4.50m")
          TxRepAnt "108"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 4000 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.30m Lg:4.00m")
          TxRepAnt "107"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.30m Lg:3.50m")
          TxRepAnt "106"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 3000 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.30m Lg:3.00m")
          TxRepAnt "105"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2500 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.30m Lg:2.50m")
          TxRepAnt "104"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
      (If (<= DistAnt (+ 2000 DeltAnt))
    (SetQ TxDesAnt (Strcat "Antibalançant bras:1.30m Lg:2.00m")
          TxRepAnt "103"
    ) ;_ Fin de SetQ
      ) ;_ Fin de If
    ) ;_ Fin de Progn
  ) ;_ Fin de If 204499-T & C
  (If (And (Or (= TypeAnti "204499-T")
           (= TypeAnti "204499-C")
       )
       (= TypeNom "G")
       ) ;--- Fin if
      (Progn
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 3 3.50)))
           "1"
           "1"
           "0"
           (Strcat TxDesAnt TxCot)
           "204499"
           TxRepAnt
           "1"
           ""
           ""
      ) ;_ Fin de Command
      (Command "_-INSERT"
           (Strcat CheminDossier "Nomenclature_VC.dwg")
           (List XPtLigne0 (- YPtLigne0 (* 6 3.50)))
           "1"
           "1"
           "0"
           (Strcat "Attache Antibalançant" TxCot)
           "204885"
           ""
           "1"
           ""
           ""
      ) ;_ Fin de Command
    (If (= TypeAnti "204499-C")
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
         "1"
         "1"
         "0"
         (Strcat "Susp. anti rigide Lg:X.XXm" TxCot)
         "204504"
         "10X"
         "1"
         ""
         ""
    ) ;_ Fin de Command
    (Command "_-INSERT"
         (Strcat CheminDossier "Nomenclature_VC.dwg")
         (List XPtLigne0 (- YPtLigne0 (* 4 3.50)))
         "1"
         "1"
         "0"
         (Strcat "Susp. anti souple Lg:X.XXm" TxCot)
         "203200"
         "20X"
         "1"
         ""
         ""
    ) ;_ Fin de Command
      ) ;_ Fin de If
    ) ;---Fin Progn
  ) ;_ Fin de If
  (If (Or (= TypeAnti "204499-T")
      (= TypeAnti "204499-C")
      ) ;--Fin Or
    (Progn
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "3" "\" designation=\"" TxDesAnt TxCot "\" plan=\"" "204499" "\" repere=\"" TxRepAnt "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "6" "\" designation=\"" "Attache Antibalançant" TxCot "\" plan=\"" "204885" "\" repere=\"" "" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      (If  (= TypeAnti "204499-C")
        (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" comment=\"true\" designation=\"" "Susp. anti rigide Lg:X.XXm" TxCot "\" plan=\"" "204504" "\" repere=\"" "10X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
        (SetQ TxtTeemo (StrCat TxtTeemo "\r" "<material position=\"" "4" "\" comment=\"true\" designation=\"" "Susp. anti souple Lg:X.XXm" TxCot "\" plan=\"" "203200" "\" repere=\"" "20X" "\" total=\"" "1" "\" status=\"" StaTeemo"\"/>" ))
      ) ;_ Fin de If
    ) ;--Fin Progn
  ) ;_ Fin de If    204499
  (SetVar "Osmode" 109)
  (if (= TypeNom "T")
  (EcritureTeemo)
  )
) ;_ Fin de Defun


(Defun EcritureTeemo (/ file)

;(SetQ TxtTeemo (StrCat "\"<material position=\"" (+ CompTeemo 1) "\" \"plan=\"" TxPlaHau "\" \"repere=\"" TxRepHau "\" \"total=\"" NbHau "\" \"status=\"" staTeemo"\"/" ))
;(SetQ TxtTeemo (StrCat "\"<material position=\"" "1" "\" \"plan=\"" TxPlaHau "\" \"repere=\"" TxRepHau "\" \"total=\"" NbHau "\" \"status=\"" StaTeemo "\"/" ))
;(SetQ TxtTeemo (StrCat "\"<material position=\"" (+ CompTeemo 1)))
;(SetQ TxtTeemo "toto")
  (Initget 1 "")
  (SetQ TxNVoie (GetString "\n Numero de la nomenclature ?")) ;_ Fin de GetString
  (SetQ PrefixChe (StrCat (getvar "dwgprefix") (Substr (GetVar "DWGNAME") 1 (- (Strlen (GetVar "DWGNAME")) 4)) "." TxNVoie "." TxNArm ".TXT")
  ) ;---Fin SetQ
;  (setq file (open "C:\\temp\\Points-2.txt" "w"))
  (setq file (open PrefixChe "w"))
  (write-line
    (strcat
      "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
    ) ;_ Fin de strcat
    file
  ) ;_ Fin de write-line
  (write-line "<root>" file)
;  (write-line "<materialOnly />" file)
;  (write-line (strcat "<way position=\"0\">") file)
  (write-line (strcat TxtTeemo) file)
;  (write-line " " file)
;  (write-line "</way>" file)
  (write-line "</root>" file)
  (close file)
) ;_ Fin de defun

]]>
61812Sat, 26 Oct 2024 18:39:16 +0000
Lisp pour générer des coupes de profilshttps://cadxp.com/topic/61835-lisp-pour-g%C3%A9n%C3%A9rer-des-coupes-de-profils/ Bonjour à tous,

Je suis à la recherche d'une solution pour générer automatiquement des coupes de profils à partir des données issues de fouilles géoréférencées, en utilisant un script Lisp.
Voici le contexte et les spécificités de ce que je souhaite réaliser.

Contexte et besoin :

Dans le cadre de travaux de fouilles, nous avons relevé des réseaux découverts avec des points GPS (coordonnées x, y, z).
Mon objectif est de pouvoir tracer une coupe type selon un axe défini dans l’emprise de la fouille, en utilisant ces données géoréférencées pour visualiser précisément le profil des réseaux.

Données disponibles :

Pour chaque réseau découvert dans l'emprise de fouille, nous disposons des informations suivantes :

  • Points délimitant la zone de fouille (x, y, z)
  • Profondeur de fouille
  • Altitude du sol (GS) pour chaque réseau
  • Diamètre et autres caractéristiques des réseaux
  • Autres si nécessaire ... 

Attentes spécifiques :

Je cherche à savoir s'il serait possible de développer un script Lisp qui permettrait de :

  1. Créer une coupe type suivant un axe donné dans l’emprise (à définir).
  2. Utiliser les données géoréférencées pour positionner chaque réseau sur la coupe avec précision.
  3. Intégrer des attributs spécifiques tels que la profondeur de fouille, la GS des réseaux et le diamètre, pour un rendu complet et lisible. (cotation)

Je suis preneur de tout retour d'expérience ou de conseil sur la faisabilité de ce script Lisp

En PJ une idée du besoin (avec ici moins d'information, je remarque que ce plan les réseaux est passé en 3D hors nos plan de géoréférencement sont en 2D)

 

EXEMPLE.dwg

]]>
61835Wed, 06 Nov 2024 08:47:34 +0000
Changer le calque de courbes de niveau selon leurs altitudeshttps://cadxp.com/topic/61799-changer-le-calque-de-courbes-de-niveau-selon-leurs-altitudes/ Bonjour a toutes et tous,

J'ai un petit problème avec le code ci dessous :

La routine permet en choisissant un multiple d'altitude (0.5/1/2/5/10/25/50/100 mètres) de placer dans un (nouveau) calque les courbes de niveau (situées dans un calque originel) répondant au critère.

Cependant, depuis peu, certaine courbe ne se place pas dans le nouveau calque alors que le critère est respecté (les altitudes affichées dans les propriétés sont juste).

Il y a peut être une erreur dans le code, ou une variable a modifier (précision ou arrondi proche par exemple..) ?

Merci,

 

(defun c:MAJCL (
					;/ elev ss i el
	       )
  (vl-load-com)
  (setq Valer (getvar "luprec"))
  (setvar "luprec" 0)
  (initget 1 "0.5 1 2 5 10 25 50 100")
  (setq
    elev (getkword
	   "\nSelect String for filter [0.5/1/2/5/10/25/50/100]: "
	 )
  )
  (setq
    LayerCL (car
	      (entsel
		"\nClick on a layer with contour lines to modify : "
	      )
	    )
  )
  (setq EntLay (entget LayerCL))
  (setq LAY (cdr (assoc 8 EntLay)))
  (setq nomcalc (strcat "_NB-MajorLine_" elev))
  (initget 1 "Blue Green GRey Pink Red White Yellow Other")
  (setq
    ColorCalc
     (getkword
       "\nSelect a color for the layer [Blue/Green/GRey/Pink/Red/White/Yellow/Other]: "
     )
  )
  (cond	((= ColorCalc "Blue")
	 (setq Color 141)
	)
	((= ColorCalc "Green")
	 (setq Color 91)
	)
	((= ColorCalc "GRey")
	 (setq Color 253)
	)
	((= ColorCalc "Pink")
	 (setq Color 211)
	)
	((= ColorCalc "Red")
	 (setq Color 241)
	)
	((= ColorCalc "White")
	 (setq Color 7)
	)
	((= ColorCalc "Yellow")
	 (setq Color 51)
	)
	((= ColorCalc "Other")
	 (setq Color 121)
	)
  )
  (if (not (tblsearch "LAYER" nomcalc))
    (entmake
      (list
	(cons 0 "LAYER")
	(cons 100 "AcDbSymbolTableRecord")
	(cons 100 "AcDbLayerTableRecord")
	(cons 2 nomcalc)
	(cons 70 0)
	(cons 62 Color)
	(cons 370 -3)
	(cons 6 "Continuous")
      )
    )
  )
  (if (setq ss (ssget "_X"
		      (list (cons 0 "LWPOLYLINE") (cons 8 LAY))
	       )
      )
    (repeat (setq i (sslength ss))
      (setq
	el (cdr
	     (assoc 38 (entget (setq e (ssname ss (setq i (1- i))))))
	   )
      )
      (if (equal (distof (rtos (rem el (distof elev)) 2 2)) 0.0 1e-6)
					; at elevation that is a multiple of elev?
	(vla-put-Layer (vlax-ename->vla-object e) nomcalc)
					;(command "_.chprop" e "" "_layer" nomcalc "")
      )					; if
    )					; repeat
  )					; if
  (setvar "luprec" Valer)
  (princ)
)

 

]]>
61799Mon, 21 Oct 2024 15:58:20 +0000
Chargement automatique de LISPhttps://cadxp.com/topic/61718-chargement-automatique-de-lisp/ Bonjour le forum,

 

J'utilise depuis un moment un lisp (de gile si je me souviens bien).

Ce lisp charge tous les programmes d'un répertoire donné.

Ca évite de rajouter une application à liste de démarrage à chaque fois que j'en collecte un (_appload > Démarrage contenu > Ajouter ...)

Sauf qu'il ne fonctionne plus 😭

J'ai voulu changer son appel par S::STARTUP pour que le chargement de tous mes LISPS se fasse automatiquement à chaque ouverture de dessin.

Je suis bien revenu en arrière mais le mal était fait.

Note : le repertoire en question est dans la liste des répertoires approuvés.

 

TOUTCHARGER.LSP :

(defun c:cg () ; load lisps

  (setq  *lsppath* "C:\\Users\\studi\\OneDrive - Studiplan\\Documents\\PRO\\Sources\\Autocad\\Lisp")

  (mapcar 

   '(lambda (x) (princ (strcat "\n" x)) s)

	(acad_strlsort 

		(vl-remove "toutcharger.lsp"

   (apply 'append

      (mapcar '(lambda (x) (vl-directory-files *lsppath* x)) 

          '("*.lsp" "*.fas")))) ;'("*.lsp" "*.dvb" "*.arx" "*.fas"))))

))

    (princ))

Le "Princ" me renvoie bien la liste complète des programmes, mais il ne les charge pas.

J'ai l'impression qu'il manque un "load" quelque part, l'aurais-je supprimer par mégarde ?

Merci d'avance pour votre aide

]]>
61718Thu, 19 Sep 2024 15:14:58 +0000
<![CDATA[[RESOLU] Erreur: no function definition: vlax-ename->vla-object]]>https://cadxp.com/topic/61696-resolu-erreur-no-function-definition-vlax-ename-vla-object/ Bonjour.

Sans aucune intervention (je n'en ai pas souvenir) de ma part, lorsque j'utilise certains lisp et en particulier AddVtx de Gilles Chanteau

J'ai ce message d'erreur.

Commande: ADDVTX
Choix de l'objet:
Erreur: no function definition: vlax-ename->vla-object

J'ai fait cette manip tuto support technique autocad, mais rien à faire....

Une idée

AddVtx&DelVtx.LSP

]]>
61696Thu, 12 Sep 2024 14:02:11 +0000
Construction polyligne 2D à partir d'1 polyligne existante avec 1 accrochage systématique sur les sommets de la polylignehttps://cadxp.com/topic/61625-construction-polyligne-2d-%C3%A0-partir-d1-polyligne-existante-avec-1-accrochage-syst%C3%A9matique-sur-les-sommets-de-la-polyligne/ Bonjour à tous et à toutes, (qui n'êtes pas ou plus en vacances  😊)

 

Existerait il une lisp ou une commande qui permettrait de construire une polyligne 2D à partir d'une polyligne existante, ceci en s'accrochant à tous les sommets de cette dernière  ??

Sur le principe de la fonction Segment de la commande création de polyligne de Covadis

image.png.8dd282ab3cda4fd49f1a2d61acdb60aa.png

image.png.8f07e7976328c4626798e67904f593bf.png

image.png.9ac283cd8ad9e93e669769d749e5b29c.png

Merci beaucoup !

 

Bonne journée

 

]]>
61625Mon, 19 Aug 2024 10:27:47 +0000
[Challenge] Spirale de Fibonaccihttps://cadxp.com/topic/58261-challenge-spirale-de-fibonacci/ Salut,

Je propose un challenge pour l'été (profiter des vacances pour apprendre ou se perfectionner en LISP).

Tout le monde a entendu parler de la suite de Fibonacci. Une spirale de Fibonacci est une succession d'arcs de cercle de 90° connectés tangentiellement dont les rayons sont les termes de la suite de Fibonacci.

Un exemple de spirale de Finonacci composée de 7 arcs :

image.png.04b9178ecfcc7a1e814ee2ab980cf108.png

Challenge

Il s'agit d'écrire une routine qui prend en argument le point de départ de la spirale et le nombre d'arcs pour dessiner la spirale dans AutoCAD (plusieurs arcs ou une polyligne).

La routine (ici nommée spiralFib) devra pouvoir être appelée depuis une commande LISP (ici nommée c:TEST) pour pouvoir être testée dans AutoCAD pour dessiner des spirales ayant au minimum 4 arcs.

(defun c:test (/ p i)
  (and
    (setq p (getpoint "\nPoint de départ: "))
    (setq i (getint "\nNombre d'arcs [4-32]: "))
    (< 3 i)
    (spiralFib p i)
  )
  (princ)
)

Un screencast montrant un exemple.

 

Variante

On peut, sur le même principe faire une routine pour une "Spirale d'or".

]]>
58261Fri, 29 Jul 2022 07:13:25 +0000
Lancement d'impression multiple et retour togglehttps://cadxp.com/topic/61458-lancement-dimpression-multiple-et-retour-toggle/ Bonjour a tous,

Petite demande afin de savoir si on peut écrire cela d'une autre façon (plus propre).

La validation du OK de ma fenêtre de sélection

	(defun InitAllPrintOK	()
		(cond((= PlotNB 1)(setq Plotstyle "NB")(PRT)))
		(cond((= PlotNBB 1)(setq Plotstyle "NBB")(PRT)))
		(cond((= PlotNBV 1)(setq Plotstyle "NBV")(PRT)))
		(cond((= PlotNBBV 1)(setq Plotstyle "NBBV")(PRT)))
		; ---
		(cond((= PlotTT 1)(setq Plotstyle "TT")(PRT)))
		(cond((= PlotTTB 1)(setq Plotstyle "TTB")(PRT)))
		(cond((= PlotTTV 1)(setq Plotstyle "TTV")(PRT)))
		(cond((= PlotTTBV 1)(setq Plotstyle "TTBV")(PRT)))
		; ---
		(cond((= PlotTTPRI 1)(setq Plotstyle "TTPRI")(PRT)))
		(cond((= PlotTTBPRI 1)(setq Plotstyle "TTBPRI")(PRT)))
		(cond((= PlotTTVPRI 1)(setq Plotstyle "TTVPRI")(PRT)))
		(cond((= PlotTTBVPRI 1)(setq Plotstyle "TTBVPRI")(PRT)))
		; ---
		(cond((= PlotCO 1)(setq Plotstyle "CO")(PRT)))
	)
	; ---------------------
	(defun InitAllPrintCancel ()
		(if (= userclick nil)(princ "\n--- Impression annulée ---\n"))


	(defun PRT () (vl-cmdf "._-PLOT" "_YES" "MODEL" PlotType PlotLimit "_MILLIMETERS" PlotOrientation "_NO" "_EXTENTS" Plotscale "_CENTER" "_YES" PlotStyle "_YES" "_WIREFRAME" "_NO" "_NO" "_YES"))

	)

image.png.42004eb629e9a00a9e31db9938013ee6.png

Merci d'avance.

]]>
61458Thu, 06 Jun 2024 07:54:01 +0000
VBScript Dépréciéhttps://cadxp.com/topic/61430-vbscript-d%C3%A9pr%C3%A9ci%C3%A9/ Bonjour,

Microsoft a décidé d'enlever VBS de Windows pour des raisons de sécurité.

Voir ici

Cela veut dire que (vlax-get-or-create-object "WScript.Shell") ne fonctionneras plus. (entre autre)

Heureusement qu'il resteras la possibilité de l'installer.

A long termes, je ne suis pas sur.

Sinon, quelle serait l'alternative?

]]>
61430Mon, 27 May 2024 08:23:34 +0000
Changer les décimales dans des champs mtext ou texthttps://cadxp.com/topic/61327-changer-les-d%C3%A9cimales-dans-des-champs-mtext-ou-text/ Bonjour.

j'ai vu sur le site qu'il était possible de modifier des décimales de champs ex: (%lu2%pr2">%) dans des blocs avec attributs, il y a une solution de Gille.

ci joint le lien : 

 

j'ai des coordonnées de point en MTEXT que l'on me demande de changer la décimale, plus d'une centaine dans le dessin.

est-il possible de lire le champs %pr2">% et de le mettre à 3 

 

Cordialement Fabs

]]>
61327Fri, 12 Apr 2024 08:07:13 +0000
Mettre des texte dans un tableauhttps://cadxp.com/topic/61213-mettre-des-texte-dans-un-tableau/ Bonjour à Toutes et à tous

je viens vers vous pour vous demande un coup de main. Car je n'ai rien trouver (j'ai certainement mal cherché) sur le site.
Je viens de récupérer un plan qui vient d'un autre logiciel (Medusa4), et à la conversion, les tableaux non pas été géré comme des tableaux mais comme du dessin (ligne, polyligne et texte). 
Serai t-il possible des sélectionner tous les texte et de les mettre automatiquement dans un tableau qui soit gérer ou créer avant.

Merci d'avance pour vos réponses

]]>
61213Tue, 05 Mar 2024 16:09:53 +0000
supprimer les champs dynamique dans les attributshttps://cadxp.com/topic/61214-supprimer-les-champs-dynamique-dans-les-attributs/ Bonjour,

J'ai plusieurs bloc dynamique avec des attributs qui ont chacun un champs dynamique (avec une formule de calcul)

j'aurai besoin supprimer les champs dynamique en gardant le texte telle qu'elle.

j'ai mis un bloc dynamique avec attribut en pièce jointe.

Est-ce qu'il y aurai un lisp qui pourrait supprimer les champs dynamique et garder le texte telle qu'elle

en vous remerciant d'avance pour vos réponses.

niveau brut - fini - NGF.dwg

]]>
61214Tue, 05 Mar 2024 21:55:20 +0000
mur en lisphttps://cadxp.com/topic/60946-mur-en-lisp/ Bonjour , j'ai tenté de générer un lisp par l'Ai de Bing pour répondre à un de mes besoins mais  l'Ai à ces limites et les miennes sont pires.

je souhaiterais à partir d'une polyligne choisir une distance de décalaqe au clavier , tracé une nouvelle polyligne en choissant le coté et surtout réaliser une hachure entre les 2 mais apparement je ne suis pas assez précis dans ma demande et surtout cele ne fonctionne pas .

en gros je souhaite pouvoir tracer des murs, des largeurs de chaussée etc ...

defun c:offsethatch (/ ent offset-ent dist side)
  (setq ent (entsel "\nSélectionnez la polyligne: "))
  (setq dist (getreal "\nEntrez la distance de décalage: "))
  (setq side (getstring "\nEntrez le côté de décalage (Droite/Gauche): "))
  (if (= (strcase side) "DROITE")
    (command "_.offset" dist ent "" "" "exit")
    (command "_.offset" dist ent "" "exit" "" "exit")
  )
  (setq offset-ent (entlast))
  (command "_.hatch" "S" ent "" "" "exit")
  (princ)
)

Ce code fait ce qui suit:

  1. Il demande à l’utilisateur de sélectionner une polyligne.
  2. Il demande à l’utilisateur d’entrer une distance de décalage.
  3. Il demande à l’utilisateur d’entrer le côté de décalage (Droite/Gauche).
  4. Il utilise la commande offset pour créer une nouvelle polyligne décalée de la distance spécifiée du côté spécifié.
  5. Il utilise la commande hatch pour créer une hachure entre la polyligne originale et la nouvelle polyligne décalée.

 

 

si une intelligence humaine et altruiste pouvait se pencher sur le sujet , cela serait sympa car Bing Ai a failli .

 

Bonne journée

]]>
60946Mon, 27 Nov 2023 16:34:19 +0000
Lisp de dévoiementhttps://cadxp.com/topic/60950-lisp-de-d%C3%A9voiement/ Bonjour

Après quelques années à observer de loin le monde de la création de LISP, j'ai enfin pris le temps de me lancer et de tenter de créer mes propres outils

Après quelques heures, j'ai fini par réussir une première ébauche relativement fonctionnelle, mais loin d'être optimale.

Ma Lisp a pour objectif de sélectionner une polyligne et un diamètre, pour y appliquer un raccord du rayon demandé, et d’exécuter deux décalages afin de représenter l'épaisseur d'un réseaux de plomberie.

(Ci-dessous un exemple de la modification que je souhaite réaliser grâce à la commande)

image.thumb.png.63d18ee64f9b3e0f40b084c1b03e5bbf.png

Voici le résultat 

(defun c:dev ()
 (prompt "\nEntrer le réseau à dévoyer\n")
  (setq l1 (entsel))
 (prompt "\nEntrer le rayon du réseau\n")
 (setq d1 (getreal))
  (prompt "\nEntrer le centreseau\n")
  (setq p (getpoint))
   (setq x (car p))
   (setq y (cadr p))
   (setq z (caddr p))
 (setq x2 (+ x 111))
 (setq y2 (+ y 100))
 (setq x3 (- x 111))
 (setq y3 (- y 100))
 (setq t1 (list x2 y2 z))
 (setq t2 (list x3 y3 z)) 
  (command
   "raccord" "r" (* d1 2) ""
   "raccord" "polyligne" l1    
   "_offset" d1 l1 t1 ""
   "_offset" d1 l1 t2 ""
  )
  (princ)
  )

Mon décalage fonction dans le principe, mais je ne pense pas que le bidouillage réaliser pour y parvenir soit bon. Auriez vous une idée sur la manière de choisir proprement la direction de mon décalage ?

Ma Lisp a aussi pour but de raccourcir la polyligne d'origine a chacune de ses deux extrémités, mais je n'ai pas encore réussi à trouver la manière d'y parvenir.

Merci à tout ceux qui sauront m'apporter leur aide.

]]>
60950Tue, 28 Nov 2023 17:39:07 +0000
Le DCL est formidable, mais très ironique, en fait...https://cadxp.com/topic/60904-le-dcl-est-formidable-mais-tr%C3%A8s-ironique-en-fait/ Salut à la communauté.
Voici mes dernières observations, entre le DCL et le VBA (mais je ne parle que des fenêtres)
J'ai passé à peine plus d'un quart d'heure à faire cette fenêtre en VBA

TC_Pieces(VBA).png.5738d8ceb29c2efee2f632a7bfa4b965.png

Et j'ai passé presque une journée à faire ça en DCL

TC_Pieces(Lisp).png.d64af4c83a67e9c2c66baa8c046d17ce.png

Il est très claire que la deuxième fenêtre est très "moche" (sans comparaison ! !), sans jolies petites images contre un visuel beaucoup plus agréable et compréhensible.
J'avoue que je comprend aisément les développeurs qui choisissent le VBA (voir le DOT.NET) pour faire des trucs sous AutoCAD...
Mais je persiste avec le DCL (mais plus pour longtemps), car il n'y a rien de mieux pour le LiSP, et sa distribution...
J'aimerais tellement qu'un cador se fends de nous faire un tuto (Introduction au DCL ? ?).
Bien à toi la communauté.
Denis...

]]>
60904Tue, 14 Nov 2023 16:46:32 +0000
[RESOLU] Lisp défectueuxhttps://cadxp.com/topic/60849-resolu-lisp-d%C3%A9fectueux/ Bonjour,

Un des mes collègues utilise un lisp (a priori inutile puisqu'il permet de tracer une polyligne dans un calque défini) mais il ne fonctionne plus depuis que nous sommes passés en version Map 2023 (avant 2019)

Sauriez-vous me dire ce ne va pas ?

Je vous remercie.

 

(defun c:NM-Linéaire (/ CALQUE)

  (setq OLDERR *error*)
  (setq *error* ERREUR)
  (setq CALQUE (getvar "CLAYER"))
  (setvar "CMDECHO" 0)
 
  (if (= (tblsearch "Layer" "P-LINEAIRE") nil)
    (progn
      (command "-inserer" "*NM-Gabarit-Topographie" "0,0,0" "" "")
    ))
  (command "-calque" "AC" "P-LINEAIRE" "L" "P-LINEAIRE" "CH" "P-LINEAIRE" "")
  (princ "\nSpécifier le point de départ:")
  (command "_pline" pause)
  (princ "\nSpécifier le point suivant:")
  (setvar "CMDECHO" 1)
  (while (> (getvar "CMDACTIVE") 0)
    (command pause)
  )

  (NM-LinéaireRéinitialisation)

)

 

(defun NM-LinéaireRéinitialisation ()
  (command "-calque" "CH" CALQUE "")
  (setvar "CMDECHO" 1)
  (setq *error* OLDERR)
  (setq OLDERR nil)
  )

(defun ERREUR (MSG)
  (if (/= msg "Fonction annulée")
    (princ (strcat "\nErreur: " msg))
  )
  (NM-LinéaireRéinitialisation)
  (princ "\nFonction annulée")
  (princ)
)

 

]]>
60849Thu, 26 Oct 2023 13:22:18 +0000
Aperçu DCL sans réponse.https://cadxp.com/topic/60893-aper%C3%A7u-dcl-sans-r%C3%A9ponse/ Bonjour à la communauté.
Je suis en train de faire un petit DCL, et j'ai tenté de faire un petit aperçu (Menu Outils->Outils d'interface->Aperçu DCL dans l'éditeur).

Mais rien ne se passe... J'ai tenté le truc avec des DCL qui fonctionnent parfaitement dans AutoCAD, tout fonctionne dans AutoCAD, les DCL sont bien affichés, mais dans l'aperçu de l'IDE, rien, pas de message, pas de réponse, pas d'affichage...

J'ai déjà eu des problèmes avec les droits d'accès (que CadXP avait résolu), mais là, rien...

Une idée ?

]]>
60893Fri, 10 Nov 2023 13:33:40 +0000
[réglé] Selectionner calque par ligne de commandehttps://cadxp.com/topic/60527-r%C3%A9gl%C3%A9-selectionner-calque-par-ligne-de-commande/ Bonjour,

Je cherche à créer un icône qui aurait pour fonction de sélectionner un calque

Le calque considéré se nomme "!  ! métré - Cotation"

J'ai essayé en enregistrant mes actions, mais je n'arrive pas à comprendre le code qui apparait.

J'ai aussi tenté de partir de commande que j'ai déjà, mais je n'arrive pas voir ce que je doit changer.

Cette commande me permet de sélectionner tous les blocs du dessin
Sélection blocs
^C^C(sssetfirst nil (ssget "_C" (getvar "EXTMIN") (getvar "EXTMAX") '((0 . "INSERT"))))

Celle-ci de sélectionner toutes les côtes
Sélection cotes
^C^C(sssetfirst nil (ssget "_X" '((-4 . "<OR")(0 . "DIMENSION")(-4 . "OR>"))));

Ma tentative (qui ne marche pas)

^C^C(sssetfirst nil (ssget "" "CA" "!  ! métré - Cotation" ""))

]]>
60527Thu, 01 Jun 2023 08:17:21 +0000