Somar comprimento de várias linhas - Autocad 2015

Somar comprimento de várias linhas - Autocad 2015

Anonymous
Não aplicável
86.550Exibições
43Respostas
Mensagem 1 de 44

Somar comprimento de várias linhas - Autocad 2015

Anonymous
Não aplicável

Bom dia,

 

Gostaria de saber se existe alguma maneira de somar automaticamente comprimentos de várias linhas.

Até ao AutoCad 2014, usava uma rotina LISP que fazia o pretendido (SOMAPER), mas no AutoCad 2015 não funciona.

 

O programa devolve-me a seguinte mensagem de erro: 

 

Requires numeric distance, two points, or option keyword.
; error: Function cancelled

 

Desde já agradeço a ajuda

Soluções aceitas (1)
86.551Exibições
43Respostas
Respostas (43)
Mensagem 21 de 44

rpscmail
Explorer
Explorer

Tenho o Autocad 2014 para Mac e quero a medida total de várias linhas do desenho sem ter que medir uma a uma como estou a fazer agora, obrigado.

0 Curtidas
Mensagem 22 de 44

hmsilva
Mentor
Mentor
Olá rpscmail, tenta a rotina que eu postei na mensagem 7 (penso que é a 7).
Comando APPLOAD para carregar a rotina.
Espero que ajude.
Henrique

EESignature

0 Curtidas
Mensagem 23 de 44

Anonymous
Não aplicável

Bom dia,

 

Me passa seu email, que te envio uma lisp pra soma de polilinhas.

Mensagem 24 de 44

rpscmail
Explorer
Explorer

rpscolx@gmail.com

0 Curtidas
Mensagem 25 de 44

rpscmail
Explorer
Explorer

Perfeito, muito obrigado, acho que vou conseguir recuperar a minha cor de cabelo original, obrigado.

0 Curtidas
Mensagem 26 de 44

Anonymous
Não aplicável

 Como faço para poder selecionar mais de uma vez uma mesma linha sem dar (duplicate), se puder me ajudar ficaria muito grato!!

0 Curtidas
Mensagem 27 de 44

Anonymous
Não aplicável

Como selecionar mais de uma vez uma mesma linha sem dar (duplicate), poderia me ajudar, ficaria muito grato!

0 Curtidas
Mensagem 28 de 44

rpscmail
Explorer
Explorer

- Penso que o que pretende fazer não será o que eu tinha em dúvida.
O que postei foi como somar o comprimento de várias linhas, é isso que pretende?

0 Curtidas
Mensagem 29 de 44

Anonymous
Não aplicável

@Anonymous Como sua dúvida é diferente do post feito anteriormente você pode e deve iniciar uma nova discussão, isso te ajudará a encontrar uma resposta mais rápido e também ajudará outros usuários com a mesma duvida.

0 Curtidas
Mensagem 30 de 44

Anonymous
Não aplicável

Olá Henrique,

 

utilizo o Autocad 2017 e usava o "somaper" que começou a dar-me alguns problemas então criei esse comando lisp "Compt" que você indicou.

 

Acontece que quando seleciono as linhas me dá este erro:

 

; error: no function definition: VLAX-CURVE-GETENDPARAM

 

Alguma sugestão?

 

Obrigado

0 Curtidas
Mensagem 31 de 44

f_santana
Mentor
Mentor

você tentou informar no começo da sua rotina que estaria utilizando funções VL?
em algumas versões isso era necessário colocando a linha (vl-load-com)


Você achou uma postagem útil? Então fique à vontade para curtir essas postagens!
Sua pergunta obteve uma resposta que resolveu a duvida? Então clique no botão Aceitar Solução.


Fábio Santana
Architect | CAD/BIM Manager

EESignature

0 Curtidas
Mensagem 32 de 44

Anonymous
Não aplicável

Esse é o file que tenho

 

(defun c:compt (/ comp compt ent i ss)
  (vl-load-com)
  (if (setq ss (ssget '((0 . "ELLIPSE,LWPOLYLINE,POLYLINE,SPLINE,LINE,ARC,CIRCLE"))))
    (progn
        (setq compt 0.0)
    (repeat (setq i (sslength ss))
            (setq ent (ssname ss (setq i (1- i)))
    comp (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent))
    compt (+ comp compt)
            )
      )
    (princ (strcat "\nComprimento total: " (rtos compt)))
    )
    )
  (princ)
  )

0 Curtidas
Mensagem 33 de 44

hmsilva
Mentor
Mentor

Olá Duarte,

infelizmente não consigo reproduzir o erro que te dá, não tenho o 2017, mas testei no 2018...

Tenta num dwg novo fazer uma linha, faz o load do *.lsp e testa.

Funcionou?

 

Espero que ajude
Henrique

EESignature

0 Curtidas
Mensagem 34 de 44

Anonymous
Não aplicável

Não tá funcionando.

 

Acha que tem alguma coisa com o Autocad?

 

testei agora outra rotina lsp que sempre uso sem qualquer problema e também ta dando erro...

0 Curtidas
Mensagem 35 de 44

f_santana
Mentor
Mentor

da uma olhada neste trecho de uma rotina que eu desenvolvi

 

(setq _name (cdr (assoc -1 cris))
   cris (vlax-ename->vla-object _name)
   ccris (vlax-curve-getDistAtParam cris (vlax-curve-getEndParam cris))
)

 

eu peguei o nome do objeto utilizando um comando VL também.

 


Você achou uma postagem útil? Então fique à vontade para curtir essas postagens!
Sua pergunta obteve uma resposta que resolveu a duvida? Então clique no botão Aceitar Solução.


Fábio Santana
Architect | CAD/BIM Manager

EESignature

0 Curtidas
Mensagem 36 de 44

Anonymous
Não aplicável

me da esse erro aqui Fábio

 

; error: no function definition: VLAX-ENAME->VLA-OBJECT

0 Curtidas
Mensagem 37 de 44

hmsilva
Mentor
Mentor

@Anonymous  escreveu:

Não tá funcionando.

 

Acha que tem alguma coisa com o Autocad?

 

testei agora outra rotina lsp que sempre uso sem qualquer problema e também ta dando erro...


Tenta reiniciar o AutoCAD, pode ter existido algum erro no arranque.

Depois de arrancar abre um dwg novo, faz o load do ficheiro de lsp e testa...

 

Espero que ajude
Henrique

EESignature

0 Curtidas
Mensagem 38 de 44

Anonymous
Não aplicável

Já reiniciei o autocad,

Já reiniciei o laptop,

Já fiz Reset Settings to default no Autocad,

 

e continua sem funcionar.

 

Tou vendo que vou ter de desinstalar e instalar de novo

0 Curtidas
Mensagem 39 de 44

hmsilva
Mentor
Mentor
Antes de reinstalar, tenta apenas a solução apresentada aqui,
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/error-no-function-definition-vlax-en...
alterando para o AutoCAD 2017

Henrique

EESignature

0 Curtidas
Mensagem 40 de 44

Anonymous
Não aplicável

Já testei Henrique,

 

Não tinha a linha criada, então eu criei e indiquei o caminho do ficheiro na pasta Autocad 2017, mas não deu certo.

 

Vou re-instalar de novo, não tem outro jeito,

 

Valeu Henrique e Fábio pelo apoio.

0 Curtidas