Uma lispezinha so pra descontrair… Serve para calcular o comprimento acumulado de diversas linhas selecionadas, que podem ser LINE, SPLINE, ARC, LWPOLYLINE, POLYLINE, ELLIPSE
Se tiver outro tipo de linhas ( tem será? ) pode ser adaptada facilmente!!!
Se tiver outro tipo de linhas ( tem será? ) pode ser adaptada facilmente!!!
mais…
(defun c:ctotal (/ n ss soma ent)
(tbn:error-init nil)
(setq ss (ssget ‘((0 . “LINE,SPLINE,ARC,LWPOLYLINE,POLYLINE,ELLIPSE”)))
n 0
soma 0.0)
(repeat (sslength ss)
(setq ent (ssname ss n)
n (1+ n)
soma (+ soma (vlax-curve-getdistatparam ent
(vlax-curve-getendparam ent)) ))
)
(prompt (fnum soma 3))
(tbn:error-restore))
(tbn:error-init nil)
(setq ss (ssget ‘((0 . “LINE,SPLINE,ARC,LWPOLYLINE,POLYLINE,ELLIPSE”)))
n 0
soma 0.0)
(repeat (sslength ss)
(setq ent (ssname ss n)
n (1+ n)
soma (+ soma (vlax-curve-getdistatparam ent
(vlax-curve-getendparam ent)) ))
)
(prompt (fnum soma 3))
(tbn:error-restore))
Link(s) da(s) subrotina(s) usada(s):
tbn:error-init, fnum, tbn:error-restore
Ah claro, faço uso de algumas subrotintas, então ANTES de dizer que não funcionou, baixe as subrotinas… tem os links para elas no final da lisp… E claro, salve tudo num único arquivo, pra facilitar
Ou baixe isto: ctotal.fas
Carregue com o appload normalmente….
Ola, tenho adquirido bons conhecimentos em LISPS aqui, acompanho sempre que posso. Contudo, seria possivel que criasse uma rotina para escrever/inserir a soma/resultado acumulado de distancias a cada clique… a intencao seria utiliza-lo para criar numeracao predial baseado na distancia entre pontos… seria como um Rodometro para as ruas em projetos CAD.
Parebens pelo Blog,
Grato pela atencao.
I.C.Apolinario
illerappac@yahoo.com.br
Olá Neyton….
ta sem acesso para o link de download da lisp ctotal…
Tem como vc dar uma "oiada" aí..
vlwww..
Maxwel
http://tbn2.blogspot.com/2006/10/manipulao-de-polgonos.html
veja a rotina get-centroid
Neyton, antes de mais nada, parabéns pelo blog…é show de bola. Já tirei várias dúvidas com seus textos.
Trabalho com estruturas de concreto e faço desenhos de locações de pilares. Estou tentando montar uma rotina que crie um ponto no C.G. (centro de gravidade) de um pilar (que pra mim é uma polyline fechada), quando clico nele. Preciso que esta rotina sirva para qualquer polyline fechada independetemente do números de lados.
Grato pela atenção.
scamaru@hotmail.com