Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Página 1 de 2. 1, 2  Siguiente

Ver el tema anterior Ver el tema siguiente Ir abajo

Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Jue Mar 16, 2017 7:41 pm

Alguien sabe como abrir un archivo *.dwg desde una rutina lisp, y seguir en hoja nueva
Gracias.


Última edición por 1VANNA el Miér Mar 22, 2017 9:11 pm, editado 1 vez

1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por amc.dicsac el Jue Mar 16, 2017 9:29 pm

Hola que tal "1VANNA", prueba con este lisp

Código:
(defun c:ODWG (/ OpenDwg)
(setq OpenDwg (LM:Open (getfiled "Busca archivo dwg" "" "dwg" 8)))
(princ))

;; Open  -  Lee Mac
;; A wrapper for the 'Open' method of the Shell Object
;; target - [int/str] File, folder or ShellSpecialFolderConstants enum

(defun LM:open ( target / rtn shl )
    (if (and (or (= 'int (type target)) (setq target (findfile target)))
             (setq shl (vla-getinterfaceobject (vlax-get-acad-object) "shell.application"))
        )
        (progn
            (setq rtn (vl-catch-all-apply 'vlax-invoke (list shl 'open target)))
            (vlax-release-object shl)
            (if (vl-catch-all-error-p rtn)
                (prompt (vl-catch-all-error-message rtn))
                t
            )
        )
    )
)

Saludos...
avatar
amc.dicsac

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

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

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Vie Mar 17, 2017 1:29 pm

Funciona perfectamente!!
Gracias amc.dicsac, este foro es lo máximo!

1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Miér Mar 22, 2017 9:08 pm

Perdón por seguir con el tema:
Como hago para continuar con una rutina en la hoja nueva?

(defun c:funcion)  ;hoja actual
 (etc.........)        ;rutina hoja actual
 (abrir-hoja)        ;abre hoja nueva
 (etc.........)        ;seguir rutina en hoja nueva
);end funcion  

Espero que alguien sepa como hacerlo.
Gracias.

1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por amc.dicsac el Miér Mar 22, 2017 9:35 pm

Creo que no se puede hacer eso, pero si explicas que lisp estás haciendo podría haber otras soluciones
avatar
amc.dicsac

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

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

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Jue Mar 23, 2017 1:12 pm


Tengo una maqueta en 3D de una planta que esta compuesto de caños, bridas, válvulas, etc, (hecho en CadWorks) pero... no tengo el CadWorks y necesito hacer los planos isometricos de cada una de las lineas.
Lo que intento hacer es lo siguiente:

1.- Seleccionar un conjunto de elementos de la maqueta que componen una linea
2.- Guardar como un archivo nuevo.
3.- Generar una lista de materiales.
4.- Acotar de manera automática.

Ya tengo cubierto los puntos 1 y 2, pero..... la rutina (en proceso) no corre en el archivo nuevo vuelve a la hoja de la maqueta.
De ahí surge la consulta:

(defun c:seleccionar-linea) ;hoja actual
(guardar-linea) ;rutina hoja actual
(abrir-linea) ;abre hoja nueva
(lista-de-materiales) ;seguir rutina en hoja nueva
(etc-etc)
);end defun

Espero puedan ayudarme.




1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Jue Mar 23, 2017 2:53 pm

Hola 1vanna . me imagino que el cadworks lo abres con acad .

¿puedes subir el DWG , que resulta del punto 2?

¿de donde salen los detalles de los materiales?

si no puedes subirlo, enviarlo a mi correo: mi usuario en el gcorreo

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Jue Mar 23, 2017 3:30 pm

Esta es una pequeña porción de la maqueta, todos las propiedades se encuentran como DATOS EXTENDIDOS, los cuales puedo obtener con esta rutina sencilla

(defun c:cw ()
(setq aa (car (entsel)))
(setq bb (cdadr (assoc -3 (entget aa (list "*")))))
(setq cc (cdr (nth 1 bb)))
(setq dd (cdr (nth 3 bb)))
(setq ee (cdr (nth 4 bb)))
(alert (strcat "DESCRIPCCION" "\n"
"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯" "\n"
cc " " dd "\n"
"\n" "\n"
"CODIGO DE LINEA" "\n"
"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯" "\n"
ee "\n"
)
)
)

El punto es que deseo exportar una linea (conjunto de tuberías, bridas, válvulas, etc.) y que se abra el archivo y haga todo el proceso de manera automática en la hoja nueva.
Pero donde me quede atorada es en el cambio de hoja, dicho de otro modo... la rutina no continua en la hoja nueva.

COMO SUBO LA MAQUETA???

1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Jue Mar 23, 2017 3:57 pm

Lo mejor es enviarla a mi correo

devitg@gmail.com , o abrir una cuenta de DROPBOX, o compartir desde GDRIVE

A que te refieres con HOJA NUEVA , un nuevo DWG , o una presentación, LAYOUT

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por amc.dicsac el Jue Mar 23, 2017 5:25 pm

Y porque en vez de hacer estos puntos:

1.- Seleccionar un conjunto de elementos de la maqueta que componen una linea
2.- Guardar como un archivo nuevo.
3.- Generar una lista de materiales.
4.- Acotar de manera automática.

No lo haces de la siguiente manera

1.- Seleccionar un conjunto de elementos de la maqueta que componen una linea
3.- Generar una lista de materiales.
4.- Acotar de manera automática.
2.- Guardar como un archivo nuevo.

avatar
amc.dicsac

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

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

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Vie Mar 24, 2017 1:38 pm

Hola de nuevo.
devitg, Te envié una pequeña parte de la maqueta, no pude compartirlo por GDRIVE
Con "hoja nueva" me refiero a un nuevo DWG.

amc.dicsac, son miles de elementos que tengo en la hoja, intentar hacer todo (los cuatro puntos) y luego guardar como un archivo nuevo, lo veo muy muy complicado.


1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 1:55 pm

Hola Ivanna , el tema es que el DWG hecho por Cadworks está preparado para hacer lo que tu quires con el mismo cadworks . Estoy estudiando lo que me enviaste .

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Vie Mar 24, 2017 2:08 pm

Gracias por contestar,
En realidad, no puedo usar el CadWorks por el tema de la licencia.
Hasta el momento me va bien con el plan de los cuatro puntos pero en lo que estoy atorada es que la rutina no continua en un dwg nuevo.
Por favor.... yo se que los maestros del lisp pueden hacerlo, la gente de CadWorks lo hizo en versiones anteriores.
Saludos.


1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 2:27 pm

Ya vi lo de los datos de cada pieza. Ahora resulta que no veo la forma de sacar una línea, digamos  , entre dos puntos , lo mas que encuentro son unas pocas capas que pueden aislar un gran grupo de elementos , aparentemente son las capas _CA , _CA_I , _BA , _CA_I .

Ahora si quieres separar por partes , lo que hay en cada capa , hay que seleccionarlos uno por uno


Por otro lado , lisp trabaja, unicamente,  en el DWG (maqueta) activo , luego lo que se puede hacer es
1º separa cada una de las capas , en un DWG (hoja) individual
2º abrir uno a uno cada dwg y hacer la lista de los datos extendidos .

Por favor sube el formato en que quieres la lista de los datos extendidos.

Lo mejor , es si puedes hacer un DWG ejemplo y el fichero ejemplo de los datos extendidos

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 2:27 pm

Los de cadworks , deben aplicar una programación que no necesariamente es LISP .

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 2:31 pm

Reitero .LISP trabaja únicamente en el DWG abierto.
Entonces se puede hacer que el LISP saque el fichero con los datos extendidos y haga un WBLOCK de lo que se ve en la presentación y el fichero correspondiente



Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Vie Mar 24, 2017 2:54 pm


1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 2:58 pm

No llores , lo que te propuse se puede hacer. El problema es que no dices lo QUE quieres hacer , y dices COMO lo quieres hacer. No siempre el COMO es posible, y hay que mostrar el QUE. Y luego puede haber una solución no pensada.
Al mostrar el QUE , hay que mostrar TODO

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Vie Mar 24, 2017 4:00 pm

Voy a prepara todo lo que tengo y subirlo para que puedan ayudarme.

1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 4:23 pm

Ya estoy trabajando en el tema ,
mi COMO sería:

1º seleccionar una entidad a procesar que sea un 3d-solid y que tenga datos extendidos
2º obtengo la capa
3º selecciono todos los 3d-solid y que tengan datos extendidos que estén en esa capa
4º obtengo la lista de los datos extendidos , en tu caso CC EE DD
5º genero un fichero CSV ( comma separated values) o fichero separado por comas con la lista CC,EE,DD, se podría poner un encabezamiento "DESCcc ", "Desc dd",CODIGO DE LINEA"
el fichero llevaría en nombre del dwg-el nombre de la capa
6º con la seleccion hacer un WBLOCK con el mismo nombre del fichero csv , DWG
7º otra seleccion para la otra/s capas

Y trabajando mas fino que haga todo solo , a partir de la seleccion de todos 3d-solid y que tengan datos extendidos , hacer una lista de las capas y seguir por el 1º punto .

ESTO ES UN COMO para tu QUE

Que recién lo puedo deducir de tus sucesivos post.

Espero tus ejemplos por mi correo

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Vie Mar 24, 2017 5:09 pm

Gracias por tu tiempo.
Voy a demorar un poco subir el ejemplo, mientras estoy haciendo esto a mano, pues tengo que ir mostrando resultados a mis jefes.
El tema de las capas me parece muy complicado, de por si el archivo completo tiene como 100 capas... se trata de una planta completa que tiene como 1000 lineas cada linea tiene 50 elementos.
Ya se imaginaran el trabajo que tengo... bueno una parte del trabajo.
Saludos.

1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 5:46 pm

Por favor envía el dwg completo , y debo deducir que que cuando te refieres a lineas son todas la que están en una misma capa. Aún no deduzco cómo quieres sacar la linea , si es la que contiene un conjunto de piezas conectadas , o las que están en un a misma capa.

Si es como la que están en una misma capa , se puede hacer de modo automático, ahora si debes sacar únicamente las lineas contiene un conjunto de piezas conectadas, deberás seleccionarlas una por una.

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por 1VANNA el Vie Mar 24, 2017 6:18 pm

Perdón por no explicarme de la manera correcta:
En este rubro "Linea" es un conjunto de tuberías, bridas, válvulas, etc. Las "LIneas generalmente conectan un equipo a otro.
Cuando hago la selección de las "Lineas" para guardarlas en un archivo aparte las hago por medio del código de linea (ver archivo adjunto) que esta como datos extendidos.
Todos los elementos que tienen el mismo código pertenecen a una "Linea".
Por eso cuando me hablas de capas, las cosas no tienen sentido.



En este ejemplo el codigo de este elemento es 51044.

1VANNA

Mensajes : 22
Fecha de inscripción : 15/09/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 7:43 pm

Nos vamos entendiendo, de a poco. Cuesta pero vamos progresando.

HAY UNA LEY QUE DEBERÍAMOS RESPETAR SIEMPRE

NO DAR NADA POR ENTENDIDO

En este tema cada cual tiene su idioma y/o costumbre , y no todos podemos adivinar.

Sigo avanzando, a los golpes , pero avanzamos

Gracias

Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Admin el Vie Mar 24, 2017 7:51 pm

Puede ser que en este dato que es el NTH 4 del aa

"4\"-CA-04004-1 1/2\"H"

04004 es el nro de codigo de la línea


Admin
Admin

Mensajes : 164
Fecha de inscripción : 16/03/2016
Edad : 69
Localización : CORDOBA ARGENTINA

Ver perfil de usuario http://acadhispano.foroargentina.net

Volver arriba Ir abajo

Re: Abrir un archivo *.dwg desde lisp Y CONTINUAR RUTINA EN HOJA NUEVA

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 1 de 2. 1, 2  Siguiente

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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