forked from mcneel/help-docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding developer.rhino3d.com content
- Loading branch information
Showing
353 changed files
with
28,737 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
developer.rhino3d.com |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
source 'https://rubygems.org' | ||
|
||
gem 'github-pages' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,93 @@ | ||
# help-docs | ||
McNeel Help documentation | ||
# developer-rhino3d-com | ||
|
||
This repo contains the contents of http://developer.rhino3d.com | ||
|
||
The site is hosted on [GitHub Pages](https://pages.github.com/) which uses a static site generator called [Jekyll](http://jekyllrb.com/). | ||
|
||
|
||
## Getting Started | ||
|
||
These instructions cover running this project locally on both Mac OS X and Windows so that you can preview changes before pushing them to GitHub Pages. | ||
|
||
First, navigate somewhere safe and clone the repository. | ||
|
||
``` | ||
git clone https://github.com/mcneel/developer-rhino3d-com.git | ||
``` | ||
|
||
If you are not comfortable using git on the command-line, then try [GitHub for Mac](https://mac.github.com/) and [GitHub for Windows](https://windows.github.com/). There's also the [git cheat sheet](https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf). | ||
|
||
Notice that **'gh-pages'** is the only branch. Everything committed to this branch is automatically published when pushed to GitHub. | ||
|
||
|
||
 | ||
### Mac OS X | ||
|
||
Mac OS X Yosemite ships with Ruby and RubyGems, however it's [not wise](https://github.com/mcneel/developer-rhino3d-com/pull/2#issuecomment-112601698) to mess around with this installation. Instead, install your own Ruby using [Homebrew](http://brew.sh). | ||
|
||
#### Install Homebrew and Ruby | ||
|
||
As per the Homebrew website, install via the following one-liner (which will prompt you to install the Xcode Command Line Tools, if you don't already have them). | ||
|
||
``` | ||
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | ||
``` | ||
|
||
Then we can brew Ruby. | ||
|
||
``` | ||
brew install ruby | ||
``` | ||
|
||
Now close and reopen the Terminal window to make sure the system knows about the new version of Ruby. | ||
|
||
#### Install Jekyll | ||
|
||
The [GitHub Pages Ruby Gem](https://github.com/github/pages-gem) provides the same version of Jekyll as exists on the GitHub Pages servers. This ensures we aren't accidentally using features that have either been deprecated or simply don't exist yet! | ||
|
||
``` | ||
gem install github-pages | ||
``` | ||
|
||
You can now serve your local copy of this site by running the following commands, remembering to replace `CLONE_DIRECTORY` with the location to which you checked out this repository. | ||
|
||
``` | ||
cd CLONE_DIRECTORY | ||
jekyll serve | ||
``` | ||
|
||
Navigate to http://localhost:4000 in your browser to view the site. | ||
|
||
|
||
 | ||
### Windows | ||
|
||
While **[Jekyll](http://jekyllrb.com/docs/windows/)** is not officially supported in Windows, it does work. These instructions are based on the official _unofficial_ guide to [installing Jekyll on Windows](http://jekyll-windows.juthilo.com/). | ||
|
||
#### Install Ruby and Ruby DevKit | ||
|
||
Go to http://rubyinstaller.org/downloads/ and download the installer for Ruby 2.1.X that matches your system architecture (x86/x64). | ||
|
||
At the "Installation Destination and Optional Tasks" dialog, make sure to check the **"Add Ruby executable to your PATH"** box. | ||
|
||
Then, from the same page download the Development Kit that corresponds to your Ruby installation. Jekyll won't be fully functional without this. | ||
|
||
Run the self extracting archive, entering the path `C:\RubyDevKit` when prompted. | ||
|
||
To initialise and install the DevKit, open up a command prompt and roll up your sleeves... | ||
|
||
``` | ||
cd C:\RubyDevKit | ||
ruby dk.rb init | ||
ruby dk.rb install | ||
``` | ||
|
||
#### Install Jekyll and serve | ||
|
||
As with OS X, install the GitHub Pages Ruby Gem, navigate to the clone directory and run jekyll. | ||
|
||
``` | ||
gem install github-pages | ||
cd CLONE_DIRECTORY | ||
jekyll serve | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Site settings | ||
title: Rhino Developer Docs | ||
# email: [email protected] | ||
# description: > # this means to ignore newlines until "baseurl:" | ||
# Write an awesome description for your new site here. You can edit this | ||
# line in _config.yml. It will appear in your document head meta (for | ||
# Google search results) and in your feed.xml site description. | ||
baseurl: "" # the subpath of your site, e.g. /blog/ | ||
url: "http://developer.rhino3d.com" # the base hostname & protocol for your site | ||
editMeOnGhBaseUrl: "mcneel/developer-rhino3d-com" | ||
# twitter_username: "" | ||
github_username: mcneel | ||
|
||
# Build settings | ||
#markdown: redcarpet | ||
|
||
# If we decide that we want to use kramdown over redcarpet, syntax | ||
# highlighting is performed by turning on the following options and | ||
# including/running highlight.js (https://highlightjs.org/) at the | ||
# top of pages that need it (probably just add to head.html) | ||
markdown: kramdown | ||
kramdown: | ||
input: GFM | ||
|
||
#port: 4444 | ||
|
||
safe: true | ||
|
||
collections: | ||
- faqs | ||
- guide_topics | ||
- guide_advanced_topics | ||
- api | ||
- glossary | ||
- cheat_sheet_items | ||
- samples | ||
|
||
collections: | ||
guide_topics: | ||
output: true | ||
permalink: /guides/:path/ | ||
api: | ||
output: true | ||
permalink: /api/:path/ | ||
samples: | ||
output: true | ||
permalink: /samples/:path/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- | ||
layout: toc-guide-page | ||
title: Creating a Skin | ||
author: [email protected] | ||
categories: ['Advanced'] | ||
platforms: ['Windows'] | ||
apis: ['RAP', 'C/C++'] | ||
languages: ['C/C++'] | ||
keywords: ['skin', 'RAP', 'rhino'] | ||
TODO: 1 | ||
origin: http://wiki.mcneel.com/developer/sdksamples/skin | ||
order: 4 | ||
--- | ||
|
||
# Creating a Skin | ||
{: .toc-title } | ||
|
||
TODO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- | ||
layout: toc-guide-page | ||
title: Installing Tools (Windows) | ||
author: [email protected] | ||
categories: ['GettingStarted'] | ||
platforms: ['Windows'] | ||
apis: ['C/C++'] | ||
languages: ['C/C++'] | ||
keywords: ['c', 'C/C++', 'plugin'] | ||
TODO: 1 | ||
origin: https://wiki.mcneel.com/developer/cplusplusplugins | ||
order: 2 | ||
--- | ||
|
||
# Installing Tools (Windows) | ||
{: .toc-title } | ||
|
||
TODO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
layout: toc-guide-page | ||
title: What is the C/C++ SDK? | ||
author: [email protected] | ||
categories: ['Overview'] | ||
platforms: ['Windows'] | ||
apis: ['C/C++'] | ||
languages: ['C/C++'] | ||
keywords: ['c', 'C/C++', 'plugin'] | ||
TODO: 1 | ||
origin: https://wiki.mcneel.com/developer/cplusplusplugins | ||
order: 1 | ||
--- | ||
|
||
# What is the C/C++ SDK? | ||
{: .toc-title } | ||
|
||
TODO | ||
|
||
Also port from [https://wiki.mcneel.com/developer/sdksamples/faq](https://wiki.mcneel.com/developer/sdksamples/faq) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
layout: toc-guide-page | ||
title: Creating your first C/C++ plugin for Rhino | ||
author: [email protected] | ||
categories: ['GettingStarted'] | ||
platforms: ['Windows'] | ||
apis: ['C/C++'] | ||
languages: ['C/C++'] | ||
keywords: ['c', 'C/C++', 'plugin'] | ||
TODO: 1 | ||
origin: https://wiki.mcneel.com/developer/sdksamples/rhino5pluginwiz | ||
order: 3 | ||
--- | ||
|
||
# Your First Plugin (Windows) | ||
{: .toc-title } | ||
|
||
TODO | ||
|
||
Also port from: [https://wiki.mcneel.com/developer/sdksamples/addcommand](https://wiki.mcneel.com/developer/sdksamples/addcommand) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
--- | ||
layout: toc-guide-page | ||
title: Developer Prerequisites | ||
author: [email protected] | ||
categories: ['General'] | ||
platforms: ['Cross-Platform'] | ||
apis: ['General'] | ||
languages: ['All'] | ||
keywords: ['developer', 'rhino'] | ||
TODO: 1 | ||
origin: http://wiki.mcneel.com/developer/learningresources | ||
order: 1 | ||
--- | ||
|
||
|
||
# Developer Prerequisites | ||
{: .toc-title } | ||
|
||
There are a number of prerequisites required to do Rhino development. Broadly speaking, these can be divided into three categories, ranked in ascending order of difficulty: | ||
|
||
1. [Hardware prerequisites](#hardware) | ||
1. [Software prerequisites](#software) | ||
1. [Programming Knowledge](#programming-knowledge) | ||
|
||
## Hardware | ||
{: .toc-header } | ||
|
||
If you are reading this guide, you likely already have a computer that can run Rhino. (If not, Rhino has some minimum [System Requirements](http://www.rhino3d.com/system_requirements/) that you should review before acquiring any hardware). Generally speaking, any computer that can run Rhino *ought* to be able to run the developer tools outlined in the [Software](#software) section. | ||
|
||
If you are a Windows user and wish to develop plugins for Rhino for Mac, you will need an Apple Mac computer. Conversely, if you are an OS X user and you wish to develop for Rhino for Windows, you will need a computer that can run Rhino for Windows (however, virtual machines running Windows under OS X can potentially work just fine). | ||
|
||
|
||
## Software | ||
{: .toc-header } | ||
|
||
Depending on what you want to do, the software prerequisites vary. However, in general, you will need: | ||
|
||
- [Rhinoceros](http://www.rhino3d.com/download) | ||
- A code editor. There are many options...here are a few: | ||
- [Visual Studio](https://www.visualstudio.com): Microsoft's flagship IDE. | ||
- [Xamarin Studio](http://xamarin.com/studio): Xamarin's Cross-Platform C# IDE. | ||
- [Atom](https://atom.io/): A Cross-Platform Extensible Text Editor. | ||
|
||
See the [SDK-specific guides]({{ site.baseurl }}/guides/) for the software prerequisites...normally found in the *"Installing Tools"* guides. | ||
|
||
## Programming Knowledge | ||
{: .toc-header } | ||
|
||
Acquiring programming knowledge is the most labor intensive prerequisite. However, learning to program - even trying out a new language - is fun and enriching. Learning to program using Rhino is a great way to begin... | ||
|
||
#### Learning C# .NET | ||
{: .toc-subheader } | ||
|
||
If you wish to write plugins with RhinoCommon, you will need to understand a .NET compatible programming language like C# (or VB.NET). We recommend [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language)) (C Sharp) because it is modern, safe, and easy to learn - and you can develop in C# on both Windows and OS X. | ||
|
||
*Watch*... | ||
|
||
- [Beginning C# Programming](http://shop.oreilly.com/product/0636920036036.do) By Eric Lippert - Published by O'Reilly Media | ||
- [C# Fundamentals for Absolute Beginners](https://www.microsoftvirtualacademy.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-8295) on Microsoft's Virtual Academy | ||
- [C# Essential Training](http://www.lynda.com/C-tutorials/C-Essential-Training/188207-2.html) with David Gassner on Lynda.com | ||
|
||
*Read*... | ||
|
||
- [Programming C# 5.0](http://shop.oreilly.com/product/0636920024064.do) By Ian Griffiths - Published by O'Reilly Media | ||
- [C# 5.0 in a Nutshell](http://shop.oreilly.com/product/0636920023951.do) By Joseph Albahari, Ben Albahari - Published by O'Reilly Media | ||
|
||
*Do*... | ||
|
||
- [Check out samples]({{ site.baseurl }}/samples/#rhinocommon) on this site | ||
- [Ask for help on Discourse](http://discourse.mcneel.com/c/rhino-developer) | ||
|
||
#### Learning C/C++ | ||
{: .toc-subheader } | ||
|
||
To write plugins for Rhino using the C/C++ SDK, you first need to learn the [C++ programing language](https://en.wikipedia.org/wiki/C%2B%2B) itself. C/C++ is sometimes considered an "advanced" programming language. | ||
|
||
*Watch*... | ||
|
||
- [C++: A General Purpose Language](https://www.microsoftvirtualacademy.com/en-us/training-courses/c-a-general-purpose-language-and-library-jump-start-8251) on Microsoft Virtual Academy | ||
- [C++ Essential Training](http://www.lynda.com/C-tutorials/C-Essential-Training/182674-2.html) with Bill Weinmann on Lynda.com | ||
|
||
*Read*... | ||
|
||
- [The C Programming Language](https://en.wikipedia.org/wiki/The_C_Programming_Language) by Ian Kernighan and Dennis Ritchie | ||
- [Practical C++ Programming](http://shop.oreilly.com/product/9780596004194.do) by Steve Oualline - Published by O'Reilly Media | ||
- [C++ Primer Plus](http://www.amazon.com/Primer-Plus-Edition-Developers-Library/dp/0321776402) by Stephen Prata | ||
|
||
*Do*... | ||
|
||
- [Check out samples]({{ site.baseurl }}/samples/#cc) on this site | ||
- [Ask for help on Discourse](http://discourse.mcneel.com/c/rhino-developer) | ||
|
||
#### Learning Python | ||
{: .toc-subheader } | ||
|
||
[Python](https://en.wikipedia.org/wiki/Python_(programming_language)) is a fantastic first language and an amazingly flexible additional language to add to your toolkit. | ||
|
||
*Watch*... | ||
|
||
- [Google's Python Class](https://developers.google.com/edu/python/) by Google for Education | ||
- [Up and Running with Python](http://www.lynda.com/Python-tutorials/Up-Running-Python/122467-2.html) with Joe Marini on Lynda.com | ||
|
||
|
||
*Read*... | ||
|
||
- [RhinoPython Primer](http://www.rhino3d.com/download/IronPython/5.0/RhinoPython101) by Skylar Tibbits, Arthur van der Harten, Steve Baer, and David Rutten | ||
- [The Python Tutorial](https://docs.python.org/2/tutorial/index.html) by the Python Software Foundation | ||
- [Learn Python the Hard Way](http://learnpythonthehardway.org/book/) by Zed A. Shaw - despite the title, this is a beginner's book | ||
- [Automate The Boring Stuff With Python](https://automatetheboringstuff.com/) by Al Sweigart | ||
|
||
|
||
*Do*... | ||
|
||
- [Check out samples]({{ site.baseurl }}/samples/#rhinopython) on this site | ||
- [Ask for help on Discourse](http://discourse.mcneel.com/c/scripting) | ||
|
||
#### Learning RhinoScript | ||
{: .toc-subheader } | ||
|
||
RhinoScript is a scripting tool based on Microsoft's VBScript language. RhinoScript runs in Rhino for Windows. | ||
|
||
*Read*... | ||
|
||
- [RhinoScript Primer](http://www.rhino3d.com/download/rhino/5.0/rhinoscript101) by David Rutten | ||
- [Microsoft VBScript User's Guide and Language Reference](https://msdn.microsoft.com/en-us/library/t0aew7h6(VS.85).aspx) | ||
|
||
*Do*... | ||
|
||
- [Check out samples]({{ site.baseurl }}/samples/#rhinoscript) on this site | ||
- [Ask for help on Discourse](http://discourse.mcneel.com/c/scripting) | ||
|
||
--- | ||
|
||
## Related topics | ||
{: .toc-header } | ||
|
||
- [What is a Rhino Plugin?]({{ site.baseurl }}/guides/general/what_is_a_rhino_plugin/) | ||
- <a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language">C Sharp on Wikipedia</a> | ||
- [C++ on Wikipedia](https://en.wikipedia.org/wiki/C%2B%2B) | ||
- [Python on Wikipedia](https://en.wikipedia.org/wiki/Python_(programming_language)) |
Oops, something went wrong.