Aller au contenu

blocs-->calque 0


Fraid

Messages recommandés

Un petit LISP qui met tous les composants des blocs sélectionnés sur le calque 0. Faire Entrée, Espace ou clic droit sélectionne tous les blocs du dessin.

 

Version "allégée"

 

;;; C:BLOC->0 Place tous les composants des blocs sélectionnés sur le calque 0

(defun C:BLOC->0 (/ bloc_err echo ss n bloc nom pt)
 
;; Redéfinition de *error*
(defun BLOC_ERR (msg)
 (if (= msg "Fonction annulée")
   (princ)
   (princ (strcat "\nErreur: " msg))
 )
 (command "_undo" "_end")
 (setvar "cmdecho" echo)
 (setq	*error*	m:err
m:err nil
 )
 (princ)
)
 
;; Fonction principale

 (setq	m:err	*error*
*error*	BLOC_ERR
echo (getvar "cmdecho")
 )
 (command "_undo" "_begin")
 (setvar "cmdecho" 0)
 (princ "\nSélectionnez les blocs à modifier ou : ")
 (if (not (setq ss (ssget '((0 . "INSERT")))))
   (setq ss (ssget "_X" '((0 . "INSERT"))))
 )
 (repeat (setq n (sslength ss))
   (setq bloc (ssname ss (setq n (1- n)))
  nom  (cdr (assoc 2 (entget bloc)))
  pt   (cdr (assoc 10 (entget bloc)))
   )
   (command "_explode" bloc)
   (command "_chprop" "_p" "" "_layer" "0" "")
   (command "_-block" nom "_y" pt "_p" "")
   (command "_-insert" nom "_non" pt "" "" "")
   (princ (strcat "\nLe bloc \"" nom "\" a été redéfini."))
 )
 (command "_undo" "_end")
 (setvar "cmdecho" echo)
 (setq	*error*	m:err
m:err nil
 )
 (princ)
)

 

[Edité le 14/4/2006 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Bonjour

 

Au fil des lectures sur le forum je vois souvent que les gens mettent le contenu des blocs sur le calque 0.

 

Quel est l'intérêt de cela ? Et quel est l'intérêt de type de couleur,type de ligne,et epaisseur DUBLOC ?

 

Je créer souvent des blocs avec la commande group, ce qui créer un bloc sans nom, puis je les renommes ensuite, et je les place sur le niveau qui m'interesse.

De ce fait les entités sont sur les niveaux sur lequels elle ont été créées, et de couleur et type de ligne DUCALQUE.

 

Si je transfère les entité sur le calque 0, elles deviennent toutes noires, ou de la couleur de mon calque 0. Et si j'explose le bloc, toute mes entités sont noires et du type de ligne du calque 0.

 

Alors que lorsque je décompose mes blocs les entités sont sur les bons niveaux et de la bonne couleur.

 

Merci pour vos réponses

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

bonjour Nakapuf,

 

Tu ne crée pas de bloc avec la commande groupe mais des groupes

 

Il y a un tas de raison de placer un bloc dans le calque 0

 

la plus importante pour moi c'est que je travail pour plusieurs clients qui on chacun leur charte graphique

 

imagine un peu si il fallai que je recrée ma bibliotheque a chaque nouveau client

 

je n'ai pas le temps d'exposer le probleme entierement mais fait une recherche dans le forum

tu aura d'autre reponse et d'autre avis

 

bon courage

 

[Edité le 24/5/2006 par Fraid]

Lien vers le commentaire
Partager sur d’autres sites

Au fil des lectures sur le forum je vois souvent que les gens mettent le contenu des blocs sur le calque 0.

 

Quel est l'intérêt de cela ? Et quel est l'intérêt de type de couleur,type de ligne,et epaisseur DUBLOC ?

 

Ci-dessous, un fil de discussion intéressant concernant ta question...

 

 

http:// http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=9158#pid34671

 

@+

Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP

http://www.git-cad.ch

Lien vers le commentaire
Partager sur d’autres sites

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é