View Categories

3ds Max Toplu İşlemini Kullanma

7 dakika okuma

3ds Max Batch özelliğini kullanmaya başlamak için aşağıdaki adımları izleyin:

    1. Komut istemi penceresini açın.
    2. 3ds Max’in kurulu olduğu konuma geçin. Varsayılan yol C:\Program Files\Autodesk\3ds Max <sürüm#> şeklindedir .
    3. Aşağıdakileri girin:

      3dsmaxbatch.exe <script_file> [options]

      Bu sözdiziminde, <script_file>`.php`, bir MAXScript veya Python betiğinin adıdır ve zorunlu bir parametredir. 3ds Max Batch, betik türünü otomatik olarak algılar. Tüm MAXScript uzantılarını ve .py, .pyc ve .pyw Python dosyalarını çalıştırabilir.

3ds Max Batch, belirtilen 3ds Max sahne dosyasını (eğer sağlanmışsa – bu isteğe bağlı bir parametredir) yükleyerek başlar. Ardından aşağıdaki işlemleri gerçekleştirir. komut dosyasıve varsa ek girdiler de sağlanır. Ardından programdan çıkar.

3ds Max Toplu İşlem Seçenekleri #

3dsmaxbatch.exe’ye aşağıdaki seçeneklerden birini veya birkaçını iletebilirsiniz .

-yardım
Tüm seçenekleri göster.
-v argümanı

Sistem günlük kaydı ayrıntı düzeyi. Geçerli argümanlar şunlardır:

  • 0 – ölümcül hatalar
  • 1 – hatalar
  • 2 – uyarılar
  • 3 – Bilgi mesajlarını işleme
  • 4 – tüm bilgilendirme mesajları
  • 5 – hata ayıklama seviyesi mesajları.

Varsayılan değer 2’dir.

Not: Bu parametre yalnızca 3ds Max Batch tarafından oluşturulan mesajları etkiler, 3ds Max’in kendisini etkilemez. Örneğin, 5 ayarı 3ds Max tarafından oluşturulan tüm mesajları göstermez. Aşağıdaki bölüme bakın.
-dateFormat argümanı

Konsol günlüğü için tarih biçimi dizesi. Örneğin, “yyyy-MM-dd” veya “ddd, MM/dd/yyyy”

Tarih ve saat dize biçimlerinin açıklaması için https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings adresine bakın .

-timeFormat argümanı

Konsol günlüğü için zaman biçimi dizesi. Örneğin, “hh:mm:ss” veya “ss:mm”.

Tarih ve saat dize biçimlerinin açıklaması için https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings adresine bakın .

-i argümanı

3ds Max yapılandırma dosyası (.ini). Varsayılan olarak kullanıcı başına varsayılan yapılandırma dosyası ( 3dsmax.ini ) kullanılır.

-p argümanı

3ds Max eklenti yapılandırma dosyası (.ini). Varsayılan olarak kullanıcı başına varsayılan eklenti yapılandırma dosyası ( Plugin.UserSettings.ini ) kullanılır.

Daha fazla bilgi için 3ds Max Geliştirici Kılavuzu’ndaki “Plugin.ini” konusuna bakın.

-dinleyici günlüğü argümanı

3ds Max dinleyici günlük dosyası, dinleyiciden gelen çıktıyı yakalamak için kullanılır. Varsayılan olarak hiçbir dinleyici günlüğü oluşturulmaz.

Daha fazla bilgi için MAXScript Kılavuzundaki “Dinleyici Günlüğünü Etkinleştirme” konusuna bakın .

-öfkeli günlük

3ds Max sistem günlük dosyası. Komut dosyası hataları ve istisnalar bu dosyaya kaydedilir. Varsayılan olarak kullanıcı başına sistem günlük dosyası ( Max.log ) kullanılır.

-dm argümanı

Diyalog İzleyici durumu. Açık olduğunda, diyalog izleyici eklentilerden gelen diyalogları izler ve kapatır. Geçerli seçenekler şunlardır: ‘açık|kapalı’, ‘evet|hayır’, ‘1|0’ ve ‘doğru|yanlış’.

Varsayılan olarak kapalıdır.

Diyalog İzleyici hakkında daha fazla bilgi için, MAXScript Kılavuzundaki “Arayüz: DialogMonitorOPS” konusuna bakın.

-mxsString argümanı

MAXScript Dize Parametresi seçeneği, burada arg = <anahtar>:<değer>.

<değer>MAXScript dizesi olarak erişilebilir. <script_file>aracılığıyla maxOpsiyon.mxsKomutSatırıArgümanlarısözlük kullanarak <anahtar>sözlük anahtarı olarak.

Dize, MAXScript dizesi olmalıdır; yani tırnak işaretleri içine alınmalı ve dize içindeki tırnak işaretleri veya diğer özel karakterler kaçış karakteriyle belirtilmelidir. Dize, birebir dize olduğunu belirtmek için ‘@’ önekiyle başlayabilir. Daha fazla bilgi için MAXScript Kılavuzundaki “Dize Sabitleri” konusuna bakın.

Birden fazla kez belirtilebilir.

-mxsValue argümanı

MAXScript Değer Parametresi seçeneği, burada arg = <anahtar>:<değer>.

<değer>MAXScript değeri olarak erişilebilir olacaktır. <script_file>aracılığıyla maxOpsiyon.mxsKomutSatırıArgümanlarısözlük kullanarak <anahtar>sözlük anahtarı olarak.

<değer>Parametre tırnak işaretleri içine alınmalıdır.

Birden fazla kez belirtilebilir.

-sahneDosyası argümanı

Yüklenmesi gereken giriş 3ds Max sahne dosyası <script_file>yürütülür.

-güvenli sahne <AÇIK|KAPALI>
Bu 3ds Max oturumu için Güvenli Sahne Komut Dosyası Yürütme özelliğinin etkinleştirilip etkinleştirilmeyeceğini belirtir . Bu ayar, Güvenlik Tercihleri ​​sekmesindeki ayarı geçersiz kılar .

Argüman olarak geçirilen yollar, tam olarak nitelendirilmedikleri sürece geçerli dizine göre belirlenir.

3ds Max Toplu İşlem Komut Dosyasına bilgi iletilmesi #

Çalıştırılan MAXScript dosyasına bilgi iletmek için iki komut satırı seçeneği mevcuttur. -mxsStringVe -mxsDeğeriBunlar sırasıyla dizeleri ve değerleri iletir. Değerlere MAXScript içinde erişilebilir. maxOpsiyon.mxsKomutSatırıArgümanlarıSözlük, anahtar/değer veri çiftleri olarak kullanılır.

Örneğin, aşağıdaki komut satırı çağrısını ele alalım:

<3dsmaxpath>3dsmaxbatch demo_mxscmdline.ms -mxsString string1:"Hello" -mxsValue value1:"[3,12,22]" -mxsValue value2:"Point3 3 8 2.3" -listenerLog "test.log"

Ve demo_mxscmdline.ms betiği:

seçenekler = maxOps.mxsCmdLineArgs

for k in opts.keys do (
	format "% == % class: %\n" k opts[k] (classOf opts[k])
)

Dinleyici günlüğü olan test.log dosyası şu çıktıyı içerecektir:

#string1 == Hello sınıfı: String
#value2 == [3,8,2.3] sınıf: Point3
#value1 == [3,12,22] sınıf: Point3

Python betikleri de bu değerlere şu yollarla erişebilir: pymxs.çalışma zamanınesne.

Aynı betiğin Python dilinde yazılmış hali şöyle görünürdü:

# pymxs kullanarak demo
from pymxs import runtime as rt

seçenekler = rt.maxops.mxsCmdLineArgs

for k in opts.keys:
    print "{} == {} class: {}\n".format(k, opts[k], rt.classof(opts[k]))

# Ayrıca, `runtime.name` kullanarak da sözlük değerlerine erişebilirsiniz, örneğin:
# değer1 = seçenekler[rt.name('değer1')]
# veya MAXScript kodunu çalıştırmak için runtime.execute kullanmak
# value1=rt.execute("GetDictValue maxops.mxsCmdLineArgs #value1")

3ds Max Toplu İşleminiz Hakkında Bilgi Edinme #

Toplu işlem komut dosyalarındaki hataları bulmak ve düzeltmek için öncelikle komut dosyasını 3ds Max’te çalıştırabilirsiniz . Komut dosyası doğru şekilde çalıştıktan sonra, 3ds Max Batch’te çalıştırabilirsiniz . Komut dosyaları çalıştırılırken yararlı bilgiler sağlayan iki ana günlük dosyası vardır:

  • MAXScript Dinleyici Günlüğü, komutlarınızı ve yazdırılan tüm çıktıları bir metin dosyasına kaydeder. Varsayılan olarak, 3dsmaxbatch bir dinleyici günlüğü oluşturmaz, ancak bunu belirterek bir tane oluşturulmasını sağlayabilirsiniz. -dinleyici günlüğüseçenek.
  • 3ds Max Oturum Günlüğü, varsayılan olarak oturumunuzu %LOCALAPPDATA%3dsMax\<sürüm#>-64bit\<dil>\network\Max.log dosyasına kaydeder . Dosya yolunu aşağıdaki komutla değiştirebilirsiniz. -kayıtKomut satırı seçeneği. MAXScript ve Python betik hataları bu dosyaya kaydedilir.
Not: Bilgi edinme ve hata ayıklama amacıyla komut dosyası yürütme çıktısından yararlanmak için Dinleyici Günlüğünü her zaman açık tutmanızı öneririz.

MAXScript aracılığıyla da günlük dosyasına mesajlar ekleyebilirsiniz. Bunun için şunu kullanın: logsystem.logEntry <string> broadcast:trueMAXScript’te komut dosyasının ilerleme durumunu kaydetmek için kullanılan fonksiyon. yayınla:doğruBu parametre, 3ds Max’in bu günlük mesajını 3ds Max Batch’e yayınlaması gerektiğini belirtir.

3ds Max Batch komutuna argüman olarak bir 3ds Max sahne dosyası yükleyebilirsiniz (-sahneDosyası) veya senaryonuzda şu şekilde Maksimum Dosyayı Yükle()Seçeceğiniz yöntem, eksik eklentilere ve harici referanslara nasıl tepki vermek istediğinize bağlıdır. Maksimum Dosyayı Yükle()Bu yöntem, eksik eklentiler, xref’ler vb. ile başa çıkmak için argümanlar sağlar, böylece komut dosyanız buna göre tepki verebilir ( MAXScript Kılavuzundaki “Sessiz Mod” konusuna bakın ). Bir dosyayı şu şekilde yüklemek: -sahneDosyasıEksik eklenti ve xref bilgilerini konsola yazdıracak, böylece 3ds Max Batch’i çağıran otomasyon komut dosyası bu bilgilerle başa çıkabilecektir.

Komut dosyanız bunu kullanabilir. maxops.isInNonInteractiveMode()MAXScript yöntemi, bir 3ds Max oturumunda mı yoksa 3ds Max Batch’te mi çalıştığını belirlemek için kullanılır. Daha fazla bilgi için MAXScript Kılavuzundaki “Arayüz: maxops” konusuna bakın.

Çıkış Kodları

3ds Max Batch, 3ds Max bir hata kaydettiğinde sıfırdan farklı bir çıkış kodu bildirecektir.

Ayrıca, 3ds Max Batch işlemi başarılı olmazsa 3ds Max’in çıkış kodunu (0) da bildirecektir.

Otomasyon aracınız, işlemin başarılı olup olmadığını ve başarısız olduysa sorunun nedenini belirlemek için 3ds Max Batch ve 3ds Max’ten gelen çıkış kodlarını kontrol edebilir. Başarılı olması durumunda, 3ds Max Batch 0 çıkış koduyla sonlanır. 3ds Max Batch, kendisine iletilen parametrelerde veya 3ds Max ile iletişimde bir hata olması durumunda bu çıkış kodlarını bildirecektir:

Çıkış Kodu Anlam
0 Başarı
-100 Eksik argümanlar veya belirtilen argümanlar geçersiz.
-110 3ds Max işlemi başlatılamıyor; bunun nedeni konsolda belirtilmiştir.
-120 3ds Max işlemiyle iletişim kurulamıyor veya sürdürülemiyor.
-130 3ds Max komutları yürütürken bir hata bildirdi.
Ek çökme kodları:
-1 Genel hata, ele alınan istisna
-2 İşlenmemiş istisna
-3 WM_CLOSE işlemi sırasında süreç çöktü.
-4 WM_DESTROY işlemi sırasında süreç çöktü.
-5 WinMain() fonksiyonunun sonundan önce işlem çöktü.
-6 Hafıza yetersiz
-7 Geçerli bir grafik aygıtı oluşturulamadı.
-8 Lisans hatası
-9 Başvuru oluşturulamadı.

MAXScript ayrıca, kullanıcı tanımlı bir çıkış koduyla 3ds Max’ten çıkmanıza da olanak tanır. Bunu yapmak için şu komutu çağırın: quitMaxile exicodeargüman. Örneğin, bu MAXScript:

quitMAX quiet:true exitCode:-314159

Bu, çıkış kodunu yazdıracaktır. -314159konsola:

06/12/2018 15:46:05; Belirtilen seçenek komut dosyası: testscript.ms
06/12/2018 15:46:05; Varsayılan seçenek dm: 0
06/12/2018 15:46:05; Varsayılan seçenek li: 0
06/12/2018 15:46:05; 3ds Max Kurulum Konumu: C:\Program Files\Autodesk\3ds Max 2019\
06/12/2018 15:46:05; 3ds Max Çalıştırılabilir Dosyası: 3dsmax.exe
06/12/2018 15:46:05; Güvenli Mod: 'KAPALI'
06/12/2018 15:46:05; Diyalog Monitörü: Kapalı
06/12/2018 15:46:05 PM; Komut dosyası komutu: " -mxs "(filein @\"C:\Program Files\Autodesk\3ds Max 2019\testscript.ms\")""
06/12/2018 15:46:06; Ürün sürümü: 3ds Max 2019.2 Güncellemesi (21.2.0.2095)
06/12/2018 15:46:06; Veri toplama ve kullanımı 'KAPALI'.
06/12/2018 15:46:30; 3ds Max Çıkış Kodu = -314159
Not: Çıkış kodunun konsola yazdırılması için ayrıntı düzeyi “hata ayıklama” (5) olarak ayarlanmalıdır. Örneğin:

C:\Program Files\Autodesk\3ds Max 2019>3dsmaxbatch.exe testscript.ms -v 5

Tarafından desteklenmektedir BetterDocs

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir