ASPOSE3Dのライセンスを購入しようとしております。
そのため、事前の検証としてRVMファイルを変換するためコード(C#)を作成し、実行しました。
try
{
Scene scene = new Scene();
var opt = new RvmLoadOptions(FileContentType.ASCII);
scene.Open(base.Input, opt);GLTFSaveOptions option = new GLTFSaveOptions(FileFormat.GLTF2); scene.Save(output, option);
}
catch (Exception e)
{}
一部のファイルは成功したのですが、一部のファイルは失敗してしまいました。
実行時のエラーログは以下です。
Aspose.ThreeD.ImportException: Cannot open this file
場所 #=zhlD1YJA1Tao1_RGQr7s0$Zk=.#=z52XOx4k=(#=zvvpA_TymM0w8VrrQ71rQp$Oay79i #=zrpJQuDo=, CancellationToken #=zAlb6p_Q=)
— 直前に例外がスローされた場所からのスタック トレースの終わり —
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zEoXK9mLBaX8kPsjcr7syYKE=(Exception #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z6MSrp9$lg7CsvNKQK1LVSt2hu7uGtYYPnQ==(Object #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zwX_ZsG6w5F0crRP8RJeOqR5TUa7q(MethodBase #=zsPinTU4=, Boolean #=zkhiDAdc=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z7fOIiqgOSGzMaROWcg==(#=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4= #=zsPinTU4=, #=qKHyF1EaSIQ9toKogYNBW$7OM9FEkjnpqhJkQPE76Gv0= #=zkhiDAdc=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zNVSEffNSIA6$7azbRIzFBQzy6ZrrvewzOg==()
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z8huNweBljkP7oRtjT08Ftno=(Boolean #=zsPinTU4=)
— 直前に例外がスローされた場所からのスタック トレースの終わり —
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zEoXK9mLBaX8kPsjcr7syYKE=(Exception #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z6MSrp9$lg7CsvNKQK1LVSt2hu7uGtYYPnQ==(Object #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zaVtLXTE$bRPF1rBPrDlli5BEUK8buajXdqo9FLBndngq()
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zuAlbObS1u14KWFqdFfON9l8=(Object #=zsPinTU4=, UInt32 #=zkhiDAdc=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z8huNweBljkP7oRtjT08Ftno=(Boolean #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zmw8H6fy4e1YX7j71zsSuyn8UafMN8uv5hPKsZ8k=()
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zBkMHHUropvX_9uEnOPN6bIE_ty9Z1$giOQ==(Object[] #=zsPinTU4=, Type[] #=zkhiDAdc=, Type[] #=zzIKRcaw=, Object[] #=zoLaO_uo=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z4irKW6CUsN8j$VVTcHu_5$8=(Stream #=zsPinTU4=, Int32 #=zkhiDAdc=, Object[] #=zzIKRcaw=, Type[] #=zoLaO_uo=, Type[] #=z3ZXgovc=, Object[] #=zox1872w=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zYhecCCd9A6PLF71Ak2dzu_KZ7bfkigqqSVkrtlo=(Int32 #=zsPinTU4=, Type[] #=zkhiDAdc=, Type[] #=zzIKRcaw=, Boolean #=zoLaO_uo=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zy4yOnchuMoMt$GV7R8$ZG3O9Vye_Wo4dmQ==(#=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4= #=zsPinTU4=, #=qKHyF1EaSIQ9toKogYNBW$7OM9FEkjnpqhJkQPE76Gv0= #=zkhiDAdc=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zNVSEffNSIA6$7azbRIzFBQzy6ZrrvewzOg==()
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z8huNweBljkP7oRtjT08Ftno=(Boolean #=zsPinTU4=)
— 直前に例外がスローされた場所からのスタック トレースの終わり —
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zEoXK9mLBaX8kPsjcr7syYKE=(Exception #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z6MSrp9$lg7CsvNKQK1LVSt2hu7uGtYYPnQ==(Object #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zaVtLXTE$bRPF1rBPrDlli5BEUK8buajXdqo9FLBndngq()
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zHfC35lSJJl05eliM1twcNzETEfku(#=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4= #=zsPinTU4=, #=qKHyF1EaSIQ9toKogYNBW$7OM9FEkjnpqhJkQPE76Gv0= #=zkhiDAdc=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zNVSEffNSIA6$7azbRIzFBQzy6ZrrvewzOg==()
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z8huNweBljkP7oRtjT08Ftno=(Boolean #=zsPinTU4=)
— 直前に例外がスローされた場所からのスタック トレースの終わり —
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zEoXK9mLBaX8kPsjcr7syYKE=(Exception #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z6MSrp9$lg7CsvNKQK1LVSt2hu7uGtYYPnQ==(Object #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zaVtLXTE$bRPF1rBPrDlli5BEUK8buajXdqo9FLBndngq()
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zuAlbObS1u14KWFqdFfON9l8=(Object #=zsPinTU4=, UInt32 #=zkhiDAdc=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z8huNweBljkP7oRtjT08Ftno=(Boolean #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z8huNweBljkP7oRtjT08Ftno=(Boolean #=zsPinTU4=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zmw8H6fy4e1YX7j71zsSuyn8UafMN8uv5hPKsZ8k=()
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zBkMHHUropvX_9uEnOPN6bIE_ty9Z1$giOQ==(Object[] #=zsPinTU4=, Type[] #=zkhiDAdc=, Type[] #=zzIKRcaw=, Object[] #=zoLaO_uo=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zPTN$FKUEGvhXvw0b9w==(Stream #=zsPinTU4=, String #=zkhiDAdc=, Object[] #=zzIKRcaw=, Type[] #=zoLaO_uo=, Type[] #=z3ZXgovc=, Object[] #=zox1872w=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=zHb04d99TlXoIccsSuPNCtd$KNAA6(Stream #=zsPinTU4=, String #=zkhiDAdc=, Object[] #=zzIKRcaw=)
場所 #=q2A3pt0FFfnS9UFT1KpRHIVOgIUIs2mZ31oAxPrXJyn4=.#=z5lGzHIVXv9b9cyGZ3nW$eycKCkkk(Stream #=zsPinTU4=, String #=zkhiDAdc=, Object[] #=zzIKRcaw=)
場所 Aspose.ThreeD.Scene.Open(String fileName, LoadOptions options, CancellationToken cancellationToken)
RVMファイルを解析、編集したところ、失敗するRVMファイルから以下の情報を削除すると変換が成功いたしました。
PRIM
1 1
7
-0.0010000 0.0000000 0.0000000 50.7744000
0.0000000 -0.0010000 0.0000000 41.4081000
0.0000000 0.0000000 0.0010000 12.2217000
0.00 0.00 0.00
0.00 0.00 0.00
0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
0.0000000 0.0000000 0.0000000 0.0000000
上記の情報の有無によって成功と失敗が分かれる原因を教えていただきたいです。
宜しくお願いいたします。