ajuste de poligonal a figura geometrica

ajuste de poligonal a figura geometrica

Grover_Puma
Advisor Advisor
1.478 Vistas
14 Respuestas
Mensaje 1 de 15

ajuste de poligonal a figura geometrica

Grover_Puma
Advisor
Advisor

Muy buenas a todos, una consulta. deseo que mi poligonal exterior color amarillo se acomode a mi linea blanca interna o sea que tome su forma geométrica. Mi poligonal esta con polilinea y mi figura interior con lineas. Saludos

Grover_Puma_0-1591456184465.png

 


ACEPTA LA SOLUCION que responde a tu pregunta, esto ayudará a otros a encontrar respuestas de una manera mas sencilla.
Si te gusta esta publicación, dale ME GUSTA.

Saludos!
0 Me gusta
1.479 Vistas
14 Respuestas
Respuestas (14)
Mensaje 2 de 15

calderg1000
Mentor
Mentor

Estimado @Grover_Puma 

Requieres que el ajuste sea manteniendo un offset o que se ajuste exactamente a las dimensiones de la poligonal de color blanco....?

De cualquier forma no es mas fácil aplicar JOINT a todas las lineas de la poligonal blanca, eliminar la figura poligonal amarilla o hacer un offset a la poligonal blanca luego de la unión.

Ambas figuras tienen diferente cantidad de vertices; editando los vertices seleccionando los grips y haciendo STRECH también es posible hacerlo; pero tal vez tu consulta se deba a que tiene muchas  situaciones similares y hacerlo manualmente tomaría tiempo.

Seria bueno complementar un poco mas la consulta.

Saludos.

 

 


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

0 Me gusta
Mensaje 3 de 15

Grover_Puma
Advisor
Advisor
Solución aceptada

lo de la poligonal es sólo un ejemplo. Lo que en realidad tengo es infinidad de poligonales. comprendo que puedo hacer JOIN y eliminar la poligonal amarilla de un inicio y hacer offset pero requiero mantener ambas cosas, la poligonal amarilla y las lineas.

Grover_Puma_0-1591460325802.png

volviendo a este pequeño ejemplo. 


que se ajuste exactamente a las dimensiones de la poligonal de color blanco....?

asi es, es exactamente lo que busco, pero deseo mantener poligonal amarilla y tambien lineas blancas pero a la vez seran como dos poligonales con iguales dimensiones. por que tengo delimitacion de manzanos y ahora debo hacer parcelas siguiendo mismas dimensiones. podria hacer join, offset pero esto tomara mucho tiempo, deseo buscar algo mas directo como a un solo click o similar


Grover_Puma_1-1591460474491.png

que quede asi como si fuera uno solo, en la imagen lo separe para demostrar como debiera quedar. de tener un comando que me acomode exactamente a la figura geometrica que deseo seria mucha ayuda, esto me facilitaria mucho para no editar vertice por vertice, grips ....etc

Grover_Puma_0-1591460869342.png

 

 

 

Saludos

 

 


ACEPTA LA SOLUCION que responde a tu pregunta, esto ayudará a otros a encontrar respuestas de una manera mas sencilla.
Si te gusta esta publicación, dale ME GUSTA.

Saludos!
0 Me gusta
Mensaje 4 de 15

calderg1000
Mentor
Mentor
Solución aceptada

Estimado @Grover_Puma 

Aquí te alcanzo una creación rápida de esta rutina Autolisp minimamente probado, que tal vez te pueda ser de ayuda.

Adjunto vídeo screencast con explicación de su funcionamiento.

Saludos.

;;;Routine Autolip Parcela Interior
;;;Crea una nueva parcela similar a la parcela interior y en la capa original de la parcela exterior
;;;For CCG, Version Beta, V01: 07-06-2020
;;;Ingrese Cpi, para iniciar la rutina
;;;-------------------------------------------------------------------------------------------------
(DEFUN C:Cpi (/ SELP NUMV I LST VPOL)
(SETVAR "DYNMODE" 1)
(SETQ OSN(GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(vl-load-com)
(WHILE
(SETQ
ENAME (CAR (ENTSEL "Selecccione Polilinea Parcela Exterior...:"))
)
(SETQ SELP (ENTGET ENAME))
(SETQ CAP (CDR (ASSOC 8 SELP)))
(SETQ NUMV (CDR (ASSOC 90 SELP)))
(SETQ I 14)
(SETQ LST '())
(REPEAT NUMV
(SETQ VPOL (list (CDR (NTH I SELP))))
(SETQ LST (APPEND LST VPOL))
(SETQ I (+ I 5))

);REPEAT

(PRINC LST)
(COMMAND "ERASE" ENAME "")
(setq selint (ssget "wp" lst))
(setq num (sslength selint))
(setq i 0)
(repeat num
(setq objlin (vlax-ename->vla-object (ssname selint i))); Objeto VLA i
(vla-copy objlin)
(vla-put-layer objlin CAP)
(setq i (1+ i))
);repeat
)While
(SETVAR "OSMODE" OSN)
);Defun

 

 


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

0 Me gusta
Mensaje 5 de 15

calderg1000
Mentor
Mentor
Solución aceptada

Estimado @Grover_Puma 

Aquí te alcanzo una rutina Autolisp creada un tanto rápido y minimamente probado que puede servir para lo que requieres; adjunto vídeo screencast donde explico su funcionamiento.

Saludos.

;;;Routine Autolip Parcela Interior
;;;Crea una nueva parcela similar a la parcela interior y en la capa original de la parcela exterior
;;;For CCG, Version Beta, V01: 07-06-2020
;;;Ingrese Cpi, para iniciar la rutina
;;;--------------------------------------------------------------------------------------------------------------------
(DEFUN C:Cpi (/ SELP NUMV I LST VPOL)
(SETVAR "DYNMODE" 1)
(SETQ OSN(GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(vl-load-com)
(WHILE
(SETQ
ENAME (CAR (ENTSEL "Selecccione Polilinea Parcela Exterior...:"))
)
(SETQ SELP (ENTGET ENAME))
(SETQ CAP (CDR (ASSOC 8 SELP)))
(SETQ NUMV (CDR (ASSOC 90 SELP)))
(SETQ I 14)
(SETQ LST '())
(REPEAT NUMV
(SETQ VPOL (list (CDR (NTH I SELP))))
(SETQ LST (APPEND LST VPOL))
(SETQ I (+ I 5))

);REPEAT

(PRINC LST)
(COMMAND "ERASE" ENAME "")
(setq selint (ssget "wp" lst))
(setq num (sslength selint))
(setq i 0)
(repeat num
(setq objlin (vlax-ename->vla-object (ssname selint i))); Objeto VLA i
(vla-copy objlin)
(vla-put-layer objlin CAP)
(setq i (1+ i))
);repeat
)While
(SETVAR "OSMODE" OSN)
);Defun

 


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

0 Me gusta
Mensaje 6 de 15

calderg1000
Mentor
Mentor
Solución aceptada

Estimado @Grover_Puma 

Aquí te alcanzo una rutina creada de forma rápida y minimamente probada, que tal vez te pueda servir de ayuda.

Saludos.

;;;Routine Autolip Parcela Interior
;;;Crea una nueva parcela similar a la parcela interior y en la capa original de la parcela exterior
;;;Condicion: la polilinea exterior y las lineas en su interior, deben estar en su propia CAPA y COLOR BY LAYER
;;;For CCG, Version Beta, V01: 07-06-2020
;;;Ingrese Cpi, para iniciar la rutina
;;;-------------------------------------------------------------------------------------------------
(DEFUN C:Cpi (/ SELP NUMV I LST VPOL)
(SETVAR "DYNMODE" 1)
(SETQ OSN(GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(vl-load-com)
(WHILE
(IF
(SETQ
ENAME (CAR (ENTSEL "\nSelecccione Polilinea Parcela Exterior...:"))
)
(PROGN
(SETQ SELP (ENTGET ENAME))
(SETQ CAP (CDR (ASSOC 8 SELP)))
(SETQ NUMV (CDR (ASSOC 90 SELP)))
(SETQ I 14)
(SETQ LST '())
(REPEAT NUMV
(SETQ VPOL (list (CDR (NTH I SELP))))
(SETQ LST (APPEND LST VPOL))
(SETQ I (+ I 5))

);REPEAT

;;; (PRINC LST)
(VL-CMDF "ERASE" ENAME "")
(setq selint (ssget "wp" lst))
(setq num (sslength selint))
(setq i 0)
(repeat num
(setq objlin (vlax-ename->vla-object (ssname selint i))); Objeto VLA i
(vla-copy objlin)
(vla-put-layer objlin CAP)
(setq i (1+ i))
);repeat
);PROGN
);IF
(princ)
)While
(SETVAR "OSMODE" OSN)
);Defun

 

 


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

0 Me gusta
Mensaje 7 de 15

calderg1000
Mentor
Mentor
Solución aceptada

Estimado @Grover_Puma 

Aqui te alcanzo una rutina de creación y prueba rápida que puede ser de ayuda, la condición principal para su correcto funcionamiento es que las entidades interiores y exterior se encuentren en su Layer y color ByLayer, de lo contrario se podría presentar un resultado no esperado.

Adjunto screencast con explicacion de su funcionamiento.

Saludos.

 

 


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

0 Me gusta
Mensaje 8 de 15

calderg1000
Mentor
Mentor
Solución aceptada

Estimado @Grover_Puma 

Aquí adjunto la rutina.

Saludos.

;;;Routine Autolip Parcela Interior
;;;Crea una nueva parcela similar a la parcela interior y en la capa original de la parcela exterior
;;;Condicion: la polilinea exterior y las lineas en su interior, deben estar en su propia CAPA y COLOR BY LAYER
;;;For CCG, Version Beta, V01: 07-06-2020
;;;Ingrese Cpi, para iniciar la rutina
;;;-------------------------------------------------------------------------------------------------
(DEFUN C:Cpi (/ SELP NUMV I LST VPOL)
(SETVAR "DYNMODE" 1)
(SETQ OSN(GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(vl-load-com)
(WHILE
(IF
(SETQ
ENAME (CAR (ENTSEL "\nSelecccione Polilinea-Parcela Exterior...:"))
)
(PROGN
(SETQ SELP (ENTGET ENAME))
(SETQ CAP (CDR (ASSOC 8 SELP)))
(SETQ NUMV (CDR (ASSOC 90 SELP)))
(SETQ I 14)
(SETQ LST '())
(REPEAT NUMV
(SETQ VPOL (list (CDR (NTH I SELP))))
(SETQ LST (APPEND LST VPOL))
(SETQ I (+ I 5))

);REPEAT

;;; (PRINC LST)
(VL-CMDF "ERASE" ENAME "")
(setq selint (ssget "wp" lst))
(setq num (sslength selint))
(setq i 0)
(repeat num
(setq objlin (vlax-ename->vla-object (ssname selint i))); Objeto VLA i
(setvar "draworderctl" 1)
(vla-copy objlin)
(vla-put-layer objlin CAP)
(setq i (1+ i))
);repeat
);PROGN
);IF
(princ)
)While
(SETVAR "OSMODE" OSN)
);Defun


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

0 Me gusta
Mensaje 9 de 15

Anonymous
No aplicable

Probaste la herramiente Boundary? Te genera polilineas dentro de un contorno, en este caso las lineas

0 Me gusta
Mensaje 10 de 15

Grover_Puma
Advisor
Advisor

Excelente aporte @calderg1000 ahora mismo me pongo a trabajar en ello.


ACEPTA LA SOLUCION que responde a tu pregunta, esto ayudará a otros a encontrar respuestas de una manera mas sencilla.
Si te gusta esta publicación, dale ME GUSTA.

Saludos!
0 Me gusta
Mensaje 11 de 15

Grover_Puma
Advisor
Advisor

Gracias por responder @Anonymous , lo probare también. Saludos


ACEPTA LA SOLUCION que responde a tu pregunta, esto ayudará a otros a encontrar respuestas de una manera mas sencilla.
Si te gusta esta publicación, dale ME GUSTA.

Saludos!
0 Me gusta
Mensaje 12 de 15

Anonymous
No aplicable

Creo que el comando te serviría, deberías hacer una capa para estas nuevas polilineas que generas con Boundary, así es mas fácil aislarlas y manejaras, nos contas como te fue!

Mensaje 13 de 15

calderg1000
Mentor
Mentor

Estimado @Anonymous 

Efectivamente, tienes mucha razón siempre pensé que la consulta tendría solución con los comandos de ACAD en 2 o tres pasos, pues la rutina creada lo que hace es solo simplificar un poco los pasos para conseguir lo que se requiere con un solo CLICK como lo solicito @Grover_Puma. Aunque soy consiente que todavía se puede mejorar p.ejem. hacer una selección WP con filtros de todas las entidades Line y Polyline que se debe editar y obtener el resultado sin tener que que hacerlo uno por uno.

Saludos.


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

0 Me gusta
Mensaje 14 de 15

Grover_Puma
Advisor
Advisor
Solución aceptada

Realmente esto solucionó mi problema a la perfección @calderg1000 ,con pocos click dar lo correcto. Estimado Felicidades y gracias por el aporte. Saludos 


ACEPTA LA SOLUCION que responde a tu pregunta, esto ayudará a otros a encontrar respuestas de una manera mas sencilla.
Si te gusta esta publicación, dale ME GUSTA.

Saludos!
0 Me gusta
Mensaje 15 de 15

Grover_Puma
Advisor
Advisor
Solución aceptada

estimado @Anonymous efectivamente ayuda el tema de boundary pero lo que buscaba era la solución que mando @calderg1000 . Sin duda alguna tu aporte tambien es valorable @Anonymous . Saludos y gracias por tomarse el tiempo de responder


ACEPTA LA SOLUCION que responde a tu pregunta, esto ayudará a otros a encontrar respuestas de una manera mas sencilla.
Si te gusta esta publicación, dale ME GUSTA.

Saludos!
0 Me gusta