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
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...
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
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+
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* )
Hello !
As-tu une version LT ?
Les comandes lisp fonctionne uniquement sous la version Full.
A+
Oui j'utilise autocar LT, si vous avez une idée je prends car je fais ce type de manip 20 fois par jours !
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.