Demixav Posté(e) le 24 mai 2017 Posté(e) le 24 mai 2017 Bonjour, J'utilise de temps à autres le LISP "P2B" (de je ne sais pas qui!), qui consiste à insérer des blocs déjà présents dans le dessin sur des cercles ou des points. J'ai fait l'erreur de créer des blocs avec des noms comportant des espaces, car dès que le LISP me demande de saisir le nom du bloc, quand je tape l'espace, le LISP prend ça pour une validation du nom et donc, nom incomplet, et donc "invalid block"... logique! Y'a t-il un moyen de contourner cette validation par l'espace?Ou de changer le mode de sélection du bloc par un clic de sélection et non par la saisie du nom? si une âme charitable lispeuse passait par là... :unsure: Merci et bonne fin de journée!Xav AutoCad Map 3D 2011 - Covadis v16.0dWindows 7 - 64b
Geof Posté(e) le 24 mai 2017 Posté(e) le 24 mai 2017 Bonjour, "J'ai fait l'erreur de créer des blocs avec des noms comportant des espaces,..." Si tu peux changer ton repérage tu prends la commande "Renommer"Tu enlèves tout les espaces. Je pense que c'est ce qu'il y a de plus rapide.Bonne chance
Steven Posté(e) le 24 mai 2017 Posté(e) le 24 mai 2017 Salut, Il y a le lisp "rtable" de gile ou de Patrick_35, je ne sais plus et je ne peux pas vérifier pour le moment mais il permet de remplacer les espaces dans les noms de blocs et les noms de calques par des _ou des -N'ayant pas accès à mon PC, pour le moment, je ne peux pas te joindre le lisp en question. Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
lili2006 Posté(e) le 24 mai 2017 Posté(e) le 24 mai 2017 Bonjour à toutes et tous, Tu peux aussi éditer le fichier en ".txt" et utiliser la fonction "Rechercher/remplacer" de ton éditeur de texte,... Perso, j'utilise "notepad+" Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Steven Posté(e) le 24 mai 2017 Posté(e) le 24 mai 2017 Salut, Il y a le lisp "rtable" de gile ou de Patrick_35, je ne sais plus et je ne peux pas vérifier pour le moment mais il permet de remplacer les espaces dans les noms de blocs et les noms de calques par des _ou des -N'ayant pas accès à mon PC, pour le moment, je ne peux pas te joindre le lisp en question. C'est un lisp de gile pour normaliser les noms. http://pix.toile-libre.org/upload/img/1495645432.png Le voici Steven________________________________________ Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD. Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD. En rêve; AutoCAD sous Linux.
(gile) Posté(e) le 24 mai 2017 Posté(e) le 24 mai 2017 Salut, Dans le LISP "P2B" (que je ne me souviens pas avoir écrit, mais je ne me souvenais pas non plus pour "rtable"), dans "P2B" donc, tu dois trouver une expression du genre :(getstring "\nSaisir le nom du bloc: ")Il suffit de mettre un : T après getsring pour que l'invite accepte les espaces :(getstring T "\nSaisir le nom du bloc: ")Néanmoins, il est toujours préférable d'éviter les espaces dans les noms de blocs, calques, styles, fichiers, etc... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 25 mai 2017 Posté(e) le 25 mai 2017 Hello La VIEILLE routine (Ecrite en 2001) P2B (et ses derives C2B/T2B - Micro-Modifs par votre serviteur) provient de Dotsoft.com- C2B : Circle To Block- T2B : Text To Block Bon WE, Bye, lecrabe ;;; ;;; Routine pour dessiner un Bloc sur des cercles / points graphiques ;;; Version modifiee pour ne traiter que des cercles ou des points ;;; Commande: C2B ou P2B - Routine: P2B ou C2B v1.1 ;;; ;;;--------------------------------------------------------------------; ;;; PNT2BLK.LSP - July 2001 - Original Routine ;;; Place a block object in the location of selected point objects. ;;;--------------------------------------------------------------------; ;;; Function: PNT2BLK --> C2B / P2B ;;; ;;; function to convert point objects to blocks. ;;; block must be defined in the current drawing ;;; blocks including attdefs will not address the attributes ;;; if the block references attdefs with default or constant values, ;;; these will be populated. ;;;********************************************************************* ;;; ;(defun c:c2b (/ ss ct len e eb bname pt attreqhold echohold) (defun c:p2b (/ ss ct len e eb bname pt attreqhold echohold) ;;; get command echo setting and store it (setq echohold (getvar "CMDECHO")) ;;; set command echo off (setvar "CMDECHO" 0) ;;; get attribute request setting and store it (setq attreqhold (getvar "ATTREQ")) ;;; set attribute request off (setvar "ATTREQ" 0) ;;; get name of block to insert ;;; (setq bname (getstring "\nBlock name: ")) ;;; Avec la Modif pour accepter des Blancs/Espaces dans le Nom du Bloc (setq bname (getstring T "\nBlock name: ")) ;;; check that the block is defined in the current drawing (if (tblsearch "block" bname) (progn ;;; prompt for point selection (princ "\nSelect point objects:") ;;; --- if point OR circle objects were selected --- ;(if (setq ss (ssget '((0 . "CIRCLE")))) (if (setq ss (ssget '((0 . "POINT")))) (progn ;;; walk through point objects (setq len (sslength ss)) (setq ct 0) (while (< ct len) ;;; for each point (setq e (ssname ss ct)) (setq ct (+ ct 1)) (setq eb (entget e)) ;;; get insert point (setq pt (cdr (assoc 10 eb))) ;;; insert block (command "_insert" bname pt "" "" "") ) ) ;(princ "\nNo circle objects selected.") (princ "\nNo point objects selected.") ) ) (princ "\nInvalid, block not defined in drawing.") ) ;;; restore command echo setting to stored value (setvar "CMDECHO" echohold) ;;; restore attribute request setting to stored value ;;; (setq attreqhold (getvar "ATTREQ")) (setvar "ATTREQ" attreqhold) (princ) ) Autodesk Expert Elite Team
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