Loading ...
Sorry, an error occurred while loading the content.
 

KiCad new 3D viewer having shading issues with VRML files exported from Wings 3D

Expand Messages
  • zero_o_seven
    Hi Everyone, I have recently heard about the new KiCad 3D viewer available in the recent beta builds and decided to give it a try. Indeed this creates
    Message 1 of 13 , Nov 16 12:36 AM
      Hi Everyone,

      I have recently heard about the new KiCad 3D viewer available in the recent beta builds and decided to give it a try. Indeed this creates excellent PCB renders! Many thanks for all the developers!
      However, there is a small shading issue. Components look badly rendered:

      http://theseger.com/images/pcb_before.jpg

      After some investigations I made, It turns out the problem is not in KiCad, but rather in Wings 3D VRML exporter. The vertex-normal information in the file is wrong and causes these issues. I have developed a small windows utility that cleans all vertex-normal information from the VRML (wrl) files, hence causing KiCad to generate correct normals and fix the display:
      http://theseger.com/images/pcb_after.jpg

        This problem was not apparent in the original 3D viewer since I believe it disregarded normal information altogether.

      I have uploaded this utility to the file repository under the name: KiCadWrlCleaner.zip.

      Hope this helps at least until Wings 3D will fix the bug.

      B.T.W most of the connectors in this PCB, I downloaded from the manufacturer site (like Molex) in STEP (.stp) format. I then Imported in into FreeCAD, exported in Waveform Obj format, Imported it in Wings 3D, fix the colors, and export back to VRML format.

      Hope this helps!


      shai




    • Cirilo Bernardo
      ... Thanks Shai, I think that explains a lot of the problems which we have experienced with Wings3D models. I also have a project which generates VRML models
      Message 2 of 13 , Nov 16 2:19 AM
        >________________________________
        > From: "zero_o_seven@... [kicad-users]" <kicad-users@yahoogroups.com>
        >To: kicad-users@yahoogroups.com
        >Sent: Sunday, November 16, 2014 7:36 PM
        >Subject: [kicad-users] KiCad new 3D viewer having shading issues with VRML files exported from Wings 3D
        >
        >
        >
        >
        >Hi Everyone,
        >
        >I have recently heard about the new KiCad 3D viewer available in the recent beta builds and decided to give it a try. Indeed this creates excellent PCB renders! Many thanks for all the developers!
        >However, there is a small shading issue. Components look badly rendered:
        >
        >http://theseger.com/images/pcb_before.jpg
        >
        >
        > http://theseger.com/images/pcb_before.jpg
        >View on theseger.com Preview by Yahoo After some investigations I made, It turns out the problem is not in KiCad, but rather in Wings 3D VRML exporter. The vertex-normal information in the file is wrong and causes these issues. I have developed a small windows utility that cleans all vertex-normal information from the VRML (wrl) files, hence causing KiCad to generate correct normals and fix the display:
        >http://theseger.com/images/pcb_after.jpg
        >
        > http://theseger.com/images/pcb_after.jpg
        >View on theseger.com Preview by Yahoo
        > This problem was not apparent in the original 3D viewer since I believe it disregarded normal information altogether.
        >I have uploaded this utility to the file repository under the name: KiCadWrlCleaner.zip.
        >Hope this helps at least until Wings 3D will fix the bug.
        >B.T.W most of the connectors in this PCB, I downloaded from the manufacturer site (like Molex) in STEP (.stp) format. I then Imported in into FreeCAD, exported in Waveform Obj format, Imported it in Wings 3D, fix the colors, and export back to VRML format.
        >Hope this helps!
        >
        >
        >shai
        >


        Thanks Shai,

        I think that explains a lot of the problems which we have
        experienced with Wings3D models. I also have a project which
        generates VRML models but does not include information on
        normals (http://kicad3dmodels.sourceforge.net/). Have you
        used any of those models and have you observed any problems
        with the rendering?

        Since KiCad 3Dviewer now makes use of normals data I may
        consider putting the normals into my VRML output.

        - Cirilo
      • zero_o_seven
        Hello Cirilo, I have not checked it yet, but I looked in the docs of you project and it looks like very impressive piece of SW! Basically a VRML renderer, not
        Message 3 of 13 , Nov 16 4:32 AM
          Hello Cirilo,

          I have not checked it yet, but I looked in the docs of you project and it looks like very impressive piece of SW! Basically a VRML renderer, not having vertex normal information can either display all polygons dual sided, or decide on the correct normal direction by the order of the vertices in the polygon (either clockwise or counter clockwise) Again, I am not completely familiar with KiCad new 3D viewer internals, so I do not know which method is used. But I guess that as long as the vertex ordering is consistent it should work on both methods.

          shai
        • DemoFreak
          Hi, ... I experienced the same issue whilst attempting to find a normalized way to create 3D footprints for Kicad. Because I create the 3D models using a CAD
          Message 4 of 13 , Nov 16 1:38 PM
          Hi,


          Am Sonntag, 16. November 2014, 00:36:04 schrieb shai :
          > However, there is a small shading issue. Components look badly rendered


          I experienced the same issue whilst attempting to find a "normalized" way to
          create 3D footprints for Kicad.


          Because I create the 3D models using a CAD application (VariCAD), I first
          tried it using the following procedure found in some tutorial on the web:


          - export 3D model to STL
          - import in FreeCAD, export to *.obj
          - import in Wings3D, export to *.wrl


          As this implies some steps that can't be automated I later tried to convert
          the STL using a command line tool called meshconv:
          http://www.cs.princeton.edu/~min/meshconv/


          This leads to a VRML file not useable in Kicad (it simply doesn't show up in
          3D view). When I load this VRML file in FreeCAD and simply re-save it as VRML
          again, it gets useable.


          On both ways I get files that seems to have wrong surface normals.


          As I later tried to export the whole PCB to STEP format using the tutorial
          https://www.youtube.com/watch?v=qSkWBwRJVqg and got a "leaky" PCB model I
          suspected the wrong surface normals as a reason for it (actually it's not the
          reason, but Kicad seems to have some VRML export issues).


          Caused by your posting I tried to investigate the topic further, results are
          shown in the following picture (from left to right):


          http://wstaw.org/m/2014/11/16/vrml.png


          1. FreeCAD -> Wings3D -> Kicad
          2. FreeCAD -> Wings3D -> KicadWrlCleaner -> Kicad
          3. Meshlab -> Kicad
          4. meshconv -> FreeCAD ->Kicad


          As a control experiment ;-) I exported the four VRML files back to STEP format
          using the same procedure as described in the video tutorial. All four VRML
          files leads to watertight STEP files.


          Is there an easier way to export STL files to VRML? The both methods shown
          above are semi-useful, as one of them involves the use of an Windows
          application (I'm using linux on my desktop computer) and the other one...
          well, meshlab is a complicated thingy for an 3D graphics noob like me. I don't
          even found a way to change the color of the exported VRML model so far. ;-)


          The files used for the picture can be found at
          https://cloud.studt.de/public.php?service=files&t=587506182216ac0c5615917ba2ab259a


          Regards,


          /Hannes
        • greathouse_abc
          I had experienced the same issues with parts I imported to KiCad. I wasted quite a bit of my time trying to identify why the rendering of the sufaces was not
          Message 5 of 13 , Nov 17 10:21 AM
          I had experienced the same issues with parts I imported to KiCad. I wasted quite a bit of my time trying to identify why the rendering of the sufaces was not as I expected. After much wasted time, I reviewed one of the Wing3D tutorials and the answer presented itself.

          The triangle edges on a plane and at edges render with a shading that is incorrect. It turns out, there is a simple way to correct this within Wings3D. As a quick test, in Wings3D, load the model file of interest. Choose the "Show object with flat shading". This very similar to what you will see in KiCad -- see Shaded-1.PNG. Now select all edges -- see Edges-1.PNG. Now, right click and choose Hardness -> Hard. Then press space to deselect the edges. You will have a flat rendering without the unexpected edge highlights -- see Hard-1.PNG.

          If you export this new model, it will render as expected within KiCad.

          If you take the time to identify the "Hard" and "Soft" edges in the model, you can get very good renders without the highlight artifacts. I use "Hard" for all edges in a plane and other sharp edges. For curved shapes, I use "Soft" edges. This seems to work quite well.

          Enjoy!
          Bill




        • Cirilo Bernardo
          ... If your MCAD can export to VRML (all MCADs I know use VRML1.0) you can try the model as it is. A few months ago some patches were committed to work with
          Message 6 of 13 , Nov 17 12:25 PM
            >________________________________
            > From: "DemoFreak demofreak@... [kicad-users]" <kicad-users@yahoogroups.com>
            >To: kicad-users@yahoogroups.com
            >Sent: Monday, November 17, 2014 8:38 AM
            >Subject: Re: [kicad-users] KiCad new 3D viewer having shading issues with VRML files exported from Wings 3D [1 Attachment]
            >
            >
            >
            >
            >[Attachment(s) from DemoFreak demofreak@... [kicad-users] included below]
            >Hi,
            >
            >Am Sonntag, 16. November 2014, 00:36:04 schrieb shai :
            >> However, there is a small shading issue. Components look badly rendered
            >
            >I experienced the same issue whilst attempting to find a "normalized" way to
            >create 3D footprints for Kicad.
            >
            >Because I create the 3D models using a CAD application (VariCAD), I first
            >tried it using the following procedure found in some tutorial on the web:
            >
            >- export 3D model to STL
            >- import in FreeCAD, export to *.obj
            >- import in Wings3D, export to *.wrl
            >


            If your MCAD can export to VRML (all MCADs I know use VRML1.0) you
            can try the model as it is. A few months ago some patches were
            committed to work with VRML1.0 files.

            >As this implies some steps that can't be automated I later tried to convert >the STL using a command line tool called meshconv:
            >http://www.cs.princeton.edu/~min/meshconv/
            >
            >This leads to a VRML file not useable in Kicad (it simply doesn't show up in
            >3D view). When I load this VRML file in FreeCAD and simply re-save it as VRML
            >again, it gets useable.
            >


            The VRML engine is somewhat fragile due to the number of unsupported or partially
            supported constructs; this will not change unless someone has a lot of time to put
            into improving the VRML support. The features fully supported by the VRML code is
            implemented fairly well; the rendering is better than Blender.

            >On both ways I get files that seems to have wrong surface normals.
            >
            >As I later tried to export the whole PCB to STEP format using the tutorial
            >https://www.youtube.com/watch?v=qSkWBwRJVqg and got a "leaky" PCB model I
            >suspected the wrong surface normals as a reason for it (actually it's not the
            >reason, but Kicad seems to have some VRML export issues).
            >


            VRML was never intended for solid modeling, only for visualization. Converting
            to a solid model representation will always have the risk of something going
            wrong; it's bad enough that things go wrong when converting between different
            representations of solid models. If you want better board representations and
            your MCAD can import IDF, use the IDF exporter. If you do not have an MCAD you
            can still inspect the results of the IDF export by using the 'idf2vrml' tool
            and viewing the generated VRML file using a viewer like 'view3dscene' or Cortona.
            Since the idf2vrml tool uses very simple shapes (except for the PCB board), you
            can also try to create a step from that VRML output if your MCAD does not have
            an IDF importer.


            >Caused by your posting I tried to investigate the topic further, results are >shown in the following picture (from left to right):
            >
            >http://wstaw.org/m/2014/11/16/vrml.png
            >
            >1. FreeCAD -> Wings3D -> Kicad
            >2. FreeCAD -> Wings3D -> KicadWrlCleaner -> Kicad
            >3. Meshlab -> Kicad
            >4. meshconv -> FreeCAD ->Kicad
            >


            So even with the 'KicadWrlCleaner' you get bad normals? I guess I will have
            to look at the code one day to find out why.


            - Cirilo

            >As a control experiment ;-) I exported the four VRML files back to STEP format >using the same procedure as described in the video tutorial. All four VRML
            >files leads to watertight STEP files.
            >
            >Is there an easier way to export STL files to VRML? The both methods shown
            >above are semi-useful, as one of them involves the use of an Windows
            >application (I'm using linux on my desktop computer) and the other one...
            >well, meshlab is a complicated thingy for an 3D graphics noob like me. I don't
            >even found a way to change the color of the exported VRML model so far. ;-)
            >

            >The files used for the picture can be found at
            >https://cloud.studt.de/public.php?service=files&t=587506182216ac0c5615917ba2ab259a
            >
            >Regards,
          • DemoFreak
            Hi! ... No! Silly me, I swapped the order of the first two pics. The heatsink with the bad normals is the uncleaned one. KicadWrlCleaner does a good job. Sorry
            Message 7 of 13 , Nov 17 2:57 PM
              Hi!

              Am Montag, 17. November 2014, 20:25:23 schrieben Sie:
              > So even with the 'KicadWrlCleaner' you get bad normals? I guess I will have
              > to look at the code one day to find out why.

              No! Silly me, I swapped the order of the first two pics.
              The heatsink with the bad normals is the uncleaned one. KicadWrlCleaner does a
              good job. Sorry again.

              > Converting to a solid model representation will always have the risk of
              > something going wrong; it's bad enough that things go wrong when converting

              I see.
              After some fiddling around with the VRML output and the STEP representation
              generated by FreeCAD I found out that the drillings seem to lack of walls. So
              the whole PCB is an open solid.

              https://bugs.launchpad.net/kicad/+bug/1393277

              > using the 'idf2vrml' tool and viewing the generated VRML file using a
              > viewer like 'view3dscene' or Cortona. Since the idf2vrml tool uses very
              > simple shapes (except for the PCB board), you can also try to create a step
              > from that VRML output if your MCAD does not have an IDF importer.

              Thanks. I tried to generate a STEP from the idf2vrml output and it's
              "watertight". Fine. :)

              Now I only have to combine the footprints from the Pcbnew's VRML export with
              the PCB from IDF export -> VRML conversion to get a complete STEP
              representation of the whole PCB (the purpose is at first to know if the
              populated PCB fits into the unit, and secondly what volume it will occupy, and
              the CAD calculates this if the solids are closed).

              /Hannes
            • Cirilo Bernardo
              ... Ah, OK. I had a look and found only an exe file was posted, so I can t look at the cleaner code anyway. ... In that bug report I will have to look into
              Message 8 of 13 , Nov 17 5:49 PM
                >________________________________
                > From: "DemoFreak demofreak@... [kicad-users]" <kicad-users@yahoogroups.com>
                >To: kicad-users@yahoogroups.com
                >Sent: Tuesday, November 18, 2014 9:57 AM
                >Subject: Re: [kicad-users] KiCad new 3D viewer having shading issues with VRML files exported from Wings 3D
                >
                >
                >
                >
                >Hi!
                >
                >Am Montag, 17. November 2014, 20:25:23 schrieben Sie:
                >> So even with the 'KicadWrlCleaner' you get bad normals? I guess I will have
                >> to look at the code one day to find out why.
                >
                >No! Silly me, I swapped the order of the first two pics.
                >The heatsink with the bad normals is the uncleaned one. KicadWrlCleaner does a
                >good job. Sorry again.
                >


                Ah, OK. I had a look and found only an exe file was posted, so I can't look
                at the cleaner code anyway.

                >> Converting to a solid model representation will always have the risk of>> something going wrong; it's bad enough that things go wrong when converting
                >
                >I see.
                >After some fiddling around with the VRML output and the STEP representation
                >generated by FreeCAD I found out that the drillings seem to lack of walls. So
                >the whole PCB is an open solid.
                >
                >https://bugs.launchpad.net/kicad/+bug/1393277
                >


                In that bug report I will have to look into (1).

                (2) is not really correct since only the external layers
                (copper + silk) are exported.

                (3) isn't a bug at all. The purpose of VRML is for appearances not solid
                modeling. The PCB holes do not have walls unless they are unplated;
                all plated holes will have no walls but instead have the plated surface
                passing through the hole and extending a small distance above and below
                the hole to the planes where the pad itself is rendered. If you want a
                solid VRML board model, use the IDF export + idf2vrml. I might put an
                option to close the PCB holes in the VRML export some time in the future,
                but that would be a very low priority for me and I would do it when
                implementing an option box to control rendering of the copper and
                silk layers. Even if I joined the walls of the plated holes I imagine
                you would still have problems converting to STEP due to the 2D copper
                and silkscreen layers.

                >> using the 'idf2vrml' tool and viewing the generated VRML file using a>> viewer like 'view3dscene' or Cortona. Since the idf2vrml tool uses very
                >> simple shapes (except for the PCB board), you can also try to create a step
                >> from that VRML output if your MCAD does not have an IDF importer.
                >
                >Thanks. I tried to generate a STEP from the idf2vrml output and it's
                >"watertight". Fine. :)
                >
                >Now I only have to combine the footprints from the Pcbnew's VRML export with
                >the PCB from IDF export -> VRML conversion to get a complete STEP
                >representation of the whole PCB (the purpose is at first to know if the
                >populated PCB fits into the unit, and secondly what volume it will occupy, and
                >the CAD calculates this if the solids are closed).
                >

                >/Hannes
                >


                You can actually do this manually by deleting the VRML block which
                represents the PCB within the export->VRML file and replacing it with
                the PCB description in the file created by idf2vrml. Keep in mind that
                the export->VRML and export->IDF routines may result in boards which
                have a different origin, so you may need to offset the PCB description
                by placing it within another VRML Transform.

                - Cirilo
              • DemoFreak
                ... (1) is fixed in #5289, regarding to charras statement. ... Ok. :) Anyways, it can t be controlled by disabling layers/elements in pcbnew s main screen
                Message 9 of 13 , Nov 17 10:51 PM
                  Am Dienstag, 18. November 2014, 01:49:27 schrieben Sie:
                  > In that bug report I will have to look into (1).

                  (1) is fixed in #5289, regarding to charras' statement.

                  > (2) is not really correct since only the external layers
                  > (copper + silk) are exported.

                  Ok. :)
                  Anyways, it can't be controlled by disabling layers/elements in pcbnew's main
                  screen (as it possibly was some time ago, when the guy created the video
                  tutorial I mentioned in the bug report).

                  > solid VRML board model, use the IDF export + idf2vrml. I might put an
                  > option to close the PCB holes in the VRML export some time in the future,
                  > but that would be a very low priority for me and I would do it when
                  > implementing an option box to control rendering of the copper and

                  Fine. :)
                  Then the bug report could be changed to a feature request.
                  As an icing on the cake it would be _really_ cool if Pcbnew would export STEP
                  itself some day. ;) *duck*

                  > silk layers. Even if I joined the walls of the plated holes I imagine
                  > you would still have problems converting to STEP due to the 2D copper
                  > and silkscreen layers.

                  Yes, you're right. I had to delete this elements from the resulting STEP, as
                  they were reported as "open solids with wall thickness 0", too.

                  > You can actually do this manually by deleting the VRML block which
                  > represents the PCB within the export->VRML file and replacing it with
                  > the PCB description in the file created by idf2vrml. Keep in mind that
                  > the export->VRML and export->IDF routines may result in boards which
                  > have a different origin, so you may need to offset the PCB description
                  > by placing it within another VRML Transform.

                  Thanks. I'll try this next time.

                  After all, as I maybe haven't made this clear enough, it's pretty cool that
                  there's a way in general to create a STEP representation of the populated PCB.
                  This is really helpful. :)

                  /Hannes
                • zero_o_seven
                  Hello Cirilo, The cleaner code is very simple, it just eliminates all the normal Normal and normalIndex sections from the VRML file. Attached source file
                  Message 10 of 13 , Nov 17 11:09 PM
                  Hello Cirilo,

                  The cleaner code is very simple, it just eliminates all the "normal Normal" and "normalIndex" sections from the VRML file.
                  Attached source file for you reference.

                  shai
                • Cirilo Bernardo
                  ... I am working on STEP; it is a very big job to do correctly. I have looked into using OpenCascade and although it will generate a valid STEP file, it
                  Message 11 of 13 , Nov 18 12:39 PM
                    >________________________________
                    > From: "DemoFreak demofreak@... [kicad-users]" <kicad-users@yahoogroups.com>
                    >To: kicad-users@yahoogroups.com
                    >Sent: Tuesday, November 18, 2014 5:51 PM
                    >Subject: Re: [kicad-users] KiCad new 3D viewer having shading issues with VRML files exported from Wings 3D
                    >
                    >
                    >
                    >
                    >Am Dienstag, 18. November 2014, 01:49:27 schrieben Sie:
                    >> In that bug report I will have to look into (1).
                    >
                    >(1) is fixed in #5289, regarding to charras' statement.
                    >
                    >> (2) is not really correct since only the external layers
                    >> (copper + silk) are exported.
                    >
                    >Ok. :)
                    >Anyways, it can't be controlled by disabling layers/elements in pcbnew's main
                    >screen (as it possibly was some time ago, when the guy created the video
                    >tutorial I mentioned in the bug report).
                    >
                    >> solid VRML board model, use the IDF export + idf2vrml. I might put an
                    >> option to close the PCB holes in the VRML export some time in the future,
                    >> but that would be a very low priority for me and I would do it when
                    >> implementing an option box to control rendering of the copper and
                    >
                    >Fine. :)
                    >Then the bug report could be changed to a feature request.
                    >As an icing on the cake it would be _really_ cool if Pcbnew would export STEP
                    >itself some day. ;) *duck*
                    >


                    I am working on STEP; it is a very big job to do correctly. I have looked
                    into using OpenCascade and although it will generate a valid STEP file,
                    it creates too many 'parts' in the solid model and I would never accept
                    such a STEP file from a customer. Even a trivial board can have many
                    hundreds of mechanical parts created on disk when imported by an MCAD and
                    most of those parts are really the same (pins on THT and SMD components).
                    So I need to create a correct STEP assembly which contains subassemblies
                    and components. OpenCascade cannot do this; it always stores component
                    features as parts within a non-heirarchical STEP file.

                    - Cirilo


                    >> silk layers. Even if I joined the walls of the plated holes I imagine>> you would still have problems converting to STEP due to the 2D copper
                    >> and silkscreen layers.
                    >
                    >Yes, you're right. I had to delete this elements from the resulting STEP, as
                    >they were reported as "open solids with wall thickness 0", too.
                    >
                    >> You can actually do this manually by deleting the VRML block which
                    >> represents the PCB within the export->VRML file and replacing it with
                    >> the PCB description in the file created by idf2vrml. Keep in mind that
                    >> the export->VRML and export->IDF routines may result in boards which
                    >> have a different origin, so you may need to offset the PCB description
                    >> by placing it within another VRML Transform.
                    >
                    >Thanks. I'll try this next time.
                    >
                    >After all, as I maybe haven't made this clear enough, it's pretty cool that
                    >there's a way in general to create a STEP representation of the populated PCB.
                    >This is really helpful. :)
                    >
                    >/Hannes
                  • Cirilo Bernardo
                    ... Thanks Shai, I thought you might recompute the normals. :) Eliminating them is fine; KiCad will now recompute them when it loads a file (and for every
                    Message 12 of 13 , Nov 18 12:43 PM
                      >________________________________
                      > From: "zero_o_seven@... [kicad-users]" <kicad-users@yahoogroups.com>
                      >To: kicad-users@yahoogroups.com
                      >Sent: Tuesday, November 18, 2014 6:09 PM
                      >Subject: Re: [kicad-users] KiCad new 3D viewer having shading issues with VRML files exported from Wings 3D [1 Attachment]
                      >
                      >
                      >
                      >
                      >[Attachment(s) from zero_o_seven@... [kicad-users] included below]
                      >Hello Cirilo,
                      >
                      >The cleaner code is very simple, it just eliminates all the "normal Normal" and "normalIndex" sections from the VRML file.
                      >Attached source file for you reference.
                      >
                      >shai



                      Thanks Shai,

                      I thought you might recompute the normals. :) Eliminating them is fine;
                      KiCad will now recompute them when it loads a file (and for every
                      instance of that file object); this can really slow down the initial
                      rendering in the 3D viewer but should be OK. Others are working on how
                      to cache results to speed things up.

                      - Cirilo
                    • DemoFreak
                      ... Yes, some of the resulting STEP files were 150MB and bigger, containing hundreds of pieces, but better than nothing. ;-) I didn t know that STEP format is
                      Message 13 of 13 , Nov 18 4:38 PM
                        Am Dienstag, 18. November 2014, 20:39:18 schrieben Sie:
                        > I am working on STEP; it is a very big job to do correctly. I have looked
                        > into using OpenCascade and although it will generate a valid STEP file,
                        > it creates too many 'parts' in the solid model and I would never accept
                        > such a STEP file from a customer. Even a trivial board can have many
                        > hundreds of mechanical parts created on disk when imported by an MCAD and
                        > most of those parts are really the same (pins on THT and SMD components).
                        > So I need to create a correct STEP assembly which contains subassemblies
                        > and components. OpenCascade cannot do this; it always stores component
                        > features as parts within a non-heirarchical STEP file.

                        Yes, some of the resulting STEP files were 150MB and bigger, containing
                        hundreds of pieces, but better than nothing. ;-)

                        I didn't know that STEP format is capable of assembly trees with the same part
                        "linked" to many places in the assembly.

                        STEP Tools have a tool called splitasm which can split an assembly to single
                        parts, and OCC seems to have such a possibility too (according to
                        http://www.cadexchanger.com/forum/viewtopic.php?f=3&t=27 )
                        When one split the resulting big STEP into single part files this way, and
                        then checksum/compare the resulting parts to each other and in case of a match
                        substitute its reference in the master file by a reference to the existing
                        one...? Sounds complicated, but maybe that's a way to deal with this issue.

                        Hm, I'm not even sure if I understood the problem correctly, but I wanted to
                        write down this thought. :-D

                        /Hannes
                      Your message has been successfully submitted and would be delivered to recipients shortly.