lili2006 Posté(e) le 23 août 2008 Posté(e) le 23 août 2008 Bonjour à toutes et tous, Je voudrai revenir sur la routine "msfreeze" de (gile), autre option de navigation que gelobj. Serait-il possible également de sélectionner directement à l'écran une entité d'un calque que l'on souhaiterai geler dans l'EO, mais pas dans l'EP ? (en plus de la BD, par un bouton, par exemple ??!!) Ou dans le même style que "GEL_FEN" ? (Ou même _layoff avec le choix de l'option de selection des calques,blocs,...., ce qui sera le plus simple ou le mieux,...) Je suis sur un plan de 400 calques avec les XREFS et il est difficile de s'y retrouver rien qu'avec les noms de calques,.... Si cela est "réaliste", merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 23 août 2008 Posté(e) le 23 août 2008 Voilà, J'ai ajouté un bouton "Sélection" sous la liste de calques à geler.Je n'ai pas testé en profondeur. ;; MSFREEZE R1.7 (gile) 29/08/2008 ;; Pour geler des calques spécifiés uniquement dans l'onglet objet ;; Merci à Patrick_35 pour vlr-miscellaneous-reactor ;;; ;;; Modifications ;;; 23/08/08 : ajout de la possibilité de sélectionner des calques à l'écran ;;; 27/08/08 : choix du niveau d'imbrication des blocs pour les sélections à l'écran ;;; 29/08/08 : bug a avec les calques sélectionnés à l'écran puis dégelés dans la BD (defun c:msfreeze (/ lst tmp th fr) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-activeDocument (vlax-get-acad-object))) ) (or *layers* (setq *layers* (vla-get-layers *acdoc*))) (if (= (getvar "TILEMODE") 1) (progn (foreach l (vlax-ldata-get "MSpaceFreeze" "frozen") (and (getItem *layers* l) (= (vla-get-Freeze (vla-item *layers* l)) :vlax-true) (setq tmp (cons l tmp)) ) ) (or *MSpaceFreeze* (setq *MSpaceFreeze* (vlr-miscellaneous-reactor nil '((:vlr-layoutSwitched . msfreezerea)) ) ) ) (vlax-for l *layers* ((lambda (name) (if (/= name (getvar "clayer")) (if (= (vla-get-Freeze l) :vlax-true) (setq th (cons name th)) (setq fr (cons name fr)) ) ) ) (vla-get-Name l) ) ) (setq th (mapcar (function (lambda (x) (if (member x tmp) (strcat x " *") x ) ) ) th ) ) (setq lst (MSFreezeBox (vl-sort fr ' (foreach l (mapcar (function (lambda (x) (vl-string-right-trim " *" x)) ) (cadr lst) ) (vla-put-Freeze (vla-item *layers* l) :vlax-false) (setq tmp (vl-remove l tmp)) ) (foreach l (car lst) (vla-put-Freeze (vla-item *layers* l) :vlax-true) (setq tmp (cons l tmp)) ) (vlax-ldata-put "MSpaceFreeze" "frozen" tmp) (or tmp (progn (vlr-remove *MSpaceFreeze*) (setq *MSpaceFreeze* nil) ) ) (vla-regen *acdoc* acAllViewports) ) (alert "Vous devez être dans l'onglet objet pour lancer MSFREEZE." ) ) (princ) ) ;;=========================================================;; (defun MsFreezeRea (rea lay / false true th) (setq th (vlax-ldata-get "MSpaceFreeze" "frozen")) (vlax-for l *layers* (if (= (vla-get-Freeze l) :vlax-false) (setq false (cons (vla-get-Name l) false)) (setq true (cons (vla-get-Name l) true)) ) ) (cond ((= (car lay) "Model") (foreach l (common true th) (vlax-ldata-put "MSpaceFreeze" "frozen" (vl-remove l th) ) ) (foreach l th (if (= (getvar "CLAYER") l) (vlax-ldata-put "MSpaceFreeze" "frozen" (vl-remove l th) ) (vla-put-Freeze (vla-item *layers* l) :vlax-true) ) ) (setq *FromPaperSpace* nil) ) (T (if (not *FromPaperSpace*) (progn (foreach l (common th false) (vlax-ldata-put "MSpaceFreeze" "frozen" (vl-remove l th) ) ) (foreach l th (vla-put-Freeze (vla-item *layers* l) :vlax-false) ) ) ) (setq *FromPaperSpace* T) ) ) (vla-regen *acdoc* acAllViewports) ) ;;=========================================================;; ;;; GetItem (gile) ;;; Retourne le vla-object de l'item s'il est présent dans la collection ;;; ;;; Arguments ;;; col : la collection (vla-object) ;;; name : le nom de l'objet (string) ou son indice (entier) ;;; ;;; Retour : le vla-object ou nil (defun GetItem (col name / obj) (vl-catch-all-apply '(lambda () (setq obj (vla-item col name))) ) obj ) ;;=========================================================;; ;;; COMMON (gile) ;;; Retourne la liste des éléments communs à lst1 et lst2 ;;; (COMMON '(1 2 3 4) '( 2 3 4 5)) -> (2 3 4) (defun common (l1 l2) (if l1 (if (member (car l1) l2) (cons (car l1) (common (cdr l1) l2)) (common (cdr l1) l2) ) ) ) ;;=========================================================;; ;; 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 str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (str2lst (substr str (+ (strlen sep) pos 1)) sep) ) (list str) ) ) ;;=========================================================;; ;; lst2str ;; Concatène une liste et un séparateur en une chaine ;; ;; Arguments ;; lst : la liste à transformer en chaine ;; sep : le séparateur ;; ;; Exemples ;; (lst2str '(1 2 3) ",") -> "1,2,3" ;; (lst2str '("a" "b" "c") " ") -> "a b c" (defun lst2str (lst sep) (if (cadr lst) (strcat (vl-princ-to-string (car lst)) sep (lst2str (cdr lst) sep) ) (vl-princ-to-string (car lst)) ) ) ;;=========================================================;; ;; MSFreezebox (gile) ;; Boite de dialogue (defun MSFreezebox (fr th / len tmp file dcl_id freeze thaw ret ss lay lst frv thv pos kw u-lst ) (defun lst2val (sub lst) (lst2str (mapcar (function (lambda (x) (itoa (vl-position x lst)))) sub ) " " ) ) (defun val2lst (val lst) (mapcar (function (lambda (x) (nth (atoi x) lst))) (str2lst val " ") ) ) (setq len (max (length fr) (length th)) wid (+ 8 (apply 'max (mapcar 'strlen (append fr th)))) tmp (vl-filename-mktemp "tmp.dcl") file (open tmp "w") ) (write-line (strcat "MSFreezbox:dialog{label=\"Geler dans l'espace objet\";" ":text{label=\"Calque courant : " (getvar "clayer") "\";}spacer;:row{" ) file ) (write-line (strcat ":column{width=" (itoa wid) ";:list_box{label=\"Geler\";key=\"freeze\"; multiple_select=true;width=40;height=" (cond (( (( (T "10") ) ";}:button{key=\"sel\";label=\"Sélection >>\";fixed_width=true;}}" ) file ) (write-line (strcat ":column{width=" (itoa wid) ";:list_box{label=\"Dégeler\";key=\"thaw\"; multiple_select=true;width=40;height=" (cond (( (( (T "10") ) ";}:text{label=\"* gelé en espace objet\"; alignment=left;}}" ) file ) (write-line "}spacer;ok_cancel;}" file) (close file) (setq dcl_id (load_dialog tmp) what_next 2 ) (while ( (if (not (new_dialog "MSFreezbox" dcl_id)) (exit) ) (and fr (start_list "freeze") (mapcar 'add_list fr) (end_list) ) (and th (start_list "thaw") (mapcar 'add_list th) (end_list) ) (and frv (set_tile "freeze" (lst2val frv fr))) (and thv (set_tile "thaw" (lst2val thv th))) (action_tile "freeze" "(setq frv (val2lst $value fr))") (action_tile "thaw" "(setq thv (val2lst $value th)) (foreach n (common (mapcar (function (lambda (x) (vl-string-right-trim \" *\" x))) thv) freeze) (setq freeze (vl-remove n freeze)))") (action_tile "sel" "(done_dialog 3)") (action_tile "accept" "(or (not (setq ret (get_tile \"freeze\"))) (= ret \"\") (foreach n (str2lst ret \" \") (setq freeze (cons (nth (atoi n) fr) freeze)))) (or (not (setq ret (get_tile \"thaw\"))) (= ret \"\") (foreach n (str2lst ret \" \") (setq thaw (cons (nth (atoi n) th) thaw)))) (done_dialog 1)" ) (setq what_next (start_dialog)) (if (= 3 what_next) (progn (or *MsFreezeNestingLevel* (setq *MsFreezeNestingLevel* "Bloc") ) (princ (strcat "\nParamètre courant : Niveau d'imbrication de bloc = " *MsFreezeNestingLevel* ) ) (while (or (initget "Imbrication annUler") (setq ent (nentsel "\nSélectionnez un objet du calque à geler ou [imbrication/annUler]: " ) ) ) (cond ((= ent "Imbrication") (initget "Entité Bloc Aucun") (or (and (setq kw (getkword (strcat "\nEntrez le niveau d'imbrication de sélection de bloc [bloc/Entité/Aucun] *MsFreezeNestingLevel* ">:" ) ) ) (setq *MsFreezeNestingLevel* kw) ) (setq kw *MsFreezeNestingLevel*) ) ) ((= ent "annUler") (if u-lst (progn (vla-put-Freeze (vla-item *layers* (setq lay (car u-lst))) :vlax-false) (vla-regen *acdoc* acActiveViewport) (setq fr (vl-sort (cons lay fr) ' th (vl-remove (strcat lay " *") th) u-lst (cdr u-lst) freeze (vl-remove lay freeze) ) ) (princ "\nTout a été annulé.") ) ) (T (setq lay (vla-get-Layer (vlax-ename->vla-object (cond ((or (= 2 (length ent)) (= *MsFreezeNestingLevel* "Entité") ) (car ent) ) ((= *MsFreezeNestingLevel* "Bloc") (car (last ent)) ) ((= *MsFreezeNestingLevel* "Aucun") (last (last ent)) ) ) ) ) ) (if (= lay (getvar "clayer")) (alert (strcat "\"" lay "\" est le calque courant\nIl ne peut être gelé" ) ) (if (not (member lay freeze)) (progn (vla-put-Freeze (vla-item *layers* lay) :vlax-true) (setq u-lst (cons lay u-lst) th (vl-sort (cons (strcat lay " *") th) ' fr (vl-remove lay fr) freeze (cons lay freeze) ) ) ) ) ) ) ) ) ) ) (unload_dialog dcl_id) (vl-file-delete tmp) (list freeze thaw) ) ;;=========================================================;; ;; Chargement au démarrage (à copier dans acaddoc.lsp ou MNL) (and (not *MSpaceFreeze*) (vlax-ldata-get "MSpaceFreeze" "frozen") (or *acdoc* (setq *acdoc* (vla-get-activeDocument (vlax-get-acad-object))) ) (or *layers* (setq *layers* (vla-get-layers *acdoc*))) (setq *MSpaceFreeze* (vlr-miscellaneous-reactor nil '((:vlr-layoutSwitched . msfreezerea)) ) ) ) [Edité le 25/8/2008 par (gile)][Edité le 25/8/2008 par (gile)][Edité le 25/8/2008 par (gile)][Edité le 27/8/2008 par (gile)][Edité le 28/8/2008 par (gile)][Edité le 29/8/2008 par (gile)] [Edité le 29/8/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 23 août 2008 Auteur Posté(e) le 23 août 2008 Re, Encore un grand merci à toi (gile) La fonction rempli bien son travail, par contre, quand je passe dans l'EP, AutoCAD "plante", c'est à dire qu'il est très long à réagir et je ne vois plus le curseur de la souris. Je peux revenir dans l'EO avec un long temps d'attente, mais je n'ai toujours pas accès à la souris ! Bilan, ctrl + alt + suppr pour rouvrir le plan sur une nouvelle session, J'ai eu trois fois ce résultat avant de poster, Une idée ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 23 août 2008 Posté(e) le 23 août 2008 J'avais laissé trainer un (princ ...) pour le déboggage qui inscrit la liste des calques gelés , mais je ne pense pas que ça puisse venir de ça (je modifie le code). As tu essayé en modifiant la valeur de LAYOUTREGENCTL ? Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 23 août 2008 Auteur Posté(e) le 23 août 2008 Re, A priori, tout à l'air ok maintenant ! Je n'ai pas modifié la valeur de "LAYOUTREGENCTL" qui est de 2. Quel "réglage" de cette variable est le meilleur selon toi ? Marche super bien aussi avec les XREFS !!! Merci encore, c'est super pratique comme ça ! Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 23 août 2008 Posté(e) le 23 août 2008 Il restait un dysfonctionnement, j'ai à nouveau modifié le code. Pour LAYREGENCTL, ça dépend à la fois du nombre d'entités à régénérer, de présentations et de fenêtre dans les présentations, mais aussi de la RAM disponible. Avec une valeur de 2, les passages entre présentations sont plus rapides tant que la RAM n'est pas saturée. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 23 août 2008 Auteur Posté(e) le 23 août 2008 Re, Merci ! :D Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 23 août 2008 Auteur Posté(e) le 23 août 2008 Rere, J'avais pas encore remarqué que l'on pouvait faire une fenêtre de capture !!! Décidément, même en étant assidu, j'arrive à rater des trucs,...:mad: Merci encore, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 24 août 2008 Posté(e) le 24 août 2008 Salut, Petite amélioration "cosmétique" : tous les calques gelés sont affichés dans la liste "Dégeler", ceux qui ne sont gelés qu"en espace objet sont succédés d'une astérisque. http://img93.imageshack.us/img93/275/msfreezevt1.png [Edité le 25/8/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 24 août 2008 Auteur Posté(e) le 24 août 2008 Bonjour à toutes et tous, Une pure merveille ! Merci encore (gile) , ;) ]PS : Je profite de ce post pour demander si il existe un moyen de geler un calque (Dans l'EO surtout !)d'une xref sans être obligé de l'ouvrir,... "xlist" arrive à reconnaitre les entités, "ncopy" à copier des éléments,.... Merci d'avance Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 24 août 2008 Posté(e) le 24 août 2008 Je profite de ce post pour demander si il existe un moyen de geler un calque (Dans l'EO surtout !)d'une xref sans être obligé de l'ouvrir,... Ben oui, avec les commande AutoCAD comme avec msfreeze, ou alors j'ai pas compris la question... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
usegomme Posté(e) le 25 août 2008 Posté(e) le 25 août 2008 Salut Lili , salut Gile (et les autres), toujours super tes lisp .GELOBJ marche trés bien mais pour MSFREEZE il me manque la fonction STR2LST. Mis à part l'interface et la possibilté de sélection ,y a-t-il une différence entre les deux. Sinon , petite question de pratique (j' essaie de débuter en 3D), y a-t-il un intérêt , pour un plan d'ensemble de travailler dans l'onglet objet , vu le fouilli de calques. Les lisps que tu as créé permettent certes d'y remédier ,mais si ça dépanne bien , est-ce vraiment mieux que de dessiner dans une fenêtre. En passant merci pour edit_bloc , je ne m'en suis servi qu'une fois , mais sans lui , j'étais coincé . [Edité le 25/8/2008 par usegomme]
(gile) Posté(e) le 25 août 2008 Posté(e) le 25 août 2008 Salut, Merci pour le retour, je modifie le code pour y joindre str2lst. GELOBJ et MSFREEZE fonctionnent de la même façon, l'interface change à cause d'un problème du au nombre de calques et à la taille limitée des boites dialogue (de l'écran en fait) avec gelobj qui affiche tous les calques avec des cases à cocher. MSFREEZE en utilisant des "list_box" palie à ce problème, cette dernière possède en plus la possibilité de sélection à l'écran.Personnellement, je crois que je préfère cette dernière. Sinon , petite question de pratique (j' essaie de débuter en 3D), y a-t-il un intérêt , pour un plan d'ensemble de travailler dans l'onglet objet , vu le fouilli de calques. Les lisps que tu as créé permettent certes d'y remédier ,mais si ça dépanne bien , est-ce vraiment mieux que de dessiner dans une fenêtre. Je pense que c'est une question d'habitude, je travaille toujours en EO, les présentations ne me servent qu"à la mise en page (et cotation/annotations) pour impression. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 25 août 2008 Auteur Posté(e) le 25 août 2008 Bonsoir à toutes et tous, Ben oui, avec les commande AutoCAD comme avec msfreeze, ou alors j'ai pas compris la question... En fait, je n'avais pas vu, qu'il fallait que je dégèle le calque d'insertion de la xref pour reprendre la main sur les différents calques de la XREF, Mais, il demeure un pb chez moi, il gèle par défaut aussi le calque d'insertion à chaque nouvelle manip (avec le bouton sélection, j'entends,..) Exemple sur l'image ci-dessous, insertion de la XREF dans le calque "0", je ne peux pas sélectionner (avec le bouton sélection !) un autre calque,...sans auparavent réactiver le calque d'insertion de la XREF,... http://images4.hiboox.com/images/3508/04542cec9c16f1581c31f89993689dc4.jpg Mais ce n'est pas non plus hyper grave,... Est-ce que la BD peut s'étirer de manière à lire le nom complet des calques (surtout pour les XREFS), mais là, on rentre dans le luxe,... Merci encore, MSFREEZE en utilisant des "list_box" palie à ce problème, cette dernière possède en plus la possibilité de sélection à l'écran.Personnellement, je crois que je préfère cette dernière. Moi aussi ! :P Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 25 août 2008 Posté(e) le 25 août 2008 J'ai modifié le code pour qu'il prenne en compte la largeur du nom de calque le plus long. Pour la sélection, on ne peut pas sélectionner d'entité imbriquée avec la fonction ssget, c'est pourquoi quand tu sélectionnes un objet appartenant à une xref ou un bloc c'est le calque sur lequel est inséré la référence qui est pris en compte. Je suis en train d'essayer avec la fonction nentsel qui permet de sélectionner les entités imbriquées mais seulement une par une.Je voudrais arriver à mettre en surbrillance tous les objet du calque sélectionné, mais j'ai encore un soucis avec les objets imbriqués dans des références. Demain... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 26 août 2008 Posté(e) le 26 août 2008 Bonjour (gile) Je te propose juste une idée pour ce qui concerne la sélection à l'écran.Tu peux t'inspirer de ce qui à été fait avec le lisp layfrz des express-tools qui permet la sélection avec un entsel ou nentsel suivant l'option choisit @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lili2006 Posté(e) le 26 août 2008 Auteur Posté(e) le 26 août 2008 Bonjour à toutes et tous, Merci beaucoup de vous intéresser à mon "problème" qui, comme je l'ai écrit plus haut n'en est pas vraiment un.... , on rentre dans le luxe,... ;) Mais qu'est-ce que c'est bien le luxe sur AutoCAD,... grâce à vous ! Merci encore, J'ai modifié le code pour qu'il prenne en compte la largeur du nom de calque le plus long. Super ! Si c'est pas du confort ça,... http://images4.hiboox.com/images/3508/5c4461650121a80b6ea417bb13aaf9a1.jpg Patrick_35, tu parles bien de la fonction récupérée par Autocad sur la V2007 ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 27 août 2008 Posté(e) le 27 août 2008 Salut, Comme je n'arrive pas à mettre en surbrillance les calques des xrefs, j'ai opté pour la proposition de Patrick_35 pour la sélection des éléments imbriques dans les blocs et xrefs.Donc MsFreeze en mode "Sélection" fonctionne un peu comme GELCALQUE (anciennement layfreeze des Express tools) avec 3 niveaux d'imbrication possibles : Bloc Entité et Aucun, la possibilité de changer de paramètre pendant le cycle de sélection en entrant I (suivre les indications sur la ligne de commande).Les calques sélectionnés sont immédiatement gelés et il est possible d'annuler (entrer U). J'ai modifié le code Réponse 1 Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
usegomme Posté(e) le 28 août 2008 Posté(e) le 28 août 2008 Salut, Aprés réouverture du fichier ,pour que les présentations retrouvent leur config , je dois lancer MSFREEZE , ai-je raté mon installation ? En tout cas , je suis baba que tu puisses mémoriser l'etat des calques.
lili2006 Posté(e) le 28 août 2008 Auteur Posté(e) le 28 août 2008 Bonjour à toutes et tous, Excellent ! Encore une histoire qui fini mieux que espéré au départ,.... Bloc Entité et Aucun, la possibilité de changer de paramètre pendant le cycle de sélection en entrant I (suivre les indications sur la ligne de commande). Balaise !!! Je ne pensais pas en avoir besoin au départ et tout compte fait si et plus souvent que je ne l'imaginais !! Bravo les artistes de la prog,... Merci à (gile) et Patrick_35, :P EDIT : Par contre, j'ai l'impression que l'option "Largeur BD suivant le nom de calque le plus long" semble ne plus fonctionner,... http://images4.hiboox.com/images/3508/7595183dcc2d3cd6cfadbc6ac75e4a85.jpg Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 28 août 2008 Posté(e) le 28 août 2008 Usegome, Il faut coller les dernières lignes du LISP dans un fichier de chargement automatique des routines LISP (acaddoc.lsp à créer si ce n'est déjà fait ou le fichier MNL du même nom que ton fichier CUI courant AutoCAD.mnl par exemple) ;; Chargement au démarrage (à copier dans acaddoc.lsp ou MNL) (and (not *MSpaceFreeze*) (vlax-ldata-get "GelerOngletObjet" "toggled") (or *acdoc* (setq *acdoc* (vla-get-activeDocument (vlax-get-acad-object))) ) (or *layers* (setq *layers* (vla-get-layers *acdoc*))) (setq *MSpaceFreeze* (vlr-miscellaneous-reactor nil '((:vlr-layoutSwitched . msfreezerea)) ) ) ) En tout cas , je suis baba que tu puisses mémoriser l'etat des calques Il s'agit simplement de stocker une liste des calques gelés avec msfreeze (donc uniquement dans l'EO).Cette liste est sockée dans une sorte de dictionnaire. : j'utilise pour ça les fonctions vlax-ladata-* qui sont bien pratiques (d'aucuns leur reprochent un accès aux données uniquement en LISP). On peut aussi utiliser un dictionnaire "classique". lili2006, Par contre, j'ai l'impression que l'option "Largeur BD suivant le nom de calque le plus long" semble ne plus fonctionner,... Exact, je travaillais sur plusieurs versions et j'avais oublié d'apporter cette amélioration.C'est réparé : version 1.6 [Edité le 28/8/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 28 août 2008 Auteur Posté(e) le 28 août 2008 Re, Nickel-chrome ! Un grand merci, :D Je pense bien à d'autres petits trucs, mais bon,... Allez j'me lance, Serait-il possible de pouvoir faire "glisser-déposer" les calques des colonnes "Geler" vers "Dégeler",ou tout autre idée de sélection,.... Je m'explique, il est très pratique de sélectionner un calque pour le geler grâce au bouton "sélection", mais comment dégèle t-on celui ou ceux-ci ? Vous allez me répondre, "bin, avec le gestionnaire des calques, via l'ascenseur !", mais vous devez avoir le même problème que moi de lecture sur celui-ci ! http://images4.hiboox.com/images/3508/af3d8bca371067e33e467e990823b1eb.jpg Donc, si quelqu'un à une idée concernant ce "confort",.... ;) Merci encore, terrible le truc ! Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 28 août 2008 Posté(e) le 28 août 2008 Salut "Monsieur plus", Serait-il possible de pouvoir faire "glisser-déposer" les calques des colonnes "Geler" vers "Dégeler",ou tout autre idée de sélection,.... Je ne pense pas que ce soit possible en DCL, en tout cas, je ne sais pas faire.Par contre, tu peux très bien sélectionner des calques dans la liste "Dégeler" de la boite de dialogue de MsFreeze. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 28 août 2008 Auteur Posté(e) le 28 août 2008 Re, Il me semblait bien que cela était faisable,... mais je n'avais pas vu qu'il fallait sortir de la boite (par ok !),... Milles excuses et merci pour tout ! ;) PS: "Monsieur plus", C'est marrant, j'appelle un de mes fils comme ça,.... Cela tiendrait-il de famille ? Merci et encore une fois bravo pour ce travail,. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
usegomme Posté(e) le 29 août 2008 Posté(e) le 29 août 2008 Bonjour.Merci pour les infos, (gile) , par contre je n'arrive toujours pas à ce qu'il restore les calques des l'ouverture du dessin ,j'ai rajouté également le (vl-load-com) dans acaddoc.lsp pour que les vlax..... fonctionnent , mais comme je ne comprend rien au vlisp je suis dans les choux , sûr qu'il doit me manquer une fonction qlq part . Je suppose que Lili2006 n'a pas le problème car tous ses lisp sont chargés à l'ouverture du dessin , alors que je passe par autoload.
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant