Mensagens

A mostrar mensagens com a etiqueta Lisp

Autocad e Chat GPT - O que não é

Imagem
Autocad e Chat GPT - O que não é Assisti a mais um vídeo de Chat GPT e a suposta automatização do Autocad. Automatização é o que todos queremos... Créditos a este vídeo: https://www.youtube.com/watch?v=OH4QqStispc No fundo o que está a fazer, uma vez mais, é pedir à IA que construa um autolisp, linguagem com 4 dezenas de anos, para realizar uma operação de desenho. Um desenhador ou engenheiro bem embebido no assunto da automatização têm já as suas rotinas guardadas e o seu conhecimento para pôr em prática a automatização. Não há um meio de dizer ao Chat GPT e Autocad, desenha-me agora as portas e janelas no desenho X.dwg ou sobre a linha tal calcula um perfil... Como exemplo de um scrip posso fazer o prompt no BING - Copilot: crie um script de autocad, autolisp para desenhar uma batata doce. e o resultado é (defun c:DesenharBatataDoce ()   (command "circle" (getpoint "Digite o centro da batata-doce: ") 10)   (command "circle" (getpoint "Digite o centr...

Opções de Interação com o CAD (Programação)

Imagem
Quase desde sempre, os utilizadores avançados do CAD e em especial do produto da Autodesk, procuraram formas de agilizar algumas tarefas, introduzir dados, modificações, etc... Uma das formas mais antigas de o fazer é através de um Lisp. Mas não é a única. Nas actuais versões de CAD podemos encontrar um menu semelhante ao seguinte:  É uma das formas de carregar ficheiros que possam atender ao descrito anteriormente. A primeira opção de "Load Application" leva-nos à abertura (por exemplo) do velho Lisp, ou Autolisp como é apelidado um Lisp para tarefas de CAD. É uma linguagem bastante antiga, que permite realizar alguma interacção com o utilizador, bem como desenhar: A opção seguinte de "Run Script" abre a janela para carregar um ficheiro *.scr são ficheiros estáticos, com ordens de desenho. Por exemplo desenha uma linha de x a y ... entre outras possibilidades. MAs sem interacção com o utilizador. Bastante útil para desenhos que sejam o produto de operações feitas c...

Lisp - Autocad

Eis um LISP simples, no qual se podem observar alguns conceitos básicos de programação, neste caso específica para Autocad. Guardar o código como Exemplo.lsp (ficheiro de texto simples, com extensão lsp). Depois arrastar para cima de uma janela com um desenho de Autocad. Na linha de comandos escrever "Exemplo". A saída deverá ser um texto com as coordenadas do ponto escolhido. Here is a simple LISP, in which you can observe some basic programming concepts, in this case specific to Autocad. Save the code as Exemplo.lsp (plain text file, with lsp extension). Then drag it up to a window with an Autocad drawing. At the command prompt type "Exemplo." The output should be a text with the coordinates of the chosen point. ;Programa de exemplo (defun c:Exemplo ()   (princ "_____ Clique um ponto _____")   (setq ponto1 (getpoint "\n Clique no desenho ?: "))   (setq pt1x (car ponto1))   (setq pt1y (cadr ponto1))   (setq pt1z (caddr ponto1))  ...

Substituir blocos em ficheiros de subpastas

Imagem
Surgiu-me o problema de substituir uns blocos em nn ficheiros de CAD, que estavam distribuídos por diversas pastas. Pesquisei na net, e encontrei um método, que embora "duro" funciona. Passa por várias etapas. Criam-se 3 ficheiros diferentes para lidar com o problema. O "programa" *.bat abre um a um, cada ficheiro de CAD e realiza as operações necessárias em *.scr e *.lsp. Funciona.

Lisp Percentagem

Eis um Lisp para determinar a % entre dois pontos picados em CAD: ;Determina percentagem entre 2 pts picados (defun c:P2 () (setq p1 (getpoint "\nPT1 Ponto Inicial")) (setq p2 (getpoint "\nPT2 Ponto Final")) (setq x1 (car p1)) (setq y1 (cadr p1)) (setq x2 (car p2)) (setq y2 (cadr p2)) (setq disth (- x2 x1)) (setq distv (- y2 y1)) (setq Perf (/ (* 100 distv) disth)) (print Perf) (princ) )