Aller au contenu

Les Multi-Lignes - Decouverte


tchetchi

Messages recommandés

Bonjour,

 

En ces temps de confinement, j'en profite pour découvrir de nouvelles fonctions d'autocad, en tout cas pour moi.

En recevant un fichier du BET j'avais découvert les multilignes. J'ai un peu parcouru le forum et cela me laisse un peu perplexe. Alors je viens avoir votre avis avant de me lancer éventuellement dans l'aventure et de modifier ma façon de faire.

Jusqu'à présent on travaille en 2D en décalant des lignes pour faire des cloisons par exemple. Mais la découverte de ces multilignes pourrait peut être faire gagner du temps en créant par exemple un style de cloison en 72.

Alors ma question est la suivante, comment faites vous pour dessiner vos cloisons, doublage etc. Utilisez vous ces multilignes (même si elle ne font pas de courbe, il faut avouer qu'on fait pas des cloisons courbes tous les jours). Ou comme je fais aujourd'hui vous décaler les traits 5 fois pour avoir une cloison avec isolant pour un détail au 50e.... ou une autre méthode qui m'est inconnu à ce jour? ou bien réservez vous ces multiligne uniquement pour les réseaux?

 

En vous remerciant,

 

Tchetchi

Lien vers le commentaire
Partager sur d’autres sites

Salut et bienvenue sur Cadxp.

 

Pour ma part, je n'utilise pas les multilignes. Je ne les trouve pas très souples à l'utilisation.

Ayant fait de l'aménagement de bureau et du space planning pendant plusieurs années, j'avais voulu essayé de travailler avec des multilignes pour les cloisons

mais ça ma vite gonflé. Surtout quand il y a un tas de modif à faire.

Puis comme comme je suis passé sur Autodesk Architectural Desktop (AutoCAD Architecture) très rapidement, le problème des multilignes ne se posait plus.

Toutefois, il y en a qui sont adeptes des multilignes et qui t'en feront peut-être les louanges en t'expliquant comment et pourquoi ils les utilisent.

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Les multilignes manquent cruellement de souplesse.

Difficile à éditer, pas de courbe (comme tu dit), si on regarde les propriétés, c'est la misère.

La polyligne est REINE dans Autocad, même pour les réseaux.

 

Sinon (hors sujet) Autodesk Architectural Desktop, est très bien pour du bâtiment neuf,

essayez de dessiner une longère au cm avec, c'est impossible.

 

Mais bonne idée de profiter du confinement pour explorer Autocad,

il y a tellement d'outils que nous utilisons jamais.

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

YES les Multi-Lignes sont "RIGIDES" !

 

Mais parfois cela peut rendre BIEN des services !!

SURTOUT si on n'a pas a TROP les "tripatouiller" ulterieurement !!

 

Sauf que AutoCAD n'a pas prevu de CHANGER le Style d'une Multi-Ligne !!!

 

C VITAL quand on utilise les MLs - MERCI a notre grand maitre Gilles ...

 

LA SANTE, Bye, le crabe "triste"

Automne 2020, la retraite ...

 


;; 
;; Version 2.00 - Modif/Patch for versions 2015/2016/etc 
;; 
;; Par GC - Changer le style de Multi-Lignes ... Change MultiLines Style ... 
;; 
;; CAR MALHEUREUSEMENT AutoCAD ne permet pas de changer 
;; le Style d'une Multi-Ligne existante (deja dessinee) !
;; 
;; Routine/Command : CMLS
;; Selection possible de N Multi-Lignes ... 
;; 
;; Commandes FRENCH sur les Multi-Lignes : MLIGNE / MLSTYLE
;;  

(defun c:CMLS (/ *error* echo osnp slst ss styl ent)
 (vl-load-com)
 (defun *error* (msg)
   (or	(not msg)
(= msg "Fonction annulée")
(princ (strcat "Erreur: " msg))
   )
   (setvar 'cmdecho echo)
   (setvar 'osmode osnp)
   (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)))
   (princ)
 )
 (setq	echo (getvar 'cmdecho)
osnp (getvar 'osmode)
slst (gc:GetDictEntries (dictsearch (namedobjdict) "ACAD_MLINESTYLE"))
 )
 (if
   (and
     (setq n  -1
    ss (ssget '((0 . "MLINE")))
     ) 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;    (setq styl (gc:ListBox "Styles de multiligne" "Choisissez un style"  (mapcar 'car slst) 0)) 
     (setq styl (gc:ListBox "MultiLines Styles"    "Select a Style"       (mapcar 'car slst) 0)) 


   )
    (progn
      (vla-StartUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)))
      (setvar 'cmdecho 0)
      (setvar 'osmode 0)
      (while (setq ent (ssname ss (setq n (1+ n))))
 (setq elst (entget ent))
 (vl-cmdf "_.mline" "_style" styl)
 (foreach p (mapcar '(lambda (x) (trans x 0 1)) (massoc 11 elst))
   (vl-cmdf p)
 )
 (vl-cmdf (if (= 2 (logand 2 (cdr (assoc 71 elst))))
	    "_close"
	    ""
	  )
 )
 (if (setq xd (assoc -3 (entget ent '("*"))))
   (entmod (append (entget (entlast)) (list xd)))
 )
 (entdel ent)
      )
    )
 )
 (*error* nil)
)


;; 
;; gc:ListBox  par GC 
;; Boite de dialogue permettant un ou plusieurs choix dans une liste
;;
;; Arguments
;; title : le titre de la boite de dialogue (chaîne)
;; msg ; message (chaîne), "" ou nil pour aucun
;; lbls : une liste de chaînes (sans doublons)
;; flag : 0 = liste déroulante
;;        1 = liste choix unique
;;        2 = liste choix multipes
;;
;; Retour : l'option (flag = 0 ou 1) ou la liste des options (flag = 2)
;;
;; Exemple d'utilisation
;; (listbox "Présentation" "Choisir une présentation" (layoutlist) 1) 
;; 

(defun gc:ListBox (title msg lbls flag / tmp file dcl_id choice)
 (setq	tmp  (vl-filename-mktemp "tmp.dcl")
file (open tmp "w")
 )
 (write-line
   (strcat "ListBox:dialog{label=\"" title "\";")
   file
 )
 (if (and msg (/= msg ""))
   (write-line (strcat ":text{label=\"" msg "\";}") file)
 )
 (write-line
   (cond
     ((= 0 flag) "spacer;:popup_list{key=\"lst\";")
     ((= 1 flag) "spacer;:list_box{key=\"lst\";")
     (T "spacer;:list_box{key=\"lst\";multiple_select=true;")
   )
   file
 )
 (write-line "}spacer;ok_cancel;}" file)
 (close file)
 (setq dcl_id (load_dialog tmp))
 (if (not (new_dialog "ListBox" dcl_id))
   (exit)
 )
 (start_list "lst")
 (mapcar 'add_list lbls)
 (end_list)
 (action_tile
   "accept"
   "(or (= (get_tile \"lst\") \"\")
   (if (= 2 flag) (progn
   (foreach n (gc:str2lst (get_tile \"lst\") \" \")
   (setq choice (cons (nth (atoi n) lbls) choice)))
   (setq choice (reverse choice)))
   (setq choice (nth (atoi (get_tile \"lst\")) lbls))))
   (done_dialog)"
 )
 (start_dialog)
 (unload_dialog dcl_id)
 (vl-file-delete tmp)
 choice
)


;; 
;; gc:str2lst
;; Transforme un chaine avec séparateur en liste de chaines
;;
;; Arguments
;; str : la chaine à transformer en liste
;; sep : le séparateur
;;
;; Exemples
;; (str2lst "a b c" " ") -> ("a" "b" "c")
;; (str2lst "1,2,3" ",") -> ("1" "2" "3")
;; (mapcar 'read (str2lst "1,2,3" ",")) -> (1 2 3)
;; 

(defun gc:str2lst (str sep / pos)
 (if (setq pos (vl-string-search sep str))
   (cons (substr str 1 pos)
  (gc:str2lst (substr str (+ (strlen sep) pos 1)) sep)
   )
   (list str)
 )
)


;; gc:GetDictEntries
;; Retourne la liste des entrées du dictionnaire
;; sous forme de paires pointées (Nom . ENAME)
;;
;; Argument : dict le dictionnaire (ENAME ou liste DXF)

(defun gc:GetDictEntries (dict / result)
 (and (= (type dict) 'ENAME) (setq dict (entget dict)))
 (while
   (setq dict (vl-member-if (function (lambda (x) (= (car x) 3))) (cdr dict)))
    (setq result (cons (cons (cdar dict) (cdadr dict)) result))
 )
 (reverse result)
)


;; massoc
;; Retourne la liste de toutes les valeurs pour le code spécifié
;; dans une liste d'association
;;
;; Arguments
;; code : le code de groupe pour les entrées
;; alst : la liste d'association

(defun massoc (code alst / pair)
 (if (setq alst (member (assoc code alst) alst))
   (cons (cdar alst) (massoc code (cdr alst)))
 )
) 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

bienvenue sur Cadxp

cela fait longtemps que je suis sur cadxp mais je n'avais jamais posté car j'ai toujours trouvé les solutions à mes questions en faisant des recherches dans le forum. Et j'y ai notamment découvert les lisp qui sont une merveille!! je remercie grandement ceux qui passent du temps à confectionner ces outils!

 

je préfère de loin gérer ce genre de murs composites en bloc dynamique

a oui? comment faites vous les raccords? je vois bien un paramètre linéaire et une action d'étirement mais ensuite?

Vous faites aussi un paramètre de visibilité pour pouvoir changer le type de cloison en cours de route?

 

Mais bonne idée de profiter du confinement pour explorer Autocad,

il y a tellement d'outils que nous utilisons jamais.

ça c'est sur qu'il y a plein d'outils qu'on utilise jamais mais c'est toujours la meme question, est ce plus pertinent/rapide d'utiliser le nouvel outil face aux habitude qu'on a déjà avec d'autres outils. La question reste sans fin... il faut tester et se faire sa propre idée.

 

En vous remerciant,

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

2eme routine indispensable quand on joue avec les MLs !

 

MERCI a Olivier ECKMANN ...

 

LA SANTE, Bye, le crabe "triste"

Automne 2020, la retraite ...

 


;;
;; Routine: ML2PO par OE 
;; 
;; Exploser/Decomposer UNE Multi-Ligne pour la Re-Transmormer 
;; immediatement en N Polylignes (autant que faire se peut) 
;; 
;; ATTENTION: cela fonctionne bien si la Multi-Ligne n'a pas de FERMETURE EN BOUT !
;; par des Segments ou pas des Arcs ... 
;; 

(defun C:ML2PO ( / JEU oMLine oLine) 

( setvar "PEDITACCEPT" 1 ) 

 (while (and (setq oMLine (car (entsel "\nSVP Selectionner une Multi-Ligne : ")))
             (= "MLINE" (cdr (assoc 0 (entget oMLine))))
        )
   (setq oLine (entlast))
   (command "_explode" oMLine)
   (setq JEU (ssadd))
   (while (setq oLine (entnext oLine))
     (ssadd oLine JEU)
   ) 

;;  (command "PEDIT"  "M"  JEU "" "j"  "" "") 
   (command "_PEDIT" "_M" JEU "" "_J" "" "") 

   (setq JEU nil)
   (princ "\n\n\n")
   (princ)
 )
) 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

3eme routine indispensable : MPLNEW

Realise par Aleksandr Smirnov et ameliore par Kent Cooper ...

 

Je l'utilise souvent pour dessiner en dynamique 2-N Polylignes paralleles !

J'adore cette routine MPLNEW ...

 

LA SANTE, Bye, le crabe "triste"

Automne 2020, la retraite ...

 

;; 
;;  Edited by Kent Cooper to remove quantity limit [and other refinements/
;;  adjustments/simplifications], last edited 12/14/2017
;;
;; ==================================================================== 
;; 
;;  MPL --> MPLNEW - This lisp draws any number of parallel polylines simultaneously
;; 
;; ==================================================================== 
;; 
;;  Command to call: MPL ---> MPLNEW
;; 
;;  Instead standard options  instead you can use the short  
;;  options consisting of quantity of polylines (from 2 to 16)  
;;  and justification (Top, Zero, Bottom). For example: 
;; 
;;  Command: mpl
;;  <<< Quantity = 12, Justification = Top, Spacing = 40 >>>  
;;  Specify first point or [Quantity/Justification/Spacing]: 6 
;;  <<< Quantity = 6, Justification = Top, Spacing = 40 >>>  
;;  
;;  Command: mpl
;;  <<< Quantity = 6, Justification = Top, Spacing = 40 >>>  
;;  Specify first point or [Quantity/Justification/Spacing]: B 
;;  <<< Quantity = 6, Justification = Bottom, Spacing = 40 >>> 
;;  
;;  Command: mpl
;;  <<< Quantity = 6, Justification = Top, Spacing = 40 >>>  
;;  Specify first point or [Quantity/Justification/Spacing]: 16z  
;;  <<< Quantity = 16, Justification = Zero, Spacing = 40 >>> 
;;  
;; ==================================================================== 
;;  
;;  THIS PROGRAM AND PARTS OF IT MAY REPRODUCED BY ANY METHOD ON ANY 
;;  MEDIUM FOR ANY REASON. YOU CAN USE OR MODIFY THIS PROGRAM OR 
;;  PARTS OF IT ABSOLUTELY FREE. 
;; 
;;  THIS PROGRAM PROVIDES 'AS IS' WITH ALL FAULTS AND SPECIFICALLY 
;;  DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS 
;;  FOR A PARTICULAR USE.   
;; 
;; ==================================================================== 
;;  V1.3, 12 May, 2005, Riga, Latvia
;;  © Aleksandr Smirnov (ASMI)
;;  For AutoCAD 2000 - 2008 (isn't tested in a next versions)
;;  http://www.asmitools.com
;;  Edited by Kent Cooper to remove quantity limit, 12/12/2017
;; ==================================================================== 
;; 

(vl-load-com) 

(defun C:MPLNEW
 (/ *error* asmi-mlStyleCreate ExplodeMline lastEnt ptOpt oldEcho locked stPt mlName int suffix)

 (defun *error* (msg)
   (ExplodeMline)
   (if locked (command "_.layer" "_lock" (getvar 'clayer) "")); [if current Layer was locked, re-locks it]
   (setvar 'cmdecho oldEcho)
   (if (not (wcmatch msg "Function cancelled,quit / exit abort,console break"))
     (princ (strcat "\nError: " msg))
   ); if
   (princ)
 ); *error*

 (defun asmi-mlStyleCreate (Quant / dxfLst topOrd Count mlDict)
   (setq
     dxfLst
     (list
       '(0 . "MLINESTYLE") '(102 . "{ACAD_REACTORS") '(102 . "}")
       '(100 . "AcDbMlineStyle") (cons 2 (strcat (itoa Quant) "_PLINES"))
       '(70 . 0) '(3 . "") '(62 . 256) '(51 . 1.5708) '(52 . 1.5708) (cons 71 Quant)
     )
     Count 0.0
     topOrd (- (/ Quant 2.0) 0.5)
   ); setq
   (repeat Quant
     (setq
       dxfLst
         (append
           dxfLst
           (list
             (cons 49 (- topOrd Count))
             '(62 . 256) '(6 . "BYLAYER")
           )
         )
       Count (1+ Count)
     ); setq
   ); repeat
   (if
     (null
       (member (assoc 2 dxfLst) (dictsearch (namedobjdict) "ACAD_MLINESTYLE"))
     )
     (progn ; then
       (setq mlDict
         (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_MLINESTYLE")))
       )
       (dictadd mlDict (cdr (assoc 2 dxfLst)) (entmakex dxfLst))
     ); progn
   ); if
   (strcat (itoa Quant) "_PLINES")
 ); asmi-mlStyleCreate

 (defun ExplodeMline ()
   (if (or (not lastEnt) (not (equal lastEnt (entlast))))
     (progn ; then
       (command "_.explode" (entlast))
       (if (= (getvar 'peditaccept) 0)
         (command "_.pedit" "_m" "_previous" "" "_y" "_j" "0.0" ""); then
         (command "_.pedit" "_m" "_previous" "" "_j" "0.0" ""); else
       ); if
     ); progn
   ); if
 ); ExplodeMline

 (setq
   lastEnt (entlast)
   ptOpt T
   oldEcho (getvar 'cmdecho)
   locked (= (logand (cdr (assoc 70 (tblsearch "layer" (getvar 'clayer)))) 4) 4)
     ; current Layer is locked
 ); setq
 (if (not mpl:quant) (setq mpl:quant 2))
 (if (not mpl:just) (setq mpl:just "Zero"))
 (if (not mpl:spc) (setq mpl:spc 1.0))

 (while (and ptOpt (/= 'LIST (type ptOpt)))
   (prompt
     (strcat
       "\n<<< Quantity = " (itoa mpl:quant)
       ", Justification = " mpl:just
       ", Element spacing = " (rtos mpl:spc) " >>> "
     ); strcat
   ); prompt
   (initget 128 "Quantity Justification Spacing Top Zero Bottom")
   (setq ptOpt
     (getpoint (strcat "\nSpecify the 1st Point or [Quantity/Justification/Spacing]: "))
   ); setq
   (cond
     ((= (type ptOpt) 'LIST); picked a point
       (setq stPt ptOpt)
       (prompt "\nSpecify the next Point or [undo]: ")
     ); picked-a-point condition
     ((= ptOpt "Quantity")
       (setq mpl:quant
         (cond
           ( (getint
               (strcat "\nNumber of PLines <" (itoa mpl:quant) ">: ")
             ); getint
           ); user-input condition
           (mpl:quant); on Enter
         ); cond
       ); setq
     ); Quantity condition
     ((= ptOpt "Justification")
       (initget "Zero Top Bottom")
       (setq mpl:just
         (cond
           ( (getkword
               (strcat "\nJustification [Zero/Top/Bottom] <" mpl:just "> : ")
             ); getkword
           ); user-input condition
           (mpl:just); on Enter
         ); cond
       ); setq
     ); Justification condition
     ((= ptOpt "Spacing")
       (initget 6); no zero, no negative
       (setq mpl:spc
         (cond
           ( (getdist
               (strcat "\nSpacing between elements <" (rtos mpl:spc) ">: ")
             ); getdist
           ); user-input condition
           (mpl:spc); on Enter
         ); cond
       ); setq
     ); Spacing condition
     ((= ptOpt (itoa (atoi ptOpt))); typed any integer [alone]
       (setq mpl:quant (atoi ptOpt))
     ); integer-only condition
     ((wcmatch ptOpt "Top,Zero,Bottom"); one of those options [alone]
       (setq mpl:just ptOpt)
     ); direct justification condition
     ( (and
         (/= (setq int (atoi ptOpt)) 0); starts with any number
         (wcmatch (setq suffix (strcase (substr ptOpt (strlen ptOpt)))) "T,Z,B")
           ; ends with one of those letters
         (= (strlen ptOpt) (1+ (strlen (itoa int)))); just integer + one letter
       ); and
       (setq
         mpl:quant int
         mpl:just (cadr (assoc suffix '(("Z" "Zero") ("T" "Top") ("B" "Bottom"))))
       ); setq
     ); number + letter condition
     ((prompt "\n<!> Invalid option keyword <!> "))
   ); cond
 ); while

 (if ptOpt
   (progn
     (setq mlName (asmi-mlStyleCreate mpl:quant))
     (setvar 'cmdecho 0)
     (if locked (command "_.layer" "_unlock" (getvar 'clayer) "")); [if current Layer is locked, unlocks it]
     (command "_.mline" "_ST" mlName "_S" mpl:spc "_J" (strcat "_" mpl:just) stPt)
     (setvar 'cmdecho 1)
     (while (= 1 (getvar 'cmdactive)) (command pause))
     (ExplodeMline)
     (if locked (command "_.layer" "_lock" (getvar 'clayer) "")); [if current Layer was locked, re-locks it]
     (setvar 'cmdecho oldEcho)
   ); progn
 ); if

 (princ)
); defun

(prompt "\n[info] http:\\\\www.AsmiTools.com ")
(prompt "\n[info] To draw multiple PLines, on your keyboard: MPLNEW ") 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

hello tchetchi

je pense que l'utilisation des ML en phase projet peut être intéressant pour ton utilisation de cloisons mais j'ai vu des plans d'exé d'un installateur de cloisons (salles blanches/froides) et tout était fait avec des blocs dynamique pour extraction et avoir des émtrés, je pense que cette méthodologie est très pratique et pertinente

je peux eventuellement te faire suivre un bloc en démo en MP

++

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

a oui? comment faites vous les raccords?

 

 

Ce sont des polylignes, donc aucun soucis de raccords, ni d'arcs,..

 

 

Vous faites aussi un paramètre de visibilité pour pouvoir changer le type de cloison en cours de route?

Je ne fais plus de production, mais oui, j'avais passé une cinquantaine d'heures à développer un bloc dynamique qui répondait aux besoin d'un bureau d'études de structures Béton Armé,..

 

 

Salut Phil,,

Je pense que cela pourra en effet éclairer tchetchi car je pense vraiment que c'est une des solutions à sa question.

Aprés, pour les réseaux de longrines et poutres, j'avais préparé des multilignes pour ça et ça fonctionnait plutôt pas mal dans ce cas puisque les raccords se font par des clavetages,..

Pour résumé, toutes les pistes sont à explorer et il faut savoir utiliser le bon outil pour le bon besoin,..

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

je vous remercie pour ces retours. J'ai tester les Lisps ils sont plutôt intéressants en effet pour manipuler les multilignes qui sont assez rigides quand on cherche à les manipuler (comme vous le dites bien).

J'avais déjà repéré le premier dans les recherches sur le forum mais pas les suivants.

Du coup je pense que c'est utile mais pas pour tout comme on aurait envie de l'utiliser au départ.... En tout cas pour faire mes doublages c'est plutot pas mal!

 

Phil, est-ce un bloc avec juste une option d'étirement? si oui je dois pouvoir m'en sortir toute seule. Par contre si non ça peut effectivement m’intéresser.

 

En vous remerciant, bonne journée a tous

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Salut et bienvenue

 

Perso j'utilise :

 

http://www.lee-mac.com/mljust.html

http://www.lee-mac.com/mpline.html

 

 

Certaines de ces routines sont vraiment impressionnantes, j'en testent régulièrement.

 

Bon courage et encore bienvenue sur le forum et AUTOCRADE !

"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."
Lien vers le commentaire
Partager sur d’autres sites

@hebus

qu'est-ce que tu fais encore sur AutoCAD vilain assistant? pas près de devenir chargé d'affaires.... c'est moi qui te le dis..

en fait je crois que je vais appeler ton chef (la délation est à la mode en ce moment) pour lui dire que tu oses encore toucher des logiciels de DAO ... Oublie pas qu'il y a la dream team dans ton bureau!! :P

++

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é