Hola
Necesito hacer una tarea repetitiva. Se trata de seleccionar un bloque por nombre, borrarlo, limpiar e insertar un nuevo bloque en su lugar. ¿saben de algún Lisp o VBA para ello?
¡Resuelto! Ir a solución.
Resuelto por Edwin.Saez. Ir a solución.
Resuelto por Johanna_Esteban. Ir a solución.
[On-line translator: I need to do a repetitive task. It's about selecting a block by name, deleting it, cleaning it up, and inserting a new block in its place. Do you know of any Lisp or VBA for this?]
What does "cleaning it up" mean, after "deleting it"? Is there more that must be deleted than only the Block itself?
Does AutoCAD's built-in BLOCKREPLACE command not do what you want? In addition to that, there are numerous routines available to replace a Block with another Block, keeping the original's Layer and location and scale factors and rotation. One that I made before BLOCKREPLACE existed was my own BlockReplace.lsp routine, >here<. It contains two command definitions -- read the comments at the top of the file.
Hola @auto_izh4
Sin duda una rutina es lo más efectivo, mientras te planteo otra alternativa en la quea través de ADCENTER arrastras el bloque y eliges si deseas que sea reemplazado el existente, sin necesidad de eliminar el anterior y purgar.
En la paleta de ADCENTER ubicas la ruta del bloque, una vez lo encuentres das click en el botón derecho y eliges "Insertar como bloque" y al insertarse e identificar que ya está insertado preguntará si deseas reemplazarlo.
Déjame saber si funciona para tí.
Johanna Esteban
La solución mas apropiada para ti según veo es usar el comando "BLOCKREPLACE".
Al usar el comando, te pedirá indicar mediante un cuadro de dialogo el nombre del bloque a ser reemplazado, y luego te pedirá que indiques el bloque con el que se reemplazará.
LinkedIn / AutoCAD Certified Professional
Si mi respuesta fue una solución para usted, por favor seleccione "Aceptar Solución", para que también sirva a otro usuarios.
Saludos @auto_izh4
Si requieres reemplazar todas las inserciones de los Bloques en tu dibujo, el comando EXPRESS, "BLOCKREPLACE" lo hará a la perfección. Pero si requieres eliminar solo uno de ellos, entonces puedes aplicar "DELETE". Pero si ademas quieres insertar un nuevo bloque en su lugar. entonces una rutina LISP podria automatizar esos procedimientos y hacerlo mas rápido y personalizado.
Carlos Calderon G
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
Esa funcion la conozco lo que no se es como hacer ese mismo proceso en mi coleccion de 200 hojas
Conozco la función. Pero el bloque tiene diferentes atributos por lo que al sincronizar atributos me desaparecen los que no tienen el mismo nombre.
Os explico mas detenidamente el caso.
Tengo que sustituir unos cajetines (que son bloques con atributos) por unos nuevos cajetines (con otros atributos diferentes)
Lo que hago hasta encontrar la solución mas efectiva es lo siguiente
Extraigo la informacion del bloque en una excel(la info de los atributos)
Borro por ventana (dependiendo del tipo de cajetin ocupan un espacio u otro)
Purgo (o limpio) para eliminar las capas que no se usan para que el bloque que inserto no herede propiedades
Inserto el nuevo bloque
Edito el nuevo bloque.
El problema que me genera esto es que al seleccionar el bloque por ventana hay planos que no tienen el cajetin en la misma ventana por lo que para mi es mas efectivo seleccionar por nombre de bloque.
¿sabeis si existe un lisp que haga ese proceso de seleccionar por nombre para poder agregarlo a mi secuencia de comandos?
has probado usando:
"-rename"
LinkedIn / AutoCAD Certified Professional
Si mi respuesta fue una solución para usted, por favor seleccione "Aceptar Solución", para que también sirva a otro usuarios.
¿No encontraste lo que buscabas? Pregúntale a la comunidad o comparte tus conocimientos.