CADxp: MLINE - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

MLINE

#1 L'utilisateur est hors-ligne   dfbiagio 

  • ceinture noire
  • Groupe : Membres
  • Messages : 434
  • Inscrit(e) : 28-juillet 03
  • LocationBinche

Posté 12 septembre 2018 - 15:01

Bonjour,
J'utilise autocad 2019 et je n'arrive pas à corriger et à créer des mline.
merci d'avance
@+
0

#2 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8549
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 12 septembre 2018 - 18:04

Hello

Avec mon AutoCAD MAP 2019.1.1, je viens de creer un Nouveau Style de MLINE
(du genre Triple Ligne Rouge/Bleue) puis je l'ai utilise sans probl particulier !

Bye, lecrabe
Autodesk Expert Elite Team
0

#3 L'utilisateur est hors-ligne   dfbiagio 

  • ceinture noire
  • Groupe : Membres
  • Messages : 434
  • Inscrit(e) : 28-juillet 03
  • LocationBinche

Posté 13 septembre 2018 - 07:48

Comme on dit chez nous, "Beato te"

Essaie de corriger, mettre 45° au début et à la fin.
Bien à toi.

Voir le messagelecrabe, le 12 septembre 2018 - 18:04 , dit :

Hello

Avec mon AutoCAD MAP 2019.1.1, je viens de creer un Nouveau Style de MLINE
(du genre Triple Ligne Rouge/Bleue) puis je l'ai utilise sans probl particulier !

Bye, lecrabe

0

#4 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8549
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 18 septembre 2018 - 10:28

Hello

No problem avec ma Triple Ligne et Angles = 45 degres
( 2 Rouge en Exterieurs , 1 Bleu en Interieur )
Voir ci-apres mon fichier M.mln

Bye, lecrabe

>>>
MLSTYLE
2
M
70
0
3
M
62
256
51
45.00000000000000
52
45.00000000000000
71
3
49
0.5000000000000000
62
1
6
BYLAYER
49
0.000000000000000
62
5
6
BYLAYER
49
-0.5000000000000000
62
1
6
BYLAYER
0
<<<
Autodesk Expert Elite Team
0

#5 L'utilisateur est hors-ligne   dfbiagio 

  • ceinture noire
  • Groupe : Membres
  • Messages : 434
  • Inscrit(e) : 28-juillet 03
  • LocationBinche

Posté 21 septembre 2018 - 07:54

Ok, c'est bien, mais moi je ne sais pas modifier les angles ;-(
Bien à toi
@+

Voir le messagelecrabe, le 18 septembre 2018 - 10:28 , dit :

Hello

No problem avec ma Triple Ligne et Angles = 45 degres
( 2 Rouge en Exterieurs , 1 Bleu en Interieur )
Voir ci-apres mon fichier M.mln

Bye, lecrabe

>>>
MLSTYLE
2
M
70
0
3
M
62
256
51
45.00000000000000
52
45.00000000000000
71
3
49
0.5000000000000000
62
1
6
BYLAYER
49
0.000000000000000
62
5
6
BYLAYER
49
-0.5000000000000000
62
1
6
BYLAYER
0
<<<

0

#6 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8549
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 21 septembre 2018 - 09:47

Hello

Desole mais je ne te suis pas du tout !?

Est ce que mon Style de Multi-Lignes est OK chez toi ?
Il te suffit de le copier/coller dans un fichier text TEST.MLN
et de le charger puis de l'utiliser ... C BETON ! ... J'ai teste ...

En fait ne veux tu pas changer APRES le Style de MLN de tes Multi-Lignes existantes ???
Si OUI: il te faut simplement la bonne routine LSP ...

La routine CMLS du Grand Matre Gilles est indispensable des que l'on utilise les MLINEs ...

MERCI Gilles, Bye, lecrabe


 
;; 
;; Modif/Patch for versions 2015/2016/etc 
;; 
;; Par GC (gile) - Changer le style de Multi-Lignes ... Change MultiLines Style ... 
;; 
;; Routine/Command : CMLS
;; 
 

(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 (gile) 
;; 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
0

#7 L'utilisateur est hors-ligne   dfbiagio 

  • ceinture noire
  • Groupe : Membres
  • Messages : 434
  • Inscrit(e) : 28-juillet 03
  • LocationBinche

Posté 25 septembre 2018 - 14:07

Mille excuses, c'est une erreur de manipulation de ma part.
J'deviens vi.

Merci les gars.
@+
0

#8 L'utilisateur est hors-ligne   Megeon 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 574
  • Inscrit(e) : 15-décembre 15

Posté 25 septembre 2018 - 14:46

:(rires forts):

Bravo Lecrabe, tu as réussis a résoudre un problème avec un interlocuteur confu ! Juste Bravo

(Aparté-on) hé ben t'es du 42 ? Quand aurons nous la chance de te voir dans nos regroupements totodesk Lyonnais
En gros on parle AutoCAD/REVIT et on boit de la bierre
(Aparté-off)
0

#9 L'utilisateur est en ligne   Olivier Eckmann 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1270
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 26 septembre 2018 - 07:19


Tu veux faire descendre un Stéphanois sur Lyon. Mais ça va pas non!!
Sauf si les Verts mettent une torchée à l'OL. Là c'est la ruée!!!



Olivier
0

#10 L'utilisateur est hors-ligne   Megeon 

  • ceinture noire 1er dan
  • Groupe : Membres
  • Messages : 574
  • Inscrit(e) : 15-décembre 15

Posté 26 septembre 2018 - 08:08

alors j'ai pas envie de rentrer dans le débats de guerre des villes, (Paris/Marseille ; Lyon/Saint-Etienne ; Metz/Nancy), mais ce genre de chose me passe par dessus la tête ! Ça n'a aucun intérêt ! De plus nG Hebus est du 42 me semble t'il est il est déjà venu et y a pas eu de soucis !!!! B) B) B)
0

#11 L'utilisateur est hors-ligne   salvanorigatore 

  • ceinture noire
  • Groupe : Membres
  • Messages : 364
  • Inscrit(e) : 02-décembre 05
  • LocationGrenoble

Posté 05 septembre 2019 - 07:23

Bonjour Lecrabe et Gilles,merci pour ce lisp.J'ai l'ai utilisé une fois et il a fonctionné parfaitement.Malheureusement la fois d’après il m'a retourné une erreur et il veut plus fonctionner !Voici le message :

Citation

Commande: CMLS
Erreur: no function definition: GC:GETDICTENTRIES
Commande:

Je ne sais pas pourquoi ça fait ça mais ça m’énerve parce que ça me sauvait la vie Image IPBS'il vous plait avait vous une solution ?Merci bcp, bcp d'avance.
PS. je travaille avec AutoCAD 2019
" Celui qui a déplacé la montagne, c'est celui qui a commencé par enlever les petites pierres "
0

#12 L'utilisateur est hors-ligne   salvanorigatore 

  • ceinture noire
  • Groupe : Membres
  • Messages : 364
  • Inscrit(e) : 02-décembre 05
  • LocationGrenoble

Posté 05 septembre 2019 - 07:50

Re-bonjour,
désolé mais ça venait de moi !
Tout va bien, ne tenait pas compte de mon message.
Que votre journée soit belle.Image IPB
" Celui qui a déplacé la montagne, c'est celui qui a commencé par enlever les petites pierres "
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)