(gile) Posté(e) le 27 mai 2006 Posté(e) le 27 mai 2006 J'ouvre un nouveau sujet qui fait suite à celui ci qui commençait à devenir fort long. Voici la version 2.4 (17/07/06) de EDIT_BLOC (attention nouveaux fichiers DCL edit_bloc.dcl et alert_bloc.dcl) http://img92.imageshack.us/img92/3361/eb3ho.png Nouveautés - Mise à jour de l'échelle des blocs composant les blocs imbriqués si l'unité d'insertion de leurs définitions a été changée. - Ajout de la possibilité de mettre les entités en style de tracé DuBloc (demande de "LeCrabe" que j'avais "zappée" - je ne suis pas coutumier des styles de tracé nommés). Cette possibilité n'est accessible que si le dessin courant est en mode style de tracé nommés (STB). - Ajout d'une boite de dialogue pour confirmation des changements d'échelle de blocs dynamiques. En cas d'infirmation, l'échelle du bloc n'est pas modifiée mais les autres modifications et les modification des autres blocs sont effectuées. - Réparation d'un dysfonctionnement avec les sélections de certaines références de blocs dynamiques (blocs anonymes). Le nouveau DCL à enregistrer sous edit_bloc.dcl dans un dossier de recherche des fichiers de support : // Boite de dialogue du LISP EDIT_BLOC version 2.0 edit_bloc:dialog{ label="Redéfinition de blocs"; :boxed_row{ label="Choix des blocs"; :radio_column{ :radio_button{ label="Toute la collection"; key="tbl"; fixed_width=true; allow_accept=true; } :radio_button{ label="Tous les blocs insérés"; key="all"; fixed_width=true; allow_accept=true; } :radio_button{ label="Sélection"; key="sel"; value="1"; fixed_width=true; } } :button{ label=" key="ss"; fixed_width=true; alignment=bottom; allow_accept=true; } } :boxed_column{ label="Propriétés à modifier"; :edit_box{ label= "Échelle globale"; key="fact"; edit_width=8; value="1"; allow_accept=true; } :popup_list{ label="Unités "; key="unt"; edit_width=16; } spacer; :toggle{ label="Calque 0"; key="lay"; fixed_width=true; allow_accept=true; } :toggle{ label="Couleur DuBloc"; key="col"; fixed_width=true; allow_accept=true; } :toggle{ label="Type de ligne DuBloc"; key="tl"; fixed_width=true; allow_accept=true; } :toggle{ label="Épaisseur de ligne DuBloc"; key="el"; fixed_width=true; allow_accept=true; } :toggle{ label="Style de tracé DuBloc"; key="plt"; fixed_width=true; allow_accept=true; } } ok_cancel; } Le DCL de la boite de confirmation à enregistrer sous alert_bloc.dcl dans un dossier de recherche des fichiers de support : // Boite de dialogue Echelle des blocs dynamiques alert_bloc:dialog{ label="Échelle des blocs dynamiques"; :paragraph{ :text_part{ value="Le changement d'échelle n'affecte pas"; } :text_part{ value="les paramètres des blocs dynamiques."; } } spacer; :boxed_column{ label="Modifier l'échelle du bloc"; :text{ key="txt"; } :radio_row{ :radio_button{ label="Oui"; mnemonic="O"; key="mod"; } :radio_button{ label="Non"; mnemonic="N"; key="anl"; value="1"; } } } ok_only; } Le LISP : ;;; Edit_bloc - Gilles Chanteau - version 2.4 - 17/07/06 ;;; ;;; Redéfinit les blocs après modification des propriétés de leurs composants. ;;; ;;; Les modification affectent : ;;; - soit tous les blocs de la collection (insérés ou non) ;;; - soit tous les blocs insérés ;;; - soit une sélection de blocs faite dans le dessin. ;;; ;;; Il est possible de : ;;; - modifier l'échelle globale ;;; - changer l'unité d'insertion (versions postérieures à 2005) ;;; - mettre les objets composant les blocs sur le calque 0 ;;; - changer la couleur, le type de ligne, l'épaisseur de ligne ;;; et le style de tracé (STB uniquement) des composants en DuBloc. ;;; ;;; Les blocs composant les blocs imbriqués sont traités. ;;; Les blocs insérés dans le dessin sont mis à jour en fonction ;;; des modifications effectuées. ;;; ;;; Les paramètres et propriétés des blocs dynamiques n'étant pas pris ;;; en compte par les changements d'échelle, une boite de dialogue demande ;;; confirmation ou infirmation pour les changements d'échelle du bloc. (vl-load-com) (defun c:edit_bloc (/ ;; Fonctions e_b_err edit_prop scl_upd att_upd sub_upd edit_bl ;; Variables AcDoc dcl_id loop u_lst lay col tl el plt fact unt ss ) ;;;******************************************************************* ;;; ;; Redéfinition de *error* (defun e_b_err (msg) (if (or (= msg "Fonction annulée") (= msg "quitter / sortir abandon") ) (princ) (princ (strcat "\nErreur: " msg)) ) (vla-endundomark (vla-get-ActiveDocument (vlax-get-acad-object)) ) (setq *error* m:err m:err nil ) (princ) ) ;;;******************************************************************* ;;; (defun alert_bloc (name / dcl_id) (setq dcl_id (load_dialog "Alert_bloc.dcl")) (if (not (new_dialog "alert_bloc" dcl_id)) (exit) ) (set_tile "txt" name) (action_tile "mod" (strcat "(if (= \"1\" $value)" "(setq e_scl T)" "(setq e_scl nil))" ) ) (action_tile "anl" (strcat "(if (= \"1\" $value)" "(setq e_scl nil)" "(setq e_scl T))" ) ) (action_tile "accept" "(done_dialog)") (start_dialog) (unload_dialog dcl_id) ) ;;;******************************************************************* ;;; ;; Modification des propriétés des entités composant le bloc (defun edit_prop (ent) (if (= lay "Oui") (vla-put-Layer ent "0") ) (if (= col "Oui") (vla-put-Color ent acByBlock) ) (if (= tl "Oui") (vla-put-LineType ent "ByBlock") ) (if (= el "Oui") (vla-put-LineWeight ent acLnWtByBlock) ) (if (= plt "Oui") (vla-put-PlotStyleName ent "ByBlock") ) ) ;;;******************************************************************* ;;; ;; Mise à jour des attributs (defun att_upd (obj) (if (= :vlax-true (vla-get-HasAttributes obj)) (if (listp (setq att_lst (vl-catch-all-apply 'vlax-invoke (list obj 'getAttributes) ) ) ) (mapcar '(lambda (x) (if (/= fact 1.0) (vla-ScaleEntity x (vla-get-InsertionPoint obj) fact ) ) (edit_prop x) ) att_lst ) ) ) ) ;;;******************************************************************* ;;; ;; Mise à jour de l'échelle en cas de changement d'unité (defun scl_upd (obj) (if (and unt (/= unt 0) (/= i_unt unt) (/= i_unt 0) ) (vla-ScaleEntity obj (vla-get-InsertionPoint obj) (cvunit 1 (nth unt u_lst) (nth i_unt u_lst) ) ) ) ) ;;;******************************************************************* ;;; ;; Mise à jour des blocs composant les blocs imbriqués (defun sub_upd (obj blc / org ins) (if (/= fact 1.0) (progn (setq org (vlax-get blc 'origin) ins (vlax-get ent 'InsertionPoint) ) (vla-put-InsertionPoint obj (vlax-3d-point (mapcar '+ org (mapcar '(lambda (x) (* x fact) ) (mapcar '- ins org) ) ) ) ) ) ) (edit_prop obj) (att_upd obj) ) ;;;******************************************************************* ;;; ;; Modification des blocs (defun edit_bl (/ n obj lst n_lst name bloc e_scl i_unt nb) ;; Dévérouillage de tous les calques (vlax-for clq (vla-get-Layers AcDoc) (if (= :vlax-true (vla-get-lock clq) ) (progn (vla-put-lock clq :vlax-false) (setq clq_lst (cons clq clq_lst)) ) ) ) ;; Création de la liste des blocs à modifier (if ss ;; Si "Sélection" ou "Tous les blocs insérés" (progn (repeat (setq n (sslength ss)) (setq obj (vlax-ename->vla-object (ssname ss (setq n (1- n)))) ) (if (vlax-property-available-p obj 'EffectiveName) (setq name (vla-get-EffectiveName obj)) (setq name (vla-get-Name obj)) ) (if (and (not (member name lst)) (= :vlax-false (vla-get-isXref (vla-item (vla-get-Blocks AcDoc) name) ) ) ) (setq lst (cons name lst)) ) ) ;; Ajout des blocs composant les blocs imbriqués à la liste (setq n_lst 0) (while (setq name (nth n_lst lst)) (setq bloc (vla-item (vla-get-blocks acDoc) name)) (vlax-for ent bloc (if (and (= (vla-get-ObjectName ent) "AcDbBlockReference") (not (member (vla-get-name ent) lst)) ) (setq lst (reverse (cons (vla-get-Name ent) (reverse lst))) ) ) ) (setq n_lst (1+ n_lst)) ) ) ;; Si "Toute la collection" (vlax-for bl (vla-get-blocks AcDoc) (if (and (= :vlax-false (vla-get-isLayout bl)) (= :vlax-false (vla-get-isXref bl)) ) (setq lst (cons (vla-get-name bl) lst)) ) ) ) ;; Modification des blocs (mapcar '(lambda (name) (setq bloc (vla-item (vla-get-blocks AcDoc) name)) (if (and ( (= (vla-get-IsDynamicBlock bloc) :vlax-true) (/= fact 1.0) ) (progn (setq e_scl nil) (alert_bloc name) ) (setq e_scl T) ) (vlax-for ent bloc (if (/= (vla-get-ObjectName ent) "AcDbZombieEntity") (if (/= (vla-get-ObjectName ent) "AcDbBlockReference") (progn (if (and (/= fact 1.0) e_scl) ;_ Echelle (vla-ScaleEntity ent (vla-get-origin bloc) fact) ) (edit_prop ent) ) (sub_upd ent bloc) ) ) ) (if ( (if (/= (setq i_unt (vla-get-units bloc)) unt) (vla-put-Units bloc unt) ) ) ;; Mise à jour des blocs insérés (attributs et unités) (setq ss (ssget "_X" (list '(0 . "INSERT") (cons 2 name)))) (if ss (repeat (setq n (sslength ss)) (setq obj (vlax-ename->vla-object (ssname ss (setq n (1- n))) ) ) (att_upd obj) (scl_upd obj) ) ) ) lst ) ;; Mise à jour des blocs composant les blocs imbriqués insérés non sélectionnés (setq ss (ssget "_X" (cons '(0 . "INSERT") (mapcar '(lambda (x) (cons 2 (strcat "~" x))) lst) ) ) ) (if ss (repeat (setq nb (sslength ss)) (setq obj (vlax-ename->vla-object (ssname ss (setq nb (1- nb)))) name (vla-get-Name obj) bloc (vla-item (vla-get-blocks AcDoc) name) ) (vlax-for ent bloc (if (and (= (vla-get-ObjectName ent) "AcDbBlockReference") (member (vla-get-Name ent) lst) ) (progn (sub_upd ent bloc) (scl_upd ent) ) ) ) ) ) ;; Revérouillage des calques vérouillés (if clq_lst (mapcar '(lambda (x) (vla-put-lock x :vlax-true) ) clq_lst ) ) (vla-Regen AcDoc acAllViewports) ) ;;;******************************************************************* ;;; ;; Boite de dialogue (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) m:err *error* *error* e_b_err ) (vla-StartUndoMark AcDoc) (setq dcl_id (load_dialog "Edit_bloc.dcl") loop 2 u_lst (list "Sans unités" "Pouces" "Pieds" "Miles" "Millimètres" "Centimètres" "Mètres" "Kilomètres" "Micropouces" "Milles" "Yards" "Angströms" "Nanomètres" "Microns" "Décimètres" "Décamètres" "Hectomètres" "Gigamètres" "Unités astronomiques" "Parsecs" ) ) (while ( (if (not (new_dialog "edit_bloc" dcl_id)) (exit) ) (start_list "unt") (mapcar 'add_list u_lst) (end_list) (cond (( (mode_tile "unt" 0) (if (not unt) (setq unt (getvar "INSUNITS")) ) ) (T (mode_tile "unt" 1) (setq unt nil) ) ) (if unt (set_tile "unt" (itoa unt)) (set_tile "unt" (itoa (getvar "INSUNITS"))) ) (if (not ss) (mode_tile "accept" 1) ) (if (zerop (getvar "PSTYLEMODE")) (mode_tile "plt" 0) (progn (mode_tile "plt" 1) (setq plt "Non") ) ) (if fact (set_tile "fact" (rtos fact)) (setq fact 1.0) ) (if (= lay "Oui") (set_tile "lay" "1") ) (if (= col "Oui") (set_tile "col" "1") ) (if (= tl "Oui") (set_tile "tl" "1") ) (if (= el "Oui") (set_tile "el" "1") ) (if (= plt "Oui") (set_tile "plt" "1") ) (action_tile "tbl" (strcat "(if (= \"1\" $value)" "(progn (setq ss nil)" "(mode_tile \"ss\" 1)" "(mode_tile \"accept\" 0)))" ) ) (action_tile "all" (strcat "(if (= \"1\" $value)" "(progn" "(setq ss (ssget \"_X\" '((0 . \"INSERT\"))))" "(mode_tile \"ss\" 1)" "(mode_tile \"accept\" 0)))" ) ) (action_tile "sel" (strcat "(if (= \"1\" $value)" "(progn (mode_tile \"ss\" 0)" "(mode_tile \"ss\" 2)" "(mode_tile \"accept\" 1))" "(mode_tile \"accept\" 0))" ) ) (action_tile "ss" "(progn (done_dialog 3) (mode_tile \"accept\" 0))" ) (action_tile "fact" (strcat "(if ( "(setq fact (atof $value))" "(progn (alert \"Entrée non valide\")" "(mode_tile \"fact\" 2)))" ) ) (action_tile "unt" "(setq unt (atoi $value))") (action_tile "lay" (strcat "(if (= \"1\" $value)" "(setq lay \"Oui\")" "(setq lay \"Non\"))" ) ) (action_tile "col" (strcat "(if (= \"1\" $value)" "(setq col \"Oui\")" "(setq col \"Non\"))" ) ) (action_tile "tl" (strcat "(if (= \"1\" $value)" "(setq tl \"Oui\")" "(setq tl \"Non\"))" ) ) (action_tile "el" (strcat "(if (= \"1\" $value)" "(setq el \"Oui\")" "(setq el \"Non\"))" ) ) (action_tile "plt" (strcat "(if (= \"1\" $value)" "(setq plt \"Oui\")" "(setq plt \"Non\"))" ) ) (action_tile "accept" "(done_dialog 1)") (setq loop (start_dialog)) (cond ((= loop 3) (setq ss (ssget '((0 . "INSERT")))) ) ((= loop 1) (edit_bl) ) ) ) (unload_dialog dcl_id) (vla-endundomark AcDoc) (setq *error* m:err m:err nil ) (princ) )[Edité le 28/5/2006 par (gile)][Edité le 4/6/2006 par (gile)][Edité le 10/6/2006 par (gile)][Edité le 11/6/2006 par (gile)] [Edité le 17/7/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 27 mai 2006 Posté(e) le 27 mai 2006 Bien qu'elle ne m'apporte rien de plus sous ma version ("style de tracé du bloc" grisé). Je confirme quand même qu'elle fonctionne toujours, du moins pour les tests rapides que j'ai pu faire. Rassuré? ;) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
(gile) Posté(e) le 27 mai 2006 Auteur Posté(e) le 27 mai 2006 Merci pour le retour ;) Dans un dessin où le style de tracé serait "nommé" (.stb) la case ne serait pas grisée et la modification accessible. [Edité le 27/5/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 28 mai 2006 Auteur Posté(e) le 28 mai 2006 Déjà la version 2.1 Comme je n'arrive pas à faire suivre les paramètres et propriétés des blocs dynamiques en cas de changement d'échelle du bloc, j'ai ajouté une petite boite de dialogue qui demande confirmation pour les changements d'échelles de ce type de blocs. J'ai aussi réparé un problème avec les noms de certains blocs dynamiques (blocs anonymes) en cas de sélection, j'espère que cette modification ne vas pas perturber le fonctionnementavec les version antérieures aux blocs dynamiques (2006). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 4 juin 2006 Auteur Posté(e) le 4 juin 2006 Modification : Pour éviter une erreur au cas ou des références du même bloc seraient insérées à la fois sur des calques vérouillés et des calques dévérouillés, le LISP dévérouille tous les calques pour effectuer les modifications, puis restaure l'état initial. Version 2.2 Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
thierryd Posté(e) le 7 juin 2006 Posté(e) le 7 juin 2006 Bonjour Gile, ton lisp a l'air génial, mais saurais tu le mettre en zone téléchargement tu en es à la version 2.2? cordialement
(gile) Posté(e) le 7 juin 2006 Auteur Posté(e) le 7 juin 2006 Salut thierryd, C'est dans mon optique de mettre le programme en téléchargement. Si j'ai préféré ne pas le faire tout de suite, c'est parcque toute modification dans un fichier en téléchargement ne peut se faire sans une intervention de notre cher webmaster. La publication dans le forum m'a permis de faire, depuis la première version à une bonne quinzaine de modifs, pour répondre à des suggestions ou réparer des dysfonctionnements grace à l'aide des membres qui ont testé le programme. J'attends encore un petit peu, si de nouveaux retours arrivaient, et je le proposerai en téléchargement sous format compilé .vlx et avec les fichiers source. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 7 juin 2006 Posté(e) le 7 juin 2006 Salut (gile)Pourquoi du vlx ???Si tu laisses le lisp en clair, ça devrait suffir comme souce ! @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 8 juin 2006 Auteur Posté(e) le 8 juin 2006 Salut Patrick_35 Je pensais mettre en téléchargement les fichiers LISP et DCL en clair et un VLX, le tout dans un dossier compressé (avec un petit readme).Il n'est pas queston, bien sûr, de "cryptage", c'est juste pour qu'il soit possible de charger le programme avec un seul fichier, sans avoir à se préoccuper de ranger les DCL dans un dossier de recherche etc ... C'est ce que j'avais fait pour "Helicoide" et oublié de faire pour "Res_hel",un seul fichier vlx (dans les téléchargements proposés par les membres). À l'occasion, je demanderais à Patrick de changer ce dernier téléchargement pour y inclure les fichier LSP et DCL. [Edité le 8/6/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 8 juin 2006 Posté(e) le 8 juin 2006 Hello Gilles Je m'incline "respectueusement" devant ton savoir Oh Grand Maître Jedi du Lisp, VLisp & DCL :) :D :cool: A mon avis, l'idéal c'est de fournir LSP+DCL & VLX ! ;) Le Decapode "impressionné" Autodesk Expert Elite Team
(gile) Posté(e) le 10 juin 2006 Auteur Posté(e) le 10 juin 2006 Version 2.3 Encore une petite correction, comme quoi il faut pas être pressé, pour le mettre en téléchargement. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 10 juin 2006 Auteur Posté(e) le 10 juin 2006 Suite à un échange avec sergeluc et en m'inspirant largement de ce qu'il avait fait pour modifier tous les wblocs d'un répertoire, j'ai fait ce LISP pour utiliser "Edit_bloc" sur tous les fichiers DWG d'un répertoire (bibliothèque de wblocs). NOTA : c'est avec ce LISP que j'ai remarqué l'oubli corrigé dans la version 2.3 (il faut donc charger cette nouvelle verion pour utiliser le LISP) Version 1.1 (11/06/06) ;;; Pour lancer Edit_bloc sur tout un répertoire de wblocs ;;; À utiliser dans un dessin vierge (brouillon) ;;; Choisir l'option "Toute la collection" (defun c:edit_bloc_rep (/ App AcDoc ModSp n lst file dir f_lst ss) (vl-load-com) (setq App (vlax-get-acad-object) AcDoc (vla-get-ActiveDocument App) ModSp (vla-get-ModelSpace acDoc) ) ;; Teste la présence d'entités graphiques dans le dessin (if (ssget "_X") (progn (alert "Le dessin contient des entités. \nCe programme doit être lancé à partir d'un dessin vierge." ) (exit) ) ) ;; Teste la présence de définitions de blocs dans le dessin (repeat (setq n (vla-get-count (vla-get-blocks AcDoc))) (setq lst (cons (vla-get-name (vla-item (vla-get-blocks AcDoc) (setq n (1- n))) ) lst ) ) ) (if (vl-remove-if '(lambda (x) (wcmatch x "*Space*")) lst) (progn (alert "Le dessin contient des définitions de blocs. \nCe programme doit être lancé à partir d'un dessin vierge." ) (exit) ) ) (setq file (getfiled "Choisir un fichier dans le répertoire à modifier" "" "dwg" 0 ) ) (if file (progn (setq dir (vl-filename-directory file) f_lst (vl-directory-files dir "*.dwg") ) (mapcar '(lambda (x) (setq bl (vla-InsertBlock ModSp (vlax-3d-point '(0 0 0)) x 1 1 1 0 ) ) (vla-erase bl) ) (mapcar '(lambda (x) (strcat dir "\\" x)) f_lst) ) (c:edit_bloc) (mapcar '(lambda (x) (setq bl (vla-InsertBlock ModSp (vlax-3d-point '(0 0 0)) (vl-string-right-trim ".DWG" (strcase x)) 1 1 1 0 ) ) (vla-ZoomExtents App) (vla-ZoomScaled App 0.9 1) (setq ss (vla-add (vla-get-SelectionSets AcDoc) "wbloc_ss")) (vla-addItems ss (vla-explode bl)) (vla-wblock AcDoc (strcat dir "\\" x) ss) (vla-erase ss) (vla-delete ss) (vla-delete (vlax-ename->vla-object (entlast))) ) f_lst ) ) ) (princ) ) [Edité le 11/6/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 10 juin 2006 Posté(e) le 10 juin 2006 Bonsoir Gilles Il va falloir te "museler", tu es INTARISSABLE sur EDIT_BLOC ! :o C'est à mon avis la 10ème version de ton programme ... :P 100 fois sur le métier ... ;) Le Decapode "admiratif" [Edité le 10/6/2006 par lecrabe] Autodesk Expert Elite Team
lecrabe Posté(e) le 11 juin 2006 Posté(e) le 11 juin 2006 Bon Matin Gilles Au fait la routine présentée est bien la version 2.3 du 10 Juin 2006 ? :casstet: Je le pense car l'info de Mise à jour de ton message est datée du 10/06/2006 ! Mais tu as laissé version 2.2 en commentaire au début du code : pas grave ... :) Le Decapode "DuBlocant" Autodesk Expert Elite Team
(gile) Posté(e) le 11 juin 2006 Auteur Posté(e) le 11 juin 2006 Merci lecrabe, je corrige. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 11 juin 2006 Auteur Posté(e) le 11 juin 2006 Suite aux remarques pertinentes de sergluc (message privé) concernant "Edit_bloc_rep" (le petit dernier), j'ai ajouté des tests pour éviter de lancer la procédure dans un fichier qui ne serait pas vierge (contenant des entités et/ou des définitions de blocs), et un zoom (étendu + échelle) avant de réenregistrer le wbloc (pour l'apparence des icones). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 11 juin 2006 Posté(e) le 11 juin 2006 ReBonjour Gilles Avec la routine WBLOCKM.LSP de www.dotsoft.com, tes programmes sont TIP TOP ! :) :D :cool: http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=10467#pid40276 Le Decapode "remerciant" Autodesk Expert Elite Team
(gile) Posté(e) le 20 juin 2006 Auteur Posté(e) le 20 juin 2006 Edit_bloc (version 2.3) est désormais dans les Téléchargement proposés par les membres dans la rubrique "AutoCAD LISP et Visual LISP" sous forme d'un ZIP contenant un fichier compilé VLX, les fichiers source LISP et DCL ainsi qu'un petit fichier texte "Lisez_moi".J'y ai adjoint Edit_bloc_rep pour modifier tous les wblocs d'un même répertoire. Télécharger Edit_bloc.zip Encore un grand merci à Patrick et à tous ceux qui ont aidé par leurs suggestions, remarques, tests ... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 17 juillet 2006 Auteur Posté(e) le 17 juillet 2006 Suite à un échange avec Aviglémy, deux petits bugs ont été décelés et réparés : - Si l'option "sans unités" était sélectionnée :"Erreur: Le serveur ActiveX a renvoyé une erreur: Paramètre non facultatif" Cette option est désormais filtrée lors de la "Mise à jour de l'échelle en cas de changement d'unité". - Si les blocs contenaient des "AcDbZombieEntity" (?!):"Erreur: Erreur Automation Fonction non permise pour cet objet externe"Ces entités sont désormais écartées des modifications. Le LISP (premier message du sujet) est modifié, pour la version dans lesTéléchargement proposés par les membres, un peu de patience, il faut que je recompile tout et que ce cher Patrick ait le temps de changer de version (Version 2.4). Télécharger Edit_blod 2.4 [Edité le 20/7/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Pieroka Posté(e) le 27 juillet 2006 Posté(e) le 27 juillet 2006 Merci pour cet outil ! je cherchais un remplacent à la commande "Civil" qui était dans Map 2006 et qui permettait de mettre les blocs à "zéro".en plus je cherchais, hier, à attribuer d'un coup une unité d'insertion à des vieux blocs, donc oilà ! C'est Bred (un pote de lycée) qui m'a tuyauté sur ton lisp. Il ne dit que du bien de toi... à plus Pierre Formateur Autocad - Revit - Sketchup - Photoshop
(gile) Posté(e) le 27 juillet 2006 Auteur Posté(e) le 27 juillet 2006 Salut et merci, Je crois que nous sommes "voisins", j'habite Marseille, peut -être une rencontre moins virtuelle un de ces jours ... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Pieroka Posté(e) le 27 juillet 2006 Posté(e) le 27 juillet 2006 ah ui c'est toi qui me m'obstrue la vue sur mer sur la carte de France Frappr des membres de Cadxp !Oui ça serait sympa ! Mais bon... je ne parle pas lisp couramment... Formateur Autocad - Revit - Sketchup - Photoshop
phil_vsd Posté(e) le 1 octobre 2006 Posté(e) le 1 octobre 2006 Et moi si je parle pas Lisp je serai invité ? "La ligne droite est le plus court chemin entre deux points, à condition que les deux points soient bien en face l'un de l'autre" P. Desproges.
Patrick_35 Posté(e) le 17 novembre 2006 Posté(e) le 17 novembre 2006 (gile)Je viens de constater que ton lisp ne prends pas en compte la couleur des MLINES @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 17 novembre 2006 Auteur Posté(e) le 17 novembre 2006 Patrick_35, Le problème vient, il me semble des mlines elles même.Avant même d'en faire un bloc, il semble impossible de forcer la couleur d'une mline, si le code DXF change, l'objet reste de la couleur du calque sur lequel il est. :casstet: Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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