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 em “Ctotal”

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

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

Deixe um comentário

Carrinho de compras
Rolar para cima