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/

AutoLISP x VB

Dúvidas sobre VB para AutoCAD...

Moderador: Moderadores

Responder
Avatar do usuário
evairpu
Bronze 1/3
Bronze 1/3
Mensagens: 152
Registrado em: Seg 04 Ago 2008 12:00:00 am
Localização: Jarinú/SP

AutoLISP x VB

Mensagem por evairpu » Sex 16 Jan 2009 6:46:53 pm

Bom...

Como aqui a maioria já sabe, não sei lá estas coisas de AutoLISP (quase nada na verdade)... Frequentemente vou dando uma fuçada aqui pelos tópicos do fórum, e me deparo com algumas "coisinhas" feitas em VB...

Gostaría de saber a partir de que dado momento eu tenho de fazer a programação em VB e não mais em AutoLISP? Quais sãoas as limitações do AutoLISP que são sanadas pelo VB? Vantagens e desvantagens por programar em um ou em outro...

Como já disse, meus conhecimentos de AutoLISP são bastante limitados... Eu até queria fazer algum curso para apreder DE VERDADE a coisa, mas não encontro um curso por nada neste mundo, até livro é raro, tive de importar um... Mas como VB é mais fácil de encontrar um curso, pensava em talvez fazer um...


Gostaria de opiniões de se seria viável mesmo eu o fazer...
Estou meio perdido neste sentido...
Alguma dica e/ou sugestão?



Grato, EVAIR.
Evair Peterson
[email protected]

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

Mensagem por hugopaulo » Sáb 17 Jan 2009 12:13:09 am

Evairpu

Vamos por partes. Em primeiro lugar precisamos fazer distinções entre VB e VBA que é o que vc quer.

VB - Visual Basic - quase nada tem a ver com AutoCAD embora até possa ser programada. Creio que é bastante difícil.

Então sobra o VBA - Visual Basic for Applications. É um interpretador/compilador que cria arquivos .dvb que serão executados através do vbarun e macros como no DIESEL.

Não costumo comparar AutoLISP com VBA. São linguagens de aplicação geral ben distintas. O AutoLISP é um interpretador que só funciona no AutoCAD e pode ser compilado em .fas e .vlx.

É uma fração e ao mesmo tempo uma extensão do LISP - compilador - que não funciona no AutoCAD.

Costumam dizer que o LISP é uma liguagem mais poderosa que Visual Basic e VBA.

Se vc usar ActivEx, Arx eVL praticamente pode fazer com AutoLISP tudo o que se faz com VBA.

Ambas tem recursos que a outra não tem. Algumas coisas são mais fáceis de fazer com AutoLISP outras com VBA.

Não é só uma questão de gosto mas antes de tudo é bom vc se prevenir e estudar um pouco de lógica de programação. A linguagem com sua sintaxe pode até ensinar a vc alguma coisa através de programas prontos e Helps mas é um caminho muito mais longo.

Com a lógica de programação através de algoritmos vc atende a todas as linguagens com exceção de linguagens "adjetivadas" como Prolog (que no meu entender até hoje não vingou).

Então o caminho é estudar e muito. Procure no seguinte "link" apostilas e programas VB/VBA:

http://www.afralisp.net/ --> existem outros.

Aos poucos coloque suas dúvidas e pesquise aqui no fórum pois já foi tratado esse assunto várias vezes e com algumas rotinas de exemplos.

T+
hugopaulo
AutoLISP Não É LISP ==> VISUAL LISP não é Linguagem

Avatar do usuário
evairpu
Bronze 1/3
Bronze 1/3
Mensagens: 152
Registrado em: Seg 04 Ago 2008 12:00:00 am
Localização: Jarinú/SP

Mensagem por evairpu » Sáb 17 Jan 2009 1:46:50 pm

Bom....

Dentro do possível vou estudando, tiando as dúvidas, mas o quesito tempo, como para a maioria absoluta aqui, está complicado... Seguindo a sugestão também de outros feras da coisa, eu estou fazendo o curso de lógica de programação, na IMPACTA, em São Paulo. Realmente eu estava pulando algumas partes da coisa, o que acabou por fazer falta diante de algumas dificuldades da programação, mesmo básica como eu faço (tento).

Sobre VB/VBA eu não tenho sequer o menor conhecimento do assunto. Com estes seus esclarecimentos do assunto, vejo que realmente por mim eu me especializaria a fundo no AutoLISP mesmo, mas como disse anteriormente, é uma "missão impossível" encontrar um curso... Quanto às diferenças entre VB e VBA, na verdade eu fui induzido a este erro, pois já foram duas pessoas que me "explicaram" que VBA era usado APENAS para o pacote Office, e para todos os demais programas era usado o VB puro.... Assim que agradeço por mais este esclarecimento...

E não querendo abusar da boa vontade alheia, gostaría de não uma dica/sugestão, mas talvez um conselho... Não sei quase nada de nenhum tipo de programação, nem do mercado onde atuar com tal... Gostaría de saber, se é aconselhável fazê-lo, ou é um campo muito restrito...

Se for o caso, após este primeiro passo, que é o ucrso de Lógica de programaçõ, qual seria um passo seguinte, lembrando sempre que o foco de meu objetivos seriam software's CAD.

Desde já agradeço muito a colaboração.
Abraços, EVAIR.
Evair Peterson
[email protected]

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

Lógica de Programação e Aplicabilidade e Outros

Mensagem por hugopaulo » Sáb 17 Jan 2009 2:59:04 pm

Evair

Estou analisando suas colocações (as três últimas) com profundidade e como vc pediu um conselho vou colocar um tópico separado pois interessa a todos.

Foram muito bons seus questionamentos e vou trabalhar em cima deles.

Como hoje é sábado tenho tempo e calma para analisar. Aguarde.

T+
hugopaulo
AutoLISP Não É LISP ==> VISUAL LISP não é Linguagem

Avatar do usuário
neyton
Master
Master
Mensagens: 1668
Registrado em: Qui 25 Dez 2003 11:00:00 pm
Contato:

Mensagem por neyton » Seg 19 Jan 2009 8:50:52 am

eu posso te dizer uma coisa:
- aprenda logica primeiro
- aprenda a modelar seu problema,
por exemplo, como voce faria na mão para extrair coordenadas dos vertices duma polilinha? ( probleca corriqueiro em forums de topografia )

- para o autocad, aprenda lisp ou vb/vba,
diria para aprender lisp antes, depois vba, assim vc entenderá as limitações e vantagens de cada um...
mas o mais importante nao é a lingua, é saber modelar o seu problema, não adianta voce saber lisp/vb/c se não sabe modelar o problema....

outro exemplo: como fazer para calcular o somatorio dos comprimentos de linhas de um determinado layer?
este é outro problema corriqueiro por aqui.... deve ter uma duzia de posts sobre isso, cada um com uma solução...

o problema pode ser subdividido em outros:

como calcula o comprimento de UMA linha?

e se esta linha for uma polilinha?

e se for uma spline?

como seleciona varias linhas?

como saber se ela esta num layer ou noutro?

apos selecionar as linhas, como iterar o calculo em cada uma delas?

como somar o comprimento?

se responder a estas perguntas, vc ja tem metade do caminho....

basicamente para cada uma das perguntas vc vai usar uma função ou metodo, ou até mais de uma, assim o programa vai "saindo", saca?
como que usa o html daqui?
visite o meu blog: http://tbn2.blogspot.com
lisps exclusivas pra download!!

Avatar do usuário
evairpu
Bronze 1/3
Bronze 1/3
Mensagens: 152
Registrado em: Seg 04 Ago 2008 12:00:00 am
Localização: Jarinú/SP

Mensagem por evairpu » Seg 19 Jan 2009 5:37:46 pm

- Hugo: Obrigado pela compreensão e pela pronta disposição a dar-me alguns conselhos sobre o tema. É que para quem está começando, a maior dificuldade mesmo não seria nem a programação em sí, mas sim os conhecimentos básicos adquiridos com experiência de muitos anos de trabalho. Assim que qualquer dica que os mais experientes no assunto repassem, a outros, como eu, pode evitar erros simples, mas que retardam em muito nossa possivel evolução como profissional. Assim que espero com ansiedade por este seu tópico a parte, que acredito que realmente seja de interesse comum a todos, ao menos aos iniciantes do assunto, como eu. Me mantenho no aguardo.

- Neyton: Eu senti na pele a falta que faz ter os conhecimentos de lógica de programação, assim que atualmente estou fazendo um curso de lógica, que hoje sei que deve de ser o primeiro passo, antes de me "aventurar" em qualquer tipo de linguagem. Mas... Mesmo sem os ocnhecimentos de lógica, como antes disso já fui "bisbilhotando" em alguma coisa de AutoLISP, acredito que esta parte de saber modelar o meu problema, acredito que esteja um pouco mais familiarizada, ainda que tenho muito o que melhorar. Por mim próprio, acabei por perceber que antes de querer programar no conjunto AutoCAD / AutoLISP, eu tenho que estudar muito ainda do próprio AutoCAD, pois a cada dia vejo que meus conhecimentos ainda são bastante limitados sobre o programa se comparado aos gênios que tem por aqui, neste ponto, a qualquer momento que me sobra, estou me dedicando aoa estudos solo, já que curso algum ensina sequer uma pequena porcentagem de toda o leque de possibilidaes que o software nos oferece. Em dado momento você cita as SPLINES, que fora da temática AutoLISP< falando de AutoCAD mesmo, para mim já se torna um bicho de sete acbeças, já que a cada pouco me deparo com dificuldades frente a esta. Assim que novamente reafirmo com pesares que tenho muito o que "comer" ainda para ser um bom "cadista" e quem sabe um dia um bom programador. Mas já de ante-mão agradeço muito as dicas.

A ajuda de todos aqui do fórum tem sido e é essencial para minha evolução.
Espero poder continuar contando com a colaboração de todos, e quem sabe um dia eu possa retribuir um pouco deste muito que me ensinaram...

Grato, EVAIR.
:)
Evair Peterson
[email protected]

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

Mensagem por hugopaulo » Seg 19 Jan 2009 10:34:50 pm

hugopaulo escreveu: ...
...
Não é só uma questão de gosto mas antes de tudo é bom vc se prevenir e estudar um pouco de lógica de programação. A linguagem com sua sintaxe pode até ensinar a vc alguma coisa através de programas prontos e Helps mas é um caminho muito mais longo.
...
...
T+
Evairpu

Para vc ver a importância da lógica o Neyton (e muitos outros aqui) pensam do mesmo modo. É primordial !!!

Quanto aos conselhos, dentro do que analisei vamos lá.

1. Lógica de Programação - (muito importante)

2. Linguagens de Programação Voltadas para o AutoCAD e outros recursos:
---a) Visual Basic for Applications - Interpretador/Compilador do AutoCAD ( e Microsoft Office)
---b) AutoLISP (rotinas e personalização do AutoCAD - .lsp / .fas / .vlx)
---c) Visual LISP - saber usar o RAD/IDE VL bem e com os recursos de depuração
---d) ActivEx e VL- saber usar bem as funções ActivEx, Reatores e funções VL/VLA/VLAX
---e) ARX - saber usar bem as funções e rotinas ARX (importante)
---f) DIESEL ( macros para Menus e Linhas de Comando)
---g) CSharp ( para criar rotinas ARX) (importante)
---h) Criatividade, Imaginação e Qualidade - o talento melhora só com estudo e prática.

3. Mercado - O mercado atual além de competitivo tem uma agravante. Existem centenas de rotinas muito boas na Internet - GRÁTIS - o que implica que muitos não vão pagar caro por nenhuma rotina por melhor que seja. Então...

Foque-se no que vc quer fazer pensando na sua carreira profissional. Muitas empresas precisam de "experts" em AutoCAD, Inventor e Solidworks.

Adicionando ao que o Neyton falou sobre modelar fixe perto do seu PC (tudo começa e termina assim):

1) Idéia (libere sua imaginação)
2) Teoria - Tese e Hipótese (tem que ser coerentes)
3) Modelagem ( se é factível de ser modelado pode ser executado mas nem sempre)
4) Execução (aplicabilidade eficiente)
5) Renovação ( funcionou já está obsoleto)

Máxima: "A Criatividade Termina nos Limites da Imaginação."

Todas podem ser automatizadas e só através das linguagens específicas para as plataformas indicadas.

Então com calma, paciência e presteza dedique-se a ser um "expert", "AutoCAD Technician" ou "Guru".

E só assim o mercado vai responder aos seus sonhos, anseios e objetivos.

É tudo o que me ocorre no momento.

T+

NB - Verifique outras linguagens embutidas no AutoCAD.
hugopaulo
AutoLISP Não É LISP ==> VISUAL LISP não é Linguagem

Avatar do usuário
evairpu
Bronze 1/3
Bronze 1/3
Mensagens: 152
Registrado em: Seg 04 Ago 2008 12:00:00 am
Localização: Jarinú/SP

Mensagem por evairpu » Sáb 24 Jan 2009 1:23:49 pm

Opa... Muito obrigado pelos conselhos Hugo, valeu mesmo...

Estou estudando as possibilidades, e seguirei "a voz da experiencia"... Tentar seguir ao menos uma parte do caminho de alguns genios daqui e quem sabe um dia eu chego lá. Até lá, vou continuar importunando o povo daqui com minhas mil duvidas.... kkk. Estou me informando sobre alguns outros cursos de especialização para AutoCAD, se tudo der certo nos proximos meses estarei iniciando outros, assim que concluir esta primeira parte, que é logica e "orientada ao objeto", cursos estes que ja contratei.

Obrigado pela colaboração.
Até mais....
:D
Evair Peterson
[email protected]

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

Mensagem por hugopaulo » Sáb 24 Jan 2009 4:53:30 pm

Evairpu

Vamos esclarecer um pouco mais os "conceitos" Lógica de Programação e OOP.

A Lógica de Programação atende a todas as linguagens de alto nivel (embora possa ser usada tb nas de baixo nível).

Ela cria um algoritmo genérico universal para resolver o problema. Sempre vai funcionar independente da linguagem.

Vc pode usar português, portinglês, inglês, espanhol, portunhol ou outra que vc queira criar.

Programação Orientada a Objetos deve ser considerada em função de uma linguagem em particular. Existem as "baseadas no objeto" ("Object-Based") tais como Visual Basic, VBA entre outras e as "orientadas no objeto" ("Object-Oriented") como Visual Basic.Net, C++, C# (CSHARP) e + que são as verdadeiramente orientadas a objetos.

O modo de programar é similar mas a abrangência e características são diferentes.

Vc não pode programar VB.net como C++ e vice-versa mas o algoritmo é o mesmo (a Lógica é inerente às duas).

Em todo o caso siga os elos ("links") (e quem quiser)

http://www.startvbdotnet.com/sdlc/default.aspx (em inglês)
http://www.startvbdotnet.com/oop/default.aspx (em inglês)
http://www.ic.unicamp.br/~cmrubira/aacesta/ (em português)

T+
hugopaulo
AutoLISP Não É LISP ==> VISUAL LISP não é Linguagem

Responder