Zugzwang Posté(e) le 14 avril 2022 Posté(e) le 14 avril 2022 Bonjour un archi original à trouve une fonction inconue pour moi des hachures, il y met un arrière plan blanc que je trouve moche car il me planque les réseaux qui se retrouvent parfois dessous. Comme il y en a dans des bloc une sélection de toutes les hachures pour virer cet arrière plan dans les propriété est pas facile je voudrai donc faire un petit lisp pour les virer j'ai 2 petit lisp pour sortir les propriété DXF ou un dump VBA de l'objet sélectionné Que ce soit dans le (entget ou le (vlax-dump-object, je ne trouve pas trace de ce remplissage QQs sait ou je peux trouver ça? merci
Zugzwang Posté(e) le 14 avril 2022 Auteur Posté(e) le 14 avril 2022 j'ai de la meumeu devant les yeux, ça doit être ça dans le dump :BackgroundColor = le pb, c'est que quand le fair le dump sur la hachure avec arrière plans j'ai ça: ; BackgroundColor = #<VLA-OBJECT IAcadAcCmColor 0000012050e70110> et la même sans arrière plan (passé sur aucun dans les propriétés) ; BackgroundColor = #<VLA-OBJECT IAcadAcCmColor 0000011fe57f20d0> ça me parait bizarre comme ref pour 'aucun'... je vais essayer de faire une bascule, mais j'y crois pas...
Steven Posté(e) le 14 avril 2022 Posté(e) le 14 avril 2022 Salut, voici un lisp de gile qui supprime les hachures dans les blocs. Tu le charges, tu lances la commande KHATCH_BLOC puis tu fais un REGEN. Au revoir les hachures dans les blocs. KHATCH_BLOCK.zip 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.
vincentp010 Posté(e) le 14 avril 2022 Posté(e) le 14 avril 2022 C'est le problème des logiciels d'archi quand ils exportent en dwg (archicad ou allplan). Ça fout des hachures partout dans tous les objets et ça cache tout. C'est la plaie à nettoyer pour être utilisable. Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
lecrabe Posté(e) le 14 avril 2022 Posté(e) le 14 avril 2022 Hello Ci-apres une autre version qui ne supprime les Hachures SOLID ... La Sante, Bye, lecrabe PS: depuis mon stock de 3001 routines ... ;; ;; http://cadxp.com/topic/42821-modif-lis-khatch-block/page__pid__243487 ;; ;; Routine: KHATCH_BLOCK_SOLID par GC + Tramber ;; ;; Efface les Hachures DANS les Blocs mais SEULEMENT les Hachures SOLID ;; + Test pour ne traiter que les objets dans l'Espace Objet/Model ;; ;; ----- Anciens commentaires ----- ;; Supprimer (Kill) les hachures (HATCH) dans les blocs (BLOCK) ;; Par GC le 11/03/2011 - Passage en DEFUN par Fraid ;; Micro-Modification par LeCrabe DIM --> HATCH ;; (defun c:KHATCH_BLOCK_SOLID (/ b o) (vl-load-com) (vlax-for b (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object) ) ) ;(setq b(vla-item(vla-get-Blocks(vla-get-ActiveDocument(vlax-get-acad-object)))0)) (or (and (= (vla-get-IsLayout B) :vlax-true)(/= (vla-get-Name B)"*Model_Space")) (= (vla-get-IsXref B) :vlax-true) (vlax-for o b ;(setq o(vla-item b 3)) (if (and(wcmatch (vla-get-ObjectName o) "AcDb*Hatch") (= (vla-get-PatternName o) "SOLID")) (vla-delete o) ) ) ) ) ) (c:KHATCH_BLOCK) (command "_regen") Autodesk Expert Elite Team
Luna Posté(e) le 14 avril 2022 Posté(e) le 14 avril 2022 Coucou, Je crois qu'aucune des solutions ne répondent aux problème... Car si je comprends bien le but n'est pas de supprimer la hachure, mais uniquement de définir la couleur d'arrière-plan des hachures sur "Aucun" (correspondant donc en réalité à la couleur d'arrière-plan). Or les programmes ici supprime l'objet de hachure, ce qui est un peu trop radical ^^" Je pense en effet que la propriété VBA BackGroundColor (obtenue via (vlax-dump-object)) correspond à ce que tu recherches mais en effet, il s'agit d'un objet VBA. En regardant ses propriétés via (vlax-dump-object), on a : ; IAcadAcCmColor: Interface AcCmColor AutoCAD ; Valeurs de propriétés: ; Blue (RO) = 0 ; BookName (RO) = "" ; ColorIndex = 257 ; ColorMethod = 200 ; ColorName (RO) = "" ; EntityColor = -939524096 ; Green (RO) = 0 ; Red (RO) = 0 T Et en faisant un simple (vla-put-BackGroundColor) sur un objet hachure à partir d'une hachure sans arrière-plan, cela fonctionne sans soucis. Donc la problématique vient finalement pour récupérer ce VLA-OBJECT correspondant à la couleur de l'arrière-plan... N'ayant pas trop le temps de me pencher sur la question aujourd'hui, le plus simple est de créer une hachure sans arrière-plan, récupérer la valeur de (vla-get-BackGroundColor) et ensuite de parcourir toutes tes définitions de bloc pour redéfinir la valeur de BackGroundColor à partir de la valeur initiale (précédemment récupérée) pour chaque sous-objet de type "HATCH" (code DXF 0). Bisous, Luna 1
Steven Posté(e) le 14 avril 2022 Posté(e) le 14 avril 2022 Il y a 2 heures, Zugzwang a dit : Bonjour un archi original à trouve une fonction inconue pour moi des hachures, il y met un arrière plan blanc que je trouve moche car il me planque les réseaux qui se retrouvent parfois dessous. Comme il y en a dans des bloc une sélection de toutes les hachures pour virer cet arrière plan dans les propriété est pas facile je voudrai donc faire un petit lisp pour les virer j'ai 2 petit lisp pour sortir les propriété DXF ou un dump VBA de l'objet sélectionné Que ce soit dans le (entget ou le (vlax-dump-object, je ne trouve pas trace de ce remplissage QQs sait ou je peux trouver ça? merci Salut Luna, il semblerait bien que Zugzwang veuille supprimer les hachures. Ou alors, en effet, nous n'avons pas bien compris, lecrabe et moi, la demande de Zugzwang 😉 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.
Zugzwang Posté(e) le 15 avril 2022 Auteur Posté(e) le 15 avril 2022 rebonjour et merci, effectivement, c'est bien la propriété de remplissage des hachure que je voudrai supprimer sans supprimer la hachure Je connaissais la moulinette pour supprimer les hachure solid que j'utilise régulièrement pour les plans ArchiCAD. Je ne sais pas trop quel logiciel utilise cet archi, et l'export passe par cette propriété que je n'avais jamais manipulé j'ai qqs heures entre 2 rush alors je creuse un peu Comme le dit Luna, je penche pour du (vla-put-BackGroundColor) , mais le truc c'est de trouver le bon put...
Curlygoth Posté(e) le 15 avril 2022 Posté(e) le 15 avril 2022 Bonjour, c'est bein valeur 257 de la méthode : obj.BackgroundColor.ColorIndex Il y a 14 heures, Luna a dit : ; ColorIndex = 257 par contre pas sur que tu puisse l'utiliser en tant que "input" vu que la valeur "max" est 256... Mon site Web (en cours de construction) : Site DA-CODE de @didier
Zugzwang Posté(e) le 15 avril 2022 Auteur Posté(e) le 15 avril 2022 une recherche sur GetBackgroundColor Method (ActiveX) dans l'aide de totocad me dit que ça va pas être une partie de plaisir...
Luna Posté(e) le 15 avril 2022 Posté(e) le 15 avril 2022 Coucou, Regarde ici, tu trouveras très certainement ton bonheur 😜 https://www.theswamp.org/index.php?topic=54244.0 (Post #9, ronjonp) Bisous, Luna 1
Zugzwang Posté(e) le 15 avril 2022 Auteur Posté(e) le 15 avril 2022 ou lala super merci, je suis pas assez anglophone pour trainer sur theswamp mais c'est vrai que c'est le top je vais essaye de comprendre comment ça marche, mais je dois avouer si j'ai arrêté de prendre la tête à tlm pour du lisp, je suis hermétique au vba car j'ai pas de base en programmation toujours est il que ce code là résous mon problème (defun c:phbg (/ c a d) ;;; passe sur aucun la propriété d'arière plan des hachures y compris dans les bloc (purge hachure back grond) ;;; auteur ronjonp récupéré sur theswamp https://www.theswamp.org/index.php?topic=54244.0 ;;; merci à Luna pour le tuyaut https://cadxp.com/topic/55981-hachures-avec-arri%C3%A8re-plan/#comment-316361 (vl-load-com) (vlax-for l (vla-get-layers (setq d (vla-get-activedocument (vlax-get-acad-object)))) (cond ((= -1 (vlax-get l 'lock)) (vlax-put l 'lock 0) (setq a (cons l a)))) ) (vlax-for b (vla-get-blocks d) (if (= 0 (vlax-get b 'isxref)) (vlax-for o b (cond ((and (vlax-write-enabled-p o) (= (vla-get-objectname o) "AcDbHatch")) (or c (progn (setq c (vla-get-backgroundcolor o)) (vla-put-entitycolor c -939524096))) (vla-put-backgroundcolor o c) ) ) ) ) ) (foreach l a (vlax-put l 'lock -1)) (vla-regen d acallviewports) (princ) )
LUDWIG Posté(e) le 20 mars Posté(e) le 20 mars Ah c'est super ! C'est ce que je cherchais aussi. Merci Luna et Zugzwang Autocad 2021 - Revit 2022 - Windows 10
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