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