Tenha uma nova experiência ao navegar no Fórum pelo computador de forma integrada ao portal principal. Acesse o seguinte link: https://www.autolisp.com.br/board/. Entretanto para dispositivos móveis recomendamos acessar este outro link: https://www.autolisp.com.br/forum/

Facilitar trabalho com pontos no autocad!!!!

Dúvidas sobre o AutoCAD...

Moderador: Moderadores

Avatar do usuário
Wilson_ecv
Bronze 1/3
Bronze 1/3
Mensagens: 116
Registrado em: Seg 18 Out 2004 12:00:00 am
Localização: Florianópolis-SC

Mensagem por Wilson_ecv » Ter 25 Jan 2005 2:47:12 pm

Sobre o ponto de documentação, acho interessante que todos os lisps criados no leito deste site sejam documentados. Essencial também seriam documentos de texto (explicativos) para cada lisp documentado.
Relamente seria uma boa essa campanha de documentação das rotinas!!!!!!!!

ps.: comentaram sobre arquivos CDF (separados por virgula), mas como eu faço para utilizar esses arquivos integrados com o autocad!?

Além disso, Ronaldo, eu só mudei o titulo de brincadeira valeu!!!!!!!!!
Sobre seu (Ronaldo) comentário de que seria melhor se suicidar à digitar os pontos naquela formatação. Não sei que tipo de aparelhos vc usa ou conhece na topografia, mas eu trabalhei com uma estação total e um GPS e ambos lançam as coordenadas colhidas em campo direto no computador, sendo assim desnecessário digitar todos os pontos,mas apenas passar o arquivo para .txt e dar uma arrumada.
Por falar nisso, existe alguma forma de trabalhar essa rotina (XYZ ou outras) de modo que possamos usar os arquivos dos pontos no excel!?
abraços!!!!!!!!!!
VAleu galera!!!!!!!!!
Wilson Ricardo

Visitante

Mensagem por Visitante » Ter 25 Jan 2005 7:01:40 pm

[quote="Wilson_ecv"]
...
ps.: comentaram sobre arquivos CDF (separados por virgula), mas como eu faço para utilizar esses arquivos integrados com o autocad!?
Eram sistema de formatação de atributos para serem convertidos em tipo txt e serem lidos pelo Lotus e o Dbase. Isto está obsoleto! Hoje em dia se faz com VBA , active-X , Xdata etc.

...naquela formatação. Não sei que tipo de aparelhos vc usa ou conhece na topografia, mas eu trabalhei com uma estação total e um GPS e ambos lançam as coordenadas colhidas em campo direto no computador, sendo assim desnecessário digitar todos os pontos,mas apenas passar o arquivo para .txt e dar uma arrumada.
Há uns 10 anos atrás o GPS estava sómente começando e não era qualquer um que conseguia ter uma aparelhagem daquelas.
Pelo que voce está dizendo a minha rotina está obsoleta! Estes papos de STR<>SYM cai por terra !!
Voce deveria pegar a formatação tipo TXT adotados por estes aparelhos e adequar o seu programa a ela!!
PS: Todavia eu ainda uso em DCL o STR>SYM , mas isto é outra história
!

...
Por falar nisso, existe alguma forma de trabalhar essa rotina (XYZ ou outras) de modo que possamos usar os arquivos dos pontos no excel!?
Naturalmente voce pode fazer uma rotina em VBA.
Que eu me lembre havia uma interface direta EXCEL-AutoCad usando o DDE.
No momento não tenho nada preparado.

ronaldo

Avatar do usuário
ronaldo
Concreto
Concreto
Mensagens: 58
Registrado em: Dom 01 Fev 2004 11:00:00 pm

Mensagem por ronaldo » Qua 26 Jan 2005 7:01:32 am

[quote="Wilson_ecv"]
...
ps.: comentaram sobre arquivos CDF (separados por virgula), mas como eu faço para utilizar esses arquivos integrados com o autocad!?
Eram sistema de formatação de atributos para serem convertidos em tipo txt e serem lidos pelo Lotus e o Dbase. Isto está obsoleto! Hoje em dia se faz com VBA , active-X , Xdata etc.

...naquela formatação. Não sei que tipo de aparelhos vc usa ou conhece na topografia, mas eu trabalhei com uma estação total e um GPS e ambos lançam as coordenadas colhidas em campo direto no computador, sendo assim desnecessário digitar todos os pontos,mas apenas passar o arquivo para .txt e dar uma arrumada.
Há uns 10 anos atrás o GPS estava sómente começando e não era qualquer um que conseguia ter uma aparelhagem daquelas.
Pelo que voce está dizendo a minha rotina está obsoleta! Estes papos de STR<>SYM cai por terra !!
Voce deveria pegar a formatação tipo TXT adotados por estes aparelhos e adequar o seu programa a ela!!
PS: Todavia eu ainda uso em DCL o STR>SYM , mas isto é outra história!
...

Por falar nisso, existe alguma forma de trabalhar essa rotina (XYZ ou outras) de modo que possamos usar os arquivos dos pontos no excel!?
Naturalmente voce pode fazer uma rotina em VBA.
Que eu me lembre havia uma interface direta EXCEL-AutoCad usando o DDE.
No momento não tenho nada preparado.


Ronaldo

Avatar do usuário
ronaldoalmeida
Bronze 2/3
Bronze 2/3
Mensagens: 200
Registrado em: Qui 07 Out 2004 12:00:00 am
Localização: Florianópolis-SC

Mensagem por ronaldoalmeida » Qui 27 Jan 2005 5:20:49 pm

rogério,
eis a rotina. Pelos papos do Wilson_ecv a minha rotina já está obsoleta!
Acho que a rotina ideal deveria se enquadrar na formatação de arquivo emitido pelos dos equipamentos estação total e de GPS.

;| le-ptos lê os dados de pontos de um arquivo nomeArquivo retornando como uma lista

ronaldo de almeida - forum autolisp jan 2005
formato do arquivo: nomePto X Y Z observações
exemplo:
P1 3.4 7 8.9 praça General Osório
P45 3.4 10 15 buraco
p12 2 4 66
P566 123 44 67.9 ??!!
p-100 134 56.8 -99.17 lugar onde o gato perdeu as botas
mx15 178.0 44.987 -12.88
|;


;;;--------------------- rotinas auxiliares----------------;

;converte uma expressão pra texto ou tipo SYM pra TXT
;;("AA" "23" "56.78" "ro ma")--> "(AA 23 56.78 ro ma)"
;;; roma ---> "roma"
(defun etos (arg / file)
(if (= 'STR (type arg))
(setq arg (strcat "\"" arg "\"")))
(setq file (open "$" "w"))
(princ arg file)
(close file)
(setq file (open "$" "r"))
(setq arg (read-line file))
(close file)
(close (open "$" "w"))
arg)

;;(nthcdr 4 '(11 22 33 44 55 66 77)) --> (55 66 77)
(defun nthcdr (n L)
(cond
((zerop n) L)
(T (nthcdr (1- n) (cdr L)))))
;;;;;;; fim das funções auxiliares

(defun le-ptos(nomeArquivo / lpto linha0 linha1 linha2 linha3 linha4 lista)
; rotina inicial
; retorna lista de pontos contendo tipo SYM (inadequado para exibição)
(defun le-ptos0(arq / in aux lista)
(cond
((= nil (setq in (open arq "r")))
(print "Nao foi localizado o arquivo.")
(princ))
(T
(setq aux (read-line in));; "P1 3.4 7 8.9 praça General Osório"
(while aux
(setq aux (read (strcat "(" aux ")")))
;; (P1 3.4 7 8.9 praça General Osório)
(setq lista (cons aux lista))
(setq aux (read-line in)))
(while (null (car lista));; elimina nil em (nil nil (p566 123 44 67.9 ??!!) ....)
(setq lista (cdr lista)))))
(close in)
(if lista
(reverse lista)));;;((P1 3.4 7 8.9 praça General Osório)(P45 3.4 7 10 15 buraco) ....)

;;; rotina principal - conversão de tipo SYM para STR
(setq lpto (le-ptos0 nomeArquivo))
(while lpto
(setq linha0 (car lpto)) ; (P1 3.4 7 8.9 praça General Osório)
(setq linha1 (list (etos (nth 0 linha0)) ;; linha1->("P1" 3.4 7 8.9)
(nth 1 linha0)
(nth 2 linha0)
(nth 3 linha0)))
(setq linha2 (etos (nthcdr 4 linha0))) ; "(praça General Osório)"
(if (/= linha2 "nil")
(progn
(setq linha3 (substr linha2 2 (- (strlen linha2) 2))); "praça General Osório"
(setq linha4 (append linha1 (list linha3)))) ; ("P1" 3.4 7 8.9 "praça General Osório")
(setq linha4 linha1))
(setq lista (cons linha4 lista))
(setq lpto (cdr lpto)))
(reverse lista));;(("P1" 3.4 7 8.9 "PRAÇA GENERAL OSÓRIO")("P45" 3.4 10 15 "buraco")...)


;;; teste
;;;_$ (le-ptos "arq.txt")
;;;(("P1" 3.4 7 8.9 "PRAÇA GENERAL OSÓRIO") ("P45" 3.4 7 10 "15 BURACO") ("P12" 2 4 66 "7 99")
;;; ("P566" 123 44 67.9 "??!!") ("P-100" 134 56.8 -99.17 "LUGAR ONDE O GATO PERDEU AS BOTAS")
;;; ("MX15" 178.0 44.987 -12.88))

Avatar do usuário
Rogerio
Master
Master
Mensagens: 2034
Registrado em: Ter 23 Mar 2004 12:00:00 am

Mensagem por Rogerio » Qui 27 Jan 2005 5:49:06 pm

Valeu, Ronaldo, vou testar.

Desculpas pelas besteiras q falei quando estava de cabeça quente.Um abraço,

Rogério
Abraço,

Rogério

Confia ao SENHOR as tuas obras, e teus pensamentos serão estabelecidos. Provérbios - 16 v. 3
Leia: http://www.espada.eti.br/n2093.asp

Avatar do usuário
ronaldoalmeida
Bronze 2/3
Bronze 2/3
Mensagens: 200
Registrado em: Qui 07 Out 2004 12:00:00 am
Localização: Florianópolis-SC

Mensagem por ronaldoalmeida » Qui 27 Jan 2005 7:11:22 pm

mas voce acertou! Eu tenho cabeça quente e sou ranzinza!
Já estou acostumado com estes títulos! Estou muito velho para me corrigir!
um abraço
ronaldo

Avatar do usuário
Rogerio
Master
Master
Mensagens: 2034
Registrado em: Ter 23 Mar 2004 12:00:00 am

Mensagem por Rogerio » Sex 28 Jan 2005 12:27:59 pm

Que o diga seu avatar, he he he.

-------------------------------------

Wilson, poste aqui no site um exemplo de texto contido no seu arquivo de coordenadas.

Facilita pra gente, e ficamos conhecendo também.
Abraço,

Rogério

Confia ao SENHOR as tuas obras, e teus pensamentos serão estabelecidos. Provérbios - 16 v. 3
Leia: http://www.espada.eti.br/n2093.asp

Avatar do usuário
hugopaulo
Master
Master
Mensagens: 1873
Registrado em: Dom 29 Fev 2004 12:00:00 am

Mensagem por hugopaulo » Sex 28 Jan 2005 12:59:08 pm

ronaldoalmeida escreveu:mas voce acertou! Eu tenho cabeça quente e sou ranzinza!
Já estou acostumado com estes títulos! Estou muito velho para me corrigir!
um abraço
ronaldo
Ronaldo Almeida

Ninguém é muito velho para se corrigir. A não ser que queira simplesmente ser considerado um "insensato".

Para começar a se "corrigir" tecnicamente e com "bom senso" documente seus programas e rotinas. Não dói e mostra muito mais conhecimento do que simplesmente ficar postando " tripas " e mais " tripas " de linhas de código inininteligíveis para principiantes. Aprenda a compartilhar com outros menos experientes. Não custa nada e engrandece. Não precisa ser "Professor" para isso. ( Isto serve para todo mundo )

Deixo duas frases para você ( e para Todos ) :

" Quem é Pai é Professor !!! "
" Quem ensina Aprende duas vezes !!!"

Leia o artigo sobre "Os Gansos" em Comunidade na página principal.

"Sursum Corda"

Saudações!
hugopaulo
AutoLISP Não É LISP ==> VISUAL LISP não é Linguagem

Avatar do usuário
ronaldoalmeida
Bronze 2/3
Bronze 2/3
Mensagens: 200
Registrado em: Qui 07 Out 2004 12:00:00 am
Localização: Florianópolis-SC

Mensagem por ronaldoalmeida » Sex 28 Jan 2005 9:11:32 pm

Nem pensar! Eu acho que documento o suficiente. Mais importante que a documentação é o programa em si!
Tambem tenho algumas diretrizes sobre o assunto como mostrado a seguir.
ronaldo


[b]Documentação[/b]
Extraído do livro: Introduction to LISP and symbol manipulation - Sharam Hekmatpour
...
- [color=green]o uso de comentários para documentação é secundário para o projeto de software. Um programa bem projetado é inteligível por si mesmo, e necessita de poucos comentários. Um programa mal projetado é sempre ininteligível, indepente de quantos comentários são inseridos nele.
- Boa indentação muitas vezes reduz a necessidade de comentários detalhados
- Não existe nada pior que um comentário mal informado ou inconsistente . Os comentários devem ser projetados tão cuidadosamente quanto os programas.[/color]

Extraído do livro: LISP 3rd edition – Patrick Henry Winston & Berthold Klaus Paul Horn
.pag 148
- os procedimentos devem ser comentados generosamente(liberally). Ponha parágrafos descritivos antes das definições e notas de staccato dentro delas
;; PUT-ON arranges for one object to be placed on another
;; PUT-ON succeeds only if all its subprocedures succeed.
(defun put-on(arg1 arg2)
(and (action1 arg1) ; grasp the object
(action2 arg1 arg2) ; move it to the support
(action3 arg1)))) ; ungrasp it.

No capítulo 5 , você aprendeu que a abstração de procedimento deve ser feita para esconder os detalhes
[color=green]Alternativamente podemos produzir o mesmo efeito usando uma outra regras procedimentos devem – Os nomes de variáveis e procedimentos devem ser descritivos
(defun put-on(object support)
(and (grasp object)
(move object support)
(ungrasp object))))
………………[/color]
neste ponto, voce pode ver que existem 3 regras as serem obedecidas:
- os procedimentos devem ser curtos
- os procedimentos devem ter somente uns poucos argumentos
- os procedimentos deve ser construídos em torno de um objetivo

pág. 150
grandes programas requerem abstração e modularidade
Até agora , temos-nos concentrado em procedimentos individuais .., Mais tarde , quando nos descrevermos grandes programas várias outras regras se prática de boa programação se torna importante. Duas delas se focaliza na abstração No capítulo 6 , você aprendeu que a abstração de dados deve ser feita para esconder os detalhes de como os dados devem ser implementados:
- use abstração de procedimento. É uma idéia poderosa.
- use abstração de dados. É uma idéia poderosa
...............
se somente uns poucos procedimentos de um módulo interage com procedimentos externos ao módulo, e aqueles procedimentos são bem comentado se escritos em acordo com a boa prática de programação , então o módulo é dito ter uma interface limpa, o que conduz ao seguinte:
- faça seus programas modulares. Dê a cada módulo uma interface limpa. Geralmente , cada módulo de um grande programa reside em um arquivo separado , tornando a modularidade mais explícita.

Avatar do usuário
hugopaulo
Master
Master
Mensagens: 1873
Registrado em: Dom 29 Fev 2004 12:00:00 am

Mensagem por hugopaulo » Sex 28 Jan 2005 11:23:18 pm

RonaldoAlmeida

Não vou nem me desculpar mas escrever sobre documentação não o exime de fazer a "documentação".

Você citou Sharam Hekmatpour. Já li alguns livros dele e sinceramente, não concordo com muitas das posições e colocações dele, principalmente sobre C++ e LISP.

Agora conhece ou já leu algo sobre The Art of Computer Programming (TAOCP) por Donald E. Knuth ?

Bem, é só uma obra que está relacionada como das mais importantes entre 12 dos últimos 120 anos por diversas Academias de Ciência do mundo inteiro. E um dos tomos fala sobre Documentação e sua importância.

Você documenta mal e parcamente suas rotinas. "Nem pensar" sobre tudo o que você escreveu pois essa é a minha "praia".

E abstração tem outras conotações que estão muito além da sua imaginação.

Você citou algo para defender o seu lado. Defendo o princípio da transmissão de informações para os principiantes. Sempre...engrandece...incentiva...ensina...

O autor que você cita quer mostrar que sabe muito, assim como parece ( eu disse parece ) que você também.

Seja simples e coloque um pouco mais de humildade nas suas colocações. Não estou impondo nada. Só pedindo.

Você se esforça para ser e permanecer "ranzinza" e não aceita colaboraçõe de outros profissionais. Essa posição é racional ? Leia sobre os gansos... 1a. pág. Comunidade..

"Achismos" estão fora das minhas cogitações a muito tempo.

"Cogito...ergo sum!"

No passado muitos prejuízos foram causados por falta de documentação externa ou interna. Então fica sem sentido muitas das suas colocações.

Não sou defensor fanático das documentações extensas, com 2 ou mais linhas mas não dispenso o "cabeçalho" onde explicito o que faz e como é ativada a rotina.

Você mesmo tem dado "cabeçadas" nas próprias rotinas que coloca aqui. E são rotinas "marca barbante" ( simples ), imagine as mais complexas e maiores.

Tenho dito.

"Sursum Corda"

Saudações!
hugopaulo
AutoLISP Não É LISP ==> VISUAL LISP não é Linguagem

Responder