ahbv Posté(e) le 13 avril 2016 Posté(e) le 13 avril 2016 Salut à tous, j'utilise le programme KHATCH_BLOCK.lsp pour effacer les hachures dans des plans (il fonctionne super bien) mais je voudrais que le programme ne supprime que les hachures de type solide, est ce qu'une bonne âme pourrait me donner la ligne à modifier/rajouter (je suis novice en language) ??merci d'avance.cordialementAHG ci-dessous le programme: ;; Supprimer (Kill) les hachuress (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 (/ b o) (vl-load-com) (vlax-for b (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object) ) ) (or (= (vla-get-IsLayout B) :vlax-true) (= (vla-get-IsXref B) :vlax-true) (vlax-for o b (if (wcmatch (vla-get-ObjectName o) "AcDb*Hatch") (vla-delete o) ) ) ) ) )(c:KHATCH_BLOCK) (command "regen") Citer
Tramber Posté(e) le 13 avril 2016 Posté(e) le 13 avril 2016 (defun c:KHATCH_BLOCK (/ 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")J'ai un doute. On dirait que ton code ne traitait que les blocs, j'ai ajouté l'espace objet dans son entier. Et continué à exclure les espaces papiers....[Modérateur du forum] Pense aussi à desativer les émoticones quand tu publies du lisp. Je l'ai fait... et pour répondre j'ai utilisé les balises de codes B) Citer Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
ahbv Posté(e) le 13 avril 2016 Auteur Posté(e) le 13 avril 2016 Salut TRAMBER, un grand merci pour ta réponse !!!Désolé pour émoticones !!cordialementahg (defun c:KHATCH_BLOCK (/ 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")J'ai un doute. On dirait que ton code ne traitait que les blocs, j'ai ajouté l'espace objet dans son entier. Et continué à exclure les espaces papiers....[Modérateur du forum] Pense aussi à desativer les émoticones quand tu publies du lisp. Je l'ai fait... et pour répondre j'ai utilisé les balises de codes B) Citer
Messages recommandés