Blender PT

Blender 3D, Modelação, Renderização, Arte tudo em Português

Você não está autenticado.

#1 2013-04-08 15:24:21

victorc
Membro
De: Leiria
Registado: 2013-04-08
Mensagens: 22

Script para importar texto

Aqui vai a minha primeira dúvida!

Criei o seguinte script com base no tutorial "Hello World" para editar um objecto de texto, substituindo o texto existente por "Vct Text Editor" e alterando posteriormente a dimensão:


import bpy

bpy.ops.object.editmode_toggle()

bpy.ops.font.delete()

bpy.ops.font.text_insert(text="Vct Text Editor")

bpy.ops.object.editmode_toggle()

bpy.context.object.dimensions[0] = 5


O que pretendo no script final é importar o text a partir de um ficheiro .txt. Isto é, em vez de introduzir manualmente o texto "Vct Text Editor", que o blender procure o texto a introduzir num ficheiro .txt específico.
Alguém tem uma solução ao sugestão?

Offline

#2 2013-04-08 18:42:42

renatogsousa
Membro
De: Vila do Conde
Registado: 2013-02-24
Mensagens: 263
Website

Re: Script para importar texto

Ora então para provar que o forum pode ser útil, tens aqui alguma informação sobre input e output para ficheiros externos: http://docs.python.org/2/tutorial/input … ting-files

estive a fazer uns testes e acho que código abaixo deve servir para o que pretendes.
para facilitar a leitura e dado que no python a indentação é importante, podes no forum escrever o código entre as tags code e /code, para não perder os espaços ou tabs no início da linha. (vê no fundo do forum o BBcode)

basicamente isto abre o ficheiro teste.txt no mesmo directório do ficheiro .blend. depois vai ler o ficheiro linha a linha e atribuindo o que lê em cada linha à variável texto. o .strip() é para eliminar o "\n" que aparece no fim de cada linha por carregarmos no enter. depois é só veres o que queres fazer com esse texto. neste exemplo fiz com que criasse um objecto de texto e atribui-lhe o que lê em cada linha, ou seja ficas com n objectos, todos no mesmo local. podes alterar a posição em que são inseridos, rotação, etc. mal inseres o objecto de texto se definires alguns atributos, como explica aqui: http://www.blender.org/documentation/bl … t.text_add

espero ter ajudado, qualquer coisa apita.


if os.path.exists("teste.txt"):
    with open("teste.txt", "r") as file:
        for line in file:
            texto=line.strip()
            # fazer aqui o que se quiser com o texto de cada linha, como por exemplo criar um objecto de texto novo e atribuir-lhe o texto da linha em questão
            bpy.ops.object.text_add()
            bpy.context.active_object.data.body=texto

Última edição por renatogsousa (2013-04-08 18:53:04)

Offline

#3 2013-04-08 20:08:59

ricaxe
Membro
De: porto
Registado: 2013-02-24
Mensagens: 240
Website

Re: Script para importar texto

Grande Renato ... big_smile


Quero Renders Muitos renders

Offline

#4 2013-04-08 22:07:28

victorc
Membro
De: Leiria
Registado: 2013-04-08
Mensagens: 22

Re: Script para importar texto

Obrigado Renato. Foi de facto uma resposta rápida e útil.

Vou testar e depois digo qualquer coisa.

Offline

#5 2013-04-10 17:24:21

victorc
Membro
De: Leiria
Registado: 2013-04-08
Mensagens: 22

Re: Script para importar texto

Renato não consegui executar o script. Testei o teu exemplo mas dá erro. Devo estar a fazer algo de errado.

Para a aplicação expecífica que pretendo cheguei à conclusão que é mais vantagoso utilizar o script externamente por isso já não se coloca o problema de importação de texto.
Apesar disso gostaria de resolver a questão mas deixa de ter carácter urgente.

Offline

#6 2013-04-10 17:37:15

renatogsousa
Membro
De: Vila do Conde
Registado: 2013-02-24
Mensagens: 263
Website

Re: Script para importar texto

Sabes que mensagem de erro é que dá na system console?

em princípio pode o problema ser de como se abre o ficheiro. se criares um ficheiro novo clicando no blender.exe penso que o path será diferente de clicar directamente num ficheiro .blend.

Experimenta abrir o ficheiro onde queres testar este script clicando directamente no .blend, para ver se será disso.

Offline

#7 2013-04-16 14:21:15

victorc
Membro
De: Leiria
Registado: 2013-04-08
Mensagens: 22

Re: Script para importar texto

Ainda não tive disponibilidade para voltar a testar. Tenho andado com outros projectos de scripts onde não necessito desta função. Quando tiver disponibilidade volto a atacar esta questão.

Offline

Rodapé do site