Crear MVIEW con entmake
2 participantes
Página 1 de 1.
Crear MVIEW con entmake
Pregunta:
Es posible crear un MVIEW poligonal con entmake???
Es posible crear un MVIEW poligonal con entmake???
ronaldT- Mensajes : 54
Fecha de inscripción : 20/03/2016
mview por ENTMAKE
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)
Re: Crear MVIEW con entmake
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
ronaldT- Mensajes : 54
Fecha de inscripción : 20/03/2016
prueba esto
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! ***|;
Re: Crear MVIEW con entmake
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
buscaba hacer todo desde entmake, pero te agradezco mucho tu ayuda
ronaldT- Mensajes : 54
Fecha de inscripción : 20/03/2016
Re: Crear MVIEW con entmake
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))
|;
Temas similares
» Crear Rutina Lisp para Crear Tipo de Linea
» Mover ucs con entmake y funciones vl...
» Generar Cuadrado con entmake
» Crear un archivo VLX
» Crear Pagesetup
» Mover ucs con entmake y funciones vl...
» Generar Cuadrado con entmake
» Crear un archivo VLX
» Crear Pagesetup
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|