Hey Mattia,
add tags or attributes to a xml file that is used by other programms (and where I have no xsd file for), I created a second xml file: l2l.xml. There I started to define decoration mappings for example.
In the current ldraw.xml from Mike Gallagher there are tags () and attributes () where I do not know if the LDD is using them (?).
In the meantime I wrote a small tool, that created a ldraw.xml insted of the ToDo list. Input is a existing ldraw.xml and output is a new ldraw.xml. The attached file was created by the following pseudo code:
At the end of the file I added the 'from my point of view' obsolet entries from the input ldraw.xml. Btw, the tool does not look for LDD aliases. Currently I do not know how the LDD saves them in the .lxf-files.
When there will be a new LDD brickset one day or if there are new LDraw parts available, it will be very easy to generate a new ldraw.xml with updated ToDo's.
The question is: which file should I use as input file? In Mike Gallagher's file there seems to be special areas: 'below working 4.40', 'Problematic part numbers', 'Needs work or LDR dat file created', ... If I use it, the result will contain entries that are wrong. And they will be even harder to detect, because my tool sorts the entries by designId.
So there is still a lot of work to do.
Rolf
Mattia Zamboni Wrote:Does your converted uses the exact same ldraw.xml file for the translation?yes, the converter uses the ldraw.xml.
Mattia Zamboni Wrote:And let me ask you, this implies that multi bones part will be able to be converted as well?In theory yes. But I never had a look on that. In the past I started to create an extended ldraw.xml. But since I did not want to
add tags or attributes to a xml file that is used by other programms (and where I have no xsd file for), I created a second xml file: l2l.xml. There I started to define decoration mappings for example.
Code:
<!-- Tile 2 x 2 Round -->
<!-- Tile 2 x 2 Round with SW Millennium Falcon Vent Pattern -->
<Decoration ldraw="4150ps4.dat" lego="4150" decorationID="55729" />
Code:
<Assembly>
Code:
itemNos
In the meantime I wrote a small tool, that created a ldraw.xml insted of the ToDo list. Input is a existing ldraw.xml and output is a new ldraw.xml. The attached file was created by the following pseudo code:
Code:
foreach color available in LDD
{
print localized name as comment
if mapping definition in ldraw.xml available
{
if entry in LDConfig.ldr
{
print ldraw name as comment
}
else
{
print "ToDo: Undefined LDraw color" as comment
}
print <Material> tag
}
else
{
print "ToDo: Missing color mapping" as comment
}
}
foreach designId in LDDParts
{
print designName as comment
if file designId+".dat" available
{
print LDraw name as comment
}
else
{
print "ToDo: LDraw file (designId+".dat") does not exist!" as comment
}
if <Transformation> tag for designId+".dat" in ldraw.xml available
{
print <Transformation> tag
}
if <Brick> tag for designId available
{
if <Transformation> tag for <Brick>.ldraw in ldraw.xml available
{
print <Brick> tag
if file <Brick>.ldraw available
{
print LDraw name as comment
}
else
{
print "ToDo: LDraw file (<Brick>.ldraw) does not exist!" as comment
}
print <Transformation> tag
}
}
if no <Transformation> tag for designId+".dat" in ldraw.xml
and no <Transformation> tag for <Brick>.ldraw in ldraw.xml
{
print "ToDo: Missing Transformation"
}
}
At the end of the file I added the 'from my point of view' obsolet entries from the input ldraw.xml. Btw, the tool does not look for LDD aliases. Currently I do not know how the LDD saves them in the .lxf-files.
When there will be a new LDD brickset one day or if there are new LDraw parts available, it will be very easy to generate a new ldraw.xml with updated ToDo's.
The question is: which file should I use as input file? In Mike Gallagher's file there seems to be special areas: 'below working 4.40', 'Problematic part numbers', 'Needs work or LDR dat file created', ... If I use it, the result will contain entries that are wrong. And they will be even harder to detect, because my tool sorts the entries by designId.
So there is still a lot of work to do.
Rolf