Aller au contenu

Messages recommandés

Posté(e)

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.

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é