Blender 4.0 Egg Importer Support

Hello everyone, I’ve recently updated my fork of the blender-egg-importer addon to extend support for importing egg files into Blender 4.0.

My fork should also be able to import egg files into Blender 3.x versions as well.

You can find latest releases for my fork here

blender-egg-importer.zip (248.7 KB)

1 Like

Hi, Thank you very much for this. Very useful. I have a .egg file with some nurbs curves in it. The curves are not showing up when I load them to blender… Any ideas to what I might try to be able to load them properly? Thanks, O.

content of .egg file:

<CoordinateSystem> { Z-up } 
  <Group> MyCurveObject.001NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.001NC {
      <Vertex> 0 {
        73.173325 98.533699 30.347740 1.000000
      }
      <Vertex> 1 {
        75.125473 96.567917 30.347740 1.000000
      }
      <Vertex> 2 {
        77.077637 94.602150 30.347742 1.000000
      }
      <Vertex> 3 {
        79.029793 92.636383 30.347744 1.000000
      }
      <Vertex> 4 {
        80.981941 90.670601 30.347744 1.000000
      }
      <Vertex> 5 {
        82.934097 88.704826 30.347744 1.000000
      }
      <Vertex> 6 {
        84.886253 86.739052 30.347744 1.000000
      }
      <Vertex> 7 {
        86.838409 84.773277 30.347744 1.000000
      }
      <Vertex> 8 {
        88.790565 82.807510 30.347744 1.000000
      }
      <Vertex> 9 {
        90.742714 80.841728 30.347744 1.000000
      }
      <Vertex> 10 {
        92.694878 78.875961 30.347746 1.000000
      }
      <Vertex> 11 {
        94.647026 76.910179 30.347746 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 132 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11
        <Ref> { MyCurveObject.001NC } 
      }
    }
  }
  <Group> MyCurveObject.002NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.002NC {
      <Vertex> 0 {
        139.836288 -28.873735 23.123503 1.000000
      }
      <Vertex> 1 {
        141.771301 -30.749619 23.579975 1.000000
      }
      <Vertex> 2 {
        143.706329 -32.625504 24.036455 1.000000
      }
      <Vertex> 3 {
        145.641342 -34.501385 24.492929 1.000000
      }
      <Vertex> 4 {
        147.576370 -36.377270 24.949404 1.000000
      }
      <Vertex> 5 {
        149.511398 -38.253151 25.405880 1.000000
      }
      <Vertex> 6 {
        151.446396 -40.129028 25.862354 1.000000
      }
      <Vertex> 7 {
        153.381424 -42.004913 26.318830 1.000000
      }
      <Vertex> 8 {
        155.316452 -43.880798 26.775305 1.000000
      }
      <Vertex> 9 {
        157.251465 -45.756676 27.231779 1.000000
      }
      <Vertex> 10 {
        159.186478 -47.632561 27.688257 1.000000
      }
      <Vertex> 11 {
        161.121506 -49.508446 28.144732 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 132 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11
        <Ref> { MyCurveObject.002NC } 
      }
    }
  }
  <Group> MyCurveObject.003NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.003NC {
      <Vertex> 0 {
        221.594696 16.332508 28.144735 1.000000
      }
      <Vertex> 1 {
        219.866302 18.088276 27.688179 1.000000
      }
      <Vertex> 2 {
        218.137939 19.844046 27.231628 1.000000
      }
      <Vertex> 3 {
        216.409561 21.599815 26.775076 1.000000
      }
      <Vertex> 4 {
        214.681168 23.355579 26.318523 1.000000
      }
      <Vertex> 5 {
        212.952774 25.111349 25.861967 1.000000
      }
      <Vertex> 6 {
        211.224396 26.867115 25.405415 1.000000
      }
      <Vertex> 7 {
        209.496002 28.622883 24.948862 1.000000
      }
      <Vertex> 8 {
        207.767624 30.378651 24.492306 1.000000
      }
      <Vertex> 9 {
        206.039230 32.134422 24.035753 1.000000
      }
      <Vertex> 10 {
        204.310867 33.890190 23.579201 1.000000
      }
      <Vertex> 11 {
        202.582474 35.645954 23.122646 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 132 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11
        <Ref> { MyCurveObject.003NC } 
      }
    }
  }
  <Group> MyCurveObject.004NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.004NC {
      <Vertex> 0 {
        154.448608 -73.435768 27.952501 1.000000
      }
      <Vertex> 1 {
        126.131569 -73.435768 29.789827 1.000000
      }
      <Vertex> 2 {
        89.464142 -73.561745 17.990887 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 24 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.50 1.00 1.00 }
      <VertexRef> {
        0 1 2
        <Ref> { MyCurveObject.004NC } 
      }
    }
  }
  <Group> MyCurveObject.005NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.005NC {
      <Vertex> 0 {
        209.894821 1.618007 27.085861 1.000000
      }
      <Vertex> 1 {
        211.244507 -0.013473 27.085861 1.000000
      }
      <Vertex> 2 {
        212.453003 -1.752255 27.085861 1.000000
      }
      <Vertex> 3 {
        213.511719 -3.586059 27.085863 1.000000
      }
      <Vertex> 4 {
        214.413330 -5.502032 27.085863 1.000000
      }
      <Vertex> 5 {
        215.151428 -7.486726 27.085863 1.000000
      }
      <Vertex> 6 {
        215.720886 -9.526223 27.085863 1.000000
      }
      <Vertex> 7 {
        216.117630 -11.606211 27.085865 1.000000
      }
      <Vertex> 8 {
        216.339005 -13.712113 27.085865 1.000000
      }
      <Vertex> 9 {
        216.383347 -15.829156 27.085865 1.000000
      }
      <Vertex> 10 {
        216.403503 -17.958569 27.055241 1.000000
      }
      <Vertex> 11 {
        216.092270 -20.066116 27.055241 1.000000
      }
      <Vertex> 12 {
        215.605804 -22.140219 27.055241 1.000000
      }
      <Vertex> 13 {
        214.947479 -24.166344 27.055243 1.000000
      }
      <Vertex> 14 {
        213.982605 -26.064722 27.085869 1.000000
      }
      <Vertex> 15 {
        213.001587 -27.941256 27.085869 1.000000
      }
      <Vertex> 16 {
        211.866959 -29.729120 27.085869 1.000000
      }
      <Vertex> 17 {
        210.586746 -31.415768 27.085871 1.000000
      }
      <Vertex> 18 {
        209.169830 -32.989384 27.085871 1.000000
      }
      <Vertex> 19 {
        207.626251 -34.438908 27.085871 1.000000
      }
      <Vertex> 20 {
        205.966797 -35.754181 27.085871 1.000000
      }
      <Vertex> 21 {
        204.203079 -36.926003 27.085871 1.000000
      }
      <Vertex> 22 {
        202.347504 -37.946110 27.085873 1.000000
      }
      <Vertex> 23 {
        200.413086 -38.807377 27.085873 1.000000
      }
      <Vertex> 24 {
        198.413345 -39.503754 27.085873 1.000000
      }
      <Vertex> 25 {
        196.362381 -40.030354 27.085873 1.000000
      }
      <Vertex> 26 {
        194.274551 -40.383492 27.085873 1.000000
      }
      <Vertex> 27 {
        192.164459 -40.560684 27.085873 1.000000
      }
      <Vertex> 28 {
        190.046967 -40.560684 27.085873 1.000000
      }
      <Vertex> 29 {
        187.936874 -40.383495 27.085873 1.000000
      }
      <Vertex> 30 {
        185.849030 -40.030365 27.085873 1.000000
      }
      <Vertex> 31 {
        183.798065 -39.503769 27.085873 1.000000
      }
      <Vertex> 32 {
        181.798355 -38.807396 27.085873 1.000000
      }
      <Vertex> 33 {
        179.863922 -37.946133 27.085873 1.000000
      }
      <Vertex> 34 {
        178.008347 -36.926025 27.085871 1.000000
      }
      <Vertex> 35 {
        176.244644 -35.754215 27.085871 1.000000
      }
      <Vertex> 36 {
        174.582672 -34.436966 27.085871 1.000000
      }
      <Vertex> 37 {
        171.211456 -31.377522 27.085871 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 444 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.03 0.05 0.08 0.11 0.14 0.16 0.19 0.22 0.24 0.27 0.30 0.32 0.35 0.38 0.41 0.43 0.46 0.49 0.51 0.54 0.57 0.59 0.62 0.65 0.68 0.70 0.73 0.76 0.78 0.81 0.84 0.86 0.89 0.92 0.95 0.97 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
        <Ref> { MyCurveObject.005NC } 
      }
    }
  }
  <Group> MyCurveObject.006NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.006NC {
      <Vertex> 0 {
        264.962891 -39.096745 36.560520 1.000000
      }
      <Vertex> 1 {
        264.962891 -62.856178 36.560528 1.000000
      }
      <Vertex> 2 {
        264.585876 -74.925240 36.560532 1.000000
      }
      <Vertex> 3 {
        261.439941 -84.172768 36.560532 1.000000
      }
      <Vertex> 4 {
        252.588547 -90.315453 36.560535 1.000000
      }
      <Vertex> 5 {
        242.968948 -91.629356 36.560535 1.000000
      }
      <Vertex> 6 {
        209.624191 -91.293221 36.560535 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 72 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.17 0.33 0.50 0.67 0.83 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6
        <Ref> { MyCurveObject.006NC } 
      }
    }
  }
  <Group> MyCurveObject.007NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.007NC {
      <Vertex> 0 {
        -13.082309 31.279158 19.811543 1.000000
      }
      <Vertex> 1 {
        -13.054803 28.395641 21.236614 1.000000
      }
      <Vertex> 2 {
        -13.027298 25.512129 22.661686 1.000000
      }
      <Vertex> 3 {
        -12.999794 22.628616 24.086760 1.000000
      }
      <Vertex> 4 {
        -12.972288 19.745102 25.511829 1.000000
      }
      <Vertex> 5 {
        -12.944782 16.861586 26.936901 1.000000
      }
      <Vertex> 6 {
        -12.917277 13.978073 28.361973 1.000000
      }
      <Vertex> 7 {
        -12.889772 11.094561 29.787045 1.000000
      }
      <Vertex> 8 {
        -12.862266 8.211045 31.212116 1.000000
      }
      <Vertex> 9 {
        -12.834762 5.327532 32.637184 1.000000
      }
      <Vertex> 10 {
        -12.807257 2.444017 34.062256 1.000000
      }
      <Vertex> 11 {
        -12.779751 -0.439496 35.487331 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 132 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11
        <Ref> { MyCurveObject.007NC } 
      }
    }
  }
  <Group> MyCurveObject.008NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.008NC {
      <Vertex> 0 {
        115.262428 193.729401 18.713291 1.000000
      }
      <Vertex> 1 {
        118.156242 193.729401 18.764736 1.000000
      }
      <Vertex> 2 {
        121.050064 193.729401 18.816183 1.000000
      }
      <Vertex> 3 {
        123.943878 193.729416 18.867630 1.000000
      }
      <Vertex> 4 {
        126.837685 193.729401 18.919075 1.000000
      }
      <Vertex> 5 {
        129.731522 193.729401 18.970520 1.000000
      }
      <Vertex> 6 {
        132.625320 193.729401 19.021967 1.000000
      }
      <Vertex> 7 {
        135.519135 193.729401 19.073414 1.000000
      }
      <Vertex> 8 {
        138.412949 193.729401 19.124861 1.000000
      }
      <Vertex> 9 {
        141.306778 193.729401 19.176306 1.000000
      }
      <Vertex> 10 {
        144.200592 193.729401 19.227753 1.000000
      }
      <Vertex> 11 {
        147.094406 193.729401 19.279198 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 132 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11
        <Ref> { MyCurveObject.008NC } 
      }
    }
  }
  <Group> MyCurveObject.009NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.009NC {
      <Vertex> 0 {
        115.292137 182.870117 18.714750 1.000000
      }
      <Vertex> 1 {
        118.183243 182.870117 18.762455 1.000000
      }
      <Vertex> 2 {
        121.074364 182.870117 18.810163 1.000000
      }
      <Vertex> 3 {
        123.965469 182.870132 18.857872 1.000000
      }
      <Vertex> 4 {
        126.856575 182.870117 18.905577 1.000000
      }
      <Vertex> 5 {
        129.747681 182.870117 18.953287 1.000000
      }
      <Vertex> 6 {
        132.638779 182.870117 19.000994 1.000000
      }
      <Vertex> 7 {
        135.529907 182.870117 19.048700 1.000000
      }
      <Vertex> 8 {
        138.421005 182.870117 19.096407 1.000000
      }
      <Vertex> 9 {
        141.312134 182.870117 19.144114 1.000000
      }
      <Vertex> 10 {
        144.203232 182.870117 19.191822 1.000000
      }
      <Vertex> 11 {
        147.094330 182.870117 19.239529 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 132 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11
        <Ref> { MyCurveObject.009NC } 
      }
    }
  }
  <Group> MyCurveObject.010NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.010NC {
      <Vertex> 0 {
        241.870743 75.168396 19.875757 1.000000
      }
      <Vertex> 1 {
        241.870743 72.756569 20.794254 1.000000
      }
      <Vertex> 2 {
        241.870743 70.344757 21.712749 1.000000
      }
      <Vertex> 3 {
        241.870758 67.932938 22.631247 1.000000
      }
      <Vertex> 4 {
        241.870743 65.521118 23.549742 1.000000
      }
      <Vertex> 5 {
        241.870743 63.109303 24.468235 1.000000
      }
      <Vertex> 6 {
        241.870758 60.697487 25.386734 1.000000
      }
      <Vertex> 7 {
        241.870743 58.285667 26.305227 1.000000
      }
      <Vertex> 8 {
        241.870758 55.873848 27.223724 1.000000
      }
      <Vertex> 9 {
        241.870743 53.462029 28.142220 1.000000
      }
      <Vertex> 10 {
        241.870758 51.050213 29.060719 1.000000
      }
      <Vertex> 11 {
        241.870743 48.638397 29.979212 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 132 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11
        <Ref> { MyCurveObject.010NC } 
      }
    }
  }
  <Group> MyCurveObject.011NC {
    <Transform> {
      <Matrix4> {
        1.0 0.0 0.0 0.0 
        0.0 1.0 0.0 0.0 
        0.0 0.0 1.0 0.0 
        0.0 0.0 0.0 1.0 
      }
    }
    <VertexPool> MyCurveObject.011NC {
      <Vertex> 0 {
        260.848450 -39.232304 26.643955 1.000000
      }
      <Vertex> 1 {
        260.795624 -26.717049 26.643259 1.000000
      }
      <Vertex> 2 {
        260.742798 -14.201809 26.642569 1.000000
      }
      <Vertex> 3 {
        260.689972 -1.686565 26.641872 1.000000
      }
      <Vertex> 4 {
        260.637146 10.828680 26.641176 1.000000
      }
      <Vertex> 5 {
        260.584259 23.343924 26.640482 1.000000
      }
      <Vertex> 6 {
        260.531464 35.859169 26.639788 1.000000
      }
      <Vertex> 7 {
        260.478607 48.374405 26.639091 1.000000
      }
      <Vertex> 8 {
        260.425781 60.889656 26.638399 1.000000
      }
      <Vertex> 9 {
        260.372925 73.404907 26.637703 1.000000
      }
      <Vertex> 10 {
        260.320099 85.920135 26.637009 1.000000
      }
      <Vertex> 11 {
        260.267273 98.435394 26.636314 1.000000
      }
    }
    <NURBSCurve> {
      <Scalar> subdiv { 132 }
      <Order> { 2 }
      <Knots> { 0.00 0.00 0.09 0.18 0.27 0.36 0.45 0.55 0.64 0.73 0.82 0.91 1.00 1.00 }
      <VertexRef> {
        0 1 2 3 4 5 6 7 8 9 10 11
        <Ref> { MyCurveObject.011NC } 
      }
    }
  }

In your case, the answer is obvious, you need to familiarize yourself with the description.

Aiai, Thanks I did not read that.