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

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

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

;;(nthcdr 4 '(11 22 33 44 55 66 77)) --> (55 66 77)
(defun nthcdr (n L)

(defun le-ptos(nomeArquivo / lpto linha0 linha1 linha2 linha3 linha4 lista)

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

HugoPaulo,
Como vê acima minhas rotinas tem cabeçalho explicativo , da maneira que EU acho o suficiente! e não da SUA maneira!.
Por isto lhe mostrei uns livros que mostram alternativas de documentação.
Minha visão de programação é baseada numas afirmativas qundo tive uma empresa de software :
- sou um programador de autolisp
- sou um programador isolado(trabalho sozinho)
- devo fazer rotinas ao gosto do cliente
-devo fazer rotina o mais rápido possivel. Tenho que ser produtivo!
-os programas devem ser protegidos de terceiros.
Resulta daí:
-faço programas no método top-down que considero o mais eficiente para um programador isolado. Isto aqui é um tema longo quer um tópico á parte.
-faço o projeto diretamente no computador usando pseudocódigo na própria linguagem lisp.
-adoto um critério mínimo de documentação que julgo necessário e suficiente para mim!
- encripto (ou melhor encriptava) tudo para ninguem ler!


Quanto a este negócio de ser ranzinza , exibidor não misture uma coisa com outra ! Estamos falando sobre metodologia de programação e não sobre personalidade cada um.
Voce me fez um questionamento e eu justifiquei!
Não compartilhei da sua idéia. E acabou! O papo morreu aí! Respeite a identidade e o ponto de vista de cada um!
ronaldo

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

Mensagem por hugopaulo »

ronaldoalmeida escreveu:;| 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
|;

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

;;(nthcdr 4 '(11 22 33 44 55 66 77)) --> (55 66 77)
(defun nthcdr (n L)

(defun le-ptos(nomeArquivo / lpto linha0 linha1 linha2 linha3 linha4 lista)

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

HugoPaulo,
Como vê acima minhas rotinas tem cabeçalho explicativo , da maneira que EU acho o suficiente! e não da SUA maneira!.
Por isto lhe mostrei uns livros que mostram alternativas de documentação.
Minha visão de programação é baseada numas afirmativas qundo tive uma empresa de software :
- sou um programador de autolisp
- sou um programador isolado(trabalho sozinho)
- devo fazer rotinas ao gosto do cliente
-devo fazer rotina o mais rápido possivel. Tenho que ser produtivo!
-os programas devem ser protegidos de terceiros.
Resulta daí:
-faço programas no método top-down que considero o mais eficiente para um programador isolado. Isto aqui é um tema longo quer um tópico á parte.
-faço o projeto diretamente no computador usando pseudocódigo na própria linguagem lisp.
-adoto um critério mínimo de documentação que julgo necessário e suficiente para mim!
- encripto (ou melhor encriptava) tudo para ninguem ler!


Quanto a este negócio de ser ranzinza , exibidor não misture uma coisa com outra ! Estamos falando sobre metodologia de programação e não sobre personalidade cada um.
Voce me fez um questionamento e eu justifiquei!
Não compartilhei da sua idéia. E acabou! O papo morreu aí! Respeite a identidade e o ponto de vista de cada um!
ronaldo
RonaldoAlmeida

1) Sua visão de programação é canhestra.
2) Você está longe ainda de ser um programador de AutoLISP. Você não pensa na manutenção.
3) Se você julga a documentação de seus programas suficiente para você não coloque aqui. Precisamos que atenda a todos indistintamente.
4) Se você diz que este um é fórum livre para todos trocarem idéia e Aprenderem então tem que ser muito bem documentado. Senão como tirar dúvidas ?
3) Se você não quer que ninguém misture nada sobre sua personalidade não coloque aqui como você colocou várias vezes, coloque no "Quem é Quem" que é o lugar ideal para suas diatribes ( e minhas ).
4) Eu não "acho" nada e não é da minha maneira. É da maneira de Mestres e Profissionais muito mais competentes que você ou eu. Eu sei ou não sei.
5) Cabeçalho explicativo é só uma pequena parte. Faltam as explicações no corpo da rotina. Os pontos principais e como atuam.
6) Você citou alguns livros que atenderam ao seu ego e daí concluiu que você está certo.
Não está não.

Repetindo: "Defendo o princípio da transmissão de informações para os principiantes. Sempre...engrandece...incentiva...ensina... "

Quanto a dizer " O Papo morreu aí ", eu decido e mais ninguém. Sou Livre ! O seu poder de impor dessa maneira é inócuo. Peça! Eu peço, então você também pode.

Não coloco opiniões e sim conhecimentos. Não desrespeitei sua identidade e seu ponto de vista. Mas não concordo de como você quer passar conhecimentos às vezes eivados de conceitos duvidosos. Então discordo. Não discuto opiniões.

E sobre documentação Não abro mão. É uma garantia que não vou ter "dores de cabeça" no futuro e ainda ajudo aos principiantes em se tornarem "Programadores" de verdade!

E para não deixar "morrer" este assunto que é um sub-enfoque às rotinas postadas aqui vai uma referência sobre Donald Knuth que relatei na outra postagem:
2 - Literate Programming

Literate Programming é um enfoque à programação que dá ênfase a leitura do programa. O desenvolvimento do sistema WEB [Knuth, 83] na Universidade de Stanford deu início a este novo "estilo de programação", que exige um ambiente especial de desenvolvimento. Sucintamente, o programa-fonte, composto de expressões em linguagem natural (em inglês), seguindo um padrão tipográfico (TEX) e um padrão sintático embutido em uma linguagem hospedeira (Pascal), é submetido aos separador-compiladores e dois produtos são gerados: o programa-objeto e o texto-documentação.
- Obs: Mas isso é sofisticação demais para o AutoLISP. Coloque-se algo simples e objetivo.

Enfatizando, pessoalmente nada tenho contra você e nem quero ter. Profissionalmente certas posições e assertivas suas são incompreensíveis. E essas vou questionar ainda mais na área de Lógica de Programação. Sei que ( talvez ) um dia a Luz prevalecerá.

E nem preciso que você concorde comigo, como eu não concordo com você. Sou autosuficiente em Linguagens de Programação e Documentação de Sistemas. Para isso Pesquiso, Estudo, Analiso e Aplico - Didaticamente e Profissionalmente.

"Só os postes e os burros não mudam de opinião ! "

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 »

É. Pra quem já fez quase 1MB de programação Lisp e ainda não fazer, eu devo ser burro mesmo! Vou dormir com esta!
ronaldo

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

Mensagem por hugopaulo »

A Todos

"Pauca sed bona" - Gauss

Quantidade não é Qualidade!

Participar e Colaborar sempre é Qualidade!

"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 »

HugoPaulo,
Não distorça a verdade! Eu não colaboro da maneira que voce quer, simplemente porque não concordo com os seus pontos de vistas genéricos e que não tem nenhuma noção de produtividade! Uma pessoa que se propõe a programar usando lápis e borracha com um computador na frente para depois passar a limpo, pra mim ainda está programando na época do Fortran!
Se porventura os colegas acham que eu não participo é só uma questão solicitar ao administrador para retirar a minha conta!
ronaldo

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 »

essa é a formatação que a estação total repassa as coordenadas de campo para o PC:
lá vai... o arquivo é em .xls

Id+Nome Norte Este Cota
SAT 1 44760,914 4923,477 7,191
SAT 2 44762,803 4875,565 16,291
1 44741,46 4935,197 8,307
2 44720,658 4922,521 8,301
3 44730,848 4900,082 8,286
4 44748,396 4949,523 8,178
5 44747,475 4948,986 7,005
6 44741,177 4949,225 8,333
7 44740,892 4941,928 6,893
8 44749,554 4944,621 8,314
9 44724,516 4935,41 8,632
10 44723,353 4931,603 8,535
11 44726,341 4938,246 8,515
12 44722,851 4935,896 8,457
13 44721,144 4933,851 8,507
14 44719,486 4928,094 8,814
15 44736,143 4912,391 8,521
16 44735,173 4907,421 9,128
18 44738,783 4954,992 7,998
19 44722,74 4928,763 8,114
20 44722,169 4889,389 8,235
21 44719,568 4886,554 8,374
22 44736,16 4912,395 6,932
23 44738,498 4906,544 6,891
24 44748,398 4949,533 8,025
25 44751,031 4949,551 8,027
26 44750,572 4945,369 6,874
27 44747,474 4948,975 6,877
28 44741,144 4949,273 8,123
29 44742,598 4944,608 8,33
30 44740,91 4941,928 6,795
31 44738,079 4942,85 8,221
32 44737,089 4940,377 6,81
33 44733,713 4938,678 6,887
34 44730,63 4937,404 6,885
35 44724,724 4937,422 8,319
36 44724,508 4935,389 8,523
37 44721,146 4933,842 8,403
38 44723,411 4931,562 8,323
39 44719,379 4926,166 8,487

Então, é assim que ficam no PC!!!!!!!!!!!!
Vou verificar se os lisps indicados poodem se adequar a essa formatação, ou devo dar umas ajeitadas para poder usar os lisps!!!!!!!!
Abraços!!!!!!!!! :o
::::::VALEU:::::::

Wilson Ricardo

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

Mensagem por hugopaulo »

Wilson

Não sei o que você quis dizer com os "lisps indicados" mas uma rotina bem desenvolvida e bem documentada em AutoLISP pode importar a planilha ( Excel ? ) muito bem.

Creio que esses dados apresentados já estão em arquivo texto ( ASCII ) não ?

Vou ver o que posso desenvolver e depois apresento.

Um Abraço!
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 »

Wilson_cv
use a rotina a seguir que lê direto.
ronaldo

; le arquivo texto nomearq
; retorna uma lista cujos membros são sublista correspondente a cada linha
(defun le-txt(nomearq / larq txt in)
(setq in (open nomearq "r"))
(setq txt (read-line in))
(while txt
(setq txt (read (strcat "(" txt ")")))
(setq larq (cons txt larq))
(setq txt (read-line in)))
(close in)
(while (null (car larq));; elimina eventual nil
(setq larq (cdr larq)))
(reverse larq))

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 »

Ronaldo, como eu não manjo muito sobre lisp, eu carreguei a rotina q vc mandou mas não sei como chama-la no cad (qual comando eu uso)!!!!!!!! Então, me diga qual por favor!!!!!!! :!:

E para o Hugopaulo:
os "lisp indicados" sobre os quais eu mencionei, são os que o Rogério e o Ronaldo haviam indicado. Sobre os arquivos da estação total, eles são lançados diretamente no excel. Por falar nisso, eu vi um tutorial sobre como utilizar o cad e excel. De uma olhada nesse tópico que eu vou mandar uns coemntários valeu!!!!!!!!!!
::::::VALEU:::::::

Wilson Ricardo

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

Mensagem por hugopaulo »

ronaldoalmeida escreveu:HugoPaulo,
Não distorça a verdade! Eu não colaboro da maneira que voce quer, simplemente porque não concordo com os seus pontos de vistas genéricos e que não tem nenhuma noção de produtividade! Uma pessoa que se propõe a programar usando lápis e borracha com um computador na frente para depois passar a limpo, pra mim ainda está programando na época do Fortran!
Se porventura os colegas acham que eu não participo é só uma questão solicitar ao administrador para retirar a minha conta!
ronaldo
Wilson e Ronaldo Almeida

WILSON

Como o Ronaldo Almeida não explicou faça o seguinte. Carregue a rotina com o Tools --> Load Application. Na linha de comando ( prompt ) digite o seguinte:

Command: ( le-txt "nome do arquivo que você quer abrir" )

- os parênteses são obrigatórios - e depois tecle Enter. E seja o que Deus quiser.

Ronaldo Almeida

Dizer a alguém que distorce a verdade é chamá-lo de mentiroso no mínimo. Já enfatizei que não tenho pontos de vista como você: Tenho Conhecimentos.

E o Fortran ainda é usado como também o Cobol. É desmerecimento ? Pare de ofender os outros. Primeiro eu era "falso", depois "insultador" sobre assuntos que nem eram com você, agora "distorcedor da verdade".

Não sou Falso, não ofendo ninguém e nem sou "mentiroso". Agora aceitar conceitos duvidosos que "documentação é secundária", que "só documento o que me interessa..." é que não vou porque é disseminação de conhecimentos inadequados.

E o que tem de mais usar lápis, papel e borracha para fazer programação ? O papel foi e é a maior aquisição da humanidade...depois a roda...

Sua opinião sobre programação é pífia para não dizer ridícula. Você ainda não é Programador. Um programador precisa sempre de um Analista de Sistemas e este do Programador.

Essa história de "programar sozinho" não pode produzir boa coisa. Tem que haver equipe, participação, em todas as etapas do processo. E Análise de Sistemas não é função de um Programador.

Noção de Produtividade sobre o quê ? Programar em AutoLISP para automatizar ou tornar o quê mais eficiente se você "escorrega" em desenhos ? ( como você mesmo já explicou...). O AutoCAD é para Projetos e Desenhos e o AutoLISP é para o AutoCAD...

Ronaldo Almeida não quero estragar mais o assunto sobre esse fórum. Parece que você está levando muito para o lado pessoal e está deixando de lado o profissional. O fato do que eu quero é uma coisa.

Se você não colabora por causa de meus "pontos de vista", então enganou-se de novo. Ensino o correto. Não porque eu gosto. É porque é a função do Professor.

E aproveito minha experiência significativa para ajudar aos principiantes nesta profissão Técnica. Passar o bastão à frente. Aliás faz parte do juramento que fiz como Engenheiro: ensinar aos jovens profissionais toda a arte e tradição da engenharia.

Observe a resposta do Wilson. Que "produtividade" é essa que você nem explica como suas rotinas funcionam ? Todos são obrigados a ser experts ou então saber mais ou menos como você para fazer uma rotina simples que às vezes nem funciona ?

"Sursum Corda"

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

Responder