autoCAD
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

autoCAD

Aqui você encontra tudo sobre AutoCAD!!!
 
InícioInício  PortalPortal  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  Entrar  

 

 Exportando dados do AutoCAD para o MS-Excel

Ir para baixo 
AutorMensagem
adiministrador
Admin



Mensagens : 29
Data de inscrição : 20/04/2008

Exportando dados do AutoCAD para o MS-Excel Empty
MensagemAssunto: Exportando dados do AutoCAD para o MS-Excel   Exportando dados do AutoCAD para o MS-Excel Icon_minitimeDom Abr 20, 2008 5:47 am

Veja como é possível comunicar dados entre o AutoCAD e o Ms-Excel utilizando o Visual Lisp.

O Visual Lisp possibilita a comunicação do AutoCAD com qualquer aplicativo que suporte o ActiveX, como um exemplo vamos demonstrar como é possível transferir informações do desenho para uma planilha do Ms-Excel.
Vale informar que este é apenas um exemplo e que o mesmo pode ser adaptado às suas necessidades.

Primeiramente devemos carregar a funçao vl-load-com que permite que utilizemos as funções ActiveX suportadas pelo Visual Lisp.

(vl-load-com)


Para o nosso exemplo as variaveis *excel-cells* e *row* devem estar com seus valores sempre nulos toda vez que a rotina for iniciada

(setq *excel-cells* nil)
(setq *row* nil)



A função init-excel irá iniciar o Excel criar uma pasta e definir janela do aplicativo como "visível".

(defun init-excel (/ excel-app wb-colletion workbook sheets sheet1)
(setq excel-app (vlax-create-object "excel.application"))
(setq wb-collection (vlax-get excel-app "workbooks"))
(setq workbook (vlax-invoke-method wb-collection "add"))
(setq sheets (vlax-get workbook "sheets"))
(setq sheet1 (vlax-get-property sheets "item" 1))
(setq *excel-cells* (vlax-get sheet1 "cells"))
(vlax-put excel-app "visible" 1))



A função write-row-column vai gravar os dados na planilha do excel; em linha e coluna informada.

(defun write-row-column (row col x)
(vlax-put-property *excel-cells* "item" row col (vl-princ-to-string x)))



Para a próxima etapa a variável *model-space* deve estar com seu valor sempre nulo.

(setq *model-space* nil)


A função init-app vai criar as colunas de cabeçalho na planilha do excel, além de amazenar o objeto da seção corrente do AutoCAD no ambiente modespace.

(defun init-app ()
(setq *model-space*
(vla-get-modelspace
(vla-get-activedocument
(vlax-get-acad-object))))
(write-row-column 1 1 "Centro x")
(write-row-column 1 2 "Centro y")
(write-row-column 1 3 "Centro z")
(write-row-column 1 4 "Raio")
(setq *row* 2))[b/]


A função seguinte aciona a função [b]write-row-column
passando os parâmetros necessários e desenha os objetos (circulos) no desenho corrente e vai criar as colunas de cabeçalho na planilha do excel, além de amazenar o objeto da seção corrente do AutoCAD no ambiente "modelspace".

(defun add-circle (px py pz radius)
(write-row-column *row* 1 px)
(write-row-column *row* 2 py)
(write-row-column *row* 3 pz)
(write-row-column *row* 4 radius)
(setq *row* (+ *row* 1))
(vla-addcircle *model-space*
(vlax-3d-point px py pz )
radius))



Executando a função demo será processada toda as sequencias anteriores e consequentemente criado o arquivo do Excel com os dados já exportados do AutoCAD. (conforme figura)

(defun c:demo ()
(init-excel)
(init-app)
(add-circle 5 5 0 5)
(add-circle 5 5 0 10))
Ir para o topo Ir para baixo
https://autocad.directorioforuns.com
 
Exportando dados do AutoCAD para o MS-Excel
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Duvidas Autocad 2008 / pranchas

Permissões neste sub-fórumNão podes responder a tópicos
autoCAD :: Artigos :: DICAS AutoCAD-
Ir para: