In writing this I made the assumption that you are using Window, and have Excel on your computer.

I am familiar with Access and Open Office and as far as I know theses step will work for them too.

 

Steps to get rid of those pesky extra <CHILDID> tags

 

1:    make a copy of your XSF file giving it another name like "IDOODIT.XSF"

 

2:    Copy and paste from the max nodes example the camera and skeleton bones into the first set of lines

 

 

BONE NAME="skeleton. Room" NUMCHILDS="158" ID="0">

        <TRANSLATION>1133.65 1070.01 -458.848</TRANSLATION>

        <ROTATION>0 0 0 1</ROTATION>

        <LOCALTRANSLATION>-1133.65 -1070.01 458.848</LOCALTRANSLATION>

        <LOCALROTATION>0 0 0 1</LOCALROTATION>

        <PARENTID>-1</PARENTID>

   </BONE>

    <BONE NAME="camera.01.01.root" NUMCHILDS="0" ID="1">

        <TRANSLATION>-53.1389 -2221.7 1299.64</TRANSLATION>

        <ROTATION>-0.705222 -3.56743e-008 -2.78574e-008 0.708986</ROTATION>

        <LOCALTRANSLATION>-1080.51 -834.654 -1156.15</LOCALTRANSLATION>

        <LOCALROTATION>0.705222 3.56743e-008 2.78574e-008 0.708986</LOCALROTATION>

        <PARENTID>0</PARENTID>

    </BONE>

    <BONE NAME="camera.01.01.root.Target" NUMCHILDS="0" ID="2">

        <TRANSLATION>-53.1392 819.666 1283.45</TRANSLATION>

        <ROTATION>0 0 0 1</ROTATION>

        <LOCALTRANSLATION>-1080.51 -1889.67 -824.607</LOCALTRANSLATION>

        <LOCALROTATION>0 0 0 1</LOCALROTATION>

        <PARENTID>0</PARENTID>

    </BONE>

 

3:    on the first line that has <TRANSLATION> in it copy the "tab" to "<" Characters and click replace paste into the Find box those characters in the replace box type in "<" press replace all

 

Now you have your lines of code against the left edge and it should looks something like this.

 

<SKELETON NUMBONES="225" SCENEAMBIENTCOLOR="0.521569 0.521569 0.521569">

<BONE NAME="skeleton.Room" NUMCHILDS="224" ID="0">

<TRANSLATION>0 0 0</TRANSLATION>

<ROTATION>0 0 0 1</ROTATION>

<LOCALTRANSLATION0 0 0</LOCALTRANSLATION>

<LOCALROTATION>0 0 0 1</LOCALROTATION>

<PARENTID>-1</PARENTID>

</BONE>

<BONE NAME="camera.01.01.root" NUMCHILDS="0" ID="1">

<TRANSLATION>-53.1389 -2221.7 1299.64</TRANSLATION>

<ROTATION>-0.705222 -3.56743e-008 -2.78574e-008 0.708986</ROTATION>

<LOCALTRANSLATION>-1080.51 -834.654 -1156.15</LOCALTRANSLATION>

<LOCALROTATION>0.705222 3.56743e-008 2.78574e-008 0.708986</LOCALROTATION>

<PARENTID>0</PARENTID>

</BONE>

<BONE NAME="camera.01.01.root.Target" NUMCHILDS="0" ID="2">

<TRANSLATION>-53.1392 819.666 1283.45</TRANSLATION>

<ROTATION>0 0 0 1</ROTATION>

<LOCALTRANSLATION>-1080.51 -1889.67 -824.607</LOCALTRANSLATION>

<LOCALROTATION>0 0 0 1</LOCALROTATION>

<PARENTID>0</PARENTID>

</BONE>

<BONE NAME="Pitcher01.Standing" NUMCHILDS="0" ID="3">

<TRANSLATION>1818.219368 -286.585500 -7.849779</TRANSLATION>

<ROTATION>0.000000 0.000000 0.000000 1.000000</ROTATION>

<LOCALTRANSLATION>-1818.219368 286.585500 7.849779</LOCALTRANSLATION>

<LOCALROTATION>0.000000 0.000000 0.000000 1.000000</LOCALROTATION>

<PARENTID>0</PARENTID>

</BONE>

 

4:    Now click edit and replace again

      Find "Root" NUMCHILDS="

      Replace with "furniture.Floor0

      Replace all

BEFORE

<BONE NAME="Root" NUMCHILDS="1" ID="1">

      <TRANSLATION>-1670.894788 -7633.275578 2742.755503</TRANSLATION>

      <ROTATION>0.000000 0.000000 0.000000 1.000000</ROTATION>

      <LOCALTRANSLATION>1670.894788 7633.275578 -2742.755503</LOCALTRANSLATION>

      <LOCALROTATION>0.000000 0.000000 0.000000 1.000000</LOCALROTATION>

      <PARENTID>238</PARENTID>

      <CHILDID>0</CHILDID>

</BONE>

AFTER

<BONE NAME="furniture.Floor01" NUMCHILDS="0" ID="143">

<TRANSLATION>-1670.894788 -7633.275578 2742.755503</TRANSLATION>

<ROTATION>0.000000 0.000000 0.000000 1.000000</ROTATION>

<LOCALTRANSLATION>1670.894788 7633.275578 -2742.755503</LOCALTRANSLATION>

<LOCALROTATION>0.000000 0.000000 0.000000 1.000000</LOCALROTATION>

<PARENTID>0</PARENTID>

</BONE>

 

5:    If you made your wall or ceiling nodes unique before you made your KMZ file they should have names that are easy to find. Edit them to furniture.Wall01 and or furniture.Ceiling 01 etc... replace them using the same method found in step 4

 

6:      click edit and replace again

      find " ID=

      replace with " NUMCHILDS="0" ID=

      replace all

 

<BONE NAME="furniture.Floor01" NUMCHILDS="0" ID="143">

<TRANSLATION>-1670.894788 -7633.275578 2742.755503</TRANSLATION>

<ROTATION>0.000000 0.000000 0.000000 1.000000</ROTATION>

<LOCALTRANSLATION>1670.894788 7633.275578 -2742.755503</LOCALTRANSLATION>

<LOCALROTATION>0.000000 0.000000 0.000000 1.000000</LOCALROTATION>

<PARENTID>0</PARENTID>

</BONE>

 

 

7:      click edit and replace again

      find <PARENTID> XXX

      replace with <PARENTID>0

      replace all

 

8:    NOW SAVE IT!! and close the file

 

NOW COMES THE TRICKY PART.

 

9:    open EXCEL

 

10:   Click Data, Get external data, and import text file and select the file and import directly to your spreadsheet

 

11:   expand the b column

 

12:   copy this into b1

      =IF(LEFT(A1,9)="<CHILDID>","xxxxx",A1) and press enter

 

13:   now copy b1 and paste from b1 to all but the last set of bones in found in column a.

IT may be in the thousands but it should be the last set before the </skeleton> line

 

you should have something that looks like this in the first few furniture.Floor lines

 

</BONE>

<BONE NAME="furniture.Floor01" NUMCHILDS="0" ID="1">

<TRANSLATION>-1670.894788 -7633.275578 2742.755503</TRANSLATION>

<ROTATION>0.000000 0.000000 0.000000 1.000000</ROTATION>

<LOCALTRANSLATION>1670.894788 7633.275578 -2742.755503</LOCALTRANSLATION>

<LOCALROTATION>0.000000 0.000000 0.000000 1.000000</LOCALROTATION>

<PARENTID>227</PARENTID>

xxxxx  <<<<<<<< SEE the XXXXX? <<<<<

</BONE>

<BONE NAME="furniture.Floor02" NUMCHILDS="0" ID="2">

<TRANSLATION>-380.300732 -7597.570393 2742.755503</TRANSLATION>

<ROTATION>0.000000 0.000000 0.000000 1.000000</ROTATION>

<LOCALTRANSLATION>380.300732 7597.570393 -2742.755503</LOCALTRANSLATION>

<LOCALROTATION>0.000000 0.000000 0.000000 1.000000</LOCALROTATION>

<PARENTID>227</PARENTID>

xxxxx    <<<<<<<< SEE the XXXXX? <<<<<

xxxxx    <<<<<<<< SEE the XXXXX? <<<<<

</BONE>

 

14:   Click Data, Filter and Auto filter

 

Now click the b columns filter arrow and select <custom>

and then select does not contain... and type in XXXXX

you now have gotten rid of 99% of the excess childid lines

 

15:   select the B column and copy pasting into A NEW Notepad file

it should now look something like this

 

<BONE NAME="furniture.Floor01" NUMCHILDS="0" ID="1">

<TRANSLATION>-1670.894788 -7633.275578 2742.755503</TRANSLATION>

<ROTATION>0.000000 0.000000 0.000000 1.000000</ROTATION>

<LOCALTRANSLATION>1670.894788 7633.275578 -2742.755503</LOCALTRANSLATION>

<LOCALROTATION>0.000000 0.000000 0.000000 1.000000</LOCALROTATION>

<PARENTID>0</PARENTID>

</BONE>

<BONE NAME="furniture.Floor02" NUMCHILDS="0" ID="2">

<TRANSLATION>-380.300732 -7597.570393 2742.755503</TRANSLATION>

<ROTATION>0.000000 0.000000 0.000000 1.000000</ROTATION>

<LOCALTRANSLATION>380.300732 7597.570393 -2742.755503</LOCALTRANSLATION>

<LOCALROTATION>0.000000 0.000000 0.000000 1.000000</LOCALROTATION>

<PARENTID>0</PARENTID>

</BONE>

 

From here on its all Manual editing until I can figure out the coding for automatically replacing your seating node names..

Sorry.. I am not a genius with Visual basic or c++.. I am an old BASIC programmer.. and the program I am writing requires "Old" Q-Basic to run .. But it does automatically change the seating nodes numbers and the ID numbers so they are sequential.

 

Here’s the output from the program at this time