fougue / mayo

3D CAD viewer and converter based on Qt + OpenCascade
BSD 2-Clause "Simplified" License
1.29k stars 256 forks source link

Support for JT format #235

Open mno13 opened 7 months ago

mno13 commented 7 months ago

Adding a support for JT format - import and export.

Mostly useful conversion would be conversion from STEP to JT, and JT to any mesh format (OBJ, STL).

It's industry standard, Siemens' counterpart to Dassault's 3DXML and it's suported by lot of CAD packages and robot simulation software.

Viewing functionality is already suported in OpenCascade CAD Assistant.

It's open standard - link to specification:

https://www.plm.automation.siemens.com/en_us/Images/JT-v10-file-format-reference-rev-B_tcm1023-233786.pdf

There is also precedesor to CAD Asistant - JT Asistant, with sources:

https://old.opencascade.com/content/jt-assistant

https://old.opencascade.com/content/jt-assistant-sources

HuguesDelorme commented 7 months ago

Found also JT support in FreeCad source tree at: https://github.com/FreeCAD/FreeCAD/tree/main/src/Mod/JtReader/App

HuguesDelorme commented 7 months ago

@mno13 Have you already evaluated support of JT format in FreeCad? If yes is it satisfying?

mno13 commented 7 months ago

There is no support for JT in freecad, at least in newest release (0.21 / 0.22 dev). Freecad cannot open JT files.

mconsidine commented 7 months ago

Hi, This thread might help. Upshot is that JT Assistant from open Cascades site can be compiled with more recent versions of library, but TKJT needs to be modified. https://forum.freecad.org/viewtopic.php?t=81992

On a related note: is there any work being done to import Parasolid .x_b/.x_t files? Rgds, Mconsidine

HuguesDelorme commented 7 months ago

Hello @mconsidine

Parasolid is a proprietary format owned and developed by Siemens PLM Software. This means that the specifications of the format are not publicly available, and only licensed software developers can fully access and utilize the features of Parasolid. See https://cadexchanger.com/freecad-to-parasolid/#proprietary-nature

mconsidine commented 7 months ago

The XT file format is documented publicly. V10 of the JT spec includes it with that document and standalone docs for v8.1 and v9.5 were on Siemens website.

The kernel itself is proprietary.

Sent from allegedly smart phone

On Mon, Dec 4, 2023, 3:03 AM Hugues Delorme @.***> wrote:

Hello @mconsidine https://github.com/mconsidine

Parasolid is a proprietary format owned and developed by Siemens PLM Software. This means that the specifications of the format are not publicly available, and only licensed software developers can fully access and utilize the features of Parasolid. See https://cadexchanger.com/freecad-to-parasolid/#proprietary-nature

— Reply to this email directly, view it on GitHub https://github.com/fougue/mayo/issues/235#issuecomment-1838021774, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEPIPFB2NWL3EYBP7RLAL3YHV7UZAVCNFSM6AAAAAA7OR6AFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZYGAZDCNZXGQ . You are receiving this because you were mentioned.Message ID: @.***>

mconsidine commented 7 months ago

See ref 2 here, for instance: https://en.m.wikipedia.org/wiki/Parasolid

Sent from allegedly smart phone

On Mon, Dec 4, 2023, 3:03 AM Hugues Delorme @.***> wrote:

Hello @mconsidine https://github.com/mconsidine

Parasolid is a proprietary format owned and developed by Siemens PLM Software. This means that the specifications of the format are not publicly available, and only licensed software developers can fully access and utilize the features of Parasolid. See https://cadexchanger.com/freecad-to-parasolid/#proprietary-nature

— Reply to this email directly, view it on GitHub https://github.com/fougue/mayo/issues/235#issuecomment-1838021774, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEPIPFB2NWL3EYBP7RLAL3YHV7UZAVCNFSM6AAAAAA7OR6AFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZYGAZDCNZXGQ . You are receiving this because you were mentioned.Message ID: @.***>

HuguesDelorme commented 6 months ago

@mconsidine Do you have a recent reference for the X_T format? The latest one I found is that PDF which is old(2006)

mconsidine commented 6 months ago

Hi, If you look inside this

https://www.plm.automation.siemens.com/media/global/en/siemens-jt-v-10-5-format-description-revb-03142023_tcm27-58011.zip starting at page 254 and going to around page 337 you'll basically find the same info you would see in the 2006 and 2008 XT format documents on the 'net. So, the format hasn't changed, but additional field numbers/definitions have been added. Those can be seen in some of the schema files found on the 'net, notably github.

FWIW, I've got a python routine which basically turns a .x_b/.x_t file into a human-readable form already. I'll be posting it at some point, once it's been more tested and I figure out how to get the node tree I created from it turned into a BREP (or ... something) for use in FreeCAD. If you have ideas along those lines, I'm happy to share what I've done providing it stays out in the open and free.

Does that help? mconsidine

On Thu, Jan 11, 2024 at 11:56 AM Hugues Delorme @.***> wrote:

@mconsidine https://github.com/mconsidine Do you have a recent reference for the X_T format? The latest one I found is that PDF https://www.13thmonkey.org/documentation/CAD/Parasolid-XT-format-reference.pdf which is old(2006)

— Reply to this email directly, view it on GitHub https://github.com/fougue/mayo/issues/235#issuecomment-1887576358, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEPIPC52S32LY74SBFEZDLYOAKUBAVCNFSM6AAAAAA7OR6AFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBXGU3TMMZVHA . You are receiving this because you were mentioned.Message ID: @.***>