Watertight Mesh to 3dsolid

 Is there a way to convert a watertight mesh (MESH as well as Polyfacemeshes) to 3dsolids without using third party components?

Comments

  • Hi Steven,
    Use the PLANESURFACEX command from my plugin SweepX-LoftX_bc16.1.02.dll to be downloaded at
    https://forum.bricsys.com/discussion/17053#27718
    Load the plugin with the NETLOAD command by selecting the file above.
    You can then call the
    PLANESURFACEX command at the command line...
    You find the steps to follow at 
    https://forum.bricsys.com/discussion/17053#23550

    To do the conversion follow this sequence (see screenshot below from left to right)  :
    (1,2) Explode the MESH,
    Polyface- or Polygonmesh to 3Dfaces -->>    yellow  MESH > red  3DFaces
    (3)    Convert 3Dfaces to planar ACIS Surfaces with the PLANESURFACEX command -->>  green ACIS Surfaces
    (4)    Union the surfaces with the native DMSTITCH command to an ACIS surface or 3DSOLID -->>
             if the surfaces form a watertight space then you get automatically a 3Dsolid otherwise a Surface (both ACIS)

     (5)    You can SLICE a solid by the produced surface if NOT watertight to get a solid3D form.

    ...hope this helps
    Regards Konstantin

    imagemesh2solid_2.jpg
    imagemesh2solid_1.jpg
  • the DWG to test it yourself....

    MySmallMESH.dwg

  • Sorry but something seems to be missing. I have the .Net Framework installed, but I can't seem to load the DLL.
    I keep getting the following message;

    Loading .NET runtime v4.0.30319:

    Error Message: Die Datei oder Assembly "file:///C:\TEMP\SweepX-LoftX_bc16.1.02.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Der Vorgang wird nicht unterstützt. (Ausnahme von HRESULT: 0x80131515)
    ; ----- LISP : Call Stack -----
    ; [0]...BRXLOADMANAGEDDLL <<-- </div>
    ;
    ; ----- Error around expression -----
    (AL_EXECUTEADSDEFUN "BRXLOADMANAGEDDLL" REST)
    ;
    ; error : SDS request returned error at function : BRXLOADMANAGEDDLL
    failed to load module C:\TEMP\SweepX-LoftX_bc16.1.02.dll

    The file or assembly FILENAME or a dependency was not found. The procedure is not supported. (Exception of HRESULT: ...)

    Have you seen anything like this before? Strange is though, I clearly have the current .Net framework installed, but the message says it's loading v4.0.30319.
  • Hi Steven,
    ...... just UNBLOCK the dll after downloading and also have a look at
    https://forum.bricsys.com/discussion/17053#23557
    hope this resolves the problem
    imageUnblock_DLL.PNG
  •  Thank you, that did exactly what I needed!
    You have no idea how much work this is going to save me...
    Okay I guess you do, since you thought it was worth the effort to write this DLL.
  • You might like to also view this post on the same topic.
    https://forum.bricsys.com/discussion/21721


    Regards,
    Jason Bourhill

  • it is of course possible to use the native command REGION instead of PLANESURFACEX at step (3) above
    to convert the 3Dfaces to Regions BUT the REGION command ignores the 4Point Non Planar 3Dfaces during the conversion !
    So, at the end you get not the watertight Solid3D but only a partial surface...see screenshot below.
    If you don't have 4Point Non Planar 3Dfaces in your MESH then you can bypass the plug-in and PLANSURFACEX altogether.

    imagemesh2solid_3.jpg
  •  Yea, I've tried that before. I just found that there were some issues on certain triangular 3dfaces.
    No matter what I did, they didn't convert to regions at all. Your routine seems to do the trick though. I wrote a routine in LISP and had to access the region creation through (COMMAND ""), perhaps that workaround through the surface command was the issue. Luckiely that's not important anymore.
This discussion has been closed.