2016-04-01 34 views
3

Normalde, bir python komut dosyasını çalıştırmak için "blender -P script.py" yi kullanırdım. Bu durumda, betiği yürütmek için yeni bir blender işlemi başlatılır. Şimdi yapmaya çalıştığım şey, yeni bir tane başlatmak yerine, halihazırda çalışan bir blender işlemini kullanarak bir betik çalıştırmaktır.Zaten çalışan bir karıştırıcı kullanarak python komut dosyasını nasıl çalıştırırım?

Bana bu yaklaşımın asıl fizibilite ilgili endişelerini yapar şimdiye kadar bu konuda herhangi bir kaynak, görmedik.

Herhangi bir yardım için teşekkür ederiz.

cevap

1

Blender cli başlatılmasına ve daha sonra çalıştığı gibi cli den fazla komutları almaya devam etmek tasarlanmamıştır. Ancak, metin dosyalarını açabilen ve metin bloğunu bir python betiği olarak çalıştırabilen bir text editor içerir; ayrıca, blender çalışırken komutları etkileşimli olarak yazmak için kullanılabilecek bir python console içerir. Ayrıca, python konsolunda bir metin bloğu çalıştırmanızı sağlayan this addon'u yararlı bulabilir, bu da komut dosyalarını yürütmenin sonunda var olan değişkenleri içeren etkileşimli bir oturumda kalmanızı sağlar.

bir piton konsoluna blender --python-console olarak blender çalıştırmak için bir cli option var - bu konsol çalışırken gui güncellenen almaz, bu nedenle açmak ve exec birkaç komut ve konsol çıktığınızda sonra, blender da gui var güncellenir olabilir ve etkileşimli kullanıma izin verin veya arka plan modunda -b başlıyorsanız, konsoldan çıktığınızda çıkacaktır. Benim çözümüm

1

bir while döngüsü içerir ve bazı özel kodu işlemek için istekleri almak için bir sunucu soketi oluşturan bir Python komut dosyası (script.py --python blender) ile konsolu üzerinden Blender başlatmak için oldu. Döngü, blenderin GUI'yı açmasını önleyecek ve soket aynı blender işleminde çoklu istekleri ele alacaktır.