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!!!
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....
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))
Link(s) da(s) subrotina(s) usada(s):
tbn:error-init, fnum, tbn:error-restore
(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))
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....
Neyton, antes de mais nada, parabéns pelo blog...é show de bola. Já tirei várias dúvidas com seus textos.
ResponderExcluirTrabalho 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
http://tbn2.blogspot.com/2006/10/manipulao-de-polgonos.html
ResponderExcluirveja a rotina get-centroid
Olá Neyton....
ResponderExcluirta sem acesso para o link de download da lisp ctotal...
Tem como vc dar uma "oiada" aí..
vlwww..
Maxwel
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.
ResponderExcluirParebens pelo Blog,
Grato pela atencao.
I.C.Apolinario
illerappac@yahoo.com.br