PDA

View Full Version : lisp para sumar multiples líneas, polilineas y arcos de un dibujo



jquintero
2008-07-03, 02:16 AM
Le envió una rutina lisp para sumar multiples líneas, polilineas y arcos de un dibujo espero que le pueda servir.

el lisp suma las siguientes entidades:

Suma distancias consecutivamente entre puntos

Suma distancias no necesariamente entre puntos consecutivos

Suma las longitudes de un número indeterminado de arcos

Suma las longitudes de un número indeterminado de líneas

Suma las longitudes de un número indeterminado de líneas y/o polilineas

Suma las áreas y perímetros/longitudes de un número indeterminado de polilineas

Suma las longitudes de todas las líneas de una capa

Cordialmente
José Q.

jquintero
2008-07-03, 02:18 AM
Me disculpan me falto el lisp

prexem
2008-07-12, 01:26 AM
Una rutina que sirve para seleccionar grupos de lineas, arcos y/o polilineas, obtiene
longitudes y devuelve la suma total:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:sll () (sum-long-lin) (princ))
(defun sum-long-lin (/ ss c i sl e vlae l)
(vl-load-com)
(setq ss (ssget '((0 . "LINE,ARC,LWPOLYLINE,POLYLINE")))
c (sslength ss)
i 0
sl 0
)
(repeat c
(setq e (ssname ss i)
vlae (vlax-ename->vla-object e)
l (vlax-get vlae 'length)
sl (+ l sl)
)
)
(princ "\nsuma total de longitudes: ")
(princ sl)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

maynorfig1720114
2011-08-01, 05:37 PM
GENIAAAAAAAAAAAAAAALLLLLLLLLLLLLLL

nelsonalarconr650278
2011-09-21, 04:21 PM
Muchas gracias j, me cae como del cielo...

r_estacado239882
2011-10-15, 12:13 AM
Gracias! funciona perfecto!!

ingciv21208764
2011-11-04, 04:39 PM
muchas gracias

ARCHI223875802
2012-01-13, 05:26 PM
BUEN..POST....APLICADO EN AUTOCAD 2010..SI CORRE...GRXS....

ckar1209987356
2012-02-27, 08:53 PM
gracias por el aporte esta muy bueno

calyredondo353409
2012-03-07, 05:44 AM
Hola a todos! Oye super bueno este LISP, Nunca antes habia usado uno y corrio perfectamente bien en cad 2007. Oye ahora lo que necesito es un LISP que me cuente las intersecciones que se generaron entre 2 o mas polilineas. Donde puedo encontrarlo, o si es algun comando que probablemente desconozca. Gracias a todos!:mrgreen:

adr_08_k445117
2012-05-27, 06:15 PM
Te pasaste!!!!!!

Excelente lisp!! :D

+10! jakjakaj


Me disculpan me falto el lisp

samuel.villago811463
2012-07-25, 11:58 PM
FUNCIONA A LA PERFECCION, ES UNA GRAN HERRAMIENTA, GRACIAS.

emperador_kob369864
2012-08-28, 09:59 PM
oye me podrias mandar el lisp lo quise descargar y no pude

RTERRACINA988009
2012-09-26, 02:52 PM
Hola, perdón... pero no sé si hice mal o no me funciona...
pongo SUMLP selecciono las polilíenas y me da error ¿?
Estoy haciendo algo mal?
GRACIAS.

pbl.ign909856
2012-09-26, 07:28 PM
La rutina, tal como está, no suma correctamente. Lo que hace es sumar la longitud del primer objeto seleccionado tantas veces como objetos se han seleccionado. Para que funcione bien tiene ser.


(defun c:sll () (sum-long-lin) (princ))
(defun sum-long-lin (/ ss c i sl e vlae l)
(vl-load-com)
(setq ss (ssget '((0 . "LINE,ARC,LWPOLYLINE,POLYLINE")))
c (sslength ss)
i 0
sl 0
)
(repeat c
(setq e (ssname ss i)
vlae (vlax-ename->vla-object e)
l (vlax-get vlae 'length)
sl (+ l sl)
i (+ i 1)
)
)
(princ "\nsuma total de longitudes: ")
(princ sl)
)

Le faltaba i (+ i 1)

Tampoco funciona si se selecciona un arco

sweetalberto2375123
2013-04-26, 06:42 PM
muy bueno....buen aporte al mundo Cad

giancarlo_able_cl386265
2013-06-02, 12:14 AM
Buen aporte! Gracias por compartir (Y)

oslr.88400549
2013-07-15, 10:35 PM
gracias muy util

mig.jjz402446
2013-07-20, 08:42 PM
no se ve el link

jhon.alcas365721
2013-09-03, 03:14 PM
Muy buen lisp, funciona a la perfeccion.

presupuestos.ml423437
2013-09-27, 10:25 PM
Más que agradecido !! Me ha ayudado mucho en mi trabajo haciendo presupuestos, ya que tengo que medir distancias para calcular precios de cables.
Saludos!

barcebar003423660
2013-09-28, 09:41 PM
excelente es lo que siempre he estado buscando. gracias por el aporte

igambin
2013-11-15, 12:09 PM
¡¡Mil gracias!!
Este lisp es majestuoso.

AGUSTIN2_87574017
2014-03-03, 04:43 PM
Por favor, necesitaría que alguien me ayude, nunca antes había usado LISP y resulta que cuando lo cargo y ejecuto el comando me pide que seleccione las lineas y cuando termino de hacerlo pongo enter y no me devuelve el resultado. Si alguien puede explicarme en que me estoy equivocando me haria un gran favor. Muchas Gracias

laramahillo631188
2014-04-14, 03:11 PM
Hola!!soy new en esto...tanto en usar los lisp como en foros... ;) ...pero necesito con urgencia esa herramienta...ya que anteriormente con arkitool podia sumar polilineas, pero con la restriccion a 20 usos....para mi es inviable...he intentado utilizar el ultimo lisp q hay pero no me funciona bien, no las suma correctamente al no ser que tengan la misma longitud....me preguntaba si alguien consiguio alguna modificacion q funcione correctamente....y muxas gracias d antemano!! ;)

aap_thomson678592
2014-08-20, 04:36 PM
Muy bueno, gracias

lopez.luis101680271
2014-09-25, 02:43 AM
Muchaaaas gracias j funciona perfecto justo lo que estaba buscando

ralarcon683972
2014-11-25, 12:34 PM
COMO LO DESCARGO

freddy.dinamarca684999
2014-12-09, 09:38 PM
como se descarga

turco_252685169
2014-12-11, 03:28 AM
todo esto es una reverenda mierda, no aparece el link de descarga y los maricones que elogian esta pagina son el mismo creador q quiere echarse flores asimismo

esbefu691134
2015-02-03, 12:15 PM
Por favor, necesitaría que alguien me ayude, nunca antes había usado LISP y resulta que cuando lo cargo y ejecuto el comando me pide que seleccione las lineas y cuando termino de hacerlo pongo enter y no me devuelve el resultado. Si alguien puede explicarme en que me estoy equivocando me haria un gran favor. Muchas Gracias...

ja_ve_fe695336
2015-03-21, 04:53 PM
Excelente...funciona...100% recomendado...(para la persona que no encuentra el link, está en la pag. 3 del foro)

yawarhuari699155
2015-04-27, 10:00 PM
Muchas gracias era algo que necesitaba

gaboo43705601
2015-07-22, 07:18 PM
Exelene Gracias

jgonzalezo.kratos706390
2015-08-05, 07:48 PM
realmente genial esta coleccion.. gracias.

luchito10_48707066
2015-08-16, 03:36 PM
bien..............

proyectos1709878
2015-09-29, 04:38 PM
:lol: Genial!!!!

tiredofcod
2015-11-30, 06:28 PM
Muy buen lisp, lo acabo de probar con Autocad 2016 y funciona perfecto. Muchas gracias!

IngGian
2016-03-22, 03:09 AM
Excelente, buen aporte.

alexsantis.j733231
2016-08-07, 10:48 PM
Me disculpan me falto el lisp

Muchiísima gracias por su aporte:)

i19.vity741889
2017-01-17, 01:37 PM
Muchiísima gracias por su aporte

araceli.salinasbr746444
2017-03-24, 07:45 PM
gracias!!!

mgarciagamra749808
2017-05-16, 05:35 PM
Gracias!!! Me viene perfectos

R0m3r014
2017-08-07, 06:06 PM
Aqui un codigo para sumar Lineas, Polilineas, Arcos, Circulos, Elipses, Spline, 3dpoly

https://i11.servimg.com/u/f11/19/74/94/95/sumall10.gif


(defun c:SUMALL(/ fList firSet entSet filOut entList totLen)

(vl-load-com)

(setq fList '((-4 . "<OR")(0 . "*LINE")(0 . "CIRCLE")
(0 . "ARC")(0 . "ELLIPSE")(-4 . "OR>")
(-4 . "<NOT")(0 . "MLINE")(-4 . "NOT>"))
filOut 0
); end setq
(if
(not
(and
(setq firSet(ssget "_I")
entSet(ssget "_I" fList)
); end setq
); end and
); end not
(progn
(princ "\n<<< Seleccione entidades para calcular la longitud Total: >>> ")
(setq entSet(ssget fList))
); end progn
(setq filOut(-(sslength firSet)(sslength entset)))
); end if
(if entSet
(progn
(setq entList(mapcar 'vlax-ename->vla-object
(vl-remove-if 'listp
(mapcar 'cadr(ssnamex entSet))))
totLen(apply '+
(mapcar '(lambda (x)
(vlax-curve-getDistAtParam x
(vlax-curve-getEndParam x)))entList))
); end setq
(if(/= 0 filOut)
(princ(strcat "\n<!> " (itoa filout)
" were filtered out (unsupported type)! <!>"))
); end if
(princ(strcat "\n<<< Total de Entidades: "(itoa(length entList))
", Longitud total: "(rtos totLen) " >>> "))
); end progn
(princ "\n<!> No has seleccionado Nada! <!>")
); end if
(princ)
); end of c:SUMALL

jobel_ad
2017-09-22, 10:07 PM
Funciona perfecto, gracias

R0m3r014
2018-02-27, 11:15 PM
De Nada,me alegra poder Ayudar.

victoramesquitaruiz784826
2019-09-06, 05:23 PM
Muchas gracias sos un crack

eprocad2000799275
2022-02-14, 03:27 PM
SALUDOS AMIGO NO ME FUNCIONA LA RUTINAO ESTE CODIGO ME CARGA EL LISP SUMALL PERO CUANDO SELECCIONO ME DA ERROR NIL

Ed Jobe
2022-02-15, 04:40 PM
SALUDOS AMIGO NO ME FUNCIONA LA RUTINAO ESTE CODIGO ME CARGA EL LISP SUMALL PERO CUANDO SELECCIONO ME DA ERROR NIL

Funciona para mí. Tal vez escribiste algo mal. Adjunto el código como un archivo lsp. Para cargarlo, puede arrastrar el archivo a AutoCAD o escribir (load "sumall") en la línea de comandos.

Nota: solo puede seleccionar los tipos de entidad que se muestran en el video anterior.