STEP interchange enhancements

Info about new community or project announcements, implemented features, classes, modules or APIs. Might get technical!
PLEASE DO NOT POST HELP REQUESTS OR OTHER DISCUSSIONS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
easyw-fc
Veteran
Posts: 3629
Joined: Thu Jul 09, 2015 9:34 am

STEP interchange enhancements

Post by easyw-fc »

During last year many activities have been done to improve STEP feature for FreeCAD.
Because with the latest PR#871 that @vejmarie has done many issues/features have been solved/raised.
I'm going to resume the most interesting new features added:

1) STEP file size
following this thread
https://forum.freecadweb.org/viewtopic. ... 85#p142700
the file size of STEP files can be now reduced up to 5 times in many cases... this is an old known problem that now has been solved!

2) STEP file loading time
following this thread
https://forum.freecadweb.org/viewtopic. ... ng#p158225
the loading time has been improved so much that STEP file loading now is faster than some commercial CADs

3) STEP file handling
following this thread
https://forum.freecadweb.org/viewtopic. ... 90#p159741
using VBO and OpenGl FreeCAD is now able to manage extremely complex STEP files, having frames per seconds similar to best commercial CADs

4) STEP import
following this thread
https://forum.freecadweb.org/viewtopic. ... 36#p156821
the STEP importer now has a hierarchy when present in the file itself, creating App::Part containers perfect for Assembly structure
Finally FreeCAD integrates a hierarchy when reading STEP files, instead of a FLAT structure, as it was till now.

5) STEP export
following this thread
https://forum.freecadweb.org/viewtopic.php?f=17&t=23368
the STEP exporter now can save a STEP file conserving the hierarchy as present when loaded.
Using App::Part containers it is also possible to create an Assembly structure to be exported as single hierarchical STEP file as in commercial CADs.

Many many many thx to @vejmarie to take care of this big job!
I'm also proud to have discovered the riddle for the file size issue.

And of course many thx to all FC developers to make this great MCAD sw!

Maurice
Last edited by easyw-fc on Wed Jul 12, 2017 6:02 pm, edited 1 time in total.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: STEP interchange enhancements

Post by Kunda1 »

Nice post! and thanks @vejmarie !
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
easyw-fc
Veteran
Posts: 3629
Joined: Thu Jul 09, 2015 9:34 am

Re: STEP interchange enhancements

Post by easyw-fc »

Kunda1 wrote: Tue Jul 11, 2017 10:48 amNice post!
here the screenshot of a SW STEP file posted by a user, with hierarchy in the STEP loaded file in FC
hierarchy1.jpg
hierarchy1.jpg (243.82 KiB) Viewed 3879 times
and here the same hierarchy of the file exported by FC and re-opened
hierarchy2.jpg
hierarchy2.jpg (254.45 KiB) Viewed 3879 times
you can see groups inside the tree

Maurice
User avatar
pablogil
Posts: 881
Joined: Wed Nov 26, 2014 3:19 pm
Location: Badajoz (Spain)
Contact:

Re: STEP interchange enhancements

Post by pablogil »

AWESOME!!

and thank you very much!
Dark and Light stylesheets v2.0 to theme your FreeCAD UI, more information here
User avatar
saso
Veteran
Posts: 1920
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: STEP interchange enhancements

Post by saso »

vejmarie to the hall of fame! :)
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: STEP interchange enhancements

Post by Kunda1 »

easyw-fc wrote:ping
Can you take a look at issue #2369 testing the new commits?
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
easyw-fc
Veteran
Posts: 3629
Joined: Thu Jul 09, 2015 9:34 am

Re: STEP interchange enhancements

Post by easyw-fc »

Kunda1 wrote: Tue Jul 11, 2017 10:21 pm Can you take a look at issue #2369 testing the new commits?
the testing file is
arietta.7z
(710.38 KiB) Downloaded 159 times
as you can see both in FC with latest commits and in CADA the result contains groups.
Before (i.e. FC01.6) the loaded file had only a FLAT representation of the objects
arietta-FC.png
arietta-FC.png (185.23 KiB) Viewed 3793 times
arietta-cada.png
arietta-cada.png (195.08 KiB) Viewed 3793 times
there is just a strange issue related at the finishing loading time, which is much longer for this file compared to others
User avatar
vejmarie
Posts: 713
Joined: Mon Jan 04, 2016 4:52 pm
Location: Somewhere between France, USA and Taiwan
Contact:

Re: STEP interchange enhancements

Post by vejmarie »

Curious to better understand the small issue you reported ;).
User avatar
easyw-fc
Veteran
Posts: 3629
Joined: Thu Jul 09, 2015 9:34 am

Re: STEP interchange enhancements

Post by easyw-fc »

vejmarie wrote: Wed Jul 12, 2017 7:40 am Curious to better understand the small issue you reported ;).
the file I attached in my previous post just load fine and the loading bar goes till 100%, but then FC still hangs for quite a long time till the file is completely displayed.
This behavior is not present in CADAssistant, nor in DSM
You can test it unzipping and loading the file
https://forum.freecadweb.org/download/file.php?id=40122

Maurice
User avatar
vejmarie
Posts: 713
Joined: Mon Jan 04, 2016 4:52 pm
Location: Somewhere between France, USA and Taiwan
Contact:

Re: STEP interchange enhancements

Post by vejmarie »

I have been able to reproduce the issue. I will check it. Roughly and as a short explanation the phase where you see the progress bar is the phase during which opencascade is reading the file and translate the STEP into OCCT Shape. The following step is the step during which I am re-organizing "properly" the shape into FreeCAD document, and translate that into a usable format (Part::Feature, Compound etc ...), some object creation can take a crazy amount of time in some cases. I will track this stuff as soon as I have written the "merge" patch
Post Reply