View Issue Details

IDProjectCategoryView StatusLast Update
0003697File formatsBugpublic2019-08-14 19:30
ReporterDale MahalkoAssigned To 
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
PlatformWindows 10 64-bitOSWindows 10OS Version64-bit
Product Version 
Target VersionFixed in Version 
Summary0003697: Opening huge 147 MB STEP file leads to "Not responding"
DescriptionI am not a regular user of FreeCAD, I only just installed it before trying to do this and seeing this problem.

I am only trying to use FreeCAD to convert a complete STEP model of the Ultimaker 3 Extended, into a mesh for use in non-CAD 3D modeling software.

The problem is not that FreeCAD has crashed but that it is working so hard on reading the STEP file, that it stops responding to Windows, which to the end user may appear to be a crash or freeze.

https://i.imgur.com/S8IFUZZ.png

FreeCAD needs to:
  1. Be modified to display a progress bar during a long import or file-open task that takes more than a few seconds,
  2. Actively update the progress bar as the import/open task runs, optionally with a Cancel button to allow aborting of an unexpectedly long import/open task,
  3. Respond to Windows during the import so that the system doesn't display Not Responding.

Steps To ReproduceThis is all I have done with FreeCAD, so far:
  1. Install FreeCAD-0.17.13541.9948ee4-WIN-x64-installer.exe
  2. Go to https://github.com/Ultimaker/Ultimaker3Extended
  3. Click Clone or Download, then Download ZIP. Extract ZIP
  4. Inside is a folder named "3D model Ultimaker 3 extended", which contains a second "9511.STEP.zip". Extract.
  5. Open the 147 megabyte "9511.STEP" with OpenCAD
  6. After a short period an hourglass will appear, and if the Windows Task Manager is opened it says OpenCAD is Not Responding.
  7. Eventually after about 10 minutes of waiting through this with no feedback from the program, it will open with no error.
Additional InformationOS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13541 (Git)
Build type: Release
Branch: releases/FreeCAD-0-17
Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
TagsNo tags attached.

Activities

chrisb

2018-11-17 08:51

developer   ~0012203

Forum discussion

mywave82

2018-12-30 23:27

reporter   ~0012348

I have committed a PR to the git repo that attempts to fix this issue (I think the progressbar in the statusbar did work at some time in the past for loading STEP files).

It still has some few issues:
The loader is still performed in the MainThread, and some of the calls into OCCT library are heavy:
* The initial file load function does not support feedback, causing the initial pause, before anything happens at all.
* Transferring of the STEP model into the internal format of OCCT the heavy task, and does give us Progress feedback, but some of the internal steps are very big at the end, still causing long pauses.
* I think the OCCT library supports cancellation to be sent during the transfer, but we do not show that in the StatusBar

wmayer

2019-01-01 21:04

administrator   ~0012361

Last edited: 2019-01-01 21:05

View 2 revisions

https://github.com/FreeCAD/FreeCAD/commit/06ef43c77f286f64adc1f90020d51fb3b982d29a

Related Changesets

FreeCAD: master 06ef43c7

2018-12-30 16:57:30

Stian Skjelstad


Committer: wmayer Details Diff
Fix 0003697

We need to initialize progressTime for given number of step-operations too,
else the filter that checks for X ms between each refresh update will always
fail, due to time-difference being way out of range.

Also, 10 updates per second is not a lot, since we also filter out the
QT event loop for long operations performed in the main thread.
Affected Issues
0003697
mod - src/Gui/ProgressBar.cpp Diff File

Issue History

Date Modified Username Field Change
2018-11-17 01:10 Dale Mahalko New Issue
2018-11-17 08:51 chrisb Note Added: 0012203
2018-11-17 08:52 chrisb Severity minor => feature
2018-12-30 23:27 mywave82 Note Added: 0012348
2019-01-01 21:04 wmayer Status new => closed
2019-01-01 21:04 wmayer Resolution open => fixed
2019-01-01 21:04 wmayer Note Added: 0012361
2019-01-01 21:05 wmayer Note Edited: 0012361 View Revisions
2019-08-14 19:30 Kunda1 Changeset attached => FreeCAD master 06ef43c7