CADxp: Visualiser le sens d'une polyligne - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Visualiser le sens d'une polyligne

#1 L'utilisateur est hors-ligne   zebulon_ 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1297
  • Inscrit(e) : 02-mai 03
  • LocationSchnersheim

Posté 09 décembre 2015 - 15:37

Bonjour,

quelques fois, le sens d'une polyligne est importante, mais comment faire pour le visualiser simplement ?
Je n'ai rien trouvé de transcendant, j'ai sans doute mal cherché...

J'ai essayé de pondre quelque chose de mon cru qui dessine des petites flèches le long de la polyligne pour en indiquer son sens. Les fèches sont dessinées avec grvecs et disparaissent après un redess ou une fonction de zoom quelconque.

(defun c:sensobj (/ e obj L TF NBPAS PAS PK sensobj_fl)
  (vl-load-com)
  
  (defun sensobj_fl (PK / PT PM fder PTDERIV PT1 PT2)
    (setq PT (vlax-curve-getpointatdist obj PK))
    (setq PM (vlax-curve-GetParamAtPoint obj PT))
    (setq fder (vlax-curve-getfirstderiv obj PM))
    (setq PTDERIV (mapcar '+ PT fder))
    (setq PT1 (polar PT (+ (angle PT PTDERIV) (* 3 (/ pi 4))) TF))
    (setq PT2 (polar PT (- (angle PT PTDERIV) (* 3 (/ pi 4))) TF))
    ;; les points sont à mettre en SCU local pour grvecs
    (grvecs (mapcar '(lambda (ELEM) (trans ELEM 0 1)) (list PT1 PT PT PT2)))
  )

  (if (setq e (entsel))
    (progn
      (setq obj (vlax-ename->vla-object (car e)))
      (if (vlax-property-available-p obj 'Length)
        (progn
          (setq L (vla-get-length obj))
          (setq TF (/ (getvar "VIEWSIZE") 50.0)) 
          (setq NBPAS (+ (fix (/ L TF)) 1))
          (setq PAS (/ L NBPAS))
          (setq PK 0)
          (while (< PK L)
            (sensobj_fl PK)
            (setq PK (+ PK PAS))
          )
          (sensobj_fl L)
        )
        (alert "Longueur non disponible")
      )
    )  
  )
  (princ)
)


Amicalement
Vincent
C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
1

#2 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11643
  • Inscrit(e) : 21-décembre 05

Posté 09 décembre 2015 - 20:02

Bonsoir à toutes et tous,

Salut Vincent,


Marche super !!

Plus qu'à rajouter l'option d'inverser le sens de la construction de la (ou des)polyligne(s) sélectionnée(s),...Image IPB
AutoCAD MAP 3D 2018 - Covadis 16.0b
Forum : http://genie-civil.bbactif.com/
0

#3 L'utilisateur est hors-ligne   vincentp010 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 575
  • Inscrit(e) : 19-décembre 07

Posté 10 décembre 2015 - 08:14

Bonjour,

Voir le messagezebulon_, le 09 décembre 2015 - 15:37 , dit :

Les fèches sont dessinées avec grvecs et disparaissent après un redess ou une fonction de zoom quelconque.


C'est un peu ce que fait la fonction Covadis COVAPOLYSENS
Pas mal pour ceux qui ne l'on pas.

Image IPB
Aide au téléchargement du cadastre dgfip-download-helper
0

#4 L'utilisateur est en ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 7581
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 10 décembre 2015 - 08:38

Coucou

Pas besoin de Covadis pour inverser les sens d'une polyligne,
La commande PEDIT avec son option I comme Inverser le fait en natif.

Amicalement
Éternel débutant ...
Les bases AutoLisp
0

#5 L'utilisateur est hors-ligne   zebulon_ 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1297
  • Inscrit(e) : 02-mai 03
  • LocationSchnersheim

Posté 10 décembre 2015 - 10:05

Voir le messagedidier, le 10 décembre 2015 - 08:38 , dit :

Coucou

Pas besoin de Covadis pour inverser les sens d'une polyligne,
La commande PEDIT avec son option I comme Inverser le fait en natif.

Amicalement


Bonjour,

ou un clic droit après avoir sélectionné une polyligne. On a un menu contextuel, avec l'option "polyligne", à partir duquel on retrouve les options les plus utiles de la commande PEDIT, notamment l'inversion, comme l'indique très justement didier.

Citation

C'est un peu ce que fait la fonction Covadis COVAPOLYSENS
Pas mal pour ceux qui ne l'on pas.

Je savais bien que je réinventais l'eau chaude, mais je n'ai pas Covadis et je n'ai rien trouvé sur un autocad de base. Personnellement, j'en ai eu besoin pour du ferraillage : des aciers un peu compliqués avec des variations, représentés chacun par 2 polylignes épaisses (le plus grand acier et le plus petit). Tête en l'air, j'ai dessiné le plus petit acier dans un sens et le plus grand dans l'autre. Forcément, la variation des longueurs de chaque segment était fausse ! D'où l'importance de voir le sens de la polyligne et être sûr que tous les aciers de la même famille ont été construits dans le même sens.

Amicalement
Vincent
C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
0

#6 L'utilisateur est hors-ligne   vincentp010 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 575
  • Inscrit(e) : 19-décembre 07

Posté 11 décembre 2015 - 10:41

Voir le messagedidier, le 10 décembre 2015 - 08:38 , dit :

Coucou

Pas besoin de Covadis pour inverser les sens d'une polyligne,
La commande PEDIT avec son option I comme Inverser le fait en natif.

Amicalement


Ça dépend de la version d'autocad. Sur ma 2009 je n'ai pas cette possibilité.
Aide au téléchargement du cadastre dgfip-download-helper
0

#7 L'utilisateur est hors-ligne   zebulon_ 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1297
  • Inscrit(e) : 02-mai 03
  • LocationSchnersheim

Posté 11 décembre 2015 - 11:17

Voir le messagevincentp010, le 11 décembre 2015 - 10:41 , dit :

Ça dépend de la version d'autocad. Sur ma 2009 je n'ai pas cette possibilité.


Bonjour,

Je suis sûr que c'est possible au moins à partir de la version 2011. Mais il semblerais que ce soit aussi possible avec la 2009, à condition d'avoir installé le "Bonus Pack1"...

Voir ce lien

Amicalement
Vincent
C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
0

#8 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 7457
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 11 décembre 2015 - 12:08

Hello

1) OUI le Bonus Pack 1 de la 2009 a introduit la comamnde REVERSE (INVERSER) !
http://heidihewett.b...ad-2009-su.html

2) Cette commande REVERSE (INVERSER) a ete integree dans la version 2010 !!

Bye, lecrabe
Autodesk Expert Elite Team
0

#9 L'utilisateur est hors-ligne   zebulon_ 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1297
  • Inscrit(e) : 02-mai 03
  • LocationSchnersheim

Posté 15 janvier 2016 - 19:09

Bonjour,

(defun c:sensobj (/ e obj L TF NBPAS PAS PK sensobj_fl)
  (vl-load-com)
  
  (defun sensobj_fl (PK / PT PM fder PTDERIV PT1 PT2)
    (setq PT (vlax-curve-getpointatdist obj PK))
    (setq PM (vlax-curve-GetParamAtPoint obj PT))
    (setq fder (vlax-curve-getfirstderiv obj PM))
    (setq PTDERIV (mapcar '+ PT fder))
    (setq PT1 (polar PT (+ (angle PT PTDERIV) (* 3 (/ pi 4))) TF))
    (setq PT2 (polar PT (- (angle PT PTDERIV) (* 3 (/ pi 4))) TF))
    ;; les points sont à mettre en SCU local pour grvecs
    (grvecs (mapcar '(lambda (ELEM) (trans ELEM 0 1)) (list PT1 PT PT PT2)))
  )

  (if (setq e (entsel))
    (progn
      (setq obj (vlax-ename->vla-object (car e)))
      (if (vlax-property-available-p obj 'Length)
        (progn
          (setq L (vla-get-length obj))
          (setq TF (/ (getvar "VIEWSIZE") 50.0)) 
          (setq NBPAS (+ (fix (/ L TF)) 1))
          (setq PAS (/ L NBPAS))
          (setq PK 0)
          (while (< PK L)
            (sensobj_fl PK)
            (setq PK (+ PK PAS))
          )
          (sensobj_fl L)
        )
        (alert "Longueur non disponible")
      )
    )  
  )
  (princ)
)


j'ai corrigé une boulette. Cela ne marchait bien qu'en scu général. En effet grvecs dessine ses segments en scu local alors que les fonctions vlax-curve renvoient des coordonnées en scu général.
Il y a bien un paramètre [trans] dans grvecs, mais je n'ai pas su comment l'utiliser et je suis passé par une fonction (trans PT 0 1)

Amicalement
Vincent
C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)
1

#10 L'utilisateur est hors-ligne   lili2006 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11643
  • Inscrit(e) : 21-décembre 05

Posté 15 janvier 2016 - 19:30

Bonne Année à toutes et tous,

Salut Vincent,

Merci pour le suivi,;)
AutoCAD MAP 3D 2018 - Covadis 16.0b
Forum : http://genie-civil.bbactif.com/
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)