lordbyron Posté(e) le 9 novembre 2005 Partager Posté(e) le 9 novembre 2005 Bonjours, Dans la cotation de longueur d'arc, peut-on modifier l'angle des lignes d'attaches par rapport à l'arc pour que celui-ci soit toujours à 90° ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 9 novembre 2005 Partager Posté(e) le 9 novembre 2005 Salut, Je ne pense pas qu'on puisse modifier les angles des lignes d'attache.Mais j'avais fait un LISP pour coter les longueurs d'arc (pour les versions antérieures à 2006). Ce LISP utilisant la commande "_dimangular" il affiche des lignes d'attache rayonnantes. ;;; DIM_ARC Cotation de la longueur d'un arc ;;; Redéfinition de *error* (defun STD_ERR (msg) (if (or (= msg "Fonction annulée") (= msg "quitter / sortir abandon") ) (princ) (princ (strcat "\nErreur: " msg)) ) (command) (command "_undo" "_end") (RESTORE_VAR) (setq *error* m:err m:err nil ) (princ) ) ;;; SAVE&SET_VAR & RESTORE_VAR ;;; ;;; SAVE&SET_VAR Enregistre la valeur initiale de la variable système dans une liste associative ;;; et lui attribue sa nouvelle valeur ;;; ex: (SAVE&SET_VAR "osmode" 0) -> !varlist (("osmode" . 43)) (getvar "osmode") 0 (defun SAVE&SET_VAR (var value) (if (getvar var) (progn (setq varlist (cons (cons var (getvar var)) varlist)) (setvar var value) ) (princ (strcat "\nErreur: variable AutoCAD rejetée: " var)) ) ) ;;; RESTORE_VAR Restaure leurs valeurs initiales aux variables système de "varlist" (defun RESTORE_VAR () (foreach pair varlist (if (/= (getvar (car pair)) (cdr pair)) (setvar (car pair) (cdr pair)) ) ) (setq varlist nil) ) ;;; ANGARC Retourne l'angle décrit par un arc de cercle. (defun ANGARC (arc / ang) (setq ang (- (cdr (assoc 51 (entget (car arc)))) (cdr (assoc 50 (entget (car arc)))) ) ) (if (minusp ang) (setq ang (+ (* 2 pi) ang)) ) ang ) ;;; Fonction principale (defun c:dim_arc (/ arc arl) (setq m:err *error* *error* STD_ERR ) (command "_undo" "_begin") (princ "Dim_arc") (while (/= (cdr (assoc 0 (entget (car (setq arc (entsel "\nChoisissez un arc: ")))) ) ) "ARC" ) (princ "\nL'objet sélectionné n'est pas un arc.") ) (setq arl (rtos (* (ANGARC arc) (cdr (assoc 40 (entget (car arc))))) (getvar "lunits") (getvar "dimdec") ) ) (SAVE&SET_VAR "cmdecho" 0) (command "_dimangular" arc "_text" arl pause) (command "_undo" "_end") (RESTORE_VAR) (setq *error* m:err m:err nil ) (princ) ) NOTA : Cette cote n'est pas associative : un étirement de l'arc ne génère pas de changement du texte de cote (çà reste du bricolage) [Edité le 9/11/2005 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
lordbyron Posté(e) le 10 novembre 2005 Auteur Partager Posté(e) le 10 novembre 2005 (gile), merci pour le fichier lisp, je ne l'ai pas encore testé.Je me doutais bien qu'on ne pouvais pas modifier l'angle des lignes d'attaches, mais on ne sait jamais. :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant