Ctotal

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!!!

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

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....

4 comentários:

  1. 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

    ResponderExcluir
  2. http://tbn2.blogspot.com/2006/10/manipulao-de-polgonos.html

    veja a rotina get-centroid

    ResponderExcluir
  3. Olá Neyton....
    ta sem acesso para o link de download da lisp ctotal...
    Tem como vc dar uma "oiada" aí..
    vlwww..

    Maxwel

    ResponderExcluir
  4. 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

    ResponderExcluir