Aller au contenu

Gérer l\'ordre d\'affichage par objet \"Entité\"


Messages recommandés

Posté(e)

Bonjour,

 

Merci pour la reponse, mais heureusement pour moi que je connaissais.

 

En fait ce que je recherche c'est la possibilité de gérer l'ordre des objets via une interface graphique de type liste des objet et mise en surbrillance des objets lorsqu'ils sont sélectionnés dans la liste. puis de gérer l'ordre de la liste en faisant passer les objets de la liste vers la haut ou le bas.

 

cordialement,

 

Laurent

 

Posté(e)

Je ne sais pas si j'ai bien saisis le sens de ce que doit contenir ta liste, mais tu peux faire un groupe de tes objets, il sera en surbrillance à la sélection, et tu pourra changer son ordre de tracé.

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)

Salut ;

 

J'ai appris il y a peu par où passer.

C'est par

 

Pour aller plus loin (et non pas Routines) aurait été le bon forum :cool:

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut

 

Salut ;

 

J'ai appris il y a peu par où passer.

C'est par

 

Pour aller plus loin (et non pas Routines) aurait été le bon forum :cool:

Merci, je n'avais pas encore fait le rapprochement avec le dictionnaire SORTENTS

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Salut,

 

lovecraft,

 

je ne comprends pas bien ta demande, tu voudrais sélectionner un type d'entité (polyligne, hachure, etc.) dans une boite de dialogue, que toutes les entités de ce type soient sélectionnées et ensuite les mettre "en avant" ou "en arrière", c'est ça ?

Tu peux d'ores et déjà utiliser SSE (ou SSM ou encore SSMM) de Special_Selection puis le menu contextuel.

 

En attendant, voilà toujours ma petite librairie Visual LISP pour les ordres de tracé :

;; gc:GetSortentsTable
;; Retourne la table d'ordre de tracé du block record (bloc ou espace)
;;
;; Argument
;; block : le block record

(defun gc:GetSortentsTable (block / sort)
 (cond
   ((gc:GetObject (vla-GetExtensionDictionary block) "ACAD_SORTENTS"))
   ((vla-AddObject
      (vla-GetExtensionDictionary block)
      "ACAD_SORTENTS"
      "AcDbSortentsTable"
    )
   )
 )
)

;; gc:MoveToTop
;; Place les objets en avant (draworder)
;;
;; Argument
;; blk : le block record auquel appartiennent les objets
;; olst : liste des objets à placer en avant (vla-objects)
(defun gc:MoveToTop (blk olst)
 (vlax-invoke (gc:GetSortentsTable blk) 'MoveToTop olst)
)

;; gc:MoveToBottom
;; Place les objets en avant (draworder)
;;
;; Argument
;; blk : le block record auquel appartiennent les objets
;; olst : liste des objets à placer en arrière (vla-objects)
(defun gc:MoveToBottom (blk olst)
 (vlax-invoke (gc:GetSortentsTable blk) 'MoveToBottom olst)
)

;; gc:MoveAbove
;; Place les objets devant l'objet cible (draworder)
;;
;; Argument
;; blk : le block record auquel appartiennent les objets
;; olst : liste des objets à placer devant (vla-objects)
;; targ : objet cible (vla-object)
(defun gc:MoveAbove (blk olst targ)
 (vlax-invoke (gc:GetSortentsTable blk) 'MoveAbove olst targ)
)

;; gc:MoveBelow
;; Place les objets derrière l'objet cible (draworder)
;;
;; Argument
;; blk : le block record auquel appartiennent les objets
;; olst : liste des objets à placer derrière (vla-objects)
;; targ : objet cible (vla-object)
(defun gc:MoveBelow (blk olst targ)
 (vlax-invoke (gc:GetSortentsTable blk) 'MoveBelow olst targ)
)

;; gc:SetRelativeDrawOrder
;; Place les objets dans l'ordre de la liste
;;
;; Argument
;; blk : le block record auquel appartiennent les objets
;; olst : liste des objets à trier (vla-objects)
(defun gc:SetRelativeDrawOrder (blk olst)
 (vlax-invoke (gc:GetSortentsTable blk) 'SetRelativeDrawOrder olst)
)

;; gc:GetObject
;; Retourne un objet du dictionnaire d'après son nom (ou nil)
(defun gc:GetObject (dict name / obj)
 (vl-catch-all-apply
   '(lambda () (setq obj (vla-GetObject dict name)))
 )
 obj
)

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

Posté(e)

Existe t il un programme pour gérer l'ordre d'affichage des objets

 

Le circonstances d'application d'un tel programme, sont très importantes.

 

La gestion de ces dits objets peut se révéler un vrai casse tête.

Veux tu ne pas perdre ce classement lors d'une réouverture du dessin ?

Ou est ce un besoin ponctuel de session ?

 

Le premier cas pourrait exiger d'utiliser les handles des objets pour pouvoir les retrouver lors d'une session ultérieure. Certainement aussi à des réacteurs, ca se complique...

 

Tes objets peuvent ils aussi être aussi être superposés? (objet filaire d'épaisseur différente exactement l'un sur l'autre)

Cette possibilité complique aussi la sélection des objets durant la routine.

 

Et certainement d'autres cas aux quel je n'ai pas pensé; multi-fenêtres vplayers différent !....

 

Pas simple, pas simple.

 

 

 

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

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é