rimbo Posté(e) le 12 mars 2004 Auteur Posté(e) le 12 mars 2004 désolé didier, je vais faire de vigoureux efforts pour etre plus clair mais tu as la réponse, les cordes comme tu dis je les ai déjà fait mais si un programme les traces c'est encore mieux.merci...je me vais me pencher sur le prog pour bien progresser ;) 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
didier Posté(e) le 12 mars 2004 Posté(e) le 12 mars 2004 Bonjour RimboTu vois qu'il est possible de s'expliquer clairement,sans vantardise aucune, c'est pas le genre de la maison,je suis certain que mon exemple a été compris de la plupart,par opposition à ton message initial.Donc pour en revenir à ton souci de lignes,envoie moi un message privé, pour s'échanger nos courrielsi je reçoit un dwg exemple, je termine le truc ce week endet lundi tu pourra frimer au bureau.amicalement ciao !!! Éternel débutant... Mon site perso : Programmer dans AutoCAD
rimbo Posté(e) le 18 mars 2004 Auteur Posté(e) le 18 mars 2004 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'arcla 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 identiquesje 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
Patrick_35 Posté(e) le 18 mars 2004 Posté(e) le 18 mars 2004 Pour ecrire dans ton fichier, tu as oublié de mettre le :, soit (setq l (open "c :/Documents and Settings/lperrin/Mes documents/text ligne.txt" "w")) et pour fermer le fichier, il faut faire un close sur la variable, soit (close l) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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