Criação de rotina

Dúvidas sobre o AutoCAD...

Moderador: Moderadores

Responder
Barão_Vermelho
Novato
Novato
Mensagens: 2
Registrado em: Ter 30 Jan 2018 7:33:41 am

Criação de rotina

Mensagem por Barão_Vermelho »

Olá, recentemente foi requerito um trabalho, criar uma rotina lisp que some um texto mais a dimensão de uma linha selecionada.
Confesso que sou novo no assunto e estou com dúvida em questão das funções que devo utilizar, principalmente em como fazer elas executarem.
Agradeço toda ajuda
Carlos A Gaboardi
Papel
Papel
Mensagens: 6
Registrado em: Seg 31 Dez 2018 12:48:08 am

Re: Criação de rotina

Mensagem por Carlos A Gaboardi »

(DEFUN C:STL (/ ENT1 ENT1TYPE ENT1_DIM
ENT2 ENT2TYPE ENT2_DIM SOM_ENT1_ENT2
)

(WHILE (/= ENT1TYPE "TEXT")
(SETQ ENT1 (CAR (ENTSEL "\nSELECIONE TEXTO A SOMAR:")))
(SETQ ENT1TYPE (CDR (ASSOC 0 (ENTGET ENT1))))
) ;SELECIONANDO TEXTO
(SETQ ENT1_DIM (distof (CDR (ASSOC 1 (ENTGET ENT1))) 2))

(WHILE (AND (/= ENT2TYPE "LINE")
(/= ENT2TYPE "ARC")
(/= ENT2TYPE "LWPOLYLINE")
)
(SETQ
ENT2
(CAR
(ENTSEL "\nSELECIONE LINE/PLINE/ARC A SOMAR COMPRIMENTO:")
)
)
(SETQ ENT2TYPE (CDR (ASSOC 0 (ENTGET ENT2))))
) ;SELECIONANDO LINE, LWPOLYLINE OU ARC
(COMMAND "_.LENGTHEN" ENT2 "" "" "")
(SETQ ENT2_DIM (GETVAR "PERIMETER"))

(SETQ SOM_ENT1_ENT2 (+ ENT1_DIM ENT2_DIM))
(ALERT (STRCAT "TOTAL DA SOMA: " (RTOS SOM_ENT1_ENT2 2 2)))
)

;;;FUNCIONARÁ PARA SOMAR TEXTOS COM DECIMAIS INDICADOS COM PONTOS E NÃO VÍRGULAS. A SEGUNDA SELEÇÃO PODERÁ SER LINHAS, POLYLINES E ARCOS.
Responder