Aller au contenu

Messages recommandés

Posté(e)

Bonjour à toutes et tous,

 

 

Visiblement TOTOCAD à un petit peu du mal lorsque l'on travaille avec de grandes coordonnées

 

Pour les topos: les projections coniques conformes , pour les autres des coordonnées en x et y a 7 chiffre devant la virgule.

 

 

Dans un fichier de ce type les commandes ajuster/prolonger ne fonctionnent pas.

 

 

Avez vous déjà rencontré ce genre de soucis?

 

Si oui avez vous trouvé une parade ?

 

Cordialement

 

Thierry

Thierry Garré

 

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

Posté(e)

Pas de soucis liés à cela.

Par contre, si tes polylignes ne sont pas à la même altitude, autocad à quelques fois du mal

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Posté(e)

Coucou

 

quand ça se présente,

se mettre dans un SCU proche de l'entité, ne plus en changer

copier*coller depuis 0,0,0 de ce SCU dans un fichier vierge

dans ce fichier coller puis faire l'ajustement

et revenir en copiant-collant le résultat dans le fichier originel

(dans le SCU du copier-coller),(attention à ne pas dupliquer les entités).

 

c'est de la bidouille mais on a un fil à la patte avec ces coordonnées,

il faut bien trouver une parade.

 

amicalement

Posté(e)
C'est bizarre car chez moi, ça fonctionne parfaitement !

Que ce soit sur Map 2011, Map 2012 ou AutoCAD 2013

 

visiblement cela dépend des fichiers , c'est pourquoi j'étai plus a la recherche d'une hypothétique variable???

 

Pas de soucis liés à cela.

Par contre, si tes polylignes ne sont pas à la même altitude, autocad à quelques fois du mal

le probleme n'est pas lié ea ce point , merci tout de même.

 

se mettre dans un SCU proche de l'entité, ne plus en changer

copier*coller depuis 0,0,0 de ce SCU dans un fichier vierge

dans ce fichier coller puis faire l'ajustement

et revenir en copiant-collant le résultat dans le fichier originel

(dans le SCU du copier-coller),(attention à ne pas dupliquer les entités).

 

ben oui c'est bien la solution que j'utilise, mais c'est tout de même pas bien sérieux.

 

 

 

cordialement

Thierry Garré

 

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

Posté(e)
C'est bizarre car chez moi, ça fonctionne parfaitement !

Que ce soit sur Map 2011, Map 2012 ou AutoCAD 2013

 

Moi je confirme ce souci (d'ailleurs déjà évoqué sur le forum).

On le rencontre souvent avec des objets arrondi, par ex: un cercle construit avec TTR, il arrive souvent que l'on ne puisse plus l'ajuster. La commande Raccord pose aussi parfois des problèmes.

La solution de Didier est viable.

Si l'on à pas envie de passer par un fichier intermédiaire avec des copier-coller, on peut enchainer ces lisp pour automatiser un peu. (écrit rapidement)

 

(defun c:before_command ( / )
 (princ "\nSélectionner les objets concernés par la commande récalcitrante: ")
 (setq js (ssget))
 (cond
   (js
     (setq pt_or (getvar "VIEWCTR"))
     (command "_.move" js "" "_none" pt_or "_none" '(0 0 0))
     (command "_.pan" "_none" '(0 0 0) "_none" pt_or)
   )
 )
 (princ "\nExecuter votre commande problèmatique, puis la commande 'after_command' pour retourner à l'état initial")
 (prin1)
)
(defun c:after_command ( / nw_js)
 (cond
   ((and js pt_or)
     (princ "\nSélectionner de nouveau vos objets modifiés : ")
     (setq nw_js (ssget))
     (cond
       (nw_js
         (command "_.move" nw_js "" "_none" '(0 0 0) "_none" pt_or)
         (command "_.pan" "_none" pt_or "_none" '(0 0 0))
         (setq js nil pt_or nil)
       )
     )
   )
   (T (princ "\nLa commande 'before_command' doit être utilisé d'abord."))
 )
 (prin1)
)

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

Posté(e)

Hello

 

Je confirme ces probl aleatoires que l'on retrouve parfois avec les arcs, cercles, ajuster, prolonger, etc

 

Le deplacement verz ZERO, ZERO des entites permet de contourner le probl ...

 

le Lambert 93 avec ses coordonnees en millions va generer un peu plus de souci

que le bon vieux L1/L2/L3/L4 quoique avec le Lambert 2 Etendu, on etait deja avec 7 chiffres !

 

lecrabe

Autodesk Expert Elite Team

Posté(e)

coucou

 

eh oui !

le mieux est l'ennemi du bien !

 

avec ces coordonnées "géantes" il n'y a pas que des problèmes de dessin

surtout quand on sait que la valeur a été choisie sans réelle raison mathématique

mais seulement pour éviter la confusion entre les systèmes.

 

et il ne faut pas oublier de paramétrer les appareils des topos sur le terrain

les "erreurs" ne sont pas indolores, une altération de 80 cm/km, ça vous parle ?

 

et qu'en est-il des valeurs en "virgule flottante" ?

plus la partie entière est élevée moins il reste de place en mémoire pour la mantisse

je pense que (Giles) serait capable de nous en dire plus.

 

amicalement

Posté(e)

Salut,

 

Pour plus de précisions sur les nombres à virgule flottante, voir ici ou .

 

En bref, AutoCAD utilise, pour les nombres réels, des nombres à virgule flottante en double précision. pour ces nombres, on considère que le nombre de chiffres significatifs est de 15 ou 16 (mantisse), la virgule "flottant" au sein de ces chiffres, les 0 de début (nombres à 0) ne sont pas comptabilisés. Ce qui veut dire que pour les nombres "à 7 chiffres" (de l'ordre des millions) on n'a plus que 9 décimales significatives.

La fonction LISP rtos permet de s'en assurer :

(rtos 1.234567890123456789 2 18) retourne "1.234567890123456"

(rtos 1234567.890123456789 2 18) retourne "1234567.890123457"

 

De plus, l'immense majorité des nombres réel est entachée d'une infime erreur due au fait qu'il est impossible de les coder de manière exacte en binaire (base 2). Par exemple 0.001 ne peut être représenté exactement en base 2.

Si on ajoute 10000 fois 0.001, on n'obtient pas exactement 10 :

(setq d 0)

(repeat 10000 (setq d (+ d 0.001)))

(rtos d 2 16) retourne "9.999999999999896"

 

Ces imprécisions, encodage en binaire + arrondi sur 16 chiffres significatifs peuvent augmenter lors d'opérations successives.

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

Posté(e)

Basé sur ce que je pense avoir compris des nombres à virgule flottante en double précision, une petite routine pour calculer la tolérance minimum à appliquer avec la fonction LISP equal quand on compare deux réels.

 

(defun minFuzz (n)
 (if (zerop n)
   1e-14
   (expt 10. (- (fix (/ (log (abs n)) (log 10))) 14))
 )
)

 

(minFuzz 1.234567890123456) retourne 1.0e-014

(minFuzz 1234567.890123456) retourne 1.0e-008

 

Pour comparer deux points en prenant la plus grande tolérance minimale en fonction des coordonnées :

 

(defun equalPoints (p1 p2)
 (equal p1 p2 (minFuzz (apply 'max (mapcar 'abs (append p1 p2)))))
)

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

Posté(e)

Très pratique à la lecture. Bravo !

Quand on programme, on cherche justement souvent ce qu'il faut mettre en fuzz...

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)

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é