CADability icon indicating copy to clipboard operation
CADability copied to clipboard

πŸš€ CADability 2.0 - Feature & Improvement Ideas

Open dsn27 opened this issue 10 months ago β€’ 4 comments

We are planning the next major version of CADability and would love to gather ideas for improvements, new features, and necessary refactorings. This issue serves as a central place for discussion and brainstorming. βœ… Current Ideas:

πŸ“¦ Create a NuGet Package
Provide an easy way to install and manage CADability as a package.

πŸ”„ Remove dependency on Wintellect.PowerCollections
Consider replacing it with .NET collections or another well-maintained alternative.

πŸ“ Better separation of GUI and Math Kernel
Enhance modularity to make the core independent of the UI framework.

πŸ§ͺ Add more Unit Tests
Increase test coverage to improve reliability and stability.

πŸ’‘ Suggest Your Ideas!

If you have suggestions, please comment below with:

A short description of the feature/improvement.
Why it is needed.
Any potential challenges or considerations.

Let’s make CADability 2.0 better together! πŸš€

dsn27 avatar Mar 19 '25 14:03 dsn27

πŸ“Œ Description

Adding support for DXF (including legacy versions) and DWG file formats would improve CADability’s interoperability with other CAD software. The implementation should follow a plugin-based approach, allowing future support for additional file formats with minimal changes to the core system.

πŸ’‘ Why It’s Needed

  • DXF and DWG are widely used CAD formats, making CADability more versatile.
    
  • Supporting older DXF versions ensures compatibility with legacy systems.
    
  • A plugin-based approach future-proofs CADability by making it easier to extend with new formats without modifying the core codebase.
    

⚠️ Potential Challenges & Considerations

  • DXF and DWG have complex and evolving specifications, requiring careful implementation.
    
  • A modular plugin system must be well-designed to ensure seamless integration of additional file formats in the future.
    

dsn27 avatar Mar 20 '25 06:03 dsn27

  • Description: Adapting the new DebuggerVisualizer Model.

  • Why it's needed: Debugging geometrical algorithms is practically impossible without the use of a visual debugger. I didn't update my VisualStudio because of that.

  • Potential Challenges & Considerations It is hard to debug the visual debugger.

SOFAgh avatar Mar 20 '25 08:03 SOFAgh

  • Description: Implement a more portable version of CADability.Forms, maybe based on Avalonia.
  • Why we need it: CADability would also run on Linux, Android or even WebAssembly, i.e. it would run directly in the browser
  • Potential Challenges & Considerations: Most classes in CADability.Forms like PropertPage, PropertiesExplorer, MenuManager could easily be converted to Avalonia. PaintToOpenGL would be a bigger task: we would have to switch to OpenGL 3.0 with shader and vertex buffer. But this would be a good idea anyhow.

SOFAgh avatar Mar 20 '25 08:03 SOFAgh

  • A short description of the feature/improvement. Descriptive, text-based script support to execute the modeling action and get object data, like OpenSCAD.

  • Why it is needed. Easy to be integrated in other system without UI interactions and APIs call.

  • Any potential challenges or considerations. The workload for development will be substantial, and also need to maintain both sides interaction simultaneously.

LdotJdot avatar Oct 17 '25 07:10 LdotJdot

Separation of the math kernel from the UI is highly desirable but massive task. The deep dependencies between the entire app shell classes (like Frame etc) and the GeoObjects makes it tough to support other platforms like the Web.

stefan-tb avatar Nov 25 '25 14:11 stefan-tb