Aller au contenu

Changement calque bloc "U"


Demixav

Messages recommandés

Bonjour,

 

J'ai reçu un fichier de réseau, fait avec Covadis je pense, et qui comporte plusieurs blocs nommés *Uxx (xx étant des chiffres...), des blocs "anonymes!

 

Je souhaite faire un peu de ménage dans les calques mais lors du transfert de ces blocs vers un autre calque, leur définition reste sur l'ancien calque et je ne peux donc pas purger les calques...

Et ces blocs, je ne peux pas les éditer! dès que je fais un clic droit pour éditer un bloc, il me demande un nom...

Le seul moyen est d'exploser le bloc et je voudrais éviter ça!

 

Un autre moyen pour changer ces blocs et leur définition vers un autre calque?

 

Merci!

Xav

AutoCad Map 3D 2011 - Covadis v16.0d

Windows 7 - 64b

Lien vers le commentaire
Partager sur d’autres sites

Bonjour la Lozère,

 

Oui, j'ai essayé a fusion de calques, ca ne fonctionne pas!

 

J'ai essayé également le transfert d'un calque vers un autre, mais je comprend pas la commande!

Il me demande bien le calque à transférer mais apres avoir sélectionné le calque, je fais OK et y'a rien de plus! pas de demande de calque de destination et aucun changement du calque sélectionné au départ...

AutoCad Map 3D 2011 - Covadis v16.0d

Windows 7 - 64b

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

J'ai reçu un fichier de réseau, fait avec Covadis je pense, et qui comporte plusieurs blocs nommés *Uxx (xx étant des chiffres...), des blocs "anonymes!

 

Je souhaite faire un peu de ménage dans les calques mais lors du transfert de ces blocs vers un autre calque, leur définition reste sur l'ancien calque et je ne peux donc pas purger les calques...

Et ces blocs, je ne peux pas les éditer! dès que je fais un clic droit pour éditer un bloc, il me demande un nom...

Le seul moyen est d'exploser le bloc et je voudrais éviter ça!

 

Un autre moyen pour changer ces blocs et leur définition vers un autre calque?

 

Merci!

Xav

Il existe la commande PARCOURCALQUES qui permet de sélectionner les calques afin de voir quels éléments sont dessus. Ca marche même pour les éléments nestés dans des blocs et ça permet de nettoyer rapidement un dessin. Peut-être que cette commande peut-être utile dans ce cas.

 

Ne pas oublier de décocher "restaurer à la fermeture" de manière à garder isolés le ou les calques sélectionnés.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Les blocs anonymes "*U###" sont des blocs issus de bloc dynamiques.

Si tu modifies les calques dans la définition du bloc dynamique de base (pas anonyme) les modifications devraient se répecuter automatiquement dans tous les blocs anonymes issus de ce bloc.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

mais comment connaitre "le bloc dynamique de base"

 

Copie-colle en ligne de commande et selectionne ton bloc dynamique

(vla-get-effectivename (vlax-ename->vla-object (car (entsel))))

 

Mais en même temps, dans la palette de propriété tu as aussi le nom effectif du bloc??

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Salut BonusCad,

 

Merci pour ta réponse!

Non, justement, j'ai un nom de bloc anonyme dans la palette de propriétés! genre *U34... comme ce que disait Gilles également...

J'ai testé ta ligne de commande, et il me renvoie le nom du bloc "*U34"! Ce bloc est un bloc "simple", non dynamique...

AutoCad Map 3D 2011 - Covadis v16.0d

Windows 7 - 64b

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Oui, j'aurai du préciser mais oui, j'ai bien tenté le controle, de purger... mais rien n'y fait! :(

Ci dessous un lien pour tester avec les deux blocs sous le même calque!

Merci!

 

PS : Je viens de m'apercevoir qu'en listant les blocs (cov edition→blocs→listing), et bien ces blocs anonymes n'apparaissent meme pas, ni meme leur calque...

 

 

Pour accéder au fichier, cliquez sur le lien ci-dessous et entrez les identifiants.

Fichier : http://www.partage-fichiers.com/upload/l2vvvjrr

Taille du fichier : 68.32 KB

Utilisateur : wfnlt3q3

Mot de passe : u1qsxu31

Ce fichier est disponible durant 15 jours.

AutoCad Map 3D 2011 - Covadis v16.0d

Windows 7 - 64b

Lien vers le commentaire
Partager sur d’autres sites

Je n'ai pas trouvé comment ce type de bloc peut être créé, mais si le but est de purger les calques, on peut mettre tous les composants de tous les blocs sur le calque 0 avec l'expression LISP suivante :

 

(vlax-for b (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
 (if (= (vla-get-Islayout B) :vlax-false)
   (vlax-for o b (vla-put-Layer o "0"))
 )
)

 

Avec Edit_bloc (sur cette page), ça fonctionne aussi.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

On peut aussi, si le dessin ne contient pas de blocs anonymes issus de blocs dynamiques, renommer tous ces blocs en supprimant l'atérisque, ce qui leur rendra un comportement "normal".

 

(vlax-for b (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
 (if (= (vla-get-Islayout B) :vlax-false)
   (vla-put-Name b (vl-string-left-trim "*" (vla-get-Name B)))
 )
)

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Merci Gilles pour tes réponses, tes lisp, et surtout d'avoir pris du temps à mon problème, j'apprécie!

J'apprécie encore plus car c'est nickel avec Edit_Bloc! J'ai pu supprimé ce foutu calque! :)

 

Par contre, au passage, avant d'utiliser Edit_Bloc, j'avoue avoir voulu essayer les expressions LISP que tu as écrites directement sur le post... mais je n'arrive tout simplement pas à les lancer quand c'est juste une expression comme ça, sans "nom" de lisp... J'ai recherché mais je ne trouve pas pour le lancement d'une expression lisp sans "defun".

Si c'est pas trop long, peux tu m'expliquer ou me renvoyer vers un post où c'est déjà expliqué?

 

Enfin, pour les lisps que j'utilises, aucun n'ont de fichiers .dcl ou .vlx... au contraire d'edit_bloc.

D'habitude, je mets les lisp dans un dossier perso dans le dossier d'AutoCad, dont j'ai mis le chemin de recherche sur AutoCad.

Là aussi j'ai cherché à savoir que faire de ces fichiers .dcl et .vlx, et les post parlent de les mettre donc dans les dossiers dont je viens de parler... mais moi, j'ai tout mis ensemble dans le meme dossier, c'est à dire les fichiers .lsp, .dcl, et .vlx... Ca a l'air de fonctionner normalement , mais est ce une erreur de tous les mettre ensemble?

 

Encore merci pour ton aide Gilles!

Xav

AutoCad Map 3D 2011 - Covadis v16.0d

Windows 7 - 64b

Lien vers le commentaire
Partager sur d’autres sites

salut,

 

Pour les expressions LISP il suffit de le copier et de les coller en ligne de commande ; puis valider par entrée.

C'est un des points fort du LISP : on peur directement entrer des expressions LISP en ligne de commande.

 

Les fichiers DCL sont des fichiers de description des boites de dialogue, il faut les placer dans un répertoire des chemins de recherche.

Les fichiers VLX sont le résultat de la compilation de fichiers LISP et, éventuellement de fichiers DCL. Pour edit_bloc, charger edit_bloc.vlx revient à charger tous les fichiers en une seule fois.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Salut Gilles,

 

Et bien heu... j'ai bien essayé le copié-collé, mais une fois collé, j'ai toujours le curseur mobile, je peux dé/zoomer... mais impossible de sélectionner quoique ce soitet dès que je fais "entrée", voilà ce que me retourne l'expression LISP : "; erreur: no function definition: VLAX-GET-ACAD-OBJECT"... d'où mon post où je dis que je ne sais pas les lancer... <_<

 

Merci pour tes explications en tout cas!

Xav

AutoCad Map 3D 2011 - Covadis v16.0d

Windows 7 - 64b

Lien vers le commentaire
Partager sur d’autres sites

Salut Gilles,

 

Et bien heu... j'ai bien essayé le copié-collé, mais une fois collé, j'ai toujours le curseur mobile, je peux dé/zoomer... mais impossible de sélectionner quoique ce soitet dès que je fais "entrée", voilà ce que me retourne l'expression LISP : "; erreur: no function definition: VLAX-GET-ACAD-OBJECT"... d'où mon post où je dis que je ne sais pas les lancer... <_>

 

Merci pour tes explications en tout cas!

Xav

 

"; erreur: no function definition: VLAX-GET-ACAD-OBJECT" est le message classique quand l'interface COM (Visual LISP) n'est pas chargée*.

Il faut faire (vl-load-com) pour charger cette interface. Une fois cette expression évaluée, les expressions ci-dessus devraient fonctionner. Elle ne demanderont pas de sélectionner des objets puis qu'elles agissent directement sur toutes les définitions de bloc.

 

* suivant la version d'AutoCAD, les LISP chargés au démarrage, les Express Tools chargés, l'interface peut être automatiquement chargée, ce qui explique l'oubli fréquent de cette expression dans les programmes non aboutis.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

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é