impress Posté(e) le 21 décembre 2015 Posté(e) le 21 décembre 2015 Bonjour. Le sujet de l'insertion de bloc... Mon but est d'effectuer cette application de façon massive sur plusieurs folios en un coup, par superautoscript par exemple... La commande "-INSERER" (avec le petit tiret) propose bien l'insertion par le nom du bloc, mais elle ne permet pas d'insérer un bloc à un emplacement différent, qui permettrai de redéfinir celui existant ^qui prote le même nom... Chose bien possible en passant par la commande "INSERER" (sans le petit tiret) avec boite de dialogue où il y a le bouton "parcourir" qui permet de sélectionner son bloc à l'endroit désiré. Chose indispensable quand le bloc désiré porte le même nom que celui existant. Comment rendre cette commande effective sans passer forcement par la boite de dialogue?
vincentp010 Posté(e) le 21 décembre 2015 Posté(e) le 21 décembre 2015 Salut, Tu peux utiliser ce SCRIPT dans superautoscript pour redéfinir tes blocs _-insert "NOMBLOC=C:/Users/User/Documents/NOUVEAUBLOC.dwg" _y (command) Bien mettre un espace après (command) pour valider. Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
impress Posté(e) le 21 décembre 2015 Auteur Posté(e) le 21 décembre 2015 Splendide!La redifinition fonctionne à merveille, merci beaucoup.Mais la fonction ce bloque sur "nil"Elle n'est donc pas validée et ne permet pas à Autocad de se fermer pour permettre a superautoscript de passer au fichier suivant...
impress Posté(e) le 21 décembre 2015 Auteur Posté(e) le 21 décembre 2015 Il faudrait peut etre une seconde commande qui annulle l'action ou plutôt l’interrompe en plein milieu pour passer a une seconde commende quelconque comme "zoom et" par exemple...
vincentp010 Posté(e) le 21 décembre 2015 Posté(e) le 21 décembre 2015 J'annulais la commande d'insertion de bloc en plein milieu, mais ça coupe complètement le script. Le mieux est donc de finir l'insertion et de supprimer le dernier objet _-insert "NOMBLOC=C:/Users/User/Documents/NOUVEAUBLOC.dwg" _y 1 0,0 _erase _l Il y a un espace à la fin de chaque ligne. Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
rebcao Posté(e) le 21 décembre 2015 Posté(e) le 21 décembre 2015 Bonjour, Attention avec le _Y, si le bloc n'existe pas dans le dessin ça provoque une erreur et l'arrêt du SCRIPT ! Le mieux dans les SCRIPT (et les MACROS), c'est de commencer le SCRIPT avec un EXPERT = 5 puis à la fin du SCRIPT le remettre à 2 et du coup, il n'y aura jamais à réponde "_Yes je veux redéfinir le bloc..." Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
impress Posté(e) le 22 décembre 2015 Auteur Posté(e) le 22 décembre 2015 Merci pour vos info. Vincentp010 : c'est la bonne solution de finir l'insertion, le hic c'est que si on a une multitude d'attribut à renseigner, ça nous fait mettre un espace à chaque fois (25 pour mon cas car c'est un cartouche que j'insere...) Par contre, la commande sensée supprimer le dernier objet ne fonctionne pas... (_erase _l ) "sélection non valbale"Alors j'ai supprimé au point d'insertion (_erase 0,0). Reste plus qu'à trouver le moyen de synchroniser mon bloc, qu'il retrouve les bons attributs :les commandes GESTATTB ou BATTMAN ouvrent encore une fois la boite de dialogue qui me fige mon script...le raccourcit clavier du bouton "synchroniser" est "Y" mais impossible de le sélectionner.... Une idée? Merci encore!
impress Posté(e) le 22 décembre 2015 Auteur Posté(e) le 22 décembre 2015 ATTSYNC N NOMBLOC Merci a tous.
impress Posté(e) le 22 décembre 2015 Auteur Posté(e) le 22 décembre 2015 Petites Précisions de M. Patrick_35. Pour trouver le dernier objet --> (entlast)Effacer le dernier objet --> (entdel (entlast))Pour insérer des blocs avec des attributs différents --> Variable ATTREQ Du coup mon script ressemble à ça : attreq 0_-insert "NOMBLOC=C:/Users/User/Documents/NOUVEAUBLOC.dwg" _y 1 0,0 (entdel (entlast))ATTSYNC NNOMBLOC Enjoy!
Patrick_35 Posté(e) le 22 décembre 2015 Posté(e) le 22 décembre 2015 Salut Quand tu modifies une variable, il est bien de la restaurer dans son état initialSauvegarder la variable(setq old_attreq (getvar "attreq"))Mon lisp, script....Et la restaurer(setvar "attreq" old_attreq) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
rebcao Posté(e) le 23 décembre 2015 Posté(e) le 23 décembre 2015 Bonjour, ATTSYNC N * marche aussi très bien ! Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
G2.toff Posté(e) le 5 février 2016 Posté(e) le 5 février 2016 Bonjour, Je me permets de poser une question concernant ce sujet car j'aimerais trouver un lisp de ce type ou presque. Je possède sur mon dessin 4 blocs AAA,BBB,CCC,DDD et je souhaite les remplacer par d'autres blocs qui sont dans un dossier partagé et qui se nomment WWW,XXX,YYY,ZZZ. Sachant que AAA sera toujours remplacé par WWW et BBB par XXX, etc... Existe-il un moyen de les remplacer automatiquement sachant que parfois un des 4 blocs sur mon dessin est susceptible de ne pas être présent ? Le LISP précédemment réalisé m'oblige à les faires un par un ce qui me parait lourd vu le nombre de blocs à changer parfois. En fait ce LISP aurait pour but de remplacer mes vieux blocs sur des fichiers anciens par des blocs plus aboutis étant donné l'évolution de AUTOCAD. Je connais la fonction SUBSTITUER de Covadis, mais toujours le même problème, c'est un par un qu'il faut ce les farcir ! Merci.
impress Posté(e) le 5 février 2016 Auteur Posté(e) le 5 février 2016 Bonjour.je ferai comme suis : Renommer les bloc WWW,XXX,YYY... par AAA,BBB,CCC... (comme les initiaux)puis un script : attreq 0_-insert "AAA=C:/Users/User/Documents/AAA.dwg" _y 1 0,0 (entdel (entlast))ATTSYNC NAAA_-insert "BBB=C:/Users/User/Documents/BBB.dwg" _y 1 0,0 (entdel (entlast))ATTSYNC NBBB_-insert "CCC=C:/Users/User/Documents/CCC.dwg" _y 1 0,0 (entdel (entlast))ATTSYNC NCCCattreq 1 Le fait d’insérer un bloc déjà existant mais différent provoque la demande de redéfinition de celui-ci.Après acceptation celui déjà implanté est remis à jour.Reste à voir si l'insertion d'un bloc non existant fonctionne aussi avec le même paramétrage de la fonction "_-insert".
impress Posté(e) le 5 février 2016 Auteur Posté(e) le 5 février 2016 Je viens d'essayer.cela marche bien même avec un bloc non existant.Le script supprime le dernier bloc inséré, donc on ne le verra pas s'il n'existait pas avant. Sinon il aurait été redéfini.
G2.toff Posté(e) le 5 février 2016 Posté(e) le 5 février 2016 Je viens d'essayer.cela marche bien même avec un bloc non existant.Le script supprime le dernier bloc inséré, donc on ne le verra pas s'il n'existait pas avant. Sinon il aurait été redéfini. Merci IMPRESS pour ta réponse rapide et en effet efficace, par contre ce qui me gène c'est que la dénomination de mes nouveaux blocs et plus précise que les anciens blocs car à l'époque à laquelle j'avais créé mes vieux blocs les noms de blocs étaient limités en longueur me semble-t-il. En tout cas je me trouve avec des noms de blocs codés et j'en peux plus de ces codes. Mais je garde quand même l'idée si personne n'arrive à me trouver une solution en gardant des noms distincts... Encore merci.
impress Posté(e) le 5 février 2016 Auteur Posté(e) le 5 février 2016 Bonne question.et bien cela m'a fait essayer : attreq 0_-insert "AAA=C:/Users/User/Documents/WWW.dwg" _y 1 0,0 (entdel (entlast))ATTSYNC NWWW Ça fonctionne aussi bien (évite de renommer les plus récents), mais dans ton folio, le bloc s’appellera toujours AAA... Ça mérite bien un nouveau sujet : "renommage de bloc de façon massive"
G2.toff Posté(e) le 5 février 2016 Posté(e) le 5 février 2016 Tu veux dire quoi par "dans ton folio, le bloc s’appellera toujours AAA" ?
impress Posté(e) le 5 février 2016 Auteur Posté(e) le 5 février 2016 (folio = page) À l'endroit où il y a ton bloc initial (AAA), le bloc sera mis à jour avec les caractéristiques de WWW mais portera toujours le nom initial (AAA).
impress Posté(e) le 9 février 2016 Auteur Posté(e) le 9 février 2016 Bonjour.Une solution : -renommer bl ANCIEN_NOM NOUV_NOM et le tour est joué.
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant