Aller au contenu

Messages recommandés

Posté(e)

Les différentes longueurs des lignes que tu veux mesurer,

sont les "CORDES" de l'arc.

la première est la liaison entre les deux extrémités de l'arc

la deuxième est la première 10 centimètres plus haut et ainsi de suite ...

 

et on va faire un joli tableau pour la réponse.

 

didier avait bien compris ainsi que patrick_35, voir plus haut.

 

j'ai modifié avec les infos le prog pour arriver à ça, mais la liste ort sous autocad et non sur un fichier texte créer ????

 (defun c:lligne(/ ent entselec n pa pd)
(setq ent (ssget))
(setq l (open "c/Documents and Settings/lperrin/Mes documents/text ligne.txt" "w"))
(if ent
(progn
(setq n 0)
(while (ssname ent n)
(setq entselec (entget (ssname ent n)))
(if (= (cdr (assoc 0 entselec)) "LINE")
(progn
(setq pd (cdr (assoc 10 entselec)))
(setq pa (cdr (assoc 11 entselec)))
(setq longueurent (distance pd pa))
;;;;;; (alert (strcat "La longeur de l'entité " (itoa n) " est de "))
(write-line (rtos longueurent) l)
)
)
(setq n (1+ n))
)
)
)
(close "c/Documents and Settings/lperrin/Mes documents/text ligne.txt" )
(princ)
)

 

Mais le problème vient de ce compliquer : je vais essayer d'être clair....

 

toutes ces cordes sont placer l'axe Y. Pour toutes les cordes qui passent sur le même axe Y il me faut l'addition de toutes ces cordes de même altitudes sur l'ensemble du projet...

 

ex : sur la coordonnée Y (0,9.10) il me faut l'ensemble des cordes passant par cette coordonnée.

 

Il me faudrait donc en plus de récupérer les longueurs de chaque corde, récupérer aussi la valeur Y et additionner toutes les longueurs qui ont un Y identiques

je vois a peut près comment faire mais ces les conditions ou je sèche un peu

Merci si le coup de main et possible...

 

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Posté(e)

bon on vient de trouver une commande sous covadis qui gère les listes de polyligne avec coordonnées et longueur.

Je vais voir avec ça pour le moment.

Dors ce soir et profite de te poser un peu didier, faut pas faire une surchauffe merci et je te tiens au courant demain.

Si tu peux me renvoyer un mail, car les joies des messagerie ma perdu ton adresse merci ;)

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Posté(e)

voila l'amélioration mais ça beugue!!!!

 

 (defun c:lligne(/ ent entselec n pa pd)
(setq ent (ssget))
(setq l (open "c:/Documents and Settings/lperrin/Mes documents/text ligne.txt" "w"))
(if ent
(progn
(setq n 0)
(while (ssname ent n)
(setq entselec (entget (ssname ent n)))
(if (= (cdr (assoc 0 entselec)) "LINE")
(progn
(setq pd (cdr (assoc 10 entselec)))
(setq pa (cdr (assoc 11 entselec)))
(setq yd (cdr (assoc 20 entselec)))       la je veux extraire la coordonnée Y
(setq longueurent (distance pd pa))
;;;;;; (alert (strcat "La longeur de l'entité " (itoa n) " est de "))
(write-line (rtos longueurent yd) l)
)
)
(setq n (1+ n))
)
)
)
(close l)
(princ)
)

Ca bloque encore et je ne sais pas vraiment si je peux mettre plus de condition....

Le mieux pour récupérer plusieurs info le mieux c'est cond ou if

 

 

 

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Posté(e)

bonjour Rimbo

 

sans savoir ce que tu fait,

pour "pa" c'est ok :

(setq pa (cdr (assoc 11 entselec)))

en revanche je vois un souci sur cette ligne :

(setq yd (cdr (assoc 20 entselec))) la je veux extraire la coordonnée Y

pour extraire le "y" du point, il s'agit du deuxième champ de la liste "pa"

donc :

(setq yd (cadr pa))

essaie çà, et continue sur le chemin obscur du Lisp :D

 

si tu veux, on voit çà ce week end

amicalement

Posté(e)

merci pour le coup de main, le week end j'aimerai bien mais j'ai pas de PC suffisament puissant pour avoir internet chez moi et encore moin pour autocad.

je fais tout du bureau et ce soir je vais rester assez tard.

tu comprend toujours pas ce que je veux faire....

je dois etre vraiment lourd alors.

 

j'essaie a nouveau :

 

as-tu reçu mon dernier plan 03064_PROFILS-3 ou tu n'as plus que les arcs et les cordes.

Je veux extraire les longueurs de chaque cordes et son Y.

 

ensuite soit je demande au programme de faire l'addition de toutes les cordes ayant une coordonnée Y identiques

 

soit je met le tout sous un tableau excel et je fais moi même l'addition des cordes qui ayant une coordonnée Y identique

 

ça va mieux là, ou alors on s'apelle....

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Posté(e)

premiere solution que je compte bien complété :

 

 (defun c:lligne(/ ent entselec n pa pd yd)
(setq ent (ssget))
(setq l (open "c:/Documents and Settings/lperrin/Mes documents/text ligne.txt" "w"))
(if ent
(progn
(setq n 0)
(while (ssname ent n)
(setq entselec (entget (ssname ent n)))
(if (= (cdr (assoc 0 entselec)) "LINE")
(progn
(setq pd (cdr (assoc 10 entselec)))
(setq pa (cdr (assoc 11 entselec)))
(setq longueurent (distance pd pa))
(setq yd (cadr pa))
;;;;;; (alert (strcat "La longeur de l'entité " (itoa n) " est de "))
(write-line (strcat (rtos longueurent) "," (rtos yd)) l) 
)
)
(setq n (1+ n))
)
)
)
(close l)
(princ)
)

ça marche très bien, prochaine étape addition de toutes les cordes ayant une coordonnées Y identiques.

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

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é