Annonces

Announcement: We’re aware of an issue affecting starting a new topic from category pages and creating new blog posts. New topics can still be started directly from the relevant board. Learn more here.

Coordonnés bloqués par le SCU ?

Coordonnés bloqués par le SCU ?

Anonymous
Non applicable
1 190 Visites
10 Réponses
Message 1 sur 11

Coordonnés bloqués par le SCU ?

Anonymous
Non applicable

Bonjour, 

 

Je ne sais pas exactement d'où vient mon problème donc je suis obligée de vous expliquer la manipulation effectuée. 

Je suis en train de faire un plan qui se base sur une xref. 

Le bâtiment ayant un angle de 39° et des poussière, je fait un SCU pour pouvoir travailler et décalquer mes traits directement depuis ma xref.

Après avoir décalqué je veux positionner tous mes points de base de chaque ligne à une coordonnée ronde (à 1 ou 0,5 près afin d'éliminer tous les chiffres après la virgule qui ne servent à rien). 

Je sélectionne donc ma ligne et rentre dans les propriété pour changer ses coordonnées comme je le souhaite (230 par exemple) mais AutoCad n'en fait qu'à sa tête et m'indique une coordonnée à 230,00000006 par exemple ou 229,99999988.

De plus, en traçant une ligne en mode ortho de longueur 250 par exemple, sa longueur (d'après les propriétés) sera en réalité de 250,00000012 par exemple avec une différence en X, en Y  mais pas de différence en Z.

Lorsque je fais la manipulation de la ligne en SCG (donc en dehors du SCU créer) ma ligne ce trace bien correctement.

J'en déduis que le problème vient bien du SCU mais pourquoi ? Quel est le problème et comment le régler ? 

 

Merci pour vos réponses futures. 

0 J'aime
1 191 Visites
10 Réponses
Replies (10)
Message 2 sur 11

_gile
Consultant
Consultant

Salut,

 

Le problème est dû au codage des nombres réels qui génère une très légère imprécision (arrondi au 15° ou 16° chiffre significatif) pour les nombres qui ne sont pas convertible en base 2. Cette imprécision est inévitable, de la même manières qu'on ne peut pas exprimer PI ou 1/3 de façon juste en système décimal, on ne peut pas exprimer de manière just la plupart des nombres réels.

 

Par exemple, 0.625 est convertible en base 2 :

0.625 =  1/2 + 1/8 soit 0.5 + 0.125

ce qui donne en binaire : 0.101

 

Mais 0.6 n'est pas convertible (ça ne tombe pas juste)

0.6 = 1/2 + 1/16 + 1/32 + 1/256 + 1/512 1/4096 + 1/8192... soit 0.5 + 0.0625 + 0.03125 + 0.00390625 + 0.001953125 ...

ce qui donne en binaire : 0.xxx-xxxxxxxx...

 

Il est donc nécessaire d'arrondir ces nombres en fonction de la quantité de mémoire allouée (64 bits).

Pour relativiser les choses, dis toi que si tu obtiens 230,00000006 pour 230 mètres, l'imprécision n'est que de 0.06 microns.



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 3 sur 11

reb_c2
Mentor
Mentor

onjour,

 

A tout hasard, peux-tu m'indiquer la valeur de la variable système OSNAPCOORD ?

 

Je remercie.

 

Christian


Formateur Indépendant, Consultant, AutoCAD, AutoCAD LT, REVIT MEP, INVENTOR -
www.rebcao.fr

Christian REB

0 J'aime
Message 4 sur 11

Anonymous
Non applicable

_gile,

 

Merci pour votre réponse.

 

rebcao,

 

Merci à vous aussi pour votre réponse. La valeur de OSNAPCOORD est sur 2.

A quoi correspond cette variable ?

 

0 J'aime
Message 5 sur 11

reb_c2
Mentor
Mentor

Bonjour,

 

OSNAPCOORD est une variable qui si elle est = 0 !!! On a beau entrer des cotes ou des coordonnées précises AutoCAD va chercher à s'accrocher au objets se trouvant autour du point indiqué !

 

Idéalement, la valeur doit rester sur  1 (voir 2) jamais 0...

 

Christian


Formateur Indépendant, Consultant, AutoCAD, AutoCAD LT, REVIT MEP, INVENTOR -
www.rebcao.fr

Christian REB

0 J'aime
Message 6 sur 11

O_Eckmann
Mentor
Mentor

Bonjour,

 

Pourquoi pas un export en DXF avec 0 décimales pour supprimer d'un coup toutes les décimales.

 

Olivier

Olivier Eckmann

EESignature

0 J'aime
Message 7 sur 11

reb_c2
Mentor
Mentor

Bonjour,

 

J'ai essayé de reproduire les phénomènes que tu expliques ! Impossible d'obtenir les erreurs de précision que tu décrit !!!

 

Je tape une coordonnée en X ! Je tape 230 et les Propriétés affichent bien 230 (unités réglées à 8 décimales)...

 

Je crée une ligne de 500 de long ! Je tape 500 et Propriétés affiche bien 500...

 

Pourrais-tu publier ton dessin ?

 

Merci

 

Christian


Formateur Indépendant, Consultant, AutoCAD, AutoCAD LT, REVIT MEP, INVENTOR -
www.rebcao.fr

Christian REB

0 J'aime
Message 8 sur 11

Anonymous
Non applicable

Bonjour, 

 

J'ai oublié ce préciser que le dessin est extrêmement loin du 0,0,0 SCG. 

Si vous vous mettez à 150000,650000,0 du SCG  vous devriez avoir le problème je pense. 

J'en ai déduis que c'était un problème de précision quand le dessin est trop loin du point 0,0 de Autocad car j'ai déplacé mon plan à proximité du point 0,0 et je n'ai plus de problème de précision. 

 

0 J'aime
Message 9 sur 11

-didier-
Advisor
Advisor

Coucou

 

ces soucis de grandes valeurs sont bien connus mais en l'occurrence je cherche aussi à reproduire ce qui est dit mais sans le résultat qui va dans le sens de l'imprécision citée !

 

je demande une ligne de 230 unités très loin du 0,0,0 :

 

20-10-2019 17-57-48.png20-10-2019 17-57-48.png

 

Amicalement

Éternel débutant.. my site for learning : Programmer dans AutoCAD

DA

EESignature

0 J'aime
Message 10 sur 11

Anonymous
Non applicable

Didier, 

 

Pour info mon dessin est en centimètre.

Pa exemple ma ligne a cette géométrie (photo) et quand je change manuellement dans les propriétés la valeur de Extrémité Y à 1420, il me remet 1419,9999994 automatiquement.

Si je met Extrémité Y à 1419 il me change extrémité X à 6389,00000012 et si j'essaie de changer cette valeur par 6389 il me remet 6389,00000012.

Si je laisse 6389,00000012 en Ext X, je peux remettre Ext Y à 1420, il accepte mais si je change ensuite 6389,00000012 pour 6389 il change Ext Y de 1420 à 1419,9999994.

 

Cordialement.

0 J'aime
Message 11 sur 11

patrick.emin
Alumni
Alumni

Bonjour @Anonymous 

Si une des réponses résout votre problème ou vous a permis de mieux le comprendre, voulez vous avoir l'amabilité de cliquer sur le bouton "Approuver la solution" en bas de la réponse qui apporte une solution?

Merci de ne pas accepter comme solution le message que vous êtes en train de lire.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
0 J'aime