Aller au contenu

remplacer quelques bloc


Messages recommandés

Posté(e)

Bonjour,

 

je voudrais remplacer certain bloc présent sur mon dessin par un autre,

le probleme avec la commande d'Express Tools c'est qu'il remplace tout les blocs du dessin, moi je voudrai selectionner ceux que je souhaite remplacer.

 

comment faire ? merci d'avance

Invité ingoenius
Posté(e)

ici ma routine que surement peut etre amelioré, mais elle fonctionne

il faut insérer d'abord le nouveau bloc dans le dessin pour pouvoir le selectionne quand le script nous le demande

 

 

 

(defun c:REPL (/ ENT1 BLOCCO DatiB NBLOC NEWBL N BL1 NWNM OLD ODNM );
  (prompt "selectionne les blocs a remplacer: ")
  (setq ENT1 (ssget))
(setq BLOCCO (car (entsel "\nSelezione le nouveau bloc ")))
(setq DatiB (entget BLOCCO))
(setq NBLOC (cdr (assoc 2 DatiB)))
(setq NEWBL NBLOC)
(command "insert" NEWBL nil)
  (setq N (sslength ENT1))
  (setq I 0)
  (repeat N
     (setq BL1 (entget (ssname ENT1 I)))
     (setq NWNM (cons 2 NEWBL))
     (setq OLD (assoc 2 BL1))
     (setq ODNM (cdr OLD))
     (entmod (subst NWNM OLD BL1))
     (setq I (1+ I))
  )
  (prin1)
)

Posté(e)

Merci beaucoup, c'est exactement ce que je voulais.

 

mais il y aurait encore un pti truc que j'aimerai

 

en faite tout les blocs que je souhaite remplacer sont en parti masqué (à l'aide de la fonction qui se trouve dans : Modification/délimité/Xref)

 

est ce possible de creer une commande qui reconnaisse les blocs en parti masquer pour les remplacer par un autre bloc ?

 

encore merci.

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é