Aller au contenu

"Zoom" "Objet" tout petit


PATRICE69

Messages recommandés

Bonjour,

Lorsque j'effectue la commande "zoom" "objet" :

Sur un dessin léger (10 objets à l'écran), cela zoome (objet) comme il faut.

Sur un autre dessin plus dense (corps de rue 1km), le zoom objet est tout petit (1/10 de l'écran)

Que dois je corriger ?

Merci

Patrice

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @PATRICE69

Tel que c'est expliqué, j'ai essayé de reproduire le souci puisqu'il n'y a pas de DWG soumis pour tester sur le même fichier.
Il m'est impossible de reproduire ce qui est reproché, je suis allé jusqu'à des fichiers de plus de 500 000 entités.

Pistes de recherches :

  • L'entité cliquée fait-elle partie d'un bloc ?
  • L'entité cliquée fait-elle partie d'un groupe ?


 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @PATRICE69

Comme d'habitude, il faut utiliser les essais/erreurs et revenir en arrière à chaque test pour être certain d'avoir trouvé le souci.

Certes, il y a des objets en type de continu, mais mêmes modifiés, pas de zoom objet.
Il y a aussi des objets dans des calques gelés assez loin du reste du dessin, mais même effacés, pas de zoom objet.
Il y a des objets Covadis (proxy), mais même effacés, pas de zoom objet.

Le seul test qui rend le zoom objet fonctionnel est de se dédouaner des grandes valeurs de coordonnées.
En déplaçant TOUT depuis le centre du dessin vers 1000,2000 (valeurs d'exemple), le zoom objet redevient fonctionnel.

Ce n'est pas la première fois que ces valeurs de coordonnées (Lambert sans doute) font cafouiller le logiciel qui n'en peut plus de travailler avec des valeurs numériques en millions.
Il arrive même que certaines commandes, prolonger, ajuster se mettent à cafouiller à cause de ces valeurs.

 

PS : vous avez vérifié @MamyTina votre réponse ?, car je n'ai pas remarqué que ça résolvait le problème évoqué.

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

@MamyTina, @PATRICE69

J'ai essayé, non cela ne fonctionne pas mieux
Il faut toujours tester avant de répondre quelque chose d'erroné sur un forum !
une fois que c'est écrit, des gens peuvent lire et dire que le forum est bidon, ce qui n'est pas le cas.

 

J'ai déplacé en 0,0, cela ne fonctionne pas mieux.

J'ai testé et le changement est radical
Il faut le faire en 0,0,0 du SCU Général, ce que je n'ai pas dit, pardon.
Merci de revenir confirmer si ça fonctionne.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @PATRICE69,

 

Avec les grandes coordonnées, le zoom objet ne sait pas calculer correctement l'emprise. 

En partant de cette proposition de Gilles dans cette discussion https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/zoom-object-problem/td-p/5031146, on peut proposer ce lisp qui fonctionne quelque soit le SCU et les coordonnées.

; Code de gilles Chanteau proposé dans cette discussion
; https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/zoom-object-problem/td-p/5031146
(defun gc:TMatrixFromTo	(from to)
  (append
    (mapcar
      (function
	(lambda	(v o)
	  (append (trans v from to T) (list o))
	)
      )
      '((1. 0. 0.) (0. 1. 0.) (0. 0. 1.))
      (trans '(0. 0. 0.) to from)
    )
    '((0. 0. 0. 1.))
  )
)

(defun zoomObjects (ss / i obj minPt maxPt ll ur)
  (vl-load-com)
  (or *acad* (setq *acad* (vlax-get-acad-object)))
  (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*)))
  (setq  wcs2ucs (vlax-tmatrix (gc:TMatrixFromTo 0 1))
         ucs2wcs (vlax-tmatrix (gc:TMatrixFromTo 1 0))
         )
  (repeat (setq i (sslength ss))
    (setq obj (vlax-ename->vla-object (ssname ss (setq i (1- i)))))
    (vla-TransformBy obj ucs2wcs)
    (vla-GetBoundingBox
      obj
      'minPt
      'maxpt
    )
    (vla-TransformBy obj wcs2ucs)
    (setq ll (cons (vlax-safearray->list minPt) ll)
          ur (cons (vlax-safearray->list maxPt) ur)
    )
  )
  (vla-ZoomWindow
    (vlax-get-acad-object)
    (vlax-3d-point (trans (apply 'mapcar (cons 'min ll)) 1 0))
    (vlax-3d-point (trans (apply 'mapcar (cons 'max ur)) 1 0))
  )
)

(defun C:ZOO ()
  (zoomObjects (ssget))
)

J'ai nommé la commande ZOO car la commande ZO existe déjà dans Covadis mais elle ne permet que de sélectionner un seul objet.

Sans Covadis elle peut être renommée à volonté.

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é