Home Downloads Fóruns Pesquisas Sua Conta
Navegação
icon_home.gif HomeNovo conteúdo !
· Forums
· Equipe/Team
· Blog CADKlein Oficial
· Blog CADKlein Antigo
· Loja CADKlein
· Aulas ao vivo
· Podcast CADKlein
· Boletins CADKlein
· Galeria/Gallery
· Contato/Contact
· Recomende-nos

icon_vip.gif Membro VIPNovo conteúdo !Show/Hide content
· InformaçõesNovo conteúdo !

icon_usuarios.gif UsuáriosShow/Hide content
· Sua Conta/Account
_SOMRESTRICTEDMEMBERS Msg Privadas
_SOMRESTRICTEDMEMBERS Members_List
favoritos.gif NewsShow/Hide content
_SOMRESTRICTEDGROUP News Submission
· News Topics
· News Archive
som_downloads.gif DownloadsNovo conteúdo !Show/Hide content
· DownloadsNovo conteúdo !
icon_estatisticasl.gif InformaçõesShow/Hide content
· Pesquisas/Surveys
_SOMRESTRICTEDMEMBERS Estatísticas
· Top 10
som_downloads.gif LinksShow/Hide content
· Web LinksNovo conteúdo !
utils.gif UtilitáriosShow/Hide content
· conversor
icon_comunidade.gif EquipeShow/Hide content
· Administração do site
· Forums
nuke.gif Comunidade

CADKLein no Yahoogrupos
Faça parte de nossa lista de discussão no Yahoogrupos,
Grupo CADKLEIN.

Simplesmente digite o seu email no campo abaixo:

User Menu
Bem-vindo

Visitante

Apelido
Senha
Fazer Registro

Usuários:
Último(a): marcosmichal...
Pendente(s): 30
Hoje:: 1
Ontem: 1
Total: 28692

On-line Agora [0]:
Visitantes: 0
Cadastrados: 0
Usuário On-Line:


Páginas Vistas:
Hoje: 4205
Total: 20976782

Google Ads

CADKLEIN: Forums

CADKLEIN :: Exibir tópico - Autolisp para somar linhas
Main  •  FAQ  •  Search  •  User Groups  •  Profile  •  Members List  •  Private Messages
Arcade  •  Attachments  •  Buddy List  •  Ranks  •  Rules  •  Smilies List  •  Statistics  •  Staff


Autolisp para somar linhas

 
Novo Tópico   Responder Mensagem    CADKLEIN - Índice do Fórum -> AutoCAD 2D Exibir página para Impressão
Exibir mensagem anterior :: Exibir próxima mensagem  


Autor Mensagem
Silaspr
Ferro
Ferro


Registro: Mar 29, 2011
Mensagens: 10
Localização: São Paulo

Status: Offline

MensagemEnviada: Qui 10 Nov 2011 10:37:57 am    Assunto: Autolisp para somar linhas Responder com Citação Scroll Down to Next postGo to last Post of Page

Olá pessoal, estou precisando de uma Ajuda.
Preciso de uma Autolisp que some a distancia de um ponto a outro e que vá acumulando a somatoria dos pontos Clicados.

Eu consegui a Lisp - DISTAC, mas ela quando clica num ponto vc não pode clicar em pontos distintos pois ela funciona como uma polyline.

A lisp q eu preciso por exemplo se eu tiver 10 linhas em paralelo clico no ponto inicial da primeira linha e no fim da mesma ele acumula uma distância na segunda a mesma coisa e no fim dou enter e ela da a distância total das linhas.

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email

Autor Mensagem
CarlosAbreu
Bronze
Bronze


Registro: May 08, 2009
Mensagens: 56


Status: Offline

MensagemEnviada: Qui 10 Nov 2011 2:04:07 pm    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

bom... tem esse lisp q soma as distancias das linhas selecionando elas

(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))

;;;;;;;;;;;;;;;;;;;;;;;

(defun tbn:error-init (sys / tmp ss cmd)
(defun-q-list-set 'tbn:error_exe (list nil (cadr sys)))
(setq tbn:olderr *error*
*error* (lambda (s)
(setq yy s)
(if (/= s "Function cancelled")
(prompt (strcat "\nError: " s)))
(if (/= (getvar "cmdnames") "")
(command))
(tbn:error_exe)
(tbn:error-restore))
sys (car sys)
tbn:sysvars nil
tbn:error-undo (getvar "undoctl")
ss (ssgetfirst)
cmd (getvar "cmdecho"))

(setvar "cmdecho" 0)
(cond ((= 2 (logand tbn:error-undo 2))
(command "_.undo" "_control" "_all"
"_.undo" "_auto" "_off"))
((/= 1 (logand tbn:error-undo 1))
(command "_.undo" "_all"
"_.undo" "_auto" "_off")))
(command "_.UNDO" "_group")
(setvar "cmdecho" cmd)

(repeat (/ (length sys) 2)
(setq tmp (car sys)
tbn:sysvars (cons (list tmp (getvar tmp))
tbn:sysvars)
tmp (setvar tmp (cadr sys))
sys (cddr sys)))
(sssetfirst (car ss) (cadr ss)))


(defun tbn:error-restore (/ cmd)
(setq *error* tbn:olderr)
(foreach x tbn:sysvars (setvar (car x) (cadr x)))
(redraw)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(command "_.UNDO" "_e")
(cond ((/= 1 (logand tbn:error-undo 1))
(command "_.undo" "_control" "_none"))
((= 2 (logand tbn:error-undo 2))
(command "_.undo" "_control" "_one")))
(setvar "cmdecho" cmd)
(princ))

;|formata um numero real em uma string com f casas decimais
e com separador de milhar, exemplo:
(fnum 123456789.123456789 3)|;
(defun fnum (num f / int pos fp)
(setq int (rtos num 2 f)
pos (vl-string-search "." int)
pos (if pos pos (strlen int))
fp (substr int (+ pos 2) (strlen int))
int (substr int 1 pos))
(while (< (strlen fp) f) (setq fp (strcat fp "0")))
(repeat (/ pos 3)
(setq int (strcat (substr int 1 (- pos 3))
"."
(substr int (- pos 2) (strlen int)))
pos (- pos 3)))
(vl-string-left-trim "."
(if (zerop f) int (strcat int "," fp))))

(defun tbn:error-init (sys / tmp ss cmd)
(defun-q-list-set 'tbn:error_exe (list nil (cadr sys)))
(setq tbn:olderr *error*
*error* (lambda (s)
(setq yy s)
(if (/= s "Function cancelled")
(prompt (strcat "\nError: " s)))
(if (/= (getvar "cmdnames") "")
(command))
(tbn:error_exe)
(tbn:error-restore))
sys (car sys)
tbn:sysvars nil
tbn:error-undo (getvar "undoctl")
ss (ssgetfirst)
cmd (getvar "cmdecho"))

(setvar "cmdecho" 0)
(cond ((= 2 (logand tbn:error-undo 2))
(command "_.undo" "_control" "_all"
"_.undo" "_auto" "_off"))
((/= 1 (logand tbn:error-undo 1))
(command "_.undo" "_all"
"_.undo" "_auto" "_off")))
(command "_.UNDO" "_group")
(setvar "cmdecho" cmd)

(repeat (/ (length sys) 2)
(setq tmp (car sys)
tbn:sysvars (cons (list tmp (getvar tmp))
tbn:sysvars)
tmp (setvar tmp (cadr sys))
sys (cddr sys)))
(sssetfirst (car ss) (cadr ss)))


(defun tbn:error-restore (/ cmd)
(setq *error* tbn:olderr)
(foreach x tbn:sysvars (setvar (car x) (cadr x)))
(redraw)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(command "_.UNDO" "_e")
(cond ((/= 1 (logand tbn:error-undo 1))
(command "_.undo" "_control" "_none"))
((= 2 (logand tbn:error-undo 2))
(command "_.undo" "_control" "_one")))
(setvar "cmdecho" cmd)
;;;;;;;;;;;;;;;;;;

(princ))

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email MSN Messenger

Autor Mensagem
Silaspr
Ferro
Ferro


Registro: Mar 29, 2011
Mensagens: 10
Localização: São Paulo

Status: Offline

MensagemEnviada: Qui 10 Nov 2011 4:47:28 pm    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

Sim essa eu tenho, mas qual eu quero é um pouco diferente dessa. Obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email

Autor Mensagem
luislhss
Ouro
Ouro


Registro: Mar 10, 2006
Mensagens: 699
Localização: Salvador

Status: Offline

MensagemEnviada: Sex 11 Nov 2011 10:16:57 am    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

Bom dia,

Não seria mais interessante que você pudesse selecionar as linhas distintas e já acumulasse as distâncias?

No fórum da Grapho tem algo similar:

http://www.grapho.com.br/forum/show.asp?Grupo=4&MsgID=GM 12312

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email Visitar a homepage do Usuário MSN Messenger

Autor Mensagem
luislhss
Ouro
Ouro


Registro: Mar 10, 2006
Mensagens: 699
Localização: Salvador

Status: Offline

MensagemEnviada: Sex 11 Nov 2011 10:22:30 am    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

Eu achei essa aqui, veja se lhe serve:

Rotina para calcular a distância acumulada entre vários pontos. Pede o clique acumulando o valor a cada clique.
Origem: AditivoCAD - www.aditivocad.com
Arquivo: distac.zip
Tamanho: 2 KB
http://www.aditivocad.com/arquivos/rotinas/distac.zip

Faz a soma dos comprimentos de linhas, arcos, Plines, Splines, seleccionados.
Origem: CADblocos - www.cadblocos.arq.br
Arquivo: totlen.zip
Tamanho: 2 KB
http://www.cadblocos.com.br/downloads/lisp/totlen.zip

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email Visitar a homepage do Usuário MSN Messenger

Autor Mensagem
Silaspr
Ferro
Ferro


Registro: Mar 29, 2011
Mensagens: 10
Localização: São Paulo

Status: Offline

MensagemEnviada: Qui 17 Nov 2011 3:26:38 pm    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

Luislhss o DISTAC é um lisp que fica proximo do que eu preciso, mas ao invés dele funcionar como se fosse uma polyline pra acumular, a lisp que eu busco tem que somar dois pontos distintos e ir acumulando de dois em dois pontos.

Alguém consegue editar a Lisp Distac?

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email

Autor Mensagem
LuKlein
Equipe CADKLEIN
Equipe CADKLEIN


Registro: Feb 27, 2003
Mensagens: 2765
Localização: Brasil

Status: Offline

MensagemEnviada: Sex 18 Nov 2011 12:21:14 pm    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

Eu fiz essa há alguns anos quando comecei a brincar com lisp:

Código:
(defun C:dac ()
  (alert "Esta funcao se repetira por 20 vezes.")
  (setvar "cmdecho" 0)
  (setq p1 (getdist "\nPrimeira distancia: "))
  (print p1)            ;1
  (setq p2 (getdist "\nProxima distancia: "))
  (setq p2t (+ p1 p2))
  (print p2t)            ;2
  (setq p3 (getdist "\nProxima distancia: "))
  (setq p3t (+ p3 p2t))
  (print p3t)            ;3
  (setq p4 (getdist "\nProxima distancia: "))
  (setq p4t (+ p3t p4))
  (print p4t)            ;4
  (setq p5 (getdist "\nProxima distancia: "))
  (setq p5t (+ p4t p5))
  (print p5t)            ;5
  (setq p6 (getdist "\nProxima distancia: "))
  (setq p6t (+ p6 p5t))
  (print p6t)            ;6
  (setq p7 (getdist "\nProxima distancia: "))
  (setq p7t (+ p7 p6t))
  (print p7t)            ;7
  (setq p8 (getdist "\nProxima distancia: "))
  (setq p8t (+ p8 p7t))
  (print p8t)            ;8
  (setq p9 (getdist "\nProxima distancia: "))
  (setq p9t (+ p8t p9))
  (print p9t)            ;9
  (setq p10 (getdist "\nProxima distancia: "))
  (setq p10t (+ p10 p9t))
  (print p10t)            ;10
  (setq p11 (getdist "\nPrimeira distancia: "))
  (setq p11t (+ p11 p10t))
  (print p11t)            ;11
  (setq p12 (getdist "\nProxima distancia: "))
  (setq p12t (+ p11t p12))
  (print p12t)            ;12
  (setq p13 (getdist "\nProxima distancia: "))
  (setq p13t (+ p13 p12t))
  (print p13t)            ;13
  (setq p14 (getdist "\nProxima distancia: "))
  (setq p14t (+ p13t p14))
  (print p14t)            ;14
  (setq p15 (getdist "\nProxima distancia: "))
  (setq p15t (+ p14t p15))
  (print p15t)            ;15
  (setq p16 (getdist "\nProxima distancia: "))
  (setq p16t (+ p16 p15t))
  (print p16t)            ;16
  (setq p17 (getdist "\nProxima distancia: "))
  (setq p17t (+ p17 p16t))
  (print p17t)            ;17
  (setq p18 (getdist "\nProxima distancia: "))
  (setq p18t (+ p18 p17t))
  (print p18t)            ;18
  (setq p19 (getdist "\nProxima distancia: "))
  (setq p19t (+ p18t p19))
  (print p19t)            ;19
  (setq p20 (getdist "\nProxima distancia: "))
  (setq p20t (+ p20 p19t))
  (print p20t)            ;20
  (setvar "cmdecho" 1)
  (princ)
)


Eu não programo em lisp, parei faz tempo... espero que essa rotina possa ajudar em algo.


____________
Abraços,
Luciana Klein
Sócia-Fundadora CADKlein
Autodesk Expert Elite
Autora Livros AutoCAD:
2006 2D, 2008 2D/3D
2010 2D/3D, 2012 2D/3D
AutoCAD 2009/10/11/12/13 Certified Professional/Associate
www.lucianaklein.com/loja
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email Visitar a homepage do Usuário

Autor Mensagem
Silaspr
Ferro
Ferro


Registro: Mar 29, 2011
Mensagens: 10
Localização: São Paulo

Status: Offline

MensagemEnviada: Seg 21 Nov 2011 3:27:27 pm    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

Obrigado Lú

É dessa que estava precisando, só que preciso que se repita mais vezes.

Mas mesmo assim obrigado.

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email

Autor Mensagem
neyton
Ouro
Ouro


Registro: May 28, 2006
Mensagens: 403


Status: Offline

MensagemEnviada: Qui 24 Nov 2011 1:14:28 pm    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous postScroll Down to Next postGo to last Post of Page

hehehe, legal ver a minha rotina por aqui!!!

____________
Neyton
http://tbn2.blogspot.com
civil 3d, visual lisp, .net e mais
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email Visitar a homepage do Usuário

Autor Mensagem
CarlosAbreu
Bronze
Bronze


Registro: May 08, 2009
Mensagens: 56


Status: Offline

MensagemEnviada: Qui 24 Nov 2011 2:52:55 pm    Assunto: Responder com Citação Go to Top of PageScroll Up to Previous post

ohh neyton... desculpa.... esqueci mesmo de botar os creditos
foi mal

Rolling Eyes

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar Email MSN Messenger

Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    CADKLEIN - Índice do Fórum -> AutoCAD 2D Todos os horários são GMT - 3 Hours
Página 1 de 1

Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.

Related topics
 Tópicos   Respostas   Autor   Exibições   Última mensagem 
Não há mensagens novas Quem é Quem??? 93 abroba 38667 Seg 23 Jul 2012 2:36:35 pm
weder_nti Exibir a última mensagem
Não há mensagens novas Autodesk oferece software gratuito para estudantes do SENAI 2 tonisc 5211 Ter 15 Ago 2006 10:02:22 pm
tonisc Exibir a última mensagem
Não há mensagens novas Não consigo abrir mais do que um arquivo... 2 ailtongd 4446 Sáb 27 Mai 2006 12:25:33 am
ailtongd Exibir a última mensagem
Não há mensagens novas Folha de impressão não atualiza 1 edvaldo 4132 Seg 10 Abr 2006 8:36:57 pm
Valdemarmorais Exibir a última mensagem
Não há mensagens novas A folha de impressão não atualiza - mesmo usando update. 0 edvaldo 3685 Seg 10 Abr 2006 4:12:05 pm
edvaldo Exibir a última mensagem
 


Powered by phpBB 2.0.10 © 2001-2003 phpBB Group

T-Platinum v.2.0.0 © TechGFX.com
Forums ©

Todos os logos e marcas registradas são propriedade de seus respectivos proprietários. Os comentários são propriedade e responsabilidade de seus autores,
todo o resto © 2002, 2003, 2004 e 2005 - Equipe CADKLEIN.
Você pode ter o conteúdo deste portal/fórum acessando os arquivos Backend?s (RSS) Conteúdo de nossos artigos em seu portal Conteúdo de nosso fórum em seu portal


PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL.
PHP-Nuke comes with absolutely no warranty, for details, see the license.
Powered by PHP-Nuke Platinum

Tempo para gerar esta página: 1.03 segundos
TechGFX