OpenSkp 0.3.0
See the version list below for details.
dotnet add package OpenSkp --version 0.3.0
NuGet\Install-Package OpenSkp -Version 0.3.0
<PackageReference Include="OpenSkp" Version="0.3.0" />
<PackageVersion Include="OpenSkp" Version="0.3.0" />
<PackageReference Include="OpenSkp" />
paket add OpenSkp --version 0.3.0
#r "nuget: OpenSkp, 0.3.0"
#:package OpenSkp@0.3.0
#addin nuget:?package=OpenSkp&version=0.3.0
#tool nuget:?package=OpenSkp&version=0.3.0
OpenSKP — C# / .NET SketchUp Binary Parser
OpenSKP is a pure class library that enables programmatic parsing of SketchUp (.skp) binary files without requiring Trimble SketchUp or its proprietary SDK.
🌟 Vision
Provide .NET developers (desktop, cloud, and mobile) with native, fast, zero-dependency access to SketchUp 3D models. Works seamlessly across Windows, macOS, Linux, and Xamarin/MAUI platforms.
🌐 Try the Live Web Viewer (Drag-and-Drop)
🚀 Installation
Install the package via the .NET CLI:
dotnet add package OpenSkp
Or via the NuGet Package Manager:
Install-Package OpenSkp
💻 Quick Start
1. Parse an SKP File
Open and parse a SketchUp model to inspect its metadata:
using System;
using OpenSkp;
class Program
{
static void Main()
{
// Open and decode an SKP file
SkpModel model = SkpFile.Open("house.skp");
Console.WriteLine($"SketchUp File Version: {model.Version}");
// Print Layer Names
Console.WriteLine("Layers:");
foreach (var layer in model.Layers)
{
Console.WriteLine($"- {layer.Name} (RGB: {layer.ColorR}, {layer.ColorG}, {layer.ColorB})");
}
// Print Materials List
Console.WriteLine("Materials:");
foreach (var material in model.Materials)
{
Console.WriteLine($"- {material.Name} (Transparency: {material.Transparency})");
}
// Walk component definitions and their geometry
foreach (var (id, def) in model.Definitions)
{
Console.WriteLine($"Definition {id}: {def.Name} - {def.Vertices.Count} vertices, {def.Faces.Count} faces");
}
// model.Root holds whatever is placed directly in the model (not
// inside any component/group), including root-level instances.
Console.WriteLine($"Root-level instances: {model.Root.Instances.Count}");
}
}
⚙️ Target Frameworks
OpenSKP targets .NET Standard 2.0, ensuring full compatibility with:
- .NET 5 / 6 / 7 / 8 / 9 (Console, Web APIs, ASP.NET Core)
- .NET Core 2.0+
- .NET Framework 4.6.1+ (WPF, WinForms)
- Mono / Xamarin / .NET MAUI (iOS, Android)
🖥️ Monorepo Package Ecosystem
OpenSKP is designed as a unified cross-platform monorepo:
- Python Package (
openskp) - TypeScript / JS Package (
openskp) - .NET Package (
OpenSkp) - Dart Package (
openskp)
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on OpenSkp:
| Package | Downloads |
|---|---|
|
OpenSkp.Fragments
Direct SketchUp (.skp) -> ThatOpen Fragments (.frag) export for OpenSkp - EXPERIMENTAL. Separate, opt-in package (mirrors Python's `pip install openskp[fragments]` extra) so the core OpenSkp package stays dependency-free for every other consumer; this one package takes the Google.FlatBuffers dependency Fragments export actually needs. |
GitHub repositories
This package is not used by any popular GitHub repositories.