Aller au contenu

J\'en demande trop ?


winfield

Messages recommandés

Bonsoir à tous,

Pour un besoin très spécifique, je cherche à rendre non-imprimable certaines entités qui ne peuvent pas être dans un calque à part ni dans une couleur à part.

Par non-imprimable, je veux dire qu'il faut que les entités restent manipulable.

Qqn a une idée ?

Merci

Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Si 'ai bien compris je pense aux groupes!!

Sinon j'ai rien compris!!

Désolé, j'avais pas vu que tu avais posté dans routines VBA, alors on oublie

 

[Edité le 13/12/2006 par jalna]

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je ne sais pas si cela répond vraiment.

J ai essayé de bidouiller un truc qui demande sur la ligne de commande avant impression les objets à ne pas imprimer......à tester...

 

 

Dim obj As AcadEntity
Dim selection As AcadSelectionSet

Public Sub pas_vu_pas_pris() 'indique les objets à ne pas imprimer
Set selection = ThisDrawing.SelectionSets.Add("truc")
selection.SelectOnScreen
For Each obj In selection
obj.Visible = False
Next

End Sub

Private Sub AcadDocument_BeginPlot(ByVal DrawingName As String) 'évènement impression
pas_vu_pas_pris
End Sub

Public Sub revoir() 'pour revoir les objets invisibles
For Each obj In ThisDrawing.ModelSpace
If obj.Visible = False Then obj.Visible = True
Next
End Sub

Public Sub ef() 'pour détruire truc
ThisDrawing.SelectionSets("truc").Delete
End Sub  

Lien vers le commentaire
Partager sur d’autres sites

  • 6 mois après...

Tu souhaites rendre non-imprimable des objets, tu a moyen d'en faire une sélection rapide pas exemple? les DXF ne serait-il pas le plus simple moyen?

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

Lien vers le commentaire
Partager sur d’autres sites

  • 8 mois après...

Je me souviens d'un lisp de bonuscad pour sélectionner des objets et les rendre invisibles indépendamment de l'état du calque. Peut être qu'il y a un code du même style pour " l'imprimabilité " de chaque entité.

 

;**********************************************************************************************************************************************************
;Activer/désactiver des objets indépendemment de l'état du calque
;**********************************************************************************************************************************************************
;un objet peut être "gelé" même si son calque est actif et non gelé
;attention commande DANGEREUSE surtout si la commande est arrêtée pendant le choix des entités à réactiver !

(defun c:e_off (/ js_off n ent dxf_ent)
 (princ "\nChoix des entités à inactiver: ")
 (setq	js_off (ssget)
n      0
) ;_ Fin de setq
 (cond
   (js_off
    (repeat (sslength js_off)
      (setq
 ent	 (ssname js_off n)
 dxf_ent (entget ent)
 ) ;_ Fin de setq
      (if (not (member '(60 . 0) dxf_ent))
 (entmod (append dxf_ent '((60 . 1))))
 (entmod (subst '(60 . 1) '(60 . 0) dxf_ent))
 ) ;_ Fin de if
      (setq n (1+ n))
      ) ;_ Fin de repeat
    )
   (T
    (princ "\nSélection vide.")
    )
   ) ;_ Fin de cond
 (princ)
 ) ;_ Fin de defun
(defun c:e_on (/ js_off n js_swap n_swap ent ent_dxf js_on nb)
 (setq	js_off (ssget "_X" '((60 . 1)))
n      0
) ;_ Fin de setq
 (cond
   (js_off
    (setq js_swap (ssget "_X" '((-4 . "")))
   n_swap  0
   ) ;_ Fin de setq
    (cond
      (js_swap
(repeat	(sslength js_swap)
  (setq ent (ssname js_swap n_swap))
  (redraw ent 2)
  (setq n_swap (1+ n_swap))
  ) ;_ Fin de repeat
)
      ) ;_ Fin de cond
    (repeat (sslength js_off)
      (setq ent (ssname js_off n))
      (setq dxf_ent (entget ent))
      (entmod (subst '(60 . 0) '(60 . 1) dxf_ent))
      (entupd ent)
      (setq n (1+ n))
      ) ;_ Fin de repeat
    (princ "\nChoix des entités à réactiver: ")
    (setq js_on (ssget)
   n	 0
   ) ;_ Fin de setq
    (cond
      (js_on
(repeat	(sslength js_on)
  (if (ssmemb (ssname js_on n) js_off)
    (setq js_off (ssdel (ssname js_on n) js_off))
    ) ;_ Fin de if
  (setq n (1+ n))
  ) ;_ Fin de repeat
(cond
  (js_off
   (setq nb 0)
   (repeat (sslength js_off)
     (setq ent (ssname js_off nb))
     (setq dxf_ent (entget ent))
     (if (not (member '(60 . 0) dxf_ent))
       (entmod (append dxf_ent '((60 . 1))))
       (entmod (subst '(60 . 1) '(60 . 0) dxf_ent))
       ) ;_ Fin de if
     (entupd ent)
     (setq nb (1+ nb))
     ) ;_ Fin de repeat
   (cond
     (js_swap
      (setq n_swap 0)
      (repeat (sslength js_swap)
	(setq ent (ssname js_swap n_swap))
	(redraw ent 1)
	(setq n_swap (1+ n_swap))
	) ;_ Fin de repeat
      )
     ) ;_ Fin de cond
   )
  (T
   (princ "\nAucune entité à réactivée!")
   )
  ) ;_ Fin de cond
)
      (T
(princ "\nSélection vide.")
)
      ) ;_ Fin de cond
    )
   (T
    (princ "\nAucune entité à réactivée!")
    )
   ) ;_ Fin de cond
 (princ)
 ) ;_ Fin de defun
(prompt "\ne_on : Réactiver les objets")
(prompt "\ne_off : Désactiver les objets")
;**********************************************************************************************************************************************************
;CODE DXF 60 = 1
;;**********************************************************************************************************************************************************
;Rend tous les objets cachés par "e_off" visibles

(defun c:dxf60 ()
 (setq	all (ssget "x")
n   0
) ;_ Fin de setq

 (cond	(all
 (repeat (sslength all)
   (setq
     ent     (ssname all n)
     dxf_ent (entget ent)
     ) ;_ Fin de setq

   (if (not (member '(60 . 1) dxf_ent))
     (entmod (append dxf_ent '((60 . 0))))
     (entmod (subst '(60 . 0) '(60 . 1) dxf_ent))
     ) ;_ Fin de if
   (setq n (1+ n))
   ) ;_ Fin de repeat
 )
(T
 )
) ;_ Fin de cond
 (princ)
 ) ;_ Fin de defun
(prompt
 "\dxf60 : Rend tous les objets cachés par 'e_off' visibles"
 ) ;_ Fin de prompt

Autocad 2021 - Revit 2022 - Windows 10

Lien vers le commentaire
Partager sur d’autres sites

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é