Inicio y sentido de una LWPOLYLINE
5 participantes
Página 1 de 1.
Inicio y sentido de una LWPOLYLINE
Consultando a los que si saben del tema, existe al guna forma para decirle al AutoCAD de donde inicia la Lwpolyline y de cambiar el sentido, saben de algun lisp que lo haga o al menos creen que se pueda hacer con Lisp?? de antemano gracias por su valioso tiempo.
Francisco Manjarrez- Mensajes : 17
Fecha de inscripción : 10/08/2016
Re: Inicio y sentido de una LWPOLYLINE
Para cambiar el sentido existe el comando de autocad "INVERTIR". En inglés "REVERSE"
Para indicarle un nuevo punto de inicio, tendrías que extraer las coordenadas y reordenarlas , aplicando ENTMOD
- Código:
(command "_reverse" ename "")
Para indicarle un nuevo punto de inicio, tendrías que extraer las coordenadas y reordenarlas , aplicando ENTMOD
Re: Inicio y sentido de una LWPOLYLINE
Hola a tod@s
Para polilineas cerradas, acá hay dos códigos
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/change-polyline-start-point/m-p/2154331
y
https://autocadtips1.com/2014/06/25/autolisp-reorder-polyline-origin/
Saludos
Para polilineas cerradas, acá hay dos códigos
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/change-polyline-start-point/m-p/2154331
y
https://autocadtips1.com/2014/06/25/autolisp-reorder-polyline-origin/
Saludos
jademar- Mensajes : 27
Fecha de inscripción : 03/04/2016
A robierzo le gusta esta publicaciòn
Re: Inicio y sentido de una LWPOLYLINE
Por si es de utilidad...
- Código:
(defun C:TST (/ cnt crd lla llb obj)
(while (null obj)
(setq obj (vl-catch-all-apply 'entsel (list "\nDesigna polilínea 2D para invertir [ESC para abortar]: ")))
(if (null obj)
(princ "\nNo se ha designado nada...")
(if (vl-catch-all-error-p obj)
(setq obj T)
(progn
(setq obj (vlax-ename->vla-object (car obj)))
(if (= (vla-get-objectname obj) "AcDbPolyline")
(setq crd (vlax-safearray->list (vlax-variant-value (vla-get-coordinates obj))))
(progn
(princ "\nEl objeto designado no es una polilínea 2D...")
(setq obj nil)
)
)
)
)
)
)
(if crd
(progn
(setq cnt 0)
(while (> (length crd) cnt)
(if (zerop (rem cnt 2))
(setq lla (cons (list (nth cnt crd)) lla))
(setq llb (cons (list (nth cnt crd)) llb))
)
(setq cnt (1+ cnt))
)
(vla-put-coordinates
obj
(vlax-safearray-fill
(vlax-make-safearray
vlax-vbDouble
(cons 0 (1- (length crd)))
)
(apply
'append
(mapcar '(lambda (x y) (append x y)) lla llb)
)
)
)
)
)
(princ)
)
kasperle- Mensajes : 29
Fecha de inscripción : 18/03/2016
A robierzo le gusta esta publicaciòn
Re: Inicio y sentido de una LWPOLYLINE
Hola a tod@s
kasperle: Probada con todo éxito en Acad 2007 inglés con una pline abierta. Muchas gracias.
Saludos
kasperle: Probada con todo éxito en Acad 2007 inglés con una pline abierta. Muchas gracias.
Saludos
jademar- Mensajes : 27
Fecha de inscripción : 03/04/2016
Re: Inicio y sentido de una LWPOLYLINE
Checate estas herramientas, son rusas, buenazas, recien les hice su Ribbon panel
https://www.dropbox.com/scl/fi/0c9tshb1w3cz6j90dggxh/pltools.zip?rlkey=96q2jkom4owtqsamw932jrit1&dl=0
https://www.dropbox.com/scl/fi/0c9tshb1w3cz6j90dggxh/pltools.zip?rlkey=96q2jkom4owtqsamw932jrit1&dl=0
Marco Jacinto- Mensajes : 92
Fecha de inscripción : 12/08/2016
Re: Inicio y sentido de una LWPOLYLINE
Muchas gracias por sus aportes, revisándolos links y el código el que si me ha dado resultado es el de PLINEORG, funciona redesignando el punto de inicio y es correcto con la línea de código que comenta robierzo claro que funciona sin embargo el punto de origen se puede designar, asi que la combinación creo que es la correcta para efectos prácticos.
Francisco Manjarrez- Mensajes : 17
Fecha de inscripción : 10/08/2016
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|