Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Addition de cotes

9 RÉPONSES 9
Répondre
Message 1 sur 10
gauteron
5082 Visites, 9 Réponses

Addition de cotes

Bonjour,

 

je cherche le moyen d'additionner les lignes de cotes. C'est a dire une fois mes lignes de cotes posés, je voudrais tout simplement les sélectionner et obtenir la somme total des cotes.

 

C'est possible ?

 

Merci d'avance

9 RÉPONSES 9
Message 2 sur 10
CADaSchtroumpf
en réponse à: gauteron

Bonjour,

 

Oui c'est possible avec quelques lignes de code.

Essayes ceci:

(vl-load-com)
(defun c:dim_cumul ( / js n ename cumul)
  (princ "\nSélectionner les cotes pour avoir le cumul.")
  (setq js (ssget '((0 . "DIMENSION"))))
  (cond
    (js
      (setq cumul 0.0)
      (repeat (setq n (sslength js))
        (setq ename (vlax-ename->vla-object (ssname js (setq n (1- n)))))
        (if (vlax-property-available-p ename 'Measurement)
          (setq cumul (+ (vlax-get ename 'Measurement) cumul))
        )
      )
    )
  )
  (princ (strcat "\nLe total cumulé des cotes sélectionnées est de " (rtos cumul)))
  (prin1)
)

 ATTENTION, ce code simpliste additionne TOUTES les valeurs de cotation, aussi bien les valeur angulaire (en radians) que les rayons ou encore les cotes ordonnées.

Pour remedier à cela on pourrait filtrer plus finement lors de la sélection des cotations. A voir...

Message 3 sur 10
gauteron
en réponse à: CADaSchtroumpf

Merci mais comment j'utilise ce code, a part les fonctions de base et quelques options je ne sais pas faire sous autocad.

 

Merci de me décrire la démarche à suivre

 

Cordialement

Message 4 sur 10
Olivier.R
en réponse à: gauteron

Bonjour,

1- Pour un simple test

       - Copie le programme dans ta ligne de commande

       - Entrée

       - Tape dim_cumul

       - Entrée

2- Pour l'utilisation au quotidien

       - Copie le programme dans le bloc note et enregistre le en .lsp

       - Tape appload

       - Clic sur "contenu" sous la valise en bas à droite de la boite de dialogue

       - Ajoute ton fichier (le programme se chargement automatiquement à chaque ouverture d'Autocad)

       Pour l'utilisation de a commande

       - Tape dim_cumul

       - Entrée

 

A+

 

Message 5 sur 10
gauteron
en réponse à: Olivier.R

je vais essayer merci !

Message 6 sur 10
gauteron
en réponse à: gauteron

Commande LISP non disponible. Commande: (defun Commande LISP non disponible. Commande: c:dim_cumul Commande inconnue "C:DIM_CUMUL".  Appuyez sur F1 pour obtenir de l'aide. Commande: ( Commande LISP non disponible. Commande: / Commande inconnue "/".  Appuyez sur F1 pour obtenir de l'aide. Commande: js Commande inconnue "JS".  Appuyez sur F1 pour obtenir de l'aide. Commande: n COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: ename *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: cumul) *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande: (princ Commande LISP non disponible. Commande: "\nSélectionner les cotes pour avoir le cumul.") Commande inconnue "")".  Appuyez sur F1 pour obtenir de l'aide. Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: (setq Le point spécifié est incorrect. Indiquez le sommet de l'angle: js Le point spécifié est incorrect. Indiquez le sommet de l'angle: (ssget Le point spécifié est incorrect. Indiquez le sommet de l'angle: '((0 Le point spécifié est incorrect. Indiquez le sommet de l'angle: . Le point spécifié est incorrect. Indiquez le sommet de l'angle: "DIMENSION")))) Le point spécifié est incorrect. Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (cond *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: (js Le point spécifié est incorrect. Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: (setq Le point spécifié est incorrect. Indiquez le sommet de l'angle: cumul Le point spécifié est incorrect. Indiquez le sommet de l'angle: 0.0) Le point spécifié est incorrect. Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: (repeat Le point spécifié est incorrect. Indiquez le sommet de l'angle: (setq Le point spécifié est incorrect. Indiquez le sommet de l'angle: n Le point spécifié est incorrect. Indiquez le sommet de l'angle: (sslength Le point spécifié est incorrect. Indiquez le sommet de l'angle: js)) Le point spécifié est incorrect. Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (setq *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: ename *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (vlax-ename->vla-object *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (ssname *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: js *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (setq *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: n *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (1- *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: n))))) *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande: (if Commande LISP non disponible. Commande: (vlax-property-available-p Commande LISP non disponible. Commande: ename Commande inconnue "ENAME".  Appuyez sur F1 pour obtenir de l'aide. Commande: 'Measurement) Commande inconnue "MEASUREMENT)".  Appuyez sur F1 pour obtenir de l'aide. Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (setq *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: cumul *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (+ *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (vlax-get *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: ename *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: 'Measurement) *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: cumul)) *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande: ) Commande inconnue ")".  Appuyez sur F1 pour obtenir de l'aide. Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande: ) Commande inconnue ")".  Appuyez sur F1 pour obtenir de l'aide. Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: ) *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: Commande: ) Commande inconnue ")".  Appuyez sur F1 pour obtenir de l'aide. Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: Indiquez le sommet de l'angle: (princ Le point spécifié est incorrect. Indiquez le sommet de l'angle: (strcat Le point spécifié est incorrect. Indiquez le sommet de l'angle: "\nLe total cumulé des cotes sélectionnées est de " Le point spécifié est incorrect. Indiquez le sommet de l'angle: (rtos Le point spécifié est incorrect. Indiquez le sommet de l'angle: cumul))) Le point spécifié est incorrect. Indiquez le sommet de l'angle: Commande:  COTANG Choix de l'arc, cercle, ligne ou <indiquez un sommet>: (prin1) *Sélection non valable* Attend un objet unique. Choix de l'arc, cercle, ligne ou <indiquez un sommet>: )*Annuler* )

Message 7 sur 10
gauteron
en réponse à: gauteron

voila ce que le script me donne !

Message 8 sur 10
Olivier.R
en réponse à: gauteron

Hello !

As-tu une version LT ?

Les comandes lisp fonctionne uniquement sous la version Full.

A+

Message 9 sur 10
noretuag
en réponse à: Olivier.R

Oui j'utilise autocar LT, si vous avez une idée je prends car je fais ce type de manip 20 fois par jours !

Message 10 sur 10
lahcen.alaouiM5HD4
en réponse à: Olivier.R

Merci infiniment mec 

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums