• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

*SOLVED*0 Size MDL file

Messages
19
Country
germany
Hello,
i really need your help and i don´t know what to do moore.
I have th x file and i want to Compiler it but every times it comes a 0 zise MDL file out. I have my System on US english and i tried couple of thinks like only compiler a Cube. Sometimes when i compile it directly in 3ds max it says no GUIDtoName but Guid and Name is set to and when i compile it with bat then it says a coupple of other files error.
 
What are the errors the compiler is chucking out? To make it easier, output the log to a textfile by putting this after the the commands in the bat file:
> D:\yourfilepath\buildlog.txt
 
Sounds like you hit the 64K limit on a Material. The crash log or build log will tell you what material it is.

Check your materials for massive amounts of parts on a single Material. Clone the Material, take half of the parts, assign them to the cloned secondary Material, make subtle changes to the new cloned Material, then re-export and see if that helps. (If you do not make changes to a identical Material, the compiler will use and combine the both Materials as one, so you need to make changes in clone to keep the Materials from being combined).

I think the limit is 64K 'Vertices' instead of Polygons. Basically if you have a quadzillion (massive) amount of parts on a Material, then this is more then likely what has happened.

With planes that have moderate amounts of polygons on the airframe surface, you will probably have to make separate Materials for the wings, etc.

Making the changes for the Materials is difficult. I thought I knew how that was done, but the tricks didnt work on the last plane I made. I had to experiment with changes on a Material clone to finally get it to export properly, from 0 Bytes to 14K megs.


Bill
 
ok, i tried it. But it dont work. I allsow tried only with 1 Material or without nothing works! This is the Error
Code:
CRASHTREE no granularity specified
CRASHTREE completed in 00:00:00.0850565
(0): error : XToMdl.exe Unhandled Application Exception
(0): error : System.FormatException: Expected hex 0x in '{0}'.

(0): error :    at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)

(0): error :    at System.Guid.TryParseGuidWithHexPrefix(String guidString, GuidResult& result)

(0): error :    at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)

(0): error :    at System.Guid..ctor(String g)

(0): error :    at Microsoft.FlightSimulator.XmlToMdlLib.MDLProcessor.ProcessXmlStartElement()

(0): error :    at Microsoft.FlightSimulator.XmlToMdlLib.MDLProcessor.LoadFile(Stream InputStream, XPartDict PartDictionary)

(0): error :    at Microsoft.FlightSimulator.XmlToMdlLib.XmlToMdlLib.Process(Guid& ModelGuid, Stream AnimationData)

(0): error :    at Microsoft.FlightSimulator.XToMDL.XToMDL.ProcessInputs()

(0): error :    at Microsoft.FlightSimulator.XToMDL.XToMDL.RealMain(String[] args)

(0): error :    at Microsoft.FlightSimulator.XToMDL.XToMDL.Main(String[] args)
(0): error :
(0): error : Expected hex 0x in '{0}'.
(0): error :
(0): error : Stack Trace:
(0): error :    at System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException)

(0): error :    at System.Guid.TryParseGuidWithHexPrefix(String guidString, GuidResult& result)

(0): error :    at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)

(0): error :    at System.Guid..ctor(String g)

(0): error :    at Microsoft.FlightSimulator.XmlToMdlLib.MDLProcessor.ProcessXmlStartElement()

(0): error :    at Microsoft.FlightSimulator.XmlToMdlLib.MDLProcessor.LoadFile(Stream InputStream, XPartDict PartDictionary)

(0): error :    at Microsoft.FlightSimulator.XmlToMdlLib.XmlToMdlLib.Process(Guid& ModelGuid, Stream AnimationData)

(0): error :    at Microsoft.FlightSimulator.XToMDL.XToMDL.ProcessInputs()

(0): error :    at Microsoft.FlightSimulator.XToMDL.XToMDL.RealMain(String[] args)

(0): error :    at Microsoft.FlightSimulator.XToMDL.XToMDL.Main(String[] args)
 
1. What version of 3ds Max are you using?
2. What SDK are you using.
3. What is the command line structure you are using for XtoMDL.exe?
4. Did you use ACES tools to set both the GUID and the friendly name?
 
I am using 3ds MAx 2015, the P3D V.2 SDK,
Code:
%windir%\system32\cmd.exe /K C:"\Prepar3D v2 SDK 2.5.12946.0\Modeling SDK\3DSM2015_x64\Plugins\XtoMDL.exe" /XANIM /DICT:C:"\Prepar3D v2 SDK 2.5.12946.0\Modeling SDK\bin\modeldef.XML" > buildlog.txt
Yes i set the GUI and the friendly Name.
 
Yeah, that is one heck of a lot of code to punch in.

I use a BAT file.

BEGIN PASTE//////////////////////////////////////////////



rem Move this file to Local Disk\Lockheed Martin\Prepar3D v2 SDK 2.0.8547.0\Modeling SDK\3DSM2014_x64\Plugins\
rem Move LJ.x and LJ.xanim to same location.
rem Execute this file.

XtoMdl /XANIM /DICT:..\..\bin\modeldef.xml LJ.x > LJ.log

XtoMdl /XANIM /DICT:..\..\bin\modeldef.xml LJ_Interior.x > LJ_Interior.log

pause

END PASTE/////////////////////////////////////////////////

You have to change the locations to match your (your) computer folder system and names, and also in my case, the files are named LJ and LJ_Interior. Change that to yours as well. This is if you do not use Pauls version of compile activation.
 
Zero size models are usually due to Windows using the comma as a decimal separator (even if you have language set to US). Search "decimal separator" here to see some reports.

So. Open Control Panel (Systemsteuerung) > System > Regional Settings (Region und Sprache) > Numbers > Decimal Separator (Dezimaltrennzeichen) and check it is "." (period) not "," (comma). Try both to see the difference.

P.S. FWIW, my compilation runs use this .bat file:

Code:
"c:\P3DSDK\Environment Kit\Modeling SDK\3dsm2011\Plugins\XtoMDL.exe" /XANIM /DICT:"c:\P3DSDK\Environment Kit\Modeling SDK\bin\modeldef.xml" %1 > %1_errors.txt

pause

Edit in your personal version paths/locations, call it CreateMdl.bat, save it in P3D SDK ...\Plugins, and create a desktop shortcut for it. Then drop your x-file on the shortcut and check the _errors.txt file.
 
Last edited by a moderator:
I'm not sure but should the quotation marks enclose the C: as well?
In the context in which this command string is being used, no. The quotation marks are precisely where they need to be.

There is absolutely nothing wrong with this "SendTo" command string. The problem likely is the decimal separator issue, or something in the .max file itself.
 
Yeah, that is one heck of a lot of code to punch in.
It is obvious from the "%windir%\system32\cmd.exe" that he is using the SendTo folder method, in which case there is no code to punch in more than once.
 
Just to enlighten me on the decimal separation, are you saying that ESP will write to X using what ever separation the system has setup based on language? I have assumed that ESP would use one standard format.
 
Just to enlighten me on the decimal separation, are you saying that ESP will write to X using what ever separation the system has setup based on language? I have assumed that ESP would use one standard format.

I doubt they've changed it.
 
Back
Top