Aller au contenu

raccordements paraboliques


cat

Messages recommandés

Bien le bonjour à tous, je travaille avec AUTOCAD 2006, je sais qu'il n'existe pas de fonction à proprement parlé pour tracer les raccordements paraboliques comme COVADIS le propose, cependant, COVADIS et moi cela fait deux, donc, j'aimerais utiliser AUTOCAD pour faire mon travail, il doit quand même bien exister un "truc" pour pouvoir dessiner ces raccordements paraboliques !

 

Jusqu'à présent, je calculais mes raccordements avec la méthode traditionnelle, c'est à dire avec les bonnes vieilles formules apprises à l'école, une fois que j'avais défini les pentes, rampes, tangentes et autres rayons, j'utilisais la fonction "arc - start - end - direction" et hop ! Le tour était joué, seulement voilà...dernièrement, je me suis aperçue que l'arc en question dépassait la ligne de pente tracée entre 2 sommets de tangentes... résultat, je me suis rendue compte que le fait d'utiliser la fonction arc comme je le faisais habituellement n'était pas correcte.

 

Bref, après ce long discours, existe-t-il un applicatif ou une fonction lisp créée par l'un de vous qui pourrait régler ce problème de précision ?

 

Merci à tous et bonne journée !

 

Cat

Lien vers le commentaire
Partager sur d’autres sites

je n'ais pas de lisp pour cela,

 

mais avoir COVADIS et ne pas l'utiliser c'est dommage car avec c'est tès simple

 

si tu le souhaites je peu t'aider pour créer tes profils en long avec covadis.

Thierry Garré

 

Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap

Lien vers le commentaire
Partager sur d’autres sites

Bonjour et merci Thierry pour ta réponse et ta proposition, seulement voilà, je n'ai pas eu de formation COVADIS, j'ai bien tenté de m'y familiariser seule mais j'y ai tout doucement renoncé par manque de temps, je ne sais pas utiliser ce logiciel correctement.

 

J'ai déjà eu l'occasion de poster dans le forum consacré à COVADIS des demandes d'aide, mais je n'ai malheureusement jamais eu l'occasion d'obtenir des réponses nettes à mes questions et je n'en veux pas à ceux qui ont voulu m'aider, seulement, il est possible que je ne posais pas les bonnes questions.

 

Utililiser COVADIS, c'est vrai que cela me faciliterait la vie mais c'est tellement complexe que cela en devient compliqué.

 

Merci alors à toi si tu veux m'aider, la première question pour bien l'utiliser pour la première fois est la suivante : je possède 2 levés topo, le premier avec les XYZ, l'autre avec les XY et les Z en écriture seulement ; lequel prendre et comment faire ?

 

Tu vois, c'est le démarrage qui me pose problème, donc, tout est à faire !

 

Merci si tu veux bien m'assister dans mes démarches !

 

Cat

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

le premier avec les XYZ, l'autre avec les XY et les Z en écriture seulement ; lequel prendre et comment faire ?

 

Tout dépend de ce que tu veux faire mais de toute façon l'un ou l'autre c'est pareil car tu peux passer à tout moment de la 2D à la 3D =>

 

Covadis 2D => Points topo => Modification des altitudes =>

 

http://images4.hiboox.com/images/0709/1ee82f87ef77d401a3dbb153fcea6268.jpg

 

Tu vois, c'est le démarrage qui me pose problème, donc, tout est à faire !

 

Bien sûr, chaque chose en son tps,.... ;)

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

de base si tu veus faire un projet routier avec COVADIS il va te falloir un MNT donc c'est mieux d'avoir un fichier en 3D

 

Les grandes étapes du travail

 

1 Calage en 3d de la topo (points et lignes de ruptures de pentes)

 

2 Modélisation du terrain naturel et controle de la qualité de ce MNT

 

3 Dessin du projet routier en 2D (surtout si il n'y a pas de clothoides)

 

4 Calcul du projet routier en 3D avec en sous étapes:

 

a définition du projet

b définition axe en plan

c tabulation des profils en travers

d création du profil en long

e création du(des) 1/2 profil type

f affectation du (des) 1/2 profils type

g affectation des points typés 'pour rendre les coupes types elastiques , on verra plus tard)

h calcul du projet

i dessin des profils en travers

j calcul des cubatures

 

 

Voila donc maintenant procédont étape par étape

 

pose des questions détaillées et j'essaierai d'y répondre de façon détaillée

 

 

cordialement

 

maintenant si tu veus une formation cela va souvant plus vite (et pis c'est mon boulot) ;)

 

 

 

 

 

Thierry Garré

 

Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap

Lien vers le commentaire
Partager sur d’autres sites

Thierry, prenons par exemple mon levé topo (XY et Z en écriture donc sans élévation), le levé contient non seulement la voirie, les accotements et talus existants, pour que COVADIS puisse faire le MNT, il a besoin de reconnaître des points et de les immatriculer, si je n'ai pas envie moi de charger mon dessin avec ces matricules, je transforme les textes en Z points et là, ça cale.

 

J'ai déjà essayé par la méthode de chargement de points puisque c'est ce qu'il veux pour dessiner le MNT mais sans succès, que ferais-tu toi si à l'origine tu possèdes un levé comme le mien ?

 

Au départ d'un levé de situation existante, je dois construire ou modifier la configuration d'une route, d'une place publique etc...en plan, donc je dois pouvoir travailler en 2D pour faciliter les raccordements quels qu'ils soient.

 

J'apprécie ta proposition de formation puisque c'est ton métier, mais j'habite en Belgique et de plus je n'ai pas de moyen financiers pour cela, de plus, je ne crois pas que le bureau pour lequel je travaille financera cette formation (mes collègues ont eu la chance d'en suivre une il y a quelques années et je n'ai pu y participé faute de temps)

 

Alors si tu veux bien m'aider pas à pas, j'en serais enchantée !

Lien vers le commentaire
Partager sur d’autres sites

premiere chose a faire de quelle type d'entité sont constitués les points

 

un simple point autocad à z=0 +un texte voisin avec la valeur d'altitude

 

ou

 

un bloc contenant deux attributs ( MAT et ALT )?

Thierry Garré

 

Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Thierry, pour répondre à ta question, il s'agit de simples points autocad à z=0 +un texte voisin avec la valeur d'altitude ; c'est le levé topo que je nomme comme levé XY avec Z en écriture, donc Z=0

 

A bientôt pour la suite !

 

Bonne journée !

 

Cat

Lien vers le commentaire
Partager sur d’autres sites

dans ce cas je te conseille plutot d'utiliser le fichier ou les points sont en 3D.

 

Toutefois il serait possible de remonter ces pints autcad 2D en 3D à partir des texte voisins garce a la commande

 

COV EDITION/POINTS TOOGRAPHQUES/AFFECTE Z SELON TEXTE

 

mais le résultat peut etre aléatoire surtout lorsque les points snt très proche les uns des autres.

 

Nous alons donc trvailler avec le iche 3D

 

Tu doit isoler le calque contenant les points autocad en 3D

Puis lancer la cmmane

 

COVADIS 2D/POINTS TOPOGRAPHIQUES/IMMATRICULATION D'ENTITES

 

Cette commande permet de placer sur chaque points autocad un bloc point topographique COVADIS ce qui sera bien utile ensuite pour reonter en 3D les lignes de ruptures de pente du TN (talus,fossée....)

 

 

à+ pour la suite

 

 

PS LILI 2006 si tu nous lit essaye de déplacer le post vers le forum COVADIS

Thierry Garré

 

Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap

Lien vers le commentaire
Partager sur d’autres sites

il doit quand même bien exister un "truc" pour pouvoir dessiner ces raccordements paraboliques !

 

Je me suis amusé à écrire un petit truc vite fait...

 

Les petites choses à savoir pour qu'il fonctionne correctement.

Le sens de construction des ligne est important (construites de gauche à droite)

L'ordre de sélection des lignes est aussi important (aussi de gauche vers la droite)

La valeur du rayon de raccordement:

négatif -> raccord en bosse

positif -> raccord en creux

 

Il n'en reste pas moins que COVADIS est beaucoup plus adapté pour faire cela, c'est un pis aller pour ceux qu'ils ne le possèdent pas.

 

 

(vl-load-com)
(defun c:rac_parabole ( / js1 js2 obj1 obj2 ename1 ename2 vrt_pt rad pta deriv p1 p2 d2 xt1 yt1 xt2 yt2 xs ys lst_pt xp yp)
 (princ "\nSelectionner la 1ère ligne: ")
 (while (null (setq js1 (ssget "_+.:E:S" '((0 . "LINE")))))
   (princ "\nN'est pas une ligne!")
 )
 (princ "\nSelectionner la 2ème ligne: ")
 (while (null (setq js2 (ssget "_+.:E:S" '((0 . "LINE")))))
   (princ "\nN'est pas une ligne!")
 )
 (setq
   obj1 (ssname js1 0)
   obj2 (ssname js2 0)
   ename1 (vlax-ename->vla-object obj1)
   ename2 (vlax-ename->vla-object obj2)
   vrt_pt (vlax-variant-value (vla-IntersectWith ename1 ename2 3))
 )
 (cond
   ((>= (vlax-safearray-get-u-bound vrt_pt 1) 0)
     (initget 1)
     (setq
       rad (getdist "\nRayon au sommet du raccordement: ")
       pta (vlax-safearray->list vrt_pt)
       deriv (vlax-curve-getFirstDeriv ename1 1)
       p1 (/ (cadr deriv) (car deriv))
       deriv (vlax-curve-getFirstDeriv ename2 1)
       p2 (/ (cadr deriv) (car deriv))
       d2 (abs (* (- p2 p1) rad 0.5))
       xt1 (- (car pta) d2)
       yt1 (+ (* p1 xt1) (- (cadr pta) (* (car pta) p1)))
       xt2 (+ (car pta) d2)
       yt2 (+ (* p2 xt2) (- (cadr pta) (* (car pta) p2)))
       xs (* (+ (- xt1 (* p1 rad)) (- xt2 (* p2 rad))) 0.5)
       ys (* (+ (- yt1 (* p1 p1 rad 0.5)) (- yt2 (* p2 p2 rad 0.5))) 0.5)
       lst_pt (list (list xt1 yt1))
       xp xt1
     )
     (initget 1)
     (setq k (getdist "\nDistance de résolution pour le dessin de la parabole: "))
     (while (< (setq xp (+ xp k)) xt2)
       (setq
         yp (+ ys (/ (expt (- xp xs) 2.0) (* 2.0 rad)))
         lst_pt (cons (list xp yp) lst_pt)
       )
     )
     (setq lst_pt (cons (list xt2 yt2) lst_pt))
     (command "_.pline")
     (foreach n lst_pt (command "_none" n))
     (command "" "_.circle" "_none" (list xs ys) k)
   )
   (T (princ "\nLes lignes sont parralèles."))
 )
 (prin1)
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bien le bonjour à vous qui essayez de m'aider dans mes démarches, petite question à BONUSCAD : comment utiliser ce que tu as écris ? S'agit-il d'un lisp ? Dans l'affirmative, comment dois-je faire pour le rendre exécutif ? Je remarque également que tout est écrit en français, donc je suppose que pour ma version anglaise d'autocad 2006, il faut l'adapter ?

Merci pour ta réponse et à bientôt pour la suite !

Cat

Lien vers le commentaire
Partager sur d’autres sites

tout est écrit en français, donc je suppose que pour ma version anglaise d'autocad 2006, il faut l'adapter ?

 

Non, il devrait fonctionner car les commandes appelées sont internationalisées.

 

S'agit-il d'un lisp ? Dans l'affirmative, comment dois-je faire pour le rendre exécutif ?

 

Oui, Tu copies-colles le code (tout ce qui est en format listing dans ma réponse) dans le Bloc-note (Notepad). Tu enregistres ceci avec l'extension .LSP exemple : rac_parabole.lsp.

Pour le charger tu fais glisser le fichier de l'explorateur windows dans la fenêtre graphique d'autocad. (il y a d'autre manière, faire une recherche sur le site)

 

Une fois chargé, tu tapes RAC_PARABOLE en ligne de commande.

 

 

 

je ne comprend pas la seconde requète :

"Distance de résolution pour le dessin de la parabole"

 

La parabole est dessinée avec une polyligne, la distance de résolution est donc l'interdistance entre chaque sommet de celle-ci. Plus le pas de résolution sera petit, plus le dessin de celle-ci ressemblera à une parabole, mais la polyligne aura beaucoup de sommets.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Merci BONUSCAD pour ce lisp ! Ca marche dis donc !

Mais seulement voilà, lorsque je lance l'application, le dessin de la parabole se dessine bien mais ne correspond pas du tout à l'échelle de mon dessin, je m'explique :

Pour le profil en long, je travaille toujours avec des échelles anamorphiques, soit l'échelle des hauteurs =1/100 et celle des longueurs = 1/500.

Que dois-je faire pour que ce raccordement colle avec mes données ?

Merci pour ta réponse !

Cat

Lien vers le commentaire
Partager sur d’autres sites

je travaille toujours avec des échelles anamorphiques, soit l'échelle des hauteurs =1/100 et celle des longueurs = 1/500.

Que dois-je faire pour que ce raccordement colle avec mes données ?

 

Je me suis arrêté purement à la résolution graphique de la parabole.

Je pense qui faut simplement fournir la conversion du rayon de raccordement à l'échelle anamorphique du profil en long, et non celle du raccordement réel pour obtenir la bonne représentation.

Réponse non testé :P

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Non par forcément,

 

par exemple pour ton échelle 500 / 100

 

pour dessiner une parabole de rayon 475m réel, divise sa valeur par 2.5 -> soit 190m

 

Toujours pas testé...

 

Oups!!! pour toi 100 / 500 (l'inverse) essayes de diviser la valeur par 0.02

 

Tient moi au courant si c'est bon, je pourrais peut être intégrer les conversions d'échelle dans le lisp.

 

[Edité le 13/2/2009 par bonuscad]

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bon j'ai essayé quelque chose pour intégrer la déformation d'échelle.

Je ne suis pas sur à 100% de moi, mais les quelques tests que j'ai effectué rapidement ont l'air correct.

 

Voici la mouture

 

(vl-load-com)
(defun c:rac_parabole ( / js1 js2 obj1 obj2 ename1 ename2 vrt_pt ks rad pta deriv p1 p2 d2 xt1 yt1 xt2 yt2 xs ys lst_pt xp yp)
 (princ "\nSelectionner la 1ère ligne: ")
 (while (null (setq js1 (ssget "_+.:E:S" '((0 . "LINE")))))
   (princ "\nN'est pas une ligne!")
 )
 (princ "\nSelectionner la 2ème ligne: ")
 (while (null (setq js2 (ssget "_+.:E:S" '((0 . "LINE")))))
   (princ "\nN'est pas une ligne!")
 )
 (setq
   obj1 (ssname js1 0)
   obj2 (ssname js2 0)
   ename1 (vlax-ename->vla-object obj1)
   ename2 (vlax-ename->vla-object obj2)
   vrt_pt (vlax-variant-value (vla-IntersectWith ename1 ename2 3))
 )
 (cond
   ((>= (vlax-safearray-get-u-bound vrt_pt 1) 0)
     (initget 8)
     (setq ks (getpoint "\nEchelle du profil en long <1000,100>: "))
     (if (not ks) (setq ks '(1000.0 100.0)))
     (setq ks
       (*
         (/ (cadr ks) 1000.0)
         (/
           (/ (car ks) (cadr ks))
           (/ (cadr ks) (car ks))
         )
       )
     )
     (initget 1)
     (setq
       rad (/ (getdist "\nRayon au sommet du raccordement: ") ks)
       pta (vlax-safearray->list vrt_pt)
       deriv (vlax-curve-getFirstDeriv ename1 1)
       p1 (/ (cadr deriv) (car deriv))
       deriv (vlax-curve-getFirstDeriv ename2 1)
       p2 (/ (cadr deriv) (car deriv))
       d2 (abs (* (- p2 p1) rad 0.5))
       xt1 (- (car pta) d2)
       yt1 (+ (* p1 xt1) (- (cadr pta) (* (car pta) p1)))
       xt2 (+ (car pta) d2)
       yt2 (+ (* p2 xt2) (- (cadr pta) (* (car pta) p2)))
       xs (* (+ (- xt1 (* p1 rad)) (- xt2 (* p2 rad))) 0.5)
       ys (* (+ (- yt1 (* p1 p1 rad 0.5)) (- yt2 (* p2 p2 rad 0.5))) 0.5)
       lst_pt (list (list xt1 yt1))
       xp xt1
     )
     (initget 1)
     (setq k (getdist "\nDistance de résolution pour le dessin de la parabole: "))
     (while (< (setq xp (+ xp k)) xt2)
       (setq
         yp (+ ys (/ (expt (- xp xs) 2.0) (* 2.0 rad)))
         lst_pt (cons (list xp yp) lst_pt)
       )
     )
     (setq lst_pt (cons (list xt2 yt2) lst_pt))
     (command "_.pline")
     (foreach n lst_pt (command "_none" n))
     (command "" "_.circle" "_none" (list xs ys) k)
   )
   (T (princ "\nLes lignes sont parralèles."))
 )
 (prin1)
)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

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é