SilverScreen Solid Modeler



Previous topic Next topic  


Previous topic Next topic JavaScript is required for the print function  


An Abridged History of the World


SilverScreen CAD and Solid ModelerSilverScreenEllipse



First there was SilverScreen, which wrapped our 3D CAD engine and provided users with solid modeling technology and rendering tools.





SilverC Application DevelopmentSilverCEllipse



Next, the SilverC language was created and added to SilverScreen. It is based on Standard C, but was extended to contain an expansive library of routines devoted to 3D modeling applications known as the CAD API. Importantly, this API contains an ss_command function which allows developers to issue script commands to SilverScreen's 3D CAD Engine. The 3D CAD Engine creates drawings, performs modeling and rendering operations, and loads and saves files. This meant programmers familiar with Standard C could readily write software applications that took advantage of SilverScreen's capabilities and 3D graphics API too. All this when MS-DOS was king of the PC and a 10 Megabyte disk seemed too large to ever fill up. Over time, as machines, operating systems and user's expectations evolved, it became apparent SilverC was too closely coupled with SilverScreen to provide the rich user experience customers wanted.

SilverPlus Application DevelopmentSilverPlusEllipse



The SilverPlus development platform extended the capabilities of developers by allowing Win32 and MFC DLLs to be loaded, unloaded, and invoked from SilverC. This meant that developers could now design and use custom dialogs and toolbars, as well as access the large array of routines packaged within the Microsoft Foundation Classes. It also meant their labor-intensive code could be compiled for the native machine and that there was almost no user interface dependence on SilverScreen. This environment operated similarly to an add-on for browsers like Firefox.



SilverEngine Application DevelopmentSilverEngineEllipse



Next, the SilverEngine development platform was created to bundle the CAD API together with the 3D CAD Engine and to expose the CAD API as public functions in a DLL. This meant that the SilverScreen CAD application was no longer a required component for distribution by developers. It also meant that developers were free to design their interface however they saw fit, provided they followed a few guidelines. All of SilverScreen's dialogs, and any interactive prompting necessary to complete a command relying on user input were still available.
NOTE: Also uses callback routines and supports only C/C++.



SilverSharp Application DevelopmentSilverSharpEllipse



The newest development platform is called SilverSharp. It was created so that developers could write their applications using Microsoft's .NET platform. SilverSharp is a managed wrapper for SilverEngine, that exposes the CAD API to all .NET languages that support the .NET CLR (i.e. C#, Visual Basic, etc.). SilverSharp also extends the CAD API in important ways. It adds meaningful routed events, WPF interface classes, type converters, new properties, new methods, and things we deemed more .NET-friendly ways of behaving (like supporting enumerators).
Developers just getting started are encouraged to use SilverSharp, since that offers access to .NET technologies like Windows Presentation Foundation, Windows Communication Foundation, and platforms like Visual C#. There are several samples provided that integrate SilverSharp with Windows WPF applications which you might examine closely. All source code and build projects are provided with the samples and they were designed to be instructive.

SilverScreen CAD and Solid ModelerSilverScreenEllipse


SilverScreen introduces a ribbon interface, which is a more modern interface that helps users locate, learn, and use commands more efficiently. The new interface includes a hierarchical docking tree, full customization, optional legacy menus, and several styles to choose from.


SilverScreen also introduces Direct2D support, which provides anti-aliased lines for wireframe-based renderings.