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/

Rotinas de AutoLisp rodando no ZWCAD

Dúvidas sobre AutoLISP...

Moderador: Moderadores

Responder
Indionei.matos
Papel
Papel
Mensagens: 9
Registrado em: Qua 16 Out 2019 9:54:56 am

Rotinas de AutoLisp rodando no ZWCAD

Mensagem por Indionei.matos » Qui 26 Mar 2020 6:49:07 pm

Boa Tarde a todos.

Já dei uma pesquisada a respeito desse assunto e não consegui resposta.
Eu trabalho com o programa ZWCAD-2020 que é uma "cópia do AutoCAD", que também funciona as rotinas feitas no Visual Lisp (que é nativo do AutoCAD).
O ZWCAD usa o Visual Studio Code para fazer as rotinas em AutoLisp, até ai tudo certo, abro umas rotinas antigas do AutoCAD, faço outra agora e assim vai.

Acontece que teve uma delas que abriu mas aparece um determinado caractere (Ø), esse em específico, no lugar dele vem um losango com um ponto de ? dentro "�".
Aí eu não consigo fazer o programa rodar no ZWCAD. No AutoCAD está funcionando tudo certo.
Já tentei trocar o encoding (uso o UTF-16 LE), coloquei outros mas não funciona. Todos os comentários que eu faço que contem algum acento, também vem desta forma " Posição = Posi��o ". Já digitei novamente o Ø e até aparece, mas a rotina não funciona.

(cond
((= STR� "�4.2") (setq PESO42 (+ PESO42 PESOKGR)))
((= STR� "�5.0") (setq PESO50 (+ PESO50 PESOKGR)))
((= STR� "�6.0") (setq PESO60 (+ PESO60 PESOKGR)))
((= STR� "�6.3") (setq PESO63 (+ PESO63 PESOKGR)))
((= STR� "�8.0") (setq PESO80 (+ PESO80 PESOKGR)))
((= STR� "�10.0") (setq PESO100 (+ PESO100 PESOKGR)))
((= STR� "�12.5") (setq PESO125 (+ PESO125 PESOKGR)))
((= STR� "�16.0") (setq PESO160 (+ PESO160 PESOKGR)))
((= STR� "�20.0") (setq PESO200 (+ PESO200 PESOKGR)))
((= STR� "�22.5") (setq PESO225 (+ PESO225 PESOKGR)))
((= STR� "�25.0") (setq PESO250 (+ PESO250 PESOKGR)))
)


A versão do Visual Studio é:
Version: 1.32.3 (system setup)
Commit: a3db5be9b5c6ba46bb7555ec5d60178ecc2eaae4
Date: 2019-03-14T22:49:40.955Z
Electron: 3.1.6
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT ia32 10.0.18363

Se alguém souber resolver, me ajudar eu agradeço muito.

Atenciosamente:
Indionei C. de Matos

Avatar do usuário
Carlos Fernando
Madeira
Madeira
Mensagens: 16
Registrado em: Sex 29 Dez 2017 4:17:25 pm

Re: Rotinas de AutoLisp rodando no ZWCAD

Mensagem por Carlos Fernando » Ter 31 Mar 2020 8:39:09 pm

Boa noite
eu ia sugerir que vc fizesse uma conversão para o UTF-16 LE atráves de algum
conversor online mas parece que vc já tentou e não funcionou, então
vamos torcer para que o pessoal do fórum que trabalha no zwcad de as caras por aqui.

Uma bela gambiarra provisória é vc usar o (chr 216) no lugar do simbolo do diametro em todos os locais em que ele aparece, concatenendo com o resto da string. E tb retirar esse simbolo da variavel strØ
Dai ficaria assim:

Código: Selecionar todos

(cond
((= STR (strcat (chr 216)"4.2") (setq PESO42 (+ PESO42 PESOKGR)))
((= STR (strcat (chr 216)"5.0") (setq PESO50 (+ PESO50 PESOKGR)))
etc
ou melhor ainda: se livrar de trabalhar com esse simbolo na rotina e só usar o (chr 216) quando vc quiser usar o comando text para escrever o simbolo do diametro na tela do cad.

Responder