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/

DXF

Dúvidas sobre AutoLISP...

Moderador: Moderadores

Responder
Avatar do usuário
samu20infd2
Concreto
Concreto
Mensagens: 38
Registrado em: Sex 11 Abr 2008 12:00:00 am

DXF

Mensagem por samu20infd2 »

Estou precisando importar um DXF.
Vamos supor. Quando eu executo o programa autolisp, ele pede pra
vc escolher o DXF que você deseja formatar, e depois que o DXF estiver carregado, ele executara a ação
de formatação.


8)

Avatar do usuário
cracksther
Diamante
Diamante
Mensagens: 1063
Registrado em: Seg 13 Dez 2004 11:00:00 pm

Mensagem por cracksther »

samu20infd2... use o comando insert para isso

Até mais!
Marcelo Silva - Cascavel - PR
[email protected]

Avatar do usuário
cleyson
Prata 1/3
Prata 1/3
Mensagens: 430
Registrado em: Seg 19 Jun 2006 12:00:00 am

Resposta

Mensagem por cleyson »

Deve ter um jeito mais fácil de explodir os elementos ...
Existe um comando que retorna o Nome do Arquivo dessa maneira pouparia a função parse ... :roll: - Se eu lembrar eu posto ...

[lsp](defun c:loadFile ()

(SETQ attreq (GETVAR "ATTREQ")
attdia (GETVAR "ATTDIA")
osmode (GETVAR "OSMODE")
eco (GETVAR "CMDECHO")
blip (GETVAR "BLIPMODE")
)
(SETQ erro_original *error*)
(SETVAR "ATTREQ" 1)
(SETVAR "ATTDIA" 0)
(SETVAR "OSMODE" 0)
(SETVAR "CMDECHO" 0)
(SETVAR "BLIPMODE" 0)
(setq *error* erroInsert)


(SETQ arq (GETFILED "Selecione o Arquivo DWG :" "C:\\" "DXF" 2))

(if arq
(command "_.insert" arq "0" "1" "1" "0")
);if

(setq str arq)
(setq lst (parse arq "\\"))
(setq NomeArquivo (last lst))
(setq NomeArquivo (vl-string-subst "" ".dxf" NomeArquivo ))
(SETQ selectBloco (SSGET "X" (LIST '(0 . "INSERT")(cons 2 NomeArquivo))))
(command "explode" selectBloco)
(princ)

;Desenvolvimento do Aplicativo


(COMMAND "zoom" "e")
(COMMAND "layer" "m" "0" "")

(if (= arq nil)
(progn
(princ "\n < Menhum Arquivo selecionado ! >")
;(command "regen")
(princ)
);progn
(progn
(princ "\n < Carregado com Sucesso ! >")
;(command "regen")
(princ)
(alert "Carregado com Sucesso!")
(princ)
);progn

);if

(SETVAR "ATTREQ" attreq)
(SETVAR "ATTDIA" attdia)
(SETVAR "OSMODE" osmode)
(SETVAR "CMDECHO" eco)
(SETVAR "BLIPMODE" blip)
(setq *error* erro_original)
(princ)

);fim do carregaSXR

(defun erroInsert(msg)
(prompt "\nProcesso Cancelado!\n")
(command "layer" "m" "0" "")
(SETVAR "ATTREQ" attreq)
(SETVAR "ATTDIA" attdia)
(SETVAR "OSMODE" osmode)
(SETVAR "CMDECHO" eco)
(SETVAR "BLIPMODE" blip)
(setq *error* erro_original)
(princ)
)

;###################################################### Separador \\ ###############
(defun parse (str delim / lst pos)
(setq pos (vl-string-search delim str))
(while (> pos 0)
(setq lst (cons (substr str 1 pos) lst)
str (substr str (+ pos 2))
pos (vl-string-search delim str)
)
)
(if (> (strlen str) 0)
(setq lst (cons str lst))
)
(reverse lst)
)
;###################################################### Separador \\ ###############[/lsp]
Cuiabá - Mato Grosso
“Na morte que me sigam, pois não deixo ninguém a chorar”. Cleyson
“Na vida as horas passam e tudo se renova, não invoque a morte, amanhã é um novo dia”. Cleyson
“Deus fez os caminhos, o homem faz o destino” Cleyson

Avatar do usuário
cleyson
Prata 1/3
Prata 1/3
Mensagens: 430
Registrado em: Seg 19 Jun 2006 12:00:00 am

Respondendo ...

Mensagem por cleyson »

Encontrei ... :lol:

Substitua no Algoritmo

[lsp](setq filename "c:\\Teste\\Cleyson.exe")
(vl-filename-base filename)[/lsp]

Retire a Função Parse

Atenciosamente
Cleyson Cloves do Carmo
Cuiabá - Mato Grosso
“Na morte que me sigam, pois não deixo ninguém a chorar”. Cleyson
“Na vida as horas passam e tudo se renova, não invoque a morte, amanhã é um novo dia”. Cleyson
“Deus fez os caminhos, o homem faz o destino” Cleyson

Avatar do usuário
samu20infd2
Concreto
Concreto
Mensagens: 38
Registrado em: Sex 11 Abr 2008 12:00:00 am

Mensagem por samu20infd2 »

cleyson e cracksther, muito obrigado pela ajuda.
8)

Responder