• Este fórum é a tradução automática de www.cad3d.it/forum1 - a comunidade italiana de design. Vários termos não foram traduzidos corretamente.

Desenhe círculos importando dados do Excel

  • Criador do tópico Criador do tópico Lollosilva
  • Start date Start date
  • Tags Tags
    excel

Lollosilva

Guest
oi, eu gostaria de saber se é possível criar um projeto em autocad tomando os dados (x,y, raio) de uma tabela de excel, eu basicamente tenho que criar uma série de circunferências com os raios e coordenadas do centro
Obrigado com antecedência.
 
Então não há hipótese?
Eu também queria saber se você pode extrair do desenho já fez uma tabela de excel ou em qualquer caso uma tabela onde existem os valores do desenho, no meu caso x,y, raio
Obrigado. .
 
tentou em 2006, não funciona, apesar de ter apresentado um micro-file de excel com apenas 1 registro..

:
com autocad italiano não funciona, fiz uma pequena modificação aqui:
http://www.cad3d.it/forum1/showthread.php?t=14033

Então não há hipótese?
Eu também queria saber se você pode extrair do desenho já fez uma tabela de excel ou em qualquer caso uma tabela onde existem os valores do desenho, no meu caso x,y, raio
Obrigado. .
Olha, há também uma solução muito banal, a de criar um script.
no excel, criar uma coluna com uma fórmula

=concatena(a2;",";b2;";c2;"""

onde a2 e b2 são as coordenadas e c2 o raio do círculo.
basta copiar a coluna com a fórmula no bloco de notas e digitar o comando _circle no início do texto com as coordenadas. então você tem que salvar a extensão de arquivo .scr e arrastá-lo para autocad. e automaticamente você terá todos os seus belos círculos.
mais tempo para explicar do que fazê-lo.
 
com autocad italiano não funciona
mas na verdade eu tentei tanto no meu acad em Inglês, e no polonês um dos colegas, e não funciona de nenhuma maneira, mas eu não vou..
Há uma solução muito banal, para criar um script. no excel, criar uma coluna com uma fórmula
true, infelizmente lollosilva (stamani em 9:09) perguntou o oposto exato: como exportar as características dos círculos da autocad rumo excel.

com a versão do mapa é uma operação trivial (via forma), mas com a versão "normal" eu não sei exatamente...

outras ideias?
 
mas na verdade eu tentei tanto no meu acad em Inglês, e no polonês um dos colegas, e não funciona de nenhuma maneira, mas eu não vou..
Assim que tiver um momento, voltarei a tentar.
..vero, infelizmente lollosilva (stamani em 9:09) perguntou exatamente o oposto: como exportar as características dos círculos da autocad rumo excel.

com a versão do mapa é uma operação trivial (via forma), mas com a versão "normal" eu não sei exatamente...

outras ideias?
Tens razão. Não li bem!
Esperamos que ele esclareça o que ele quer exatamente.
 
Com licença, fiz-te asneira.
Eu precisaria de ambos os métodos, ou seja, um que, dada uma tabela de excel me faz o projeto em autocad 2011 (sempre dando como x,y entrada, raio) e um que, fez o projeto em autocad me dar uma tabela com x,y valores e raio. .
Obrigado.
 
Com licença, fiz-te asneira.
Eu precisaria de ambos os métodos, ou seja, um que, dada uma tabela de excel me faz o projeto em autocad 2011 (sempre dando como x,y entrada, raio) e um que, fez o projeto em autocad me dar uma tabela com x,y valores e raio. .
Obrigado.
então para o primeiro pedido, da excel verso autocad, você pode usar a solução de script que eu mencionei acima.
para gerar a tabela, da autocad a excel, você pode usar o comando estrdati. você tem a opção de escolher itens para extrair e, em seguida, selecionando como opção de geometria você pode exportar os itens que deseja (área, diâmetro, coordenadas, raio).
 
sub discerchi()

dim newlayer como acadlayer

dim ssetobj como acadselectionset
dim cerchio como acadcircle
dim layercerchi como string

dim pt(0 a 2) como duplo
dim r como duplo

dim riga como inteiro

dim excelsheet as object
dim strfilename como string

set excelsheet = getobject("c:\tabellacerchi.xls")

excelsheet.application.visible = true

layercerchi = "cerchi"

estedrawing.layers.add layercerchi
set newlayer = thisdrawing.layers (layercerchi)
Isto está a puxar. activelayer = newlayer

riga = 3
fazer enquanto excelsheet.application.cells(riga, 1) <> "

pt(0) = excelsheet.application.cells(riga, 2)
pt(1) = excelsheet.application.cells(riga, 3)
r = excelsheet.application.cells(riga, 4)

thisdrawing.modelspace.addcircle pt(), r

riga = riga + 1

loop

end sub

scompatta il ficheiro em c:\, aprilo e vai em autocad.
avvia la macro discerchi.
I cerchi sono disegnati sul layer cerchi.

Adeus.
 

Anexos

bom rpor66, funciona lindamente!

Entretanto, consegui atirar o lispino sinalizado por pr...
xls2acad.gif
que corretamente desenha os círculos de coordenadas xyz, mas infelizmente de diâmetro único para todos os círculos...

rpor66,
Talvez se enviares a tua macro para o Mr. jefferypsanders, quem sabe, talvez você tenha uma garrafa de bourbon yankee. .
smile.gif
 
então para o primeiro pedido, da excel verso autocad, você pode usar a solução de script que eu mencionei acima.
para gerar a tabela, da autocad a excel, você pode usar o comando estrdati. você tem a opção de escolher itens para extrair e, em seguida, selecionando como opção de geometria você pode exportar os itens que deseja (área, diâmetro, coordenadas, raio).
Tenho autocads em inglês, como faço para inserir o comando "fora"?
 
Bem, eu não verifiquei os valores, mas eles parecem certos. Agora eu tenho que ver se eu posso de tabela excel para criar autocad desenho.
Muito obrigado a todos.
 
sub discerchi()

dim newlayer como acadlayer

dim ssetobj como acadselectionset
dim cerchio como acadcircle
dim layercerchi como string

dim pt(0 a 2) como duplo
dim r como duplo

dim riga como inteiro

dim excelsheet as object
dim strfilename como string

set excelsheet = getobject("c:\tabellacerchi.xls")

excelsheet.application.visible = true

layercerchi = "cerchi"

estedrawing.layers.add layercerchi
set newlayer = thisdrawing.layers (layercerchi)
Isto está a puxar. activelayer = newlayer

riga = 3
fazer enquanto excelsheet.application.cells(riga, 1) <> "

pt(0) = excelsheet.application.cells(riga, 2)
pt(1) = excelsheet.application.cells(riga, 3)
r = excelsheet.application.cells(riga, 4)

thisdrawing.modelspace.addcircle pt(), r

riga = riga + 1

loop

end sub

scompatta il ficheiro em c:\, aprilo e vai em autocad.
avvia la macro discerchi.
I cerchi sono disegnati sul layer cerchi.

Adeus.
Desculpe incomodá-lo, mas eu não sou muito experiente ainda, Eu baixei o seu arquivo .zip, Eu abri o arquivo excel, então o que eu tenho que fazer? (Eu tenho autocad em inglês, então o comando que você deve me dar em inglês) desculpa novamente e obrigado. .
 
o arquivo dvb que você teve que criá-lo anexado.
de autocad através de ferramentas / aplicação de carga selecione-o e clique em carga, em seguida, sempre em ferramentas ir em macro / macro, executar discerchi.

Adeus.
 

Anexos

sub discerchi()

dim newlayer como acadlayer
dim i como inteiro

dim ssetobj como acadselectionset
dim cerchio como acadcircle
dim layercerchi(0 a 4) como string

dim pt(0 a 2) como duplo
dim r como duplo
dim tipo como inteiro
dim riga como inteiro

dim excelsheet as object
dim strfilename como string

set excelsheet = getobject("c:\tabellacerchi.xls")

excelsheet.application.visible = true

(0) = "cerchi1"
layercerchi(1) = "cerchi2"
layercerchi(2) = "cerchi3"
layercerchi(3) = "cerchi4"
layercerchi(4) = "cerchi5"

selecionar caso (tipo)
caso 1 ou 2 ou 4
thisdrawing.layers.add layercerchi(0)
set newlayer = thisdrawing.layers(layercerchi(0))
Isto está a puxar. activelayer = newlayer
caso 3 ou 8 ou 12 ou 16 ou 20 ou 24 ou 28
estedrawing.layers.add layercerchi(1)
set newlayer = thisdrawing.layers(layercerchi(1))
Isto está a puxar. activelayer = newlayer
Caso 5 ou 6 ou 7 ou 9 ou 10 ou 11 ou 13 ou 14 ou 15 ou 17 ou 18 ou 19 ou 22 ou 23 ou 25 ou 26 ou 27
estedrawing.layers.add layercerchi(2)
set newlayer = thisdrawing.layers(layercerchi(2))
Isto está a puxar. activelayer = newlayer
caso 30 ou 31
estedrawing.layers.add layercerchi(3)
set newlayer = thisdrawing.layers(layercerchi(3))
Isto está a puxar. activelayer = newlayer
fim selecione

riga = 3
fazer enquanto excelsheet.application.cells(riga, 1) <> "

pt(0) = excelsheet.application.cells(riga, 2)
pt(1) = excelsheet.application.cells(riga, 3)
r = excelsheet.application.cells(riga, 4)
tipo = excelsheet.application.cells(riga, 5)

thisdrawing.modelspace.addcircle pt(), r, tipo

riga = riga + 1

loop

end sub


ho modificato il programma, per creare 5 layer diversi (per il momento ne utilizarzo solo 4) in modo da poterli colorare per distinguere le diver parti diver nel disegno, per distinguere le diversificado parti di di di di disegno le ho divise con un número che verrà letto da tabella, e poi verranno raggruppate in uno stesso layer solo per avere 4 layer e.
adesso non funziona ho provato a capire come editlo ma non ci riesco,grazie in antecipacipo..
 
com autocad italiano não funciona, fiz uma pequena modificação aqui:
http://www.cad3d.it/forum1/showthread.php?t=14033Olha, há também uma solução muito banal, a de criar um script.
no excel, criar uma coluna com uma fórmula

=concatena(a2;",";b2;";c2;"""

onde a2 e b2 são as coordenadas e c2 o raio do círculo.
basta copiar a coluna com a fórmula no bloco de notas e digitar o comando _circle no início do texto com as coordenadas. então você tem que salvar a extensão de arquivo .scr e arrastá-lo para autocad. e automaticamente você terá todos os seus belos círculos.
mais tempo para explicar do que fazê-lo.
Desculpe por curiosidade, pode fazer-me entender como escreveria o lisp?
 

Estatísticas do fórum

Tópicos
58,521
Mensagens
499,056
Membros
104,110
Último membro
ChristianR

Membros online

Nenhum membro online agora.
Voltar
Topo