Aller au contenu

Gestion affichage calque dans espace objet et présentation


Messages recommandés

Posté(e)

Bonjour,

 

 

J'aimerai savoir s'il existe une solution car là je sèche un peu.

 

J'ai un plan topographique sur lequel apparaît le carroyage en espace objet dans un calque qui lui est propre.

J'aimerai que mon carroyage apparaissent en espace papier mais pas en espace objet.

Je sais que l'inverse est simple mais là même en créant ma présentation avec le module de covadis pour le carroyage ça ne répond pas à ma problématique.

 

D'une façon générale, comment faire apparaître un calque en espace papier ( dans la fenêtre FMULT) sans qu'il soit visible en espace objet.

 

Merci par avance.

Posté(e)

Hello,

En bidouillant un peu c'est possible via diverses manip de copier/coller et de mise à l'échelle.

 

Mais bon, ça peut marcher qu'avec l'ancienne commande Covadis. Les nouveaux carroyage Covadis font appel à des objet propres, et la ce n'est pas possible. Sauf à exploser cet objet au préalable.

 

A plus.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Salut,

 

Alors sous AutoCAD, j'aurai dessiner en espace présentation est pas en objet. Oui c'est mal mais je ne vois que cela pour ne pas voir apparaître des choses en objet et qu'ils y soient en papier.

"98% des soucis informatiques sont assis entre la chaise et le bureau !"

 

"C'est parce que la vitesse de la lumière est supérieure à celle du son que tant de gens paraissent brillants avant d'avoir l'air con."
Posté(e)

Salut,

 

Non malheureusement nos amis de chez Autodesk préfère changer la couleur des boutons que de faire réelles avancées en termes d'améliorations logiciels...

L'éternelle refrains mais cela n’empêche pas de chercher des solutions pour le faire. Et si quelqu'un trouve une solution moins "mal foutue" je suis preneur aussi.

 

Bien à vous !

"98% des soucis informatiques sont assis entre la chaise et le bureau !"

 

"C'est parce que la vitesse de la lumière est supérieure à celle du son que tant de gens paraissent brillants avant d'avoir l'air con."
Posté(e)

Coucou

 

Le même sujet (ou presque)

 

Et pour cause celui qui poste est le même, sur l'autre site il prévient qu'il a posté sur CadXp mais pas ici

c'est un bon début.

 

Pour lui répondre : c'est la notion de parent/enfant, l'espace papier est l'enfant de l'espace objet,

tu ne peux pas avoir l'enfant si tu n'as pas le parent,

dans ma tête c'est clair mais le suis-je autant dans mes explications ?

 

Amicalement

 

Posté(e)

Oui didier pour la question de clarté.

Mais après ma tête n'est pas clair non plus donc...

 

Mais on peux toujours dessiner sur la présentation (oui je suis un vilain c'est ce que je fait, "han l'autre y triche!").

"98% des soucis informatiques sont assis entre la chaise et le bureau !"

 

"C'est parce que la vitesse de la lumière est supérieure à celle du son que tant de gens paraissent brillants avant d'avoir l'air con."
Posté(e)

Coucou

 

Il m'arrive de le faire mais ce n'est pas vraiment du dessin, ce que je fais couramment ce sont des renvois avec des explications (leader) en espace papier pour ne pas "polluer" mon espace objet.

Le souci c'est que les fenêtres doivent bien rester verrouillées sinon ça devient n'importe quoi.

 

Amicalement

Posté(e)

C'est une vielle demande d'amélioration récurrente (dans le temps....) pouvoir geler en EO et pas en EP un calque.

 

Mais également (et je crois que c'est lié) geler différemment les calques dans deux fenêtres de l'EO.

 

 

J'en rêve depuis tellement longtemps....

Thierry Garré

 

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

Posté(e)

Bonjour

 

Comme la demande semble interesser plusieurs personnes, j'ai fait un petit lisp sur la base des réacteurs.

Lisp à charger en automatique pour chaque dessin.

 

Le réacteur

(defun patrick:modification_variable(rea var / cal lay lst tag)
 (cond
   ((eq (car var) "TILEMODE")
     (and (setq lst (vlr-data rea))
(progn
  (if (eq (getvar "tilemode") 0)
    (setq tag :vlax-false)
    (setq tag :vlax-true)
  )
  (vlax-for lay (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
    (foreach cal lst
      (and (wcmatch (vla-get-name lay) cal)
	(vla-put-freeze lay tag)
      )
    )
         )
       )
     )
   )
 )
)

 

La liste de calques pouvant contenir des caractères génériques

(setq liste_de_calques_eo_ep '("Calque*" "Un_autre" "*Comprenant*"))

 

Pour activer le réacteur

(setq reacteur_patrick_35_variable (vlr-sysvar-reactor liste_de_calques_eo_ep (list (cons :vlr-sysvarchanged (function patrick:modification_variable)))))

 

Pour supprimer le réacteur

(and reacteur_patrick_35_variable (vlr-remove reacteur_patrick_35_variable))

 

ps : il est possible de personaliser la liste de calque pour chaque dessin. A voir

 

@+

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)

Une amélioration possible

 

Pour personnaliser la liste de calques en fonction de chaque dessin

(vlax-ldata-put "Ma_liste_de_Calque_Perso" "Patrick_35" '("Calque*" "Un_autre" "*Comprenant*"))

 

Et avoir le réacteur qui réagit en conséquence

(setq reacteur_patrick_35_variable (vlr-sysvar-reactor (vlax-ldata-get "Ma_liste_de_Calque_Perso" "Patrick_35") (list (cons :vlr-sysvarchanged (function patrick:modification_variable)))))

 

@+

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

  • 2 semaines après...
Posté(e)

bravo pour ton travail Patrick et j'apprécie.

 

Par contre je ne sais pas bien utiliser tes réacteur et autres.

J'ai créé un fichier lsp avec le code que tu as créé, quand je tape tilemode, j'ai une variable à passer à 0 ou 1 ok,

 

Apres je seche completement, je ne sais pas ce qu'il faut que je fasse des autres lignes de code que tu as créé ni comment les utiliser, peux tu me tuyauter à ce sujet?

Posté(e)

Salut

 

En partant sur la base que la liste de calque est différente selon chaque dessin.

 

Je définis les calques qui doivent être gélés entre EO et EP (enregistré dans le dessin). A taper au clavier juste la 1er fois, saut si on refais la liste de calques.

Les caractères génériques peuvent être utilisés.

(vlax-ldata-put "Ma_liste_de_Calque_Perso" "Patrick_35" '("Calque*" "Un_autre" "*Comprenant*"))

 

Et le lisp suivant doit-être chargé à chaque ouverture de dessin (avec la commande _appload + malette)

(defun patrick:modification_variable(rea var / cal lay lst tag)
 (cond
   ((eq (car var) "TILEMODE")
     (and (setq lst (vlr-data rea))
       (progn
         (if (eq (getvar "tilemode") 0)
           (setq tag :vlax-false)
           (setq tag :vlax-true)
         )
         (vlax-for lay (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
           (foreach cal lst
             (and (wcmatch (vla-get-name lay) cal)
               (vla-put-freeze lay tag)
             )
           )
         )
       )
     )
   )
 )
)

(or reacteur_patrick_35_variable (setq reacteur_patrick_35_variable (vlr-sysvar-reactor (vlax-ldata-get "Ma_liste_de_Calque_Perso" "Patrick_35") (list (cons :vlr-sysvarchanged (function patrick:modification_variable))))))

 

@+

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)

Bon... merci pour ton explication.

 

Au risque de paraitre idiot, je n'arrive pas a comprendre ...

 

Est ce que je dois créer un lisp avec ce code?? (vlax-ldata-put "Ma_liste_de_Calque_Perso" "Patrick_35" '("Calque*" "Un_autre" "*Comprenant*"))

Je l'ai fait mais je n'arrive toujours pas a créer de liste de calques.

Posté(e)

Aucune question n'est idiote. Je me suis surement mal exprimé.

 

vlax-ldata-put est la fonction que écrit les données dans le dessin.

"Ma_liste_de_Calque_Perso" est le dictionnaire.

"Patrick_35"' est une clé du dictionnaire.

'("Calque*" "Un_autre" "*Comprenant*") est la liste de calques.

 

On peut aussi bien faire :

vlax-ldata-put

"ma_societe_dans_laquelle_je_travail"

"pierricq"

'("Calque1" "Calque2" "Calque3" "Calque4")

 

Ce qui donne comme instruction lisp pour sauvegarder la liste de calques

(vlax-ldata-put "ma_societe_dans_laquelle_je_travail" "pierricq" '("Calque1" "Calque2" "Calque3" "Calque4"))

et du coup, il faut remplacer

(or reacteur_patrick_35_variable (setq reacteur_patrick_35_variable (vlr-sysvar-reactor (vlax-ldata-get "Ma_liste_de_Calque_Perso" "Patrick_35") (list (cons :vlr-sysvarchanged (function patrick:modification_variable))))))

par

(or reacteur_patrick_35_variable (setq reacteur_patrick_35_variable (vlr-sysvar-reactor (vlax-ldata-get "ma_societe_dans_laquelle_je_travail" "pierricq") (list (cons :vlr-sysvarchanged (function patrick:modification_variable))))))

pour tout faire correspondre.

 

@+

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,

Vraiment pas mal ce truc. Pour l'instant, je n'en vois pas l'utilité mais ça peu évoluer, du coup, direct dans ma bib à lisp.

 

Merci Patrick_35.

 

A plus.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Merci

 

J'ai juste mis en forme une boite de dialogue pour choisir les calques, mais le lisp fonctionne exactement sur le principe que j'ai décrit plus haut.

 

ps : les données (calques à geler) sont écrites dans le dessin. Comme cela, pas besoin de redéfinir à chaque fois son besoin.

pps : comme le lisp est basé sur les réacteurs, il faut qu'il soit chargé automatiquement pour chaque dessin.

 

@+

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

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é