Aller au contenu

Messages recommandés

Posté(e)

Salut,

Je n'arrive pas à trouver la commande vlisp permettant de réaliser la même action que la commande VPLAYER.

(je n'arrive pas à geler/dégeler un calque dans une fenêtre en vlisp)

 

J'ai parcouru l'aide.

J'ai chercher sur internet.

et rien...

 

même un code vba me contenterais ! (je l'estrapolerais en vlisp)

 

merci de votre aide !

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

Posté(e)

Une réponse un peu bancale, mais si ça peut t'aider...

 

La seule solution que j'ai trouvé est par (entmake)

 

ex:

(if (not (tblsearch "LAYER" "gele_nouvelle_fenetre"))

(entmake '((0 . "LAYER")

(100 . "AcDbSymbolTableRecord")

(100 . "AcDbLayerTableRecord")

(2 . "gele_nouvelle_fenetre")

(70 . 2)

(62 . 4)

(6 . "Continuous")

(290 . 1)

(370 . -3)

)

)

)

 

Si la solution t'intéresse regarde le code dxf 70 dans l'aide des tables

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

Posté(e)

trouver dans l'aide d'autocad en VBA

Sub Example_Freeze()
   ' This example creates a new layer called "Freeze".
   ' It then displays the status of the Freeze property
   ' for the new layer, toggles the status of the
   ' Freeze property, and again displays its status.
   ' After running this example, you can check the layer
   ' control on the Object Properties tool bar. It will
   ' show the new layer and the latest Freeze status.
   
   Dim layerObj As AcadLayer
   
   ' Create the new layer
   Set layerObj = ThisDrawing.Layers.Add("Freeze")
   
   ' Display the Freeze status of the new layer
   GoSub DISPLAYSTATUS
   
   ' Toggle the status of the Freeze property for the layer
   layerObj.Freeze = Not (layerObj.Freeze)
   
   ' Display the Freeze status of the new layer
   GoSub DISPLAYSTATUS
   Exit Sub
   
DISPLAYSTATUS:
   If layerObj.Freeze Then
       MsgBox "Layer " & layerObj.name & " is frozen.", , "Freeze Example"
   Else
       MsgBox "Layer " & layerObj.name & " is thawed.", , "Freeze Example"
   End If
   Return
       
End Sub

 

@+

MDSV31

Dessinateur Indépendant

Posté(e)

Moi, j'ai compris que tu voulais geler/libérer un calque existant dans une fenêtre d'espace papier. et je vais tenter de répondre à ta question.

 

- Ce que je sais c'est que la liste des calques gelés dans une fenêtre d'espace papier est stocké en Xdatas dans la fenêtre.

- Je sais aussi que entmod ne fonctionne pas sur les fenêtres d'espace papier

- je viens d'essayer avec les fonctions vla-GetXdata et vla-setXdata sans grand succès mais dans les Xdatas extraits il y a des listes de listes et me me suis peut-être planté dans les extractions de variant et safe array ; à tenter à nouveau.

 

en attendant, ceci fonctionne

 

;;---Début---------------------------------------------------GelerDansFenetre----
;; << gèle ou dégèle un calque dans une fenêtre d'espace papier                >>
;; <<                                                                          >>
;;
;;  créée le :  mercredi 16 mai 2007  à 01:43
;;
;; Admet : 
;; =======
;;   calque     : Chaine   = calque à geler ou à libérer
;;   fenetre    : Nom d'entité = entité fenêtre d'espace papier
;;   geler      : Booléen  = T = geler Nil = libérer
;;
;; Retourne : Sans intérêt = 
;; ==========
;-------------------------------------------------------------------------------
(Defun GelerDansFenetre ( calque fenetre geler / cmd)
  (setq cmd (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (command "_vplayer" (if geler "_F" "_T")  calque  "_S" fenetre  "" "")
  (setvar "cmdecho" cmd)
)
;;---fin-----------------------------------------------------GelerDansFenetre----

 

Je sais,ce n'est pas très propre d'utiliser les commandes autoCAD mais les fenêtres d'espace papier c'est un peuchasse gardée chez autodesk : Pas Touch !

 

PS les options de la commandes sont en Anglais dans la fonction

 

Bon courage.

 

Posté(e)

Bonjour

 

j'avais trouvé ça...qui permet de geler en EP dans une fenetre les éléments sélectionnés.

on peut utiliser laymanager d expresstools ou faire un script avec _volayer

 

;;;débutjavascript:insertAtCaret(':)','')

 

((LAMBDA (/ e plan lplan lsplan drap e_bis plan_bis)

(cond

((= (getvar "tilemode") 0)

(setq drap (getvar "expert"))

(setvar "expert" 0)

(while (setq e (entsel "\nPointez une entite: "))

(setq e_bis (car (nentselp (cadr e))))

(setq e (car e))

(setq plan (cdr (assoc 8 (entget e))))

(setq plan_bis (cdr (assoc 8 (entget e_bis))))

(if (/= plan plan_bis)

(progn

(princ "\nL'entité fait partie d'un bloc ou d'un xref.")

(initget "Insertion Entite _Insert Entitie")

(if (eq (getkword "\nAdopter le plan d'insertion ou de l'entité -

[insertion/Entite]: ") "Entitie")

(setq plan plan_bis)

(setq plan plan)

)

)

)

(setq lplan (cons plan lplan))

(princ (strcat " " plan " sera gelé dans la fenêtre courante."))

)

(if lplan

(progn

(setq lsplan

(apply 'strcat

(mapcar '(lambda (x)(strcat x ",")) lplan)

)

)

(command "._vplayer" "_freeze" lsplan "" "")

)

)

)

(T (prompt "\nIncorrect, TILEMODE doit être à 0."))

)

(princ)

))

;;;bon courage

 

Michel a

:)

Posté(e)

 

;plus court

(defun c:gel_fen (/ ss n)

(prompt "\nGeler les calques dans la fenêtre courante: ")

(if (setq ss (ssget))

(repeat (setq n (sslength ss))

(command "_vplayer"

"_freeze"

(cdr (assoc 8 (entget (ssname ss (setq n (1- n))))))

""

""

)

)

)

(princ)

)

;

 

Michel a

Posté(e)

Salut et merci à tous ! (j'ai eu un lot de réponse des couches- tards et lève tôt !!!)

 

Mais aucune de vos proposition n'est en vlisp ou est transposable ....

(command "_vplayer" est ce que je ne veux pas utiliser, justement !

 

par contre, bonuscad, en entmake je ne l'avais pas tenter parceque l'aide dit que l'on ne peut pas modifier les propriété d'une fenêtre par là (je m'étais cassé le nez pour modifier les lignes de délimitation avant et arrière ...)

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

Posté(e)

Merci Patrick_35.

J’avais omis bêtement de regarder dans ta page ! :P

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

Posté(e)

Alors, en recopiant et adaptant variable pour variable le lisp de Patrick_35, voilà la routine pour geler le calque "Mon_Calque" dans les fenêtres selectionnés :

 

(defun c:test (/ F SEL)
 (setq sel (ssget "I"))
 (while
   (not
     (setq sel	(ssget '((0 . "VIEWPORT,*POLYLINE,SPLINE,ELLIPSE,CIRCLE,REGION"))))))	
 (foreach n (vl-remove-if 'listp (mapcar 'cadr (ssnamex sel)))
    (if (equal (vla-get-ObjectName (setq f (vlax-ename->vla-object n))) "AcDbViewport")
     (Gel-Calq-Fen f [b]"Mon_Calque"[/b]))
    )  
 (princ)
 )

;;; Routine de gel de calque dans fenêtre
;;; (Gel-Calq-Fen vla-fenêtre "nom_du_calque")
(defun Gel-Calq-Fen (fen calq / xData xType NewData NewType k)
 (vla-getxdata fen "" 'xType 'xData)                              		 
 (setq k (vlax-safearray-get-u-bound xType 1))                                  
 (setq NewType (vlax-make-safearray vlax-vbInteger (cons 0 (+ k 1))))           
 (setq NewData (vlax-make-safearray vlax-vbVariant (cons 0 (+ k 1))))           

 (setq n 0)
 (repeat (+ k 1)                                                                
   (vlax-safearray-put-element Newtype n (vlax-safearray-get-element xType n))  
   (vlax-safearray-put-element NewData n (vlax-safearray-get-element xData n))  
   (setq n (1+ n))                                                              
 )  
 (vlax-safearray-put-element Newtype (+ k 1) 1002)                              
 (vlax-safearray-put-element NewData (+ k 1) "}")                               
 
 (vlax-safearray-put-element Newtype (- k 1) 1003)                              
 (vlax-safearray-put-element NewData (- k 1) calq)                      	 

 (vla-setxdata fen NewType NewData)	                           		 
 
 (vla-display fen 0)
 (vla-display fen 1)  
)

à la fin j'ai été obligé de faire

(vla-display fen 0)

(vla-display fen 1)

regen n'a pas l'air de fonctionner ....

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

Posté(e)

Salut

Une amélioration de ta routine pour traiter une liste de calques

 

(defun c:test (/ lst sel)
 (setq lst (list "Calque_1" "Calque_2" "Calque_3" "Calque_4" "Calque_4")) ; Liste des calques à traiter
 (ssget '((0 . "VIEWPORT,*POLYLINE,SPLINE,ELLIPSE,CIRCLE,REGION")))
 (vlax-map-collection (setq sel (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))) '(lambda (x) (if (eq (vla-get-ObjectName x) "AcDbViewport")
									  					      (Gel-Calq-Fen x lst)
														    )
													)
 )
 (vla-delete sel)
 (princ)
)

 

;;; Routine de gel de calques dans fenêtre
;;; (Gel-Calq-Fen vla-fenêtre "nom_du_calque")
(defun Gel-Calq-Fen (fen calq / xData xType NewData NewType cal k)
 (vla-getxdata fen "" 'xType 'xData)
 (setq k (vlax-safearray-get-u-bound xType 1))
 (setq NewType (vlax-make-safearray vlax-vbInteger (cons 0 (+ k (length calq)))))
 (setq NewData (vlax-make-safearray vlax-vbVariant (cons 0 (+ k (length calq)))))
 (setq n 0)
 (repeat (+ k 1)
   (vlax-safearray-put-element Newtype n (vlax-safearray-get-element xType n))
   (vlax-safearray-put-element NewData n (vlax-safearray-get-element xData n))
   (setq n (1+ n))
 )
 (setq n 0)
 (while (setq cal (nth n calq))
   (vlax-safearray-put-element Newtype (1+ (+ k n)) 1002)
   (vlax-safearray-put-element NewData (1+ (+ k n)) "}")
   (vlax-safearray-put-element Newtype (1- (+ k n)) 1003)
   (vlax-safearray-put-element NewData (1- (+ k n)) cal)
   (setq n (1+ n))
 )

 (vla-setxdata fen NewType NewData)

 (vla-display fen 0)
 (vla-display fen 1)
)

 

ps : Je pense qu'il est possible d'améliorer le traitement des xdatas, c'est à étudier

 

@+

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)

Je savais bien qu'on pouvait faire quelque chose, et même avec une verif histoire de contrôler si un calque demandé n'est pas déjà gelé

 

;;; Routine de gel de calques dans fenêtre
;;; (Gel-Calq-Fen vla-fenêtre "nom_du_calque")
(defun Gel-Calq-Fen (fen calq / xData xType LstData LstType lstd lstt b cal n l)
 (vla-getxdata fen "" 'xType 'xData)
 (setq LstType (vlax-safearray->list xType)
LstData (vlax-safearray->list xData)
 )
 (foreach cal calq
   (if (member (vlax-make-variant cal) LstData)
     (setq calq (vl-remove cal calq))
   )
 )
 (if calq
   (progn
     (setq n (- (length lstdata) (length (member 1003 lsttype)))
    l (- (length lstdata) n)
    b 0
     )
     (repeat n
(setq lstd (cons (nth b lstdata) lstd))
(setq lstt (cons (nth b lsttype) lstt))
(setq b (1+ b))
     )
     (foreach cal calq
(setq lstd (cons (vlax-make-variant cal) lstd))
(setq lstt (cons 1003 lstt))
     )
     (repeat l
(setq lstd (cons (nth b lstdata) lstd))
(setq lstt (cons (nth b lsttype) lstt))
(setq b (1+ b))
     )
     (setq xData (vlax-make-safearray vlax-vbVariant (cons 0 (1- (length lstd))))
    xType (vlax-make-safearray vlax-vbInteger (cons 0 (1- (length lstt))))
     )
     (vlax-safearray-fill xData (reverse lstd))
     (vlax-safearray-fill xType (reverse lstt))
     (vla-setxdata fen xType xData)
     (vla-display fen 0)
     (vla-display fen 1)
   )
 )
)

 

@+

 

[Edité le 16/5/2007 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

Posté(e)

Ah ben tient...

j'étais dessus aussi ...

Tous pareil, mais je restait planter à la reconstruction de la list xdata ....

 

merci !!!!

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

Posté(e)

Ton code ne fonctionne pas chez moi :

Il crées bien un xdata (1003 . "Mon-calque"), mais il ne le créés pas entre les (1002 . "{") ...

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

Posté(e)

Je viens de m'apercevoir que j'avais laissé trainer une condition qui ne servait à rien :( sur le post alors que ça fonctionne très bien chez moi (c'est corrigé)

 

Le principe est d'insérer la liste des calques dans les deux listes (data et type) avec le nom du calque en variant et le code 1003 uniquement

En supposant que le 1er code 1003 est à la 28éme position dans la liste des types

Je créée mes deux listes suivant ce principe

--> de 0 à 27, la liste d'origine (data et type)

--> j'ajoute la liste des calques en data et le code 1003 en type (avec autant de 1003 qu'il y a de calques)

--> je mets le reste de la liste d'origine (data et type)

Je retranscrit les deux listes en tableau visual et le tour est joué

 

@+

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)

Désolé Patrick mais j'ai toujours le 1003 qui est "n'importe où" (je suis sous 2008 là ...)

 

((1001 . "ACAD") (1003 . "Mon_calque") (1000 . "MVIEW") (1002 . "{") (1070 . 16) (1010

. #) (1010 . #) (1040 . 1.77722e-016) (1040 .

15.3437) (1040 . -0.284731) (1040 . 1.03645) (1040 . 50.0) (1040 . 0.0) (1040 .

0.0) (1070 . 0) (1070 . 100) (1070 . 1) (1070 . 1) (1070 . 0) (1070 . 0) (1070

. 0) (1070 . 0) (1040 . 0.0) (1040 . 0.0) (1040 . 0.0) (1040 . 10.0) (1040 .

10.0) (1040 . 0.5) (1040 . 0.5) (1070 . 0) (1002 . "{") (1002 . "}") (1002 .

"}"))

 

Pour que ça fonctionne, le 1003 doit être entre les 1002 !!!

 

Je suis un peu dépassé par les divers vlax-make-safearray ....

 

Mais j'ai trouvé un "xdata_variants.lsp" dans les express.

Là dedans il reconstruise la liste avec une routine qui s'appelle BuildArrays.

Dedans ils utilisent vlax-safearray-put-element ...

 

En fait, en parrallèlle je cherche aussi à faire le "dégeler calque", et je ne comprends pas pourquoi ça ne marche pas aussi (je t'ai repiqué les fonctions principal de construction de safferay ...)

;;; Routine de Degel de calques dans fenêtre
;;; (DeGel-Calq-Fen vla-fenêtre (list "nom_du_calque1" "nom_du_calque2"))
(defun DeGel-Calq-Fen (fen calq / LSTDATA LSTTYPE N NEW-LSTDATA NEW-LSTTYPE XDATA XTYPE)
 
 (vla-getxdata fen "" 'xType 'xData)  
 
 (setq LstType (vlax-safearray->list xType)
LstData (vlax-safearray->list xData)
New-LstType nil
New-LstData nil)

(repeat (setq n (length LstType))
  (if (not (member (vlax-variant-value (nth (setq n (1- n)) LstData)) calq))
    (setq New-LstType (append (list (nth n LstType)) new-LstType)
   New-LstData (append (list (nth n LstData)) New-LstData))
    )
  )  

 (setq xData (vlax-make-safearray vlax-vbVariant (cons 0 (1- (length New-LstData))))
xType (vlax-make-safearray vlax-vbInteger (cons 0 (1- (length New-LstType)))))  
 
 (vlax-safearray-fill xData New-LstData)
 (vlax-safearray-fill xType New-LstType)
 
 (vla-setxdata fen xType xData)
 
 (vla-display fen 0)
 (vla-display fen 1)
)

 

[Edité le 16/5/2007 par Bred]

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

Posté(e)

patrick_35, je pense avoir trouvé le problème : si il n'y a aucun calque gelé dans la fenêtre, il arrive ce que je cite plus haut (c'est à dire que le 1003 ce met en début de liste).

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

Posté(e)

Bon, je ne sais pas si c'est trés propre, mais ça à l'air de fonctionner comme ça :

Je fait un test sur l'existance du 1003, sinon je prends "le seconds 1002".

 

;;; Routine de gel de calques dans fenêtre
;;; (Gel-Calq-Fen vla-fenêtre (list "nom_du_calque1" "nom_du_calque2")
(defun Gel-Calq-Fen (fen calq / xData xType LstData LstType lstd lstt b cal n l)

 (vla-getxdata fen "" 'xType 'xData)
 (setq LstType (vlax-safearray->list xType)
LstData (vlax-safearray->list xData))

 (foreach cal calq
   (if (member (vlax-make-variant cal) LstData)
     (setq calq (vl-remove cal calq))
     )
   )

 (if calq
   (progn
    (setq n (- (length lstdata) 2)
    l (- (length lstdata) n)
    b 0)

     (repeat n
(setq lstd (cons (nth b lstdata) lstd))
(setq lstt (cons (nth b lsttype) lstt))
(setq b (1+ b))
)
     (foreach cal calq
(setq lstd (cons (vlax-make-variant cal) lstd))
(setq lstt (cons 1003 lstt))
)

     (repeat l
(setq lstd (cons (nth b lstdata) lstd))
(setq lstt (cons (nth b lsttype) lstt))
(setq b (1+ b))
)

     (setq xData (vlax-make-safearray vlax-vbVariant (cons 0 (1- (length lstd))))
    xType (vlax-make-safearray vlax-vbInteger (cons 0 (1- (length lstt)))))

     (vlax-safearray-fill xData (reverse lstd))
     (vlax-safearray-fill xType (reverse lstt))
     
     (vla-setxdata fen xType xData)

     (vla-display fen 0)
     (vla-display fen 1)
     )
   )
)

[Edité le 16/5/2007 par Bred]

 

[Edité le 16/5/2007 par Bred]

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

Posté(e)

si il n'y a aucun calque gelé dans la fenêtre

C'est ce que me suis dit ce soir en rentant en voiture, donc logiquement pas de 1003 :red:

sinon je prends "le seconds 1002".

Je pense que tu peux faire plus simple sachant que 2 1002 terminent la liste, il suffit de faire (longueur liste) -2

Ou encore, en y refléchissant, de commencer directement avec (longueur liste) -2 sans s'amuser avec le code 1003 et 1002 et d'ajouter les calques à la fin, plutôt qu'au début de la liste des 1003. Pourquoi faire simple...

Je suis un peu dépassé par les divers vlax-make-safearray ....

Tu n'est pas tout seul, mais je commence à comprendre comment cela fonctionne.

Cela fonctionne comme un tableau en vb, basic, pascal ou autre langage. En regardant de plus près la fonction (vlax-make-safearray...) on arrive à en saisir le sens.

en parrallèlle je cherche aussi à faire le "dégeler calque"

Vu comment est constuit le lisp, il suffit logiquement de supprimer le calque de la liste

un (- (length lstdata) (length (member (vlax-make-variant "Mon_Calque") lstdata))) devrait logiquement te donner la position dans la liste. L'effacer en ayant la position n'est plus qu'un jeu d'enfant

 

Juste pour info, le vlax-make-safearray permet de contruire le tableau en disant avec quel type de valeur (variant, string, integer,...) et aussi en paire pointée. Le premier chifre est un zéro (pourquoi ?), le second la longueur de ta liste (sachant que le zéro est le début)

Ensuite un vlax-safearray-fill ermet de remplir le tableau avec les éléments de ta liste. Une liste toute simple comme on les aiment

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)
Je pense que tu peux faire plus simple sachant que 2 1002 terminent la liste, il suffit de faire (longueur liste) -2

Bien vu, je pars la dessus !

 

en parrallèlle je cherche aussi à faire le "dégeler calque"

En fait je reconstruit les lists data et type en enlevant ceux correspodant au calque correspondant avec ceci :

(repeat (setq n (length LstType))
  (if (not (member (vlax-variant-value (nth (setq n (1- n)) LstData)) calq))
    (setq New-LstType (append (list (nth n LstType)) new-LstType)
   New-LstData (append (list (nth n LstData)) New-LstData))
    )
  )

... mais ça ne fonctionne pas ....

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

Posté(e)

Je pense que tu pourrais faire plus simplement

(defun Gel-Calq-Fen (fen calq / xData xType LstData LstType lstd lstt cal n)
 (vla-getxdata fen "" 'xType 'xData)
 (setq LstType (vlax-safearray->list xType)
LstData (vlax-safearray->list xData)
n 0)

 (while (setq cal (nth n lstdata))
   (if (not (member (vlax-variant-value cal) calq))
     (progn
(setq lstd (cons cal lstd))
(setq lstt (cons (nth n lstdata) lstt))
     )
   )
   (setq n (1+ n))
 )

 (setq xData (vlax-make-safearray vlax-vbVariant (cons 0 (1- (length lstd))))
xType (vlax-make-safearray vlax-vbInteger (cons 0 (1- (length lstt)))))

 (vlax-safearray-fill xData (reverse lstd))
 (vlax-safearray-fill xType (reverse lstt))

 (vla-setxdata fen xType xData)

 (vla-display fen 0)
 (vla-display fen 1)
)

 

ps : non testé

 

@+

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)

Re,

je pense qu'il y a une erreur dans ton code :

(while (setq cal (nth n lstdata))
   (if	(not (member (vlax-variant-value cal) calq))
     (progn
(setq lstd (cons (nth n lstdata) lstd))
(setq lstt (cons (nth n LstType) lstt))))
   (setq n (1+ n))
   )

 

... mais ça ne fonctionne pas ....

 

Je suis en train de me demander si c'est faisable avec vla-setxdata de "supprimer" quelque chose... :casstet:

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

Posté(e)

Ah oui, tu as raison, mais j'avais précisé que c'était du non testé ;)

 

Je suis en train de me demander si c'est faisable avec vla-setxdata de "supprimer" quelque chose... :casstet:

Je me pose la même question. Et le pire, c'est en degelant queslques calques dans la fenêtre et en regandant dans les xdatas, ils sont supprimés de la liste :o

Il doit y avoir une astuce, reste à la trouver :casstet:

 

@+

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é