(gile) Posté(e) le 10 novembre 2006 Partager Posté(e) le 10 novembre 2006 Pline_block permet d'insérer un bloc contenant des attributs dont certains sont des champs dynamiques liés à un objet (polyligne). Le bloc "Pline_block" doit exister et être présent en tant que bloc dans la collection du le dessin courant ou comme un fichier "Pline_block.dwg" (wbloc) dans un répertoire du chemin de recherche.Le bloc doit être défini avec le même nombre d'attributs que dans le LISP (3 dans l'exemple ci-dessous). Le LISP donné ici est un exemple, il peut être modifié en fonction des besoins : nature des attributs et format des champs dynamiques. Dans l'exemple, les trois attributs sont : - le nom de la pièce (acquis avec getname) : ;; attribut "nom de la pièce" (if (not (setq [b]nom[/b] (getname))) (setq [b]nom[/b] "") ) -son périmètre (champ dynamique) : ;; Attribut "périmètre" (mm -> m) [b]long[/b] (strcat [surligneur]"% (itoa id) [surligneur]">%).Length \\f \"%lu2%pr2%ct8[0.001]\">%"[/surligneur] ) - son aire (champ dynamique) : ;; Attribut surface (mm² -> m²) [b]aire[/b] (strcat [surligneur]"% (itoa id) [surligneur]">%).Area \\f \"%lu2%pr2%ct8[1e-006]\">%"[/surligneur] ) Les valeurs des attributs leur sont données ici : ;; attribution de leur valeur aux attributs (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list [b]nom long aire[/b]) ) Pour ajouter ou supprimer un ou des attributs, il faut modifier ces lignes (attention à l'ordre dans la liste). Pour le format des champs dynamiques, le plus simple est de créer un champ et de le formater selon ses désir puis de copier la syntaxe en bas de la boite de dialogue (Expression de champ). http://img67.imageshack.us/img67/5931/champll2.png %%).Length \f "%lu2%pr2%ct8[0.001]">% %lu2 : unités décimales (CF LUNITS)%pr2 : nombre de décimales affichées (CF LUPREC)[0.001] : facteur de conversion (ici mm -> m) L'expression est séparée "en deux parties" par l'ID de l'objet sélectionné, elle le sera aussi dans le LISP par l'expression (itoa id).Il suffit donc de mettre entre guillemets chaque partie après avoir rajouté un "anti-slash" (\) devant chaque anti-slash et guillemet : "%%).Length [surligneur]\[/surligneur]\f [surligneur]\[/surligneur]"%lu2%pr2%ct8[0.001][surligneur]\[/surligneur]">%" Le code DCL de la boite de dialogue GetName, à enregistrer sous Getname.dcl dans un répertoire du chemin de recherce des fichiers de support. Boite de dialogue modifiée le 13/04/07 getname:dialog{ value="Choisir un nom"; key="box"; initial_focus="tp"; :boxed_column{ label="Modifier la liste"; :row{ spacer; :edit_box{ key="tp"; edit_width=20; alignment=left; allow_accept=true; } spacer; } :row{ :button{ label="Ajouter"; key="add"; } :button{ label="Retirer"; key="del"; } } } spacer_1; :row{ spacer; :list_box{ key="pop"; width=25; } spacer; } spacer_1; ok_cancel; } Le LISP GetName (13/04/07) : ;;; GetName Retourne le nom spécifié ou choisi dans la liste. ;;; Les noms entrés sont ajoutés à la liste. ;;; La liste est conservée dans le dessin. (defun getname (titre / lst what_next dcl_id nom) (if (not (vlax-ldata-get "Pline_block" "Name")) (vlax-ldata-put "Pline_block" "Name" '("Bain" "Cuisine" "Entrée" "Séjour" "WC")) ) (setq lst (vlax-ldata-get "Pline_block" "Name")) (setq dcl_id (load_dialog "GetName.dcl")) (setq what_next 2) (while (>= what_next 2) (if (not (new_dialog "getname" dcl_id)) (exit) ) (start_list "pop") (mapcar 'add_list lst) (end_list) (if titre (set_tile "box" titre) ) (action_tile "pop" (strcat "(if (or (= $reason 1) (= $reason 4))" "(set_tile \"tp\" (nth (atoi $value) lst)))" "(mode_tile \"accept\" 2)" ) ) (action_tile "add" (strcat "(if (not (member (get_tile \"tp\") lst))" "(setq lst (acad_strlsort (cons (get_tile \"tp\") lst))))" "(done_dialog 2)" ) ) (action_tile "del" (strcat "(setq lst (vl-remove (get_tile \"tp\") lst))" "(done_dialog 2)" ) ) (action_tile "accept" (strcat "(if (not (read (get_tile \"tp\")))" "(progn (alert \"Spécifiez un nom, svp.\")" "(done_dialog 2))" "(progn (setq nom (get_tile \"tp\"))" "(if (and (not (member nom lst)) (/= nom ""))" "(setq lst (acad_strlsort (cons (get_tile \"tp\") lst))))" "(vlax-ldata-put \"Pline_block\" \"Name\" lst)" "(done_dialog 1)))" ) ) (setq what_next (start_dialog)) (if (= what_next 0) (setq nom nil) ) ) (unload_dialog dcl_id) nom ) Le LISP Pline_Block (13/04/07) ;;; Pline_block -Gilles Chanteau- 13/04/07 ;;; Insère le bloc "pline_block" après sélection d'une polyligne ;;; Attribut 1 : Nom de la pièce ;;; Attribut 2 : Longueur de la polyligne ;;; Attribut 3 : Aire de la polyligne (defun c:pline_block (/ AcDoc Space bloc nom ent obj ins op reg ech id long aire ref) (vl-load-com) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= (getvar "CVPORT") 1) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (if (or (tblsearch "BLOCK" (setq bloc "Pline_block")) (findfile (setq bloc "Pline_block.dwg")) ) (progn ;; attribut "nom de la pièce" ;; possibilité de changer le titre de la boite de dialogue "Choisir un nom" (if (not (setq [b]nom[/b] (getname "Choisir un nom"))) (setq nom "") ) (while (not (setq ent (car (entsel))))) (setq obj (vlax-ename->vla-object ent)) (if (= "AcDbPolyline" (vla-get-ObjectName obj)) (progn (if (not (setq ins (getpoint "\nSpécifiez le point d'insertion ou : " ) ) ) (progn (if (= (vla-get-closed obj) :vlax-false) (progn (vla-put-closed obj :vlax-true) (setq op T) ) ) (setq reg (vlax-invoke space 'addRegion (list obj)) ins (vlax-get (car reg) 'Centroid) ) (if op (vla-put-closed obj :vlax-false) ) (vla-delete (car reg)) ) ) (if (not (vlax-ldata-get "Pline_block" "ech")) (vlax-ldata-put "Pline_block" "ech" 1) ) (if (not (setq ech (getreal (strcat "\nEntrez le facteur d'échelle (rtos (vlax-ldata-get "Pline_block" "ech")) ">: " ) ) ) ) (setq ech (vlax-ldata-get "Pline_block" "ech")) (vlax-ldata-put "Pline_block" "ech" ech) ) (setq id (vla-get-ObjectID obj) ;; Attribut périmètre (mm -> m) [b]long[/b] (strcat [surligneur]"% (itoa id) [surligneur]">%).Length \\f \"%lu2%pr2%ct8[0.001]\">%"[/surligneur] ) ;; Attribut surface (mm² -> m²) [b]aire[/b] (strcat [surligneur]"% (itoa id) [surligneur]">%).Area \\f \"%lu2%pr2%ct8[1e-006]\">%"[/surligneur] ) ) (setq ref (vla-InsertBlock Space (vlax-3d-point (trans ins 1 0)) bloc ech ech 1 0.0 ) ) ;; attribution de leur valeur aux attributs (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list [b]nom long aire[/b]) ) (vla-regen AcDoc acActiveViewport) ) (alert "L'objet sélectionné n'est pas une polyligne.") ) ) (alert "Le bloc \"Pline_block\" est introuvable.") ) (princ) )[Edité le 10/11/2006 par (gile)][Edité le 12/11/2006 par (gile)][Edité le 14/11/2006 par (gile)] [Edité le 13/4/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
jalna Posté(e) le 12 novembre 2006 Partager Posté(e) le 12 novembre 2006 Salut (gile)En tant qu'utilisateur de "Pline_block", je dois dire que je trouve tout mon bonheur avec ta routine, je pense que Autodesk dois faire des éfforts au niveau des champs.... Ces champs sont bien, mais dés que l'on veut faire des opérations sur des champs, cela se complique (id objet), mais avec de la patience on y arrive mais pour moi c'est à eux d'améliorer un nouveau produit et ne pas attendre la demande des utilisateurs.. Merci encore (gile) "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 8 décembre 2006 Auteur Partager Posté(e) le 8 décembre 2006 Pour pouvoir faire des opérations dans un tableau AutocAD (ou Excel), les attributs "champs" ne doivent pas contenir de préfixe ni de suffixe. On peut ajouter suffixes et préfixes dans la définition du bloc Pline_Block sous forme de textes ou d'attributs fixes. Comme les modifications apportées au tableau d'extraction (fait avec EXTATTBE) seront perdues en cas de mise à jour des champs, il est préférable de faire un autre tableau (d'une seule rangée) dans lequel des champs "Formule" afficheront les résultats des totaux. http://img156.imageshack.us/img156/3919/tablogd9.png Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
atile Posté(e) le 10 avril 2007 Partager Posté(e) le 10 avril 2007 Bonjour, Tout d'abord je tiens à vous féliciter, ce forum regorge de trucs, cela fait un moment que je fouille et j'apprends plein de choses. La par contre, je suis complètement paumé... Ce lisp me paraît très utile, mais je ne sais même pas comment ça marche ces fameux lisp... J'ai donc: 1- effectué un copier-coller depuis le forum vers le bloc-note windows, j'ai enregistré avec l'extension .lsp. 2- J'ai chargé pline_block.lsp dans Autocad avec la commande Appload. 3- J'ai créé un bloc intitulé "pline_block" avec 3 attribut. 4- je ne sais pas quoi faire à partir d'ici... Merci, d'avance pour toute aide. Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 10 avril 2007 Auteur Partager Posté(e) le 10 avril 2007 Salut et bienvenue, Tu as tout bien fait jusque là, semble-t-il. Il te reste à copier le code DCL dans le bloc note, l'enregistrer sous Getname.dcl dans un répertoire du chemin de recherce des fichiers de support ou ajouter le répertoire dans lequel tu le copies dans le chemin de recherche (Outil >> Options ... ongle Fichiers). Et enfin, taper pline_bloc à la ligne de commande, sélectionner une polyligne et spécifier le point d'insertion du bloc. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
atile Posté(e) le 11 avril 2007 Partager Posté(e) le 11 avril 2007 Merci, cela fonctionne mieux maintenant ;) J'aurais néanmoins une question, dans notre agence nous dessinons en "cm" soit une unité égale 1cm. Ce qui perturbe Autocad pour les aires en m², et je comprends donc que ton lisp ne me donne pas une aire "lisible" (1m² devient 100000), est-ce modifiable, soit dans Autocad, soit dans ton lisp? Autre chose, les lisp ne semble pas pouvoir être chargé dans Autocad LT, existe-t-il une autre méthode que ton lisp pour obtenir ce type de lien entre surfaces et attributs, dont je pourrais faire profiter les postes sous LT? Merci encore, pour ce partage de tes créations. Lien vers le commentaire Partager sur d’autres sites More sharing options...
LUDWIG Posté(e) le 11 avril 2007 Partager Posté(e) le 11 avril 2007 Super ! Mais pourquoi le bloc est-il inséré à une échelle de dimscale (500 pour mon cas) ? Autocad 2021 - Revit 2022 - Windows 10 Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 11 avril 2007 Auteur Partager Posté(e) le 11 avril 2007 Atile, Le LISP tel quel fonctionne pour un dessin en mm et affiche longueur et aire en m et m².C'est à chacun de l'adapter à ses besoins en modifiant le contenu des champs (une petite explication ici), mais le plus simple est de créer un champ formaté comme on le désire, de noter l'Expresion de champ et demodifier l'exemple en conséquence. Pas de LISP sur les versions LT (sauf avec un applicatif genre LTextender) mais des champs dynamiques dans les versions les plus récentes (je ne sais pas exactement à partir de quand) LUDWIG, Le bloc est inséré a l'échelle de dimscale parceque je l'ai décidé comme ça ;) En fait, la hauteur de texte des attributs dans mon bloc "Pline_block" est la même que la hauteur de texte des cotes.Tu peux facilement le modifier en supprimant : ech (if ((getvar "DIMSCALE") 1.0 ) et en remplaçant les trois ech par 1.0 (ou ce que tu veux) dans : (setq ref (vla-InsertBlock Space (vlax-3d-point ins) bloc ech ech ech 0.0 ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
LUDWIG Posté(e) le 13 avril 2007 Partager Posté(e) le 13 avril 2007 oui j'ai modifié dimscale. Ce qui serait bien pour ton lisp, c'est que le bloc Pline_block soit inséré au "Centre" de la polyligne. Encore faut-il pouvoir définir et localiser ce centre (quans je faisais encore du lisp, je crois que j'étais obligé de la transformer en région pour récupérer le "centroïde"). Alors, possible ? PS : merci de partager de tels outils, et de passer du temps à les expliquer et les adaper ! Autocad 2021 - Revit 2022 - Windows 10 Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 13 avril 2007 Auteur Partager Posté(e) le 13 avril 2007 J'ai modifié le code en essayant de faire la synthèse des différentes demandes du moins en ce qui concerne l'insertion du bloc.Il restera toujours à chacun de créer son bloc et de modifier le nombre et la nature des attributs ainsi que le format des champs. Dans cette version :- petites améliorations dans GetName- fonctionnement avec les polylignes ouvertes ou fermée,- proposition de spécifier le point d'insertion ou le centre de gravité (Entrée, espace ou clic droit)- proposition d'entrer le facteur d'échelle, celui-ci est conservé dans le dessin et reproposé par défaut au prochain lancement de la commande (Entrée, espace ou clic droit pour valider) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
jalna Posté(e) le 16 avril 2007 Partager Posté(e) le 16 avril 2007 Salut (gile) Je viens de remplacer mon ancien Pline_bloc par le nouveau, mais je me rend compte sue tu donnes le périmetre... N'en ayant pas besoin comment faire pour n'avoir que la surface (comme avant). Merci "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 16 avril 2007 Auteur Partager Posté(e) le 16 avril 2007 Salut, Dans le code de Pline_block, tu supprime ces lignes : ;; Attribut périmètre (mm -> m)long (strcat "%(itoa id)">%).Length \\f \"%lu2%pr2%ct8[0.001]\">%") et long dans la liste de l'expression : ;; attribution de leur valeur aux attributs(mapcar '(lambda (x y) (vla-put-TextString x y))(vlax-invoke ref 'GetAttributes)(list nom long aire)) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
jalna Posté(e) le 16 avril 2007 Partager Posté(e) le 16 avril 2007 Merci! J'ai récupéré l'ancien qui me convient parfaitement! "Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."J-C Van DammeMon forum : http://plexus.forumactif.org/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
blizard Posté(e) le 29 juin 2007 Partager Posté(e) le 29 juin 2007 hello J'ai également récupérer les nouveaux fichier pline_block:getname.dclgetname.lsppline_block.lsp j'essaye de modifier deux choses:1 - ne plus avoir les périmètre2 - changer l'unité de l'aire J'ai vu sur les différents post que ces questions ont été évoqué et expliqué mais il semble qu'avec la derniere version les solutions expliqué ne fonctionne pas ... 1-"Dans le code de Pline_block, tu supprime ces lignes : ;; Attribut périmètre (mm -> m)long (strcat "%<\\AcObjProp Object(%<\\_ObjId "(itoa id)">%).Length \\f \"%lu2%pr2%ct8[0.001]\">%") et long dans la liste de l'expression : ;; attribution de leur valeur aux attributs(mapcar '(lambda (x y) (vla-put-TextString x y))(vlax-invoke ref 'GetAttributes)(list nom long aire))" Y a t'il autre chose à faire parce que j'ai toujours le périmetre 2-pour l'aire je ne retrouve pas les unites comme dans la version précédente merci encore Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 29 juin 2007 Auteur Partager Posté(e) le 29 juin 2007 Salut, Si tu as bien supprimé ce qi concerne le périmètre, tu dois avoir : (setq id (vla-get-ObjectID obj) ;; Attribut surface (mm² -> m²) aire (strcat "% (itoa id) ">%).Area \\f \"%lu2%pr2%ct8[[surligneur]1e-006[/surligneur]]\">%" ) ) et : (mapcar '(lambda (x y) (vla-put-TextString x y)) (vlax-invoke ref 'GetAttributes) (list nom aire) ) Bien sûr, il faut aussi supprimer l'attribut concerné dans le bloc "Pline_Block". Pour la conversion d'unités, ça se passe dans l'expression du champ (surligné ci-dessus).1e-006 (qui équivaut à 0.000001) est le facteur de conversion des mm² en m², pour des cm² en m² il faut remplacer 1e-006 par 0.0001 (ou 1e-004) si tu ne veux aucune conversion, il faut supprimer ct8[1e-006]. Le mieux est de faire comme expliqué dans le PDF joint au ZIP : créer un champ aire lié à une polyligne, le formater comme on veut et recopier l'expression dans le LISP (en joutan un anti-slash (\) devant chaque anti-slash et guillemet("). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
scake Posté(e) le 2 juillet 2007 Partager Posté(e) le 2 juillet 2007 Bonjour gile,Je me suis mis dans la tête d'utiliser un bloc dynamique avec ce lisp très pratique. Cela me permet d'afficher et de masquer des attributs supplémentaires ou des codes couleurs et permet de redimensionner la largeur des étiquettes si le texte des attributs est long. Mon problême se résume assez simplement : comment pointer vers un bloc (ici dynamique) contenu dans un dwg plutôt que de pointer vers le dwg lui-même ? Du genre le bloc "blocAIRE" contenu dans "surface.dwg" ... Sinon, je ne vois pas comment utiliser les blocs dynamiques ... Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 2 juillet 2007 Auteur Partager Posté(e) le 2 juillet 2007 Salut, je ne comprends pas bien la question. Le LISP est prévu pour insérer un bloc nommé Pile_block (mais on peut changer ce nom dans le LISP). Le bloc doit être dans la collection de blocs du dessin ou dans un répertoire du chemin de recherche. En l'état, il doit avoir au moins 3 attributs (les trois premiers) qui sont renseignés automatiquement par le LISP. mais j'ai donné ce LISP pour que chacun puisse le modifier à sa guise. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
scake Posté(e) le 2 juillet 2007 Partager Posté(e) le 2 juillet 2007 En fait j'utilise ton lisp avec un bloc que j'ai appellé "blocAIRE".Il comporte 3 champs : Référence de secteur et Nom de pièce renseignés par les boîtes de dialogue que tu as créés et Aire qui se remplit automatiquement. Cela fait quelque mois que je l'utilise comme cela avec bonheur (un dessin avec des attributs nommé "blocAIRE.dwg" pas de bloc à l'intérieur).Le problème que je n'arrive pas à résoudre aujourd'hui: utiliser le même bloc "blocAIRE" mais avec des propriétés dynamiques: exemple, derrière la référence de secteur l'utilisateur peut choisir une couleur une fois le bloc inséré et la changer à sa guise dans la gamme pré-établie . Je ne sais pas appeler un bloc dynamique depuis le lisp. Pour l'instant j'ai le "blocAIRE" dans un fichier qu'on appelera "SURFACE.dwg". 1-si j'appelle le bloc SURFACE, cela me donne un "bloc dans le bloc" quand je l'insère, du coup les champs ne se remplissent pas2-si j'explose ce bloc surface à l'insertion la routine ne retrouve plus les attributs (normal, elle est censée remplir "SURFACE" et non "blocAIRE") Comment appeler DIRECTEMENT "blocAIRE" sans qu'il soit dans la collection de blocs du dessin en cours ? [Edité le 3/7/2007 par scake] Lien vers le commentaire Partager sur d’autres sites More sharing options...
scake Posté(e) le 5 juillet 2007 Partager Posté(e) le 5 juillet 2007 Quelqu'un peut-il m'aider ? :mad2: [Edité le 5/7/2007 par scake] [Edité le 5/7/2007 par scake] Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 5 juillet 2007 Auteur Partager Posté(e) le 5 juillet 2007 Comment appeler DIRECTEMENT "blocAIRE" sans qu'il soit dans la collection de blocs du dessin en cours ? Le fichier "blocAIRE.dwg" doit être enregistré dans un répertoire du chemin de recherche (existant ou ajouté dans : Outils > Options > Fichiers > premier onglet). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
scake Posté(e) le 5 juillet 2007 Partager Posté(e) le 5 juillet 2007 Je m'explique mal. Je voudrais insérer un BLOC DYNAMIQUE et non un ####.dwg avec des attributs.Et ceci sans que ce bloc ne soit dans la collection de bloc du fichier. Merci Gile d'avoir pris le temps de me répondre. Une idée ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 5 juillet 2007 Auteur Partager Posté(e) le 5 juillet 2007 Tu peux faire de n'importe quel bloc (dynamique ou non) un "fichier bloc" avec la commande WBLOC (_WBLOCK).Depuis le dessin dans lequel est ton bloc, dans la case de dialogue de la commande WBLOC, tu choisis bloc, tu sélectionnes le bloc dans la liste déroulante et tu spécifies le chemin du répertoire dans lequel tu veux enregistrer le fichier (un répertoire que tu as ajouté dans les chemins de recherche). En procédant ainsi, les "fichiers blocs" de ce répertoire sont accessibles depuis n'importe quel dessin d'AutoCAD en entrant leur nom dans la case de la commande INSERER. [Edité le 5/7/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
scake Posté(e) le 9 juillet 2007 Partager Posté(e) le 9 juillet 2007 De (gile) selon ses moyens,À scake selon ses besoins. Merci [surligneur] beaucoup[/surligneur]. Lien vers le commentaire Partager sur d’autres sites More sharing options...
blizard Posté(e) le 21 février 2008 Partager Posté(e) le 21 février 2008 hello, J'utilise exttatbe pour extraire mes surface faite à partir de la commande pline_block, Gilles précise un peu plus haut: "Comme les modifications apportées au tableau d'extraction (fait avec EXTATTBE) seront perdues en cas de mise à jour des champs, il est préférable de faire un autre tableau (d'une seule rangée) dans lequel des champs "Formule" afficheront les résultats des totaux. Cela signifie que si je change ma polyligne donc ma surface, la mise à jour n'est pas possible dans le tableau, ou y a t-il une solution? merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 21 février 2008 Auteur Partager Posté(e) le 21 février 2008 Salut, Cela signifie que si je change ma polyligne donc ma surface, la mise à jour n'est pas possible dans le tableau Non, la mise à jour se fera dans le tableau créé avec EXTATTBE, mais si ce tableau a été modifié après son insertion (rajout d'une rangée pour les totaux, par exemple) la mise à jour supprimera les modifications. C'est pourquoi je conseillais de faire plutôt un autre tableau pour les totaux (1 seule rangée). Après la modification d'une polyligne il sera possible de mettre à jour les tableaux (voir l'image réponse 2) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
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