solvespace
sciter
Our great sponsors
solvespace | sciter | |
---|---|---|
68 | 84 | |
2,983 | 2,563 | |
1.2% | 0.2% | |
7.0 | 0.0 | |
10 days ago | 11 months ago | |
C++ | C++ | |
GNU General Public License v3.0 only | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
solvespace
-
RattleCAD
>> Also, rattleCAD has been inspired by Linkage app.
If you like Linkage, you might also like Solvespace.
> If you like Linkage, you might also like Solvespace.
No, I mean Brent Curry's Linkage[1] bicycle design software, not David Rector's Linkage Mechanism Designer and Simulator[2].
You should read Wikipedia article.[0]
N.B. About SolveSpace, as I'm its experienced user[youtube,patreon], I may say next: yes, it could be used for bike mockup, as any other CAD, but it still has a lot of limitations and even does not export correct STEP files yet[3], and in FreeCAD such STEP could fixed only partially.[video]
So, for serious 3D CAD work I highly recommend use FreeCAD (and LibreCAD for 2D CAD work) instead of SolveSpace, and use SolveSpace only as a helper tool like a calc or as a notepad for noting ideas.
About Linkage Mechanism Designer and Simulator, it is only useful for planar (2D) kinematics analyze, and if You are looking an alternative for it take a look on Pyslvs[4], that is in part based on SolveSpace's solver.
[0] https://en.wikipedia.org/wiki/rattleCAD#History
[2] https://blog.rectorsquid.com/linkage-mechanism-designer-and-...
[3] https://github.com/solvespace/solvespace/issues/206
[4] https://github.com/KmolYuan/Pyslvs-UI
[video] https://www.youtube.com/watch?v=F3LJMeqUDrU
[youtube] https://www.youtube.com/@appsoft
[patreon] https://patreon.com/app4soft
- SolveSpace has been ported to Qt
-
Ask HN: What are some of the most elegant codebases in your favorite language?
C++ this file covers all the math for working with NURBS curves and surfaces:
https://github.com/solvespace/solvespace/blob/master/src/srf...
There is a lot more in other files - triangulation, booleans, creation - but the core math functions are there in very readable form.
-
The Great CPU Stagnation
>> Maybe somebody has statistical survey of how much of the existing deployed CPU core count is typically used?
My guess is very few cores are used on average. I did some testing with Solvespace to see which build options contributed most to performance:
https://github.com/solvespace/solvespace/issues/972
Obviously using OpenMP for multi-core was the big win. But what's not shown is that in typical usage (not the test I ran) if you're dragging some geometry around it will use all cores (in my case 4 cores / 8 threads) at about 50 percent utilization. That percentage probably drops as more cores are thrown at it due to Amdahl's Law. In other words, throwing double the cores at it will give a good boost to a lot of code that is already taking less than half the time (wall clock time, not CPU time).
We added OpenMP to a number of functions for significant performance gains. And in fact, any remining single-thread operation that gets the parallel treatment is likely to have a significant impact on overall performance since that is where most of the time is spent now. At this point we're more focused on features and bugs.
Algorithmic improvements are possible and I'd like to do those in the future, but they are much harder to do than sprinkling some #pragmas around critical loops. That will improve the scalability though, where multithreading really did not.
- Loving Solvespace
-
FreeCAD Day 2023: Report and Continued Discussion
N.B. I'm a mod of r/SolveSpace community on Reddit.[0]
> There is a reason people love Solvespace over FreeCAD even though it is incredibly limited in comparison.
As a SolveSpace user for nearly a decade, who started to learn FreeCAD last month, I may say that both apps has own pros'n'cons: SolveSpace has simpler UI (but lack of features for experts), while FreeCAD has a lot of features (but UI to complex for "normal" users).
About "limited in comparison", he is may latest quick comparison of both apps:[1]
SolveSpace is a good "Stage 1" tool for sketching ideas, while FreeCAD is more like "Stage 2" tool for converting sketch into real product. SolveSpace exported DXF (2D & 3D wireframe) & STL/OBJ (mesh) could be used as a base for FreeCAD and other apps (Blender, LibreCAD).[2]
While SolveSpace is not a competitor to FreeCAD, it still could be used for design wide range of complex things for 3D printing or shop drawings, including assemblies.[3,4,5,6]
The main problem of SolveSpace, is that it still has broken STEP export, as a result exported solid surfaces are non-manifold and after import into FreeCAD it is almost unusable (it may require a lot of work with "Shape builder" and "Surface" Workbench to revert it back to solid body).[7]
There are also many NURBS & mesh issues in SolveSpace worse to fix.[8]
[0] https://old.reddit.com/r/solvespace
[1] https://fosstodon.org/@app4soft/109812747058078617
[2] https://fosstodon.org/@app4soft/109813465975914195
[3] https://fosstodon.org/@app4soft/109740222184364152
[4] https://fosstodon.org/@app4soft/107098074104816439
[5] https://fosstodon.org/@app4soft/109804453127760634
[6] https://twitter.com/app4soft/status/1479875838451585026
- Coolest projects, GO!
-
That Annoying Shade of Blue
https://github.com/solvespace/solvespace/pull/446
It's the blue and yellow only, but IMHO it made Solvespace a lot more readable.
- Usability
sciter
-
Show HN: Dropflow, a CSS layout engine for node or <canvas>
> wondering if css and svg could be used as abstraction over graphics and UI libraries
There's another project called Sciter that uses CSS to target native graphics libraries: https://sciter.com
> I wonder how hard it was to implement css. I've heard it can be pretty complex.
It was hard, but the biggest barrier is the obscurity of the knowledge.
Text layout is the hardest, because working with glyphs and iterating them in reverse for RTL is brain-breaking. And line wrapping gets really complicated. It's also the most obscure because nobody has written down everything you need to know in one place. After I finished block layout early on, I had to stop for a couple of years (only working a few hours a week though) and learn all of the ins, outs, dos, and don'ts around shaping and itemizing text. A lot of that I learned by reading Pango's [1] source code, and a lot I pieced together from Google searches.
But other than that, the W3C specifications cover almost everything. The CSS2 standard [2] is one of the most beautiful things I've ever read. It's internally consistent, concise, and obviously the result of years of deliberation, trial and error. (CSS3 is great, but CSS2 is the bedrock for everything).
- Ask HN: Fastest cross-platform GUI stack/strategy
-
Immediate Mode GUI Programming
otherwise, if we have only retained mode as in browsers, we will need to modify the DOM heavily and create temporary elements for handles.
- This year in Servo: over 1000 pull requests and beyond
-
Rusty revenant Servo returns to render once more
I've still never used it but I've long been curious about Sciter:
- Ode to the M1
-
So you want to write a GUI framework (2021)
These bullet points are exactly what I did in Sciter (https://sciter.com)
- Windowing
-- Tabs
-- Menus
-- Painting
-- Animation
-- Text
-The compositor
-Handling input
-- Pointer input
-- Keyboard input
- Accessibility
- Internationalization and localization
- Cross-platform APIs
- The web view
- Native look and feel
On top of that DOM and CSS implementations to achieve declarative UI. And JS as a languuage behind UI - declarative in some sense way of defining UI behavior.
-
Servo, the parallel browser engine written in Rust
I'm not sure if it can support all the libraries but yes it can be used to make desktop apps. Theres also Sciter.
-
Digital Audio Workstation Front End Development Struggles
I agree web stuff is really the best way to develop UIs. Good luck making responsive stuff in C++ for example. The paradigm of HTML, CSS, and JS is extremely powerful and even allows you to use canvas, webgpu, wasm.
There are multiple commercial projects that use web dev paradigm for GUIs:
-
RePalm
I did UI part of it.
Up until last year my Sciter ( https://sciter.com ) worked on WinCE.
Dropped support after my last customer that was using WinCE decided to drop support of that OS.
WinCE had pretty solid and stable core runtime and API. Graphics was limited by GDI (no antialiasing and alpha channel) but that was the only major problem.
What are some alternatives?
webview - Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).
qt - Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
flexboard - React component library for re-sizable sidebars
RmlUi - RmlUi - The HTML/CSS User Interface library evolved
NanoGUI - Minimalistic GUI library for OpenGL
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Wails - Create beautiful applications using Go
libRocket - libRocket - The HTML/CSS User Interface library
cadquery - A python parametric CAD scripting framework based on OCCT
Autodesk-Fusion-360-for-Linux - This is a project, where I give you a way to use Autodesk Fusion 360 on Linux!
blender-cad-tools - a collection of Blender addons to make CAD design with Blender even more enjoyable