Crear MVIEW con entmake

Ver el tema anterior Ver el tema siguiente Ir abajo

Crear MVIEW con entmake

Mensaje por ronaldtroya el Dom Mayo 15, 2016 4:05 am

Pregunta:
Es posible crear un MVIEW poligonal con entmake???

ronaldtroya

Mensajes : 25
Fecha de inscripción : 20/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

mview por ENTMAKE

Mensaje por Admin el Miér Mayo 18, 2016 2:06 am

ronaldtroya escribió:Pregunta:
Es posible crear un MVIEW poligonal con entmake???

Si, se puede , hay que usar algún tiempo de silla y cabeza .
Lo ideal es hacer la MVIEW a mano y obtener el ENTGET de la entidad y tratar de analizar cada uno de las lineas de que corresponde a cada código

Código:
(entmake
(List
  '(0 . "LWPOLYLINE")
  '(100 . "AcDbEntity")
  '(67 . 1)
  '(410 . "Layout1"); la presentación en la que va el MVIEW
  '(8 . "0")
  '(100 . "AcDbPolyline")
  '(90 . 7) ; nro de vertices
  '(70 . 1) ; polylinea cerrada
  '(43 . 0.0); ancho constante , puede omitirse
  '(38 . 0.0); elevacion
  '(39 . 0.0); espesor
  '(10 71.0635 114.294)
  '(40 . 0.0) ; radio     estos tres códigos 40, 41 y 42 pueden omitirse
  '(41 . 0.0)  ; ancho final
  '(42 . 0.0) ; bulge para las partes de la poli que son arcos
  '(10 138.279 151.462); el valor x y del punto
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 186.487 109.889) ; en caso de que el punto sea una variable se debe poner (list punto), siendo punto una lista
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 185.11 68.5918)
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 144.615 46.5665)
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 87.3165 50.6963)
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 63.6256 78.5032)
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(210 0.0 0.0 1.0)
  )
)

Si la instrucción está bien , te devuelve el ENTGET de la entidad

Puedes poner

(setq  data (entget (entlast)))

y sale

Código:
((0 . "LWPOLYLINE") (100 . "AcDbEntity") (67 . 1) (410 . "Layout1") (8 . "0") (100 . "AcDbPolyline") (90 . 7) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 71.0635 114.294) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 138.279 151.462) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 186.487 109.889) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 185.11 68.5918) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 144.615 46.5665) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 87.3165 50.6963) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 63.6256 78.5032) (40 . 0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0))


Última edición por Admin el Miér Mayo 18, 2016 2:11 am, editado 1 vez (Razón : agregados varios)

Admin
Admin

Mensajes : 142
Fecha de inscripción : 16/03/2016
Edad : 68
Localización : CORDOBA ARGENTINA

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

Volver arriba Ir abajo

Re: Crear MVIEW con entmake

Mensaje por ronaldtroya el Dom Mayo 22, 2016 4:05 am

Muchas gracias Admin. ya esta creado el polígono, pero lo que busco es que sea un MVIEW no un simple polígono, con ENTMAKE mview poligonal

ronaldtroya

Mensajes : 25
Fecha de inscripción : 20/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

prueba esto

Mensaje por Admin el Dom Mayo 22, 2016 5:05 am

prueba esto


Código:
(defun entmake-una-mview-poligonal ()

(setq viewport
(entmake
(List
  '(0 . "LWPOLYLINE")
  '(100 . "AcDbEntity")
  '(67 . 1)
  '(410 . "Layout1"); la presentación en la que va el MVIEW
  '(8 . "0")
  '(100 . "AcDbPolyline")
  '(90 . 7) ; nro de vertices
  '(70 . 1) ; polylinea cerrada
  '(43 . 0.0); ancho constante , puede omitirse
  '(38 . 0.0); elevacion
  '(39 . 0.0); espesor
  '(10 71.0635 114.294)
  '(40 . 0.0) ; radio    estos tres códigos 40, 41 y 42 pueden omitirse
  '(41 . 0.0)  ; ancho final
  '(42 . 0.0) ; bulge para las partes de la poli que son arcos
  '(10 138.279 151.462); el valor x y del punto
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 186.487 109.889) ; en caso de que el punto sea una variable se debe poner (list punto), siendo punto una lista
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 185.11 68.5918)
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 144.615 46.5665)
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 87.3165 50.6963)
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(10 63.6256 78.5032)
  '(40 . 0.0)
  '(41 . 0.0)
  '(42 . 0.0)
  '(210 0.0 0.0 1.0)
  )
); fin entmake
);fin viewport

(setq vertice ( Cdr (assoc 10 viewport))); el primer vertice
;(71.0635 114.294)


(command "_mview" "_o" (nentselp  vertice  )); hace el mview por objeto

(setq mview (entlast)); la entidad vieport

(setq mview-data(entget mview)); los datos del viewport
 
);Fin defun


(entmake-una-mview-poligonal)

;|
LOS DATOS DEL VIEWPORT
((-1 . <ENTITY NAME: -1396F0>)
  (0 . "VIEWPORT")
  (5 . "371A")
  (102 . "{ACAD_XDICTIONARY")
  (360 . <ENTITY NAME: -1396E8>)
  (102 . "}")
  (330 . <ENTITY NAME: -139950>)
  (100 . "AcDbEntity")
  (67 . 1)
  (410 . "Layout1")
  (8 . "0")
  (100 . "AcDbViewport")
  (10 125.056 99.0142 0.0)
  (40 . 122.861)
  (41 . 104.896)
  (68 . 2)
  (69 . 5)
  (12 1847.09 861.436 0.0)
  (13 0.0 0.0 0.0)
  (14 10.0 10.0 0.0)
  (15 10.0 10.0 0.0)
  (16 0.0 0.0 1.0)
  (17 0.0 0.0 0.0)
  (42 . 50.0)
  (43 . 0.0)
  (44 . 0.0)
  (45 . 15.5573)
  (50 . 0.0)
  (51 . 0.0)
  (72 . 15000)
  (90 . 622656)
  (340 . <ENTITY NAME: -139700>)
  (281 . 0)
  (71 . 1)
  (74 . 0)
  (110 0.0 0.0 0.0)
  (111 1.0 0.0 0.0)
  (112 0.0 1.0 0.0)
  (79 . 0)
  (146 . 0.0)
  (170 . 0)
  (61 . 5)
  (348 . <ENTITY NAME: -13B0D8>)
  (292 . 1)
  (282 . 1)
  (141 . 0.0)
  (142 . 0.0)
  (63 . 250)
  (421 . 3355443))

|;
 
;|«Visual LISP© Format Options»
(180 2 1 0 nil "end of " 100 20 2 2 nil nil T nil T)
;*** DO NOT add text below the comment! ***|;

Admin
Admin

Mensajes : 142
Fecha de inscripción : 16/03/2016
Edad : 68
Localización : CORDOBA ARGENTINA

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

Volver arriba Ir abajo

Re: Crear MVIEW con entmake

Mensaje por ronaldtroya el Dom Mayo 22, 2016 5:32 am

ok es una buena alternativa, lo que estoy tratando de evitar es el uso de (command "_mview" "_o" )
buscaba hacer todo desde entmake, pero te agradezco mucho tu ayuda

ronaldtroya

Mensajes : 25
Fecha de inscripción : 20/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Crear MVIEW con entmake

Mensaje por Admin el Dom Mayo 22, 2016 4:05 pm

ronaldtroya escribió:ok es una buena alternativa, lo que estoy tratando de evitar es el uso de (command "_mview" "_o" )
buscaba hacer todo desde entmake, pero te agradezco mucho tu ayuda


Entonces trabaja con el Entget del viewport



Código:
;|
LOS DATOS DEL VIEWPORT
((-1 . <ENTITY NAME: -1396F0>)
  (0 . "VIEWPORT")
  (5 . "371A")
  (102 . "{ACAD_XDICTIONARY")
  (360 . <ENTITY NAME: -1396E8>)
  (102 . "}")
  (330 . <ENTITY NAME: -139950>)
  (100 . "AcDbEntity")
  (67 . 1)
  (410 . "Layout1")
  (8 . "0")
  (100 . "AcDbViewport")
  (10 125.056 99.0142 0.0)
  (40 . 122.861)
  (41 . 104.896)
  (68 . 2)
  (69 . 5)
  (12 1847.09 861.436 0.0)
  (13 0.0 0.0 0.0)
  (14 10.0 10.0 0.0)
  (15 10.0 10.0 0.0)
  (16 0.0 0.0 1.0)
  (17 0.0 0.0 0.0)
  (42 . 50.0)
  (43 . 0.0)
  (44 . 0.0)
  (45 . 15.5573)
  (50 . 0.0)
  (51 . 0.0)
  (72 . 15000)
  (90 . 622656)
  (340 . <ENTITY NAME: -139700>)
  (281 . 0)
  (71 . 1)
  (74 . 0)
  (110 0.0 0.0 0.0)
  (111 1.0 0.0 0.0)
  (112 0.0 1.0 0.0)
  (79 . 0)
  (146 . 0.0)
  (170 . 0)
  (61 . 5)
  (348 . <ENTITY NAME: -13B0D8>)
  (292 . 1)
  (282 . 1)
  (141 . 0.0)
  (142 . 0.0)
  (63 . 250)
  (421 . 3355443))

|;

Admin
Admin

Mensajes : 142
Fecha de inscripción : 16/03/2016
Edad : 68
Localización : CORDOBA ARGENTINA

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

Volver arriba Ir abajo

Re: Crear MVIEW con entmake

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.