Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 14/11/2014 dans Messages

  1. Salut Bruno Oui, mais si le bloc est aussi dans une présentation ? Du moment qu'il ne fini pas comme Vincent Lagaf :D ps : dommage d'avoir deux and qui se suivent ;) pps : (and (not ...)) = (or ...) @+
    1 point
  2. Bonjour Olivier, Visiblement et comme d'habitude Patrick_35 à été le plus rapide.. Je poste quant même ma version qui modifie les définitions de bloc ayant au moins une référence de bloc inséré dans le model objet. ;; Suppression des hachures dans les définitions de bloc ayant au moins une référence ;; dans l'espace objet (defun c:sham (/ doc blo ss bl lst i) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq blo (vla-get-blocks doc)) ;; Sélection des références de bloc de l'espace objet (setq ss (ssget "X" '((0 . "INSERT") (410 . "Model")))) ;; Lister les noms des définitions de bloc issue des références sélectionnés (repeat (setq i (sslength ss)) (and (not (member (setq bl (cdr (assoc 2 (entget (ssname ss (setq i (1- i))))))) lst)) (setq lst (cons bl lst)) ) ) ;; Adaptation du lisp sha pour fonctionner par Item a lieu d'opérer sur toute la collection (foreach x lst (vlax-for ent (vla-Item blo x) (and (and (eq (vla-get-objectname ent) "AcDbHatch") (= (vla-get-patternname ent) "SOLID")) (vla-delete ent) ) ) ) (vla-endundomark doc) (vla-regen doc acAllViewports) (princ) ) Cordialement Bruno (Ps: Tu devrais perdre moins de cheveux sur cette version ;) )
    1 point
  3. Salut Un exemple pour lister les blocs qui sont dans les présentations (defun lstblpre(/ doc ent lst nom nombl sel) (defun nombl(bl) (if (vlax-property-available-p bl 'effectivename) (vla-get-effectivename bl) (vla-get-name bl) ) ) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (and (ssget "x" (list (cons 0 "insert") (cons 67 1))) (progn (vlax-for ent (setq sel (vla-get-activeselectionset doc)) (or (vl-position (setq nom (nombl ent)) lst) (setq lst (cons nom lst)) ) ) (vla-delete sel) ) ) lst ) Et à remplacer dans le lisp (and (eq (vla-get-islayout blo) :vlax-false) (vlax-for ent blo (and (eq (vla-get-objectname ent) "AcDbHatch") (= (vla-get-patternname ent) "SOLID") (vla-delete ent) ) ) ) Par (or (eq (vla-get-islayout blo) :vlax-true) (vl-position (vla-get-name blo) lst) (vlax-for ent blo (and (eq (vla-get-objectname ent) "AcDbHatch") (= (vla-get-patternname ent) "SOLID") (vla-delete ent) ) ) ) ps : il reste juste à intégrer dans le lisp la fonction lstblpre (liste blocs présentations) et ranger le résultat de la fonction dans la variable lst pps : non testé @+
    1 point
  4. Bonsoir loran81, Je suppose que tu utilises, ces icônes pour justifier ton texte: http://pix.toile-libre.org/upload/img/1415816386.png Je te suggère, plutôt, de justifier ton texte en utilisant la Jusification: http://pix.toile-libre.org/upload/img/1415816486.png
    1 point
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité