Aller au contenu

Ce pourrait être le nouveau jeu de la semaine


Messages recommandés

Posté(e)

Depuis que mon Autocad a buggé....

 

Il délire un peu

J 'ai fait une selection rapide de blocs et.....

 

 

j 'ajouterai que je sais faire proprement un bloc sans pt d 'insertion à des kilometres, et biensur que tout ce qui est en dehors du bâti est invisible et inselectionnable !!!

 

Si vous trouvez ....

Posté(e)

Mea culpa

 

J 'ai inseré ce plan purgé ds un gabarit vierge, sans bloc ! histoire de pas mourrir idiote !

Surprise

Des blocs "impurgeables" ...hum sympa !!!

Donc j'ai reinseré tous les blocs presents et selection rapide pour visualiser les pts d 'insertion

Et là Hôoooooooooo...Enfer et damnation,

 

blocs invisibles et points improbables

J 'utilise un gabarit d 'origine amical/pro avec pleins de blocs que je complete en fonction des besoins !!

 

Bref la question devient...

Comment purger des blocs imbriqués , invisibles, inselectionnables pour decomposer le bloc d 'origine et le refaire proprement.

 

Bonsoir

Posté(e)

 

Bonsoir Esbe

 

Aie Aie, l'éternel problème des blocs imbriqués pour ne pas dire "super imbriqués" ! :(

 

Il faudrait une super routine (du genre de celles développées par les PROs: GILE / BONUSCAD / etc) pour décomposer "à la volée" les sous/sous/ blocs ... :casstet:

 

Le Decapode "sous-bloquant"

 

Autodesk Expert Elite Team

Posté(e)

Pourtant il n 'y en a pas !

 

Ceux sont de simples blocs, mais comme ils sont récuperés de vieux fichiers, d 'anciennes versions, et d 'origine "douteuse" , c'est le binssss !!!

Cà fait longtemps que je voulais les verifier tous mais c 'est un boulot de titan et je suis adepte de

" l 'éloge de la paresse".

J 'ai vu passé un lisp pour inserer d'un coup tous les blocs d'un fichier.

Donc cela me simplifier la vie.

 

Bref du taff en persective !!

 

bonne journée

Posté(e)

 

Hello Esbe

 

Si ça t'interesses, j'ai un Lisp "WBLOCKM.LSP" qui écrit dans un catalogue TOUS les blocs d'un DWG par une commande WBLOC. :)

 

Après il y a du boulot car il faut les réouvrir UN PAR UN et les décomposer éventuellement, mettre en DUBLOC, refaire la BASE, etc ... :o

 

Je le fais de temps en temps quand je récupère de jolis dessins

avec de magnifiques blocs "merdiques" ! ;)

 

Good Luck, Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

 

ReHello Esbe

 

D'ailleurs voici la routine en question qui vient de l'excellent site: www.dotsoft.com

 

A la question "Target Folder (Catalogue Cible), il faut répondre un truc du genre

C:\DWG

Sous entendu pas de caractères spéciaux, ni de blancs

et le catalogue doit exister bien sur ... :exclam:

 

 

; ----------------------------------------------------------------------

; (Wblocks all local block definitions to target path)

; Copyright © 2000 DotSoft, All Rights Reserved

; Website: http://www.dotsoft.com

; ----------------------------------------------------------------------

; DISCLAIMER: DotSoft Disclaims any and all liability for any damages

; arising out of the use or operation, or inability to use the software.

; FURTHERMORE, User agrees to hold DotSoft harmless from such claims.

; DotSoft makes no warranty, either expressed or implied, as to the

; fitness of this product for a particular purpose. All materials are

; to be considered ‘as-is’, and use of this software should be

; considered as AT YOUR OWN RISK.

; ----------------------------------------------------------------------

 

(defun c:wblockm ()

(setq cmdecho (getvar "CMDECHO"))

(setvar "CMDECHO" 0)

;

(if (not dos_getdir)

(setq path (getstring "\nDS> Target Folder: " T))

(setq path (dos_getdir "Target Folder" (getvar "DWGPREFIX")))

)

(if (/= path nil)

(progn

(if (= (substr path (strlen path) 1) "\\")

(setq path (substr path 1 (1- (strlen path))))

)

(princ "\nDS> Building List of Blocks ... ")

(setq lst nil)

(setq itm (tblnext "BLOCK" T))

(while (/= itm nil)

(setq nam (cdr (assoc 2 itm)))

(setq pass T)

(if (/= (cdr (assoc 1 itm)) nil)

(setq pass nil)

(progn

(setq ctr 1)

(repeat (strlen nam)

(setq chk (substr nam ctr 1))

(if (or (= chk "*")(= chk "|"))

(setq pass nil)

)

(setq ctr (1+ ctr))

)

)

)

(if (= pass T)

(setq lst (cons nam lst))

)

(setq itm (tblnext "BLOCK"))

)

(setq lst (acad_strlsort lst))

(princ "Done.")

;

(foreach blk lst

(setq fn (strcat path (chr 92) blk))

(if (findfile (strcat fn ".dwg"))

(command "_.WBLOCK" fn "_Y" blk)

(command "_.WBLOCK" fn blk)

)

)

)

)

;

(setvar "CMDECHO" cmdecho)

(princ)

)

 

 

Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

Merci beaucoup Mister Lecrabe

 

Je le garde ds mes tablettes dés que j 'aurai le courage et le temps, je m'y mettrai

 

Mais en fait je pensais plutôt à un lisp qui permettait d' inserer automatiquement ts les blocs ds un seul fichier, je rechercherai ds le forum, je crois que c'etait po_ur quelqu'un qui voulais faire un catalogue de ses blocs !

 

Ce sera plus rapide de reperer les blocs deffectueux

 

@+

Posté(e)

MAis je réalise qu 'avec le programme Gile

je vais pouvoir corriger mes mauvais blocs directement , non ???

ou j 'ai rien compris !

 

Bon çà me donne envie d 'essayer...demain.

 

Bonne journée

Posté(e)

Bonjour

 

NON NON pas tout à fait, avec le merveilleux programme de GIlles tu vas corriger par exemple les problèmes suivants:

- Modifier l'echelle globale

- Mettre en DUBLOC toutes les propriétés

- Remettre sur le calque ZERO toutes les entités

- Choisir l'unité d'insertion (versions > 2005)

et ce sur les blocs/symboles d'un dessin en cours ... :)

 

C'est déjà SUPER TIP-TOP ... MAIS MAIS :o

 

Après avec la routine WBLOCKM.LSP, tu vas "envoyer" tous les blocs/symboles dans un catalogue précis: "C:\DWG" par exemple ... :D

 

Ensuite tu vas charger TOUS les DWGs un par un pour Décomposer / Exploser tous les sous-blocs et sous-sous-blocs et Redéfinir un bon point d'insertion (si nécessaire), c la commande BASE ... :(

( Sans oublier éventuellement de tout remettre sur le calque ZERO en mode DUBLOC )

 

Enfin tu finis par un Enregistrer (en version 2000 par exempel) ... :cool:

 

Voilà je crois que nous avons fait le tour de ton problème ;)

 

Le Decapode "tourniquotant"

 

 

[Edité le 11/6/2006 par lecrabe]

Autodesk Expert Elite Team

Posté(e)

 

ReReReBonjour

 

Je croyais que par les temps qui courent on parlait plutôt de dégraisser ... :) :D :cool:

 

Le Decapode "déconnant"

 

 

Autodesk Expert Elite Team

Posté(e)

salut Esbe,

 

Tu peux effectivement utiliser Edit_bloc directement dans le dessin incriminé pour modifier les définitions de blocs du dessin.

 

Si tu veux faire un wbloc pour chaque bloc du dessin et modifier ensuite tous ces wbloc :

 

- tu crées un nouveau dossier

- tu lances WBLOCM (le LISP donné par lecrabe) en indiquant le chemin du nouveau dossier.

- tu lances Edit_bloc_rep en choisissant un fichier dans le nouveau dossier.

- la boite de dialogue de "edit_bloc" permet alors de traiter en une seule fois tous le wblocs du répertoire.

 

Je ne garantis pas le résultat avec la seconde solution, "Edit_bloc_rep" est en cours d'élaboration (des erreurs en cas d'autoréférencement), surtout avec des blocs d'origine "douteuse".

 

À noter toutefois, "Edit_bloc" ne permet pas le changement de point d'insertion, ce type de modification est à faire individuellement pour chaque bloc.

 

Doublé par lecrabe, mais nos réponses se complètent ;)

 

[Edité le 11/6/2006 par (gile)]

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

Posté(e)

 

X ReBonjour

 

En effet seul un misérable être humain pourra corriger (ou plutôt décomposer) les sous-blocs et sous-sous blocs (si nécessaire) et Rédéfinir un point d'Insertion correcte (BASE) :)

 

Pour une fois que (gile) ne pourra RIEN automatiser par ses super méga hyper Tip Top Routines Lisp !!! :P ;)

 

Le Decapode "adepte du travail manuel"

 

PS: Il faut bien qq Graisseux parfois ... :)

 

Autodesk Expert Elite Team

Posté(e)

Si tu peux avoir accès à une version 2006 ou 2007, il y a dans ces versions un "Éditeur de blocs" dans lequel on fait les blocs dynamiques, mais qui peut servir aussi à modifier des blocs non dynamiques.

 

Menu Outils -> Editeur de blocs

On choisit le bloc dans la liste de la boite de dialogue et un fenêtre s'ouvre avec le bloc "explosé" on fait les modifications, on enregistre le bloc et on referme (comme il s'agit de la définition du bloc le point d'insertion est en 0,0).

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

Posté(e)
fenêtre s'ouvre avec le bloc "explosé" on fait les modifications, on enregistre le bloc et on referme

 

Avec la commande editref de la 2005 on peut faire ca aussi ? non ? c'est différent à partir de la 2006 ????

Posté(e)

C'est peut-être un groupe sans nom ?

De plus, [surligneur] SI [/surligneur] c'est un groupe, formé que de blocs, dans la palette propriété, ça n'indiquera que "Référence de blocs". alors le plus simple, juste un LS pour voir.....c'est peut-être idiot mais ça ne coûte rien.

Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.

Posté(e)

Avec la commande editref de la 2005 on peut faire ca aussi ? non ? c'est différent à partir de la 2006 ????

 

La commande editref demande de sélectioner une référence de bloc, or Esbe parle de blocs "insélectionnables". Avec l'éditeur de bloc 2006/2007 on choisit le bloc à modifier dans une liste de la boite de dialogue (liste qui contient tous les blocs de la collection de dessin).

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

Posté(e)

Pour déplacer les points de base, j'avais développé ce lisp.

 

Il n'est pas au point, j'avais idée de le modifier mais je n'ai jamais eu le temps.

Autocad 2021 - Revit 2022 - Windows 10

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é