Aller au contenu

Lisps de Patrick_35


Patrick_35

Messages recommandés

Re, re,

Je crois que je me suis mal expliquer (et ce n'est pas pour me défausser...mais ça m'arrange bien) :

 

il suffit d'utiliser le gestionnaire de calques pour y arriver facilement,

 

Je ne parle pas de geler des calques en EO, mais de ne pas afficher dans la liste des calques de ta boite de dialogue les calques qui sont "vraiment" gelé, (puisque ils ne sont pas afficher dans les fenêtres d'office)... et ceci en cochant une case à cocher pour afficher ou non l'ensemble de ces calques.

 

et, en plus

voir deux autres options supplémentaires : n'afficher que les calques gelés dans les fenêtres, ou que les dégelés...

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Si j'ai bien compris la demande et ta façon d'y avoir répondu, tout semble fonctionner Nickel-chrome !!

 

Comme d'hab, un lisp de Patrick_35 déjà bien abouti avant d'arriver ici, fini par même faire la vaiselle,... ;)

 

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

HELLO toutes et tous

 

dsl j'avais pas vu les nombreuses réponses

dans le sujet precedent "POUR LES PROS DU LISP"

 

patrick_35 je suis en train de tester ton LISP GEF 2.00

 

sur 100 presentations de 2 à 4 fenetres

et 1900 calques = nombreux calques dans de nombreux XREF

 

ca commence a faire bcp

 

quelques idées de dévelopement a te suggerer

 

est il possible qu'il n'y est pas de regenération des presentations pour que les calques soit modifies ?? ca irait bcp plus vite ( ca fait bien 20 minutes qu'il mouline la )

 

en fait hier il a mouliné 1h00 sans resultat

 

 

pour la liste des calques :

 

est il possible de rajouter une ligne pour filtrer les calques :

 

exemples : *cotes* = pour afficher tous les calques du fichiers et des XREF contenant le mot cote

 

et la bcp plus complexe a mon avis pour choisir les differentes fenetres des presentations

quand tu passes sur le "nom, dimension, centre" avoir un petite dessin representant les fenetres dans la presentation avec la fenetre en trait plus gras ou grisé oupsss dsl trop compliqué ??

 

voila quelques pistes

 

merci a toi pour ce LISP

 

sinon riena voir comment on fait dans un message pour renvoyer vers un autre message,

un raccouci en bleu et gras ??

 

 

phil

 

 

 

 

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

SVP si possible tu remets a jour la version : v1.10 --> v2.00

Voui, j'attendais juste la réponse de Bred avant de faire la mise à jour pour voir si tout était ok

 

est il possible qu'il n'y est pas de regenération des presentations pour que les calques soit modifies

C'est proprement interne à Autocad. A part changer la variable regenmode, mais après tests, cela ne change pas grand chose.

 

en fait hier il a mouliné 1h00 sans resultat

Ah bon ???

J'ai testé et ça fonctionne.

Fais le test sur deux ou trois fenêtres, histoire de voir.

 

est il possible de rajouter une ligne pour filtrer les calques :

C'est fait. Maintenant GEF est en version 2.10

 

quand tu passes sur le "nom, dimension, centre" avoir un petite dessin representant les fenetres

Je ne pense pas que cela soit faisable en vlisp.

 

sinon riena voir comment on fait dans un message pour renvoyer vers un autre message,

En utilisant le bbcode

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

hello patrick_35

 

je viens de tester GEF 2.10

 

pour le filtre de calque ca marche impec

 

si je comprend bien ton LISP il ne parcoure que les presentations que l'on a sélectionner pour modifier les fentres LOGIQUE jusque la

 

ca marche pour un fichier

mais ne marche pas pour d'autres gros fichiers : 100 onglets 1900 calques 20 xrefs

 

il semble qu'il parcoure des presentations

qui n'ont pas été selectionner dans la fenetre gef 2.10

 

et la ca rame car il réaffiche toutes les fenetres

 

est ce que le programme ne serait pas en train de parcourir toutes les presentations ou l'etat des calques à été modifié ??

 

 

phil

 

 

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Voui, j'attendais juste la réponse de Bred avant de faire la mise à jour pour voir si tout était ok

Désolé de ne pas avoir répondu, mais au boulot je ne peux charger tes codes...

Je l'ai fait chez moi hier soir, et quand je l'ai testé ici au boulot, je me suis rendu compte que c'était l'ancienne version... j'ai du faire une fausse manip...

 

Donc, je n'ai toujours pas tester la version 2, je verrais ça ce soir.

Vraiment désolé !

:exclam:

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

si je comprend bien ton LISP il ne parcoure que les presentations que l'on a sélectionner pour modifier les fentres

Si tu te sers du bouton de sélection, OUI. Cela n'empêche pas ensuite d'ajouter directement des sélections dans la colonne de gauche.

 

Ce n'est pas étonnant que cela rame un peu au début.

Le lisp fonctionne de cette manière.

1) Il liste toutes les présentations

2) Il liste toutes les fenêtres dans les présentions

3) Il liste tous les calques gelés ou pas par fenêtre.

4) Il affiche dans la colonne de gauche toutes les fenêtres trouvées.

5) Il affiche dans la colonne de droite tous les calques.

6) Avec les filtres ou la sélection sur la colonne de gauche, la colonne de droite se met à jour. J'ai procédé de cette manière afin que cela soit réactif et souple dans la boite de dialogue.

7) Une fois que c'est OK, ne sont modifiées que les fenêtres qui ont été sélectionnées et sur lequel une action d'afficher ou geler à été fait. Normalement, le lisp n'a pas à aller sur une présentation où aucune fenêtre est à modifier.

 

Je pense que Lecrabe et Lili ont testé le lisp et que ça a fonctionné sans problème.

Fais tes essais sur un fichier plus léger afin de mieux appréhender le lisp.

Si les problèmes persitent, donne moi un fichier test afin que je regarde aussi.

 

mais ne marche pas pour d'autres gros fichiers : 100 onglets 1900 calques 20 xrefs

Si c'est les xrefs que tu parles, tu as la variable visretain qui devrait être à 1 pour conserver les modifs

Si c'est pour d'autres dessins ouvert, effectivement le lisp n'est pas conçu pour.

 

mais au boulot je ne peux charger tes codes

J'ai été mis en tant que spam ;)

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir à toutes et tous,

 

Je pense que Lecrabe et Lili ont testé le lisp et que ça a fonctionné sans problème.

 

En effet, même encore la dernière version,...

 

MAIS, pas de fichiers dont parle PHILPHIL (Cause : J'en ai pas !),

 

Mais je veux bien le torture un peu plus, si tu veux envoyer un fichier test PHILPHIL,...

 

Merci encore Patrick_35

 

J'ai été mis en tant que spam

 

Là, fallait oser ! Le VLispeur fou fait des ravages dans son entreprise ? ;)

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

hello patrick

 

je me suis permis un petite modif de ton lisp

histoire de savoir ou il en etait quand il travail

 

c'est un simple systeme de compteur juste avant qu'il fasse le changement sur les calques

qui ne devrait pas alterer la manipulation

 

bon je dois avoir un petit souci avec les compteurs

deux des calque et des fenetres

 

 

" NBCALK (LENGTH PAR)" compteur calque

 

car il recupere pas tjrs le bon nombre de calque a modifie

il doit pas etre placer au bon endroit

 

 

 

donc au final

on a la liste des presentations sur lesquelles il bosse

ainsi que les calques

 

et la on constate les erreurs

 

il bosse bien sur des presentations non selectionnées ainsi que sur des calques non selectionnés

 

bizarre ????

 

tu peux tester aussi le LISP au tip "POINT DE COTE AJOUTER SOUSTRAIRE" voir si ca bug

 

 

phil

 

[Edité le 10/7/2008 par PHILPHIL]

 

[Edité le 11/7/2008 par PHILPHIL]

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

J'ai un peu de mal à te comprendre.

Tu as un lisp, tu le test sur deux ou trois fenêtres avec un ou deux calques. Tu regardes le résultat voir si cela convient et que tout fonctionne correctement. :casstet:

Que t'essaye de le comprendre, très bien, au contraire, mais tu n'es pas tout à fait sur la bonne voie.

Ta variable NBCALK compte le nombre de calques qui sont gelés dans la fenêtre.

En effet, Autocad pour savoir ce qui est gelé dans une fenêtre, l'indique dans les xdatas. Donc ce qui est affiché n'est tout simplement pas dans les datas.

Ensuite, dans le cas d'une sélection multiple, le lisp se contente de geler ou afficher uniquement ce qui est nécessaire. Si un calque est déjà gelé, le lisp le sait et ne fait donc pas la commande.

Si tu veux aller plus loin, regarde comment est constitué les listes tbl et aff.

Tbl est le reflet du nombre de présentations avec leurs fenêtres.

Aff est le reflet des calques à geler.

Un (nth 0 aff) correspond à la première entrée de la liste fenêtres.

Quand tu valides, il suffit de balayer la liste tbl, de regarder les xdatas de la fenêtre et de comparer avec la liste aff pour savoir ce qu'il faut faire.

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

hello

 

ok je me suis planter et pas reussis a trouver les bonnes listes

 

comme tu as surement compris le principe des compteurs

 

peux tu modifier celui ci de facon a ce qu'il inscrive sur la ligne de commande

 

le non de la presentation , le N° de la fenetre de la presentation, le N° du calque suivant la liste du nombre de calque a traiter, le nombre de calque a traiter par fenetre, le calque qu"il traite

 

enfin tu vois bien quoi

 

meme si dans le bout de LISP que j'ai fait je n'ai que le nom de bon de la présentation

en ce moment je le vois bien il traite des présentations que je n'ai meme pas choisi

 

et je suis désole mais la en 5 minutes c'est un peu du chinois ou de l'hebreux a comprendre les LISp des autres

 

bonne soirée

 

bye bye a la prochaine PPDA ( bah oui il est parti "ayaittt"

 

phil

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

C'est pas que c'est pas toujours facile d'interpréter le lisp des autres

 

Comme tu as travaillé dessus, voici ce que tu peux faire

 

    (foreach pre tbl
      [surligneur](setq tot 0)[/surligneur] 
      (foreach vie (cadr pre)
...

puis

(setq cod (vlax-safearray->list cod)
	      typ (vlax-safearray->list typ)
	      par (nth n aff)
	      lst nil
	      cal nil
	      i 0
	      [surligneur]tot (1+ tot)[/surligneur] 
	)

et pour finir

	      [surligneur](princ (strcat "\nPré : " (car pre) " - Fen N°" (itoa tot) " - Calque : " (car cal) " - Action : " (if (eq (cdr cal) 0) "G" "A")))[/surligneur] 
	      (vl-cmdf "_.vplayer" val (car cal) "_select" (vlax-vla-object->ename vie) "" "")

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

hello patrick

 

 

j'ai modifie le lisp

j'ai donc un rapport d'activite

 

et je confirme sur le fichier que je teste

il bosse bien sur d'autres presentations qui n'ont pas été selectionnés

et sur d'autre calques qui n'ont pas été selectionnés

 

il fait meme réapparaitre des calques qui etaient geler

etrange je sais

 

si tu as une adresse mail je t'envoie une image de la fenetre plus un bout du rapport

je ne peux pas t'envoyer le fichier dwg par contre

 

 

 

a+

 

phil

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Sans un fichier test et les manip que tu fais, impossible de savoir.

Tu n'es pas obligé de transmettre ton dessin, mais tu peux en créer un avec des calques, des présentations, faire les manips pour vérifier que cela ne donne pas le résultat convenu et ensuite nous transmettre le tout (dessin test+manips+rapport, voir une vidéo)

Je pense à une chose, ce n'est pas geler/afficher ou activer/désactiver général que tu cherches à faire car le lisp travail sur Geler la fenêtre courante (le soleil ou flocon à droite de l'imprimante dans le gestionnaire des calques)

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

hello patrick

 

voila ma manip en image

 

http://images.imagehotel.net/?iau9jowllo.jpg

 

au debut pas de souci mais apres le LISp attaque d'autres presentions

comme le dit le rapport

 

voila un bout du rapport

j'ai du l'interompre sinon il tourne sans cesse aussi bien sous la version autodesk architecture 2008 que 2009

 

je l'effacerais ensuite pour pas encombrer le site

 

phil

 

[Edité le 11/7/2008 par PHILPHIL][Edité le 11/7/2008 par PHILPHIL][Edité le 11/7/2008 par PHILPHIL]

 

[Edité le 18/7/2008 par PHILPHIL]

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Un truc m'échappe :casstet:

 

Envoie moi un dessin test a patrick35 at aliceadsl.fr (enlever les espaces)

 

 

Si tu ne veux que le rapport, tu peux faire dans le lisp

[surligneur][b] ;[/b][/surligneur] 		    (or (eq (vla-get-objectid (vla-get-activelayout doc)) (vla-get-objectid (setq lay (vla-item (vla-get-layouts doc) (car pre)))))
[surligneur][b] ;[/b][/surligneur] 		      (vla-put-activelayout doc lay)
[surligneur][b] ;[/b][/surligneur] 		    )

[surligneur][b] ;[/b][/surligneur] 		      (vl-cmdf "_.vplayer" val (car cal) "_select" (vlax-vla-object->ename vie) "" "")

[surligneur][b] ;[/b][/surligneur] 	    (or (eq (vla-get-objectid (vla-get-activelayout doc)) (vla-get-objectid old))
[surligneur][b] ;[/b][/surligneur]       (vla-put-activelayout doc old)
[surligneur][b] ;[/b][/surligneur]     )

@+

 

[Edité le 11/7/2008 par Patrick_35]

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

Lien vers le commentaire
Partager sur d’autres sites

salut patrick35

 

j'ai essaye gef2.12

 

la y'a pas a dire c'est super super rapide

on y voit que du feu et encore

 

j'ai voulu faire une verif quand meme en rajoutant dans ton lisp les meme lignes que dans ta réponse 19 pour avoir un rapport a l'ecran

 

la souci y'a rien qui s'affiche sur la ligne de commande : bizarre

 

puis j'ai fait encore plus simple

 

j'ai selectionné UNE seule fenetre de presentation et GELER tous les calque de cette meme fenetre

 

et voila la réponse

 

Commande: gef

Traitement de 51 présentation(s) et de 91 fenêtre(s)

Commande:

 

c'est normal ?

 

a+

 

phil

 

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

c'est normal ?

Non, si tu as choisi qu'une seule fenêtre et fais qu'une seule action, car si tu choisis des fenêtres, que tu gel/dégel et qu'ensuite tu re-choisis une fenêtre, alors oui, c'est normal.

 

Chez moi, ça fonctionne parfaitement.

 

Pour comprendre ce qui se passe, j'ai déjà indiqué mon courriel pour recevoir un exemple afin que je puisse comprendre ce qui peut clocher.

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

hello patrick

 

je peux difficilement t'envoyer un fichier exemple

 

soit les fichiers sont gros 11MO

soit les batiments sont plutot confidentiels

voir les deux

 

je peux remarques faire le menage de tous et ne laisser que les calques

et les presentations, les xrefs mais tu ne veras rien dans les fenetres dans ce cas

 

ok ?

 

merci phil

 

 

 

[Edité le 18/7/2008 par PHILPHIL]

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Si je demande un fichier test, c'est justement pour ne pas être indiscret

Pour les gros fichiers, tu as ce site

Indique moi tes manips et pour le dessin, laisse quelques présentation et calques

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

HELLO PATRICK

 

DSL nouvelle découverte de beug sur GEF 2.13

 

sur un simple fichier

 

1ere test :

1 presentation à 1 fenetre

2 calques

 

si tu lances "gef"

 

le nom de la présentation n'apparait pas a gauche

 

 

2ieme test:

2 presentation à 1 fenetre

2 calques

 

le nom de la premiere présentation apparait

le nom de la deuxieme présentation n'apparait pas

 

en gros le LISP filtre les présentations avec fenetre, jusque la c'est normal

mais il elimine de la liste la derniere presentation aussi

 

tu me confirmes ??

 

a+

 

phil ( tortionnaire de LISP )

 

[Edité le 21/7/2008 par PHILPHIL]

 

[Edité le 21/7/2008 par PHILPHIL]

Autodesk Architecture 2023 sous windows 11 64

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'aurai un petit souhait à propos de rot0.lsp ;) ;) . Je voudrai effectuer une rotation en masse d'une entité, comment dois-je m'y prendre ?? J'ai essayé en sélectionnant puis PROPRIETES ..et... ROTATION ...mais malheureusement la rotation ne s'applique pas...!! :exclam:

Merci, Oran

Lien vers le commentaire
Partager sur d’autres sites

PHILPHIL

Décidément, je ne suis pas en forme. :(

Un oubli de ma part qui est corrigé sur la nouvelle version mise en ligne.

(j'attends la fin des tests pour indiquer les mises à jours sur la page principale)

 

Pour l'autre souci, je verrai cela ce soir avec le fichier test, car tout fonctionne avec d'autres exemples.

 

oran

ROT0 s'applique uniquement sur des attributs. Si tu veux que le lisp fonctionne sur d'autres objets, il va falloir le réécrire.

 

@+

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

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é