Aller au contenu

Cotation longueur des arcs


Antoine

Messages recommandés

Oui ce serait bien, en attendant, il existe des tas de routines LISP qui font ça sur Internet, par exemple celle-ci:

 

;;ArcDim.lsp - Written by Bill Farmer

;; Uses the dimension angular command; (arcl) function gets arc length

;; substitues that length into the dimension angular command.

;; Dimension retains its associativity.

 

(defun arcl ()

(SETQ A (ENTSEL))

(SETQ B (ENTGET (CAR A)))

(IF (EQUAL "ARC" (CDR (ASSOC '0 B)))

(PROGN

(SETQ RAD (CDR (ASSOC '40 B))) ;RADIUS

(SETQ 1stA (CDR (ASSOC '50 B))) ;1st ANGLE

(SETQ 2ndA (CDR (ASSOC '51 B))) ;2nd ANGLE

(IF (< 1stA 2ndA)

(SETQ RANG (- 2ndA 1stA)) ;ANGLE IN RADIANS

(SETQ RANG (+ (* 2 PI) (- 2ndA 1stA)))

) ;ANGLE IN RADIANS

(SETQ ARL (* RAD RANG)) ;ARC LENGTH

)

(PRINC "NOT AN ARC")

)

)

 

 

(defun c:ArcDim ()

(setq dimmode (getvar "lunits")) ;UNITS

(setq decpls (getvar "dimdec")) ;DIMENSION DECIMAL

PLACES

(arcl)

(setq arl (rtos arl dimmode decpls)) ;CONVERTS VALUE TO

STRING

(command "_dim" "ang" a "T" arl pause pause "e")

(princ)

)

 

Lien vers le commentaire
Partager sur d’autres sites

  • 7 mois après...
Invité Patrick

Il semble que cette fonctionnalité aie toute l'attention d'Autodesk. Ce ne devrait pas être grand chose à ajouter et je suppose que la prochaine version l'aura.

Lien vers le commentaire
Partager sur d’autres sites

J'avais publié cette routine le 24 septembre 2001 sur un autre forum .

 

(defun c:dimlarc (

/ l$ longueur object objectGet objectSel pt rayon theta

)

(setq objectSel (entsel "\nSélectionnez l'arc: "))

(cond

((not objectSel) nil) ; No-op

((/= "ARC" (cdr (assoc 0 (setq objectGet (entget (setq object (car objectSel)))))))

(princ "\nPas un arc!")

)

(t

(setq pt (cadr objectSel))

(setq theta (- (cdr (assoc 51 objectGet)) (cdr (assoc 50 objectGet))))

(setq theta (rem (+ theta pi pi) (+ pi pi)))

(setq rayon (cdr (assoc 40 objectGet)))

(setq longueur (* rayon theta))

(setq l$ (rtos longueur (getvar "dimunit") (getvar "dimdec")))

(command "._dimangular" pt "_Text" l$ pause)

)

)

(princ)

)

(princ)

 

Serge

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Mes chers CADxpiens,

 

Oh ! je sais combien le LISP parait magique pour ceux qui le pratiquent. N'oublions pas nos chers utilisateurs LTésiens avec leur LT de base sans ajout de quoi que ce soit.

 

Je vous propose cette MACRO DIESEL valable pour toutes les versions.

 

*^C^C_lengthen;\;texteval;1;-texte;auc;@;;;

Longueur=$m=$(rtos,$(getvar,perimeter),2,2);deplacer;d;;auc;@;auc;\

 

La hauteur du texte pourra être changée avec la variable système TEXTSIZE. Attention si vous copier-coller cette macro, supprimer le retour à la ligne après auc;@;;;

 

J'ai la même MACRO DIESEL, plus "chiadée" avec mise à l'échelle automatique en fonction du facteur XP de la fenêtre et toujours un résultat en Mètres linéaire quelque soit l'unité (mm, cm, m), ça donne ça...

 

*^C^C_lengthen;\;texteval;1;attdia;0;-inserer;obs250;auc;@;$m=$(/,1,$(getvar,textsize));;;Longueur (m)=;$m=$(rtos,$(/,$(getvar,perimeter),$(getvar,useri3)),2,2);;;;;;;attdia;1;deplacer;d;;auc;@;auc;\

 

Par contre pour cette 2e MACRO, il faudra utiliser ma barre d'outils pour la gestion de l'échelle et du verrou des fenêtres, voir dans le Forum 2005 : Réponse à Nobless " verrouillage automatique des fenetre" , tiens ! message qui est resté sans réponse??? Où es-tu Nobless ?

 

En attendant qu'AUTODESK se bouge, on peut quand même avancer.

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Je dis ca de mémoire, ne gueulez pas si c'est pas vrai.

 

:)

 

Je crois qu'il y avait une bidouille assez simple qui permet dans AutoCAd 2005 (seulement) de créer une cote de l'arc (moi j'utilisais cotation angulaire (3 points) pour que ca ressemble à une cote de longueur d'arc et de remplacer la valeur de la cote par un champ de longueur de l'objet arc.

 

Comme ca si il change la valeur se met à jour

 

A plus

 

Eric

 

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois aprè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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité