Aller au contenu

Orientation d\'un tour d\'horizon


Messages recommandés

Posté(e)

Bonjour à tous,

 

Je suis en train de faire une routine pour simplifier le tracé d'un tour d'horizon qui souvent demande du temps, de tracer des cercles, annotations etc.......

 

J'ai un problème avec les gisements, je n'arrive pas dans Autocad à configurer les unités pour que par exemple si j'ai un point avec gisement de 350 gr, la routine me trace un trait du centre de mon tour d'horizon à ce point et donc dans mon quadrant ce trait devrait se trouvait en haut à gauche par rapport au Nord et là il trace le trait en bas à droite donc la valeur de mon angle est complétement erroné. Et même avec une valeur à +/- 200 gr, ca ne correspond pas à l'angle en question que je calcule avec une autre formule de gisement.

 

Il n'y a pas de problème dans mes gisements, j'ai contrôle maintes fois même à la calcultatrice.

J'ai l'impression qu'Autocad pour un gisement réel de 331.209 gr trace un angle de 168.259 gr.

Pourquoi ???

 

Voici un bout de mon code qui je pense pose problème

 

pour les parramètres de configuration

 

 (command "SCU" "G")
(command "-UNITES" 2 4 3 4 300.000g)
(setvar "ANGBASE" 300)
(setvar "ANGDIR" 1)

 

et la formule pour calculer les points

 

 (setq pt_th (polar pt (/ (* gis pi) 200) di))

 

Il doit y avoir un problème avec le pi, ou autre mais je ne vois vraiment pas....

 

Merci par avance de votre aide.

John

Posté(e)

Salut,

 

La fonction polar ne tient pas compte de la valeur des variables AUNITS, ANGDIR, ANGBASE.

 

Elle fonctionne toujours avec des radians, dans le sens trigonométrique, et le 0 à l'est (axe X).

 

 

 

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

coucou

 

si tu nous disait on tu veux en arriver

et surtout de quoi tu pars

 

un fichier excel ?

une géobase ?

autre ?

 

et quel rendu tu souhaites ?

 

avec ces éléments, et le gisement de cerveaux de CadXP

ça va le faire

 

les gisements ça me connait (sans forfanterie)

 

amicalement

Posté(e)

Merci d'avance pour vos réponses aussi rapide.

 

Je pense que Gile a trouvé la solution.

Didier, moi aussi je suis géomètre.

 

Pour ce lisp, je pars d'un fichier excel, d'une feuille où sont stockées des coordonnées XYZ.

A partir de cette feuille, je fais une liste de mes points et je calcule les gisements de la station vers les points rayonnées, jusque là pas de problème

Ensuite, sous Autocad, je trace plusieurs cercles de rayon différents qui représentent des distances fixes 100m 200m .... jusqu'à 1000m et je trace des polylignes de ma station vers les points calculées.

 

Seulement, je veux pouvoir insérer mon graphe n'importe où dans mon dessin d'où la neccessité de recalculer les gisements pour avoir le même tracé que si le centre de mon graphe correspondait au coordonnées de ma station

 

Je vais voir si je m'en sors sinon je reviens vers vous.

Merci encore.

 

John

Posté(e)

Bonjour à toutes et tous,

 

Pourquoi ne pas traiter en coordonnées rectangulaires ?

 

De plus, pour le calcul des points rayonnés, le rattachement de ceux-ci se fait depuis le Gom issus des branches encadrantes de la station (en cas de polygonation, ce qui n'est peut-être pas ton cas,...), comment peut-tu faire ça en polaire depuis AutoCAD ?

 

Je pose la question car je serai également intéressé pour montrer à mes étudiants, mais je n'ai pas trouvé de parade "rapidement" exécutable,...

 

Merci d'avance,

 

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Bonjour Lilli

 

Je dois recalculer les coordonnées rectangulaires de mes points rayonnés car je veux

insérer mon graphe n'importe où dans mon dessin d'où la nécessité de recalculer les gisements

 

Les coordonnées rectangulaires des points sont déjà calculés par V0.

En polaire avec Autocad, c'est

 

(setq pt_di (polar pt (/ (* (- 500 gis) pi) 200) di)) 

avec gi le Gisement en grade et di la distance horizontale, le Z ne m'interresse pas dans ce cas de figure.

 

En esperant avoir répondu à tes questions

 

John

Posté(e)

Re,

 

Ok !

 

Merci de ta réponse,

 

Comment te sers-tu de cette ligne ?

 

Chez moi :

 

Commande: (setq pt_di (polar pt (/ (* (- 500 gis) pi) 200) di)) ; erreur: type

d'argument incorrect: numberp: nil

 

Et ne serais-til pas plus intéressant ici de passer par une matrice de changement de base ? (Translations et rotation éventuelle) ?

 

Merci d'avance,

 

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)

Comment te sers-tu de cette ligne ?

 

Il faut une valeur à di, à gis et les coordonnées de la station sous forme de liste de point du type

 

(setq pt (list "X station" "Y station" "Z si nécessaire ou 0"))

 

et le resultat donne les coordonnes de ton point rayonnes.

 

Le changement de base est inutile dans mon cas.

 

[Edité le 10/2/2011 par chris_mtp]

Posté(e)

Re,

 

tu y tiens à ton changement de base lilli

 

Pas du tout, j'essaye juste de comprendre ta démarche et je dois dire que je n'ai pas encore compris, ;)

 

Sur un logiciel de topo comme covadis, lorsque l'on à ce besoin, c'est ce que l'on fait (changement de base en planimétrie) avec un coefficient de mise à l'échelle de 1 si c'est en système local (systèmes de départ et d'arrivée) et un module général de transformation si c'est pour passer sur un système de projection.

 

Ce sont juste des interrogations de ma part afin moi aussi d'élargir les possibilités de répondre à ce besoin,c'est tout ! :P

Civil 3D 2025 - COVADIS_18.3b

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

Posté(e)
J'ai pu trouver une solution avec

 

 setq gis (- 500 gis))

et ca marche nickel apparemment

Merci Gile Didier

 

John

 

(- 100 gis) aurait suffi, il s'agit en fait de soustraire (parce que ANGDIR = 0) l'angle à la valeur de ANGBASE (ici avant conversion en radians).

 

Cette formule ne fonctionnera donc qu'avec le paramètrage des géomètres (AUNITS = 2, ANGDIR = 1, ANGBASE = 100gr ou 0.785398rd).

 

On peut définir une fonction 'polar' spéciale qui prend en compte tous les paramètres angulaires courants avec laquelle l'argument 'angle' est exprimé en unités angulaire courante et qui fonctionne quels que soit ces paramètres :

 

;; polarSpecial (gile)
;; Comme la fonction native polar mais avec l'angle spécifié en unités angulaires courantes.
;; Prend en compte des valeurs courantes des variables système AUNITS, ANGDIR et ANGBASE.

(defun polarSpecial (pt ang dist)
 (polar pt (angtof (rtos ang 2 16)) dist)
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bon alors on va aller un peu plus loin dans ce cas, cette routine intervient dans le cas d'un releve de maques effectué par la méthode d'horizon.

 

Si par exemple au lieu de mes distances, je désire savoir quels sont les angles d'élevation de mes obstacles et les représenter sur un graphe par exemple, je peux le faire très bien comme çà

un graphe circulaire de ce type

 

http:// http://www.cijoint.fr/cjlink.php?file=cj201102/cijM9gjkks.jpg

 

Je parle de graphe pour l'élevation mais je peux aussi faire ce graphe avec des différentes de hauteur ou des distances ou autres............

 

 

Posté(e)

Gile je viens d'essayer ta fonction et à vrai dire je ne sais pas comment s'en servir

Si je l'utilise tous mes points sont mal orientés.

Par contre, si je paramètre le ANGBASE à 300gr ou à 200 ou même à 0

j'ai le même resultat

 

Si je mets dans ta fonction un angle en grade comme les unités de mon dessin, le point est erroné.

 

Posté(e)

Avec polarSpecial, tu spécifies l'angle comme tu l'entrerais en ligne de commande pour entrer des coordonnées polaires. C'est la fonction angtof qui converti l'angle en radian en intégrant les paramètres ANGBASE et ANGDIR.

 

Quelques exemples avec AUNITS = 2, ANGDIR = 1, ANGBASE = 100gr, le point de base à 0,0, une distances de 1 et quelques angles aux valeurs trigonométriques remarquables :

 

_$ (polarspecial '(0. 0. 0.) (/ 100. 3.) 1.)

(0.5 0.866025 0.0)

_$ (polarspecial '(0. 0. 0.) 50. 1.)

(0.707107 0.707107 0.0)

_$ (polarspecial '(0. 0. 0.) 100. 1.)

(1.0 0.0 0.0)

_$ (polarspecial '(0. 0. 0.) 150. 1.)

(0.707107 -0.707107 0.0)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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é