MIT License

项目介绍

moethu/SketchUpNET 是一个托管在 GitHub 上的开源项目,主要使用 C 编写,采用 MIT License 许可证,目前获得 115 个 Star、34 次 Fork。

仓库全名
moethu/SketchUpNET
开源许可证
MIT License
Star 数
115
Fork 数
34
未关闭 Issue
17

README 摘要

SketchUpNET C++/CLI API Wrapper for the Trimble(R) SketchUp(R) C API. http://www.sketchup.com/intl/en/developer/api-terms-of-service.pdf This library adds .NET support to the existing SketchUp C-API. It makes most SketchUp C-API features available in .NET and therefore accessible in C# or VB applications. You can download a pre-built release of the library or build it yourself from scratch. Code-Examples This Repo…

完整内容见 GitHub 原始 README 或本页 。

常见问题

SketchUpNET 用什么语言开发?

主要使用 C 编写,采用 MIT License 许可证,目前有 115 个 Star。

SketchUpNET 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 SketchUpNET 的源码?

可以直接克隆仓库:git clone https://github.com/moethu/SketchUpNET.git;安装与运行步骤见仓库 README。

SketchUpNET 最近还在维护吗?

仓库最近一次更新为 2022年9月16日,当前有 17 个未关闭 Issue;Star 数为 115,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

SketchUp C# API - A C++/CLI API Wrapper for the Trimble(R) SketchUp(R) C API

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
298
价值分
89
活跃状态
活跃

语言占比

C
C#
C++
Objective-C

Release

README

SketchUpNET

C++/CLI API Wrapper for the Trimble® SketchUp® C API. http://www.sketchup.com/intl/en/developer/api-terms-of-service.pdf

This library adds .NET support to the existing SketchUp C-API. It makes most SketchUp C-API features available in .NET and therefore accessible in C# or VB applications. You can download a pre-built release of the library or build it yourself from scratch.

Code-Examples

This Repo contains three sample projects using SketchUpNET in C#.NET:

  • SketchUpForDynamo: An Autodesk’s® Dynamo Node Package allowing you to read/write SketchUp files from Dynamo.
  • SketchUpForGrasshopper: A Set of Components for McNeel’s® Grasshopper® allowing you to read/write SketchUp files from GH.
  • SketchUpNETConsole: A sample C# console application using SketchUpNET.

If you want to build your own application using the SketchUp API take the following steps:

Loading a Model
SketchUpNET.SketchUp skp = new SketchUp();
skp.LoadModel("myfile.skp", true);
foreach (var srf in skp.Surfaces) {
  // do something with your surfaces
}
Saving a Model
skp.WriteNewModel("filename.skp");
Converting a Model
SketchUpNET.SketchUp skp = new SketchUp();
skp.SaveAs("old-file.skp", SKPVersion.V2020, "new-file.skp");
Writing a Surface to a File
SketchUpNET.SketchUp skp = new SketchUpNET.SketchUp();
skp.Layers = new List<Layer>() { new Layer("Layer0") };
skp.Surfaces = new List<Surface>();
skp.Curves = new List<Curve>();
skp.Edges = new List<Edge>();
List<SketchUpNET.Vertex> Verticies = new List<SketchUpNET.Vertex>();

SketchUpNET.Loop OuterEdges = new SketchUpNET.Loop();
OuterEdges.Edges = new List<Edge>();
{
  OuterEdges.Edges.Add(new SketchUpNET.Edge(new Vertex(0, 0, 0), new Vertex(500, 0, 0), "Layer0"));
  OuterEdges.Edges.Add(new SketchUpNET.Edge(new Vertex(500, 0, 0), new Vertex(500, 500, 0), "Layer0"));
  OuterEdges.Edges.Add(new SketchUpNET.Edge(new Vertex(500, 500, 0), new Vertex(0, 500, 0), "Layer0"));
  OuterEdges.Edges.Add(new SketchUpNET.Edge(new Vertex(0, 500, 0), new Vertex(0, 0, 0), "Layer0"));
}

List<Loop> InnerLoops = new List<Loop>();
{
  SketchUpNET.Loop InnerEdges = new SketchUpNET.Loop();
  InnerEdges.Edges = new List<Edge>();
  InnerEdges.Edges.Add(new SketchUpNET.Edge(new Vertex(100, 100, 0), new Vertex(400, 100, 0), "Layer0"));
  InnerEdges.Edges.Add(new SketchUpNET.Edge(new Vertex(400, 100, 0), new Vertex(400, 400, 0), "Layer0"));
  InnerEdges.Edges.Add(new SketchUpNET.Edge(new Vertex(400, 400, 0), new Vertex(100, 400, 0), "Layer0"));
  InnerEdges.Edges.Add(new SketchUpNET.Edge(new Vertex(100, 400, 0), new Vertex(100, 100, 0), "Layer0"));
  InnerLoops.Add(InnerEdges);
}

SketchUpNET.Surface s = new SketchUpNET.Surface(OuterEdges, InnerLoops);
skp.Surfaces.Add(s);

skp.WriteNewModel(@"TempModel.skp");

Requirements

If not installed you might requires Visual C++ Redistributable Packages for Visual Studio https://www.microsoft.com/en-sg/download/details.aspx?id=40784

The library requires the SketchUp C API which is part of the package.

nuget Binaries

SketchUpNET is available as a precompiled binary on nuget: https://www.nuget.org/packages/SketchUpNET/

评论

暂无评论