Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mediciones
Mediciones
(2/03/2004):::::::::::::::::::::::::::::
;********************************* CAMINO CONSECUTIVO
**********************************
;Modificado por InnerCity <itspanish@iespana.es> <http://www.iespana.es/itspanish/>
(defun c:sumcam ()
(setvar "cmdecho" 0)
(graphscr)
(setq
p1 (getpoint "\nSelecciona el primer punto: ")
p2 (getpoint p1 "\nSelecciona el siguiente punto: ")
d1 (distance p1 p2)
prdist (strcat "\nDistancia inicial: " (rtos d1))
)
(princ prdist)
(setq p3 (getpoint p2 "\nSelecciona el siguiente punto o ENTER para acabar"))
(while p3
(setq
d0 (distance p2 p3)
d1 (+ (distance p2 p3) d1)
p2 p3
prdist (strcat "\nDistancia parcial: " (rtos d0) ", Distancia acumulada: " (rtos
d1))
)
(princ prdist)
(setq p3 (getpoint p2 "\nSelecciona el siguiente punto o ENTER para acabar: "))
)
(setq cumd (strcat "Distancia total: " (rtos d1)))
(prompt cumd)
(princ)
)
(defun c:sumarco ()
(setq tlen 0.0)
(setq sset (ssget '((0 . "ARC"))))
(setq num (sslength sset) itm 0)
(while (< itm num)
(setq hnd (ssname sset itm))
(setq ent (entget hnd))
(setq rads (cdr (assoc 40 ent)))
(setq sang (cdr (assoc 50 ent)))
(setq eang (cdr (assoc 51 ent)))
(if (> eang sang)
(setq iang (- eang sang))
(setq iang (+ (- 6.28319 sang) eang))
)
(setq larc (* iang rads))
(setq tlen (+ tlen larc))
(setq itm (1+ itm))
)
(princ (strcat "\nLongitud Total: " (rtos tlen)))
(princ)
)
; ----------------------------------------------------------------------
; (Returns the sum of selected line objects)
; Copyright (C) 1997 DotSoft, All Rights Reserved
; ----------------------------------------------------------------------
; Para lineas con diferente cota en sus extremos se tomara la longitud real (3D
Longitud), no la proyectada.
(defun C:sumlinea ()
(setq sset (ssget '((0 . "LINE"))))
(if sset
(progn
(setq tot 0.0)
(setq num (sslength sset) itm 0)
(while (< itm num)
(setq hnd (ssname sset itm))
(setq ent (entget hnd))
(setq pt1 (cdr (assoc 10 ent)))
(setq pt2 (cdr (assoc 11 ent)))
(setq dis (distance pt1 pt2))
(setq tot (+ tot dis))
(setq itm (1+ itm))
)
(princ (strcat "\nLongitud Total: " (rtos tot)))
)
)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;
; Written by Joshua M Orth. February 2000
; Modificado por InnerCity <itspanish@iespana.es>
<http://www.iespana.es/itspanish/>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;
; Suma el area y perimetro de distintas polilineas mediante seleccion directa
; Written by Joshua M Orth. February 2000
; Readaptado por InnerCity <itspanish@iespana.es>
<http://www.iespana.es/itspanish/>
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
; SUMLCAPA program, modified by Joshua M Orth. February 2000
; Modificado por InnerCity <itspanish@iespana.es>
<http://www.iespana.es/itspanish/>
(sumln)
(princ (strcat "\nLongitud total de las lineas: " (rtos suml)))
(princ)
)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
|;