Need help with ShapeScript?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

nicklockwood
233 Stars 7 Forks MIT License 232 Commits 1 Opened issues

Description

Source code for the ShapeScript 3D modeling app for macOS

Services available

!
?

Need anything else?

Contributors list

# 2,139
Swift
Shell
Objecti...
React
231 commits
# 15,758
swift4
codable
graphql...
swift5
1 commit

Build Codecov Platforms Swift 5.1 License Twitter

Screenshot

Introduction

ShapeScript is a hybrid scripting/markup language for creating and manipulating 3D geometry using techniques such as extruding or "lathing" 2D paths to create solid 3D shapes, and CSG (Constructive Solid Geometry) to combine or subtract those shapes from one another.

ShapeScript is implemented on top of Euclid, a cross-platform 3D modeling library written in Swift. Anything you can construct using ShapeScript can be replicated programmatically in Swift using Euclid.

ShapeScript is also the scripting language used for the ShapeScript App.

If you would like to support the development of Euclid and the ShapeScript language, please consider buying a copy of ShapeScript (the app itself is free, but there is an in-app purchase to unlock some features).

Installation

ShapeScript is packaged as a dynamic framework, which itself depends on the Euclid framework, a copy of which is included in this repository.

To install the ShapeScript framework using CocoaPods, add the following to your Podfile:

pod 'ShapeScript', '~> 1.3'

To install using Carthage, add this to your Cartfile:

github "nicklockwood/ShapeScript" ~> 1.3

To install using Swift Package Manager, add this to the

dependencies:
section in your Package.swift file:
.package(url: "https://github.com/nicklockwood/ShapeScript.git", .upToNextMinor(from: "1.3.0")),

The repository also includes the ShapeScript Viewer application, a cut-down version of the ShapeScript app available on the Mac App Store. It is not currently possible to install or run this app using CocoaPods, Carthage or Swift Package Manager, however you can run it by opening the included Xcode project and selecting the

ShapeScript Viewer
scheme.

Note: ShapeScript Viewer requires Xcode 11+ to build, and runs on macOS 10.13+.

Usage

The best way to try out ShapeScript is to run the ShapeScript Viewer app (see above).

Once you have opened the app, you can create a new ShapeScript document from the File menu, or open one of the example projects from the Help menu.

ShapeScript does not include a built-in editor. Instead, after opening a shape file in the ShapeScript Viewer, you can select Open in Editor (Cmd-E) from the Edit menu to open the source file in a text editor of your choice.

The ShapeScript Viewer will track changes to the source file and update in real-time as you edit it.

For more information, check out the help section.

Contributing

Feel free to open an issue in Github if you have questions about how to use the library, or think you may have found a bug.

If you wish to contribute improvements to the documentation or the code itself, that's great! But please read the CONTRIBUTING.md file before submitting a pull request.

Credits

The ShapeScript framework and viewer are primarily the work of Nick Lockwood.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.