Mapear Layers de AutoCAD DWG a Microstation DGN

Ver el tema anterior Ver el tema siguiente Ir abajo

Mapear Layers de AutoCAD DWG a Microstation DGN

Mensaje por saulo2016 el Mar Jul 26, 2016 10:56 pm

Hola buenas tardes a todos:

El problema que tengo ahora es el siguiente.

Necesito saber si alguien ya tiene un LISP que Mapee layers de DWG a DGN.

por ejemplo, si yo tengo un archivo de Autocad y en él tengo un layer llamado G-ANNO-TEXT con color 3 y tipo de linea continua y ahora quiero exportar el dibujo a DGN pero que ese layer ahora se llame SM2_TEXT_GENERAL con color 1 y con el mismo tipo de linea continua....


Alguien podra ayudarme????

Saludos
avatar
saulo2016

Mensajes : 88
Fecha de inscripción : 17/03/2016
Edad : 51
Localización : Monterrey, Nuevo León, Mexico

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mapear Layers de AutoCAD DWG a Microstation DGN

Mensaje por saulo2016 el Mar Jul 26, 2016 11:31 pm

Hola de nuevo

Encontré esta rutinita que lo que hace es renombrar los layers dentro de mi dibujo, esto me puede servir antes de hacer la exportacion a DGN, lo inico que quiero es que ademas de renombrarme el layer quiero que me asigne un nuevo color y un nuevo tipo de linea...

aqui lo tienen tal como lo encontre:
Código:
;;function to rename a layer.
;;if old layer exists, and new layer doesn't exist, the old layer is simply renamed.
;;if old layer exists, and new layer is already there, it takes everything on old layer and puts them on new layer.
;;if old layer doesn't exist, it does nothing.
(defun renlay (ol nl / ss i ent )
  (cond ((and (tblsearch "layer" ol) (not (tblsearch "layer" nl)))
 (command "._rename" "la" ol nl)
 )
 ((and (tblsearch "layer" ol)(tblsearch "layer" nl))
  (setq ss (ssget "x" (list (cons 8 ol))))
  (setq i -1)
   (repeat (sslength ss)
      (setq ent (entget (ssname ss (setq i (1+ i))))
    ent (subst (cons 8 nl) (cons 8 (cdr (assoc 8 ent))) ent)
      )    
      (entmod ent)
           )
 )
 ((not (tblsearch "layer" ol))
  (prompt (strcat "\nLayer " ol " not found. "))
        )
  )
  (princ)
)

;;example
(defun c:test ()
  (renlay "27" "A-Flor-Strs")
  (renlay "border" "A-Flor-Tptn")
  (renlay "co" "A-Flor-Wdwk")
  (renlay "contratista" "A-Furn")

)

ojala y me ayuden

saludos
avatar
saulo2016

Mensajes : 88
Fecha de inscripción : 17/03/2016
Edad : 51
Localización : Monterrey, Nuevo León, Mexico

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mapear Layers de AutoCAD DWG a Microstation DGN

Mensaje por saulo2016 el Miér Jul 27, 2016 1:02 am

Nota aclaratoria:

Lo que necesito hacer es que asi como viene el cambio de nombre de layer por otro nombre
asi quiero en una lista decirle cual layer quiero con que color


saludos
avatar
saulo2016

Mensajes : 88
Fecha de inscripción : 17/03/2016
Edad : 51
Localización : Monterrey, Nuevo León, Mexico

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mapear Layers de AutoCAD DWG a Microstation DGN

Mensaje por saulo2016 el Miér Jul 27, 2016 5:09 pm

Hola a todos:

Ya creo haber resuelto mi problema.....pues el codigo quedo de la siguiente manera...

Código:
(defun renlay (ol nl / ss i ent )
  (cond ((and (tblsearch "layer" ol) (not (tblsearch "layer" nl)))
 (command "._rename" "la" ol nl)
 )
 ((and (tblsearch "layer" ol)(tblsearch "layer" nl))
  (setq ss (ssget "x" (list (cons 8 ol))))
  (setq i -1)
   (repeat (sslength ss)
      (setq ent (entget (ssname ss (setq i (1+ i))))
    ent (subst (cons 8 nl) (cons 8 (cdr (assoc 8 ent))) ent)
      )    
      (entmod ent)
           )
 )
 ((not (tblsearch "layer" ol))
  (prompt (strcat "\nLayer " ol " no encontrado. "))
        )
  )

**************> Aqui es donde se coloca el numero de color de los layers y el nombre de estos como deben de quedar finalmente <***********

  (command "_.layer" "_color" 5 "SM2D_TEXT_GENERAL" "" )
  

  (princ)
)

*********************************> Aqui es donde se coloca el nombre de los layers que se tienen, y el nombre como deben quedar <********************************
(defun c:test ()
  (renlay "G-ANNO-TEXT"  "SM2D_TEXT_GENERAL" )
  (renlay " "       " ")
  (renlay " "       " ")
  (renlay " "       " ")

)

Si alguien tiene algunas mejor idea se lo agradeceria......y por otro lado......si a alguien le sirve esta rutinita, pues ojala y le sirva a alguien mas.


Saludos a todos los maestros y novatos como yo.
avatar
saulo2016

Mensajes : 88
Fecha de inscripción : 17/03/2016
Edad : 51
Localización : Monterrey, Nuevo León, Mexico

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mapear Layers de AutoCAD DWG a Microstation DGN

Mensaje por Marco Jacinto el Vie Ago 12, 2016 12:07 am

Usa el comando Laytrans

Marco Jacinto

Mensajes : 12
Fecha de inscripción : 12/08/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Mapear Layers de AutoCAD DWG a Microstation DGN

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.