chris_mtp Posté(e) le 5 juillet 2009 Partager Posté(e) le 5 juillet 2009 Bonjour à tous, Je dois réaliser plusieurs cotations de plusieurs polylignes 2D avec pour côte maximale 20m à chaque fois.Je m'explique : Il me faut une cotation tous les 20m le long de mes polylignes 2D.Si par exemple j'ai une polyligne constitué de trois sommets et que mon premier segment fait 63.45m, et bien il me faudrait 4 cotations sur mon premier segment avec 3 cotations alignés de 20m et une derniere cotation de 3.45m de manière à respecter une cotation ts les 20m de ma polyligne. Un bon schéma valant mieux qu'un long discours. http://www.cijoint.fr/cjlink.php?file=cj200907/cijKmkoDc0.jpg Et voici le lisp sur lequel je suis en train de modifer mais en vain. (defun c:lwc_dim ( / js ent dxf_ent lst_pt AcDoc Space) (princ "\nSélectionner la polyligne à coter. ") (setq js (ssget "_+.:E:S" '((0 . "LWPOLYLINE")))) (cond (js (vl-load-com) (setq dxf_ent (entget (setq ent (ssname js 0))) lst_pt (mapcar '(lambda (x) (trans x ent 1)) (mapcar 'cdr (vl-remove-if '(lambda (x) (/= (car x) 10)) dxf_ent))) ) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (while (cdr lst_pt) (vla-addDimAligned Space (vlax-3d-point (car lst_pt)) (vlax-3d-point (cadr lst_pt)) (vlax-3d-point (polar (mapcar '* (mapcar '+ (car lst_pt) (cadr lst_pt)) '(0.5 0.5 0.5)) (+ (angle (car lst_pt) (cadr lst_pt)) (* pi 0.5)) (* 10 (getvar "DIMTXT")) ) ) ) (setq lst_pt (cdr lst_pt)) ) ) ) (prin1) ) Pour le lisp, le mieux serait de définir la valeur de cotation maximale à utiliser, c'est à dire une cotation tous les 20m ou tous les 40m puis de sélectionner la polyligne 2D à côter. De plus, un autre question, comment faire lorsqu'on modifie certaines valeurs des variables du style de côte comme (setvar "DIMASSOC" 1)(setvar "DIMEXO" 0.0625)(setvar "DIMPOST" "m") ces valeurs s'appliquent au style de côte courant ? Merci par avance de votre aide.John. 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