Insertar Bloque desde un archivo DWG

Ver el tema anterior Ver el tema siguiente Ir abajo

Insertar Bloque desde un archivo DWG

Mensaje por cybor el Vie Mayo 27, 2016 2:26 am

Buenas noches: Estoy tratando de insertar un bloque dinamico desde otro archivo, pero lo inserta en cualquier lugar, esto es lo que he estado haciendo pero me faltaria asignarle un getpoint para que inserte en cualquier vertice que elija, espero puedan ayudarme.

(defun c:ibp ()
(command "-insert" "*bloque5" '(0. 0. 0.) "1" "" "")
)

Saludos,


cybor

Mensajes : 15
Fecha de inscripción : 16/05/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Insertar Bloque desde un archivo DWG

Mensaje por amc.dicsac el Vie Mayo 27, 2016 4:21 am

Hola "cybor" que tal, espero te sea util.

Código:
(defun AX:BlockInsert ( Nombre_Bloque Escala_Bloque / Msj_Bloque)
(setvar "cmdecho" 0)
(setq Msj_Bloque (strcat  "\n>> Indica inserción del bloque [ " Nombre_Bloque " ]: "))
(princ Msj_Bloque)
(command "._insert" Nombre_Bloque "_s" Escala_Bloque)
(while (= (logand (getvar "cmdactive") 1) 1)
    (command pause))
(vl-cmdf "explode" "last")
(setvar "cmdecho" 1)
(princ))

(defun c:IBP ()
(AX:BlockInsert "poner_nombre_bloque" "agregar_escala")
(princ))

Para que se inserten tus bloques sin ningun problema:

1) Guarda individualmente cada bloque ( previamente el punto de insercción de cada bloque lo mueves a la coordenada 0,0,0 para evitar que se inserten en cualquier lugar. )
2) Almacena todos los bloques que nesecites en una carpeta y luego registralos en los soportes de autocad así como se muestra en la imagen.

Saludos.

avatar
amc.dicsac

Mensajes : 78
Fecha de inscripción : 17/03/2016
Edad : 26
Localización : Lima - Perú

Ver perfil de usuario http://axprogramlisp.blogspot.pe/

Volver arriba Ir abajo

Re: Insertar Bloque desde un archivo DWG

Mensaje por cybor el Sáb Mayo 28, 2016 1:54 am

Hola amc.dicsac, muchas gracias por la ayuda, pero cuando aplico el comando no inserta, cambie el nombre en donde dice "poner_nombre_bloque", pero nada, en cambio (command "-insert" "*bloque5" '(0. 0. 0.) "1" "" "") lo inserta pero sin una ubicación que yo decida, quizas cambie mal los datos de tu rutina y es por eso que no funciona.

saludos,

cybor

Mensajes : 15
Fecha de inscripción : 16/05/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Insertar Bloque desde un archivo DWG

Mensaje por amc.dicsac el Sáb Mayo 28, 2016 2:37 am

Hola "cybor" seria bueno que subieras tu archivo dwg y tu lisp para ver como lo has modificado. Gracias
avatar
amc.dicsac

Mensajes : 78
Fecha de inscripción : 17/03/2016
Edad : 26
Localización : Lima - Perú

Ver perfil de usuario http://axprogramlisp.blogspot.pe/

Volver arriba Ir abajo

Re: Insertar Bloque desde un archivo DWG

Mensaje por cybor el Miér Jun 01, 2016 6:54 pm

Hola amc.dicsac: Adjunto el bloque que deseo insertar, he modiifcado lo que pides pero cuando lo inserta se separa un poco y me da la opcion de girar, cosa que no deseo que haga eso, el detalle es que inserte desde el centro del bloque dinamico, por lo demas esta excelente.

link del dwg: http://www.mediafire.com/download/bcx91onf0aqu7a0/Norte.dwg

Código:
(defun AX:BlockInsert ( Nombre_Bloque Escala_Bloque / Msj_Bloque)
(setvar "cmdecho" 0)
(setq Msj_Bloque (strcat  "\n>> Indica inserción del bloque [ " Nombre_Bloque " ]: "))
(princ Msj_Bloque)
(command "._insert" Nombre_Bloque "_s" Escala_Bloque)
(while (= (logand (getvar "cmdactive") 1) 1)
    (command pause))
(vl-cmdf "explode" "last")
(setvar "cmdecho" 1)
(princ))

(defun c:norte ()
(AX:BlockInsert "Norte" "1"); puse 1 por que no quiero que cambie el tamaño del bloque
(princ))

cybor

Mensajes : 15
Fecha de inscripción : 16/05/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Insertar Bloque desde un archivo DWG

Mensaje por amc.dicsac el Miér Jun 01, 2016 7:31 pm

Hola que tal, ya vi cual es el problema

1- Tu bloque no esta en las coordenadas 0,0,0 me di cuenta porque use el comando "ID" (este comando te da las coordenas con picar un punto en la pantalla) en su punto de insercción y me dio otras coordenadas que hacian que tu bloque se inserte unos metros, asi que lo movi al 0,0,0

ANTES



DESPUES




2-Ya le quite la opción para que no rotara el bloque al momento de insertar, te recomiento para que pese menos tus bloques guardados le elimines los layoust, lo purges y uses el SCALELISTEDIT para eliminar las escalas que no usas.

Saludos

Código:
(defun AX:BlockInsert ( Nombre_Bloque Escala_Bloque Rotar_Bloque / Msj_Bloque)
(setvar "cmdecho" 0)
(setq Msj_Bloque (strcat  "\n>> Indica inserción del bloque [ " Nombre_Bloque " ]: "))
(princ Msj_Bloque)
(command "._insert" Nombre_Bloque "_s" Escala_Bloque "_r" Rotar_Bloque)
(while (= (logand (getvar "cmdactive") 1) 1)
    (command pause))
(vl-cmdf "explode" "last")
(setvar "cmdecho" 1)
(princ))

(defun c:norte ()
(AX:BlockInsert "Norte" "1" "0")
(princ))

Link de bloque modificado

https://www.dropbox.com/sh/cuvltm542trz5s4/AADzQTkhGfkzBvTKhUnZ_v7Oa?dl=0

Te adjunto un lisp para que muevas tus bloques a las coordenadas 0,0,0 desde su punto de inserción

Código:
(defun c:DCC (/ Select_Obj num x EntName EntList Punto)
(prompt "\n>> Selecciona los bloques a mover en las coordenas 0,0,0 : " )
(setq Select_Obj (ssget "_:L"))
(setq num (sslength Select_Obj))
(setq x 0)
(if Select_Obj
(repeat num
(setq EntName (ssname Select_Obj x))
(setq EntList (entget EntName))
(setq Punto (cdr(assoc 10 EntList)))
(vl-cmdf "_move" Select_Obj "" Punto  "0,0,0")
(command "zoom" "e")
(setq x (1+ x))))
(princ))
avatar
amc.dicsac

Mensajes : 78
Fecha de inscripción : 17/03/2016
Edad : 26
Localización : Lima - Perú

Ver perfil de usuario http://axprogramlisp.blogspot.pe/

Volver arriba Ir abajo

Re: Insertar Bloque desde un archivo DWG

Mensaje por cybor el Miér Jun 01, 2016 11:24 pm

Gracias por el tiempo dedicado amc.dicsac, quedo excelente y despejastes muchas de mis dudas, quedo agradecido.

Saludos

cybor

Mensajes : 15
Fecha de inscripción : 16/05/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Insertar Bloque desde un archivo DWG

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.