See the top rated post in this thread. Click here

Page 3 of 5 FirstFirst 12345 LastLast
Results 21 to 30 of 45

Thread: Falando sobre Autocad e Autolisp/Visual Lisp em Português

  1. #21
    100 Club
    Join Date
    2001-02
    Location
    Porto Portugal
    Posts
    128
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Caro Paulo

    Não pensas então adaptar a secviga1.lsp ao teu standard? Estava a pensar em preparar outra solução que fiz para betão armado, amanhã, se tiver tempo, preparo um novo thread (tema) com uma rotina em anexo (ou duas!)

    Até amanhã

  2. #22
    100 Club
    Join Date
    2001-02
    Location
    Porto Portugal
    Posts
    128
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Caros Amigos

    Como tinha prometido ontem, cá vai: Já que este tema é sobre Autocad/VisualLisp, vamos por partes:
    1º Junto em anexo o Lale1.zip, contem sld, dcl, lsp e dwg que servirá para testar a rotina, trata-se de um paramétrico para desenhar secções de lajes à escala 1/20.
    a) o princípio seguido para instalação é igual ao do secpilar que já coloquei neste forum.
    b) depois de carregado em Load Aplication..., Load, digite laje, "enter", verifique bem a imagem da caixa de diálogo ( a) b) c) d) ... ), o comportamento da caixa depende da introdução dos valores, após a introdução do valor do vão (atenção à unudade de medida: m - de metros) é necessário um "enter". Após o preenchimento dos outros valores é que se torna possível determinar a origem (botão), reparem nas modificações da caixa enquanto a utilizam.

    2º Também faço macros em VBA, dizem que é de execução mais rápida e eficiente que o Autolisp, pela minha experiência acho que é mais fácil de programar, as caixas de diálogo (UserForm) são mais fáceis de criar e programar, em média 4X mais rápido do que Autolisp c/dcl. Lanço aqui uma questão: será possível conjugar um ficheiro de Vlisp, uma vez que possui funções mais extensas (activex), com uma UserForm do VBA?
    Junto uma macro simples (Referencia.zip) mas que já me tem sido muito útil em desenho de pormenorização. A instalação segue o mesmo princípio, depois de carregada, use -vbarun, digite seta "enter"

    Fico a aguardar o vosso "feed back", manifestem as vossas impressões, sugestões, etc.
    Attached Files Attached Files
    Last edited by Josue Silva; 2007-01-19 at 04:03 PM.

  3. #23
    Member
    Join Date
    2006-06
    Location
    Lisbon, Portugal
    Posts
    26
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Caro Josué

    Eu até gostava de adaptar a rotina aos nossos Standards, mas acho, pelo que vi, que os meus conhecimentos ainda são muito rudimentares para levar a cabo tal missão. Acresce o facto de que o meu tempo livre é muito reduzido, e para programar e estudar ao mesmo tempo, torna-se um pouco complicado.
    Não digo que não venha a tentar, mas não vai ser fácil. Além do mais o DCL ainda é para mim uma linguagem bastante obscura, muito mais ainda do que o AutoLISP. Ainda tenho um longo caminho a percorrer...
    Mas gostava muito de acabar a rotina que comecei, a tal rebuscada VIGA.LSP, uma vez que só me falta a parte de inserção do texto nas posições correctas.
    Quem sabe alguém no Forum daria umas dicas a este casmurro?
    Falta tão pouco...

    Cumprimentos

  4. #24
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Olá Paulo,

    Infelizmente não tive muito tempo para poder analisar com detalhe a tua aplicação, mas tentei acrescentar algumas instruções ao código. Seria bom que fizesses alguns testes para ver se o que pretendes é algo do género.

    Até breve

    Jorge Anjos
    Tomar - Portugal
    Attached Files Attached Files

  5. #25
    Member
    Join Date
    2006-06
    Location
    Lisbon, Portugal
    Posts
    26
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Caro Jorge Anjos

    Já testei a rotina e aparentemente está quase a funcionar como eu desejava!!
    Faltam apenas e ainda alguns "retoques" cosméticos em relação a côres e tipo de texto que vou tentar introduzir. No entanto, posso já dizer-lhe que uma coisa que ainda não está correcta é o facto de a rotina escrever os varões como 010, 012, 016, ... etc. Esses são os nomes dos blocos *.dwg a inserir. O que a rotina deverta escrever seria 10, 12,16, ...etc. Mas eu não queria alterar os nomes dos blocos.
    Poderá enviar-me uma dica de como o conseguir? Como pôde e pode ver, os meus conhecimentos na matéria são muito rudimentares.
    De resto, ainda não estudei mais a fundo o código que teve a amabilidade de introduzir mas vou fazê-lo assim que tiver algum tempo disponível. (AutoLISP e eu, mede-se em horas, dias, semanas...)

    De qualquer modo, agradeço-lhe imenso o tempo que dispendeu com o meu "problema" e espero poder contar com a sua paciência e conhecimentos para outros que decerto me vão surgir.

    (Quando tiver terminado a rotina vou pôr-lhe um "prompt" com uma referência ao seu apoio.)

    Muito obrigado
    PS: Esta é a segunda vez que falo com alguém sobre AutoLISP. A primeira foi á cerca de um ano quando o Membro Pedro Ferreira me ajudou, via mail, a resolver um outro meu "caso bicudo". Se não fôr neste Fórum, não conheço ninguém mais com quem tirar dúvidas. Portanto Mestes, tenham paciência aqui com o novato, OK? (LOL)

  6. #26
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Olá Paulo Castro,

    Agora percebi porque colocaste uma a função getstring (obter uma variável composta por caracteres) e não a função getint ou getreal (obter um número inteiro ou real) na instrução (setq d1 (getstring "\n Enter top diameters: ")).

    Alterei as instruções que tinha acrescentado anteriormente, penso que agora os diâmetros já são colocados sem os zeros extra.
    O código ficou um pouco desarrumado mas poderei mais tarde explicar detalhadamente as alterações que fiz de forma a facilitar os "retoques" que pretendes fazer...e não te preocupes com a referência

    Até breve

    Jorge Anjos
    Tomar - Portugal
    Attached Files Attached Files

  7. #27
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Olá,

    Conforme tinha combinado, aqui vão as alterações comentadas.



    es1 (getint "\n Digite a secção dos estribos (mm): ")

    Esta linha pede um número inteiro (Getint) ao utilizador e guarda esse valor numa variável (es1) que servirá para a colocação do texto referente ao diâmetro dos estribos




    afes1 (getreal "\n Digite o afastamento dos estribos (m): ")

    Esta linha é semelhante à anterior, mas como o afastamento entre estribos é regra geral um número fraccionário (se usarmos o metro como unidade), a variável a utilizar terá que ser do tipo real, daí o uso da função Getint.
    Como os valores pedidos não serão utilizados em nenhuma operação aritmética, também poderia ter usado a função Getstring, que pede ao utilizador um caracter ou um conjunto de caracteres, mas como regra geral uso sempre Getint ou Getreal para guardar dados numéricos, preferi usar este processo.




    (setq ANDZIN (getvar "dimzin"))
    (setvar "dimzin" 0)

    Na primeira linha guardo a valor da variável do AutoCAD Dimzin e na segunda atribuo o valor 0 à mesma. Apesar de ser uma variável de cotagem, afecta igualmente o número de casas decimais resultante da função Rtos que irá ser usada mais à frente




    (setq txtdisup (strcat (itoa n1) (chr 37) (chr 37) (chr 99) (itoa (atoi d1))))

    Nesta linha crio uma variável (txtdisup) do tipo String para ser usada como texto a introduzir no comando Text que irá colocar o diâmetro dos varões superiores.
    Como o texto a introduzir não está agregado numa só frase, necessito de usar a função strcat que faz precisamente isso, junta várias Strings numa só String
    (strcat
    (itoa n1) faz a conversão da variável do tipo integer n1 numa String
    (chr 37) cria o caracter %
    (chr 37) cria o caracter %
    (chr 99) cria o caracter c
    (itoa (atoi d1)) Atoi converte uma String num número real e Itoa cnverte-o novamente numa String. Para não alterar o teu código, utilizei este método para subtrair os zeros à esquerda dos diâmetros dos varões.



    (command "_.text" "br" ce4a siz 0.0 txtdisup "")

    (command "_.text"
    "br" é a jutificação do texto (bottom right)
    ce4a é o ponto final da linha de chamada e ponto de inserção do texto
    siz é a variável que definiste para a altura do texto
    0.0 rotação do texto
    txtdisup a variável que contém o texto a introduzir
    "") enter para fechar o comando




    (setq txtdiinf (strcat (itoa n2)(chr 37) (chr 37) (chr 99) (itoa (atoi d2))))
    (command "_.text" "br" ce1a siz 0.0 txtdiinf "")

    Esta duas linhas fazem o mesmo das anteriores e servem para colocar o texto dos varões inferiores




    (setq txtdimed (strcat "ESTR. " (chr 37) (chr 37) (chr 99) (itoa es1) "//" (rtos afes1 2 2)))
    (command "_.text" "br" mpt siz 0.0 txtdimed "")

    Esta linhas servem para colocar o texto dos estribos e a principal diferença das anteriores a instrução

    (rtos afes1 2 2) que converte a variável do tipo Real afes1 em String




    (setvar "dimzin" ANDZIN)

    Nesta linha atribuo o valor inicial à variável do AutoCAD Dimzin.



    Espero não ter complicado muito.

    Até breve
    Jorge Anjos
    Tomar - Portugal

  8. #28
    Member
    Join Date
    2006-06
    Location
    Lisbon, Portugal
    Posts
    26
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Caro Jorge Anjos

    Como diziam num anúncio de antigo da TV: Estou maravilhado!!!

    Testei de novo a rotima. Já não apresenta o "bug dos zeros" e está mesmo quase no ponto.
    Já vi o código que acrescentaste e, como é óbvio, não percebi metade dele. Mas com as explicações que dás no "post" anterior, acho que, com um pouquinho de estudo, chego lá, assim eu descubra um tempinho para isso.
    (Era tão bom que todas as rotinas viessem tão bem comentadas como tu o fizeste...!!! Um espanto!)
    Portanto, para já não vou maçar mais o fórum com essa questão. (Para já...)

    No entanto gostaria de te (vos) pôr uma nova questão: Qual é a variável, que controla o factor de inclinação do texto, o "Obliquing Angle"?
    Já por diversas vezes tentei incluí-la em rotinas mas não a descobri no Help do Autocad. Sei que ela é controlável através da dialog "Text Style" e da "Caixa"(???) "Properties", mas não sei como modificá-la através de rotinas AutoLISP por não saber o nome dela.

    Alguém me dá uma dica?

    Aproveito para pôr outras duas questões (Não sei se é este o local apropriado, peço por isso a benevolência do moderador...):

    1 - Existem cursos de Autolisp em Portugal? Onde? Quando e quanto? Onde procurar na zona de Lisboa?

    2 - Tenho muitos "Turorials" dispersos sobre AutoLISP. Uns completos, mas resumidos. Outros melhores, mas incompletos e outros, nem uma coisa nem outra...LOL!
    Existe alguma documentação completa compilada, alguma "Biblia" e já agora em Português? Nas livrarias ou na Net? Onde? Alguém a tem e pode disponibilizá-la aqui ao maçarico?

    Obrigado todos.

  9. #29
    100 Club
    Join Date
    2001-02
    Location
    Porto Portugal
    Posts
    128
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Caro Paulo

    Quanto à primeira questão, julgo não haver variável para controlo do "Obliquing Angle"
    a solução é criar a textstyle com os parametros todos e pô-la corrente para utilizar

    (command) "-style" "teste" "romans" "2" "" "30d20'10"" "" "" ""

    nome (neste caso, teste)
    fonte (neste caso romans)
    valor da altura entre "" ou nome da variável com o valor
    Withfactor, neste caso com as "" fica a 1, valor por defeito
    Obliquing angle, valor entre "" neste caso 30º 20' 10" (repare que tem segundas aspas para fechar o valor que é uma "string", se o valor for calculado pela rotina e guardada numa variável, coloque o nome da variável sem aspas.
    o conjunto final de aspas
    backwards
    upside-down
    Vertical
    As três aspas aceitam o valor por defeito NO e tem a vantagem de ficar corrente
    Penso ter ajudado
    Quanto às outras questões, vou fazer alguma pesquisa e se encontrar digo-lhe
    Last edited by Josue Silva; 2007-01-22 at 05:53 PM.

  10. #30
    Member
    Join Date
    2006-06
    Location
    Lisbon, Portugal
    Posts
    26
    Login to Give a bone
    0

    Default Re: Falando sobre Autocad e Autolisp/Visual Lisp em Português

    Josué

    Eu bem suspeitava de que essa variável não existia. Por outro lado, tenho algures nos meus "arquivos" um documento qualquer que refere variáveis não documentadas do AutoCAD. Tenho que ir vasculhar á procura desse ficheiro que penso que era um *.pdf. Se encontrar qualquer coisa, logo digo.

    Quanto á solução que me enviou, é mais ou menos a que tenho adoptado, mas nunca me pareceu a ideal, embora cumpra o objectivo pretendido. De qualquer modo fico grato pelo comentário detalhado que enviou. Por vezes, é na leitura dos comentários que encontramos algo que nos dá aquele "Click" que faltava.

    PS: Recebi um mail com links, em resposta ás minhas questões soobre Cursos e Bíblias Lisp.
    Mas com o meu jeitinho, apaguei-o por engano. A quem de direito: Poderia enviar-mo de novo?

    Obrigado

Page 3 of 5 FirstFirst 12345 LastLast

Similar Threads

  1. Replies: 2
    Last Post: 2012-08-30, 11:59 AM
  2. Autolisp vs Visual Lisp
    By neje in forum AutoLISP
    Replies: 7
    Last Post: 2009-03-08, 10:54 PM
  3. Book "AutoLisp and Visual Lisp primer", recommended or not
    By thomas.huckabee in forum AutoLISP
    Replies: 0
    Last Post: 2007-05-02, 02:06 PM
  4. Alguns Treinamentos do AUGI em Português sobre AutoCAD
    By Brogueira-CADptbr in forum Português - AutoCAD / AutoCAD LT
    Replies: 0
    Last Post: 2007-01-04, 03:16 PM
  5. Livros em Português sobre o 2007
    By Brogueira-CADptbr in forum Português - AutoCAD / AutoCAD LT
    Replies: 0
    Last Post: 2006-10-28, 04:05 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •