xCAD.NET is a framework which is designed to simplify development of software for SOLIDWORKS in .NET (C# and VB.NET).
Framework provides utilities for implementation software design principles such as S.O.L.I.D, type safety, single point of maintenance for developing maintainable and scalable solutions for SOLIDWORKS and other CAD systems.
There are 3 main section of CAD functionality which are covered by framework
- Extensions - add-in skeleton, commands, menus, toolbars, events management, data access
- Property Pages - building native property pages with data binding
- Custom Feature - building parametric native features
Example projects are published in the GitHub Repository.
Framework enables the abstraction layers over the CAD API allowing CAD agnostic development.
- Interfaces defined in the Xarial.XCad provide highest level of abstraction and completely hide the references to any CAD system, neither reference any interops or namespaces. Use this to develop CAD agnostic applications. All interface names start with IX, e.g. IXApplication, IXDocument, IXFace
- Interfaces defined in Xarial.XCad.SolidWorks or other CAD systems (future). This is an implementation of the base interfaces. This library contains references to specific CAD system and might contain functionality specific to this CAD system. For example SwApplication is an implementation of IXApplication, SwDocument is an implementation of IXDocument. Naming convention follows the short name of the CAD system at the start of the name.
- Access to native APIs. All the xCAD wrapper classes provide access to native (underlying) APIs. For example SwApplication.Sw would return the pointer to ISldWorks, SwDocument.Model returns the IModelDoc2 and SwEntity.Entity points to IEntity