Perfil no Corel Draw - Lendo Arquivos ARC e DAT

Espaço para conversas agradáveis entre amigos, sobre nosso modelos ou sobre a competição de automodelos que está rolando, até para aquela piada aviatória ou as fotos do seu avião full escala favorito. O papo deve estar relacionado a modelismo ou aviação.
Avatar do usuário
TonLeite
membro
Mensagens: 238
Registrado em: Sáb Set 10, 2011 9:48 am
Localização: Votorantim - SP

Perfil no Corel Draw - Lendo Arquivos ARC e DAT

Mensagem por TonLeite »

Os Moderadores que me perdoem se o local do Tópico está errado...
Mas não encontrei outro que seria legal.

[b:f2ce6ad0b9]Problema[/b:f2ce6ad0b9]: Comunmente utilizo o Corel Draw para desenhar perfis de asas, antes de imprimir e fazer um molde. Depois de impresso é muito fácil passar para uma chapa de metal por exemplo (alumínio) para um corte em [i:f2ce6ad0b9]isopor[/i:f2ce6ad0b9].
Penso que alguns outros usuários também o fazem.
E sinto certa dificuldade em desenhar a mão livre, até dá, porém não se pode perder tempo em detalhes.. e as vezes, dependendo do perfil, os detalhes fazem a diferença...

[b:f2ce6ad0b9]Solução[/b:f2ce6ad0b9] (possível): Vendo o Snack (entre outros editores usados por nós) e sabendo que os desenhos são arquivos de texto, pensei.... por que não o prório Corel Draw ler o arquivo de texto e desenhar o foil?
Sendo assim... fiz uma macro simples pra criar o desenho do perfil..
Esta macro foi elaborada no CorelDraw X5, não sei dizer sobre compatibilidade com anteriores....
Para usar é só copiar e colar no editor de Macros de seu Corel.
Outro detalhe é que alguns arquivos não são de multiplas linhas e sim uma linha de texto única, que pode gerar erro, não tive tempo de "tirar esse bug", mas já quebra um galho...
[b:f2ce6ad0b9]Segue em anexo[/b:f2ce6ad0b9]:

Sub Macro1()
' Recorded 25/02/2013
Dim sArquivos
Dim sEspecificação As String
Dim l As Long
Dim sTítulo, sLinha, sNome As String
Dim iFileNum, iContador, iX, iY, iX1, iY1 As Integer
Dim s1 As SubPath
Dim s As Shape
Dim crv As Curve
sEspecificação = "Arquivos DAT |*.dat| Arquivos ARC |*.ARC"
sTítulo = "Selecione um arquivo TXT | DAT:"
sArquivos = CorelScriptTools.GetFileBox(sEspecificação, sTítulo, 0, "")
If Len(Dir$(sArquivos)) = 0 Then
MsgBox "Erro ao abrir o arquivo!"
Exit Sub
End If
If sArquivos = "" Then Exit Sub
iFileNum = FreeFile()
Open sArquivos For Input As iFileNum
iContador = 1
Set crv = ActiveDocument.CreateCurve
Set s1 = crv.CreateSubPath(0, 0)
Do While Not EOF(iFileNum)
Line Input #iFileNum, sLinha
iX = Val(Left(LTrim(sLinha), 8 ) ) * 10
iY = Val(Right(LTrim(sLinha), 8 ) ) * 10
If iContador = 1 Then
sNome = sLinha
ElseIf iContador = 2 Then
iX1 = iX
iY1 = iY
s1.AppendLineSegment iX, iY
ElseIf iContador > 2 Then
s1.AppendLineSegment iX, iY
End If
iContador = iContador + 1
Debug.Print sLinha
Loop
s1.Closed = True
Set s = ActiveLayer.CreateCurve(crv)
s.Name = sNome
Close iFileNum
End Sub
O céu é o limite!
ACCA - Sócio n° 13
Moiado
membro
Mensagens: 287
Registrado em: Dom Mai 29, 2011 1:08 pm
Localização: Ibiá, MG

Re: Perfil no Corel Draw - Lendo Arquivos ARC e DAT

Mensagem por Moiado »

[quote:da15dfea22="TonLeite"]
Outro detalhe é que alguns arquivos não são de multiplas linhas e sim uma linha de texto única, que pode gerar erro, não tive tempo de "tirar esse bug", mas já quebra um galho...[/quote:da15dfea22] Não entendi o que quis dizer.

O meu Corel é o X6 e está dando problema nestas linhas: X = Val(Left(LTrim(sLinha), Cool) * 10
iY = Val(Right(LTrim(sLinha), Cool) * 10
Qual seria o problema...
Na sua macro tem este símbolo 8) e quando copiada aparece a palavra Cool. Sei que isto está errado. Este simbolo deve ser substituído pelo quê?
Onde acho os valores que devem ser inseridos para a macro desenhar o perfil?
Abraço e obrigado.
Avatar do usuário
TonLeite
membro
Mensagens: 238
Registrado em: Sáb Set 10, 2011 9:48 am
Localização: Votorantim - SP

Re: Perfil no Corel Draw - Lendo Arquivos ARC e DAT

Mensagem por TonLeite »

Inicialmente Moiado, mil perdões por demorar a responder!! a você e a todos que
fizerem uso da macro!!

[quote:220581d79d="Moiado"]
O meu Corel é o X6 e está dando problema nestas linhas: X = Val(Left(LTrim(sLinha), Cool) * 10
iY = Val(Right(LTrim(sLinha), Cool) * 10
Qual seria o problema...
Na sua macro tem este símbolo 8) e quando copiada aparece a palavra Cool. Sei que isto está errado. Este simbolo deve ser substituído pelo quê?
Onde acho os valores que devem ser inseridos para a macro desenhar o perfil?
Abraço e obrigado.[/quote:220581d79d]

Na verdade esse é o número de dígitos do texto que representa o número decimal das coordenadas que desenham as linhas que formam o perfil!! (complexo?!)

De qualquer forma, o valor com certeza não é => 8) tão pouco "cool", e sim " 8 ) "!, ok? já corrigi o texto da macro, como pode ver acima! ( cool é nome do emoticon 8) que foi gerado por digitar "8 )" sem espaços!).



[quote:220581d79d="Moiado"][quote:220581d79d="TonLeite"]
Outro detalhe é que alguns arquivos não são de multiplas linhas e sim uma linha de texto única, que pode gerar erro, não tive tempo de "tirar esse bug", mas já quebra um galho...[/quote:220581d79d] Não entendi o que quis dizer.
[/quote:220581d79d]

Bem..., o arquivo que gera o perfil (normalmente com extensão ARC ou DAT), ou seja, o arquivo de texto que tem as coordenadas que geram os pontos e linhas, que formam o perfil, é um arquivo de texto comum! Eu trabalhei em cima de arquivos que cada coordenada fica em uma linha distinta do texto, porém há arquivos que todas as coordenadas ficam em uma única linha, motivo pelo qual pode gerar um erro no desenho do perfil. tem que ir tentando. Prometo que quando der um tempinho, vou ver esse "erro", ok?:

[quote:220581d79d="Moiado"]
Onde acho os valores que devem ser inseridos para a macro desenhar o perfil?
[/quote:220581d79d]

Esses arquivos acompanham programas que os desenham (como o snack, por exemplo, e muitos outros). Há sites especializados também, como:
[url]http://www.airfoildb.com/foils/list[/url]

Porém se você procurar no google, no RCgroups e até aqui no Evoo, encontrará muitos perfis no formato texto. Se localizar só o texto, puro e simples, é só colar num editor de texto como o Notepad ou o Edit e salvar com a extensão DAT ou ARC, após rodar a macro no Corel Draw, localizar o texto e será desenhado o perfil!


Bem.. espero ter respondido da melhor forma tuas perguntas, se houver outras, estou a disposição!

Forte abraço!
O céu é o limite!
ACCA - Sócio n° 13
Responder