Super slow run time

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi everybody. I'm new to this forum and relatively new to Fusion 360. However, I am an old, old dog when it comes to procedural design (2D and 3D CAD using an API), also known as module generation, with over 30 years experience doing design this way. I never use the GUI of a CAD tool except to inspect the output of my generator.
I've also been programming in Python since 1995, so I have been looking forward with anticipation to moving to Fusion 360 from OpenSCAD, which is a rapid-prototyping module-generation system I've used for some time now.
But first, huge kudos to Brian E. and his team for making such a complete, thorough, well-documented and seemingly super-useful api to Fusion. I know you've been at it for years and I'm sure it was a slog at times.
Compared to Fusion 360, OpenSCAD is a toy. Yet for a toy, it's utterly putting Fusion to shame in terms of ease of use, language simplicity, performance, and memory usage.
My design on Fusion is running ~1000x slower than my OpenSCAD implementation (20 seconds on OpenSCAD and 20 minutes and counting (job not finished yet) on Fusion) and using ~100x more memory (234MB on OpenSCAD vs 20GB and counting (job not finished yet) on Fusion).
I am using the DirectDesignType of design, which I have turned from Fusion's preferences. I am also experimenting with this in my python code:
# go to direct modeling -- turn off parametric design # and turn off tracking timeline design.designType=adsk.fusion.DesignTypes.DirectDesignType
though I can't say for sure if the above is working.
So I'm frustrated. More than half of my interactions with Fusion 360 and the api end up with me killing Fusion and restarting. The difference between using the DirectDesignType directive and not is between having the job run, after ~30 minutes, vs. having Fusion hang forever and me having to kill the job.
I'm doing nothing fancy at all in my script. Just laying down around 300 to 400 circles in a computed, grid-like layout. The computations for placing the circles are trivial and involve simple, integer arithmetic (+, -, *, / operators only). My computer is a still-current beast running Windows 10 on an Intel Core i7-3930K CPU at 3.2GHz with 32GB RAM and tons of disk.
I figure I must be missing something here. I know the architecture of a CAD system built for API-centric design is different than one built for GUI-centric design since I've built systems like this, myself. But, I wouldn't expect this big a differential in performance, memory or ease of use after so many years of labor and optimization behind the Fusion api.
Anybody have any idea what I could be doing wrong?