From 60b4fede12cac5a1463da317bd3ae9f5727ee5b6 Mon Sep 17 00:00:00 2001 From: Curtis Wensley Date: Mon, 16 Dec 2024 10:15:24 -0800 Subject: [PATCH] Add GH2 template --- .../.template.config/dotnetcli.host.json | 52 ++++++ .../.template.config/ide.host.json | 8 + .../.template.config/template.json | 157 ++++++++++++++++++ .../CSGrasshopper2/.vscode/launch.json | 47 ++++++ .../content/CSGrasshopper2/.vscode/tasks.json | 21 +++ .../Icons/MyGrasshopper__1Component.3dm | Bin 0 -> 37926 bytes .../Icons/MyGrasshopper__1Component.ghicon | Bin 0 -> 2729 bytes .../Icons/MyGrasshopper__1Plugin.3dm | Bin 0 -> 3005442 bytes .../Icons/MyGrasshopper__1Plugin.ghicon | Bin 0 -> 897 bytes .../CSGrasshopper2/MyGrasshopper.1.csproj | 88 ++++++++++ .../MyGrasshopper.1PluginInfo.cs | 15 ++ .../MyGrasshopper__1Component.cs | 102 ++++++++++++ .../Properties/launchSettings.json | 20 +++ build/GenerateTemplates.proj | 27 ++- 14 files changed, 536 insertions(+), 1 deletion(-) create mode 100755 Rhino.Templates/content/CSGrasshopper2/.template.config/dotnetcli.host.json create mode 100755 Rhino.Templates/content/CSGrasshopper2/.template.config/ide.host.json create mode 100755 Rhino.Templates/content/CSGrasshopper2/.template.config/template.json create mode 100644 Rhino.Templates/content/CSGrasshopper2/.vscode/launch.json create mode 100644 Rhino.Templates/content/CSGrasshopper2/.vscode/tasks.json create mode 100644 Rhino.Templates/content/CSGrasshopper2/Icons/MyGrasshopper__1Component.3dm create mode 100644 Rhino.Templates/content/CSGrasshopper2/Icons/MyGrasshopper__1Component.ghicon create mode 100644 Rhino.Templates/content/CSGrasshopper2/Icons/MyGrasshopper__1Plugin.3dm create mode 100644 Rhino.Templates/content/CSGrasshopper2/Icons/MyGrasshopper__1Plugin.ghicon create mode 100755 Rhino.Templates/content/CSGrasshopper2/MyGrasshopper.1.csproj create mode 100644 Rhino.Templates/content/CSGrasshopper2/MyGrasshopper.1PluginInfo.cs create mode 100644 Rhino.Templates/content/CSGrasshopper2/MyGrasshopper__1Component.cs create mode 100644 Rhino.Templates/content/CSGrasshopper2/Properties/launchSettings.json diff --git a/Rhino.Templates/content/CSGrasshopper2/.template.config/dotnetcli.host.json b/Rhino.Templates/content/CSGrasshopper2/.template.config/dotnetcli.host.json new file mode 100755 index 0000000..e53ed79 --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/.template.config/dotnetcli.host.json @@ -0,0 +1,52 @@ +{ + "$schema": "http://json.schemastore.org/dotnetcli.host", + "symbolInfo": { + "IncludeSample": { + "longName": "include-sample", + "shortName": "sample" + }, + "RhinoVersion": { + "longName": "version", + "shortName": "v" + }, + "AddonDisplayName": { + "longName": "addon-display-name", + "shortName": "addon-name" + }, + "ComponentClassName": { + "longName": "component-class", + "shortName": "component" + }, + "ComponentName": { + "longName": "component-name", + "shortName": "cname" + }, + "ComponentInfo": { + "shortName": "info" + }, + "ComponentChapter": { + "longName": "chapter", + "shortName": "ch" + }, + "ComponentSection": { + "longName": "section", + "shortName": "sec" + }, + "UseWpf": { + "longName": "include-wpf", + "shortName": "wpf" + }, + "UseWinForms": { + "longName": "include-winforms", + "shortName": "wf" + }, + "BuildYak": { + "longName": "build-yak", + "shortName": "yak" + }, + "IncludeVSCode": { + "longName": "include-vscode-launch", + "shortName": "vscode" + } + } +} \ No newline at end of file diff --git a/Rhino.Templates/content/CSGrasshopper2/.template.config/ide.host.json b/Rhino.Templates/content/CSGrasshopper2/.template.config/ide.host.json new file mode 100755 index 0000000..fb277c7 --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/.template.config/ide.host.json @@ -0,0 +1,8 @@ +{ + "$schema": "http://json.schemastore.org/vs-2017.3.host", + "unsupportedHosts": [ + { + "id": "vs" + } + ] +} \ No newline at end of file diff --git a/Rhino.Templates/content/CSGrasshopper2/.template.config/template.json b/Rhino.Templates/content/CSGrasshopper2/.template.config/template.json new file mode 100755 index 0000000..c632a76 --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/.template.config/template.json @@ -0,0 +1,157 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "McNeel", + "classifications": [ + "Rhino", + "Grasshopper2", + "GH2" + ], + "name": "Grasshopper2 PlugIn (WIP)", + "description": "Build Grasshopper2 components for Rhino 3D in C#", + "identity": "Grasshopper2.Component.CS", + "groupIdentity": "Grasshopper2.PlugIn", + "precedence": 100, + "defaultName": "MyGrasshopper2Components", + "shortName": "gh2", + "tags": { + "language": "C#", + "type": "project" + }, + "sourceName": "MyGrasshopper.1", + "preferNameDirectory": true, + "symbols": { + "IncludeSample": { + "type": "parameter", + "description": "Include code sample.", + "dataType": "bool", + "defaultValue": "false" + }, + "RhinoVersion": { + "type": "parameter", + "description": "Version of Rhino", + "datatype": "choice", + "defaultValue": "8", + "choices": [ + { + "choice": "8", + "description": "Version 8" + } + ] + }, + "BuildYak": { + "type": "parameter", + "description": "Include target to build yak package(s) for your plugin", + "datatype": "bool", + "defaultValue": "false" + }, + "IncludeVSCode": { + "type": "parameter", + "description": "Include tasks.json and launch.json to build/debug in VS Code", + "datatype": "bool", + "defaultValue": "true" + }, + "AddonDisplayName": { + "type": "parameter", + "description": "Display name of your Grasshopper2 assembly", + "datatype": "text", + "replaces": "MyGrasshopper.1 Info" + }, + "ComponentClassName": { + "type": "parameter", + "description": "Name of the component class", + "datatype": "text", + "replaces": "MyGrasshopper__1Component", + "fileRename": "MyGrasshopper__1Component" + }, + "ComponentName": { + "type": "parameter", + "description": "Display name of the component", + "datatype": "text", + "replaces": "MyGrasshopper.1 Component" + }, + "ComponentInfo": { + "type": "parameter", + "description": "Description of the component", + "replaces": "ComponentInfo", + "defaultValue": "Description of component" + }, + "ComponentChapter": { + "type": "parameter", + "description": "Chapter of the component", + "replaces": "ComponentChapter", + "defaultValue": "Chapter" + }, + "ComponentSection": { + "type": "parameter", + "description": "Section of the component", + "replaces": "ComponentSection", + "defaultValue": "Section" + }, + + "UseWpf": { + "type": "parameter", + "description": "Enable to use WPF (Windows only)", + "datatype": "bool", + "defaultValue": "false" + }, + "UseWinForms": { + "type": "parameter", + "description": "Enable the use of Windows Forms", + "datatype": "bool", + "defaultValue": "false" + }, + "UseWindowsDesktop": { + "type": "computed", + "value": "UseWpf || UseWinForms" + }, + + "HostIdentifier": { + "type": "bind", + "binding": "HostIdentifier" + } + }, + "forms": { + "JsonStringEncode": { + "identifier": "replace", + "pattern": "\\\\", + "replacement": "\\\\" + } + }, + "sources": [ + { + "modifiers": [ + { + "condition": "!IncludeVSCode", + "exclude": [ ".vscode/*.*" ] + }, + { + "condition": "ComponentClassName == 'MyGrasshopper__1Component'", + "rename": { + "MyGrasshopper__1Component.cs": "MyGrasshopper.1Component.cs" + } + } + ] + } + ], + "primaryOutputs": [ + { "path": "MyGrasshopper.1.csproj" }, + { "path": "MyGrasshopper__1Component.cs" } + ], + "guids": [ + "ee4e2b39-d96b-4e4c-8f9d-9b6561e61b64", + "e79cd2b5-cb9c-4d08-93ec-446cc1f6d923", + "cd826b9b-8dbe-4c31-aac1-6fc7ea2bcfb7" + ], + "postActions": [ + { + "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")", + "description": "Opens the command in the editor", + "manualInstructions": [], + "actionId": "84C0DA21-51C8-4541-9940-6CA19AF04EE6", + "args": { + "files": "1" + }, + "continueOnError": true + } + ] +} \ No newline at end of file diff --git a/Rhino.Templates/content/CSGrasshopper2/.vscode/launch.json b/Rhino.Templates/content/CSGrasshopper2/.vscode/launch.json new file mode 100644 index 0000000..6d3f097 --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/.vscode/launch.json @@ -0,0 +1,47 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Rhino 8 - netcore", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "", + "osx": { + "program": "/Applications/Rhino 8.app/Contents/MacOS/Rhinoceros", + "args": [ + "-runscript=_G2" + ] + }, + "windows": { + "program": "C:\\Program Files\\Rhino 8\\System\\Rhino.exe", + "targetArchitecture": "x86_64", + "args": "/netcore /runscript=\"_G2\"" + }, + "env": { + "RHINO_PACKAGE_DIRS": "${workspaceFolder}/bin/Debug" + }, + "cwd": "${workspaceFolder}", + "stopAtEntry": false, + "console": "internalConsole" + }, + { + "name": "Rhino 8 Windows - netfx", + "type": "clr", + "request": "launch", + "preLaunchTask": "build", + "windows": { + "program": "C:\\Program Files\\Rhino 8\\System\\Rhino.exe", + "targetArchitecture": "x86_64", + "args": "/netfx /runscript=\"_G2\"" + }, + "env": { + "RHINO_PACKAGE_DIRS": "${workspaceFolder}/bin/Debug" + }, + "cwd": "${workspaceFolder}", + "stopAtEntry": false, + "console": "internalConsole" + }, + ], + "compounds": [] +} \ No newline at end of file diff --git a/Rhino.Templates/content/CSGrasshopper2/.vscode/tasks.json b/Rhino.Templates/content/CSGrasshopper2/.vscode/tasks.json new file mode 100644 index 0000000..20c5e62 --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/.vscode/tasks.json @@ -0,0 +1,21 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "shell", + "args": [ + "build", + "-clp:NoSummary", + "${workspaceFolder}/MyGrasshopper.1.csproj" + ], + "problemMatcher": "$msCompile", + "presentation": { + "reveal": "always", + "clear": true + }, + "group": "build" + } + ] +} \ No newline at end of file diff --git a/Rhino.Templates/content/CSGrasshopper2/Icons/MyGrasshopper__1Component.3dm b/Rhino.Templates/content/CSGrasshopper2/Icons/MyGrasshopper__1Component.3dm new file mode 100644 index 0000000000000000000000000000000000000000..cf0f299d87f43de52c929763bf6012ebc6cd3e57 GIT binary patch literal 37926 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 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< 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 zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9Q zfB`T72EYIq00UqE41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&f$ful_Xa+H!I*X< zaH*lLK?BI0XVe)HqtR$Gs*SMGLT=Ou7{wH_AARbKR{Ga$9ByRMzmu$gnG{RXNEvhW_!BUy$X!OCdMa!)6`jLd$$uslv6WI#*2WyF7W;AGoFWIPzvKvX6SuPc`Vlyd}V`f>Z;(S%^9CIp_E@YMG zBud?4EVa|mvSf1Ul}e{jeYmU~E7PcrOJ^9vsZ{eQd=bfSv1&4lN;aFGxZVL{EPcvJ zew5;8sdk^gPOg+wo{h&GiUdlIPPMr%~l#JQ|Gva zXPvk%{TC~Kd*m4dFKGE>_&&epTJ@ukbR(s6ZWRt;dUB|3GOg~DOV1^ApJ!==TP;kV z@0vs|8TTVU>X>zIyCx!{g<6E~vkYdpkv@y*xrXSer_jaJYgF&>)>I8I%~X?~6U^HG zb_6HGZ!gN_XyUw_Tz?Y2OI8o0T>aT@qtT_t?njvk`i6grgBUj?4Iml zxAG_VM<+bir}EN!M;fPZ{pMXJv_F03TdmzpZC^(uv|3{d_rydas*I`JYj|YkF?BM1 zQbV$rx7nl_9`S2@%9#rGw&&5akVcFm`j_13*?j|``zbo7&^>|{k9zYfrm(|9;pp#8 z{qaRNR#e=y`iS}O{-S*!rjVu1vPPe}9*(4ul<}8%PEYknnyAL9pc*4;Do4~`KRaPC zvwVYxwWe?QufE35q z75sV^VE+y4)olU1y?WEt%~A~zFYU9)T56)jKbNwJ%2Gq=83nF^o0GxIp1;eFla~))F=zdWcg{HP)W*Um z=S{2Ud7bBIhm(M{a*$Pea-&-#Nl1;2_}`nOof^A$CAI}M`;+#BfoPH&JUvO{$I0h+ zrH^AymTP#J2fkhS*GoUy`ohUmfBwSLzuz=7bE(*JRn$YG*6vEkT2;!9jbS9euHgLx z!ziUsYMAk^D-xB_83lU2p530;6g%pU%%NvoyO9}u!^2?VD|giQdFY|pcYpo2-B+!7 z<9v?}|I*U19;^BPd$k(@QIseg$D~~<dODsN*T;Ll5tscfj5+>}v13tCp6X#pHSClaP4c`AA1;O&tQc4|K991z%m2 z#gDo_eD$Y~n7Z`cl#DcT7{G?J`<@ZH;nrCXp7cS{zLy+5M5sH0_KQQ*v(%m;_g+4= z$fXo}(I=P6m`$G&`kQav<mE0F-`Y7Zai8Ki2W4s;sHQPP?QU~!ye7{kH&KnU;%XD5Hi%G-c_&|Lbr_Yn zfNEDl^{u9Q7SnSzo%7VveGSFq_UDyr0U)Y(*4a+ewMU zl3@Z;(Sr`5_UO(mq0W!Ezj)7#4zYUBc#_BTCO#_)(AZl`>C3I1T|Oh@GdO3B!jyG& zR>XAjdd9u4E_N}WwM9v$I@e&%63q}!o_e??iH7m;oHxGU-f*jD3_kCoS*I<0bJFxH z-uq{9=(3g5xtx2@XFAc!r-yTiS6=<`eR6A}dWx5baHi8)fAst;GS&N*PMNBxug;@= zE_c0CL1a(t7Vim=jOYESuQ_L!y-45jXF!?McX_>$Y4y?M&nvsXlJ9;BUU#cgRd*?6 z40ls|(+TT7W@^0_^4;UVzqYcnz`XM6UbD|?fAx9R0q^?wk9f&(yCbgU{p*|R(R3VX zwmYL~CXIu$iM&Moc75*7Gp?VN-M!Nzei=mUjo8;m7W>ZiZp%ZxO49SxiE2sw_{6$)xOhuE?QSl+x2A8!g1!?wv}=C;#;89p+#|0;yJq^Rh087r z&Nr=ceyGZMM?b@OQCF4)bN#k7{O$IOS6)B!XIG5+&4ME?3$ef9t*qrqe>eeMQaYDg znfAa$dXw=!6~P#+-2{##Ob~2rUY96D`6mju{o7SMfo)^i@5zG!}RaesxT(5HUfw0G=s%cKa(RRFpMQ->#w*r zjh=@dwD)lncXLVT<+|_fxZ@`hD2xn(0WCQe*s1di3Y>5k~++4WtQ`q!N} zk)%ZFZU1&I8x4AQX$kxoqZ|tRu`5j9`a2XikVM>1&->kJoM*Ce`_BEtyM7tIUp->r z!@DiJZsOVTL&{9@dr~Lj%_FYV4qVMwsta2uo^J&HqpQSw5lLQlQ+wjuUC{P_=Jvru zu72ex^ZL!7SCwzM@CjB}l@5(z!cLL=&GobI|FW~#$C)a0uBoQF-<0tHz*jqs1{*p1 zNt?Fb<$gJv19?{H)77lN!%5l|cQ3qaK$ZFA?cv*&lvQ**F(-5E@Qn-1sdu0D(OXZx zx-ReN*K4n6`*YcEM`cZ4{PO$jDt{jR!D+9)weF0HU;XT#d%aoqaoVlrw>12%?1sH> zn-o6xow9TH*z)(UZvBUz?=C7$6u(NzFUwW(*L5iQW!GGG`xVPxG&{6wcC?*-UG{@{ z9ojYjRPxJjes#eD^U=yF?Kkhg(B#U_rFnB>FTPV3E9LBCUijI}IiqK;Z5sN`agz^u zRlJ4A3o=jOJ{dz*If4fpEP~=etCy>&9esV_w2`uXP94}GUB7G zf2ef=&j=elGs53qzHIs62k)Em@Se3xAHTJnze{8oQdyNLjitJ>31@_Nx4!aT3TFh# zH*xiKjCSQZYLS%MU(YO?%VK7Po8SHEv+fxoQFW`c^X4QmBS@Yb%j~s)9#_J}^#t47R$hNmlce*^0;`@HJJUT2NOEs=Oa3wD%p_(3 zXI&6C3+zAUgvmXb1?JIy>0;|h$}paI?Z_)J3rHI|E@lBo7y1sffT=Xm%~@dPw6S;4 zY1A66Mx%swi+Fj?m+U05d$`MAg&Ia=Lq?e1)Lx^_QW9(dg&*9b!W&!$p zEN?Yg*F2LfaZ$+XYqIxe@*Dt+&6pAzlow9jXc-y8kSUp_BC{hU|(EqQdnG9!)S zr}2<1^{JxeI4{OW|MHGM_R<1~C)2)l4znFE>rNkX@BOE@-{NP#n!cfva7~}p_sP^$ zMm4VKnL3@jrtu_>z4zn2u3Wfa){UQSJpQNsrp+~u0)xD+AQ$jWT{Sx1Le#!xKaXsHww?;DcyiLdDdj3M+cV5pQ)jT$B z&$k=r+&b``{=s)ftTWQMGFCk+s3lvh9>?`Oa?`S=J|aG0dnRgU_rR~)d0h0;YgnFN zJ9p@exc+j2noRwd>vUZII(_f1f1dVpi2f?;f#Ek!eslIiH#JlY{^jMpj5HqjtUrom zZlfRcy=nl9iNADRj`?KC^Bm}{i+gmYiEB`Ao$=guBk-Y?#&!IQzIWGg$d&Dvo%P;J zgV()d3_2q%WAnr#`i|sL^+p|cly)tX!JU!#JMQK()kDK%LWJl|_r=>Ph;5>cL3arrgZUx?W z)UAt0uGlp5yboWTIQ6imvsZ6fb`&eHzmCh0e95%a#qC1xhFH^5{IKVph*jP7uotV; zm)HO5U>4|fdFlGn1;iEqKa{EXo6FpY@jZX2VC@pFT)m3d1-JZoXbKoVpue2tc+0QL zKW+gMxz@V=u1mDLY56;ZNYN#FYFw98E>oU$y`{^*SxBjL=SePCQ6RhBy*MM*si?>& zW2ewGr4vXpVslg{y2KJ!6@-UT{<_;F`sA<|rJt*Uth6!dDQtu*Oy6op$(?>x-+iQ- z?6OQQeofm`M|`KUDUZ5Ks()kUP31gP7n~ig97h9ufh~`ICaIYV$oy>9T;yUmr zeUCo9()sH3;63~IPh0iCoLY`HTE&WOd8g0m(6udZ@ts>A?t2}}auWH+=8#Eohpe1( zJ}2pHl-@hRXq=J2pQ__Kst+Om(N$IfjplYEut1N(KQfHddns?r+{w|!caP+UK9cwR z+J1i=yl#t{3NIhA{xlxRztHLQlyr!xo)78J{@Sq*y<)xXr`XH%RbT3Pn905Sl8c92=5Dx_b|d{D z9WS`x%eTLIVZq2*tFLW;VbwL)@5%mFH{8S6GtGGCSI-oaU6bCya_IV+X3(4Uea080 z*hiJWG5e;fg9l`UXWjqD(C~Xtnfj#nS+^C%?n;MR;CB%3%oC0}apg~5D{mh;;_SDw z&iRa95>elfJ@B^WdvXU`Z;elcAKgEq@1@{_$#0A0fk&9Du3q~37pvYM zEJgpaPwv0>rud^=@!4jOw<&oA#J_P!y|nP=xySlNt)c-VL|+Nyp9QI>e{_v|Yvr)c zqD~cy+gY$F7 z*NLOQz7pdr>jdMgHCSPM#rV1_*{?FLzBoE><&R(8+mvxtJy%%c>*rg4b49}O_3~fm zZhCL{CDR^QIIG{oujD-wJHGDz{JvEfUopN~HZ<(l-F8O%HN?vfy1e@XC3>@93oTRk zQBjPIfBf_8BV1eMw|;i$IlMoRrsEFMu8z)5qV=l1rnlqjeG2RO0Bb#7Vk&o%c4umL zmdRVuJ=(zF#Tl)Vyc+@S>nE(#O z@=ntc-L3n&r*%L5`FjU(>rU5k2kFdBU6>B--(L87(LEz4XPep;e;uqAv9v8<%|`cD zp1#vH-pYw<$>(%SYS(VDXSKh$Qh0yY#R>=k^^XZikL< zh`(1U36#~YmPY*~eY9U| zmN9@u?+o6=1sbah#Klj%S+)mld@a1>k!LxDu+1qt+brV^wnxW2X?B*zyIHnBr8%J2 z(tJ+Sz0ERJjcil99m+L~lSc10rhC#PU)rYA(gL=$HCz6W)sxM#hnNhyyvD{=dh*{w z(@j^#Mo7m^nXxg*nmdP?11xvE`Lwl|$~BdLNzaXq&#Wn8ocV!rJFKeHDdYp%$k?E# zB<*j=vkqS;{vNkoJ=;cw1bhA453@q{Hw*OqT%_C%N$~b1YU;}N_;1zzFDTcJFX{d| zA@;OH6v$K5XaD=@>+V^g$CjFEi|)Tgd6QTKwOC@c0pJE zrZqQ_#i$bIb|_cA%{#_Sw>+HkDZ(Xwp&eh+_4in6>RBB%ebE1apQl85|JLNa>mlzE zP2L+G@?O{e4{KKntKIfk*H(H$fAzZU7&C#zXxy*O+1)&5?r3cmzy7IZ9(U+`jZYMD z(j(e6aT4CnUd0Lre5-x?-ZhNfTwemi)8f|M? zBIU_ipv2Q{^|R^i=2D)6Jmd}4;~p#TXYc(H^xe8qaM=(!!I#^Z4&gHM}B9hO6XWGlh5In*v&5PI`SW-UqPaqS5qk$=0&Kk-(> z!FmfK$*l%EAEmG_#1t|_fjl9+^2H4?N8dfR&EYkk}=h<1CqfL>u9)Bf{eqGZun`XFX(?Rdw zwZ=Vr_E>o;GchLP$cY1ByN;4#!ySKR{C2%vsrQXKv>baIQ*US5{-Z1< zePK7MCQiaFJFd^Pg~L*!ygW^wb|n+L+j^8F{$(Ejc0*kr*HKbzc$~lN@rv7_4)?UD+L$Lx0vD@Z$8I?8jZJ_tL!kai^+*-`L{X zj~h1l&L1AN2fZBpje0qF#sMq#$2yKnyI z@`W1@@0V%bzuVwP4;oc!o@zZ$Hvif@<&aIQrpCEWIR=?ZjD@i7h>|L#i(2kXEk1Ab8b zf0;+zdiI*3_pdzKI%#zV>yopdxeJ3eYjT?p)_BtxZyFmsSj(HmUbm-j8lS``O>}t& z>wxxm57vp^)Oa^lhbI#r{<+EnVy?0$G&-QH8uA(LMHv_l6^Z6wQ?r9GCQ_CsS_j30C zAG!JR*Jqw=n2*mm=-S|qomnOGunW$-Z}VVt^P%h(bZGgu^SZT_-OuzYkY~@|EFBnh zPXN4boZOA6xR2jdtXteJKzH8B;psD`g{7s%9i>}ZTHfVyzW=h6FxdRmql}vBvwru$ z)5Fa9`}`{NqNt;!!#^4{VYd$tHh+J~?L%IA%9)a1IPs7hZu`?%^MLCo%^JEP*ddjf zabMfZH>^I`yyL!q1sgsZZ~Ggc{krxzuO<)dh9>{6bBHl&tT|V*wp<&d7+=zGoKeGl z)Y7C&Lov_Sc=`@KbAE|xc+i~m{wH62ka_9A>u&n;or5~00KcC)>dk*0b)ea&*R|Il zb@WKv|A%#}@4R^GaPx`Vew@+%;V9eRczpi)N4=VQq#K%A<;PsS375R4`1IY3cJK-FQKc9slXRxBTpd-w!e)kA#aGHaPx? z1|;LAM<4s#-IA@riUZxxE$%a%LEpUj#99A(clwn-`1rDcx4p5-pvy5Qf3nxsS62Fb z+2tW_9J+W4GSbyO4^r1@J9~?3y)eDH=$Km;4V|%e@C{3!TX4ih6^9>oFs~Puh)quG zukY)7%@Cc9)B6rCKdZ-)pL8dQ$5Cd{x3K!tSBIw2e@D~Rm54q`*VAx2UAssUmrE)O zB5TB5G4e-8dB5NO+O73(esoqJXM0Zxv4x9Fj~hS8#70OI?)Y2Xl+^ox zo+G%>)`#0v)`spjP4rd&h!()@cbrQYXOK>QqjkwxxOLe#;$ftxzdvTr7u2JCWnWy; zgt+4W2R-|bFg1%-a=zye<5NU+MQY7q@2`t+Jdez8X$gckgUj z_KjD9yWA2c-`Q8syPK9v2L?J^G^QU@;^Xgb zE=%~O_1RM|T*tj>yZ+L8H{QeDk-xM)kXrA=mT2|f)E;AXOZFj`jZJye*u5i9A+#Ug z)qA+^6g<9;qcj6QxNUFFCE0!do$>t*ew#om*&uEE{)h;@zc=VYZBwa*#y`Z>Qoa-U<%2LAb>(w&u47Z*~I*O#`wP;vi^6U-a6;T{*T>s=Fh9gd!KcNRM6x{4pC9( zZu0V8+jP%<59~K(_SK88yZ_Zk<_)laKI8EZ@?PSRNH%Zy{&SB`tqPETt;e6*k5)i_ z|LwQ@SVm@-;qIT0;E9U=yKBR^cJ1u_xFmI+9LJ>~$7%F456d5!G=&{XfZw4G*!1XkO#-fg=H^W;D$mX<&2p!(1ZKGefh8qt33mzHM=&adQ6DqLRGws={DlcIA{{etG%SU~zfTlwjeMyu!+&g53P# z!phPt9hozsy45V5+}hF>F3sXQm2qczl}5v@t&zsXQJr&Rs3BYvTowtRq<#98Mw?nl zNli83Khvmwl*~cBMrn;Fd8{I9E?PR%`IWlvDV$9rl$Ig z$+e;SD78>0(UopV_YEOdez=7MvQ~+g`ua$elo5=!HM3~RykBXgp_y9BFC!JAW%es= z4nVwi<#-ceijOA?@JM))uLWCLpTQq@}fy`qprZ z)Z1#-pz`w-*Uudz7-?J<_E(anUL{Az5={^;Ck5LYL(yntaU)fzAw>Dp@32Ynl@3*} zOBgps*s}btg}CFyB(96p)Px%o2+(L*#qdUqkb4O7chhm#QG6IaP9&5CJ^QtEQ8 z!EkLY4QA0`WB4S=F&t{CU!ez#exq3o< z;d()$UnzAF=?HqXnw(#dS6)({QyDDD%PtD$mlPESD{_l-gZWd+tMaP~@=A(}N+wp& zpjtU4yCPVbn^O|Zuc)dDR^;U62XhPaa|@>AROaX9<&|GNNXLT*|<0+wPqqF zf~4}M5OvkoH?5#TwT2^&i)i#I&9Wm(N8eAM|Xb8n9Q8j^oL=odoMG6eHW=zh_%+0p0 z{G!6*yrSIFEGv?vV0ra4EQVTwCpEP!r9>ws$kh`|37}ctvSsWpQ5tQtD-~`GEvgR( zL-iyyT;n4)Hi8sM`+5k}4B3Gan~bNnP`zcwv@{U_2{ZGLm_Uqw<{lAF^F`Q@BO76b zu4GM98`V5xGWAtENOFqSg=%OxxBcUjcw}Xj}qs8+&r6YDOis zH)@d3+NjAyyZ%JEN*yi}*Yx!=^>ia0?klL2lTSX=?W9f{=`hqS9K8 zqHm+2+HkP8g-ldiZtN7MyNAUA_ZbVm`1Yfzkg4Jc|)Y7kdiV$VZd>Ef2AHnKmg zRi{+Fi>B4qI_(BTBlZv!vm}a*A!0-RgBEoa39)06El9Is%oyixC$<&sa7mV{0n;I68xmKfADo*|5W1K=P&85A>!JUQ{kL2y~I_T;S)?Hf>8FA7yJ)qv1WOH+%g{iF=_FgZK3Ft;ebASXLJ zx1gk`IJ;y*GCtJ5?0k~RnP6I?sFUnvRpwe*dL_E@aMjSMptCsk)=`fL-?oZgv35;e z0Zz?yral$(jV`U|C{pTE8YT0SHV^F0Q`!V|iLh$*U#y|E_vfix*3o2PMQOXQr8N@G zIx@1TCDgJatGv0nK2oj5$N6gUpEav`b~s$0HLotxNbAs+rf61iW_H#BH8_u{3{}^K z$MDAPnCyJ&hS{{V3|1AC7giRQ%)AGGtB7Ew0S1DlQCW=NA^z2v?OKEH0TcC0JgNUr|_DFr_57 zxY#xR@Q{^VLW`EllFDFi#nf_2Qj`}g&Ls(XMFshV1yhQ1XrJGeM2#C(i>YyohJOkua$?y_m@z|*)o8$!2 zlui2pdRH%2u$qdyDOap}DkvA2_r_wSYLlRwVqFG7xF!_>T^37f1ZouqtJS8al+jx3 z`^_YsH_u5eq2?f;+k8to&LChN1;t1sd#;C-q7q^5~SZm%C%B-#rH8iJC zo>jgeEy7YQn5>f42u<-}+lZ9)Pxn#O`m~A|qzyr-zewypLa`D<%e@kNT*k#ApWbgj+-EX?rCXvSGwpN;z6IuM>AGJkVXfcqK z{+ilaQz(s3qS(3-Rf(Ht;Jy0?bnI*dydZiCOU_he0^-UIQs`SjW(W^_+zAUYqL+p$6tgqG`ZgavPwj=j=MyjnEv7tS$^&UdgLZb;-7(PG%YU91ay~I z#q^iLwqG(bIG(=*)!1<|w87^thl=ShMJ&B!N0@)v+;35MraP?>$JR?qpcB2* z658gTN2q_R*s&d%UV~4|5#!3S_q-7u5piZ-LK$%}9U)@fdD8y3jXNoZQ!uA{cvMUv zIAKnF|Mw55J#>I8X6!MX^iqzhL!7wEEYl@$TV*OhBDzg7+b?c+lmL}_rdZwG*&3E2 zNIB`?yOWc>xLL_MXVb-ZP64gc!?>9=;kjS@9A%pyTC~_Yw!c$ckICan;0bk-dF&E* zGHQBHsFSQN6b-hvgc_s#&TW&ta}zVad7?OJgFX_X6H9-h ze(H_kq_s*;D;s+AbcMY@iOAb&>eUwgt`Qw@(B=6fVOj_Al3ZEQuBW@Psa(7f>O^q8 zx+&DT-q$20(N0V3o5glCJHRC^v^YUzJ3u1SiL>|6%05a~as0kN;I@O^r_yrvBFD+r zL9@IWXuX-2;9Cy#)`s!-}_nR2unFBTkGpSDRC_%z8ea*)1QC4EYBMPoEjKj&*D79D!bixe;G*H9xxQ(%GpJ zP<7aL0;_*fN@@{OcmaLomYI_S_B|{@usG=P#}1Dkev3 z1hDA2{ouR%daIe;7ff@bQ9S_)(TNi#*zVk6Vc*`yW)F-udlu*X6nJo}GchtVvACwB z6O2dQUkxr@Q4fynQ*pIt@=1pI44is=vQW5;&R}1X?c&rgF?KM#u%-~z#oQnlGlqk0 Oz!R~!Q-`tfW_tj9wN51f literal 0 HcmV?d00001 diff --git a/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper.1.csproj b/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper.1.csproj new file mode 100755 index 0000000..928d6f2 --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper.1.csproj @@ -0,0 +1,88 @@ + + + + + + net7.0-windows;net48 + + net7.0-windows;net7.0;net48 + + net7.0;net48 + + true + .rhp + + NU1701;NETSDK1086 + + NU1701 + + true + + + + + 1.0 + MyGrasshopper.1 + MyGrasshopper.1 Authors + Description of MyGrasshopper.1 + + + + + + + + + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + C:\Program Files\Rhino 8\System\Yak.exe + /Applications/Rhino 8.app/Contents/Resources/bin/yak + + True + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper.1PluginInfo.cs b/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper.1PluginInfo.cs new file mode 100644 index 0000000..970639c --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper.1PluginInfo.cs @@ -0,0 +1,15 @@ +using System; +using Grasshopper.UI; +using Grasshopper.UI.Icon; + +namespace MyGrasshopper._1 +{ + public sealed class MyGrasshopper__1PluginInfo : Grasshopper.Framework.StandardRmaPlugin + { + public MyGrasshopper__1PluginInfo() + : base(new Guid("cd826b9b-8dbe-4c31-aac1-6fc7ea2bcfb7"), + new Nomen("MyGrasshopper.1 Info", ""), + AbstractIcon.FromResource("MyGrasshopper__1Plugin", typeof(MyGrasshopper__1PluginInfo))) + { } + } +} \ No newline at end of file diff --git a/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper__1Component.cs b/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper__1Component.cs new file mode 100644 index 0000000..b6e53de --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/MyGrasshopper__1Component.cs @@ -0,0 +1,102 @@ +using System; +using Rhino.Geometry; +using GrasshopperIO; +using Grasshopper.UI; +using Grasshopper.Components; + +namespace MyGrasshopper._1 +{ + [IoId("e79cd2b5-cb9c-4d08-93ec-446cc1f6d923")] + public sealed class MyGrasshopper__1Component : Component + { + public MyGrasshopper__1Component() : base(new Nomen( + "MyGrasshopper.1 Component", + "ComponentInfo", + "ComponentChapter", + "ComponentSection")) + { + + } + + public MyGrasshopper__1Component(IReader reader) : base(reader) { } + +#if IncludeSample + /// + /// Registers all the input parameters for this component. + /// + protected override void AddInputs(InputAdder inputs) + { + inputs.AddPlane("Centre Point", "Cn", "Arc base plane.").Set(Plane.WorldXY); + inputs.AddPoint("Start Point", "Pa", "Arc start point.").Set(new Point3d(1, 0, 0)); + inputs.AddPoint("End Point", "Pb", "Arc end point").Set(new Point3d(-2, 2, 0)); + } + + /// + /// Registers all the output parameters for this component. + /// + protected override void AddOutputs(OutputAdder outputs) + { + outputs.AddArc("Clockwise Arc", "Cw", "Arc from start to end, travelling clockwise in the base plane."); + outputs.AddArc("Anti-clockwise Arc", "Aw", "Arc from start to end, travelling anti-clockwise in the base plane."); + } + + /// + /// This is the method that actually does the work. + /// + /// The IDataAccess object can be used to retrieve data from input parameters and + /// to store data in output parameters. + protected override void Process(IDataAccess access) + { + access.GetItem(0, out Plane plane); + access.GetItem(1, out Point3d pa); + access.GetItem(2, out Point3d pb); + + pa = plane.ClosestPoint(pa); + pb = plane.ClosestPoint(pb); + + access.VerifyNonCoincident(plane.Origin, pa, "centre", "start point"); + access.VerifyNonCoincident(plane.Origin, pb, "centre", "end point"); + + var radius = plane.Origin.DistanceTo(pa); + var sb = (pb - plane.Origin); sb.Unitize(); + pb = plane.Origin + sb * radius; + + plane.ClosestParameter(pa, out var ua, out var va); + var α = Math.Atan2(va, ua); + + var circle = new Circle(plane, radius); + var arc0 = new Arc(pa, -circle.TangentAt(α), pb); + var arc1 = new Arc(pa, circle.TangentAt(α), pb); + + access.SetItem(0, arc0); + access.SetItem(1, arc1); + } +#else + /// + /// Registers all the input parameters for this component. + /// + protected override void AddInputs(InputAdder inputs) + { + + } + + /// + /// Registers all the output parameters for this component. + /// + protected override void AddOutputs(OutputAdder outputs) + { + + } + + /// + /// This is the method that actually does the work. + /// + /// The IDataAccess object can be used to retrieve data from input parameters and + /// to store data in output parameters. + protected override void Process(IDataAccess access) + { + + } +#endif + } +} diff --git a/Rhino.Templates/content/CSGrasshopper2/Properties/launchSettings.json b/Rhino.Templates/content/CSGrasshopper2/Properties/launchSettings.json new file mode 100644 index 0000000..e30f217 --- /dev/null +++ b/Rhino.Templates/content/CSGrasshopper2/Properties/launchSettings.json @@ -0,0 +1,20 @@ +{ + "profiles": { + "Rhino 8 - netcore": { + "commandName": "Executable", + "executablePath": "C:\\Program Files\\Rhino 8\\System\\Rhino.exe", + "commandLineArgs": "/netcore /runscript=\"_G2\"", + "environmentVariables": { + "RHINO_PACKAGE_DIRS": "$(ProjectDir)$(OutputPath)\\" + } + }, + "Rhino 8 - netfx": { + "commandName": "Executable", + "executablePath": "C:\\Program Files\\Rhino 8\\System\\Rhino.exe", + "commandLineArgs": "/netfx /runscript=\"_G2\"", + "environmentVariables": { + "RHINO_PACKAGE_DIRS": "$(ProjectDir)$(OutputPath)\\" + } + }, + } +} \ No newline at end of file diff --git a/build/GenerateTemplates.proj b/build/GenerateTemplates.proj index ac66868..620aab5 100644 --- a/build/GenerateTemplates.proj +++ b/build/GenerateTemplates.proj @@ -69,7 +69,7 @@ Condition="!Exists($(MyTextFile))" /> - + @@ -200,6 +200,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + +