diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..2b500a7f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,52 @@ +language: generic # Need python and node + +cache: + pip: true + bundler: true + npm: true + +# Setup pandoc for building +before_install: +- sudo apt-get update -qq +- sudo apt-get install -y pandoc +- sudo apt-get install pandoc-citeproc + +script: + - cd site + - bundler install + - npm install + - pyenv install # Need python 3.4 at least for pathlib + - bash ./compile_assets.sh + - touch ./downloads/plugin/groundhog.zip # Fake file for link checking + # Note -d; need to build into subdirectory to simulate GH pages baseURL + - bundle exec jekyll build -d _site/groundhog --config=_config.yml,_config_gh.yml + - htmlproofer ./_site + +# Branch whitelist, only for GitHub Pages +branches: + only: + - develop + +env: + global: + - NOKOGIRI_USE_SYSTEM_LIBRARIES=true # Speeds up installation of html-proofer + +addons: + apt: + packages: + - libcurl4-openssl-dev + +sudo: false # Route your build to the container-based infrastructure for a faster build + +# Copy compiled site over to Github pages +deploy: + provider: pages + local-dir: ./site/_site/groundhog + target-branch: gh-pages + email: deploy@travis-ci.org + name: Deployment Bot + skip-cleanup: true + github-token: $GITHUB_TOKEN + keep-history: false + on: + branch: develop diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fc044eb..991bcfcb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ ## Changelog +#### [0.10.0] - 2018-11-22 +###### Added +- Added the Flow Area component that derives the water level within a defined channel given a defined flow quantity +- Added the Flow Profile component that calculates a series of hydraulic characteristics for a given flow area +- The Slope components will now calculate slope as a ratio + #### [0.9.1] - 2018-05-15 ###### Changed - Plant shower will now do nothing when provided with a negative time value so successional planting schemes are easier to implement @@ -79,4 +85,4 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ---> \ No newline at end of file +--> diff --git a/README.md b/README.md index 2973f721..e29f0f83 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![GitHub release](https://img.shields.io/github/release/philipbelesky/groundhog.svg)](https://github.com/philipbelesky/groundhog/releases) -[![Build status](https://ci.appveyor.com/api/projects/status/v54xuu2rea3q4r3p/branch/develop?svg=true)](https://ci.appveyor.com/project/philipbelesky/groundhog/branch/develop) +[![Component Build status](https://ci.appveyor.com/api/projects/status/v54xuu2rea3q4r3p/branch/develop?svg=true)](https://ci.appveyor.com/project/philipbelesky/groundhog/branch/develop) +[![Website Build Status](https://travis-ci.org/philipbelesky/groundhog.svg?branch=develop)](https://travis-ci.org/philipbelesky/groundhog) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/86683403554e426baad9225687d5ca00)](https://www.codacy.com/app/philipbelesky/groundhog?utm_source=github.com&utm_medium=referral&utm_content=philipbelesky/groundhog&utm_campaign=Badge_Grade) @@ -44,4 +45,4 @@ See the [`README.md` file](https://github.com/philipbelesky/groundhog/blob/devel ## License -This project is licensed under the GPL v3 License - see the [`LICENSE` file](https://github.com/philipbelesky/groundhog/blob/develop/LICENSE) for details. \ No newline at end of file +This project is licensed under the GPL v3 License - see the [`LICENSE` file](https://github.com/philipbelesky/groundhog/blob/develop/LICENSE) for details. diff --git a/appveyor.yml b/appveyor.yml index dcfbbedc..b15b664f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,10 +5,6 @@ # Build worker image (VM template) image: Visual Studio 2017 -init: - - ps: $env:APPVEYOR_CACHE_SKIP_RESTORE = "true" - - ps: git lfs install --skip-smudge # Don't download lfs files - # Scripts that run after cloning repository install: - cd plugin diff --git a/assets/icons.ai b/assets/icons.ai index 92d5cd2a..5c6b3e50 100644 --- a/assets/icons.ai +++ b/assets/icons.ai @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0fa93e6b208626a8e4583e6085a8ac71cb0d15123d09480196a34bea4d161afc -size 1683593 +oid sha256:32169cbad4dcbe06acedf1a8b020b88eae483f444cecb590a8b1166a1fd54846 +size 1696292 diff --git a/docs/channels/Groundhog - Channels Examples.3dm b/docs/channels/Groundhog - Channels Examples.3dm new file mode 100644 index 00000000..dcda0ea3 --- /dev/null +++ b/docs/channels/Groundhog - Channels Examples.3dm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:281876c24c87c16eff69021698c36bb3c55784d33341f6ec08b83d8e24376cc4 +size 308568 diff --git a/docs/channels/Groundhog - Channels Examples.ghx b/docs/channels/Groundhog - Channels Examples.ghx new file mode 100644 index 00000000..99886d95 --- /dev/null +++ b/docs/channels/Groundhog - Channels Examples.ghx @@ -0,0 +1,9088 @@ + + + + + + + + 0 + 2 + 2 + + + + + + + 0 + 9 + 76 + + + + + + b5ca5c6a-7390-4994-b173-01c055a0c916 + Shaded + 1 + + 100;150;0;0 + + + 100;0;150;0 + + + + + + 636666668034232762 + + Groundhog - Channels Examples.ghx + + + + + 0 + + + + + + 451 + 51 + + 0.131745085 + + + + + 0 + + + + + + + 0 + + + + + 1 + + + + + Philip Belesky + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Groundhog + + + + + + + + 83 + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 1025e69e-75fe-47d6-8157-528bcf2b318b + 718724b5-9687-433c-9e26-34ac721a1a2b + b480e914-66ac-4542-acdb-a85d49e79a24 + 3 + 6fa5650e-6c50-48aa-abde-1012469c47b7 + Group + Get Sections from Guide Curve + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 4aab97e0-5dc6-47a1-9783-258ab44f65d4 + a6ff565e-809a-4f2e-a652-33e0dcf6e910 + eab14726-0451-4d64-b338-4ec4eb422e3d + 3 + 83bc4cdb-0c82-4a4b-8f41-6804546c1609 + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + a0276344-3805-4512-a335-8cf69c8bf82d + 1 + 2112174b-24e5-4704-a3f4-5eaad760c8af + Group + Channel Information + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + c6487e86-3ba8-44b6-b4f4-70b232db0539 + 2cecd783-4eae-4f73-b4f6-ddd04c4c92a2 + 2 + 1328971c-9c52-4128-a159-ea78aba61bfb + Group + Show profiles as solid + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 5405e8eb-2b6d-4a1a-9a2f-5d8af3a4408a + c234c569-b24a-467a-b6d1-fea6eb1af549 + bad96af4-078e-4af5-a145-0de46767dd62 + bb5ddd7c-3195-4ca2-bc50-5ca9209d470c + 5d9360be-30e4-430f-acc0-254a1d913327 + 5559be43-69de-4fcc-9a15-d74e16ee9217 + 56b9718c-659b-4e0a-9476-7cc0929ca809 + d278e1f0-3538-4234-899c-3becba826555 + 2c13f69f-82cd-4fce-9f61-7b00a6866f97 + 192bfc69-7892-4654-ac78-86f11fe4e243 + 863a640b-5000-4371-b17e-fb909732b1fa + bfc0cc41-8d81-4603-a183-ec165297632c + 2f33e455-b568-4a78-ba34-55a79380f553 + ad43a005-dd82-4b40-94c0-f7778b5b2a50 + 62798943-3384-499d-9391-a5c3da300af8 + 035aef1d-cdac-468b-9fb7-3a37384e9f1b + 97a4d849-796e-48da-9db4-e42a63374601 + 77869530-2540-44a8-b202-690edf902bc0 + aebf8278-8d2e-42d2-8ed3-fe22e674a7d0 + 5a3442d4-3ba0-449f-afba-330058da23e6 + e43eb8f6-d62a-4f5d-a01c-de416203fe57 + b08b5065-ecdf-4f93-9b1a-8ba50c3f591f + 24629933-2a61-4147-83eb-c509428e3458 + 52102760-2d1a-444d-af2b-eaf635757016 + 08cabebd-0d39-4307-8c32-ef9172a04fb5 + e77df678-6360-4c55-a20b-ea390151ff7e + 97a4f9e8-33e2-4431-a242-35f568b3339b + dada7c6f-45ca-4d3b-ab7a-dedced49bffb + 965c2dbe-4bcc-4335-93a6-183a87db9a3c + b855292c-6646-4daa-b097-25e235be29ca + 32a15e91-d4d8-43dc-ac18-26059c7dd4f9 + a7e09679-d1d5-4e4c-b006-3b0bb0f51847 + 10f2d508-387b-42c3-931b-3d7443a9a1a2 + 2a0ddacf-d07e-44d0-9bfe-cf9e2a8e194f + 62f3cb52-e75e-4a4c-a217-90a523a00211 + fecf5372-9255-4b08-a46b-8c23f05cf482 + ed813e01-e25d-4c40-819e-4248caf43667 + 28a4feb5-1dcf-418f-9c07-e7fb1bb4cb47 + f792248d-bfde-40dc-b41b-c342938b14e0 + 58810f01-c7b4-46cc-9e60-6c6444c9038a + c11346b0-d268-4d50-9c72-5f820dc61e2a + 28177b8d-6454-4054-9a58-337811178b8f + 78220386-336b-4b51-9a37-c7646c77486d + a4c7dc8c-7de2-4851-b822-49b5688d7f2e + feead5fc-ddd7-40aa-b02b-bbd1cb5a0e61 + 61e19176-438c-459a-beff-df235a72f65c + 37b15940-cd40-4168-ac30-c44dfaf5cb7e + 13719164-bf64-4dc8-a366-56030d2a78e7 + e24ecee7-5395-4089-a4d0-15247b117421 + 49 + 5138b88a-f5c7-441a-aead-83a840b85af3 + Group + Visualise Results of the First Area + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 66b81b27-7afd-433b-b360-e428f0c1c897 + 1 + 7d027869-90ba-4eec-81d1-486cf08cbfa4 + Group + Calculate Characteristics of Given Channel + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + c1606544-efd2-477e-92d8-894b2158f94d + 10d93686-4242-4890-b246-ca7c15362362 + 2 + 659d974a-40d7-4df5-a5f0-2e007400dd8e + Group + Profile Information + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + dc7d3f9d-04b9-4b21-a619-4b273750cc14 + fdbdea89-b649-4d97-8206-8d8ad41a1984 + 2 + 30c81e0f-c3c0-454d-ba13-63590eef2bdd + Group + Calculate Water Channel + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 0a6c0c48-e5a2-459b-bfab-7c6819a84822 + b26844a2-679b-4c10-940a-0c71bb829c5e + 3f0d3673-937f-41ad-8fb9-bf07c4abb239 + 0c9e371a-f474-4cbc-95ab-eae411177a36 + 2ffa9e78-61cc-462d-8abb-c2d1b25d00a3 + 5 + 88702d8f-4213-4afd-a73c-a1b94940005e + Group + Channel Information + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + 0a6c0c48-e5a2-459b-bfab-7c6819a84822 + Curve + Channel (Open Planar Curve) + false + 0 + + + + + + -349 + 639 + 162 + 20 + + + -267.6913 + 649.5348 + + + + + + 1 + + + + + 19 + {0} + + + + + -1 + 96683a49-5df2-41ca-8fd6-13a1680cecb2 + + + + + -1 + d806f52b-20d7-4a98-aead-c45733fd394e + + + + + -1 + 6d21e74d-a108-418d-845e-700e6f5fa65e + + + + + -1 + b9b7a680-34c2-4033-87f9-758ccd762ab0 + + + + + -1 + 2e5c6dd1-5566-485c-8595-dd49faad23ef + + + + + -1 + 4bce1dae-b2c2-4e73-b1f5-bd20cc710312 + + + + + -1 + d7e60a1a-7699-4f61-a2e3-370d7c243d27 + + + + + -1 + 6ff5330a-c0a0-4cf7-9f66-773eb8d107ad + + + + + -1 + 02be4af8-c56b-4199-961f-12dc1b52257d + + + + + -1 + 3818d119-a183-4edd-a93d-85e8573087c8 + + + + + -1 + f0980ac9-1e78-4649-b3e5-21c83d8bf3fe + + + + + -1 + b81621b4-60e6-4a11-83b4-708ac2f4a491 + + + + + -1 + b73112cf-3e27-4d75-ae02-678fc4c9e2b6 + + + + + -1 + d05c2aa0-f52c-4791-a7fe-d0b41fe6c88c + + + + + -1 + 7546d6cc-a243-42d2-ae2b-95111b71e3af + + + + + -1 + ec54a960-c5d4-4dc0-9dce-92687b168313 + + + + + -1 + c0ed4afa-3fdf-470f-9f8d-54896af5635a + + + + + -1 + 5d54e4f4-9615-48a5-9bba-8d0dc8340423 + + + + + -1 + 73926e46-37e4-4182-8c10-a963f0884839 + + + + + + + + + + + + + fbac3e32-f100-4292-8692-77240a42fd1a + Point + + + + + Contains a collection of three-dimensional points + true + 5405e8eb-2b6d-4a1a-9a2f-5d8af3a4408a + Point + Point + false + 0 + + + + + + 1066 + 1384 + 50 + 20 + + + 1091.45 + 1394.991 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + f0dc5dd9-3213-4907-9fa8-453cbbbdcde9 + -1 + 0 + 0 + point_object + + + + + + + + + + + + + + + fbac3e32-f100-4292-8692-77240a42fd1a + Point + + + + + Contains a collection of three-dimensional points + true + c234c569-b24a-467a-b6d1-fea6eb1af549 + Point + Point + false + 0 + + + + + + 1070 + 1643 + 50 + 20 + + + 1095.989 + 1653.824 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + 20e49edb-4541-4213-906c-d36cb2213698 + -1 + 0 + 0 + point_object + + + + + + + + + + + + + + + fbac3e32-f100-4292-8692-77240a42fd1a + Point + + + + + Contains a collection of three-dimensional points + true + bad96af4-078e-4af5-a145-0de46767dd62 + Point + Point + false + 0 + + + + + + 1076 + 1935 + 50 + 20 + + + 1101.484 + 1945.071 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + 964ea863-88cc-4780-af04-270d137c2df0 + -1 + 0 + 0 + point_object + + + + + + + + + + + + + + + fbac3e32-f100-4292-8692-77240a42fd1a + Point + + + + + Contains a collection of three-dimensional points + true + bb5ddd7c-3195-4ca2-bc50-5ca9209d470c + Point + Point + false + 0 + + + + + + 1069 + 670 + 50 + 20 + + + 1094.203 + 680.1411 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + 7ff20127-0f95-43a3-91b7-d0255a122f64 + -1 + 0 + 0 + point_object + + + + + + + + + + + + + + + 5a41528b-12b9-40dc-a3f2-842034d267c4 + Text Tag 3D + + + + + Represents a list of 3D text tags in a Rhino viewport + 5d9360be-30e4-430f-acc0-254a1d913327 + Text Tag 3D + Text Tag 3D + + + + + + 1909 + 1261 + 95 + 104 + + + 1990 + 1313 + + + + + + Location and orientation of text tag + true + 69c245d6-6bd1-40b0-9e52-9e440ade522d + Location + Location + false + 98f33f6a-73cb-45f8-9d14-e0985ed143e6 + 1 + + + + + + 1911 + 1263 + 64 + 20 + + + 1944.5 + 1273 + + + + + + + + The text to display + 07a39c2a-e33e-430e-9182-4c70af6b3e68 + Text + Text + true + e8b7131c-1848-46a7-b7e4-0e7ab0c4cf86 + 1 + + + + + + 1911 + 1283 + 64 + 20 + + + 1944.5 + 1293 + + + + + + + + Size of text + 08dee679-dcc3-4097-a842-81852abffdcd + Size + Size + false + 0 + + + + + + 1911 + 1303 + 64 + 20 + + + 1944.5 + 1313 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + + + + + + + + + + + Optional colour of tag + c90c98b5-5171-4d82-8694-0e4018a0d1b1 + Colour + Colour + true + 0 + + + + + + 1911 + 1323 + 64 + 20 + + + 1944.5 + 1333 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;255;255;255 + + + + + + + + + + + + Text justification + c502588e-3807-48d6-bc8b-bb26e182b31d + Justification + Justification + false + 0 + + + + + + 1911 + 1343 + 64 + 20 + + + 1944.5 + 1353 + + + + + + 1 + + + + + 1 + {0} + + + + + 7 + + + + + + + + + + + + + + + 8cc3a196-f6a0-49ea-9ed9-0cb343a3ae64 + XZ Plane + + + + + World XZ plane. + true + 5559be43-69de-4fcc-9a15-d74e16ee9217 + XZ Plane + XZ Plane + + + + + + 1705 + 1360 + 107 + 71 + + + 1759 + 1396 + + + + + + Origin of plane + ffa51fac-c205-47ab-bbf4-1405f09c3ca2 + Origin + Origin + false + 5405e8eb-2b6d-4a1a-9a2f-5d8af3a4408a + 1 + + + + + + 1707 + 1362 + 37 + 67 + + + 1727 + 1395.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + World XZ plane + 98f33f6a-73cb-45f8-9d14-e0985ed143e6 + Plane + Plane + false + 0 + + + + + + 1774 + 1362 + 36 + 67 + + + 1792 + 1395.5 + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 56b9718c-659b-4e0a-9476-7cc0929ca809 + Panel + + false + 0 + 0 + m2 area + + + + + + 1066 + 619 + 160 + 38 + + 0 + 0 + 0 + + 1066.241 + 619.0522 + + + + + + + 255;255;250;90 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + 5a41528b-12b9-40dc-a3f2-842034d267c4 + Text Tag 3D + + + + + Represents a list of 3D text tags in a Rhino viewport + d278e1f0-3538-4234-899c-3becba826555 + Text Tag 3D + Text Tag 3D + + + + + + 1911 + 1549 + 95 + 104 + + + 1992 + 1601 + + + + + + Location and orientation of text tag + true + 86054c20-c132-4d06-99c6-11af78206f95 + Location + Location + false + 0451b4d1-1cb2-4580-94ca-bb5654e0ca6c + 1 + + + + + + 1913 + 1551 + 64 + 20 + + + 1946.5 + 1561 + + + + + + + + The text to display + c3c62efc-8a96-47ea-847e-4c87d01d843b + Text + Text + true + 72edce54-f162-451f-946c-fc7ce1bc21d2 + 1 + + + + + + 1913 + 1571 + 64 + 20 + + + 1946.5 + 1581 + + + + + + + + Size of text + b83548d4-da1f-4bb8-bbde-3202b551b25a + Size + Size + false + 0 + + + + + + 1913 + 1591 + 64 + 20 + + + 1946.5 + 1601 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + + + + + + + + + + + Optional colour of tag + 99f4411a-ce78-4831-abbb-8e3d0bb0e393 + Colour + Colour + true + 0 + + + + + + 1913 + 1611 + 64 + 20 + + + 1946.5 + 1621 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;255;255;255 + + + + + + + + + + + + Text justification + beb85c7f-df7c-4b75-9746-90ca04fb1563 + Justification + Justification + false + 0 + + + + + + 1913 + 1631 + 64 + 20 + + + 1946.5 + 1641 + + + + + + 1 + + + + + 1 + {0} + + + + + 7 + + + + + + + + + + + + + + + 8cc3a196-f6a0-49ea-9ed9-0cb343a3ae64 + XZ Plane + + + + + World XZ plane. + true + 2c13f69f-82cd-4fce-9f61-7b00a6866f97 + XZ Plane + XZ Plane + + + + + + 1708 + 1616 + 107 + 71 + + + 1762 + 1652 + + + + + + Origin of plane + 96590491-70d9-4ed1-93a2-714df50b4c84 + Origin + Origin + false + c234c569-b24a-467a-b6d1-fea6eb1af549 + 1 + + + + + + 1710 + 1618 + 37 + 67 + + + 1730 + 1651.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + World XZ plane + 0451b4d1-1cb2-4580-94ca-bb5654e0ca6c + Plane + Plane + false + 0 + + + + + + 1777 + 1618 + 36 + 67 + + + 1795 + 1651.5 + + + + + + + + + + + + 5a41528b-12b9-40dc-a3f2-842034d267c4 + Text Tag 3D + + + + + Represents a list of 3D text tags in a Rhino viewport + 192bfc69-7892-4654-ac78-86f11fe4e243 + Text Tag 3D + Text Tag 3D + + + + + + 1911 + 1784 + 95 + 104 + + + 1992 + 1836 + + + + + + Location and orientation of text tag + true + 5fa1640d-3077-4ff1-bb13-e8acd9fd4072 + Location + Location + false + 01f66f3f-0759-487d-a2cb-48ced7c93d40 + 1 + + + + + + 1913 + 1786 + 64 + 20 + + + 1946.5 + 1796 + + + + + + + + The text to display + 8386a6df-1c6d-47e3-86a3-4469808339a4 + Text + Text + true + 10e9ada1-0819-4c28-89e2-5ddfd83d5e2b + 1 + + + + + + 1913 + 1806 + 64 + 20 + + + 1946.5 + 1816 + + + + + + + + Size of text + 742ea51f-a752-48d3-929f-f568d5632e52 + Size + Size + false + 0 + + + + + + 1913 + 1826 + 64 + 20 + + + 1946.5 + 1836 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + + + + + + + + + + + Optional colour of tag + d1cf2651-e521-493b-bef9-52a3c71b2743 + Colour + Colour + true + 0 + + + + + + 1913 + 1846 + 64 + 20 + + + 1946.5 + 1856 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;255;255;255 + + + + + + + + + + + + Text justification + 8dd68a16-af5a-4aa9-a82a-42091bd5ae2b + Justification + Justification + false + 0 + + + + + + 1913 + 1866 + 64 + 20 + + + 1946.5 + 1876 + + + + + + 1 + + + + + 1 + {0} + + + + + 7 + + + + + + + + + + + + + + + 8cc3a196-f6a0-49ea-9ed9-0cb343a3ae64 + XZ Plane + + + + + World XZ plane. + true + 863a640b-5000-4371-b17e-fb909732b1fa + XZ Plane + XZ Plane + + + + + + 1708 + 1906 + 107 + 71 + + + 1762 + 1942 + + + + + + Origin of plane + 890dddb9-c985-4da0-ab8c-f1d08601d398 + Origin + Origin + false + bad96af4-078e-4af5-a145-0de46767dd62 + 1 + + + + + + 1710 + 1908 + 37 + 67 + + + 1730 + 1941.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + World XZ plane + 01f66f3f-0759-487d-a2cb-48ced7c93d40 + Plane + Plane + false + 0 + + + + + + 1777 + 1908 + 36 + 67 + + + 1795 + 1941.5 + + + + + + + + + + + + 2013e425-8713-42e2-a661-b57e78840337 + Concatenate + + + + + Concatenate some fragments of text + true + bfc0cc41-8d81-4603-a183-ec165297632c + Concatenate + Concatenate + + + + + + 1450 + 1271 + 138 + 94 + + + 1531 + 1318 + + + + + + 2 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 1 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + + + + + First text fragment + 92768a73-47d7-42e6-997b-6cc0424cb072 + Fragment A + Fragment A + true + 6d13a075-08a2-4252-9a2e-7437512080f2 + 1 + + + + + + 1452 + 1273 + 64 + 45 + + + 1485.5 + 1295.5 + + + + + + + + Second text fragment + f870b1ce-416d-4a9e-b2b1-99ac5457c8a1 + Fragment B + Fragment B + true + 2f33e455-b568-4a78-ba34-55a79380f553 + 1 + + + + + + 1452 + 1318 + 64 + 45 + + + 1485.5 + 1340.5 + + + + + + + + Resulting text consisting of all the fragments + e8b7131c-1848-46a7-b7e4-0e7ab0c4cf86 + Result + Result + false + 0 + + + + + + 1546 + 1273 + 40 + 90 + + + 1566 + 1318 + + + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 2f33e455-b568-4a78-ba34-55a79380f553 + Panel + + false + 0 + 0 + m wetted perimeter + + + + + + 1066 + 1330 + 160 + 38 + + 0 + 0 + 0 + + 1066.153 + 1330.793 + + + + + + + 255;255;250;90 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + 2013e425-8713-42e2-a661-b57e78840337 + Concatenate + + + + + Concatenate some fragments of text + true + ad43a005-dd82-4b40-94c0-f7778b5b2a50 + Concatenate + Concatenate + + + + + + 1452 + 1507 + 138 + 94 + + + 1533 + 1554 + + + + + + 2 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 1 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + + + + + First text fragment + ab5d984f-ca31-4759-8841-64420b0f1e39 + Fragment A + Fragment A + true + 639fced2-44f3-4547-a8d9-4b08ec414389 + 1 + + + + + + 1454 + 1509 + 64 + 45 + + + 1487.5 + 1531.5 + + + + + + + + Second text fragment + 0df5966c-a7da-4bf1-bc9e-1e76baecccae + Fragment B + Fragment B + true + 62798943-3384-499d-9391-a5c3da300af8 + 1 + + + + + + 1454 + 1554 + 64 + 45 + + + 1487.5 + 1576.5 + + + + + + + + Resulting text consisting of all the fragments + 72edce54-f162-451f-946c-fc7ce1bc21d2 + Result + Result + false + 0 + + + + + + 1548 + 1509 + 40 + 90 + + + 1568 + 1554 + + + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 62798943-3384-499d-9391-a5c3da300af8 + Panel + + false + 0 + 0 + m hydraulic radius + + + + + + 1070 + 1593 + 160 + 38 + + 0 + 0 + 0 + + 1070.509 + 1593.842 + + + + + + + 255;255;250;90 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + 2013e425-8713-42e2-a661-b57e78840337 + Concatenate + + + + + Concatenate some fragments of text + true + 035aef1d-cdac-468b-9fb7-3a37384e9f1b + Concatenate + Concatenate + + + + + + 1455 + 1834 + 138 + 94 + + + 1536 + 1881 + + + + + + 2 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 1 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + + + + + First text fragment + 05d8de67-e595-4972-8057-6ae07308f0ae + Fragment A + Fragment A + true + aa6b3e94-e16f-438e-a5e3-a7c7cd36474e + 1 + + + + + + 1457 + 1836 + 64 + 45 + + + 1490.5 + 1858.5 + + + + + + + + Second text fragment + 0519f849-eeec-4173-b87f-ec57aefd5c05 + Fragment B + Fragment B + true + 97a4d849-796e-48da-9db4-e42a63374601 + 1 + + + + + + 1457 + 1881 + 64 + 45 + + + 1490.5 + 1903.5 + + + + + + + + Resulting text consisting of all the fragments + 10e9ada1-0819-4c28-89e2-5ddfd83d5e2b + Result + Result + false + 0 + + + + + + 1551 + 1836 + 40 + 90 + + + 1571 + 1881 + + + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 97a4d849-796e-48da-9db4-e42a63374601 + Panel + + false + 0 + 0 + m/s mean flow velocity + + + + + + 1074 + 1885 + 160 + 38 + + 0 + 0 + 0 + + 1074.164 + 1885.923 + + + + + + + 255;255;250;90 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + fbac3e32-f100-4292-8692-77240a42fd1a + Point + + + + + Contains a collection of three-dimensional points + true + e43eb8f6-d62a-4f5d-a01c-de416203fe57 + Point + Point + false + 0 + + + + + + 1066 + 942 + 50 + 20 + + + 1091.881 + 952.8072 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + daafad66-a2b5-441d-896d-0de754c8033b + -1 + 0 + 0 + point_object + + + + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + b08b5065-ecdf-4f93-9b1a-8ba50c3f591f + Panel + + false + 0 + 0 + m max depth + + + + + + 1067 + 889 + 160 + 38 + + 0 + 0 + 0 + + 1067.3 + 889.0185 + + + + + + + 255;255;250;90 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + 5a41528b-12b9-40dc-a3f2-842034d267c4 + Text Tag 3D + + + + + Represents a list of 3D text tags in a Rhino viewport + 24629933-2a61-4147-83eb-c509428e3458 + Text Tag 3D + Text Tag 3D + + + + + + 1909 + 760 + 95 + 104 + + + 1990 + 812 + + + + + + Location and orientation of text tag + true + ee47e217-daf1-4720-9a9f-3be971d3f9d2 + Location + Location + false + d1304098-c799-49b1-9018-e0c7e6f5fe4a + 1 + + + + + + 1911 + 762 + 64 + 20 + + + 1944.5 + 772 + + + + + + + + The text to display + 77a2f9c5-6821-43df-bdb3-429e807f9096 + Text + Text + true + 2447fbd4-bad4-4d47-892e-3a5a7aa56924 + 1 + + + + + + 1911 + 782 + 64 + 20 + + + 1944.5 + 792 + + + + + + + + Size of text + 94bd0163-fd40-4121-879f-a62ac4a22c3b + Size + Size + false + 0 + + + + + + 1911 + 802 + 64 + 20 + + + 1944.5 + 812 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + + + + + + + + + + + Optional colour of tag + 563c5ba3-ce8d-4191-9adb-d21fa56129b6 + Colour + Colour + true + 0 + + + + + + 1911 + 822 + 64 + 20 + + + 1944.5 + 832 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;255;255;255 + + + + + + + + + + + + Text justification + d3401c15-f7e6-4820-b03b-d24f47906640 + Justification + Justification + false + 0 + + + + + + 1911 + 842 + 64 + 20 + + + 1944.5 + 852 + + + + + + 1 + + + + + 1 + {0} + + + + + 7 + + + + + + + + + + + + + + + 8cc3a196-f6a0-49ea-9ed9-0cb343a3ae64 + XZ Plane + + + + + World XZ plane. + true + 08cabebd-0d39-4307-8c32-ef9172a04fb5 + XZ Plane + XZ Plane + + + + + + 1704 + 908 + 107 + 71 + + + 1758 + 944 + + + + + + Origin of plane + ad0be3de-17d5-43fd-a7aa-0b8541397895 + Origin + Origin + false + e43eb8f6-d62a-4f5d-a01c-de416203fe57 + 1 + + + + + + 1706 + 910 + 37 + 67 + + + 1726 + 943.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + World XZ plane + d1304098-c799-49b1-9018-e0c7e6f5fe4a + Plane + Plane + false + 0 + + + + + + 1773 + 910 + 36 + 67 + + + 1791 + 943.5 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + c1606544-efd2-477e-92d8-894b2158f94d + Number Slider + + false + 0 + + + + + + -282 + 1114 + 203 + 20 + + + -281.4552 + 1114.766 + + + + + + 3 + 1 + 0 + 1 + 0 + 0 + 0.026 + + + + + + + + + 2013e425-8713-42e2-a661-b57e78840337 + Concatenate + + + + + Concatenate some fragments of text + true + e77df678-6360-4c55-a20b-ea390151ff7e + Concatenate + Concatenate + + + + + + 1450 + 823 + 138 + 94 + + + 1531 + 870 + + + + + + 2 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 1 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + + + + + First text fragment + 81daee3d-6ff5-451f-8d60-d2c2def0a2e9 + Fragment A + Fragment A + true + 930e979b-8698-44ef-9ebe-13057ae37588 + 1 + + + + + + 1452 + 825 + 64 + 45 + + + 1485.5 + 847.5 + + + + + + + + Second text fragment + 0a913da4-0f56-4c8c-a876-10d2a3286b5d + Fragment B + Fragment B + true + b08b5065-ecdf-4f93-9b1a-8ba50c3f591f + 1 + + + + + + 1452 + 870 + 64 + 45 + + + 1485.5 + 892.5 + + + + + + + + Resulting text consisting of all the fragments + 2447fbd4-bad4-4d47-892e-3a5a7aa56924 + Result + Result + false + 0 + + + + + + 1546 + 825 + 40 + 90 + + + 1566 + 870 + + + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 10d93686-4242-4890-b246-ca7c15362362 + Number Slider + + false + 0 + + + + + + -280 + 1160 + 203 + 20 + + + -279.3552 + 1160.566 + + + + + + 2 + 1 + 0 + 1 + 0 + 0 + 0.01 + + + + + + + + + 59daf374-bc21-4a5e-8282-5504fb7ae9ae + List Item + + + + + 0 + Retrieve a specific item from a list. + true + 97a4f9e8-33e2-4431-a242-35f568b3339b + List Item + List Item + + + + + + 1066 + 534 + 96 + 70 + + + 1132 + 569 + + + + + + 3 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 2e3ab970-8545-46bb-836c-1c11e5610bce + cb95db89-6165-43b6-9c41-5702bc5bf137 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Base list + 89f2bcbd-6d88-4af4-8c22-9acff63aa855 + 1 + List + List + false + 0b0e26b2-2fa5-4ad9-b965-f99dc6f2e7d0 + 1 + + + + + + 1068 + 536 + 49 + 22 + + + 1102 + 547 + + + + + + + + Item index + 8dc02bc6-dcf3-4e34-ac48-827d00be283f + Index + Index + false + 0 + + + + + + 1068 + 558 + 49 + 22 + + + 1102 + 569 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Wrap index to list bounds + b9e930e3-4ca2-4a65-8d6a-b500e8cfba16 + Wrap + Wrap + false + 0 + + + + + + 1068 + 580 + 49 + 22 + + + 1102 + 591 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Item at {i'} + 2861b8f7-eda0-4b24-94fb-f2b0cea64f46 + false + Item + i + false + 0 + + + + + + 1147 + 536 + 13 + 66 + + + 1153.5 + 569 + + + + + + + + + + + + + + 008255a6-edff-44d9-b96f-23eb050b4a1a + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Channel Profile + + + + + Calculate information about water flow in a given channel section + 66b81b27-7afd-433b-b360-e428f0c1c897 + Channel Profile + Channel Profile + + + + + + 481 + 1085 + 190 + 144 + + + 558 + 1157 + + + + + + A closed planar curve representing a section of the water body; assumes a level top + 936a1feb-5eb8-4761-95f5-be4fd2ae82d3 + Channel + Channel + false + 197acadb-e186-4c9d-910a-dc204225799d + 1 + + + + + + 483 + 1087 + 60 + 46 + + + 514.5 + 1110.333 + + + + + + + + Manning's roughness coefficient for the channel + a84b718b-4d2e-4b0d-b563-21f9f8e3cde0 + Roughness + Roughness + true + c1606544-efd2-477e-92d8-894b2158f94d + 1 + + + + + + 483 + 1133 + 60 + 47 + + + 514.5 + 1157 + + + + + + + + Slope of the hydraulic grade line as a decimal (i.e. rise/run = 0.5) + eb65cdfa-e049-460f-b79c-b85c9460a886 + slope + slope + true + 10d93686-4242-4890-b246-ca7c15362362 + 1 + + + + + + 483 + 1180 + 60 + 47 + + + 514.5 + 1203.667 + + + + + + + + Area + 0b0e26b2-2fa5-4ad9-b965-f99dc6f2e7d0 + Area + Area + false + 0 + + + + + + 573 + 1087 + 96 + 20 + + + 621 + 1097 + + + + + + + + Max Depth + e8084f53-6867-49e5-81c3-0bf544231cb9 + Max Depth + Max Depth + false + 0 + + + + + + 573 + 1107 + 96 + 20 + + + 621 + 1117 + + + + + + + + Mean Depth + d87b0a41-37c7-4366-a4d4-7d88cde743c2 + Mean Depth + Mean Depth + false + 0 + + + + + + 573 + 1127 + 96 + 20 + + + 621 + 1137 + + + + + + + + Wetted Perimeter + 35c7b5ce-41b5-4086-b6df-31af94486332 + Wetted Perimeter + Wetted Perimeter + false + 0 + + + + + + 573 + 1147 + 96 + 20 + + + 621 + 1157 + + + + + + + + Hydraulic Radius + d37c23eb-01da-4969-a064-caaa701fcaaa + Hydraulic Radius + Hydraulic Radius + false + 0 + + + + + + 573 + 1167 + 96 + 20 + + + 621 + 1177 + + + + + + + + Velocity + 2ada8823-26c1-4ece-8f6c-0f00b4cb19b5 + Velocity + Velocity + false + 0 + + + + + + 573 + 1187 + 96 + 20 + + + 621 + 1197 + + + + + + + + The rate of discharge in cubic document units per second + 3f543ee5-1ae8-4f85-8f72-f16d231d659c + Discharge + Discharge + false + 0 + + + + + + 573 + 1207 + 96 + 20 + + + 621 + 1217 + + + + + + + + + + + + fbac3e32-f100-4292-8692-77240a42fd1a + Point + + + + + Contains a collection of three-dimensional points + true + dada7c6f-45ca-4d3b-ab7a-dedced49bffb + Point + Point + false + 0 + + + + + + 1068 + 1163 + 50 + 20 + + + 1093.147 + 1173.317 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + a74da42d-f55e-4fc8-8ffb-4e33f2346f0e + -1 + 0 + 0 + point_object + + + + + + + + + + + + + + + 5a41528b-12b9-40dc-a3f2-842034d267c4 + Text Tag 3D + + + + + Represents a list of 3D text tags in a Rhino viewport + 965c2dbe-4bcc-4335-93a6-183a87db9a3c + Text Tag 3D + Text Tag 3D + + + + + + 1910 + 1011 + 95 + 104 + + + 1991 + 1063 + + + + + + Location and orientation of text tag + true + 2b0a3a1f-d061-43c5-a596-4cf6b7052bc4 + Location + Location + false + 731c4502-b443-4ab8-ad64-002e014cadcb + 1 + + + + + + 1912 + 1013 + 64 + 20 + + + 1945.5 + 1023 + + + + + + + + The text to display + 5f4b5947-a2a9-42d0-96e4-e4e712f13b4d + Text + Text + true + b4fd399e-98fd-44fe-8698-9f883a70973c + 1 + + + + + + 1912 + 1033 + 64 + 20 + + + 1945.5 + 1043 + + + + + + + + Size of text + bf6ec2cf-447e-4163-8c80-3f77c11b7dce + Size + Size + false + 0 + + + + + + 1912 + 1053 + 64 + 20 + + + 1945.5 + 1063 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + + + + + + + + + + + Optional colour of tag + 36962b51-7973-40c0-83e5-a53e2ef03fd7 + Colour + Colour + true + 0 + + + + + + 1912 + 1073 + 64 + 20 + + + 1945.5 + 1083 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;255;255;255 + + + + + + + + + + + + Text justification + 31fc7ed7-760f-48d7-acae-c2248faa4dcc + Justification + Justification + false + 0 + + + + + + 1912 + 1093 + 64 + 20 + + + 1945.5 + 1103 + + + + + + 1 + + + + + 1 + {0} + + + + + 7 + + + + + + + + + + + + + + + 8cc3a196-f6a0-49ea-9ed9-0cb343a3ae64 + XZ Plane + + + + + World XZ plane. + true + b855292c-6646-4daa-b097-25e235be29ca + XZ Plane + XZ Plane + + + + + + 1706 + 1135 + 107 + 71 + + + 1760 + 1171 + + + + + + Origin of plane + c9ae01b8-c40c-441f-9095-8c7a64d88076 + Origin + Origin + false + dada7c6f-45ca-4d3b-ab7a-dedced49bffb + 1 + + + + + + 1708 + 1137 + 37 + 67 + + + 1728 + 1170.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + World XZ plane + 731c4502-b443-4ab8-ad64-002e014cadcb + Plane + Plane + false + 0 + + + + + + 1775 + 1137 + 36 + 67 + + + 1793 + 1170.5 + + + + + + + + + + + + 2013e425-8713-42e2-a661-b57e78840337 + Concatenate + + + + + Concatenate some fragments of text + true + 32a15e91-d4d8-43dc-ac18-26059c7dd4f9 + Concatenate + Concatenate + + + + + + 1451 + 1033 + 138 + 94 + + + 1532 + 1080 + + + + + + 2 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 1 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + + + + + First text fragment + e3db4dd1-5b06-47c2-8cc5-c47ef40ce365 + Fragment A + Fragment A + true + 6a54c4f7-f7e7-4231-be6d-95d2ab77fa15 + 1 + + + + + + 1453 + 1035 + 64 + 45 + + + 1486.5 + 1057.5 + + + + + + + + Second text fragment + 735caaff-0584-4b49-80b7-14b28c573a18 + Fragment B + Fragment B + true + 10f2d508-387b-42c3-931b-3d7443a9a1a2 + 1 + + + + + + 1453 + 1080 + 64 + 45 + + + 1486.5 + 1102.5 + + + + + + + + Resulting text consisting of all the fragments + b4fd399e-98fd-44fe-8698-9f883a70973c + Result + Result + false + 0 + + + + + + 1547 + 1035 + 40 + 90 + + + 1567 + 1080 + + + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 10f2d508-387b-42c3-931b-3d7443a9a1a2 + Panel + + false + 0 + 0 + m mean depth + + + + + + 1067 + 1108 + 160 + 37 + + 0 + 0 + 0 + + 1067.665 + 1108.331 + + + + + + + 255;255;250;90 + + true + true + true + false + true + + + + + Courier New + 8 + + + + + + + + + + + fbac3e32-f100-4292-8692-77240a42fd1a + Point + + + + + Contains a collection of three-dimensional points + true + 2a0ddacf-d07e-44d0-9bfe-cf9e2a8e194f + Point + Point + false + 0 + + + + + + 1066 + 2162 + 50 + 20 + + + 1091.938 + 2172.677 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + b6a55d80-3034-405a-bad5-d75655310666 + -1 + 0 + 0 + point_object + + + + + + + + + + + + + + + 5a41528b-12b9-40dc-a3f2-842034d267c4 + Text Tag 3D + + + + + Represents a list of 3D text tags in a Rhino viewport + 62f3cb52-e75e-4a4c-a217-90a523a00211 + Text Tag 3D + Text Tag 3D + + + + + + 1911 + 2042 + 95 + 104 + + + 1992 + 2094 + + + + + + Location and orientation of text tag + true + e5f0c72b-47c4-46e4-8a43-3d3265574707 + Location + Location + false + 6f35b00b-6c58-4783-927c-1742ad3ebb6a + 1 + + + + + + 1913 + 2044 + 64 + 20 + + + 1946.5 + 2054 + + + + + + + + The text to display + 2c6cc97b-dc78-44a9-9902-2192bb75eee7 + Text + Text + true + fe7bd4df-dedd-4003-aaa4-e72183a3792b + 1 + + + + + + 1913 + 2064 + 64 + 20 + + + 1946.5 + 2074 + + + + + + + + Size of text + fc3869e6-f403-4d96-a1e6-0248e512263f + Size + Size + false + 0 + + + + + + 1913 + 2084 + 64 + 20 + + + 1946.5 + 2094 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + + + + + + + + + + + Optional colour of tag + 1613e7b1-db39-44f2-bc58-748c2ad3811e + Colour + Colour + true + 0 + + + + + + 1913 + 2104 + 64 + 20 + + + 1946.5 + 2114 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;255;255;255 + + + + + + + + + + + + Text justification + 15a8e848-c364-4d77-beaa-9129a4e924b7 + Justification + Justification + false + 0 + + + + + + 1913 + 2124 + 64 + 20 + + + 1946.5 + 2134 + + + + + + 1 + + + + + 1 + {0} + + + + + 7 + + + + + + + + + + + + + + + 8cc3a196-f6a0-49ea-9ed9-0cb343a3ae64 + XZ Plane + + + + + World XZ plane. + true + fecf5372-9255-4b08-a46b-8c23f05cf482 + XZ Plane + XZ Plane + + + + + + 1704 + 2137 + 107 + 71 + + + 1758 + 2173 + + + + + + Origin of plane + 3bf358c2-5249-4987-a6d1-2d8325cb06a4 + Origin + Origin + false + 2a0ddacf-d07e-44d0-9bfe-cf9e2a8e194f + 1 + + + + + + 1706 + 2139 + 37 + 67 + + + 1726 + 2172.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + World XZ plane + 6f35b00b-6c58-4783-927c-1742ad3ebb6a + Plane + Plane + false + 0 + + + + + + 1773 + 2139 + 36 + 67 + + + 1791 + 2172.5 + + + + + + + + + + + + 2013e425-8713-42e2-a661-b57e78840337 + Concatenate + + + + + Concatenate some fragments of text + true + ed813e01-e25d-4c40-819e-4248caf43667 + Concatenate + Concatenate + + + + + + 1452 + 2053 + 138 + 94 + + + 1533 + 2100 + + + + + + 2 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 1 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + + + + + First text fragment + 28585ed5-a203-4241-8004-c58c47b67286 + Fragment A + Fragment A + true + 0db0d69c-c7a5-460f-b878-d1f9cd887eef + 1 + + + + + + 1454 + 2055 + 64 + 45 + + + 1487.5 + 2077.5 + + + + + + + + Second text fragment + 0f16b43a-f5cf-47c2-9d5d-c8b11f1a3a53 + Fragment B + Fragment B + true + 28a4feb5-1dcf-418f-9c07-e7fb1bb4cb47 + 1 + + + + + + 1454 + 2100 + 64 + 45 + + + 1487.5 + 2122.5 + + + + + + + + Resulting text consisting of all the fragments + fe7bd4df-dedd-4003-aaa4-e72183a3792b + Result + Result + false + 0 + + + + + + 1548 + 2055 + 40 + 90 + + + 1568 + 2100 + + + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 28a4feb5-1dcf-418f-9c07-e7fb1bb4cb47 + Panel + + false + 0 + 0 + m3/s discharge volume + + + + + + 1065 + 2109 + 160 + 38 + + 0 + 0 + 0 + + 1065.149 + 2109.172 + + + + + + + 255;255;250;90 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 3bbeeb34-c32f-4ce4-9e1d-0d5c544338b8 + 665f013a-55c0-4da8-ade7-c749beaaf253 + 36c2981c-1b03-459f-bae6-bde88d70b533 + db3b3621-2e26-4c4f-b61d-607af828e7a8 + bb1696df-f6a5-4400-b570-a3403d57ac3d + 5 + 84b918e3-c3c2-4bd5-b8f1-488f458a4a1d + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + a7fa28a3-04b2-440e-bce3-78ac820c09ba + e5b89181-a95c-4eac-96a4-165e0b69c763 + 2 + 0787a219-2812-4a47-9764-c27b0e01def7 + Group + + + + + + + + + + + 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe + Scribble + + + + + false + + -274.3966 + -270.417 + + + -26.09094 + -270.417 + + + -26.09094 + -249.7813 + + + -274.3966 + -249.7813 + + A quick note + Microsoft Sans Serif + a7fa28a3-04b2-440e-bce3-78ac820c09ba + false + Scribble + Scribble + 22 + Groundhog Example File + + + + + + + + -279.3966 + -275.417 + 258.3057 + 30.63574 + + + -274.3966 + -270.417 + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + e5b89181-a95c-4eac-96a4-165e0b69c763 + Panel + + false + 0 + 0 + Definition prepared for Groundhog v0.9.1b and depends on components from that plugin. It is available for download at http://groundhog.la/ + +Contact groundhog@philipbelesky.com for support or feedback. + +This is an example file related to the plugin's documentation. + +This definition is licensed under the terms of the GPL v3 https://opensource.org/licenses/GPL-3.0 + + + + + + -277 + -231 + 264 + 217 + + 0 + 0 + 0 + + -276.5692 + -230.264 + + + + + + 1 + + 255;245;245;245 + + true + true + true + false + true + + + + + Microsoft Sans Serif + 8 + + + + + + + + + + + 5a41528b-12b9-40dc-a3f2-842034d267c4 + Text Tag 3D + + + + + Represents a list of 3D text tags in a Rhino viewport + 58810f01-c7b4-46cc-9e60-6c6444c9038a + Text Tag 3D + Text Tag 3D + + + + + + 1911 + 514 + 95 + 104 + + + 1992 + 566 + + + + + + Location and orientation of text tag + true + 6f13be14-c83c-4d2d-9f30-000dc681c0fa + Location + Location + false + daabfd09-25cb-4982-bb6a-01bf0028a624 + 1 + + + + + + 1913 + 516 + 64 + 20 + + + 1946.5 + 526 + + + + + + + + The text to display + dfb5dda1-9b72-4dbd-aaa0-ed7907da9512 + Text + Text + true + 6436ca43-c224-43a6-98eb-cecf69b11b10 + 1 + + + + + + 1913 + 536 + 64 + 20 + + + 1946.5 + 546 + + + + + + + + Size of text + ac813be3-4d4f-4d48-a6f1-7df8556c71ce + Size + Size + false + 0 + + + + + + 1913 + 556 + 64 + 20 + + + 1946.5 + 566 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + + + + + + + + + + + Optional colour of tag + e740ac7e-2206-4527-b753-36ab04ef191d + Colour + Colour + true + 0 + + + + + + 1913 + 576 + 64 + 20 + + + 1946.5 + 586 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;255;255;255 + + + + + + + + + + + + Text justification + d0083526-409b-4ee9-a4ed-b1071ab8643d + Justification + Justification + false + 0 + + + + + + 1913 + 596 + 64 + 20 + + + 1946.5 + 606 + + + + + + 1 + + + + + 1 + {0} + + + + + 7 + + + + + + + + + + + + + + + 8cc3a196-f6a0-49ea-9ed9-0cb343a3ae64 + XZ Plane + + + + + World XZ plane. + true + 28177b8d-6454-4054-9a58-337811178b8f + XZ Plane + XZ Plane + + + + + + 1705 + 638 + 107 + 71 + + + 1759 + 674 + + + + + + Origin of plane + 374aba0e-911a-4d9b-8740-9172a636ba83 + Origin + Origin + false + bb5ddd7c-3195-4ca2-bc50-5ca9209d470c + 1 + + + + + + 1707 + 640 + 37 + 67 + + + 1727 + 673.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + World XZ plane + daabfd09-25cb-4982-bb6a-01bf0028a624 + Plane + Plane + false + 0 + + + + + + 1774 + 640 + 36 + 67 + + + 1792 + 673.5 + + + + + + + + + + + + 2013e425-8713-42e2-a661-b57e78840337 + Concatenate + + + + + Concatenate some fragments of text + true + 78220386-336b-4b51-9a37-c7646c77486d + Concatenate + Concatenate + + + + + + 1452 + 566 + 138 + 94 + + + 1533 + 613 + + + + + + 2 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + 1 + 3ede854e-c753-40eb-84cb-b48008f14fd4 + + + + + First text fragment + 40d5da91-c620-4e98-8ec1-459dd4e46a61 + Fragment A + Fragment A + true + 3f30610b-4cf0-43be-b395-9c6e0d4d73e0 + 1 + + + + + + 1454 + 568 + 64 + 45 + + + 1487.5 + 590.5 + + + + + + + + Second text fragment + fb5290e6-f809-462c-b544-edc48b443819 + Fragment B + Fragment B + true + 56b9718c-659b-4e0a-9476-7cc0929ca809 + 1 + + + + + + 1454 + 613 + 64 + 45 + + + 1487.5 + 635.5 + + + + + + + + Resulting text consisting of all the fragments + 6436ca43-c224-43a6-98eb-cecf69b11b10 + Result + Result + false + 0 + + + + + + 1548 + 568 + 40 + 90 + + + 1568 + 613 + + + + + + + + + + + + + + 59daf374-bc21-4a5e-8282-5504fb7ae9ae + List Item + + + + + 0 + Retrieve a specific item from a list. + true + a4c7dc8c-7de2-4851-b822-49b5688d7f2e + List Item + List Item + + + + + + 1068 + 802 + 96 + 70 + + + 1134 + 837 + + + + + + 3 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 2e3ab970-8545-46bb-836c-1c11e5610bce + cb95db89-6165-43b6-9c41-5702bc5bf137 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Base list + e57d429d-8cd5-4e5a-8f06-c040ec86f117 + 1 + List + List + false + e8084f53-6867-49e5-81c3-0bf544231cb9 + 1 + + + + + + 1070 + 804 + 49 + 22 + + + 1104 + 815 + + + + + + + + Item index + 30f563ae-3e7f-4616-9c67-05a88a475a1b + Index + Index + false + 0 + + + + + + 1070 + 826 + 49 + 22 + + + 1104 + 837 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Wrap index to list bounds + eafc51a8-a489-4b87-be29-50c465927998 + Wrap + Wrap + false + 0 + + + + + + 1070 + 848 + 49 + 22 + + + 1104 + 859 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Item at {i'} + 8fb64632-a39e-4abf-a703-e53fe46c6bdd + false + Item + i + false + 0 + + + + + + 1149 + 804 + 13 + 66 + + + 1155.5 + 837 + + + + + + + + + + + + + + 59daf374-bc21-4a5e-8282-5504fb7ae9ae + List Item + + + + + 0 + Retrieve a specific item from a list. + true + feead5fc-ddd7-40aa-b02b-bbd1cb5a0e61 + List Item + List Item + + + + + + 1071 + 1022 + 96 + 70 + + + 1137 + 1057 + + + + + + 3 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 2e3ab970-8545-46bb-836c-1c11e5610bce + cb95db89-6165-43b6-9c41-5702bc5bf137 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Base list + 4dfe070a-6644-44d3-bed0-52da3de47735 + 1 + List + List + false + d87b0a41-37c7-4366-a4d4-7d88cde743c2 + 1 + + + + + + 1073 + 1024 + 49 + 22 + + + 1107 + 1035 + + + + + + + + Item index + fe42e7a9-5d37-4368-889f-ccdf10ff3659 + Index + Index + false + 0 + + + + + + 1073 + 1046 + 49 + 22 + + + 1107 + 1057 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Wrap index to list bounds + 7c055cc7-03b4-4c8b-a2d1-2f7d61386ce5 + Wrap + Wrap + false + 0 + + + + + + 1073 + 1068 + 49 + 22 + + + 1107 + 1079 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Item at {i'} + b9491328-17b0-4f23-b4ba-5283c8918ccc + false + Item + i + false + 0 + + + + + + 1152 + 1024 + 13 + 66 + + + 1158.5 + 1057 + + + + + + + + + + + + + + 59daf374-bc21-4a5e-8282-5504fb7ae9ae + List Item + + + + + 0 + Retrieve a specific item from a list. + true + 61e19176-438c-459a-beff-df235a72f65c + List Item + List Item + + + + + + 1068 + 1247 + 96 + 70 + + + 1134 + 1282 + + + + + + 3 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 2e3ab970-8545-46bb-836c-1c11e5610bce + cb95db89-6165-43b6-9c41-5702bc5bf137 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Base list + c67c4daf-36bd-4f3a-8d57-8b28949acd5e + 1 + List + List + false + 35c7b5ce-41b5-4086-b6df-31af94486332 + 1 + + + + + + 1070 + 1249 + 49 + 22 + + + 1104 + 1260 + + + + + + + + Item index + e8dab740-cef1-4c51-9149-fc24a2c2bdfd + Index + Index + false + 0 + + + + + + 1070 + 1271 + 49 + 22 + + + 1104 + 1282 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Wrap index to list bounds + a825ce01-ae70-468b-b5ba-0aa9c1f31c0e + Wrap + Wrap + false + 0 + + + + + + 1070 + 1293 + 49 + 22 + + + 1104 + 1304 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Item at {i'} + acf985f8-54fb-4eca-9f54-1c1c596aad89 + false + Item + i + false + 0 + + + + + + 1149 + 1249 + 13 + 66 + + + 1155.5 + 1282 + + + + + + + + + + + + + + 59daf374-bc21-4a5e-8282-5504fb7ae9ae + List Item + + + + + 0 + Retrieve a specific item from a list. + true + 37b15940-cd40-4168-ac30-c44dfaf5cb7e + List Item + List Item + + + + + + 1072 + 1509 + 96 + 70 + + + 1138 + 1544 + + + + + + 3 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 2e3ab970-8545-46bb-836c-1c11e5610bce + cb95db89-6165-43b6-9c41-5702bc5bf137 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Base list + 573da20b-d5a1-4806-9948-d3f142fb1888 + 1 + List + List + false + d37c23eb-01da-4969-a064-caaa701fcaaa + 1 + + + + + + 1074 + 1511 + 49 + 22 + + + 1108 + 1522 + + + + + + + + Item index + a9a54cd0-0fbc-46a4-a070-e9500be7b0ee + Index + Index + false + 0 + + + + + + 1074 + 1533 + 49 + 22 + + + 1108 + 1544 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Wrap index to list bounds + f61e68e2-61bd-442d-af07-4dc0c49329af + Wrap + Wrap + false + 0 + + + + + + 1074 + 1555 + 49 + 22 + + + 1108 + 1566 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Item at {i'} + b2d4d098-b213-438c-b423-3973aa88d62d + false + Item + i + false + 0 + + + + + + 1153 + 1511 + 13 + 66 + + + 1159.5 + 1544 + + + + + + + + + + + + + + 59daf374-bc21-4a5e-8282-5504fb7ae9ae + List Item + + + + + 0 + Retrieve a specific item from a list. + true + 13719164-bf64-4dc8-a366-56030d2a78e7 + List Item + List Item + + + + + + 1072 + 1793 + 96 + 70 + + + 1138 + 1828 + + + + + + 3 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 2e3ab970-8545-46bb-836c-1c11e5610bce + cb95db89-6165-43b6-9c41-5702bc5bf137 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Base list + fa7b1585-99a0-43e8-8a25-b23156eebc2c + 1 + List + List + false + 2ada8823-26c1-4ece-8f6c-0f00b4cb19b5 + 1 + + + + + + 1074 + 1795 + 49 + 22 + + + 1108 + 1806 + + + + + + + + Item index + 02864af4-87d5-4507-97ce-d233bd1142a1 + Index + Index + false + 0 + + + + + + 1074 + 1817 + 49 + 22 + + + 1108 + 1828 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Wrap index to list bounds + 64cf55ca-eb89-427c-88dc-8f5bdb50cd71 + Wrap + Wrap + false + 0 + + + + + + 1074 + 1839 + 49 + 22 + + + 1108 + 1850 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Item at {i'} + 75199ec1-4112-47ac-afbc-f981c0666416 + false + Item + i + false + 0 + + + + + + 1153 + 1795 + 13 + 66 + + + 1159.5 + 1828 + + + + + + + + + + + + + + 59daf374-bc21-4a5e-8282-5504fb7ae9ae + List Item + + + + + 0 + Retrieve a specific item from a list. + true + e24ecee7-5395-4089-a4d0-15247b117421 + List Item + List Item + + + + + + 1068 + 2024 + 96 + 70 + + + 1134 + 2059 + + + + + + 3 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + 2e3ab970-8545-46bb-836c-1c11e5610bce + cb95db89-6165-43b6-9c41-5702bc5bf137 + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Base list + 389b2457-c512-41b6-973c-282a5f308783 + 1 + List + List + false + 3f543ee5-1ae8-4f85-8f72-f16d231d659c + 1 + + + + + + 1070 + 2026 + 49 + 22 + + + 1104 + 2037 + + + + + + + + Item index + 30318927-ca54-4b73-b649-60d9507b35bd + Index + Index + false + 0 + + + + + + 1070 + 2048 + 49 + 22 + + + 1104 + 2059 + + + + + + 1 + + + + + 1 + {0} + + + + + 0 + + + + + + + + + + + Wrap index to list bounds + 60380d12-897e-46db-9658-493a136cfc84 + Wrap + Wrap + false + 0 + + + + + + 1070 + 2070 + 49 + 22 + + + 1104 + 2081 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Item at {i'} + 5fae5d78-dca8-4d5f-939b-218692ee3c3d + false + Item + i + false + 0 + + + + + + 1149 + 2026 + 13 + 66 + + + 1155.5 + 2059 + + + + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + b2c4a486-2cec-4174-99cf-cf44cab6aec7 + 1 + 13b69099-7c55-43a0-beaa-5e8681776a3f + Group + Calculate Water Channel + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 33e5d6a3-fa29-41d6-b7d6-4be26086ef99 + 44aaca2c-e212-4a50-8108-710bfb538fcb + 2 + 49a039f1-6456-485e-b4eb-5f38ca623c7d + Group + Channel Information + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + a0276344-3805-4512-a335-8cf69c8bf82d + Number Slider + Number Slider + false + 0 + + + + + + -285 + 118 + 203 + 20 + + + -284.0291 + 118.5536 + + + + + + 3 + 1 + 1 + 10000000 + 0 + 0 + 3308527 + + + + + + + + + 919e146f-30ae-4aae-be34-4d72f555e7da + Brep + + + + + Contains a collection of Breps (Boundary REPresentations) + true + 4aab97e0-5dc6-47a1-9783-258ab44f65d4 + Brep + Base Brep + false + 0 + + + + + + -133 + 165 + 64 + 20 + + + -100.6165 + 175.3931 + + + + + + 1 + + + + + 1 + {0} + + + + + 80f709a8-2036-4983-852d-dd24f7df6155 + + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + a6ff565e-809a-4f2e-a652-33e0dcf6e910 + Curve + Guide Curve + false + 0 + + + + + + -136 + 217 + 76 + 20 + + + -97.05014 + 227.8449 + + + + + + 1 + + + + + 1 + {0} + + + + + -1 + 52dcd38c-5885-4f13-83fd-553c592feb3d + + + + + + + + + + + + + 2162e72e-72fc-4bf8-9459-d4d82fa8aa14 + Divide Curve + + + + + Divide a curve into equal length segments + true + 1025e69e-75fe-47d6-8157-528bcf2b318b + Divide Curve + Divide + + + + + + 120 + 222 + 65 + 64 + + + 152 + 254 + + + + + + Curve to divide + e93369e8-09ba-4a00-8e82-ec969ad204a0 + Curve + C + false + a6ff565e-809a-4f2e-a652-33e0dcf6e910 + 1 + + + + + + 122 + 224 + 15 + 20 + + + 131 + 234 + + + + + + + + Number of segments + a72f9b45-caaf-494f-a661-0385aad26c30 + Count + N + false + eab14726-0451-4d64-b338-4ec4eb422e3d + 1 + + + + + + 122 + 244 + 15 + 20 + + + 131 + 254 + + + + + + 1 + + + + + 1 + {0} + + + + + 10 + + + + + + + + + + + Split segments at kinks + 0936ca6b-7585-4969-9959-3c06fe7c7689 + Kinks + K + false + 0 + + + + + + 122 + 264 + 15 + 20 + + + 131 + 274 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Division points + 01cd13e7-0f18-4839-894b-c8b88e74f7b9 + Points + P + false + 0 + + + + + + 167 + 224 + 16 + 20 + + + 175 + 234 + + + + + + + + 1 + Tangent vectors at division points + cc384563-fbe7-4d9b-9a72-4d1d515cb778 + Tangents + T + false + 0 + + + + + + 167 + 244 + 16 + 20 + + + 175 + 254 + + + + + + + + 1 + Parameter values at division points + d36ea1ec-24f1-4fc8-a605-dbcd9dab5f92 + Parameters + t + false + 0 + + + + + + 167 + 264 + 16 + 20 + + + 175 + 274 + + + + + + + + + + + + 4fe828e8-fa95-4cc5-9a8c-c33856ecc783 + Brep | Plane + + + + + Solve intersection events for a Brep and a plane (otherwise known as section). + true + 718724b5-9687-433c-9e26-34ac721a1a2b + Brep | Plane + Sec + + + + + + 352 + 187 + 80 + 44 + + + 382 + 209 + + + + + + Base Brep + 4a4171f4-3121-4aac-83ed-c715c472a437 + Brep + B + false + 4aab97e0-5dc6-47a1-9783-258ab44f65d4 + 1 + + + + + + 354 + 189 + 13 + 20 + + + 362 + 199 + + + + + + + + Section plane + 20ebfb9e-30e2-4a79-b811-e40c2c9b387e + Plane + P + false + 060e3836-7d35-4ec2-960e-ca45800aedb2 + 1 + + + + + + 354 + 209 + 13 + 20 + + + 362 + 219 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + + + + + + + + + + + + 1 + Section curves + 203f4756-49e3-4d52-82e9-cdd09ba8a4c5 + 1 + Curves + C + false + 0 + + + + + + 397 + 189 + 33 + 20 + + + 405.5 + 199 + + + + + + + + 1 + Section points + 98ac510f-ba8e-4e6c-9a6c-181b850bb017 + Points + P + false + 0 + + + + + + 397 + 209 + 33 + 20 + + + 405.5 + 219 + + + + + + + + + + + + cfb6b17f-ca82-4f5d-b604-d4f69f569de3 + Plane Normal + + + + + Create a plane perpendicular to a vector. + true + b480e914-66ac-4542-acdb-a85d49e79a24 + Plane Normal + Pl + + + + + + 233 + 222 + 65 + 44 + + + 265 + 244 + + + + + + Origin of plane + 2af122ab-621e-44c2-a289-dfc640ee0c0d + Origin + O + false + 01cd13e7-0f18-4839-894b-c8b88e74f7b9 + 1 + + + + + + 235 + 224 + 15 + 20 + + + 244 + 234 + + + + + + 1 + + + + + 1 + {0} + + + + + + + 0 + 0 + 0 + + + + + + + + + + + + Z-Axis direction of plane + b192d7b2-6671-4bc2-bf1d-d16af92af391 + Z-Axis + Z + false + cc384563-fbe7-4d9b-9a72-4d1d515cb778 + 1 + + + + + + 235 + 244 + 15 + 20 + + + 244 + 254 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 1 + + + + + + + + + + + + Plane definition + 060e3836-7d35-4ec2-960e-ca45800aedb2 + Plane + P + false + 0 + + + + + + 280 + 224 + 16 + 40 + + + 288 + 244 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + eab14726-0451-4d64-b338-4ec4eb422e3d + Number Slider + Number of Profiles + false + 0 + + + + + + -286 + 263 + 224 + 20 + + + -285.7405 + 263.3054 + + + + + + 3 + 1 + 1 + 10 + 0 + 0 + 6 + + + + + + + + + d51e9b65-aa4e-4fd6-976c-cef35d421d05 + Boundary Surfaces + + + + + Create planar surfaces from a collection of boundary edge curves. + true + c6487e86-3ba8-44b6-b4f4-70b232db0539 + Boundary Surfaces + Boundary Surfaces + + + + + + 1066 + 220 + 120 + 134 + + + 1119 + 287 + + + + + + 1 + Boundary curves + 53ad1740-7800-4e95-a089-724a2f1e4e6c + Edges + Edges + false + 1872196c-c1e0-4fc2-af92-9177b3eb82cd + 197acadb-e186-4c9d-910a-dc204225799d + 2 + + + + + + 1068 + 222 + 36 + 130 + + + 1087.5 + 287 + + + + + + + + 1 + Resulting boundary surfaces + 6d4f0b07-9cbb-4133-8db6-976b45cf79e1 + Surfaces + Surfaces + false + 0 + + + + + + 1134 + 222 + 50 + 130 + + + 1159 + 287 + + + + + + + + + + + + 537b0419-bbc2-4ff4-bf08-afe526367b2c + Custom Preview + + + + + Allows for customized geometry previews + 2cecd783-4eae-4f73-b4f6-ddd04c4c92a2 + Custom Preview + Custom Preview + + + + + + + 1296 + 257 + 86 + 118 + + + 1368 + 316 + + + + + + Geometry to preview + true + 9493c127-24e3-43f3-85af-7732f23ca84a + Geometry + Geometry + false + 6d4f0b07-9cbb-4133-8db6-976b45cf79e1 + 1 + + + + + + 1298 + 259 + 55 + 57 + + + 1327 + 287.5 + + + + + + + + The preview shader override + 8bcb788b-210a-4d82-94fc-4a483f386eb2 + Shader + Shader + false + 0 + + + + + + 1298 + 316 + 55 + 57 + + + 1327 + 344.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + 255;128;128;128 + + + 255;255;255;255 + + + 255;76;76;76 + + 00000000-0000-0000-0000-000000000000 + 0.5 + + 255;255;255;255 + + 0 + + + + + + + + + + + + + + + b8963bb1-aa57-476e-a20e-ed6cf635a49c + Multiplication + + + + + Mathematical multiplication + 3f0d3673-937f-41ad-8fb9-bf07c4abb239 + Multiplication + Multiplication + + + + + + -142 + 676 + 88 + 105 + + + -111 + 729 + + + + + + First item for multiplication + e018f040-d6b4-4cd9-bdb7-727173ff5acd + A + A + false + 2ffa9e78-61cc-462d-8abb-c2d1b25d00a3 + 1 + + + + + + -140 + 678 + 14 + 50 + + + -131.5 + 703.25 + + + + + + + + Second item for multiplication + 83e887d0-2d60-4b01-8811-c397c3f66e46 + B + B + false + 0c9e371a-f474-4cbc-95ab-eae411177a36 + 1 + + + + + + -140 + 728 + 14 + 51 + + + -131.5 + 753.75 + + + + + + + + The result of the Multiplication + 016d06f2-876d-420c-99db-ee9e279f79ee + Result + Result + false + 0 + + + + + + -96 + 678 + 40 + 101 + + + -76 + 728.5 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 0c9e371a-f474-4cbc-95ab-eae411177a36 + Number Slider + m + false + 0 + + + + + + -358 + 743 + 146 + 20 + + + -357.0787 + 743.2 + + + + + + 3 + 1 + 1 + 1000 + 0 + 0 + 1000 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 2ffa9e78-61cc-462d-8abb-c2d1b25d00a3 + Number Slider + Area (m) + false + 0 + + + + + + -357 + 693 + 193 + 20 + + + -356.0787 + 693.6 + + + + + + 3 + 1 + 1 + 100000 + 0 + 0 + 11000 + + + + + + + + + 9c85271f-89fa-4e9f-9f4a-d75802120ccc + Division + + + + + Mathematical division + true + 53fc6c41-a6a4-4013-b391-f2ee0e5d8d23 + Division + Division + + + + + + 1287 + 539 + 88 + 66 + + + 1318 + 572 + + + + + + Item to divide (dividend) + 5312d650-56f9-45d7-863c-9da817bad82d + A + A + false + 2861b8f7-eda0-4b24-94fb-f2b0cea64f46 + 1 + + + + + + 1289 + 541 + 14 + 31 + + + 1297.5 + 556.5 + + + + + + + + Item to divide with (divisor) + 2722ca69-3a27-464a-b8b1-2cb91bc08b35 + B + B + false + 0 + + + + + + 1289 + 572 + 14 + 31 + + + 1297.5 + 587.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000000 + Grasshopper.Kernel.Types.GH_Integer + + + + + + + + + + + The result of the Division + 3f30610b-4cf0-43be-b395-9c6e0d4d73e0 + Result + Result + false + 0 + + + + + + 1333 + 541 + 40 + 62 + + + 1353 + 572 + + + + + + + + + + + + 9c85271f-89fa-4e9f-9f4a-d75802120ccc + Division + + + + + Mathematical division + true + c21e6922-fdeb-4794-a53c-a247cc0d0d06 + Division + Division + + + + + + 1285 + 810 + 88 + 66 + + + 1316 + 843 + + + + + + Item to divide (dividend) + 2f2e4681-ac6a-436d-a761-58c0486b9f46 + A + A + false + 8fb64632-a39e-4abf-a703-e53fe46c6bdd + 1 + + + + + + 1287 + 812 + 14 + 31 + + + 1295.5 + 827.5 + + + + + + + + Item to divide with (divisor) + 7af5c505-74ee-410c-aa58-5010984cbc15 + B + B + false + 0 + + + + + + 1287 + 843 + 14 + 31 + + + 1295.5 + 858.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + Grasshopper.Kernel.Types.GH_Integer + + + + + + + + + + + The result of the Division + 930e979b-8698-44ef-9ebe-13057ae37588 + Result + Result + false + 0 + + + + + + 1331 + 812 + 40 + 62 + + + 1351 + 843 + + + + + + + + + + + + 9c85271f-89fa-4e9f-9f4a-d75802120ccc + Division + + + + + Mathematical division + true + 60f6be53-1de2-474b-abf4-a87d2ac741cf + Division + Division + + + + + + 1289 + 1028 + 88 + 66 + + + 1320 + 1061 + + + + + + Item to divide (dividend) + 0a8c4830-f073-495e-9dc8-77de243ed251 + A + A + false + b9491328-17b0-4f23-b4ba-5283c8918ccc + 1 + + + + + + 1291 + 1030 + 14 + 31 + + + 1299.5 + 1045.5 + + + + + + + + Item to divide with (divisor) + 7005b646-fd9c-425b-88ff-28ce595ea2c3 + B + B + false + 0 + + + + + + 1291 + 1061 + 14 + 31 + + + 1299.5 + 1076.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + Grasshopper.Kernel.Types.GH_Integer + + + + + + + + + + + The result of the Division + 6a54c4f7-f7e7-4231-be6d-95d2ab77fa15 + Result + Result + false + 0 + + + + + + 1335 + 1030 + 40 + 62 + + + 1355 + 1061 + + + + + + + + + + + + 9c85271f-89fa-4e9f-9f4a-d75802120ccc + Division + + + + + Mathematical division + true + d9f436cc-a00e-489c-80e5-e85d46b9ae95 + Division + Division + + + + + + 1272 + 1261 + 88 + 66 + + + 1303 + 1294 + + + + + + Item to divide (dividend) + 0ca4c5ff-6277-455b-a644-e68c35be6e0d + A + A + false + acf985f8-54fb-4eca-9f54-1c1c596aad89 + 1 + + + + + + 1274 + 1263 + 14 + 31 + + + 1282.5 + 1278.5 + + + + + + + + Item to divide with (divisor) + cffb469a-ff0c-40ac-9063-1fced3d305e2 + B + B + false + 0 + + + + + + 1274 + 1294 + 14 + 31 + + + 1282.5 + 1309.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + Grasshopper.Kernel.Types.GH_Integer + + + + + + + + + + + The result of the Division + 6d13a075-08a2-4252-9a2e-7437512080f2 + Result + Result + false + 0 + + + + + + 1318 + 1263 + 40 + 62 + + + 1338 + 1294 + + + + + + + + + + + + 9c85271f-89fa-4e9f-9f4a-d75802120ccc + Division + + + + + Mathematical division + true + bc6e7bc0-e0fc-4a72-82fe-ea4a510ded4c + Division + Division + + + + + + 1311 + 2041 + 88 + 66 + + + 1342 + 2074 + + + + + + Item to divide (dividend) + a64c464d-e12e-4238-b7c0-fd0e4136e063 + A + A + false + 5fae5d78-dca8-4d5f-939b-218692ee3c3d + 1 + + + + + + 1313 + 2043 + 14 + 31 + + + 1321.5 + 2058.5 + + + + + + + + Item to divide with (divisor) + 18def86f-b9ee-4002-8074-b40df9c0938c + B + B + false + 0 + + + + + + 1313 + 2074 + 14 + 31 + + + 1321.5 + 2089.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 100000000 + Grasshopper.Kernel.Types.GH_Integer + + + + + + + + + + + The result of the Division + 0db0d69c-c7a5-460f-b878-d1f9cd887eef + Result + Result + false + 0 + + + + + + 1357 + 2043 + 40 + 62 + + + 1377 + 2074 + + + + + + + + + + + + 9c85271f-89fa-4e9f-9f4a-d75802120ccc + Division + + + + + Mathematical division + true + 8b711b82-41d0-4b18-af64-391aeaf4a1d2 + Division + Division + + + + + + 1300 + 1811 + 88 + 66 + + + 1331 + 1844 + + + + + + Item to divide (dividend) + 0d3c79d6-1cb9-4bed-8799-af51e977a187 + A + A + false + 75199ec1-4112-47ac-afbc-f981c0666416 + 1 + + + + + + 1302 + 1813 + 14 + 31 + + + 1310.5 + 1828.5 + + + + + + + + Item to divide with (divisor) + 5805b4a2-5c61-4c0e-9bfc-da515dda618c + B + B + false + 0 + + + + + + 1302 + 1844 + 14 + 31 + + + 1310.5 + 1859.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 100 + Grasshopper.Kernel.Types.GH_Integer + + + + + + + + + + + The result of the Division + aa6b3e94-e16f-438e-a5e3-a7c7cd36474e + Result + Result + false + 0 + + + + + + 1346 + 1813 + 40 + 62 + + + 1366 + 1844 + + + + + + + + + + + + 9c85271f-89fa-4e9f-9f4a-d75802120ccc + Division + + + + + Mathematical division + true + f10d979c-edfc-4c59-b15e-e8d2be18a9b1 + Division + Division + + + + + + 1288 + 1510 + 88 + 66 + + + 1319 + 1543 + + + + + + Item to divide (dividend) + 6bf7687c-6c22-4eb9-98b9-61acc76601f1 + A + A + false + b2d4d098-b213-438c-b423-3973aa88d62d + 1 + + + + + + 1290 + 1512 + 14 + 31 + + + 1298.5 + 1527.5 + + + + + + + + Item to divide with (divisor) + 789c9cf2-f82c-4d84-a102-fefdc20d1975 + B + B + false + 0 + + + + + + 1290 + 1543 + 14 + 31 + + + 1298.5 + 1558.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1000 + Grasshopper.Kernel.Types.GH_Integer + + + + + + + + + + + The result of the Division + 639fced2-44f3-4547-a8d9-4b08ec414389 + Result + Result + false + 0 + + + + + + 1334 + 1512 + 40 + 62 + + + 1354 + 1543 + + + + + + + + + + + + ffba138d-a959-4dbc-988d-c1ef761b8e79 + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Channel Region + + + + + Determine the submerged region of a channel given a quantity of water + true + fdbdea89-b649-4d97-8206-8d8ad41a1984 + Channel Region + Channel Region + + + + + + 84 + 629 + 134 + 115 + + + 151 + 687 + + + + + + The sectional curve profile of the channel; must be planar + 7050770a-e1e3-45b7-a930-ec5e91e373e0 + Channel + Channel + false + 0a6c0c48-e5a2-459b-bfab-7c6819a84822 + 1 + + + + + + 86 + 631 + 50 + 37 + + + 112.5 + 649.5 + + + + + + + + The desired area of the flow body + 20ef8003-62e1-46ce-923d-f72f758e5940 + Area + Area + false + 016d06f2-876d-420c-99db-ee9e279f79ee + 1 + + + + + + 86 + 668 + 50 + 37 + + + 112.5 + 686.5 + + + + + + + + The number of units to be accurate to; if unspecified it will use 1% of the area + 3aa11dd5-f724-4e7e-af21-28d218308a71 + Precision + Precision + true + 0 + + + + + + 86 + 705 + 50 + 37 + + + 112.5 + 723.5 + + + + + + + + 1 + The perimeter(s) of the calculated water body + 197acadb-e186-4c9d-910a-dc204225799d + Channel + Channel + false + 0 + + + + + + 166 + 631 + 50 + 55 + + + 191 + 658.75 + + + + + + + + 1 + The area of the calculated perimeter(s) + 2030b8f3-df02-4b51-bbcf-d224b8b6bf69 + Area + Area + false + 0 + + + + + + 166 + 686 + 50 + 56 + + + 191 + 714.25 + + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + dc7d3f9d-04b9-4b21-a619-4b273750cc14 + 06edde4f-8787-4a75-9a02-b97f1b10ae9b + 2 + 39cc9e36-d434-461a-8e97-2ff317f68f21 + Group + Calculate Water Channel + + + + + + + + + + ffba138d-a959-4dbc-988d-c1ef761b8e79 + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Channel Region + + + + + Determine the submerged region of a channel given a quantity of water + 06edde4f-8787-4a75-9a02-b97f1b10ae9b + Channel Region + Channel Region + + + + + + 608 + 66 + 134 + 115 + + + 675 + 124 + + + + + + The sectional curve profile of the channel; must be planar + 1f7739f0-0f35-4f03-ba25-c23918ee85d7 + Channel + Channel + false + 203f4756-49e3-4d52-82e9-cdd09ba8a4c5 + 1 + + + + + + 610 + 68 + 50 + 37 + + + 636.5 + 86.5 + + + + + + + + The desired area of the flow body + cccdebe9-e095-4fca-b204-a0d3e0b1ab5a + Area + Area + false + a0276344-3805-4512-a335-8cf69c8bf82d + 1 + + + + + + 610 + 105 + 50 + 37 + + + 636.5 + 123.5 + + + + + + + + The number of units to be accurate to; if unspecified it will use 1% of the area + 8b22f7d4-0971-4f1e-a34d-7d63333efd58 + Precision + Precision + true + 0 + + + + + + 610 + 142 + 50 + 37 + + + 636.5 + 160.5 + + + + + + + + 1 + The perimeter(s) of the calculated water body + 1872196c-c1e0-4fc2-af92-9177b3eb82cd + Channel + Channel + false + 0 + + + + + + 690 + 68 + 50 + 55 + + + 715 + 95.75 + + + + + + + + 1 + The area of the calculated perimeter(s) + 6fd957e1-e4fe-4ff5-b0e5-80c34045d6ba + Area + Area + false + 0 + + + + + + 690 + 123 + 50 + 56 + + + 715 + 151.25 + + + + + + + + + + + + + + + + + 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 + + + + + \ No newline at end of file diff --git a/docs/flows/Groundhog - Flows Examples.ghx b/docs/flows/Groundhog - Flows Examples.ghx index 1fb3c6ce..a60cb2fc 100644 --- a/docs/flows/Groundhog - Flows Examples.ghx +++ b/docs/flows/Groundhog - Flows Examples.ghx @@ -2525,7 +2525,7 @@ false 0 0 - Definition prepared for Groundhog v0.7.2b and depends on components from that plugin. It is available for download at http://groundhog.la/ + Definition prepared for Groundhog v0.9.1b and depends on components from that plugin. It is available for download at http://groundhog.la/ Contact groundhog@philipbelesky.com for support or feedback. diff --git a/docs/paths/Groundhog - Random Path Examples.ghx b/docs/paths/Groundhog - Random Path Examples.ghx index 3718791c..851e237d 100644 --- a/docs/paths/Groundhog - Random Path Examples.ghx +++ b/docs/paths/Groundhog - Random Path Examples.ghx @@ -741,7 +741,7 @@ false 1 0 - Definition prepared for Groundhog v0.7.2b and depends on components from that plugin. It is available for download at http://groundhog.la/ + Definition prepared for Groundhog v0.9.1b and depends on components from that plugin. It is available for download at http://groundhog.la/ Contact groundhog@philipbelesky.com for support or feedback. diff --git a/docs/paths/Groundhog - Shortest Path Examples.ghx b/docs/paths/Groundhog - Shortest Path Examples.ghx index 5b911e12..85bcfd0c 100644 --- a/docs/paths/Groundhog - Shortest Path Examples.ghx +++ b/docs/paths/Groundhog - Shortest Path Examples.ghx @@ -1755,8 +1755,8 @@ If there are no lengths provided, they will be calculated for each of the curves 1 - A manually-specified length for each curve; useful if you want to artificially increase or - decrease their traversability. If no lengths provided, they will be manually + A manually-specified length for each curve; useful if you want to artificially increase or + decrease their traversability. If no lengths provided, they will be manually calculated for each of the curves. a5e104c0-ccfa-4b86-ac08-bc74ac049002 Lengths @@ -4745,7 +4745,7 @@ If there are no lengths provided, they will be calculated for each of the curves false 1 0 - Definition prepared for Groundhog v0.7.2b and depends on components from that plugin. It is available for download at http://groundhog.la/ + Definition prepared for Groundhog v0.9.1b and depends on components from that plugin. It is available for download at http://groundhog.la/ Contact groundhog@philipbelesky.com for support or feedback. diff --git a/plugin/Hydro/ChannelInfoComponent.cs b/plugin/Hydro/ChannelInfoComponent.cs new file mode 100644 index 00000000..0616c1d0 --- /dev/null +++ b/plugin/Hydro/ChannelInfoComponent.cs @@ -0,0 +1,125 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Threading.Tasks; +using groundhog.Properties; +using Grasshopper; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Rhino; +using Rhino.Geometry; + +namespace groundhog +{ + public class GroundhogChannelInfoComponent : GroundHogComponent + { + public GroundhogChannelInfoComponent() + : base("Channel Info", "CInfo", "Calculate characteristics of water flow in a channel from its submerged region", "Groundhog", "Hydro") + { + } + + public override GH_Exposure Exposure => GH_Exposure.primary; + + protected override Bitmap Icon => Resources.icon_channel_info; + + public override Guid ComponentGuid => new Guid("{008255a6-edff-44d9-b96f-23eb050b4a1a}"); + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddCurveParameter("Channel", "C", "A closed planar curve representing a section of the water body; assumes a level top", GH_ParamAccess.item); + pManager.AddNumberParameter("Roughness", "N", "Manning's roughness coefficient for the channel", GH_ParamAccess.item); + pManager[1].Optional = true; + pManager.AddNumberParameter("Slope", "S", "Slope of the hydraulic grade line as a decimal (i.e. rise/run = 0.5)", GH_ParamAccess.item); + pManager[2].Optional = true; + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddNumberParameter("Area", "A", "Area of the channel", GH_ParamAccess.item); + pManager.AddNumberParameter("Max Depth", "mD", "Maximum depth of the channel", GH_ParamAccess.item); + pManager.AddNumberParameter("Mean Depth", "aD", "Mean depth of the channel", GH_ParamAccess.item); + pManager.AddNumberParameter("Wetted Perimeter", "P", "Length of the channel in the boundary", GH_ParamAccess.item); + pManager.AddNumberParameter("Hydraulic Radius", "R", "Ratio of area to wetted perimeter", GH_ParamAccess.item); + pManager.AddNumberParameter("Velocity", "V", "Velocity of the water flow in the channel", GH_ParamAccess.item); + pManager.AddNumberParameter("Discharge", "Q", "The rate of discharge in cubic document units per second", GH_ParamAccess.item); + } + + protected override void GroundHogSolveInstance(IGH_DataAccess DA) + { + // Create holder variables for input parameters + var CHANNEL_CURVE = default(Curve); + var CHANNEL_PLANE = default(Plane); + var TOLERANCE = RhinoDoc.ActiveDoc.ModelAbsoluteTolerance; + double GAUCKLER_MANNING = 0.0; // Default value + double SLOPE = 0.0; // Default value + + // Access and extract data from the input parameters individually + if (!DA.GetData(0, ref CHANNEL_CURVE)) return; + DA.GetData(1, ref GAUCKLER_MANNING); + DA.GetData(2, ref SLOPE); + + // Validation + if (CHANNEL_CURVE.TryGetPlane(out CHANNEL_PLANE, TOLERANCE) == false) + { + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, + "A non-planar curve has been provided as the channel section; please ensure it is planar."); + return; + } + if (CHANNEL_CURVE.IsClosed == false) + { + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, + "A non-closed curve has been provided as the channel section; please ensure it is closed."); + return; + } + if (GAUCKLER_MANNING > 0 && SLOPE <= 0 || GAUCKLER_MANNING <= 0 && SLOPE > 0) + { + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, + "Calculating velocity and discarge requires both the slope and the roughness coefficient."); + return; + } + + // Calculate area + var area_calc = AreaMassProperties.Compute(CHANNEL_CURVE); + double? area = null; + if (area_calc != null) + { + if (area_calc.Area < 0.0) + area = area_calc.Area * -1; // Areas can be negative; same same + else + area = area_calc.Area; + } + + // Calculate the bounding box for the curve + var bbox = CHANNEL_CURVE.GetBoundingBox(CHANNEL_PLANE); + + double maxDepth = bbox.Diagonal.X; // Distance from high to low + double maxWidth = bbox.Diagonal.Y; // Distance from side to side + + // Mean Depth = cross-sectional area divided by the surface width + double meanDepth = area.Value / maxWidth; + + // Wetted Perimeter = the channel curve that is not the top segment + double wettedPerimeter = CHANNEL_CURVE.GetLength() - maxWidth; // Basically ignore the top channel + + // Hydraulic Radius = area divided by the wetted perimeter + double hydraulicRadius = area.Value / wettedPerimeter; + + // Assign variables to output parameters + DA.SetData(0, area); + DA.SetData(1, maxDepth); + DA.SetData(2, meanDepth); + DA.SetData(3, wettedPerimeter); + DA.SetData(4, hydraulicRadius); + + if (GAUCKLER_MANNING > 0 && SLOPE > 0) + { + // Manning's Formula + double discharge = (1.00 / GAUCKLER_MANNING) * area.Value * Math.Pow(hydraulicRadius, 0.6666666) * Math.Sqrt(SLOPE); + double velocity = discharge / area.Value; + + DA.SetData(5, velocity); + DA.SetData(6, discharge); + } + } + } +} diff --git a/plugin/Hydro/ChannelRegionComponent.cs b/plugin/Hydro/ChannelRegionComponent.cs new file mode 100644 index 00000000..e8473d15 --- /dev/null +++ b/plugin/Hydro/ChannelRegionComponent.cs @@ -0,0 +1,250 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Threading.Tasks; +using groundhog.Properties; +using Grasshopper; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Rhino; +using Rhino.Geometry; + +namespace groundhog +{ + public class GroundhogChannelRegionComponent : GroundHogComponent + { + public GroundhogChannelRegionComponent() + : base("Channel Region", "CRegion", "Determine the submerged region of a channel given a quantity of water", "Groundhog", "Hydro") + { + } + + public override GH_Exposure Exposure => GH_Exposure.primary; + + protected override Bitmap Icon => Resources.icon_channel_region; + + public override Guid ComponentGuid => new Guid("{ffba138d-a959-4dbc-988d-c1ef761b8e79}"); + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddCurveParameter("Channel", "C", "The sectional curve profile of the channel; must be planar and vertically-aligned (i.e. it fills up in the Z-axis)", GH_ParamAccess.item); + pManager.AddNumberParameter("Area", "A", "The desired area of the flow body. If unspecified it will try to guess a sensible value to use that can serve as a reference", GH_ParamAccess.item); + pManager[1].Optional = true; + pManager.AddNumberParameter("Precision", "T", "The number of units to be accurate to in finding a matching area. If unspecified it will use 0.01% of the area. Smaller values will take longer to calculate.", GH_ParamAccess.item); + pManager[2].Optional = true; + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddCurveParameter("Channel(s)", "C", "The perimeter(s) of the calculated water body or bodies", GH_ParamAccess.list); + pManager.AddNumberParameter("Area(s)", "A", "The area of the calculated water body or bodies", GH_ParamAccess.list); + // pManager.AddCurveParameter("DEBUG", "D", "The perimeter(s) of the calculated water body", GH_ParamAccess.tree); // DEBUG + } + + protected override void GroundHogSolveInstance(IGH_DataAccess DA) + { + // Create holder variables for input parameters + double TOLERANCE = RhinoDoc.ActiveDoc.ModelAbsoluteTolerance; // Default; overwritten if set + var CHANNEL_CURVE = default(Curve); + + // Curve Validation + if (!DA.GetData(0, ref CHANNEL_CURVE)) return; + if (CHANNEL_CURVE == null) + { + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, + "A null item has been provided as the Channel input; please correct this input."); + return; + } + if (CHANNEL_CURVE.IsPlanar(TOLERANCE * 100) == false) // Increase tolerance; too many false positives + { + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, + "A non-planar curve has been provided as the channel section."); + return; + } + var bbox = CHANNEL_CURVE.GetBoundingBox(true); + if (!bbox.IsValid) + { + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "Could not calculate bounding box for the curve"); + return; + } + + // Area Validation + Guessing + double AREA_TARGET = 0.0; + DA.GetData(1, ref AREA_TARGET); + if (AREA_TARGET < 0) + { + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "The area target must be greater than 0."); + return; + } + if (AREA_TARGET == 0) + { + double[] boxDimensions = new double[3] { bbox.Diagonal.X, bbox.Diagonal.Y, bbox.Diagonal.Z }; + Array.Sort(boxDimensions); // If its the box of a planar curve one of the dimensions will be 0; need to sort + ignore + AREA_TARGET = boxDimensions[1] * boxDimensions[2] * 0.05; // Set area at 5% of bounding box area (bbox.Area property unavailable) + AddRuntimeMessage(GH_RuntimeMessageLevel.Remark, $"The area target was unpsecified so has been set to {AREA_TARGET}."); + } + + // Precision Validation + Guessing + double AREA_PRECISION = 0.0; + DA.GetData(2, ref AREA_PRECISION); + if (AREA_PRECISION < 0) + { + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, "The area precision must be greater than 0."); + return; + } + if (AREA_PRECISION <= 0) + { + AREA_PRECISION = AREA_TARGET * 0.01; // Default; overwritten if set + AddRuntimeMessage(GH_RuntimeMessageLevel.Remark, $"The area precision was unpsecified or less than 0 so has been set to {AREA_PRECISION}."); + } + + // Get the extremes of the curve + var lowerParam = bbox.Corner(true, true, true).Z; // Minimum X/Y/Z corner's Z-value + var upperParam = bbox.Corner(false, false, false).Z; // Maximum X/Y/Z corner's Z-value + + // Placeholders for outputs + var outputProfiles = new List(); + var outputAreas = new List(); + // var debugProfiles = new DataTree(); // DEBUG + + // Use bisect method to refine to the approximate area + double intervalBegin = lowerParam; + double intervalEnd = upperParam; + double middle; + double lastArea = 0.0; + int iterations = 0; + double zPrecision = 0.00001; + + while ((intervalEnd - intervalBegin) > zPrecision) + { + // Test parameter is halfway between the current upper and lower Z-bounds + iterations += 1; + middle = intervalBegin + ((intervalEnd - intervalBegin) / 2); + + // Find the actual channel geometries at that parameter + var testChannels = GetWaterChannelsAtZHeight(middle, CHANNEL_CURVE, TOLERANCE); + if (testChannels == null) + { + break; // No test curve when <2 intersections; i.e. overflown perimeter + } + + // Calculate its area + var calculatedAreas = GetAreasForWaterChannels(testChannels); + var totalArea = calculatedAreas.Sum(); + lastArea = totalArea; + + // DEBUG + // var nextPath = debugProfiles.Paths.Count; + // debugProfiles.EnsurePath(nextPath); + // debugProfiles.AddRange(testChannels); + + // Refine the interval + if (Math.Abs(AREA_TARGET - totalArea) <= AREA_PRECISION) + { + // SUCCESS + outputProfiles.AddRange(testChannels); + outputAreas.AddRange(calculatedAreas); + break; + } + + if (AREA_TARGET < totalArea) + intervalEnd = middle; // Reduce the upper bound as the sectional area is larger than desired + else + intervalBegin = middle; // Reduce the lower bound as the sectional area is smaller than desired + } + + // AddRuntimeMessage(GH_RuntimeMessageLevel.Remark, $"Completed in {iterations} iterations"); // DEBUG + + if (!outputProfiles.Any()) + { + middle = intervalBegin + ((intervalEnd - intervalBegin) / 2); + var errorArea = Math.Round(lastArea, 2); // Round for concision + if (errorArea > 99) + { + errorArea = Math.Round(errorArea); // Round further for concision + } + + if ((upperParam - middle) < (middle - lowerParam)) + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, + $"Area of {AREA_TARGET} exceeded the profile's capacity (largest area found was {errorArea}). Decrease the area to produce a solution."); + else + AddRuntimeMessage(GH_RuntimeMessageLevel.Warning, + $"Area of {AREA_TARGET} could not be found in the profile (smallest area found was {errorArea}; which was not in the margin of {AREA_PRECISION}). Increase the area or precision to produce a solution."); + } + + // Assign variables to output parameters + DA.SetDataList(0, outputProfiles); + DA.SetDataList(1, outputAreas); + // DA.SetDataTree(2, debugProfiles); // DEBUG + } + + private List GetAreasForWaterChannels(List channels) + { + var areas = new List(); + for (var i = 0; i < channels.Count; i = i + 1) + { + var area_calc = AreaMassProperties.Compute(channels[i]); + if (area_calc != null) + { + areas.Add(Math.Abs(area_calc.Area)); + } + } + return areas; + } + + private List GetWaterChannelsAtZHeight(double zHeight, Curve CHANNEL_CURVE, double TOLERANCE) + { + // Create an XY plane positioned vertically at the test point + var test_plane = new Plane(new Point3d(0, 0, zHeight), new Vector3d(0, 0, 1)); + + // Intersect Plane with the Curve to get water level(s) + var intersections = Rhino.Geometry.Intersect.Intersection.CurvePlane(CHANNEL_CURVE, test_plane, TOLERANCE); + if (intersections == null) + return null; + if (intersections.Count < 2) + return null; // One or fewer intersections is not solvable + + var validIntersections = new List>(); + // For each intersection event we check evaluate the curve slightly ahead and check whether the + // Z-position is down or up. A higher Z is not allowable as a starting point is a valid end + for (var i = 0; i < intersections.Count; i = i + 1) + { + var currentCurvePoint = intersections[i].PointA; + var currentCurveParameter = intersections[i].ParameterA; + var pointFurtherAlongCurve = CHANNEL_CURVE.PointAt(currentCurveParameter + 0.01); + if (pointFurtherAlongCurve.Z <= currentCurvePoint.Z) + { + validIntersections.Add(Tuple.Create(currentCurvePoint, currentCurveParameter)); + // Also add the next valid point along and skip processing it + i += 1; + if (i >= intersections.Count) + { + break; // Only add to the list when there is another point to pair with + } + validIntersections.Add(Tuple.Create(intersections[i].PointA, intersections[i].ParameterA)); + } + } + + var channelCurves = new List(); + // Loop over the valid interesections pairs and make them into bounded sub-curves (ala channels) + for (var i = 0; i < validIntersections.Count; i = i + 2) + { + if (i + 1 >= validIntersections.Count) + { + break; // Only add to the list when there is another point to pair with + } + var ixA = validIntersections[i]; + var ixB = validIntersections[i + 1]; + + // Make an array of top water line and the sub channel then join to close + var wettedLine = CHANNEL_CURVE.Trim(ixA.Item2, ixB.Item2); // Get the sub-curve of the channel + var waterLine = new Line(ixA.Item1, ixB.Item1).ToNurbsCurve(); + + Curve[] channel = Curve.JoinCurves(new Curve[] { wettedLine, waterLine }); + if (channel.Length > 0) + channelCurves.Add(channel[0]); + } + return channelCurves; + } + } +} \ No newline at end of file diff --git a/plugin/Hydro/FlowCatchmentComponent.cs b/plugin/Hydro/FlowCatchmentComponent.cs index ffcd5c0e..8e7beab1 100644 --- a/plugin/Hydro/FlowCatchmentComponent.cs +++ b/plugin/Hydro/FlowCatchmentComponent.cs @@ -22,7 +22,7 @@ public GroundhogCatchmentComponent() public override GH_Exposure Exposure => GH_Exposure.primary; - protected override Bitmap Icon => Resources.icon_catchments; + protected override Bitmap Icon => Resources.icon_flows_catchments; public override Guid ComponentGuid => new Guid("{2d241bdc-ecaa-4cf3-815a-c8001d1798d1}"); diff --git a/plugin/Properties/AssemblyInfo.cs b/plugin/Properties/AssemblyInfo.cs index 4e551518..a16728ec 100644 --- a/plugin/Properties/AssemblyInfo.cs +++ b/plugin/Properties/AssemblyInfo.cs @@ -33,5 +33,5 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.9.1.*")] -[assembly: AssemblyFileVersion("0.9.1.*")] +[assembly: AssemblyVersion("0.10.0.*")] +[assembly: AssemblyFileVersion("0.10.0.*")] diff --git a/plugin/Properties/Resources.Designer.cs b/plugin/Properties/Resources.Designer.cs index 6f813d1a..f6759643 100644 --- a/plugin/Properties/Resources.Designer.cs +++ b/plugin/Properties/Resources.Designer.cs @@ -10,48 +10,35 @@ namespace groundhog.Properties { using System; + using System.Reflection; - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { - private static global::System.Resources.ResourceManager resourceMan; + private static System.Resources.ResourceManager resourceMan; - private static global::System.Globalization.CultureInfo resourceCulture; + private static System.Globalization.CultureInfo resourceCulture; - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static System.Resources.ResourceManager ResourceManager { get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("groundhog.Properties.Resources", typeof(Resources).Assembly); + if (object.Equals(null, resourceMan)) { + System.Resources.ResourceManager temp = new System.Resources.ResourceManager("groundhog.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static System.Globalization.CultureInfo Culture { get { return resourceCulture; } @@ -60,30 +47,12 @@ internal Resources() { } } - /// - /// Looks up a localized string similar to Species Name, Common Name,Indigenous Name,Time to Maturity,Spacing Radius,Initial Crown Radius,Mature Crown Radius,Crown Variance,Initial Trunk Radius,Mature Trunk Radius,Trunk Variance, Initial Height,Mature Height, Height Variance, Initial Root Radius,Mature Root Radius, Root Variance,Display R,Display G,Display B - ///Generic Shrub,Generic Shrub,Generic Shrub,25,1,100,1500,10,10,75,10,100,1500,15,150,1000,15,62,189,125 - ///Generic Grass,Generic Grass,Generic Grass,50,1,75,500,10,5,20,10,50,400,25,100,500,25,26, [rest of string was truncated]";. - /// internal static string generic_plants { get { return ResourceManager.GetString("generic_plants", resourceCulture); } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap icon_catchments { - get { - object obj = ResourceManager.GetObject("icon_catchments", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_contour_clip { get { object obj = ResourceManager.GetObject("icon_contour_clip", resourceCulture); @@ -91,9 +60,6 @@ internal static System.Drawing.Bitmap icon_contour_clip { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_contour_gap { get { object obj = ResourceManager.GetObject("icon_contour_gap", resourceCulture); @@ -101,9 +67,6 @@ internal static System.Drawing.Bitmap icon_contour_gap { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_contour_planarity { get { object obj = ResourceManager.GetObject("icon_contour_planarity", resourceCulture); @@ -111,9 +74,6 @@ internal static System.Drawing.Bitmap icon_contour_planarity { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_field { get { object obj = ResourceManager.GetObject("icon_field", resourceCulture); @@ -121,9 +81,6 @@ internal static System.Drawing.Bitmap icon_field { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_field_grid_vis { get { object obj = ResourceManager.GetObject("icon_field_grid_vis", resourceCulture); @@ -131,9 +88,6 @@ internal static System.Drawing.Bitmap icon_field_grid_vis { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_floods_river { get { object obj = ResourceManager.GetObject("icon_floods_river", resourceCulture); @@ -141,9 +95,6 @@ internal static System.Drawing.Bitmap icon_floods_river { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_floods_sea { get { object obj = ResourceManager.GetObject("icon_floods_sea", resourceCulture); @@ -151,19 +102,6 @@ internal static System.Drawing.Bitmap icon_floods_sea { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap icon_flows_mesh { - get { - object obj = ResourceManager.GetObject("icon_flows_mesh", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_flows_srf { get { object obj = ResourceManager.GetObject("icon_flows_srf", resourceCulture); @@ -171,29 +109,13 @@ internal static System.Drawing.Bitmap icon_flows_srf { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap icon_groundhog { - get { - object obj = ResourceManager.GetObject("icon_groundhog", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap icon_mesh_aspect { + internal static System.Drawing.Bitmap icon_flows_mesh { get { - object obj = ResourceManager.GetObject("icon_mesh_aspect", resourceCulture); + object obj = ResourceManager.GetObject("icon_flows_mesh", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_mesh_slope { get { object obj = ResourceManager.GetObject("icon_mesh_slope", resourceCulture); @@ -201,9 +123,6 @@ internal static System.Drawing.Bitmap icon_mesh_slope { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_pgeneric { get { object obj = ResourceManager.GetObject("icon_pgeneric", resourceCulture); @@ -211,9 +130,6 @@ internal static System.Drawing.Bitmap icon_pgeneric { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_pimport { get { object obj = ResourceManager.GetObject("icon_pimport", resourceCulture); @@ -221,9 +137,6 @@ internal static System.Drawing.Bitmap icon_pimport { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_pplacer { get { object obj = ResourceManager.GetObject("icon_pplacer", resourceCulture); @@ -231,9 +144,6 @@ internal static System.Drawing.Bitmap icon_pplacer { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_pshower { get { object obj = ResourceManager.GetObject("icon_pshower", resourceCulture); @@ -241,9 +151,34 @@ internal static System.Drawing.Bitmap icon_pshower { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// + internal static System.Drawing.Bitmap icon_mesh_aspect { + get { + object obj = ResourceManager.GetObject("icon_mesh_aspect", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon_surface_aspect { + get { + object obj = ResourceManager.GetObject("icon_surface_aspect", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon_surface_slope { + get { + object obj = ResourceManager.GetObject("icon_surface_slope", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon_groundhog { + get { + object obj = ResourceManager.GetObject("icon_groundhog", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap icon_random_path { get { object obj = ResourceManager.GetObject("icon_random_path", resourceCulture); @@ -251,9 +186,6 @@ internal static System.Drawing.Bitmap icon_random_path { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// internal static System.Drawing.Bitmap icon_shortest_path { get { object obj = ResourceManager.GetObject("icon_shortest_path", resourceCulture); @@ -261,22 +193,23 @@ internal static System.Drawing.Bitmap icon_shortest_path { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap icon_surface_aspect { + internal static System.Drawing.Bitmap icon_channel_info { get { - object obj = ResourceManager.GetObject("icon_surface_aspect", resourceCulture); + object obj = ResourceManager.GetObject("icon_channel_info", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap icon_surface_slope { + internal static System.Drawing.Bitmap icon_channel_region { get { - object obj = ResourceManager.GetObject("icon_surface_slope", resourceCulture); + object obj = ResourceManager.GetObject("icon_channel_region", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon_flows_catchments { + get { + object obj = ResourceManager.GetObject("icon_flows_catchments", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } diff --git a/plugin/Properties/Resources.resx b/plugin/Properties/Resources.resx index 9af6e3c9..8921462c 100644 --- a/plugin/Properties/Resources.resx +++ b/plugin/Properties/Resources.resx @@ -121,9 +121,6 @@ ..\Resources\generic_plants.csv;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - ..\Resources\icon_catchments.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\icon_contour_clip.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -184,4 +181,13 @@ ..\Resources\icon_shortest_path.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\icon_channel_info.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icon_channel_region.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icon_flows_catchments.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/plugin/Resources/icon_catchments.png b/plugin/Resources/icon_catchments.png deleted file mode 100644 index ce34a38f..00000000 Binary files a/plugin/Resources/icon_catchments.png and /dev/null differ diff --git a/plugin/Resources/icon_channel_info.png b/plugin/Resources/icon_channel_info.png new file mode 100644 index 00000000..b415df88 Binary files /dev/null and b/plugin/Resources/icon_channel_info.png differ diff --git a/plugin/Resources/icon_channel_region.png b/plugin/Resources/icon_channel_region.png new file mode 100644 index 00000000..e8cad3ad Binary files /dev/null and b/plugin/Resources/icon_channel_region.png differ diff --git a/plugin/Resources/icon_flow_area.png b/plugin/Resources/icon_flow_area.png new file mode 100644 index 00000000..bf9e5836 Binary files /dev/null and b/plugin/Resources/icon_flow_area.png differ diff --git a/plugin/Resources/icon_flow_profile.png b/plugin/Resources/icon_flow_profile.png new file mode 100644 index 00000000..1bfb524d Binary files /dev/null and b/plugin/Resources/icon_flow_profile.png differ diff --git a/plugin/Resources/icon_flows_catchments.png b/plugin/Resources/icon_flows_catchments.png new file mode 100644 index 00000000..e3de6d27 Binary files /dev/null and b/plugin/Resources/icon_flows_catchments.png differ diff --git a/plugin/Resources/icon_path_random.png b/plugin/Resources/icon_path_random.png new file mode 100644 index 00000000..4d8dbf0f Binary files /dev/null and b/plugin/Resources/icon_path_random.png differ diff --git a/plugin/Resources/icon_path_shortest.png b/plugin/Resources/icon_path_shortest.png new file mode 100644 index 00000000..d2f6a9cc Binary files /dev/null and b/plugin/Resources/icon_path_shortest.png differ diff --git a/plugin/Terrain/MeshSlopeComponent.cs b/plugin/Terrain/MeshSlopeComponent.cs index 4afcab3d..5fd9fcd8 100644 --- a/plugin/Terrain/MeshSlopeComponent.cs +++ b/plugin/Terrain/MeshSlopeComponent.cs @@ -29,8 +29,9 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddMeshParameter("Mesh Faces", "F", "The sub mesh faces (for coloring)", GH_ParamAccess.list); pManager.AddPointParameter("Face Centers", "C", "The centers of each mesh face (for vector previews)", GH_ParamAccess.list); pManager.AddVectorParameter("Face Vectors", "V", "The direction to the lowest points of each face", GH_ParamAccess.list); - pManager.AddNumberParameter("Face Slopes °", "A", "The slope of each mesh face, as an angle", GH_ParamAccess.list); - pManager.AddNumberParameter("Face Slopes %", "P", "The slope of each mesh face, as a percentile", GH_ParamAccess.list); + pManager.AddNumberParameter("Face Slopes °", "A", "The slope of each mesh face, as the angle of inline", GH_ParamAccess.list); + pManager.AddNumberParameter("Face Slopes %", "P", "The slope of each mesh face, as a percentage", GH_ParamAccess.list); + pManager.AddNumberParameter("Face Slopes :", "P", "The slope of each mesh face, as the denominator of a ratio (i.e. 1:x)", GH_ParamAccess.list); } protected override void GroundHogSolveInstance(IGH_DataAccess DA) @@ -52,12 +53,20 @@ protected override void GroundHogSolveInstance(IGH_DataAccess DA) subPercentiles.Add(Math.Tan(radians) * 100); } + // Calculate ratio from percentiles + var subRatioDenominators = new List(); + foreach (var percentage in subPercentiles) + { + subRatioDenominators.Add(100 / percentage); + } + // Assign variables to output parameters DA.SetDataList(0, subMeshes); DA.SetDataList(1, subCentres); DA.SetDataList(2, subDirections); DA.SetDataList(3, subAngles); DA.SetDataList(4, subPercentiles); + DA.SetDataList(5, subRatioDenominators); } private List GetAngles(Mesh MESH) diff --git a/plugin/Terrain/SurfaceSlopeComponent.cs b/plugin/Terrain/SurfaceSlopeComponent.cs index 08e50980..c32d1d8a 100644 --- a/plugin/Terrain/SurfaceSlopeComponent.cs +++ b/plugin/Terrain/SurfaceSlopeComponent.cs @@ -30,8 +30,9 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddMeshParameter("Mesh Faces", "F", "The sub mesh faces (for coloring)", GH_ParamAccess.list); pManager.AddPointParameter("Face Centers", "C", "The centers of each mesh face (for vector previews)", GH_ParamAccess.list); pManager.AddVectorParameter("Face Vectors", "V", "The direction to the lowest points of each face", GH_ParamAccess.list); - pManager.AddNumberParameter("Face Slopes °", "A", "The slope of each mesh face, as an angle", GH_ParamAccess.list); - pManager.AddNumberParameter("Face Slopes %", "P", "The slope of each mesh face, as a percentile", GH_ParamAccess.list); + pManager.AddNumberParameter("Face Slopes °", "A", "The slope of each mesh face, as the angle of inline", GH_ParamAccess.list); + pManager.AddNumberParameter("Face Slopes %", "P", "The slope of each mesh face, as a percentage", GH_ParamAccess.list); + pManager.AddNumberParameter("Face Slopes :", "P", "The slope of each mesh face, as the denominator of a ratio (i.e. 1:x)", GH_ParamAccess.list); } protected override void GroundHogSolveInstance(IGH_DataAccess DA) @@ -49,7 +50,7 @@ protected override void GroundHogSolveInstance(IGH_DataAccess DA) var subDirections = TerrainCalculations.GetDirections(subMeshes, subCentres); var subAngles = GetAngles(MESH); - // Calculate ratios from angles + // Calculate perentage from angles var subPercentiles= new List(); foreach (var angle in subAngles) { @@ -57,12 +58,20 @@ protected override void GroundHogSolveInstance(IGH_DataAccess DA) subPercentiles.Add(Math.Tan(radians) * 100); } + // Calculate ratio from percentiles + var subRatioDenominators = new List(); + foreach (var percentage in subPercentiles) + { + subRatioDenominators.Add(100 / percentage); + } + // Assign variables to output parameters DA.SetDataList(0, subMeshes); DA.SetDataList(1, subCentres); DA.SetDataList(2, subDirections); DA.SetDataList(3, subAngles); DA.SetDataList(4, subPercentiles); + DA.SetDataList(5, subRatioDenominators); } private List GetAngles(Mesh MESH) diff --git a/plugin/groundhog readme.md b/plugin/groundhog readme.md index de973c80..787cd74a 100644 --- a/plugin/groundhog readme.md +++ b/plugin/groundhog readme.md @@ -2,7 +2,7 @@ -# Groundhog `v0.9.1 beta` +# Groundhog `v0.10.0 beta` *... a Grasshopper plugin, a set of reference models, and wiki exploring the applications of computational design in landscape architecture.* diff --git a/plugin/groundhog.csproj b/plugin/groundhog.csproj index c7fbbf65..59003430 100644 --- a/plugin/groundhog.csproj +++ b/plugin/groundhog.csproj @@ -77,6 +77,8 @@ + + @@ -105,13 +107,13 @@ - + @@ -154,6 +156,9 @@ + + + @@ -220,4 +225,4 @@ - \ No newline at end of file + diff --git a/plugin/release/manifest.yml b/plugin/release/manifest.yml index 7b4c1115..fb421988 100644 --- a/plugin/release/manifest.yml +++ b/plugin/release/manifest.yml @@ -1,6 +1,6 @@ --- name: groundhog -version: 0.9.1 +version: 0.10.0 authors: - Philip Belesky description: > @@ -8,4 +8,4 @@ description: > exploring the applications of computational design in landscape architecture. url: "http://groundhog.la/" secret: - id: 7dc547b5-ca43-457d-a3e2-8286f0784ad0 \ No newline at end of file + id: 7dc547b5-ca43-457d-a3e2-8286f0784ad0 diff --git a/projects/south-park/Groundhog - South Park.3dm b/projects/south-park/Groundhog - South Park.3dm new file mode 100644 index 00000000..3a15bb32 --- /dev/null +++ b/projects/south-park/Groundhog - South Park.3dm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3032a55a47964d354371b3ac8ac91645537b66d21b16bd56e1566921f2a706c7 +size 16767711 diff --git a/projects/south-park/Groundhog - South Park.ghx b/projects/south-park/Groundhog - South Park.ghx new file mode 100644 index 00000000..82782c97 --- /dev/null +++ b/projects/south-park/Groundhog - South Park.ghx @@ -0,0 +1,19413 @@ + + + + + + + + 0 + 2 + 2 + + + + + + + 0 + 9 + 80 + + + + + + bf8cca96-dc77-4510-b1b9-6a8a6035e248 + Wireframe + 1 + + 100;150;0;0 + + + 100;0;150;0 + + + + + + 636769639160243294 + + Groundhog - South Park.ghx + + + + + 0 + + + + + + 508 + -406 + + 0.572433352 + + + + + 0 + + + + + + + 1 + + + + + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">1000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">143</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">100000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">5128</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">1000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">14</item> + </items> +</Fragment> + 133,111,111 + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">100000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">3043</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">100000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">9000</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">1000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">150</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">10</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">6</item> + </items> +</Fragment> + 0,116,166 + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">1000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">1000</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">1000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">150</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">10000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">4000</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">100000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">6242</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">50</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">30</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">1000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">150</item> + </items> +</Fragment> + <Fragment name="slider"> + <items count="4"> + <item name="Digits" type_name="gh_int32" type_code="3">3</item> + <item name="Maximum" type_name="gh_double" type_code="6">1000</item> + <item name="Minimum" type_name="gh_double" type_code="6">0</item> + <item name="Value" type_name="gh_double" type_code="6">900</item> + </items> +</Fragment> + 636784847865674564 + 095fd76c-be2b-41ba-ab8c-739018c6db4a + 0be93556-b1a7-4ef6-bb99-b7955847c2d0 + 16a0a7df-27e3-4180-b108-fd751996c954 + 4d15c383-6a19-416b-b0dc-ddb3a31b0538 + 4e6eca3b-58c6-4fd7-a266-143b9ac93840 + 4ee830f9-d291-4a41-a404-f99ce1867b21 + 8174863c-f812-4573-a4e1-73e1c090050b + 8c1d6a35-9deb-49d3-a695-aa61fc6bf2c6 + a4cb34f8-00ec-4f18-a89f-9ca9b2eb4275 + a4ef988e-f612-4b5a-b68c-8faec6785bc6 + acf22731-eb13-462e-8bfc-ed5d99a9a117 + cc8cd1a4-fa49-42ab-b91d-cf10afb199f5 + ce82097d-b6bc-4c75-9e92-9312161a41b9 + df7121e6-3e1c-4207-b19f-80669c234e25 + ebfb830d-a0cb-422f-8e37-a6077366a49b + f691217e-b28f-409d-83c0-0b38e97e8ced + Standard South Park + 16 + + + + + + + 0 + + + + + 1 + + + + + Philip Belesky + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Groundhog + + + + + + + + 183 + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 4ee830f9-d291-4a41-a404-f99ce1867b21 + ebfb830d-a0cb-422f-8e37-a6077366a49b + 8174863c-f812-4573-a4e1-73e1c090050b + 4e6eca3b-58c6-4fd7-a266-143b9ac93840 + acf22731-eb13-462e-8bfc-ed5d99a9a117 + cc8cd1a4-fa49-42ab-b91d-cf10afb199f5 + 095fd76c-be2b-41ba-ab8c-739018c6db4a + f691217e-b28f-409d-83c0-0b38e97e8ced + a4ef988e-f612-4b5a-b68c-8faec6785bc6 + 16a0a7df-27e3-4180-b108-fd751996c954 + 0be93556-b1a7-4ef6-bb99-b7955847c2d0 + ce82097d-b6bc-4c75-9e92-9312161a41b9 + df7121e6-3e1c-4207-b19f-80669c234e25 + 8c1d6a35-9deb-49d3-a695-aa61fc6bf2c6 + 14 + e8a4d39c-e1f3-4a2e-8d3e-ddfae1f7b303 + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + 342429c9-c200-4c87-a042-30ce710d61f4 + 77da5ef9-13c6-4d4b-9ad2-bb81e02a028f + ece235bb-a9c0-4806-bc13-5354943a5397 + c77c7613-96c0-4d9b-bb83-ebc98061246e + 97eae7ac-85a1-469c-ad8b-7858ae7463b6 + d1e0877b-1192-473d-af6d-b276493771f4 + 7483127c-db90-49cc-b0a5-3a897dcb9ef4 + 99434de8-c668-48a7-b0f3-97f260b5e257 + 973715ff-c3db-4ab7-a8db-3915c8675b34 + 600861cc-4b2e-4ed2-acf7-92d268c2e0f0 + aa21f320-a32d-4bab-bd91-8961904d3f38 + 328c59ad-fd5a-4e23-916d-f2abccc68562 + b66244f6-d0ac-4319-857f-62b576e13ec8 + 8b63541f-61e7-432b-91ab-209ceac1d4f6 + 416c2381-62cc-4b9b-8199-c9c9bf9888b0 + 15 + 9c7d73f4-3883-4f57-b02a-6ccd4773addc + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + d33ee8e7-2eb5-45d8-9aad-bef4320706e3 + eee4b8db-1035-4793-9e99-179756c40a59 + 0a998e50-57c9-4a6d-a1e8-f0b11887d14e + 61339c0e-01e8-4ad1-ae30-29cb7caafb00 + 032dda60-cf57-47bf-b1cd-1d5eb419cd2b + a04e8d98-5b0e-40e9-b5ef-524a6b8e1662 + e0c5fdc3-11f8-474b-af1d-6637837e029a + ba536112-d31f-453c-84d3-aa7956c94ab5 + fd6dfa48-85fc-4bf4-942c-4100eb8b80f8 + b38bddfc-6d6e-46da-88b7-f58303bee8d6 + 719cc973-3a9c-420a-afcc-3730289763ca + 5f6afdd7-d72f-405d-965b-b6441f65371a + 3c7dbae2-595a-4640-8d9c-37ffe178c5ba + de3fcebc-d4ca-43eb-84e1-6426cfcd6f54 + 6e10b8b3-c3a1-4f9b-b9b8-6e8522ed4aec + 7d34089a-92d6-43b5-96d1-7997b7018af8 + 42f583ad-7933-47cf-b95b-5fc123983afd + d8b8fda8-99dd-4207-8b35-b7779ac9de03 + a696e9ac-d028-49a9-8b04-39969cecabf3 + afe2eb0b-8160-4b87-82e2-0d7a5cf81195 + 43177e72-a0b1-43f1-b63a-5ec08994dfe8 + 21 + 76f6813a-2c3e-4706-8a63-7c590d6f5c5f + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + c4de0dea-be63-4bb7-bc9a-5be65dfe492c + c48e8699-abd2-45cb-bf79-7efe2ac9d4e3 + fbd31dcd-737f-4f18-9801-eb2398f4c4d9 + da705575-c74d-4e06-8d3e-664a926de7d0 + 2318e4ee-8319-4d61-b01a-487c3335a377 + c3fd2f37-7399-4443-a331-fbb9e67d7efb + f7298bde-2e81-4d07-af0f-7a795bf82c57 + e066052f-dea2-485c-9e38-08d6cbbdeccb + 6cd513a0-166a-4184-a82c-27d50f8008fd + 68465470-98c3-4108-829a-1ba08342fa51 + d9f6e737-805a-4504-a213-c55207b7c268 + 0bf30607-692b-4583-bda2-3d9a315ab669 + 2c0e97b0-3808-4fa0-a55b-4d1f4e599fb7 + 7110997a-83c9-4b5a-bd45-2802edb4a28d + 56b6d227-0c83-47bd-af05-220d98ac6e00 + 14e9ef37-647d-4ac9-9eea-bcfa5666e46a + 9ea9fedc-da10-4fd0-ad79-cb3986e0d17f + 20e48972-bb0a-479a-982c-003273ba36e4 + 79bd8643-1d9a-492b-a79f-c52a1eab40b3 + 33a82f1f-0464-4be3-8620-a8202030055d + ef27e24f-cbe7-49f7-b42d-3f902f210064 + 99980ad0-6833-4646-89da-94508c560634 + 02db7d47-d6ff-46d9-b7b6-f127e67325bb + 631b7362-f572-46ac-bbf1-5690366d911b + 60cbc2ce-170a-4f54-b471-86c29392cb28 + 867a52c3-e42d-4c14-a594-97942c0a536d + 8181e3da-2dcd-4573-8faf-28a307256567 + 77a84dd0-8c0f-46c4-9c65-821735eac86b + 1c6e9493-0bbf-4810-9623-43ceecf38fc9 + 147f22d0-c366-4bc9-822a-1174e3c88732 + 3e36adc2-c94d-4f28-925c-c11c94888d35 + 015e337e-3a26-4622-ad63-edd213ed7736 + 7e9bb34e-cc1d-4a47-902a-a1b36eabc1ea + 6f691166-415e-4af6-84c4-77738b45f937 + e5dd2c5a-5aaa-4e61-9659-66df4fcb4306 + 35 + fee3a818-2844-4b96-9a84-5466f5f8c391 + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + 0b10e902-497d-4eac-8984-c78ce46160e5 + c44a7f09-a5ce-40e2-b86d-236c04b5d810 + 3c1b7ea1-b06e-495d-ab3f-01e0d65399a8 + 33337952-23da-4390-91b3-4761bf6143db + 8d69c8de-b5e4-476e-8a85-3bf35c2c601e + 609379ed-ef87-406e-bc22-14f9b26863b5 + 4e86ac1d-f838-414f-bb0a-d81a0d1542be + 868fc53d-1cdb-4996-a4ae-dc4334458b71 + cb5b8cf2-df3a-4976-8fb1-1519f17c88eb + 2a0dd7ca-a289-44f0-b915-6a7d1ff78d33 + a2d7bae9-056e-48a8-b9c3-11e43e32f2a7 + 315c1d7d-fdbc-4339-93a6-89a94f1feaf0 + a6e948c3-2d12-4012-8a92-9e0e49a8d813 + b132d34f-7c1c-4600-b7a3-9a3b57e9d447 + ff58692d-a6c9-46fc-97e1-1eb9ffcc11e5 + 0b52c812-876a-4d4c-86c3-2e4ccd58c542 + 68d06cb8-50c7-4fc7-8bbe-43685eb7fbbd + 9ff5a0e8-ac39-4a33-88c6-edb349d85706 + 3ab4582e-7604-46b6-892f-a1ec58cb080e + 19 + 3b84a1d7-598e-4e92-974f-9b33bd5dde98 + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;219;182;107 + + A group of Grasshopper objects + 80d7d9e1-07ae-445a-8849-8a21bbbd6a94 + f9118279-004f-47a5-b7ed-3921e2120d58 + 6424c366-f679-42c8-a083-d26179cb1134 + 013e5036-8354-4d46-b62d-27e20f93774b + f8ec792c-8115-43c5-adb9-2a30c2c7fee5 + 9577f649-67ed-4e32-b16b-bba092c895c0 + 21f42389-328a-4df2-b6f9-f2bf4a1ce524 + bed82101-7a40-4861-b9b5-d66ee1ca3708 + b2f581b0-3d68-43ce-b645-5c9508f636db + fcf286b8-8e9a-4184-bb3d-9d274109849f + 300fe7aa-cd08-4f14-a39a-ac063331972f + 3523ba4b-aaf7-4705-820e-3695783dd68c + 06776efd-e2b8-4bbc-bda5-835fd5a2969a + 4e900fec-62ca-42a9-9652-87fa7726928c + 1b73677c-6f73-4977-ae7b-a2a9c367a9c0 + a7bd0390-297a-454f-a8f0-c4cdd96940cf + 16 + c8c1280d-75fc-4149-a2cc-16ddd03690ad + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;224;175;61 + + A group of Grasshopper objects + afd9afa0-3ac5-42b4-8d97-bccc9d92869b + a6921cb4-68cb-4f4b-9a15-4e4721ca40e3 + 4a652b7e-56d8-4073-8fb0-4dd5c4418a9d + a50b4930-b546-44af-9455-42ff17dd9246 + 487e88db-ec8e-4fc3-8db1-b555c5e8b379 + a9484175-2585-4dd1-b5ec-ce7aba13f5a7 + 5c5fe460-b1af-43d2-bbad-135bd90d5a32 + 20491aa8-5213-41cd-930f-2eade08e5a4d + edecca8b-778f-45f1-926f-c0fb39237603 + 0ca8a27e-8536-4e90-9218-1ccd63622fee + 91f592c0-7062-4fd7-bd46-a4775af803ca + 2a0e79e2-19c1-4c85-9961-685c0585e1bc + 52ba3a46-cf03-4bd7-b6cb-a9ca327f63fa + b0c29dd4-03bd-41a0-aeb9-1132c9fbabe2 + d42a979e-0a0f-4a1a-ac87-055590e69b7e + eb27b1de-eb59-4511-9f59-63ac2e0559ff + 16 + 96b38857-338c-4c42-a5f0-a4178d32b59a + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;0;0;0 + + A group of Grasshopper objects + 6f691166-415e-4af6-84c4-77738b45f937 + 1 + c4de0dea-be63-4bb7-bc9a-5be65dfe492c + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;0;0;0 + + A group of Grasshopper objects + e5dd2c5a-5aaa-4e61-9659-66df4fcb4306 + 1 + c48e8699-abd2-45cb-bf79-7efe2ac9d4e3 + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;0;0;0 + + A group of Grasshopper objects + 7120f010-431e-4df0-92a8-8ad5d3a0daf7 + a9ba8ee9-adfa-416a-a724-d1465e0712bb + 2 + a7488d0b-07b6-4888-a80e-10741728e203 + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 5 + + 150;255;0;0 + + A group of Grasshopper objects + e3f3f0f0-923a-4329-8790-6226ce04f6f2 + 9c639090-3153-4597-a02c-6c6608b55609 + 4a1391b4-9227-4cb3-8241-ec2346a589b2 + 3 + de250634-c308-41aa-a250-36e770187ee1 + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;242;0;0 + + A group of Grasshopper objects + b3fe1ccb-3e37-476a-969e-44901a0890ae + cfc999a2-88fe-4435-9ed7-f0a483ca1052 + e181f9d0-24bf-4d1e-9dbd-1140bf4cccbc + 3 + 64504f78-438a-4f7a-a65e-d4141124e9ff + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;245;0;0 + + A group of Grasshopper objects + d3f146b1-057c-422c-ab7e-0b3eef0e1036 + 1 + ec420e27-5701-4d2a-8521-44af1937629e + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;255;135;233 + + A group of Grasshopper objects + 96069098-cf61-48d6-84f5-a301b11ced22 + 2f4cf34e-ca38-449b-9b66-6bf71ea78281 + e70d9159-79b5-43fb-b036-a1a37151d435 + 3 + 5715d4bf-9ac1-4737-aedc-1e6b7211d42a + Group + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + 6424c366-f679-42c8-a083-d26179cb1134 + 1 + 80d7d9e1-07ae-445a-8849-8a21bbbd6a94 + Group + STEP 2: OFFSETING + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + b0d002ce-9ae0-4b31-9a98-73959132b2b1 + 1 + bdfdca5d-269b-4665-88c1-3fe8edbd818c + Group + STEP 1: INTERPOLATING + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + 342429c9-c200-4c87-a042-30ce710d61f4 + 2 + Curve + Big Attractors + false + 328c59ad-fd5a-4e23-916d-f2abccc68562 + 1 + + + + + + -95 + 779 + 76 + 20 + + + -46.83863 + 789.2014 + + + + + + 1 + + + + + 6 + {0} + + + + + -1 + 2e6cdcba-1042-48bd-b48c-d3c052b619ca + + + + + -1 + 9d96f39a-f200-4b85-b53c-264843f4d059 + + + + + -1 + ec950ea6-2b16-430c-9135-173ed076feae + + + + + -1 + 669becc9-30d9-4821-972a-6e410066bd42 + + + + + -1 + d7a3d28e-e748-49b8-a1e0-9bfd7fb442cd + + + + + -1 + f9831cf0-24e7-4e7e-8f3d-8336fbb12720 + + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + 77da5ef9-13c6-4d4b-9ad2-bb81e02a028f + Curve + Path Base + false + 0 + + + + + + -69 + 616 + 50 + 20 + + + -43.59355 + 626.2601 + + + + + + 1 + + + + + 1 + {0} + + + + + -1 + 6189edc6-41de-4614-b926-d80d2630d564 + + + + + + + + + + + + + 2162e72e-72fc-4bf8-9459-d4d82fa8aa14 + Divide Curve + + + + + Divide a curve into equal length segments + true + afd9afa0-3ac5-42b4-8d97-bccc9d92869b + Divide Curve + Divide Curve + + + + + + 364 + 404 + 123 + 67 + + + 406 + 438 + + + + + + Curve to divide + 54ed88d6-cdd1-4dc0-91c1-266456449c13 + Curve + Curve + false + 77da5ef9-13c6-4d4b-9ad2-bb81e02a028f + 1 + + + + + + 366 + 406 + 25 + 21 + + + 380 + 416.5 + + + + + + + + Number of segments + 1ae56773-287c-4716-88e5-a85e5334b2a5 + Count + Count + false + ebfb830d-a0cb-422f-8e37-a6077366a49b + 1 + + + + + + 366 + 427 + 25 + 21 + + + 380 + 437.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 80 + + + + + + + + + + + Split segments at kinks + 55623cb0-481f-4f25-9e3f-e37e6389dda6 + Kinks + Kinks + false + 0 + + + + + + 366 + 448 + 25 + 21 + + + 380 + 458.5 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Division points + a3c869ac-336e-4611-b9f8-4d3e62c1b022 + 2 + Points + Points + false + 0 + + + + + + 421 + 406 + 64 + 21 + + + 445 + 416.5 + + + + + + + + 1 + Tangent vectors at division points + a7b924f9-557c-4363-9d41-b8e514334807 + Tangents + Tangents + false + 0 + + + + + + 421 + 427 + 64 + 21 + + + 445 + 437.5 + + + + + + + + 1 + Parameter values at division points + 7af9c9f7-ed17-4003-ac07-81319d9f64de + Parameters + Parameters + false + 0 + + + + + + 421 + 448 + 64 + 21 + + + 445 + 458.5 + + + + + + + + + + + + 2e205f24-9279-47b2-b414-d06dcd0b21a7 + Area + + + + + Solve area properties for breps, meshes and planar closed curves. + true + a6921cb4-68cb-4f4b-9a15-4e4721ca40e3 + Area + Area + + + + + + 362 + 331 + 126 + 44 + + + 418 + 353 + + + + + + Brep, mesh or planar closed curve for area computation + c345a8c9-f7c0-47bd-ab3d-6a150e72ce9f + Geometry + Geometry + false + 342429c9-c200-4c87-a042-30ce710d61f4 + 1 + + + + + + 364 + 333 + 39 + 40 + + + 385 + 353 + + + + + + + + Area of geometry + fe5e4954-dd72-4d75-a0a3-46db174429fa + Area + Area + false + 0 + + + + + + 433 + 333 + 53 + 20 + + + 451.5 + 343 + + + + + + + + Area centroid of geometry + 7f6dc0e8-db2c-43d9-b9a2-10c59495bf31 + 1 + Centroid + Centroid + false + 0 + + + + + + 433 + 353 + 53 + 20 + + + 451.5 + 363 + + + + + + + + + + + + 571ca323-6e55-425a-bf9e-ee103c7ba4b9 + Closest Point + + + + + Find closest point in a point collection. + true + 4a652b7e-56d8-4073-8fb0-4dd5c4418a9d + Closest Point + Closest Point + + + + + + 580 + 426 + 112 + 68 + + + 621 + 460 + + + + + + Point to search from + 2d699abe-ac75-43f4-8b10-8bbeaee1f6c3 + Point + Point + false + a3c869ac-336e-4611-b9f8-4d3e62c1b022 + 1 + + + + + + 582 + 428 + 24 + 32 + + + 595.5 + 444 + + + + + + + + 1 + Cloud of points to search + 7ad4ec4a-842b-4539-8f0a-45992bd039fb + Cloud + Cloud + false + 7f6dc0e8-db2c-43d9-b9a2-10c59495bf31 + 1 + + + + + + 582 + 460 + 24 + 32 + + + 595.5 + 476 + + + + + + + + Point in [C] closest to [P] + f580bb87-b126-473b-ae5e-fa429593e2c6 + Closest Point + Closest Point + false + 0 + + + + + + 636 + 428 + 54 + 21 + + + 663 + 438.6667 + + + + + + + + Index of closest point + dc137d71-d22f-4446-a6bc-ee4ff05a50b4 + CP Index + CP Index + false + 0 + + + + + + 636 + 449 + 54 + 21 + + + 663 + 460 + + + + + + + + Distance between [P] and [C](i) + 47bd164b-47a0-4efc-9ffe-bd5a474949f4 + Distance + Distance + false + 0 + + + + + + 636 + 470 + 54 + 22 + + + 663 + 481.3333 + + + + + + + + + + + + 934ede4a-924a-4973-bb05-0dc4b36fae75 + Vector 2Pt + + + + + Create a vector between two points. + true + a50b4930-b546-44af-9455-42ff17dd9246 + Vector 2Pt + Vector 2Pt + + + + + + 746 + 321 + 94 + 64 + + + 792 + 353 + + + + + + Base point + 17695f07-cf9f-4649-a20f-95d661ee4289 + Point A + Point A + false + a3c869ac-336e-4611-b9f8-4d3e62c1b022 + 1 + + + + + + 748 + 323 + 29 + 20 + + + 764 + 333 + + + + + + + + Tip point + 7b36d9d3-cd43-4aac-96a1-97a058a9834d + Point B + Point B + false + f580bb87-b126-473b-ae5e-fa429593e2c6 + 1 + + + + + + 748 + 343 + 29 + 20 + + + 764 + 353 + + + + + + + + Unitize output + 6de4d9eb-e8f0-4479-aea2-6df6be379a6d + Unitize + Unitize + false + 0 + + + + + + 748 + 363 + 29 + 20 + + + 764 + 373 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + Vector + b1767e1c-3f0c-4ebc-9007-9f611e61e1f7 + Vector + Vector + false + 0 + + + + + + 807 + 323 + 31 + 30 + + + 822.5 + 338 + + + + + + + + Vector length + 3ede1bc0-0fd3-41b1-8eb0-68f2237146cd + Length + Length + false + 0 + + + + + + 807 + 353 + 31 + 30 + + + 822.5 + 368 + + + + + + + + + + + + 2a3f7078-2e25-4dd4-96f7-0efb491bd61c + Vector Display + + + + + false + 0 + Preview vectors in the viewport + 0.1 + 15 + true + 487e88db-ec8e-4fc3-8db1-b555c5e8b379 + Vector Display + Vector Display + + + + + 3 + false + false + + + + + + 255;255;0;0 + + + 255;255;0;0 + + 0 + 1f27f4b4-972c-45dc-8866-e979ce0af8f0 + + + + + + 255;255;165;0 + + + 255;255;165;0 + + 0.5 + 540069f7-c9b4-48a4-970d-3cffacd2589b + + + + + + 255;124;252;0 + + + 255;124;252;0 + + 1 + c85e052a-ba98-4d4d-85c1-fb06611c1905 + + + + + + + + 914 + 182 + 60 + 74 + + + 960 + 219 + + + + + + Anchor point for preview vector + 856c5a44-2bb4-44ba-ab32-5c891b4fe954 + Anchor + Anchor + true + a3c869ac-336e-4611-b9f8-4d3e62c1b022 + 1 + + + + + + 916 + 184 + 29 + 35 + + + 932 + 201.5 + + + + + + + + Vector to preview + 067fd8e5-5ede-44ab-b8df-c852b6c33ff2 + Vector + Vector + true + b1767e1c-3f0c-4ebc-9007-9f611e61e1f7 + 1 + + + + + + 916 + 219 + 29 + 35 + + + 932 + 236.5 + + + + + + + + + + + + 6ec39468-dae7-4ffa-a766-f2ab22a2c62e + Amplitude + + + + + Set the amplitude (length) of a vector. + true + a9484175-2585-4dd1-b5ec-ce7aba13f5a7 + Amplitude + Amplitude + + + + + + 916 + 362 + 103 + 54 + + + 972 + 389 + + + + + + Base vector + fe9b4c37-c533-4246-b5c7-ca49d6671d26 + Vector + Vector + false + b1767e1c-3f0c-4ebc-9007-9f611e61e1f7 + 1 + + + + + + 918 + 364 + 39 + 25 + + + 939 + 376.5 + + + + + + + + Amplitude (length) value + b6a939c8-758e-417c-b9b3-42c3162e7b87 + Amplitude + Amplitude + false + 4ee830f9-d291-4a41-a404-f99ce1867b21 + 1 + + + + + + 918 + 389 + 39 + 25 + + + 939 + 401.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting vector + 97147369-83cf-4ede-8253-b2307bd454e2 + Vector + Vector + false + 0 + + + + + + 987 + 364 + 30 + 50 + + + 1002 + 389 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 4ee830f9-d291-4a41-a404-f99ce1867b21 + Number Slider + Pull Strength 1 + false + 0 + + + + + + -225 + 1252 + 204 + 20 + + + -224.5009 + 1252.702 + + + + + + 3 + 1 + 1 + 100000 + 0 + 0 + 9000 + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 5c5fe460-b1af-43d2-bbad-135bd90d5a32 + Move + Move + + + + + + 1081 + 304 + 116 + 44 + + + 1137 + 326 + + + + + + Base geometry + c795d648-d33b-4919-b1b1-61e34e65f995 + Geometry + Geometry + true + a3c869ac-336e-4611-b9f8-4d3e62c1b022 + 1 + + + + + + 1083 + 306 + 39 + 20 + + + 1104 + 316 + + + + + + + + Translation vector + 0f699651-48e2-4cce-8e37-2c6ba5f4f244 + Motion + Motion + false + 97147369-83cf-4ede-8253-b2307bd454e2 + 1 + + + + + + 1083 + 326 + 39 + 20 + + + 1104 + 336 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + 5028157a-60a4-4bd1-a19b-02ab26c879f8 + Geometry + Geometry + false + 0 + + + + + + 1152 + 306 + 43 + 20 + + + 1173.5 + 316 + + + + + + + + Transformation data + 214ca32a-9cfd-4fdc-9513-3b02d14a07eb + Transform + Transform + false + 0 + + + + + + 1152 + 326 + 43 + 20 + + + 1173.5 + 336 + + + + + + + + + + + + 2b2a4145-3dff-41d4-a8de-1ea9d29eef33 + Interpolate + + + + + Create an interpolated curve through a set of points. + true + 20491aa8-5213-41cd-930f-2eade08e5a4d + Interpolate + Interpolate + + + + + + 1268 + 303 + 122 + 84 + + + 1339 + 345 + + + + + + 1 + Interpolation points + 164fbb11-ce81-4dd7-9925-38d29e54facf + 1 + Vertices + Vertices + false + 5028157a-60a4-4bd1-a19b-02ab26c879f8 + 1 + + + + + + 1270 + 305 + 54 + 20 + + + 1306.5 + 315 + + + + + + + + Curve degree + adecc368-e701-4c08-bbed-a33a6f891fd3 + Degree + Degree + false + 0 + + + + + + 1270 + 325 + 54 + 20 + + + 1306.5 + 335 + + + + + + 1 + + + + + 1 + {0} + + + + + 3 + + + + + + + + + + + Periodic curve + 7be751a0-4229-44bf-91c2-933d2edc0b3b + Periodic + Periodic + false + 0 + + + + + + 1270 + 345 + 54 + 20 + + + 1306.5 + 355 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + Knot spacing (0=uniform, 1=chord, 2=sqrtchord) + e735b211-320a-4f3e-b67b-cab143124285 + KnotStyle + KnotStyle + false + 0 + + + + + + 1270 + 365 + 54 + 20 + + + 1306.5 + 375 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting nurbs curve + 4cdbce31-4313-4900-801e-9fce103271f0 + Curve + Curve + false + 0 + + + + + + 1354 + 305 + 34 + 26 + + + 1371 + 318.3333 + + + + + + + + Curve length + f848ef70-612c-45cf-820e-bf4657c08c1b + Length + Length + false + 0 + + + + + + 1354 + 331 + 34 + 27 + + + 1371 + 345 + + + + + + + + Curve domain + 06cab53a-418f-4457-9b7b-26373eec7d1f + Domain + Domain + false + 0 + + + + + + 1354 + 358 + 34 + 27 + + + 1371 + 371.6667 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + ebfb830d-a0cb-422f-8e37-a6077366a49b + Number Slider + Pull Res. 1 + false + 0 + + + + + + -226 + 1117 + 205 + 20 + + + -225.0899 + 1117.459 + + + + + + 3 + 1 + 1 + 1000 + 0 + 0 + 150 + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + ece235bb-a9c0-4806-bc13-5354943a5397 + 2 + Curve + Small Attractors + false + b66244f6-d0ac-4319-857f-62b576e13ec8 + 1 + + + + + + -104 + 806 + 85 + 20 + + + -51.86348 + 816.0026 + + + + + + 1 + + + + + 7 + {0} + + + + + -1 + dd387f1b-be1a-4589-a244-2af01b361c22 + + + + + -1 + 6e297288-baf5-4220-bd98-2f37be0a5db6 + + + + + -1 + 4a213f1a-b014-4724-a91e-7d57ce63d83f + + + + + -1 + 4c6f04d7-80c6-4404-b318-b6f4c1774246 + + + + + -1 + 21fd136b-2c4f-4446-be7c-a7423f178529 + + + + + -1 + 73d67a22-0cc0-4ab3-b3f7-c86204446a0b + + + + + -1 + 82d23ce3-bd68-4f93-8a64-1f4651402328 + + + + + + + + + + + + + 2162e72e-72fc-4bf8-9459-d4d82fa8aa14 + Divide Curve + + + + + Divide a curve into equal length segments + true + edecca8b-778f-45f1-926f-c0fb39237603 + Divide Curve + Divide Curve + + + + + + 1622 + 376 + 123 + 67 + + + 1664 + 410 + + + + + + Curve to divide + 9a1bb93d-bbcd-452f-a920-20f4af8282df + Curve + Curve + false + 4cdbce31-4313-4900-801e-9fce103271f0 + 1 + + + + + + 1624 + 378 + 25 + 21 + + + 1638 + 388.5 + + + + + + + + Number of segments + 7b9d9028-af26-4218-9b56-2f1afbea712a + Count + Count + false + 8174863c-f812-4573-a4e1-73e1c090050b + 1 + + + + + + 1624 + 399 + 25 + 21 + + + 1638 + 409.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 80 + + + + + + + + + + + Split segments at kinks + 68f0917a-a6b7-4561-a4c6-77820a3627b1 + Kinks + Kinks + false + 0 + + + + + + 1624 + 420 + 25 + 21 + + + 1638 + 430.5 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Division points + 24c39290-f398-42f9-8660-6aa5fc3d25bf + 2 + Points + Points + false + 0 + + + + + + 1679 + 378 + 64 + 21 + + + 1703 + 388.5 + + + + + + + + 1 + Tangent vectors at division points + 6e03c198-3463-48d6-aa9a-33c22359365a + Tangents + Tangents + false + 0 + + + + + + 1679 + 399 + 64 + 21 + + + 1703 + 409.5 + + + + + + + + 1 + Parameter values at division points + 7baa8b71-69da-4864-ad88-45f4d422a3be + Parameters + Parameters + false + 0 + + + + + + 1679 + 420 + 64 + 21 + + + 1703 + 430.5 + + + + + + + + + + + + 2e205f24-9279-47b2-b414-d06dcd0b21a7 + Area + + + + + Solve area properties for breps, meshes and planar closed curves. + true + 0ca8a27e-8536-4e90-9218-1ccd63622fee + Area + Area + + + + + + 1623 + 483 + 126 + 44 + + + 1679 + 505 + + + + + + Brep, mesh or planar closed curve for area computation + d59edec8-9709-428c-9d1b-8a4cd8513508 + Geometry + Geometry + false + ece235bb-a9c0-4806-bc13-5354943a5397 + 1 + + + + + + 1625 + 485 + 39 + 40 + + + 1646 + 505 + + + + + + + + Area of geometry + 0834d5b3-9991-4c73-ae1a-1d29b8eb4a17 + Area + Area + false + 0 + + + + + + 1694 + 485 + 53 + 20 + + + 1712.5 + 495 + + + + + + + + Area centroid of geometry + 4674822a-7772-43dd-a13f-0ee39c35c4df + 1 + Centroid + Centroid + false + 0 + + + + + + 1694 + 505 + 53 + 20 + + + 1712.5 + 515 + + + + + + + + + + + + 571ca323-6e55-425a-bf9e-ee103c7ba4b9 + Closest Point + + + + + Find closest point in a point collection. + true + 91f592c0-7062-4fd7-bd46-a4775af803ca + Closest Point + Closest Point + + + + + + 1821 + 450 + 112 + 68 + + + 1862 + 484 + + + + + + Point to search from + 2af6278e-6658-4b1e-a89e-55b1aa748b2a + Point + Point + false + 24c39290-f398-42f9-8660-6aa5fc3d25bf + 1 + + + + + + 1823 + 452 + 24 + 32 + + + 1836.5 + 468 + + + + + + + + 1 + Cloud of points to search + 1e7021b3-197d-4739-9497-996fd8c53a65 + Cloud + Cloud + false + 4674822a-7772-43dd-a13f-0ee39c35c4df + 1 + + + + + + 1823 + 484 + 24 + 32 + + + 1836.5 + 500 + + + + + + + + Point in [C] closest to [P] + 29b4a616-4df4-408d-8e97-ab6270c45c03 + Closest Point + Closest Point + false + 0 + + + + + + 1877 + 452 + 54 + 21 + + + 1904 + 462.6667 + + + + + + + + Index of closest point + bbd7665a-6265-4559-add1-19fabbd2f730 + CP Index + CP Index + false + 0 + + + + + + 1877 + 473 + 54 + 21 + + + 1904 + 484 + + + + + + + + Distance between [P] and [C](i) + ea39bf80-1f93-4a1e-9d53-e6f5044dc112 + Distance + Distance + false + 0 + + + + + + 1877 + 494 + 54 + 22 + + + 1904 + 505.3333 + + + + + + + + + + + + 934ede4a-924a-4973-bb05-0dc4b36fae75 + Vector 2Pt + + + + + Create a vector between two points. + true + 2a0e79e2-19c1-4c85-9961-685c0585e1bc + Vector 2Pt + Vector 2Pt + + + + + + 2001 + 395 + 94 + 64 + + + 2047 + 427 + + + + + + Base point + 89668d7b-e3a5-4fc2-a15b-fe7672fbf8dd + Point A + Point A + false + 24c39290-f398-42f9-8660-6aa5fc3d25bf + 1 + + + + + + 2003 + 397 + 29 + 20 + + + 2019 + 407 + + + + + + + + Tip point + 5776d8b6-665c-4020-aa85-56abd7e7ea1d + Point B + Point B + false + 29b4a616-4df4-408d-8e97-ab6270c45c03 + 1 + + + + + + 2003 + 417 + 29 + 20 + + + 2019 + 427 + + + + + + + + Unitize output + 0d083a52-3871-4176-a7bd-6a1c5dcc0f37 + Unitize + Unitize + false + 0 + + + + + + 2003 + 437 + 29 + 20 + + + 2019 + 447 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + Vector + e31636e2-c93f-401c-ac60-fdc4108626ac + Vector + Vector + false + 0 + + + + + + 2062 + 397 + 31 + 30 + + + 2077.5 + 412 + + + + + + + + Vector length + 1d443f75-e170-4499-98e5-8491bc1ff685 + Length + Length + false + 0 + + + + + + 2062 + 427 + 31 + 30 + + + 2077.5 + 442 + + + + + + + + + + + + 2a3f7078-2e25-4dd4-96f7-0efb491bd61c + Vector Display + + + + + false + 0 + Preview vectors in the viewport + 0.1 + 15 + true + 52ba3a46-cf03-4bd7-b6cb-a9ca327f63fa + Vector Display + Vector Display + + + + + 3 + false + false + + + + + + 255;255;0;0 + + + 255;255;0;0 + + 0 + 1f27f4b4-972c-45dc-8866-e979ce0af8f0 + + + + + + 255;255;165;0 + + + 255;255;165;0 + + 0.5 + 540069f7-c9b4-48a4-970d-3cffacd2589b + + + + + + 255;124;252;0 + + + 255;124;252;0 + + 1 + c85e052a-ba98-4d4d-85c1-fb06611c1905 + + + + + + + + 2119 + 232 + 60 + 74 + + + 2165 + 269 + + + + + + Anchor point for preview vector + 6e6f3536-4061-4148-b1c3-2b969f85ccb9 + Anchor + Anchor + true + 24c39290-f398-42f9-8660-6aa5fc3d25bf + 1 + + + + + + 2121 + 234 + 29 + 35 + + + 2137 + 251.5 + + + + + + + + Vector to preview + 0bcc9e54-2086-4caf-88a8-60424c83e6f2 + Vector + Vector + true + e31636e2-c93f-401c-ac60-fdc4108626ac + 1 + + + + + + 2121 + 269 + 29 + 35 + + + 2137 + 286.5 + + + + + + + + + + + + 6ec39468-dae7-4ffa-a766-f2ab22a2c62e + Amplitude + + + + + Set the amplitude (length) of a vector. + true + b0c29dd4-03bd-41a0-aeb9-1132c9fbabe2 + Amplitude + Amplitude + + + + + + 2191 + 483 + 103 + 54 + + + 2247 + 510 + + + + + + Base vector + f7e3359c-9a49-4b0a-b08e-ef42499ad7e1 + Vector + Vector + false + e31636e2-c93f-401c-ac60-fdc4108626ac + 1 + + + + + + 2193 + 485 + 39 + 25 + + + 2214 + 497.5 + + + + + + + + Amplitude (length) value + ba25316b-9490-4472-80a8-91c4cebafca7 + Amplitude + Amplitude + false + 4e6eca3b-58c6-4fd7-a266-143b9ac93840 + 1 + + + + + + 2193 + 510 + 39 + 25 + + + 2214 + 522.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting vector + 34c2421d-d59d-4b37-870a-58adfabb7784 + Vector + Vector + false + 0 + + + + + + 2262 + 485 + 30 + 50 + + + 2277 + 510 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + d42a979e-0a0f-4a1a-ac87-055590e69b7e + Move + Move + + + + + + 2354 + 403 + 116 + 44 + + + 2410 + 425 + + + + + + Base geometry + ad67e341-a8db-4b44-8d13-1d948d1fb747 + Geometry + Geometry + true + 24c39290-f398-42f9-8660-6aa5fc3d25bf + 1 + + + + + + 2356 + 405 + 39 + 20 + + + 2377 + 415 + + + + + + + + Translation vector + f5326bc6-fcde-4896-b51c-c274af5bb7f6 + Motion + Motion + false + 34c2421d-d59d-4b37-870a-58adfabb7784 + 1 + + + + + + 2356 + 425 + 39 + 20 + + + 2377 + 435 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + d701f6a6-6a51-46cf-ad81-ea96a9e9c99f + Geometry + Geometry + false + 0 + + + + + + 2425 + 405 + 43 + 20 + + + 2446.5 + 415 + + + + + + + + Transformation data + 5a8f157f-8374-4372-858f-ff09dc813544 + Transform + Transform + false + 0 + + + + + + 2425 + 425 + 43 + 20 + + + 2446.5 + 435 + + + + + + + + + + + + 2b2a4145-3dff-41d4-a8de-1ea9d29eef33 + Interpolate + + + + + Create an interpolated curve through a set of points. + true + eb27b1de-eb59-4511-9f59-63ac2e0559ff + Interpolate + Interpolate + + + + + + 2551 + 354 + 122 + 84 + + + 2622 + 396 + + + + + + 1 + Interpolation points + 7cdf9380-04c0-44fd-a465-d1a5b432a8d5 + 1 + Vertices + Vertices + false + d701f6a6-6a51-46cf-ad81-ea96a9e9c99f + 1 + + + + + + 2553 + 356 + 54 + 20 + + + 2589.5 + 366 + + + + + + + + Curve degree + b1f59b29-4245-4fd2-8f52-e37530b4e0cc + Degree + Degree + false + 0 + + + + + + 2553 + 376 + 54 + 20 + + + 2589.5 + 386 + + + + + + 1 + + + + + 1 + {0} + + + + + 3 + + + + + + + + + + + Periodic curve + a020292d-abff-4570-a564-e26883c05b4c + Periodic + Periodic + false + 0 + + + + + + 2553 + 396 + 54 + 20 + + + 2589.5 + 406 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + Knot spacing (0=uniform, 1=chord, 2=sqrtchord) + ae3e3eca-b253-439f-a8fe-ace0c54004e2 + KnotStyle + KnotStyle + false + 0 + + + + + + 2553 + 416 + 54 + 20 + + + 2589.5 + 426 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting nurbs curve + 642f2919-3ba9-452c-8310-a557861702ab + Curve + Curve + false + 0 + + + + + + 2637 + 356 + 34 + 26 + + + 2654 + 369.3333 + + + + + + + + Curve length + 9b68ba78-29f3-4e59-a0d0-bf8321761ea8 + Length + Length + false + 0 + + + + + + 2637 + 382 + 34 + 27 + + + 2654 + 396 + + + + + + + + Curve domain + f4a8951a-1507-4c7b-8f19-8c1304ee81a2 + Domain + Domain + false + 0 + + + + + + 2637 + 409 + 34 + 27 + + + 2654 + 422.6667 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 8174863c-f812-4573-a4e1-73e1c090050b + Number Slider + Pull Res. 2 + false + 0 + + + + + + -226 + 1142 + 205 + 20 + + + -225.7836 + 1142.032 + + + + + + 3 + 1 + 1 + 1000 + 0 + 0 + 150 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 4e6eca3b-58c6-4fd7-a266-143b9ac93840 + Number Slider + Pull Strength 2 + false + 0 + + + + + + -225 + 1277 + 204 + 20 + + + -224.6249 + 1277.071 + + + + + + 3 + 1 + 1 + 100000 + 0 + 0 + 3043 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + acf22731-eb13-462e-8bfc-ed5d99a9a117 + Number Slider + Pull Res. 3 + false + 0 + + + + + + -226 + 1165 + 205 + 20 + + + -225.9666 + 1165.408 + + + + + + 3 + 1 + 1 + 1000 + 0 + 0 + 150 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + cc8cd1a4-fa49-42ab-b91d-cf10afb199f5 + Number Slider + Path Width + false + 0 + + + + + + -225 + 1390 + 204 + 20 + + + -224.5253 + 1390.473 + + + + + + 3 + 1 + 1 + 10000 + 0 + 0 + 4000 + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + c77c7613-96c0-4d9b-bb83-ebc98061246e + Curve + NW Attractors + false + 8b63541f-61e7-432b-91ab-209ceac1d4f6 + 1 + + + + + + -78 + 835 + 59 + 20 + + + -48.04117 + 845.437 + + + + + + 1 + + + + + 7 + {0} + + + + + -1 + 2e6cdcba-1042-48bd-b48c-d3c052b619ca + + + + + -1 + 4a213f1a-b014-4724-a91e-7d57ce63d83f + + + + + -1 + 4c6f04d7-80c6-4404-b318-b6f4c1774246 + + + + + -1 + d7a3d28e-e748-49b8-a1e0-9bfd7fb442cd + + + + + -1 + 21fd136b-2c4f-4446-be7c-a7423f178529 + + + + + -1 + 73d67a22-0cc0-4ab3-b3f7-c86204446a0b + + + + + -1 + f9831cf0-24e7-4e7e-8f3d-8336fbb12720 + + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + 97eae7ac-85a1-469c-ad8b-7858ae7463b6 + Curve + SE Attractors + false + 416c2381-62cc-4b9b-8199-c9c9bf9888b0 + 1 + + + + + + -76 + 864 + 57 + 20 + + + -46.75683 + 874.0822 + + + + + + 1 + + + + + 6 + {0} + + + + + -1 + 9d96f39a-f200-4b85-b53c-264843f4d059 + + + + + -1 + 6e297288-baf5-4220-bd98-2f37be0a5db6 + + + + + -1 + dd387f1b-be1a-4589-a244-2af01b361c22 + + + + + -1 + ec950ea6-2b16-430c-9135-173ed076feae + + + + + -1 + 669becc9-30d9-4821-972a-6e410066bd42 + + + + + -1 + 82d23ce3-bd68-4f93-8a64-1f4651402328 + + + + + + + + + + + + + 2162e72e-72fc-4bf8-9459-d4d82fa8aa14 + Divide Curve + + + + + Divide a curve into equal length segments + true + 0b10e902-497d-4eac-8984-c78ce46160e5 + Divide Curve + Divide Curve + + + + + + 5403 + 1323 + 123 + 67 + + + 5445 + 1357 + + + + + + Curve to divide + bfdf9387-e98e-4a6a-8296-f4bf184869f3 + Curve + Curve + false + 77da5ef9-13c6-4d4b-9ad2-bb81e02a028f + 1 + + + + + + 5405 + 1325 + 25 + 21 + + + 5419 + 1335.5 + + + + + + + + Number of segments + ac16a339-3c3c-4109-aa27-62f74f1a9788 + Count + Count + false + 095fd76c-be2b-41ba-ab8c-739018c6db4a + 1 + + + + + + 5405 + 1346 + 25 + 21 + + + 5419 + 1356.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 10 + + + + + + + + + + + Split segments at kinks + 3a998abc-4788-4561-9b72-7181a0c26a86 + Kinks + Kinks + false + 0 + + + + + + 5405 + 1367 + 25 + 21 + + + 5419 + 1377.5 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Division points + 467e1fcb-c694-4a0d-9d73-44dacc807166 + 2 + Points + Points + false + 0 + + + + + + 5460 + 1325 + 64 + 21 + + + 5484 + 1335.5 + + + + + + + + 1 + Tangent vectors at division points + 0fd0ac86-43c8-403f-ac8a-7162bf412919 + Tangents + Tangents + false + 0 + + + + + + 5460 + 1346 + 64 + 21 + + + 5484 + 1356.5 + + + + + + + + 1 + Parameter values at division points + 81c1d634-bf0c-4a80-9ea9-5e70e69ea154 + Parameters + Parameters + false + 0 + + + + + + 5460 + 1367 + 64 + 21 + + + 5484 + 1377.5 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 095fd76c-be2b-41ba-ab8c-739018c6db4a + Number Slider + Paver Count + false + 0 + + + + + + -213 + 1366 + 192 + 20 + + + -212.0305 + 1366.328 + + + + + + 3 + 1 + 1 + 1000 + 0 + 0 + 143 + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + c44a7f09-a5ce-40e2-b86d-236c04b5d810 + Move + Move + + + + + + 5693 + 1285 + 116 + 44 + + + 5749 + 1307 + + + + + + Base geometry + 0a7ea4a6-3a4d-46f5-aee8-6e7661fe21c1 + Geometry + Geometry + true + 467e1fcb-c694-4a0d-9d73-44dacc807166 + 1 + + + + + + 5695 + 1287 + 39 + 20 + + + 5716 + 1297 + + + + + + + + Translation vector + 617ce15f-d065-4ad2-afbc-f1a94c9b241e + Motion + Motion + false + f6220b09-fad4-493b-b997-1068f4954fb0 + 1 + + + + + + 5695 + 1307 + 39 + 20 + + + 5716 + 1317 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + e0109d1c-327d-479f-9de0-b1fa995b2a7d + Geometry + Geometry + false + 0 + + + + + + 5764 + 1287 + 43 + 20 + + + 5785.5 + 1297 + + + + + + + + Transformation data + 86ec90cf-7400-4b08-888f-b9d8936fa62c + Transform + Transform + false + 0 + + + + + + 5764 + 1307 + 43 + 20 + + + 5785.5 + 1317 + + + + + + + + + + + + d3d195ea-2d59-4ffa-90b1-8b7ff3369f69 + Unit Y + + + + + Unit vector parallel to the world {y} axis. + true + 3c1b7ea1-b06e-495d-ab3f-01e0d65399a8 + Unit Y + Unit Y + + + + + + 5416 + 1425 + 105 + 37 + + + 5459 + 1444 + + + + + + Unit multiplication + b7b0ce49-ca46-4fe3-9ae6-b13ba1113a90 + Factor + Factor + false + 3ab4582e-7604-46b6-892f-a1ec58cb080e + 1 + + + + + + 5418 + 1427 + 26 + 33 + + + 5432.5 + 1443.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 10000 + + + + + + + + + + + World {y} vector + f6220b09-fad4-493b-b997-1068f4954fb0 + Unit vector + Unit vector + false + 0 + + + + + + 5474 + 1427 + 45 + 33 + + + 5496.5 + 1443.5 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 33337952-23da-4390-91b3-4761bf6143db + Move + Move + + + + + + 5723 + 1351 + 116 + 44 + + + 5779 + 1373 + + + + + + Base geometry + 1b0dff9c-7fd5-4ba7-aa57-c327f5c7e203 + Geometry + Geometry + true + 467e1fcb-c694-4a0d-9d73-44dacc807166 + 1 + + + + + + 5725 + 1353 + 39 + 20 + + + 5746 + 1363 + + + + + + + + Translation vector + dd0c48c3-fa06-4fdb-b0d9-4009199d9d4e + Motion + Motion + false + f84de1af-4daf-4647-95d2-82802f11af6a + 1 + + + + + + 5725 + 1373 + 39 + 20 + + + 5746 + 1383 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + 7a114fbb-d473-494d-9012-76a1016fa9a1 + Geometry + Geometry + false + 0 + + + + + + 5794 + 1353 + 43 + 20 + + + 5815.5 + 1363 + + + + + + + + Transformation data + 9bfc346e-763c-47b5-aa48-93d67cb87e43 + Transform + Transform + false + 0 + + + + + + 5794 + 1373 + 43 + 20 + + + 5815.5 + 1383 + + + + + + + + + + + + a3371040-e552-4bc8-b0ff-10a840258e88 + Negative + + + + + Compute the negative of a value. + true + 8d69c8de-b5e4-476e-8a85-3bf35c2c601e + Negative + Negative + + + + + + 5592 + 1419 + 87 + 49 + + + 5633 + 1444 + + + + + + Input value + f5942d35-fa84-45ee-8729-b21003cbd59f + Value + Value + false + f6220b09-fad4-493b-b997-1068f4954fb0 + 1 + + + + + + 5594 + 1421 + 24 + 45 + + + 5607.5 + 1443.5 + + + + + + + + Output value + f84de1af-4daf-4647-95d2-82802f11af6a + Result + Result + false + 0 + + + + + + 5648 + 1421 + 29 + 45 + + + 5662.5 + 1443.5 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 609379ed-ef87-406e-bc22-14f9b26863b5 + Line + Line + + + + + + 5922 + 1300 + 113 + 44 + + + 5980 + 1322 + + + + + + Line start point + 26b7a69d-dc50-4ece-b29f-0da3ebcfe7fb + Start Point + Start Point + false + e0109d1c-327d-479f-9de0-b1fa995b2a7d + 1 + + + + + + 5924 + 1302 + 41 + 20 + + + 5946 + 1312 + + + + + + + + Line end point + 12aae846-6316-4e1c-b79b-7bbaf39984bc + End Point + End Point + false + 7a114fbb-d473-494d-9012-76a1016fa9a1 + 1 + + + + + + 5924 + 1322 + 41 + 20 + + + 5946 + 1332 + + + + + + + + Line segment + e318ddd9-4ff6-4d46-8701-40dc17889a19 + 1 + Line + Line + false + 0 + + + + + + 5995 + 1302 + 38 + 40 + + + 6006 + 1322 + + + + + + + + + + + + 3eba04bc-00e8-416d-b58f-a3dc8b3e22e2 + Trim with Brep + + + + + Trim a curve with a Brep. + true + 4e86ac1d-f838-414f-bb0a-d81a0d1542be + Trim with Brep + Trim with Brep + + + + + + 6385 + 1308 + 93 + 74 + + + 6427 + 1345 + + + + + + Curve to trim + 99224c8e-14ff-4a15-b376-cc9fae167f3c + Curve + Curve + false + e181f9d0-24bf-4d1e-9dbd-1140bf4cccbc + 1 + + + + + + 6387 + 1310 + 25 + 35 + + + 6401 + 1327.5 + + + + + + + + Brep to trim against + 0e06c01d-af1c-444e-9481-a6d766e4ccb3 + Brep + Brep + false + cfc999a2-88fe-4435-9ed7-f0a483ca1052 + 1 + + + + + + 6387 + 1345 + 25 + 35 + + + 6401 + 1362.5 + + + + + + + + 1 + Split curves inside the Brep + 38c1f431-3759-4cbd-87b9-4e910594faa4 + Inside + Inside + false + 0 + + + + + + 6442 + 1310 + 34 + 35 + + + 6459 + 1327.5 + + + + + + + + 1 + Split curves outside the Brep + 6a07e0d5-fe9c-4d88-85fd-5ebd10db20e3 + Outside + Outside + false + 0 + + + + + + 6442 + 1345 + 34 + 35 + + + 6459 + 1362.5 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 868fc53d-1cdb-4996-a4ae-dc4334458b71 + Move + Move + + + + + + 6708 + 1364 + 116 + 44 + + + 6764 + 1386 + + + + + + Base geometry + 64d1bede-801c-4401-b076-6f8b9c0e9f13 + Geometry + Geometry + true + 38c1f431-3759-4cbd-87b9-4e910594faa4 + 1 + + + + + + 6710 + 1366 + 39 + 20 + + + 6731 + 1376 + + + + + + + + Translation vector + c64c6eee-bea4-4600-aa10-7dd9e534a7d6 + Motion + Motion + false + 611bd7ca-54f5-41de-890b-d582530c2522 + 1 + + + + + + 6710 + 1386 + 39 + 20 + + + 6731 + 1396 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + d6fe59dc-ad2a-4816-96bd-8aa5d87d795f + Geometry + Geometry + false + 0 + + + + + + 6779 + 1366 + 43 + 20 + + + 6800.5 + 1376 + + + + + + + + Transformation data + 8b236a00-7e82-40da-9676-0a9f1a18ed65 + Transform + Transform + false + 0 + + + + + + 6779 + 1386 + 43 + 20 + + + 6800.5 + 1396 + + + + + + + + + + + + 2a3f7078-2e25-4dd4-96f7-0efb491bd61c + Vector Display + + + + + false + 0 + Preview vectors in the viewport + 0.1 + 15 + true + f9118279-004f-47a5-b7ed-3921e2120d58 + Vector Display + Vector Display + + + + + 3 + false + false + + + + + + 255;255;0;0 + + + 255;255;0;0 + + 0 + 1f27f4b4-972c-45dc-8866-e979ce0af8f0 + + + + + + 255;255;165;0 + + + 255;255;165;0 + + 0.5 + 540069f7-c9b4-48a4-970d-3cffacd2589b + + + + + + 255;124;252;0 + + + 255;124;252;0 + + 1 + c85e052a-ba98-4d4d-85c1-fb06611c1905 + + + + + + + + 3808 + 547 + 60 + 74 + + + 3854 + 584 + + + + + + Anchor point for preview vector + 5bc6ef2e-9758-48ff-a805-c84037cb21e3 + Anchor + Anchor + true + df9f6c37-9d4e-43f2-8d2f-0f381df6f8b5 + 1 + + + + + + 3810 + 549 + 29 + 35 + + + 3826 + 566.5 + + + + + + + + Vector to preview + 61c229ec-2e81-4232-a87f-9015799e4e52 + Vector + Vector + true + e0b2019d-a9fa-4602-8911-5c51f5eafd93 + 1 + + + + + + 3810 + 584 + 29 + 35 + + + 3826 + 601.5 + + + + + + + + + + + + 79f9fbb3-8f1d-4d9a-88a9-f7961b1012cd + Unit X + + + + + Unit vector parallel to the world {x} axis. + true + cb5b8cf2-df3a-4976-8fb1-1519f17c88eb + Unit X + Unit X + + + + + + 6530 + 1392 + 105 + 37 + + + 6573 + 1411 + + + + + + Unit multiplication + 59fa5b99-83cc-4ebe-ac6c-32cf6f4c619f + Factor + Factor + false + f691217e-b28f-409d-83c0-0b38e97e8ced + 1 + + + + + + 6532 + 1394 + 26 + 33 + + + 6546.5 + 1410.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + World {x} vector + 611bd7ca-54f5-41de-890b-d582530c2522 + Unit vector + Unit vector + false + 0 + + + + + + 6588 + 1394 + 45 + 33 + + + 6610.5 + 1410.5 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + f691217e-b28f-409d-83c0-0b38e97e8ced + Number Slider + Paver Width + false + 0 + + + + + + -230 + 1417 + 209 + 20 + + + -229.3335 + 1417.546 + + + + + + 3 + 1 + 1 + 1000 + 0 + 0 + 900 + + + + + + + + + 11bbd48b-bb0a-4f1b-8167-fa297590390d + End Points + + + + + Extract the end points of a curve. + true + 2a0dd7ca-a289-44f0-b915-6a7d1ff78d33 + End Points + End Points + + + + + + 6889 + 1284 + 82 + 58 + + + 6931 + 1313 + + + + + + Curve to evaluate + 1644d71e-508f-4b60-a0df-e50997af3ad1 + Curve + Curve + false + d6fe59dc-ad2a-4816-96bd-8aa5d87d795f + 1 + + + + + + 6891 + 1286 + 25 + 54 + + + 6905 + 1313 + + + + + + + + Curve start point + 5277cd8b-ac26-4f08-ac9f-c2e50da04bd9 + Start + Start + false + 0 + + + + + + 6946 + 1286 + 23 + 27 + + + 6957.5 + 1299.5 + + + + + + + + Curve end point + 3df4e7b5-06f5-4bad-b364-47f158e1de0b + End + End + false + 0 + + + + + + 6946 + 1313 + 23 + 27 + + + 6957.5 + 1326.5 + + + + + + + + + + + + 11bbd48b-bb0a-4f1b-8167-fa297590390d + End Points + + + + + Extract the end points of a curve. + true + a2d7bae9-056e-48a8-b9c3-11e43e32f2a7 + End Points + End Points + + + + + + 6705 + 1210 + 82 + 58 + + + 6747 + 1239 + + + + + + Curve to evaluate + 9c58edfd-aaf2-45a7-a863-be41c55c6b6e + Curve + Curve + false + 38c1f431-3759-4cbd-87b9-4e910594faa4 + 1 + + + + + + 6707 + 1212 + 25 + 54 + + + 6721 + 1239 + + + + + + + + Curve start point + aea55187-3ff5-423b-8463-8bfb7ea880f3 + Start + Start + false + 0 + + + + + + 6762 + 1212 + 23 + 27 + + + 6773.5 + 1225.5 + + + + + + + + Curve end point + bbe8f70f-086d-4f20-aa02-a4b1ba9e84d8 + End + End + false + 0 + + + + + + 6762 + 1239 + 23 + 27 + + + 6773.5 + 1252.5 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 315c1d7d-fdbc-4339-93a6-89a94f1feaf0 + Line + Line + + + + + + 7108 + 1221 + 97 + 44 + + + 7166 + 1243 + + + + + + Line start point + 60a33f15-c780-4257-952c-0d0fb461a2db + Start Point + Start Point + false + 5277cd8b-ac26-4f08-ac9f-c2e50da04bd9 + 1 + + + + + + 7110 + 1223 + 41 + 20 + + + 7132 + 1233 + + + + + + + + Line end point + 80ed636a-e551-4a7c-98ce-850feb1be97a + End Point + End Point + false + aea55187-3ff5-423b-8463-8bfb7ea880f3 + 1 + + + + + + 7110 + 1243 + 41 + 20 + + + 7132 + 1253 + + + + + + + + Line segment + ee8f9234-17e7-493a-9e8e-fd9862363e4c + Line + Line + false + 0 + + + + + + 7181 + 1223 + 22 + 40 + + + 7192 + 1243 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + a6e948c3-2d12-4012-8a92-9e0e49a8d813 + Line + Line + + + + + + 7113 + 1286 + 97 + 44 + + + 7171 + 1308 + + + + + + Line start point + a2689c1b-eb36-4f1c-80e2-44a9c5119d3a + Start Point + Start Point + false + 3df4e7b5-06f5-4bad-b364-47f158e1de0b + 1 + + + + + + 7115 + 1288 + 41 + 20 + + + 7137 + 1298 + + + + + + + + Line end point + a985ce66-24b8-4e9f-b681-440a9f7fd7f4 + End Point + End Point + false + bbe8f70f-086d-4f20-aa02-a4b1ba9e84d8 + 1 + + + + + + 7115 + 1308 + 41 + 20 + + + 7137 + 1318 + + + + + + + + Line segment + ba9e29c5-51d3-49a7-8a85-a732158b3f31 + Line + Line + false + 0 + + + + + + 7186 + 1288 + 22 + 40 + + + 7197 + 1308 + + + + + + + + + + + + 8073a420-6bec-49e3-9b18-367f6fd76ac3 + Join Curves + + + + + Join as many curves as possible + true + b132d34f-7c1c-4600-b7a3-9a3b57e9d447 + Join Curves + Join Curves + + + + + + 7319 + 1358 + 118 + 62 + + + 7372 + 1389 + + + + + + 1 + Curves to join + 26917e16-f2bb-4f6b-b04e-f0d714aef530 + Curves + Curves + false + ee8f9234-17e7-493a-9e8e-fd9862363e4c + ba9e29c5-51d3-49a7-8a85-a732158b3f31 + d6fe59dc-ad2a-4816-96bd-8aa5d87d795f + 38c1f431-3759-4cbd-87b9-4e910594faa4 + 4 + + + + + + 7321 + 1360 + 36 + 29 + + + 7340.5 + 1374.5 + + + + + + + + Preserve direction of input curves + 8bd025c2-1bfc-4762-9ca3-780bedbba62f + Preserve + Preserve + false + 0 + + + + + + 7321 + 1389 + 36 + 29 + + + 7340.5 + 1403.5 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Joined curves and individual curves that could not be joined. + d60cc65e-2c98-411c-8484-020b1cb60284 + 1 + Curves + Curves + false + 0 + + + + + + 7387 + 1360 + 48 + 58 + + + 7403 + 1389 + + + + + + + + + + + + 2f407944-81c3-4062-a485-276454ec4b8c + Fillet + + + + + Fillet the sharp corners of a curve. + true + ff58692d-a6c9-46fc-97e1-1eb9ffcc11e5 + Fillet + Fillet + + + + + + 7511 + 1436 + 90 + 44 + + + 7556 + 1458 + + + + + + Curve to fillet + 74d9d188-f3b9-40f3-bc0d-11c96ebb32ab + Curve + Curve + false + d60cc65e-2c98-411c-8484-020b1cb60284 + 1 + + + + + + 7513 + 1438 + 28 + 20 + + + 7528.5 + 1448 + + + + + + + + Radius of fillet + 07efbea8-20a6-4e97-a386-5f5b94379f1d + Radius + Radius + false + a4ef988e-f612-4b5a-b68c-8faec6785bc6 + 1 + + + + + + 7513 + 1458 + 28 + 20 + + + 7528.5 + 1468 + + + + + + + + Curve with filleted corners + 916abc31-1681-48ca-8c33-691b2092e495 + Curve + Curve + false + 0 + + + + + + 7571 + 1438 + 28 + 40 + + + 7585 + 1458 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + a4ef988e-f612-4b5a-b68c-8faec6785bc6 + Number Slider + Paver Fillet Radius + false + 0 + + + + + + -242 + 1444 + 221 + 20 + + + -241.6254 + 1444.692 + + + + + + 3 + 1 + 1 + 1000 + 0 + 0 + 1000 + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + d1e0877b-1192-473d-af6d-b276493771f4 + Curve + Park Boundary + false + 0 + + + + + + -81 + 648 + 62 + 20 + + + -49.07413 + 658.0051 + + + + + + 1 + + + + + 1 + {0} + + + + + -1 + 2552be62-71aa-4e3e-92f3-b6ed62c925ad + + + + + + + + + + + + + 3092caf0-7cf9-4885-bcc0-e635d878832a + Trim with Region + + + + + Trim a curve with a region. + true + 0b52c812-876a-4d4c-86c3-2e4ccd58c542 + Trim with Region + Trim with Region + + + + + + 7694 + 1479 + 113 + 84 + + + 7740 + 1521 + + + + + + Curve to trim + 10ebfe1d-c6fd-4351-ad8b-1ee5db62fdbc + Curve + Curve + false + 916abc31-1681-48ca-8c33-691b2092e495 + 1 + + + + + + 7696 + 1481 + 29 + 26 + + + 7712 + 1494.333 + + + + + + + + Region to trim against + 32f25994-68e8-433e-ba89-d08e9d01cdd1 + Region + Region + false + d1e0877b-1192-473d-af6d-b276493771f4 + 1 + + + + + + 7696 + 1507 + 29 + 27 + + + 7712 + 1521 + + + + + + + + Optional solution plane. If omitted the curve best-fit plane is used. + 5b58f77a-4c26-4692-99aa-991abe0366e4 + Plane + Plane + true + 0 + + + + + + 7696 + 1534 + 29 + 27 + + + 7712 + 1547.667 + + + + + + + + 1 + Split curves inside the region + 427c2f33-21be-4cf6-95a1-f7837acbb761 + Inside + Inside + false + 0 + + + + + + 7755 + 1481 + 50 + 40 + + + 7772 + 1501 + + + + + + + + 1 + Split curves outside the region + 3cf2d0c9-e9bd-431e-b338-0b77a6c0bcbc + 1 + Outside + Outside + false + 0 + + + + + + 7755 + 1521 + 50 + 40 + + + 7772 + 1541 + + + + + + + + + + + + f72c480b-7ee6-42ef-9821-c371e9203b44 + Region Difference + + + + + Difference between two sets of planar closed curves (regions) + true + 96069098-cf61-48d6-84f5-a301b11ced22 + Region Difference + Region Difference + + + + + + 8150 + 891 + 115 + 90 + + + 8203 + 936 + + + + + + 1 + Curves to subtract from. + 2a04d393-57b4-41ff-9333-3477232b1c7e + Curves A + Curves A + false + d1e0877b-1192-473d-af6d-b276493771f4 + 1 + + + + + + 8152 + 893 + 36 + 28 + + + 8171.5 + 907.3333 + + + + + + + + 1 + Curves to subtract. + ce05ae69-a9cf-473d-a0c7-e9c019ccde62 + Curves B + Curves B + false + b3fe1ccb-3e37-476a-969e-44901a0890ae + 1 + + + + + + 8152 + 921 + 36 + 29 + + + 8171.5 + 936 + + + + + + + + Optional plane for boolean solution + 38672297-ff13-43d4-be67-54a6a46e3607 + Plane + Plane + true + 0 + + + + + + 8152 + 950 + 36 + 29 + + + 8171.5 + 964.6666 + + + + + + + + 1 + Result outlines of boolean difference (A - B) + e8285568-fd42-4293-a13c-d599deb84d6e + 1 + Result + Result + false + 0 + + + + + + 8218 + 893 + 45 + 86 + + + 8232.5 + 936 + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + 7483127c-db90-49cc-b0a5-3a897dcb9ef4 + 2 + Curve + All Attractors + false + aa21f320-a32d-4bab-bd91-8961904d3f38 + 1 + + + + + + -93 + 751 + 74 + 20 + + + -46.01525 + 761.5786 + + + + + + 1 + + + + + 13 + {0} + + + + + -1 + 82d23ce3-bd68-4f93-8a64-1f4651402328 + + + + + -1 + 669becc9-30d9-4821-972a-6e410066bd42 + + + + + -1 + ec950ea6-2b16-430c-9135-173ed076feae + + + + + -1 + 9d96f39a-f200-4b85-b53c-264843f4d059 + + + + + -1 + 6e297288-baf5-4220-bd98-2f37be0a5db6 + + + + + -1 + dd387f1b-be1a-4589-a244-2af01b361c22 + + + + + -1 + d7a3d28e-e748-49b8-a1e0-9bfd7fb442cd + + + + + -1 + 73d67a22-0cc0-4ab3-b3f7-c86204446a0b + + + + + -1 + f9831cf0-24e7-4e7e-8f3d-8336fbb12720 + + + + + -1 + 4a213f1a-b014-4724-a91e-7d57ce63d83f + + + + + -1 + 4c6f04d7-80c6-4404-b318-b6f4c1774246 + + + + + -1 + 2e6cdcba-1042-48bd-b48c-d3c052b619ca + + + + + -1 + 21fd136b-2c4f-4446-be7c-a7423f178529 + + + + + + + + + + + + + 2162e72e-72fc-4bf8-9459-d4d82fa8aa14 + Divide Curve + + + + + Divide a curve into equal length segments + true + fbd31dcd-737f-4f18-9801-eb2398f4c4d9 + Divide Curve + Divide Curve + + + + + + 8098 + 2222 + 123 + 67 + + + 8140 + 2256 + + + + + + Curve to divide + 8694173b-2892-46f3-85da-00b3f298cbc6 + Curve + Curve + false + 973715ff-c3db-4ab7-a8db-3915c8675b34 + 1 + + + + + + 8100 + 2224 + 25 + 21 + + + 8114 + 2234.5 + + + + + + + + Number of segments + 7c0fa5ed-bec8-4b80-83ac-3298700cf8a1 + Count + Count + false + 16a0a7df-27e3-4180-b108-fd751996c954 + 1 + + + + + + 8100 + 2245 + 25 + 21 + + + 8114 + 2255.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 80 + + + + + + + + + + + Split segments at kinks + f70f71a6-4c44-4cbc-9c5c-de20fbc20460 + Kinks + Kinks + false + 0 + + + + + + 8100 + 2266 + 25 + 21 + + + 8114 + 2276.5 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Division points + 5af3d797-3604-4257-bd14-13ca05195e54 + 2 + Points + Points + false + 0 + + + + + + 8155 + 2224 + 64 + 21 + + + 8179 + 2234.5 + + + + + + + + 1 + Tangent vectors at division points + d7767389-960d-41db-a61c-c0084b54a2a9 + Tangents + Tangents + false + 0 + + + + + + 8155 + 2245 + 64 + 21 + + + 8179 + 2255.5 + + + + + + + + 1 + Parameter values at division points + 7d0a2a18-5d09-446b-9f29-8e9cd42ec3cf + Parameters + Parameters + false + 0 + + + + + + 8155 + 2266 + 64 + 21 + + + 8179 + 2276.5 + + + + + + + + + + + + 2e205f24-9279-47b2-b414-d06dcd0b21a7 + Area + + + + + Solve area properties for breps, meshes and planar closed curves. + true + da705575-c74d-4e06-8d3e-664a926de7d0 + Area + Area + + + + + + 8084 + 2115 + 126 + 44 + + + 8140 + 2137 + + + + + + Brep, mesh or planar closed curve for area computation + 197a72b1-8fbb-4612-8941-e8ce9249911b + Geometry + Geometry + false + 7483127c-db90-49cc-b0a5-3a897dcb9ef4 + 1 + + + + + + 8086 + 2117 + 39 + 40 + + + 8107 + 2137 + + + + + + + + Area of geometry + 70aa2dd2-2d00-419c-9465-7fa3923bfd5e + Area + Area + false + 0 + + + + + + 8155 + 2117 + 53 + 20 + + + 8173.5 + 2127 + + + + + + + + Area centroid of geometry + e80181b9-872f-405c-8415-8daa640a65e8 + 1 + Centroid + Centroid + false + 0 + + + + + + 8155 + 2137 + 53 + 20 + + + 8173.5 + 2147 + + + + + + + + + + + + 571ca323-6e55-425a-bf9e-ee103c7ba4b9 + Closest Point + + + + + Find closest point in a point collection. + true + 2318e4ee-8319-4d61-b01a-487c3335a377 + Closest Point + Closest Point + + + + + + 8326 + 2274 + 112 + 68 + + + 8367 + 2308 + + + + + + Point to search from + 088adb5d-27b1-4842-86bf-aef3bac37d14 + Point + Point + false + 5af3d797-3604-4257-bd14-13ca05195e54 + 1 + + + + + + 8328 + 2276 + 24 + 32 + + + 8341.5 + 2292 + + + + + + + + 1 + Cloud of points to search + 4c45bd22-d940-4242-8793-a728c8122995 + Cloud + Cloud + false + e80181b9-872f-405c-8415-8daa640a65e8 + 1 + + + + + + 8328 + 2308 + 24 + 32 + + + 8341.5 + 2324 + + + + + + + + Point in [C] closest to [P] + 9c41541e-d201-4fae-93c4-0c77bce96619 + Closest Point + Closest Point + false + 0 + + + + + + 8382 + 2276 + 54 + 21 + + + 8409 + 2286.667 + + + + + + + + Index of closest point + 94af2add-a670-456c-84b3-777108770d7c + CP Index + CP Index + false + 0 + + + + + + 8382 + 2297 + 54 + 21 + + + 8409 + 2308 + + + + + + + + Distance between [P] and [C](i) + 3d2ac741-191f-4645-961e-989be2e7a9cd + Distance + Distance + false + 0 + + + + + + 8382 + 2318 + 54 + 22 + + + 8409 + 2329.333 + + + + + + + + + + + + 934ede4a-924a-4973-bb05-0dc4b36fae75 + Vector 2Pt + + + + + Create a vector between two points. + true + c3fd2f37-7399-4443-a331-fbb9e67d7efb + Vector 2Pt + Vector 2Pt + + + + + + 8513 + 2181 + 94 + 64 + + + 8559 + 2213 + + + + + + Base point + 09992270-b0d6-4e28-a52d-dc6acaa6e6b3 + Point A + Point A + false + 5af3d797-3604-4257-bd14-13ca05195e54 + 1 + + + + + + 8515 + 2183 + 29 + 20 + + + 8531 + 2193 + + + + + + + + Tip point + badae489-4646-4ca4-a02b-eca69b12976e + Point B + Point B + false + 9c41541e-d201-4fae-93c4-0c77bce96619 + 1 + + + + + + 8515 + 2203 + 29 + 20 + + + 8531 + 2213 + + + + + + + + Unitize output + 221b9f17-f304-4312-89b6-cbb0ffd9c752 + Unitize + Unitize + false + 0 + + + + + + 8515 + 2223 + 29 + 20 + + + 8531 + 2233 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + Vector + 458b2cb2-b5b8-4b93-8f03-1cc539022819 + Vector + Vector + false + 0 + + + + + + 8574 + 2183 + 31 + 30 + + + 8589.5 + 2198 + + + + + + + + Vector length + 89b8851d-859f-4466-ae96-1cc00853b894 + Length + Length + false + 0 + + + + + + 8574 + 2213 + 31 + 30 + + + 8589.5 + 2228 + + + + + + + + + + + + 2a3f7078-2e25-4dd4-96f7-0efb491bd61c + Vector Display + + + + + false + 0 + Preview vectors in the viewport + 0.1 + 15 + true + f7298bde-2e81-4d07-af0f-7a795bf82c57 + Vector Display + Vector Display + + + + + 3 + false + false + + + + + + 255;255;0;0 + + + 255;255;0;0 + + 0 + 1f27f4b4-972c-45dc-8866-e979ce0af8f0 + + + + + + 255;255;165;0 + + + 255;255;165;0 + + 0.5 + 540069f7-c9b4-48a4-970d-3cffacd2589b + + + + + + 255;124;252;0 + + + 255;124;252;0 + + 1 + c85e052a-ba98-4d4d-85c1-fb06611c1905 + + + + + + + + 8649 + 2001 + 60 + 74 + + + 8695 + 2038 + + + + + + Anchor point for preview vector + da740a15-22a0-49b0-87af-a44a4b143d23 + Anchor + Anchor + true + 5af3d797-3604-4257-bd14-13ca05195e54 + 1 + + + + + + 8651 + 2003 + 29 + 35 + + + 8667 + 2020.5 + + + + + + + + Vector to preview + 1132736f-81a7-4fb0-94fd-b59b4b04d0c8 + Vector + Vector + true + 458b2cb2-b5b8-4b93-8f03-1cc539022819 + 1 + + + + + + 8651 + 2038 + 29 + 35 + + + 8667 + 2055.5 + + + + + + + + + + + + 6ec39468-dae7-4ffa-a766-f2ab22a2c62e + Amplitude + + + + + Set the amplitude (length) of a vector. + true + e066052f-dea2-485c-9e38-08d6cbbdeccb + Amplitude + Amplitude + + + + + + 8682 + 2232 + 103 + 54 + + + 8738 + 2259 + + + + + + Base vector + 8047c040-ff06-4c65-9bfa-10a75c8cb3da + Vector + Vector + false + 458b2cb2-b5b8-4b93-8f03-1cc539022819 + 1 + + + + + + 8684 + 2234 + 39 + 25 + + + 8705 + 2246.5 + + + + + + + + Amplitude (length) value + a728abc1-a755-44c8-b995-2f1bf36dc7b8 + Amplitude + Amplitude + false + 0be93556-b1a7-4ef6-bb99-b7955847c2d0 + 1 + + + + + + 8684 + 2259 + 39 + 25 + + + 8705 + 2271.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting vector + 3c15d4e4-42c5-4b39-bff6-2f6aa3ace81e + Vector + Vector + false + 0 + + + + + + 8753 + 2234 + 30 + 50 + + + 8768 + 2259 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 6cd513a0-166a-4184-a82c-27d50f8008fd + Move + Move + + + + + + 8993 + 2114 + 116 + 44 + + + 9049 + 2136 + + + + + + Base geometry + d9fb113f-201d-4772-a228-b84e742b7bfe + Geometry + Geometry + true + 5af3d797-3604-4257-bd14-13ca05195e54 + 1 + + + + + + 8995 + 2116 + 39 + 20 + + + 9016 + 2126 + + + + + + + + Translation vector + c72aa5d2-1247-4577-841e-33b95d96e744 + Motion + Motion + false + a23938f0-8b48-4283-b202-f1efa7430bad + 1 + + + + + + 8995 + 2136 + 39 + 20 + + + 9016 + 2146 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + beafa11c-1a75-4c0b-9ce7-0df5e5b6b5b1 + Geometry + Geometry + false + 0 + + + + + + 9064 + 2116 + 43 + 20 + + + 9085.5 + 2126 + + + + + + + + Transformation data + 5e504b65-628b-49e0-9b7d-2739f15317c3 + Transform + Transform + false + 0 + + + + + + 9064 + 2136 + 43 + 20 + + + 9085.5 + 2146 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 16a0a7df-27e3-4180-b108-fd751996c954 + Number Slider + Pull Res. Garden + false + 0 + + + + + + -255 + 1190 + 234 + 20 + + + -254.2875 + 1190.264 + + + + + + 3 + 1 + 1 + 1000 + 0 + 0 + 14 + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 0be93556-b1a7-4ef6-bb99-b7955847c2d0 + Number Slider + Garden Bed Size + false + 0 + + + + + + -233 + 1598 + 212 + 20 + + + -232.0303 + 1598.087 + + + + + + 3 + 1 + 1 + 100000 + 0 + 0 + 5128 + + + + + + + + + a3371040-e552-4bc8-b0ff-10a840258e88 + Negative + + + + + Compute the negative of a value. + true + 68465470-98c3-4108-829a-1ba08342fa51 + Negative + Negative + + + + + + 8846 + 2186 + 87 + 49 + + + 8887 + 2211 + + + + + + Input value + 11f0b03b-4171-4775-9e3c-0a970c801860 + Value + Value + false + 3c15d4e4-42c5-4b39-bff6-2f6aa3ace81e + 1 + + + + + + 8848 + 2188 + 24 + 45 + + + 8861.5 + 2210.5 + + + + + + + + Output value + a23938f0-8b48-4283-b202-f1efa7430bad + Result + Result + false + 0 + + + + + + 8902 + 2188 + 29 + 45 + + + 8916.5 + 2210.5 + + + + + + + + + + + + a72b0bd3-c7a7-458e-875d-09ae1624638c + Point In Curve + + + + + Test a point for closed curve containment. + true + d9f6e737-805a-4504-a213-c55207b7c268 + Point In Curve + Point In Curve + + + + + + 9172 + 2143 + 126 + 73 + + + 9230 + 2180 + + + + + + Point for region inclusion test + c61b381e-8358-4cef-9e6d-36ce521364e1 + 1 + Point + Point + false + beafa11c-1a75-4c0b-9ce7-0df5e5b6b5b1 + 1 + + + + + + 9174 + 2145 + 41 + 34 + + + 9204 + 2162.25 + + + + + + + + Boundary region (closed curves only) + 93787d5c-83a8-4ccd-b105-7d11c92301cd + Curve + Curve + false + 99434de8-c668-48a7-b0f3-97f260b5e257 + 1 + + + + + + 9174 + 2179 + 41 + 35 + + + 9204 + 2196.75 + + + + + + + + Point/Region relationship (0 = outside, 1 = coincident, 2 = inside) + 7176d63a-9ab1-49e6-bfdf-0fd9d5c5cdbd + Relationship + Relationship + false + 0 + + + + + + 9245 + 2145 + 51 + 34 + + + 9270.5 + 2162.25 + + + + + + + + Point projected on region plane. + true + c04387a8-2c2d-4686-9b23-3825fb411bff + Point + Point + false + 0 + + + + + + 9245 + 2179 + 51 + 35 + + + 9270.5 + 2196.75 + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + 99434de8-c668-48a7-b0f3-97f260b5e257 + Curve + G-bed Boundary + false + 0 + + + + + + -87 + 970 + 68 + 20 + + + -52.29668 + 980.9539 + + + + + + 1 + + + + + 1 + {0} + + + + + -1 + e9fcee5d-adf4-4f33-bb1a-6794fbf91c98 + + + + + + + + + + + + + 5db0fb89-4f22-4f09-a777-fa5e55aed7ec + Equality + + + + + Test for (in)equality of two numbers + true + 0bf30607-692b-4583-bda2-3d9a315ab669 + Equality + Equality + + + + + + 9371 + 2123 + 136 + 45 + + + 9449 + 2146 + + + + + + Number to compare + 4c70ae02-d66d-4602-befd-19d608ac130c + First Number + First Number + false + 7176d63a-9ab1-49e6-bfdf-0fd9d5c5cdbd + 1 + + + + + + 9373 + 2125 + 61 + 20 + + + 9405 + 2135.25 + + + + + + + + Number to compare to + 37e9b28e-2ed1-4120-b3e2-7b54dd989fef + Second Number + Second Number + false + 0 + + + + + + 9373 + 2145 + 61 + 21 + + + 9405 + 2155.75 + + + + + + 1 + + + + + 1 + {0} + + + + + 2 + + + + + + + + + + + True if A = B + 94f3e494-80e8-482d-ae34-6265740c810b + Equality + Equality + false + 0 + + + + + + 9464 + 2125 + 41 + 20 + + + 9484.5 + 2135.25 + + + + + + + + True if A ≠ B + 5432e64e-d8b8-42a2-b246-5824a401ab4c + Inequality + Inequality + false + 0 + + + + + + 9464 + 2145 + 41 + 21 + + + 9484.5 + 2155.75 + + + + + + + + + + + + d8332545-21b2-4716-96e3-8559a9876e17 + Dispatch + + + + + Dispatch the items in a list into two target lists. + true + 2c0e97b0-3808-4fa0-a55b-4d1f4e599fb7 + Dispatch + Dispatch + + + + + + 9575 + 2057 + 138 + 48 + + + 9670 + 2081 + + + + + + 1 + List to filter + a3483146-0b4b-4316-b099-61d2547997f4 + 1 + List + List + false + beafa11c-1a75-4c0b-9ce7-0df5e5b6b5b1 + 1 + + + + + + 9577 + 2059 + 78 + 22 + + + 9625.5 + 2070 + + + + + + + + 1 + Dispatch pattern + 2f99d6a3-0a98-4792-a20d-6efac875fdf1 + 1 + Dispatch pattern + Dispatch pattern + false + 94f3e494-80e8-482d-ae34-6265740c810b + 1 + + + + + + 9577 + 2081 + 78 + 22 + + + 9625.5 + 2092 + + + + + + 1 + + + + + 2 + {0} + + + + + true + + + + + false + + + + + + + + + + + 1 + Dispatch target for True values + cb0c22ef-c3da-482d-8ac7-32629014fba9 + List A + List A + false + 0 + + + + + + 9685 + 2059 + 26 + 22 + + + 9698 + 2070 + + + + + + + + 1 + Dispatch target for False values + 245799c3-7c00-4c78-8267-8a9f01411141 + List B + List B + false + 0 + + + + + + 9685 + 2081 + 26 + 22 + + + 9698 + 2092 + + + + + + + + + + + + 2b2a4145-3dff-41d4-a8de-1ea9d29eef33 + Interpolate + + + + + Create an interpolated curve through a set of points. + true + 7110997a-83c9-4b5a-bd45-2802edb4a28d + Interpolate + Interpolate + + + + + + 9824 + 2048 + 122 + 84 + + + 9895 + 2090 + + + + + + 1 + Interpolation points + a5f39a14-f1d9-4059-a3ae-4fb6bcfe5eb1 + 1 + Vertices + Vertices + false + cb0c22ef-c3da-482d-8ac7-32629014fba9 + 1 + + + + + + 9826 + 2050 + 54 + 20 + + + 9862.5 + 2060 + + + + + + + + Curve degree + 737124f5-fcab-42ed-ac65-6cfbe515a9d8 + Degree + Degree + false + 0 + + + + + + 9826 + 2070 + 54 + 20 + + + 9862.5 + 2080 + + + + + + 1 + + + + + 1 + {0} + + + + + 3 + + + + + + + + + + + Periodic curve + a5d6bfb4-bcf2-42f4-b3e5-96d7fbdc0b42 + Periodic + Periodic + false + 0 + + + + + + 9826 + 2090 + 54 + 20 + + + 9862.5 + 2100 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + Knot spacing (0=uniform, 1=chord, 2=sqrtchord) + 3bd4cad7-a271-4564-bdb7-1f5933423d31 + KnotStyle + KnotStyle + false + 0 + + + + + + 9826 + 2110 + 54 + 20 + + + 9862.5 + 2120 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting nurbs curve + 9fc95b90-bb1d-4efc-a5db-9f086c3219dd + Curve + Curve + false + 0 + + + + + + 9910 + 2050 + 34 + 26 + + + 9927 + 2063.333 + + + + + + + + Curve length + acc9e2e7-0524-432f-ad57-2cca4ba7419c + Length + Length + false + 0 + + + + + + 9910 + 2076 + 34 + 27 + + + 9927 + 2090 + + + + + + + + Curve domain + 12e399b4-1f41-47a0-9027-7ec328d3b6d9 + Domain + Domain + false + 0 + + + + + + 9910 + 2103 + 34 + 27 + + + 9927 + 2116.667 + + + + + + + + + + + + 2b2a4145-3dff-41d4-a8de-1ea9d29eef33 + Interpolate + + + + + Create an interpolated curve through a set of points. + true + 56b6d227-0c83-47bd-af05-220d98ac6e00 + Interpolate + Interpolate + + + + + + 9828 + 2150 + 122 + 84 + + + 9899 + 2192 + + + + + + 1 + Interpolation points + cee97676-44b5-4837-b46a-9071fe787fbe + 1 + Vertices + Vertices + false + 245799c3-7c00-4c78-8267-8a9f01411141 + 1 + + + + + + 9830 + 2152 + 54 + 20 + + + 9866.5 + 2162 + + + + + + + + Curve degree + 2911ec6b-c5de-4ccc-8717-9752ec9628da + Degree + Degree + false + 0 + + + + + + 9830 + 2172 + 54 + 20 + + + 9866.5 + 2182 + + + + + + 1 + + + + + 1 + {0} + + + + + 3 + + + + + + + + + + + Periodic curve + 9295ef5d-a0ee-470f-ab75-f092eb2536d3 + Periodic + Periodic + false + 0 + + + + + + 9830 + 2192 + 54 + 20 + + + 9866.5 + 2202 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + Knot spacing (0=uniform, 1=chord, 2=sqrtchord) + b8193154-718e-4cbe-8ab1-3f5c916c1ce9 + KnotStyle + KnotStyle + false + 0 + + + + + + 9830 + 2212 + 54 + 20 + + + 9866.5 + 2222 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting nurbs curve + 890dace9-70c9-422f-b2eb-df2bd4fb1f88 + Curve + Curve + false + 0 + + + + + + 9914 + 2152 + 34 + 26 + + + 9931 + 2165.333 + + + + + + + + Curve length + e5c3d897-c3f0-49f8-bf5e-934e9be0509b + Length + Length + false + 0 + + + + + + 9914 + 2178 + 34 + 27 + + + 9931 + 2192 + + + + + + + + Curve domain + 8dd3d788-4242-4039-ae43-f7f1cbd68b92 + Domain + Domain + false + 0 + + + + + + 9914 + 2205 + 34 + 27 + + + 9931 + 2218.667 + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + 973715ff-c3db-4ab7-a8db-3915c8675b34 + Curve + g bed edge + false + 0 + + + + + + -69 + 942 + 50 + 20 + + + -43.4626 + 952.5228 + + + + + + 1 + + + + + 2 + {0} + + + + + -1 + 748b49d3-1794-4290-abb3-e829cd45652d + + + + + -1 + 498e253d-3d8d-4cd3-8892-532d09c8448e + + + + + + + + + + + + + 11bbd48b-bb0a-4f1b-8167-fa297590390d + End Points + + + + + Extract the end points of a curve. + true + 14e9ef37-647d-4ac9-9eea-bcfa5666e46a + End Points + End Points + + + + + + 10041 + 1981 + 82 + 58 + + + 10083 + 2010 + + + + + + Curve to evaluate + 1c9e629c-a6ca-4fc3-87a2-77ff12bef208 + Curve + Curve + false + 9fc95b90-bb1d-4efc-a5db-9f086c3219dd + 1 + + + + + + 10043 + 1983 + 25 + 54 + + + 10057 + 2010 + + + + + + + + Curve start point + 27071de8-8c04-4171-bd57-e373d980f277 + Start + Start + false + 0 + + + + + + 10098 + 1983 + 23 + 27 + + + 10109.5 + 1996.5 + + + + + + + + Curve end point + ecf55816-5ef1-4381-847b-fdaa182d5ee9 + End + End + false + 0 + + + + + + 10098 + 2010 + 23 + 27 + + + 10109.5 + 2023.5 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 9ea9fedc-da10-4fd0-ad79-cb3986e0d17f + Move + Move + + + + + + 10268 + 1993 + 116 + 44 + + + 10324 + 2015 + + + + + + Base geometry + 77e77034-7bc9-4667-bc50-0dd129cec8f9 + Geometry + Geometry + true + 27071de8-8c04-4171-bd57-e373d980f277 + 1 + + + + + + 10270 + 1995 + 39 + 20 + + + 10291 + 2005 + + + + + + + + Translation vector + 59e233fc-2688-4f01-b778-269074220100 + Motion + Motion + false + 2e9d743c-d421-4249-9c46-7e2f2523961b + 1 + + + + + + 10270 + 2015 + 39 + 20 + + + 10291 + 2025 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + b7fece3e-605d-466f-b453-c3e1aa065f7f + Geometry + Geometry + false + 0 + + + + + + 10339 + 1995 + 43 + 20 + + + 10360.5 + 2005 + + + + + + + + Transformation data + 328269fd-e2d8-4675-8c2a-19600810c6c8 + Transform + Transform + false + 0 + + + + + + 10339 + 2015 + 43 + 20 + + + 10360.5 + 2025 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 20e48972-bb0a-479a-982c-003273ba36e4 + Line + Line + + + + + + 10453 + 2020 + 97 + 44 + + + 10511 + 2042 + + + + + + Line start point + 3ca399b3-096f-4b16-bcc8-f5d03fc0fdb6 + Start Point + Start Point + false + b7fece3e-605d-466f-b453-c3e1aa065f7f + 1 + + + + + + 10455 + 2022 + 41 + 20 + + + 10477 + 2032 + + + + + + + + Line end point + 404fcbd9-d79c-4091-8477-89e38dc961b4 + End Point + End Point + false + 03c717cf-0e86-4ffc-96e6-554a27e58c33 + 1 + + + + + + 10455 + 2042 + 41 + 20 + + + 10477 + 2052 + + + + + + + + Line segment + c0647f60-8184-4419-bc3d-478331edf7a3 + Line + Line + false + 0 + + + + + + 10526 + 2022 + 22 + 40 + + + 10537 + 2042 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 79bd8643-1d9a-492b-a79f-c52a1eab40b3 + Move + Move + + + + + + 10270 + 2054 + 116 + 44 + + + 10326 + 2076 + + + + + + Base geometry + 39503c96-b31f-41ba-9b7a-80a604a9ab3f + Geometry + Geometry + true + ecf55816-5ef1-4381-847b-fdaa182d5ee9 + 1 + + + + + + 10272 + 2056 + 39 + 20 + + + 10293 + 2066 + + + + + + + + Translation vector + 776e2723-1297-46da-a0d6-0cb11c05a237 + Motion + Motion + false + 2e9d743c-d421-4249-9c46-7e2f2523961b + 1 + + + + + + 10272 + 2076 + 39 + 20 + + + 10293 + 2086 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + 03c717cf-0e86-4ffc-96e6-554a27e58c33 + Geometry + Geometry + false + 0 + + + + + + 10341 + 2056 + 43 + 20 + + + 10362.5 + 2066 + + + + + + + + Transformation data + 0a4c14ac-ccac-4d45-9ed5-508c9c81cf61 + Transform + Transform + false + 0 + + + + + + 10341 + 2076 + 43 + 20 + + + 10362.5 + 2086 + + + + + + + + + + + + 11bbd48b-bb0a-4f1b-8167-fa297590390d + End Points + + + + + Extract the end points of a curve. + true + 33a82f1f-0464-4be3-8620-a8202030055d + End Points + End Points + + + + + + 10604 + 2013 + 82 + 58 + + + 10646 + 2042 + + + + + + Curve to evaluate + c10a7945-a99a-4be1-ac66-0cbdd1e60ab2 + Curve + Curve + false + c0647f60-8184-4419-bc3d-478331edf7a3 + 1 + + + + + + 10606 + 2015 + 25 + 54 + + + 10620 + 2042 + + + + + + + + Curve start point + 87b1cebd-88b0-40ae-a185-75bb98d344ce + Start + Start + false + 0 + + + + + + 10661 + 2015 + 23 + 27 + + + 10672.5 + 2028.5 + + + + + + + + Curve end point + ac969b50-3960-416b-96a0-548dfc5140b6 + End + End + false + 0 + + + + + + 10661 + 2042 + 23 + 27 + + + 10672.5 + 2055.5 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + ef27e24f-cbe7-49f7-b42d-3f902f210064 + Line + Line + + + + + + 10802 + 1997 + 97 + 44 + + + 10860 + 2019 + + + + + + Line start point + 4c954fce-1e2a-4ace-9667-401ea4dfec13 + Start Point + Start Point + false + 87b1cebd-88b0-40ae-a185-75bb98d344ce + 1 + + + + + + 10804 + 1999 + 41 + 20 + + + 10826 + 2009 + + + + + + + + Line end point + f22dec05-6f0f-4f90-a633-f05b72e1f946 + End Point + End Point + false + 27071de8-8c04-4171-bd57-e373d980f277 + 1 + + + + + + 10804 + 2019 + 41 + 20 + + + 10826 + 2029 + + + + + + + + Line segment + ce198941-d20f-4f36-8e72-9998afc5e62a + Line + Line + false + 0 + + + + + + 10875 + 1999 + 22 + 40 + + + 10886 + 2019 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 99980ad0-6833-4646-89da-94508c560634 + Line + Line + + + + + + 10804 + 2056 + 97 + 44 + + + 10862 + 2078 + + + + + + Line start point + 298e3262-a92f-43d0-9648-0df356817522 + Start Point + Start Point + false + ecf55816-5ef1-4381-847b-fdaa182d5ee9 + 1 + + + + + + 10806 + 2058 + 41 + 20 + + + 10828 + 2068 + + + + + + + + Line end point + b8067b96-f4a7-4646-b8f4-353c84ba8858 + End Point + End Point + false + ac969b50-3960-416b-96a0-548dfc5140b6 + 1 + + + + + + 10806 + 2078 + 41 + 20 + + + 10828 + 2088 + + + + + + + + Line segment + 53f5de20-5a60-4826-83e1-ffc0618ed12d + Line + Line + false + 0 + + + + + + 10877 + 2058 + 22 + 40 + + + 10888 + 2078 + + + + + + + + + + + + 11bbd48b-bb0a-4f1b-8167-fa297590390d + End Points + + + + + Extract the end points of a curve. + true + 02db7d47-d6ff-46d9-b7b6-f127e67325bb + End Points + End Points + + + + + + 10046 + 2199 + 82 + 58 + + + 10088 + 2228 + + + + + + Curve to evaluate + a76d3b19-e003-432d-8914-24260d7fb315 + Curve + Curve + false + 890dace9-70c9-422f-b2eb-df2bd4fb1f88 + 1 + + + + + + 10048 + 2201 + 25 + 54 + + + 10062 + 2228 + + + + + + + + Curve start point + bc6f70e5-7cb1-4963-9eb8-879f3d469c92 + Start + Start + false + 0 + + + + + + 10103 + 2201 + 23 + 27 + + + 10114.5 + 2214.5 + + + + + + + + Curve end point + 8f36e49c-5f67-4fbc-b858-12d07b51253c + End + End + false + 0 + + + + + + 10103 + 2228 + 23 + 27 + + + 10114.5 + 2241.5 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 631b7362-f572-46ac-bbf1-5690366d911b + Move + Move + + + + + + 10276 + 2191 + 116 + 44 + + + 10332 + 2213 + + + + + + Base geometry + 55dcb867-763b-42dd-98d4-96b152389f59 + Geometry + Geometry + true + bc6f70e5-7cb1-4963-9eb8-879f3d469c92 + 1 + + + + + + 10278 + 2193 + 39 + 20 + + + 10299 + 2203 + + + + + + + + Translation vector + f90068ee-d82e-449b-9b01-9aa57267117a + Motion + Motion + false + 23b8d97d-e315-425c-8a2b-5ab845e3ea17 + 1 + + + + + + 10278 + 2213 + 39 + 20 + + + 10299 + 2223 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + 8ad0adab-d308-4872-ab10-4a97041f53c1 + Geometry + Geometry + false + 0 + + + + + + 10347 + 2193 + 43 + 20 + + + 10368.5 + 2203 + + + + + + + + Transformation data + 4e2e02d6-4386-40fd-9824-ef4bdc2a6611 + Transform + Transform + false + 0 + + + + + + 10347 + 2213 + 43 + 20 + + + 10368.5 + 2223 + + + + + + + + + + + + d3d195ea-2d59-4ffa-90b1-8b7ff3369f69 + Unit Y + + + + + Unit vector parallel to the world {y} axis. + true + 60cbc2ce-170a-4f54-b471-86c29392cb28 + Unit Y + Unit Y + + + + + + 9779 + 2339 + 105 + 37 + + + 9822 + 2358 + + + + + + Unit multiplication + c2c48e81-d8d8-40d8-93ac-44a28aecaf66 + Factor + Factor + false + ce82097d-b6bc-4c75-9e92-9312161a41b9 + 1 + + + + + + 9781 + 2341 + 26 + 33 + + + 9795.5 + 2357.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + World {y} vector + 2e9d743c-d421-4249-9c46-7e2f2523961b + Unit vector + Unit vector + false + 0 + + + + + + 9837 + 2341 + 45 + 33 + + + 9859.5 + 2357.5 + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + ce82097d-b6bc-4c75-9e92-9312161a41b9 + Number Slider + Garden Pull strength + false + 0 + + + + + + -254 + 1304 + 233 + 20 + + + -253.2891 + 1304.087 + + + + + + 3 + 1 + 1 + 100000 + 0 + 0 + 6242 + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 867a52c3-e42d-4c14-a594-97942c0a536d + Line + Line + + + + + + 10491 + 2213 + 97 + 44 + + + 10549 + 2235 + + + + + + Line start point + 214b9cd5-7144-40e0-aec2-938231e0c44a + Start Point + Start Point + false + 8ad0adab-d308-4872-ab10-4a97041f53c1 + 1 + + + + + + 10493 + 2215 + 41 + 20 + + + 10515 + 2225 + + + + + + + + Line end point + 14e23d26-7a16-4884-9217-e276d1e9f408 + End Point + End Point + false + 6c4742d3-918e-4ea6-804c-f721f1b968b4 + 1 + + + + + + 10493 + 2235 + 41 + 20 + + + 10515 + 2245 + + + + + + + + Line segment + 49de3b05-387f-449e-a77b-c22636e29dc7 + Line + Line + false + 0 + + + + + + 10564 + 2215 + 22 + 40 + + + 10575 + 2235 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 8181e3da-2dcd-4573-8faf-28a307256567 + Move + Move + + + + + + 10285 + 2262 + 116 + 44 + + + 10341 + 2284 + + + + + + Base geometry + 2addf601-101d-471c-a705-a368b6879fd7 + Geometry + Geometry + true + 8f36e49c-5f67-4fbc-b858-12d07b51253c + 1 + + + + + + 10287 + 2264 + 39 + 20 + + + 10308 + 2274 + + + + + + + + Translation vector + 55669aef-e3d5-4032-af2d-cca87ea9dd75 + Motion + Motion + false + 23b8d97d-e315-425c-8a2b-5ab845e3ea17 + 1 + + + + + + 10287 + 2284 + 39 + 20 + + + 10308 + 2294 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + 6c4742d3-918e-4ea6-804c-f721f1b968b4 + Geometry + Geometry + false + 0 + + + + + + 10356 + 2264 + 43 + 20 + + + 10377.5 + 2274 + + + + + + + + Transformation data + 914aae9c-2576-44e7-aa06-0d695ec7d1c8 + Transform + Transform + false + 0 + + + + + + 10356 + 2284 + 43 + 20 + + + 10377.5 + 2294 + + + + + + + + + + + + 11bbd48b-bb0a-4f1b-8167-fa297590390d + End Points + + + + + Extract the end points of a curve. + true + 77a84dd0-8c0f-46c4-9c65-821735eac86b + End Points + End Points + + + + + + 10643 + 2233 + 82 + 58 + + + 10685 + 2262 + + + + + + Curve to evaluate + 6aa657bb-a4c1-4f05-8332-a53693923b6b + Curve + Curve + false + 49de3b05-387f-449e-a77b-c22636e29dc7 + 1 + + + + + + 10645 + 2235 + 25 + 54 + + + 10659 + 2262 + + + + + + + + Curve start point + 4a146726-eae4-49b5-97a4-1849ee288541 + Start + Start + false + 0 + + + + + + 10700 + 2235 + 23 + 27 + + + 10711.5 + 2248.5 + + + + + + + + Curve end point + a589e8b5-d23a-4075-88f2-29c18c29d6c0 + End + End + false + 0 + + + + + + 10700 + 2262 + 23 + 27 + + + 10711.5 + 2275.5 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 1c6e9493-0bbf-4810-9623-43ceecf38fc9 + Line + Line + + + + + + 10797 + 2281 + 97 + 44 + + + 10855 + 2303 + + + + + + Line start point + 92b7d310-3292-454f-8e58-13eaa00cd75b + Start Point + Start Point + false + 4a146726-eae4-49b5-97a4-1849ee288541 + 1 + + + + + + 10799 + 2283 + 41 + 20 + + + 10821 + 2293 + + + + + + + + Line end point + 3defe227-761d-4e79-b3c3-3cb20c42ca80 + End Point + End Point + false + bc6f70e5-7cb1-4963-9eb8-879f3d469c92 + 1 + + + + + + 10799 + 2303 + 41 + 20 + + + 10821 + 2313 + + + + + + + + Line segment + 93894460-73d4-4dd4-a4ae-95255ff6575c + Line + Line + false + 0 + + + + + + 10870 + 2283 + 22 + 40 + + + 10881 + 2303 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 147f22d0-c366-4bc9-822a-1174e3c88732 + Line + Line + + + + + + 10798 + 2330 + 97 + 44 + + + 10856 + 2352 + + + + + + Line start point + 9e919f9d-2cec-4af6-b130-75de44a22ea8 + Start Point + Start Point + false + 8f36e49c-5f67-4fbc-b858-12d07b51253c + 1 + + + + + + 10800 + 2332 + 41 + 20 + + + 10822 + 2342 + + + + + + + + Line end point + f29dc43e-46bc-4e0f-81b2-3638d7aab751 + End Point + End Point + false + a589e8b5-d23a-4075-88f2-29c18c29d6c0 + 1 + + + + + + 10800 + 2352 + 41 + 20 + + + 10822 + 2362 + + + + + + + + Line segment + a29ca35a-69ab-4f9f-aedd-59a5be787b54 + Line + Line + false + 0 + + + + + + 10871 + 2332 + 22 + 40 + + + 10882 + 2352 + + + + + + + + + + + + a3371040-e552-4bc8-b0ff-10a840258e88 + Negative + + + + + Compute the negative of a value. + true + 3e36adc2-c94d-4f28-925c-c11c94888d35 + Negative + Negative + + + + + + 10093 + 2289 + 87 + 49 + + + 10134 + 2314 + + + + + + Input value + 3a8ce4b9-fe3c-40ed-ad0d-ef1d5968be7c + Value + Value + false + 2e9d743c-d421-4249-9c46-7e2f2523961b + 1 + + + + + + 10095 + 2291 + 24 + 45 + + + 10108.5 + 2313.5 + + + + + + + + Output value + 23b8d97d-e315-425c-8a2b-5ab845e3ea17 + Result + Result + false + 0 + + + + + + 10149 + 2291 + 29 + 45 + + + 10163.5 + 2313.5 + + + + + + + + + + + + f72c480b-7ee6-42ef-9821-c371e9203b44 + Region Difference + + + + + Difference between two sets of planar closed curves (regions) + e3f3f0f0-923a-4329-8790-6226ce04f6f2 + Region Difference + Region Difference + + + + + + 11852 + 1517 + 127 + 90 + + + 11905 + 1562 + + + + + + 1 + Curves to subtract from. + e62d6b86-8062-4b2b-b853-e286d686c3a0 + Curves A + Curves A + false + e8285568-fd42-4293-a13c-d599deb84d6e + 1 + + + + + + 11854 + 1519 + 36 + 28 + + + 11873.5 + 1533.333 + + + + + + + + 1 + Curves to subtract. + f5bb9bc0-1aa7-4deb-a03d-7215c6e5f08f + Curves B + Curves B + false + d162ec2a-0edb-4f59-b070-4405d7ac0598 + 1 + + + + + + 11854 + 1547 + 36 + 29 + + + 11873.5 + 1562 + + + + + + + + Optional plane for boolean solution + fc91da63-6e6b-4289-8c29-1a8ab555df12 + Plane + Plane + true + 0 + + + + + + 11854 + 1576 + 36 + 29 + + + 11873.5 + 1590.667 + + + + + + + + 1 + Result outlines of boolean difference (A - B) + 9a38217d-2a09-437c-8dfd-549475be34bf + Result + Lawns Outline + false + 0 + + + + + + 11920 + 1519 + 57 + 86 + + + 11948.5 + 1562 + + + + + + + + + + + + 477c2e7b-c5e5-421e-b8b2-ba60cdf5398b + Region Intersection + + + + + Intersection between two sets of planar closed curves (regions) + 9c639090-3153-4597-a02c-6c6608b55609 + Region Intersection + Region Intersection + + + + + + 11851 + 1699 + 126 + 96 + + + 11904 + 1747 + + + + + + 1 + First set of regions. + a9e07477-968b-418b-9d0b-f30522a5671d + Curves A + Curves A + false + e8285568-fd42-4293-a13c-d599deb84d6e + 1 + + + + + + 11853 + 1701 + 36 + 30 + + + 11872.5 + 1716.333 + + + + + + + + 1 + Second set of regions. + 95e533f5-36ff-4027-b9ae-1ef2fb9f5e02 + Curves B + Curves B + false + d162ec2a-0edb-4f59-b070-4405d7ac0598 + 1 + + + + + + 11853 + 1731 + 36 + 31 + + + 11872.5 + 1747 + + + + + + + + Optional plane for boolean solution + 1eae8067-8208-4429-a0a8-20403bd4226c + Plane + Plane + true + 0 + + + + + + 11853 + 1762 + 36 + 31 + + + 11872.5 + 1777.667 + + + + + + + + 1 + Result outlines of boolean intersection (A and B) + 8210086e-2be6-4942-b5ed-db521479b807 + Result + G-bed Outline + false + 0 + + + + + + 11919 + 1701 + 56 + 92 + + + 11947 + 1747 + + + + + + + + + + + + 477c2e7b-c5e5-421e-b8b2-ba60cdf5398b + Region Intersection + + + + + Intersection between two sets of planar closed curves (regions) + 4a1391b4-9227-4cb3-8241-ec2346a589b2 + Region Intersection + Region Intersection + + + + + + 11851 + 1887 + 126 + 96 + + + 11904 + 1935 + + + + + + 1 + First set of regions. + d420c5f6-c712-4c1c-b642-0843e728b9c6 + Curves A + Curves A + false + e8285568-fd42-4293-a13c-d599deb84d6e + 1 + + + + + + 11853 + 1889 + 36 + 30 + + + 11872.5 + 1904.333 + + + + + + + + 1 + Second set of regions. + 04dd5d8e-aa07-406a-9e61-af95b4cbe5af + Curves B + Curves B + false + 88d35c46-690c-414e-86d1-1ed8434d9e22 + 1 + + + + + + 11853 + 1919 + 36 + 31 + + + 11872.5 + 1935 + + + + + + + + Optional plane for boolean solution + 58a8a4ad-6a0a-40ec-bb03-86de48f5db5b + Plane + Plane + true + 0 + + + + + + 11853 + 1950 + 36 + 31 + + + 11872.5 + 1965.667 + + + + + + + + 1 + Result outlines of boolean intersection (A and B) + 34c2ba02-3470-47aa-a25f-3b6c1a5266a8 + Result + G-bed Outline + false + 0 + + + + + + 11919 + 1889 + 56 + 92 + + + 11947 + 1935 + + + + + + + + + + + + 2d268bdc-ecaa-4cf7-815a-c8111d1798d3 + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Generic Species Attributes + + + + + Output plant objects from pre-define generic types + true + d33ee8e7-2eb5-45d8-9aad-bef4320706e3 + Generic Species Attributes + Generic Species + + + + + + 12831 + 2124 + 64 + 83 + + + 12845 + 2166 + + + + + + Placeholder description 1 + de64f147-3d54-40a3-bee7-f1c9c2a5afe2 + ShrubP + ShrubP + false + 0 + + + + + + 12860 + 2126 + 33 + 26 + + + 12876.5 + 2139.167 + + + + + + + + Placeholder description 2 + ec29b374-2556-4c47-9dde-921fbe36ac48 + GrassP + GrassP + false + 0 + + + + + + 12860 + 2152 + 33 + 26 + + + 12876.5 + 2165.5 + + + + + + + + Placeholder description 3 + baa01181-9a1a-44ce-ac62-4cf493d9ed4a + TreeP + TreeP + false + 0 + + + + + + 12860 + 2178 + 33 + 27 + + + 12876.5 + 2191.833 + + + + + + + + + + + + 8ec86459-bf01-4409-baee-174d0d2b13d0 + Data + + + + + Contains a collection of generic data + true + eee4b8db-1035-4793-9e99-179756c40a59 + Data + Species + false + ec29b374-2556-4c47-9dde-921fbe36ac48 + 1 + + + + + + 12936 + 2151 + 50 + 20 + + + 12961.56 + 2161.035 + + + + + + + + + + f31d8d7a-7536-4ac8-9c96-fde6ecda4d0a + Cluster + + + + + + 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 + + Contains a cluster of Grasshopper components + true + 0a998e50-57c9-4a6d-a1e8-f0b11887d14e + Cluster + Cluster + false + + + + + 3 + 251b6a1f-0409-467f-9dff-8e07d515d920 + 54d85277-9ca5-430a-a8f3-22899897f737 + 982cb8e6-a21a-408a-be51-98008b98e00c + 55024cd2-eb38-4005-82bc-9f170f3d92fa + 2f50dea1-283b-4deb-88da-61a81ac44dab + e32b233a-a724-4a7b-82ac-c076db6b9270 + + + + + + 12839 + 2250 + 71 + 44 + + + 12881 + 2272 + + + + + + 2 + ac2bc2cb-70fb-4dd5-9c78-7e1ea97fe278 + 2e3ab970-8545-46bb-836c-1c11e5610bce + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Geometry to contain + 54d85277-9ca5-430a-a8f3-22899897f737 + 1 + Content + C + true + 9a38217d-2a09-437c-8dfd-549475be34bf + 1 + + + + + + 12841 + 2252 + 25 + 20 + + + 12863 + 2262 + + + + + + + + Number of segments in {u} direction + 251b6a1f-0409-467f-9dff-8e07d515d920 + U Count + U + true + df7121e6-3e1c-4207-b19f-80669c234e25 + 1 + + + + + + 12841 + 2272 + 25 + 20 + + + 12863 + 2282 + + + + + + 1 + + + + + 1 + {0} + + + + + 10 + + + + + + + + + + + 1 + Culled list + 982cb8e6-a21a-408a-be51-98008b98e00c + List + L + false + 0 + + + + + + 12896 + 2252 + 12 + 40 + + + 12902 + 2272 + + + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + df7121e6-3e1c-4207-b19f-80669c234e25 + Number Slider + Plant per 1m2 (GRASS) + false + 0 + + + + + + -264 + 1491 + 243 + 20 + + + -263.0622 + 1491.037 + + + + + + 3 + 1 + 0 + 50 + 0 + 0 + 30 + + + + + + + + + 2d268bdc-ecaa-4cf7-815a-c8111d1798d6 + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Plant Appearance Simulator + + + + + Simulate the appearance of a particular plant instance + true + 61339c0e-01e8-4ad1-ae30-29cb7caafb00 + Plant Appearance Simulator + Plant Appearance + + + + + + 13321 + 2275 + 107 + 124 + + + 13376 + 2337 + + + + + + 1 + The plant objects to simulate + 4f5de69c-24ce-410f-8b52-7a52144aca21 + Plants + Plants + false + 0331c361-0439-49be-b027-4230bd8f5018 + 1 + + + + + + 13323 + 2277 + 38 + 40 + + + 13343.5 + 2297 + + + + + + + + 1 + The plant locations to simulate + fbf768cf-7797-4918-a41d-8527152b5bb8 + Locations + Locations + false + 982cb8e6-a21a-408a-be51-98008b98e00c + 1 + + + + + + 13323 + 2317 + 38 + 40 + + + 13343.5 + 2337 + + + + + + + + The time (in years) since planting to display + c582daed-496d-4cbc-b2ff-9dd40c4d8a7d + Times + Times + true + 0 + 2 + + + + + + 13323 + 2357 + 38 + 40 + + + 13343.5 + 2377 + + + + + + + + 1 + Trunk radius + c388d117-d3ad-440a-96ef-2212a8684581 + Trunk + Trunk + false + 0 + + + + + + 13391 + 2277 + 35 + 20 + + + 13408.5 + 2287 + + + + + + + + 1 + Root radius + 662d1706-d02f-4b9f-8140-fcae6f39327c + Root + Root + false + 0 + + + + + + 13391 + 2297 + 35 + 20 + + + 13408.5 + 2307 + + + + + + + + 1 + Crown radius + 889c7749-6d10-485f-900f-1d2677e04404 + Crown + Crown + false + 0 + + + + + + 13391 + 2317 + 35 + 20 + + + 13408.5 + 2327 + + + + + + + + 1 + Spacing radius + 63f2b62c-6df2-49b4-8fad-6ac02ce98766 + Spacing + Spacing + false + 0 + + + + + + 13391 + 2337 + 35 + 20 + + + 13408.5 + 2347 + + + + + + + + 1 + The color value of each plant + 44b8a277-98be-42fd-90e1-de02f010d723 + Color + Color + false + 0 + + + + + + 13391 + 2357 + 35 + 20 + + + 13408.5 + 2367 + + + + + + + + 1 + The label of each plant + 71fb72b1-ccd2-4eb0-83d1-3365622cccf0 + Label + Label + false + 0 + + + + + + 13391 + 2377 + 35 + 20 + + + 13408.5 + 2387 + + + + + + + + + + + + c40dc145-9e36-4a69-ac1a-6d825c654993 + Repeat Data + + + + + Repeat a pattern until it reaches a certain length. + true + 032dda60-cf57-47bf-b1cd-1d5eb419cd2b + Repeat Data + Repeat Data + + + + + + 13153 + 2171 + 85 + 66 + + + 13198 + 2204 + + + + + + 1 + Pattern to repeat + 46830dcf-971d-4b06-9326-e3d8e228bc01 + Data + Data + false + eee4b8db-1035-4793-9e99-179756c40a59 + 1 + + + + + + 13155 + 2173 + 28 + 31 + + + 13170.5 + 2188.5 + + + + + + + + Length of final pattern + f7310e6f-fecc-48e3-9a46-324a10fd2556 + Length + Length + false + e18a4048-be79-4eca-9d8c-9a346d1510d7 + 1 + + + + + + 13155 + 2204 + 28 + 31 + + + 13170.5 + 2219.5 + + + + + + + + 1 + Repeated data + 0331c361-0439-49be-b027-4230bd8f5018 + Data + Data + false + 0 + + + + + + 13213 + 2173 + 23 + 62 + + + 13224.5 + 2204 + + + + + + + + + + + + 1817fd29-20ae-4503-b542-f0fb651e67d7 + List Length + + + + + Measure the length of a list. + true + a04e8d98-5b0e-40e9-b5ef-524a6b8e1662 + List Length + List Length + + + + + + 12971 + 2216 + 81 + 58 + + + 13004 + 2245 + + + + + + 1 + Base list + fa69dc5d-80ff-4973-b3bb-c428f101fc4d + List + List + false + 982cb8e6-a21a-408a-be51-98008b98e00c + 1 + + + + + + 12973 + 2218 + 16 + 54 + + + 12982.5 + 2245 + + + + + + + + Number of items in L + e18a4048-be79-4eca-9d8c-9a346d1510d7 + Length + Length + false + 0 + + + + + + 13019 + 2218 + 31 + 54 + + + 13034.5 + 2245 + + + + + + + + + + + + 3b220754-4114-4170-b6c3-b286b86ed524 + Text Tag + + + + + Represents a list of text tags in a Rhino viewport + true + e0c5fdc3-11f8-474b-af1d-6637837e029a + Text Tag + Text Tag + 12 + + + + + + 13706 + 2225 + 65 + 64 + + + 13757 + 2257 + + + + + + Location of text tag + true + e2c97ef1-00b2-4d7f-a3a0-3a655a4ce91e + Location + Location + false + e0884999-a5c1-4b53-a408-5e3e3fc0afb2 + 1 + + + + + + 13708 + 2227 + 34 + 20 + + + 13726.5 + 2237 + + + + + + + + The text to display + 2b34fd0d-6ae1-4e6c-b49d-7892c056d722 + Text + Text + false + 71fb72b1-ccd2-4eb0-83d1-3365622cccf0 + 1 + + + + + + 13708 + 2247 + 34 + 20 + + + 13726.5 + 2257 + + + + + + + + Optional colour for tag + 433da378-183d-43a6-ae43-6820436a16d9 + Colour + Colour + true + 44b8a277-98be-42fd-90e1-de02f010d723 + 1 + + + + + + 13708 + 2267 + 34 + 20 + + + 13726.5 + 2277 + + + + + + + + + + + + 537b0419-bbc2-4ff4-bf08-afe526367b2c + Custom Preview + + + + + Allows for customized geometry previews + ffd5eb52-e92b-44bf-85d9-f18ba17c6987 + Custom Preview + LAWN + + + + + + + 15368 + 1970 + 70 + 44 + + + 15424 + 1992 + + + + + + Geometry to preview + true + 8841968b-4858-4f9d-bfe2-a878a31afa02 + Geometry + Geometry + false + 889c7749-6d10-485f-900f-1d2677e04404 + 1 + + + + + + 15370 + 1972 + 39 + 20 + + + 15391 + 1982 + + + + + + + + The preview shader override + d47c72b0-afa8-4e0d-8757-9f191ae1446f + Shader + S + false + 44b8a277-98be-42fd-90e1-de02f010d723 + 1 + + + + + + 15370 + 1992 + 39 + 20 + + + 15391 + 2002 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + + + + + + 952c2bcc-b5ec-480a-a0d7-27f016632e33 + Pie Chart + + + + + Displays a set of text fragments as a pie chart + ba536112-d31f-453c-84d3-aa7956c94ab5 + Pie Chart + Pie Chart + false + fd6dfa48-85fc-4bf4-942c-4100eb8b80f8 + 1 + + + + + + 13874.18 + 2131.205 + 164 + 164 + + 82 + + 13956.18 + 2213.205 + + + + + + + + + + 3ede854e-c753-40eb-84cb-b48008f14fd4 + Text + + + + + Contains a collection of text fragments + fd6dfa48-85fc-4bf4-942c-4100eb8b80f8 + 1 + Text + Text + false + 71fb72b1-ccd2-4eb0-83d1-3365622cccf0 + 1 + + + + + + 13716 + 2333 + 69 + 20 + + + 13760.5 + 2343.479 + + + + + + + + + + 23862862-049a-40be-b558-2418aacbd916 + Deconstruct Arc + + + + + Retrieve the base plane, radius and angle domain of an arc. + true + b38bddfc-6d6e-46da-88b7-f58303bee8d6 + Deconstruct Arc + Deconstruct Arc + + + + + + 13484 + 2223 + 96 + 81 + + + 13516 + 2264 + + + + + + Arc or Circle to deconstruct + 921d55e9-56c0-4957-be1f-51bcb7b04d15 + Arc + Arc + false + 889c7749-6d10-485f-900f-1d2677e04404 + 1 + + + + + + 13486 + 2225 + 15 + 77 + + + 13495 + 2263.5 + + + + + + + + Base plane of arc or circle + e0884999-a5c1-4b53-a408-5e3e3fc0afb2 + Base Plane + Base Plane + false + 0 + + + + + + 13531 + 2225 + 47 + 25 + + + 13554.5 + 2237.833 + + + + + + + + Radius of arc or circle + 53c8db5b-22c6-48c3-a333-8b4c03981379 + Radius + Radius + false + 0 + + + + + + 13531 + 2250 + 47 + 26 + + + 13554.5 + 2263.5 + + + + + + + + Angle domain (in radians) of arc + a6655304-3a28-4098-b69a-4d9f0257f632 + Angle + Angle + false + 0 + + + + + + 13531 + 2276 + 47 + 26 + + + 13554.5 + 2289.167 + + + + + + + + + + + + 06953bda-1d37-4d58-9b38-4b3c74e54c8f + File Path + + + + + Contains a collection of file paths + false + All files|*.* + 600861cc-4b2e-4ed2-acf7-92d268c2e0f0 + File Path + PLANTING CSV + false + 0 + + + + + + -87 + 1003 + 68 + 20 + + + -52.37223 + 1013.337 + + + + + + 1 + + + + + 1 + {0} + + + + + false + C:\Users\runra\Dropbox\Groundhog Supporting\Projects models (future)\south-park\South Park-Garden Beds.csv + + + + + + + + + + + + + 6587fcbf-e3cf-480a-b2f5-641794474194 + Read File + + + + + Read the contents of a file + true + 719cc973-3a9c-420a-afcc-3730289763ca + Read File + Read File + true + + + + + action = GH_LineParserAction.Include + Return line + + 'Parse the line and return some data that represents the line. + 'If the line cannot be parsed, you can return Nothing and + 'assign a different action. + 'The default implementation is to just return the line itself. + 'If you return types that implement IGH_Goo, this component + 'will work substantially faster. + + 10 + + + + + + 12726 + 2683 + 85 + 52 + + + 12759 + 2709 + + + + + + Uri of file to read + false + All files|*.* + 56eeb8d1-a1c0-419a-95d5-ea8a9679d75e + File + File + false + 600861cc-4b2e-4ed2-acf7-92d268c2e0f0 + 1 + + + + + + 12728 + 2685 + 16 + 48 + + + 12737.5 + 2709 + + + + + + 1 + + + + + 1 + {0} + + + + + false + \\Mac\Dropbox\Work RMIT\Research\Groundhog Supporting\Projects models (future)\south-park\South Park-Garden Beds.csv + + + + + + + + + + + 1 + File content + 93fef31c-24fc-4aca-8b70-47c1106e9c5a + Content + Content + false + 0 + + + + + + 12774 + 2685 + 35 + 48 + + + 12791.5 + 2709 + + + + + + + + + + + + 2d268bdc-ecaa-4cf7-815a-c8111d1798d4 + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Species Attribute Importer + + + + + Create plant attributes from an imported spreadsheet + true + 5f6afdd7-d72f-405d-965b-b6441f65371a + Species Attribute Importer + Species Importer + + + + + + 12914 + 2667 + 98 + 85 + + + 12966 + 2710 + + + + + + 1 + The output of a CSV set to a Read File component + 1de7ef6e-2e49-475d-b5be-2f4ffafc7c01 + CSV File + CSV File + false + 93fef31c-24fc-4aca-8b70-47c1106e9c5a + 1 + + + + + + 12916 + 2669 + 35 + 81 + + + 12935 + 2709.5 + + + + + + + + The resulting plant objects + 08e6dead-36b4-4304-8b68-f77263ed5a2c + Plants + Plants + false + 0 + + + + + + 12981 + 2669 + 29 + 81 + + + 12995.5 + 2709.5 + + + + + + + + + + + + 8ec86459-bf01-4409-baee-174d0d2b13d0 + Data + + + + + Contains a collection of generic data + true + 3c7dbae2-595a-4640-8d9c-37ffe178c5ba + Data + Species + false + 08e6dead-36b4-4304-8b68-f77263ed5a2c + 1 + + + + + + 13064 + 2677 + 50 + 20 + + + 13089.28 + 2687.742 + + + + + + + + + + f31d8d7a-7536-4ac8-9c96-fde6ecda4d0a + Cluster + + + + + + 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 + + Contains a cluster of Grasshopper components + true + de3fcebc-d4ca-43eb-84e1-6426cfcd6f54 + Cluster + Cluster + false + + + + + 3 + 1857efa1-f95d-45ee-8421-e5b763625d80 + a2ae952d-49a1-44df-ab16-ef717e88ea96 + f258fc1a-e344-4823-a982-a3db3338f57f + 55024cd2-eb38-4005-82bc-9f170f3d92fa + 2f50dea1-283b-4deb-88da-61a81ac44dab + e32b233a-a724-4a7b-82ac-c076db6b9270 + + + + + + 12916 + 2507 + 71 + 44 + + + 12958 + 2529 + + + + + + 2 + ac2bc2cb-70fb-4dd5-9c78-7e1ea97fe278 + 2e3ab970-8545-46bb-836c-1c11e5610bce + 1 + 8ec86459-bf01-4409-baee-174d0d2b13d0 + + + + + 1 + Geometry to contain + a2ae952d-49a1-44df-ab16-ef717e88ea96 + 1 + Content + C + true + 8210086e-2be6-4942-b5ed-db521479b807 + 34c2ba02-3470-47aa-a25f-3b6c1a5266a8 + 2 + + + + + + 12918 + 2509 + 25 + 20 + + + 12940 + 2519 + + + + + + + + Number of segments in {u} direction + 1857efa1-f95d-45ee-8421-e5b763625d80 + U Count + U + true + 8c1d6a35-9deb-49d3-a695-aa61fc6bf2c6 + 1 + + + + + + 12918 + 2529 + 25 + 20 + + + 12940 + 2539 + + + + + + 1 + + + + + 1 + {0} + + + + + 10 + + + + + + + + + + + 1 + Culled list + f258fc1a-e344-4823-a982-a3db3338f57f + List + L + false + 0 + + + + + + 12973 + 2509 + 12 + 40 + + + 12979 + 2529 + + + + + + + + + + + + + + 57da07bd-ecab-415d-9d86-af36d7073abc + Number Slider + + + + + Numeric slider for single values + 8c1d6a35-9deb-49d3-a695-aa61fc6bf2c6 + Number Slider + Plant per 1m2 (PLANTS) + false + 0 + + + + + + -270 + 1523 + 249 + 20 + + + -269.528 + 1523.291 + + + + + + 3 + 1 + 0 + 10 + 0 + 0 + 6 + + + + + + + + + 2d268bdc-ecaa-4cf7-815a-c8111d1798d6 + 7dc547b5-ca43-457d-a3e2-8286f0784ad0 + Plant Appearance Simulator + + + + + Simulate the appearance of a particular plant instance + true + 6e10b8b3-c3a1-4f9b-b9b8-6e8522ed4aec + Plant Appearance Simulator + Plant Appearance + + + + + + 13472 + 2507 + 107 + 124 + + + 13527 + 2569 + + + + + + 1 + The plant objects to simulate + c588b890-0a93-41b8-8d09-afa2e16ebd21 + Plants + Plants + false + c508e885-335a-4772-a120-229b1d826de7 + 1 + + + + + + 13474 + 2509 + 38 + 40 + + + 13494.5 + 2529 + + + + + + + + 1 + The plant locations to simulate + 8dd2ea3a-3bd7-44fa-a4af-db3909be297c + Locations + Locations + false + f258fc1a-e344-4823-a982-a3db3338f57f + 1 + + + + + + 13474 + 2549 + 38 + 40 + + + 13494.5 + 2569 + + + + + + + + The time (in years) since planting to display + c8462073-2247-4e9c-8a1c-6b2772151d4e + Times + Times + true + 0 + 2 + + + + + + 13474 + 2589 + 38 + 40 + + + 13494.5 + 2609 + + + + + + + + 1 + Trunk radius + 650dc050-cbfc-4a3b-ac71-799118ebf0a2 + Trunk + Trunk + false + 0 + + + + + + 13542 + 2509 + 35 + 20 + + + 13559.5 + 2519 + + + + + + + + 1 + Root radius + bbec5b5d-648b-4552-a9bf-f45ee7f01d8d + Root + Root + false + 0 + + + + + + 13542 + 2529 + 35 + 20 + + + 13559.5 + 2539 + + + + + + + + 1 + Crown radius + 3da3ba41-6373-41c0-b42f-1f408a3910ef + Crown + Crown + false + 0 + + + + + + 13542 + 2549 + 35 + 20 + + + 13559.5 + 2559 + + + + + + + + 1 + Spacing radius + d71efcc7-6307-4f9a-b599-d062fdf01241 + Spacing + Spacing + false + 0 + + + + + + 13542 + 2569 + 35 + 20 + + + 13559.5 + 2579 + + + + + + + + 1 + The color value of each plant + 3626f8b5-a4b4-4c99-bc1d-4f6fe4800dee + Color + Color + false + 0 + + + + + + 13542 + 2589 + 35 + 20 + + + 13559.5 + 2599 + + + + + + + + 1 + The label of each plant + c3c8af05-510d-4417-a704-d61877dbf2b1 + Label + Label + false + 0 + + + + + + 13542 + 2609 + 35 + 20 + + + 13559.5 + 2619 + + + + + + + + + + + + c40dc145-9e36-4a69-ac1a-6d825c654993 + Repeat Data + + + + + Repeat a pattern until it reaches a certain length. + true + 7d34089a-92d6-43b5-96d1-7997b7018af8 + Repeat Data + Repeat Data + + + + + + 13255 + 2620 + 85 + 66 + + + 13300 + 2653 + + + + + + 1 + Pattern to repeat + 1a6e5c2a-598f-445f-96c5-0f1233538626 + Data + Data + false + 3c7dbae2-595a-4640-8d9c-37ffe178c5ba + 1 + + + + + + 13257 + 2622 + 28 + 31 + + + 13272.5 + 2637.5 + + + + + + + + Length of final pattern + f6962f73-4f50-4256-a5fb-f23e7f36f37d + Length + Length + false + 20efa3f2-0bda-4339-854e-937ff7da53f8 + 1 + + + + + + 13257 + 2653 + 28 + 31 + + + 13272.5 + 2668.5 + + + + + + + + 1 + Repeated data + c508e885-335a-4772-a120-229b1d826de7 + Data + Data + false + 0 + + + + + + 13315 + 2622 + 23 + 62 + + + 13326.5 + 2653 + + + + + + + + + + + + 1817fd29-20ae-4503-b542-f0fb651e67d7 + List Length + + + + + Measure the length of a list. + true + 42f583ad-7933-47cf-b95b-5fc123983afd + List Length + List Length + + + + + + 13055 + 2564 + 81 + 58 + + + 13088 + 2593 + + + + + + 1 + Base list + bf248826-d578-4546-8b36-f4674d014924 + List + List + false + f258fc1a-e344-4823-a982-a3db3338f57f + 1 + + + + + + 13057 + 2566 + 16 + 54 + + + 13066.5 + 2593 + + + + + + + + Number of items in L + 20efa3f2-0bda-4339-854e-937ff7da53f8 + Length + Length + false + 0 + + + + + + 13103 + 2566 + 31 + 54 + + + 13118.5 + 2593 + + + + + + + + + + + + 3b220754-4114-4170-b6c3-b286b86ed524 + Text Tag + + + + + Represents a list of text tags in a Rhino viewport + true + d8b8fda8-99dd-4207-8b35-b7779ac9de03 + Text Tag + Text Tag + 12 + + + + + + 13934 + 2764 + 65 + 64 + + + 13985 + 2796 + + + + + + Location of text tag + true + 26e71fd2-bee7-4b21-b2dc-1336f523fc72 + Location + Location + false + f2514496-aae8-4105-aa51-fdadfda9b9d2 + 1 + + + + + + 13936 + 2766 + 34 + 20 + + + 13954.5 + 2776 + + + + + + + + The text to display + a0092dbf-745c-478a-9fa7-3394e5e2c9f1 + Text + Text + false + c3c8af05-510d-4417-a704-d61877dbf2b1 + 1 + + + + + + 13936 + 2786 + 34 + 20 + + + 13954.5 + 2796 + + + + + + + + Optional colour for tag + 3450e4d5-9d2d-498b-a277-7df8aa95a68f + Colour + Colour + true + 3626f8b5-a4b4-4c99-bc1d-4f6fe4800dee + 1 + + + + + + 13936 + 2806 + 34 + 20 + + + 13954.5 + 2816 + + + + + + + + + + + + 537b0419-bbc2-4ff4-bf08-afe526367b2c + Custom Preview + + + + + Allows for customized geometry previews + 17cf73cb-5584-4978-a1d1-4c00a3431b8c + Custom Preview + G-BED PLANTING + + + + + + + 15368 + 1791 + 70 + 94 + + + 15424 + 1838 + + + + + + Geometry to preview + true + 351452af-48d0-4f3a-8e1d-1e246881664c + Geometry + Geometry + false + 3da3ba41-6373-41c0-b42f-1f408a3910ef + 1 + + + + + + 15370 + 1793 + 39 + 45 + + + 15391 + 1815.5 + + + + + + + + The preview shader override + 72faf109-2d7b-4cbf-b802-21d63a9ef350 + Shader + S + false + 3626f8b5-a4b4-4c99-bc1d-4f6fe4800dee + 1 + + + + + + 15370 + 1838 + 39 + 45 + + + 15391 + 1860.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + + + + + + 952c2bcc-b5ec-480a-a0d7-27f016632e33 + Pie Chart + + + + + Displays a set of text fragments as a pie chart + b2b0c240-a65e-4384-8206-f96de55b7812 + Pie Chart + Pie Chart + false + a696e9ac-d028-49a9-8b04-39969cecabf3 + 1 + + + + + + 15306.18 + 2042.886 + 164 + 164 + + 82 + + 15388.18 + 2124.886 + + + + + + + + + + 3ede854e-c753-40eb-84cb-b48008f14fd4 + Text + + + + + Contains a collection of text fragments + a696e9ac-d028-49a9-8b04-39969cecabf3 + 1 + Text + Text + false + c3c8af05-510d-4417-a704-d61877dbf2b1 + 1 + + + + + + 14029 + 2654 + 69 + 20 + + + 14073.94 + 2664.113 + + + + + + + + + + 23862862-049a-40be-b558-2418aacbd916 + Deconstruct Arc + + + + + Retrieve the base plane, radius and angle domain of an arc. + true + afe2eb0b-8160-4b87-82e2-0d7a5cf81195 + Deconstruct Arc + Deconstruct Arc + + + + + + 13726 + 2641 + 96 + 81 + + + 13758 + 2682 + + + + + + Arc or Circle to deconstruct + 269bfded-f69c-4a42-aa98-ac9e8af653b3 + Arc + Arc + false + 3da3ba41-6373-41c0-b42f-1f408a3910ef + 1 + + + + + + 13728 + 2643 + 15 + 77 + + + 13737 + 2681.5 + + + + + + + + Base plane of arc or circle + f2514496-aae8-4105-aa51-fdadfda9b9d2 + Base Plane + Base Plane + false + 0 + + + + + + 13773 + 2643 + 47 + 25 + + + 13796.5 + 2655.833 + + + + + + + + Radius of arc or circle + 004d48ce-2cfa-4455-8201-891f32699353 + Radius + Radius + false + 0 + + + + + + 13773 + 2668 + 47 + 26 + + + 13796.5 + 2681.5 + + + + + + + + Angle domain (in radians) of arc + 51dda334-8064-4e94-901f-45ea04f4533b + Angle + Angle + false + 0 + + + + + + 13773 + 2694 + 47 + 26 + + + 13796.5 + 2707.167 + + + + + + + + + + + + 952c2bcc-b5ec-480a-a0d7-27f016632e33 + Pie Chart + + + + + Displays a set of text fragments as a pie chart + 66c8d47a-b23d-4f0b-b142-121f56783df1 + Pie Chart + Pie Chart + false + fd6dfa48-85fc-4bf4-942c-4100eb8b80f8 + a696e9ac-d028-49a9-8b04-39969cecabf3 + 2 + + + + + + 15304.2 + 2238.811 + 164 + 164 + + 82 + + 15386.2 + 2320.811 + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + b0d002ce-9ae0-4b31-9a98-73959132b2b1 + Panel + + false + 0 + 0 + This first section of the script uses data from site to interpolate a line through the park pulled toward these data points according to their importance. + + + + + + 364 + 188 + 160 + 100 + + 0 + 0 + 0 + + 364.1409 + 188.1164 + + + + + + + 255;250;250;250 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 6424c366-f679-42c8-a083-d26179cb1134 + Panel + + false + 0 + 0 + This second step generates offsets from the intial line that will inform the extents (y) of our path. These offsets are also influenced by the input data. + + + + + + 3208 + 538 + 205 + 143 + + 0 + 0 + 0 + + 3208.839 + 538.6346 + + + + + + + 255;250;250;250 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + 9ff5a0e8-ac39-4a33-88c6-edb349d85706 + 1 + 68d06cb8-50c7-4fc7-8bbe-43685eb7fbbd + Group + STEP 3: PAVING + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 9ff5a0e8-ac39-4a33-88c6-edb349d85706 + Panel + + false + 0 + 0 + Here we use the lines generated in step 1 and 2 to produce a detailed paving system which is responsive to changes in data input. + + + + + + 5262 + 1191 + 160 + 100 + + 0 + 0 + 0 + + 5262.55 + 1191.765 + + + + + + + 255;250;250;250 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + e70d9159-79b5-43fb-b036-a1a37151d435 + Panel + + false + 0 + 0 + Subracts paved area of park from remaining area. + + + + + + 8128 + 716 + 160 + 100 + + 0 + 0 + 0 + + 8128.539 + 716.5709 + + + + + + + 255;250;250;250 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + 7e9bb34e-cc1d-4a47-902a-a1b36eabc1ea + 1 + 015e337e-3a26-4622-ad63-edd213ed7736 + Group + STEP 5: BEDS AND LAWNS + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 7e9bb34e-cc1d-4a47-902a-a1b36eabc1ea + Panel + + false + 0 + 0 + Divides remaining area into Garden Beds and Lawns. Garden bed area is also determined by initial input data + + + + + + 8076 + 1961 + 160 + 100 + + 0 + 0 + 0 + + 8076.813 + 1961.425 + + + + + + + 255;250;250;250 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + 43177e72-a0b1-43f1-b63a-5ec08994dfe8 + 1 + 7e21f422-8517-4dd3-8db3-25ddf2d16790 + Group + STEP 6: PLANTING + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + 43177e72-a0b1-43f1-b63a-5ec08994dfe8 + Panel + + false + 0 + 0 + Planting mix spreadsheet input into groundhog components for garden bed visualisation. Default groundhog grass visualisation for lawns. +Refer to Groundhog planting documentation for more details. + + + + + + 12721 + 1922 + 207 + 153 + + 0 + 0 + 0 + + 12721.47 + 1922.881 + + + + + + + 255;250;250;250 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + d3f146b1-057c-422c-ab7e-0b3eef0e1036 + Curve + Interpolated Data Line + false + 642f2919-3ba9-452c-8310-a557861702ab + 1 + + + + + + 2895 + 594 + 88 + 20 + + + 2939.09 + 604.2959 + + + + + + + + + + 919e146f-30ae-4aae-be34-4d72f555e7da + Brep + + + + + Contains a collection of Breps (Boundary REPresentations) + true + b3fe1ccb-3e37-476a-969e-44901a0890ae + Brep + Boundary Area of Path + false + f010efd6-5939-48d3-adfd-7bf942a18d4f + 1 + + + + + + 6162 + 997 + 90 + 20 + + + 6207.602 + 1007.751 + + + + + + + + + + 919e146f-30ae-4aae-be34-4d72f555e7da + Brep + + + + + Contains a collection of Breps (Boundary REPresentations) + true + cfc999a2-88fe-4435-9ed7-f0a483ca1052 + Brep + Boundary Area of Path (3D) + false + 68948900-ed26-46b4-8405-761867c35f7c + 1 + + + + + + 6148 + 1046 + 108 + 20 + + + 6202.13 + 1056.896 + + + + + + + + + + 8529dbdf-9b6f-42e9-8e1f-c7a2bde56a70 + Line + + + + + Contains a collection of line segments + true + e181f9d0-24bf-4d1e-9dbd-1140bf4cccbc + Line + Paver Start Line + false + e318ddd9-4ff6-4d46-8701-40dc17889a19 + 1 + + + + + + 6169 + 1092 + 67 + 20 + + + 6203.097 + 1102.23 + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + true + fd46c549-b84d-40ee-b226-201278af25eb + Curve + Outlines 4 Baking + false + 9a38217d-2a09-437c-8dfd-549475be34bf + 8210086e-2be6-4942-b5ed-db521479b807 + 34c2ba02-3470-47aa-a25f-3b6c1a5266a8 + 3 + + + + + + 12730 + 1438 + 72 + 20 + + + 12766.29 + 1448.68 + + + + + + + + + + 8073a420-6bec-49e3-9b18-367f6fd76ac3 + Join Curves + + + + + Join as many curves as possible + true + 6f691166-415e-4af6-84c4-77738b45f937 + Join Curves + Join Curves + + + + + + 10982 + 2041 + 102 + 62 + + + 11035 + 2072 + + + + + + 1 + Curves to join + 8f8daf49-fc7d-425a-b641-95bfcb37fb1b + Curves + Curves + false + 9fc95b90-bb1d-4efc-a5db-9f086c3219dd + ce198941-d20f-4f36-8e72-9998afc5e62a + 53f5de20-5a60-4826-83e1-ffc0618ed12d + c0647f60-8184-4419-bc3d-478331edf7a3 + 4 + + + + + + 10984 + 2043 + 36 + 29 + + + 11003.5 + 2057.5 + + + + + + + + Preserve direction of input curves + 5a2f3330-80d8-4d6d-9c47-af77e8ce51ec + Preserve + Preserve + false + 0 + + + + + + 10984 + 2072 + 36 + 29 + + + 11003.5 + 2086.5 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Joined curves and individual curves that could not be joined. + d162ec2a-0edb-4f59-b070-4405d7ac0598 + Curves + Curves + false + 0 + + + + + + 11050 + 2043 + 32 + 58 + + + 11066 + 2072 + + + + + + + + + + + + 8073a420-6bec-49e3-9b18-367f6fd76ac3 + Join Curves + + + + + Join as many curves as possible + true + e5dd2c5a-5aaa-4e61-9659-66df4fcb4306 + Join Curves + Join Curves + + + + + + 10982 + 2236 + 102 + 62 + + + 11035 + 2267 + + + + + + 1 + Curves to join + cd95726f-f28c-49fc-aad1-81017a143655 + Curves + Curves + false + 93894460-73d4-4dd4-a4ae-95255ff6575c + a29ca35a-69ab-4f9f-aedd-59a5be787b54 + 890dace9-70c9-422f-b2eb-df2bd4fb1f88 + 49de3b05-387f-449e-a77b-c22636e29dc7 + 4 + + + + + + 10984 + 2238 + 36 + 29 + + + 11003.5 + 2252.5 + + + + + + + + Preserve direction of input curves + fa5fc976-06ea-405e-845f-f6dd18982c60 + Preserve + Preserve + false + 0 + + + + + + 10984 + 2267 + 36 + 29 + + + 11003.5 + 2281.5 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Joined curves and individual curves that could not be joined. + 88d35c46-690c-414e-86d1-1ed8434d9e22 + Curves + Curves + false + 0 + + + + + + 11050 + 2238 + 32 + 58 + + + 11066 + 2267 + + + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 150;170;135;255 + + A group of Grasshopper objects + 5c6c80df-1309-4435-a7b7-1cb318545966 + 1 + 30bd45c6-d338-41a9-b6fd-45d64922a8dc + Group + STEP 2: OFFSETING + + + + + + + + + + 2162e72e-72fc-4bf8-9459-d4d82fa8aa14 + Divide Curve + + + + + Divide a curve into equal length segments + true + 013e5036-8354-4d46-b62d-27e20f93774b + Divide Curve + Divide Curve + + + + + + 3204 + 717 + 123 + 67 + + + 3246 + 751 + + + + + + Curve to divide + 4fe574dc-4836-4763-9632-d673d517ce9b + Curve + Curve + false + d3f146b1-057c-422c-ab7e-0b3eef0e1036 + 1 + + + + + + 3206 + 719 + 25 + 21 + + + 3220 + 729.5 + + + + + + + + Number of segments + 75b00357-c97d-4bd4-9493-2058ebcffc76 + Count + Count + false + acf22731-eb13-462e-8bfc-ed5d99a9a117 + 1 + + + + + + 3206 + 740 + 25 + 21 + + + 3220 + 750.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 80 + + + + + + + + + + + Split segments at kinks + 9fd7cec7-6e51-4afa-bfeb-d2a0d45cf457 + Kinks + Kinks + false + 0 + + + + + + 3206 + 761 + 25 + 21 + + + 3220 + 771.5 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + 1 + Division points + df9f6c37-9d4e-43f2-8d2f-0f381df6f8b5 + 2 + Points + Points + false + 0 + + + + + + 3261 + 719 + 64 + 21 + + + 3285 + 729.5 + + + + + + + + 1 + Tangent vectors at division points + 231d9091-1c3a-4917-b7a0-09c2f2357307 + Tangents + Tangents + false + 0 + + + + + + 3261 + 740 + 64 + 21 + + + 3285 + 750.5 + + + + + + + + 1 + Parameter values at division points + 0ea177dd-65d8-4346-94b3-a4c73f955be7 + Parameters + Parameters + false + 0 + + + + + + 3261 + 761 + 64 + 21 + + + 3285 + 771.5 + + + + + + + + + + + + 571ca323-6e55-425a-bf9e-ee103c7ba4b9 + Closest Point + + + + + Find closest point in a point collection. + true + f8ec792c-8115-43c5-adb9-2a30c2c7fee5 + Closest Point + Closest Point + + + + + + 3424 + 827 + 112 + 68 + + + 3465 + 861 + + + + + + Point to search from + 7bfee9e6-07f8-4bb2-8944-20e0b61b6667 + Point + Point + false + df9f6c37-9d4e-43f2-8d2f-0f381df6f8b5 + 1 + + + + + + 3426 + 829 + 24 + 32 + + + 3439.5 + 845 + + + + + + + + 1 + Cloud of points to search + 27dd225c-4fae-4aa4-9f93-c49f66cdd61c + Cloud + Cloud + false + 7aaba0c9-beaa-470c-bc06-a854132b731f + 1 + + + + + + 3426 + 861 + 24 + 32 + + + 3439.5 + 877 + + + + + + + + Point in [C] closest to [P] + 8be1eefd-f54e-4b10-b6ab-792889f3739b + Closest Point + Closest Point + false + 0 + + + + + + 3480 + 829 + 54 + 21 + + + 3507 + 839.6667 + + + + + + + + Index of closest point + 8a01345c-c7f0-4141-aa9e-293ea322240a + CP Index + CP Index + false + 0 + + + + + + 3480 + 850 + 54 + 21 + + + 3507 + 861 + + + + + + + + Distance between [P] and [C](i) + 82a0cd06-2a11-4608-b118-a1045e67112b + Distance + Distance + false + 0 + + + + + + 3480 + 871 + 54 + 22 + + + 3507 + 882.3334 + + + + + + + + + + + + 6ec39468-dae7-4ffa-a766-f2ab22a2c62e + Amplitude + + + + + Set the amplitude (length) of a vector. + 9577f649-67ed-4e32-b16b-bba092c895c0 + Amplitude + Amplitude + + + + + + 3811 + 750 + 103 + 54 + + + 3867 + 777 + + + + + + Base vector + 7e412248-995c-4c23-bbd0-b6f635eee1e0 + Vector + Vector + false + e0b2019d-a9fa-4602-8911-5c51f5eafd93 + 1 + + + + + + 3813 + 752 + 39 + 25 + + + 3834 + 764.5 + + + + + + + + Amplitude (length) value + edd4e26d-a3b6-4b4e-8209-5e375fa9a222 + Amplitude + Amplitude + false + cc8cd1a4-fa49-42ab-b91d-cf10afb199f5 + 1 + + + + + + 3813 + 777 + 39 + 25 + + + 3834 + 789.5 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting vector + 0a839d84-68ff-4563-be13-20dae6ca7f78 + Vector + Vector + false + 0 + + + + + + 3882 + 752 + 30 + 50 + + + 3897 + 777 + + + + + + + + + + + + e9eb1dcf-92f6-4d4d-84ae-96222d60f56b + Move + + + + + Translate (move) an object along a vector. + true + 21f42389-328a-4df2-b6f9-f2bf4a1ce524 + Move + Move + + + + + + 3978 + 688 + 116 + 44 + + + 4034 + 710 + + + + + + Base geometry + 48416325-b97d-4463-961f-57aab839acb0 + Geometry + Geometry + true + df9f6c37-9d4e-43f2-8d2f-0f381df6f8b5 + 1 + + + + + + 3980 + 690 + 39 + 20 + + + 4001 + 700 + + + + + + + + Translation vector + 75ce5397-12b6-44d3-bd42-acee5c874193 + Motion + Motion + false + 0a839d84-68ff-4563-be13-20dae6ca7f78 + 1 + + + + + + 3980 + 710 + 39 + 20 + + + 4001 + 720 + + + + + + 1 + + + + + 1 + {0} + + + + + + 0 + 0 + 10 + + + + + + + + + + + + Translated geometry + 81ccf6a0-92f3-4ec1-b6e3-6dbc36c9972b + Geometry + Geometry + false + 0 + + + + + + 4049 + 690 + 43 + 20 + + + 4070.5 + 700 + + + + + + + + Transformation data + 20d4b4a3-490d-4101-882d-d8f7ab8e7ed8 + Transform + Transform + false + 0 + + + + + + 4049 + 710 + 43 + 20 + + + 4070.5 + 720 + + + + + + + + + + + + 2b2a4145-3dff-41d4-a8de-1ea9d29eef33 + Interpolate + + + + + Create an interpolated curve through a set of points. + true + bed82101-7a40-4861-b9b5-d66ee1ca3708 + Interpolate + Interpolate + + + + + + 4437 + 749 + 106 + 84 + + + 4492 + 791 + + + + + + 1 + Interpolation points + 153125ea-43fb-473c-8291-dfd71d4740a8 + Vertices + Vertices + false + 231a6446-f1b7-44a8-930c-07213d9cb491 + 8ca41ade-3eaf-47d6-a9b8-6894172aca71 + 2 + + + + + + 4439 + 751 + 38 + 20 + + + 4459.5 + 761 + + + + + + + + Curve degree + e3838f88-6aa9-4d33-8e24-f98b24e4efb9 + Degree + Degree + false + 0 + + + + + + 4439 + 771 + 38 + 20 + + + 4459.5 + 781 + + + + + + 1 + + + + + 1 + {0} + + + + + 3 + + + + + + + + + + + Periodic curve + b6f18882-be52-45ef-93db-e4f6e74fb584 + Periodic + Periodic + false + 0 + + + + + + 4439 + 791 + 38 + 20 + + + 4459.5 + 801 + + + + + + 1 + + + + + 1 + {0} + + + + + true + + + + + + + + + + + Knot spacing (0=uniform, 1=chord, 2=sqrtchord) + 9cfa0e85-0bc7-4fb9-8520-0b4d7789b5cd + KnotStyle + KnotStyle + false + 0 + + + + + + 4439 + 811 + 38 + 20 + + + 4459.5 + 821 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + Resulting nurbs curve + 5c6d4ce0-168f-4620-be0c-a5985d3827eb + Curve + Curve + false + 0 + + + + + + 4507 + 751 + 34 + 26 + + + 4524 + 764.3333 + + + + + + + + Curve length + 3faf8b67-66e8-4e1c-8b57-fa9fdd4922e3 + Length + Length + false + 0 + + + + + + 4507 + 777 + 34 + 27 + + + 4524 + 791 + + + + + + + + Curve domain + 4b63c6e2-42da-41ac-91f1-8a0e2f113fb1 + Domain + Domain + false + 0 + + + + + + 4507 + 804 + 34 + 27 + + + 4524 + 817.6666 + + + + + + + + + + + + 23862862-049a-40be-b558-2418aacbd916 + Deconstruct Arc + + + + + Retrieve the base plane, radius and angle domain of an arc. + true + b2f581b0-3d68-43ce-b645-5c9508f636db + Deconstruct Arc + Deconstruct Arc + + + + + + 3200 + 834 + 96 + 81 + + + 3232 + 875 + + + + + + Arc or Circle to deconstruct + 8470f8c2-ab27-4249-9836-9643c995ca27 + Arc + Arc + false + c77c7613-96c0-4d9b-bb83-ebc98061246e + 1 + + + + + + 3202 + 836 + 15 + 77 + + + 3211 + 874.5 + + + + + + + + Base plane of arc or circle + 7aaba0c9-beaa-470c-bc06-a854132b731f + Base Plane + Base Plane + false + 0 + + + + + + 3247 + 836 + 47 + 25 + + + 3270.5 + 848.8333 + + + + + + + + Radius of arc or circle + dc5dc2a3-0263-4b1f-838c-a876957cb0aa + Radius + Radius + false + 0 + + + + + + 3247 + 861 + 47 + 26 + + + 3270.5 + 874.5 + + + + + + + + Angle domain (in radians) of arc + 4a834c1e-8dc9-471a-82f4-4a2d268953f6 + Angle + Angle + false + 0 + + + + + + 3247 + 887 + 47 + 26 + + + 3270.5 + 900.1666 + + + + + + + + + + + + 23862862-049a-40be-b558-2418aacbd916 + Deconstruct Arc + + + + + Retrieve the base plane, radius and angle domain of an arc. + true + fcf286b8-8e9a-4184-bb3d-9d274109849f + Deconstruct Arc + Deconstruct Arc + + + + + + 3202 + 962 + 96 + 81 + + + 3234 + 1003 + + + + + + Arc or Circle to deconstruct + e7f1236c-3d05-41e0-8949-4fd12333e67a + Arc + Arc + false + 97eae7ac-85a1-469c-ad8b-7858ae7463b6 + 1 + + + + + + 3204 + 964 + 15 + 77 + + + 3213 + 1002.5 + + + + + + + + Base plane of arc or circle + 75716845-e5ee-40b9-98d1-6bb19343bc82 + Base Plane + Base Plane + false + 0 + + + + + + 3249 + 964 + 47 + 25 + + + 3272.5 + 976.8333 + + + + + + + + Radius of arc or circle + 675b2e76-f39d-4523-a5ec-c6239a1e4a86 + Radius + Radius + false + 0 + + + + + + 3249 + 989 + 47 + 26 + + + 3272.5 + 1002.5 + + + + + + + + Angle domain (in radians) of arc + 35dfce8d-f6d9-4988-8afd-fcb26234c55e + Angle + Angle + false + 0 + + + + + + 3249 + 1015 + 47 + 26 + + + 3272.5 + 1028.167 + + + + + + + + + + + + 571ca323-6e55-425a-bf9e-ee103c7ba4b9 + Closest Point + + + + + Find closest point in a point collection. + true + 300fe7aa-cd08-4f14-a39a-ac063331972f + Closest Point + Closest Point + + + + + + 3430 + 720 + 112 + 68 + + + 3471 + 754 + + + + + + Point to search from + be609809-9807-4b8f-bfb2-5c8e5e30080e + Point + Point + false + df9f6c37-9d4e-43f2-8d2f-0f381df6f8b5 + 1 + + + + + + 3432 + 722 + 24 + 32 + + + 3445.5 + 738 + + + + + + + + 1 + Cloud of points to search + 196e80b5-ee55-4cb3-80f7-c4acb459f610 + Cloud + Cloud + false + 75716845-e5ee-40b9-98d1-6bb19343bc82 + 1 + + + + + + 3432 + 754 + 24 + 32 + + + 3445.5 + 770 + + + + + + + + Point in [C] closest to [P] + d303d504-be1e-403d-b4bb-c3d89b083a3e + Closest Point + Closest Point + false + 0 + + + + + + 3486 + 722 + 54 + 21 + + + 3513 + 732.6667 + + + + + + + + Index of closest point + 6ea74d1b-f7cb-4fc9-aabc-893b10d2333c + CP Index + CP Index + false + 0 + + + + + + 3486 + 743 + 54 + 21 + + + 3513 + 754 + + + + + + + + Distance between [P] and [C](i) + e59bf996-05c0-4f4f-866a-f21bccda1ad6 + Distance + Distance + false + 0 + + + + + + 3486 + 764 + 54 + 22 + + + 3513 + 775.3334 + + + + + + + + + + + + 934ede4a-924a-4973-bb05-0dc4b36fae75 + Vector 2Pt + + + + + Create a vector between two points. + true + 3523ba4b-aaf7-4705-820e-3695783dd68c + Vector 2Pt + Vector 2Pt + + + + + + 3650 + 679 + 94 + 64 + + + 3696 + 711 + + + + + + Base point + 1d434dcc-8ceb-4cba-bac6-46d29896ba93 + Point A + Point A + false + df9f6c37-9d4e-43f2-8d2f-0f381df6f8b5 + 1 + + + + + + 3652 + 681 + 29 + 20 + + + 3668 + 691 + + + + + + + + Tip point + 1b4c6fb7-f2bc-4fde-b3c5-d1fde24d25bc + Point B + Point B + false + 8be1eefd-f54e-4b10-b6ab-792889f3739b + d303d504-be1e-403d-b4bb-c3d89b083a3e + 2 + + + + + + 3652 + 701 + 29 + 20 + + + 3668 + 711 + + + + + + + + Unitize output + e6117115-b865-4560-a1c7-a732c5d7b286 + Unitize + Unitize + false + 0 + + + + + + 3652 + 721 + 29 + 20 + + + 3668 + 731 + + + + + + 1 + + + + + 1 + {0} + + + + + false + + + + + + + + + + + Vector + e0b2019d-a9fa-4602-8911-5c51f5eafd93 + Vector + Vector + false + 0 + + + + + + 3711 + 681 + 31 + 30 + + + 3726.5 + 696 + + + + + + + + Vector length + 86ac6a7c-75d0-4888-a543-8a152fd53fa9 + Length + Length + false + 0 + + + + + + 3711 + 711 + 31 + 30 + + + 3726.5 + 726 + + + + + + + + + + + + d51e9b65-aa4e-4fd6-976c-cef35d421d05 + Boundary Surfaces + + + + + Create planar surfaces from a collection of boundary edge curves. + true + 06776efd-e2b8-4bbc-bda5-835fd5a2969a + Boundary Surfaces + Boundary Surfaces + + + + + + 4630 + 806 + 98 + 94 + + + 4673 + 853 + + + + + + 1 + Boundary curves + d3eb4797-3a4d-4224-ac68-dc2139fabaa5 + Edges + Edges + false + 5c6d4ce0-168f-4620-be0c-a5985d3827eb + 1 + + + + + + 4632 + 808 + 26 + 90 + + + 4646.5 + 853 + + + + + + + + 1 + Resulting boundary surfaces + f010efd6-5939-48d3-adfd-7bf942a18d4f + Surfaces + Surfaces + false + 0 + + + + + + 4688 + 808 + 38 + 90 + + + 4707 + 853 + + + + + + + + + + + + 962034e9-cc27-4394-afc4-5c16e3447cf9 + Extrude + + + + + Extrude curves and surfaces along a vector. + true + 4e900fec-62ca-42a9-9652-87fa7726928c + Extrude + Extrude + + + + + + 4823 + 881 + 109 + 44 + + + 4875 + 903 + + + + + + Profile curve or surface + d02a2ae6-ff6b-464a-a32b-78786010b115 + Base + Base + false + f010efd6-5939-48d3-adfd-7bf942a18d4f + 1 + + + + + + 4825 + 883 + 35 + 20 + + + 4844 + 893 + + + + + + + + Extrusion direction + f17a138f-1bd3-420b-8395-083fe30d3c0d + Direction + Direction + false + 726220cd-7e41-4b3f-b95d-7c6630766788 + 1 + + + + + + 4825 + 903 + 35 + 20 + + + 4844 + 913 + + + + + + + + Extrusion result + 68948900-ed26-46b4-8405-761867c35f7c + Extrusion + Extrusion + false + 0 + + + + + + 4890 + 883 + 40 + 40 + + + 4910 + 903 + + + + + + + + + + + + 9103c240-a6a9-4223-9b42-dbd19bf38e2b + Unit Z + + + + + Unit vector parallel to the world {z} axis. + true + 1b73677c-6f73-4977-ae7b-a2a9c367a9c0 + Unit Z + Unit Z + + + + + + 4624 + 952 + 105 + 36 + + + 4667 + 970 + + + + + + Unit multiplication + a529dfdc-e518-41f9-b994-e0300d6cb9ec + Factor + Factor + false + 0 + + + + + + 4626 + 954 + 26 + 32 + + + 4640.5 + 970 + + + + + + 1 + + + + + 1 + {0} + + + + + 1 + + + + + + + + + + + World {z} vector + 726220cd-7e41-4b3f-b95d-7c6630766788 + Unit vector + Unit vector + false + 0 + + + + + + 4682 + 954 + 45 + 32 + + + 4704.5 + 970 + + + + + + + + + + + + d8332545-21b2-4716-96e3-8559a9876e17 + Dispatch + + + + + Dispatch the items in a list into two target lists. + true + a7bd0390-297a-454f-a8f0-c4cdd96940cf + Dispatch + Dispatch + + + + + + 4178 + 704 + 154 + 48 + + + 4273 + 728 + + + + + + 1 + List to filter + 0a996a72-48f1-4ea5-b636-6e011dc26181 + 1 + List + List + false + 81ccf6a0-92f3-4ec1-b6e3-6dbc36c9972b + 1 + + + + + + 4180 + 706 + 78 + 22 + + + 4228.5 + 717 + + + + + + + + 1 + Dispatch pattern + 35a44c3f-2662-4d52-bb95-5a6030cd83e5 + Dispatch pattern + Dispatch pattern + false + 0 + + + + + + 4180 + 728 + 78 + 22 + + + 4228.5 + 739 + + + + + + 1 + + + + + 2 + {0} + + + + + true + + + + + false + + + + + + + + + + + 1 + Dispatch target for True values + 231a6446-f1b7-44a8-930c-07213d9cb491 + List A + List A + false + 0 + + + + + + 4288 + 706 + 42 + 22 + + + 4301 + 717 + + + + + + + + 1 + Dispatch target for False values + 8ca41ade-3eaf-47d6-a9b8-6894172aca71 + List B + List B + false + true + 0 + + + + + + 4288 + 728 + 42 + 22 + + + 4301 + 739 + + + + + + + + + + + + 537b0419-bbc2-4ff4-bf08-afe526367b2c + Custom Preview + + + + + Allows for customized geometry previews + 58b29f02-f5eb-42bc-8ee2-d53ce01e3551 + Custom Preview + PATH + + + + + + + 15363 + 1484 + 70 + 44 + + + 15419 + 1506 + + + + + + Geometry to preview + true + 7ac747e2-e78c-4224-95df-c380dd9b76d7 + Geometry + Geometry + false + 427c2f33-21be-4cf6-95a1-f7837acbb761 + 1 + + + + + + 15365 + 1486 + 39 + 20 + + + 15386 + 1496 + + + + + + + + The material override + 51dff304-eb0e-49f0-8e3c-44ab3986770c + Material + Material + false + a4cb34f8-00ec-4f18-a89f-9ca9b2eb4275 + 1 + + + + + + 15365 + 1506 + 39 + 20 + + + 15386 + 1516 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + + + + + + 9c53bac0-ba66-40bd-8154-ce9829b9db1a + Colour Swatch + + + + + Colour (palette) swatch + a4cb34f8-00ec-4f18-a89f-9ca9b2eb4275 + Colour Swatch + Colour Swatch + false + 0 + + 255;0;116;166 + + + + + + + 15178 + 1568 + 102 + 20 + + + 15178.09 + 1568.107 + + + + + + + + + + 2e3ab970-8545-46bb-836c-1c11e5610bce + Integer + + + + + Contains a collection of integer numbers + 3ab4582e-7604-46b6-892f-a1ec58cb080e + Integer + 10000 + false + 0 + + + + + + 5337 + 1455 + 50 + 20 + + + 5362.87 + 1465.261 + + + + + + 1 + + + + + 1 + {0} + + + + + 10000 + + + + + + + + + + + + + 537b0419-bbc2-4ff4-bf08-afe526367b2c + Custom Preview + + + + + Allows for customized geometry previews + 9e043765-671a-4995-9c8c-d0668e8597d4 + Custom Preview + DIVISIONS + + + + + + + 15366 + 1641 + 70 + 60 + + + 15422 + 1671 + + + + + + Geometry to preview + true + 1ba76086-ba0f-411e-aff9-c6ba8ae0111f + Geometry + Geometry + false + fd46c549-b84d-40ee-b226-201278af25eb + 1 + + + + + + 15368 + 1643 + 39 + 28 + + + 15389 + 1657 + + + + + + + + The material override + 12f9251c-5be5-4f73-8ffc-4ab8ec168347 + Material + Material + false + 4d15c383-6a19-416b-b0dc-ddb3a31b0538 + 1 + + + + + + 15368 + 1671 + 39 + 28 + + + 15389 + 1685 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + + + + + + 9c53bac0-ba66-40bd-8154-ce9829b9db1a + Colour Swatch + + + + + Colour (palette) swatch + 4d15c383-6a19-416b-b0dc-ddb3a31b0538 + Colour Swatch + Colour Swatch + false + 0 + + 255;133;111;111 + + + + + + + 15181 + 1733 + 102 + 20 + + + 15181.8 + 1733.502 + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + aa21f320-a32d-4bab-bd91-8961904d3f38 + Curve + Curve + false + 0 + + + + + + -281 + 748 + 50 + 20 + + + -255.5602 + 758.575 + + + + + + 1 + + + + + 13 + {0} + + + + + -1 + ad62bc29-80f5-41c6-9b5d-19f62c714f67 + + + + + -1 + 866dcb47-e8fa-4444-9e02-064509845007 + + + + + -1 + 23202f04-8e72-40a4-b52c-f908c8c5c918 + + + + + -1 + 81668f56-0f4a-4a87-b315-d915b4437d2f + + + + + -1 + a2fabdf9-2b08-4bed-ab6f-15dd1b8e281a + + + + + -1 + e9969662-2e8e-4463-98f7-d163dc53f465 + + + + + -1 + 098b021f-6a88-485f-9d54-c8ba301c6e5b + + + + + -1 + 3cdb859a-4a80-41cd-833a-dc45470ae39f + + + + + -1 + 756e3a64-1dac-4d70-a7d3-b1f2acf4607e + + + + + -1 + 80d23e2a-2121-4eaf-a5d8-8232288ba0b1 + + + + + -1 + 97431a01-a39c-4460-8381-efafdacb21b5 + + + + + -1 + b5b3e5de-52fb-4241-92f9-a741cfd54ad8 + + + + + -1 + acff9099-5899-4d84-9557-088fa42ca92a + + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + 328c59ad-fd5a-4e23-916d-f2abccc68562 + Curve + Curve + false + 0 + + + + + + -277 + 775 + 50 + 20 + + + -251.7015 + 785.9149 + + + + + + 1 + + + + + 6 + {0} + + + + + -1 + 866dcb47-e8fa-4444-9e02-064509845007 + + + + + -1 + 23202f04-8e72-40a4-b52c-f908c8c5c918 + + + + + -1 + 81668f56-0f4a-4a87-b315-d915b4437d2f + + + + + -1 + b5b3e5de-52fb-4241-92f9-a741cfd54ad8 + + + + + -1 + 098b021f-6a88-485f-9d54-c8ba301c6e5b + + + + + -1 + 756e3a64-1dac-4d70-a7d3-b1f2acf4607e + + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + b66244f6-d0ac-4319-857f-62b576e13ec8 + Curve + Curve + false + 0 + + + + + + -277 + 801 + 50 + 20 + + + -251.0939 + 811.4487 + + + + + + 1 + + + + + 7 + {0} + + + + + -1 + ad62bc29-80f5-41c6-9b5d-19f62c714f67 + + + + + -1 + 3cdb859a-4a80-41cd-833a-dc45470ae39f + + + + + -1 + acff9099-5899-4d84-9557-088fa42ca92a + + + + + -1 + 97431a01-a39c-4460-8381-efafdacb21b5 + + + + + -1 + 80d23e2a-2121-4eaf-a5d8-8232288ba0b1 + + + + + -1 + e9969662-2e8e-4463-98f7-d163dc53f465 + + + + + -1 + a2fabdf9-2b08-4bed-ab6f-15dd1b8e281a + + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + 8b63541f-61e7-432b-91ab-209ceac1d4f6 + Curve + Curve + false + 0 + + + + + + -280 + 833 + 50 + 20 + + + -254.8215 + 843.485 + + + + + + 1 + + + + + 7 + {0} + + + + + -1 + 098b021f-6a88-485f-9d54-c8ba301c6e5b + + + + + -1 + 3cdb859a-4a80-41cd-833a-dc45470ae39f + + + + + -1 + 756e3a64-1dac-4d70-a7d3-b1f2acf4607e + + + + + -1 + 80d23e2a-2121-4eaf-a5d8-8232288ba0b1 + + + + + -1 + 97431a01-a39c-4460-8381-efafdacb21b5 + + + + + -1 + b5b3e5de-52fb-4241-92f9-a741cfd54ad8 + + + + + -1 + acff9099-5899-4d84-9557-088fa42ca92a + + + + + + + + + + + + + d5967b9f-e8ee-436b-a8ad-29fdcecf32d5 + Curve + + + + + Contains a collection of generic curves + 416c2381-62cc-4b9b-8199-c9c9bf9888b0 + Curve + Curve + false + 0 + + + + + + -280 + 867 + 50 + 20 + + + -254.9365 + 877.6887 + + + + + + 1 + + + + + 6 + {0} + + + + + -1 + ad62bc29-80f5-41c6-9b5d-19f62c714f67 + + + + + -1 + 866dcb47-e8fa-4444-9e02-064509845007 + + + + + -1 + 23202f04-8e72-40a4-b52c-f908c8c5c918 + + + + + -1 + 81668f56-0f4a-4a87-b315-d915b4437d2f + + + + + -1 + a2fabdf9-2b08-4bed-ab6f-15dd1b8e281a + + + + + -1 + e9969662-2e8e-4463-98f7-d163dc53f465 + + + + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + eaf38ca2-a03d-4b15-9b8c-af3ef6b18c61 + Panel + + false + 0.3333333432674408 + 0 + These Pie charts show relative numbers of plant species within garden beds and overall division of planting over entire site. + + + + + + 15485 + 2154 + 198 + 135 + + 0 + 0 + 0 + + 15485.85 + 2154.13 + + + + + + + 255;255;255;255 + + true + true + true + false + true + + + + + Courier New + 4 + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 940fc80d-3bc4-4317-a982-f5f16bee9863 + Line + Line + + + + + + 886 + 89 + 97 + 44 + + + 944 + 111 + + + + + + Line start point + 8acebf4e-aba8-4a71-9878-93ea5f7350f9 + Start Point + Start Point + false + a3c869ac-336e-4611-b9f8-4d3e62c1b022 + 1 + + + + + + 888 + 91 + 41 + 20 + + + 910 + 101 + + + + + + + + Line end point + e50c2e09-473e-4f4f-a3f1-8d1edaa65835 + End Point + End Point + false + f580bb87-b126-473b-ae5e-fa429593e2c6 + 1 + + + + + + 888 + 111 + 41 + 20 + + + 910 + 121 + + + + + + + + Line segment + a550651e-4d21-4f14-9df2-3365d033309a + Line + Line + false + 0 + + + + + + 959 + 91 + 22 + 40 + + + 970 + 111 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + 67e3c62e-f6c7-4fa7-9def-01427be4758e + Line + Line + + + + + + 2089 + 101 + 97 + 44 + + + 2147 + 123 + + + + + + Line start point + a22899db-670c-4d29-9d7b-2913e82ea8fe + Start Point + Start Point + false + 24c39290-f398-42f9-8660-6aa5fc3d25bf + 1 + + + + + + 2091 + 103 + 41 + 20 + + + 2113 + 113 + + + + + + + + Line end point + 49b82506-cc8e-4bad-bd3e-9cb85af75dfd + End Point + End Point + false + 29b4a616-4df4-408d-8e97-ab6270c45c03 + 1 + + + + + + 2091 + 123 + 41 + 20 + + + 2113 + 133 + + + + + + + + Line segment + a7734bbb-0cbc-4086-acfa-b20123acea58 + Line + Line + false + 0 + + + + + + 2162 + 103 + 22 + 40 + + + 2173 + 123 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + de97255b-14e3-470e-acca-b939d760d458 + Line + Line + + + + + + 3792 + 457 + 97 + 44 + + + 3850 + 479 + + + + + + Line start point + a74e13e8-3c50-49b0-9400-8a900b8eeb82 + Start Point + Start Point + false + df9f6c37-9d4e-43f2-8d2f-0f381df6f8b5 + 1 + + + + + + 3794 + 459 + 41 + 20 + + + 3816 + 469 + + + + + + + + Line end point + 1dea87ad-9188-42ac-bcc0-917d5dc28c3d + End Point + End Point + false + 8be1eefd-f54e-4b10-b6ab-792889f3739b + d303d504-be1e-403d-b4bb-c3d89b083a3e + 2 + + + + + + 3794 + 479 + 41 + 20 + + + 3816 + 489 + + + + + + + + Line segment + a0e75038-8bac-4137-8219-f0f34e2780da + Line + Line + false + 0 + + + + + + 3865 + 459 + 22 + 40 + + + 3876 + 479 + + + + + + + + + + + + 4c4e56eb-2f04-43f9-95a3-cc46a14f495a + Line + + + + + Create a line between two points. + true + b62acff4-ab00-4ba2-969b-b72b711d7ab6 + Line + Line + + + + + + 8555 + 1881 + 97 + 44 + + + 8613 + 1903 + + + + + + Line start point + 6bdcafef-e6ab-438a-b806-2841a9be9e38 + Start Point + Start Point + false + 5af3d797-3604-4257-bd14-13ca05195e54 + 1 + + + + + + 8557 + 1883 + 41 + 20 + + + 8579 + 1893 + + + + + + + + Line end point + 653ce7b1-6baa-4572-9cb2-97c736179644 + End Point + End Point + false + 9c41541e-d201-4fae-93c4-0c77bce96619 + 1 + + + + + + 8557 + 1903 + 41 + 20 + + + 8579 + 1913 + + + + + + + + Line segment + 9a42fea6-5f41-4485-87f6-d2c7f44e3430 + Line + Line + false + 0 + + + + + + 8628 + 1883 + 22 + 40 + + + 8639 + 1903 + + + + + + + + + + + + 8529dbdf-9b6f-42e9-8e1f-c7a2bde56a70 + Line + + + + + Contains a collection of line segments + true + 60c3ed50-1eec-43f4-8aef-8532e7b05d73 + Line + Line + false + a0e75038-8bac-4137-8219-f0f34e2780da + 9a42fea6-5f41-4485-87f6-d2c7f44e3430 + a7734bbb-0cbc-4086-acfa-b20123acea58 + a550651e-4d21-4f14-9df2-3365d033309a + 4 + + + + + + 9876 + 228 + 50 + 20 + + + 9901.038 + 238.1545 + + + + + + + + + + 537b0419-bbc2-4ff4-bf08-afe526367b2c + Custom Preview + + + + + Allows for customized geometry previews + 6c87a3a1-99cc-423c-8c97-ca1974ffde88 + Custom Preview + PULL DIRECTIONS + + + + + + + 15363 + 1334 + 70 + 99 + + + 15419 + 1384 + + + + + + Geometry to preview + true + 9cfe45a9-b2e5-4dd7-8414-1054d4f789c4 + Geometry + Geometry + false + 60c3ed50-1eec-43f4-8aef-8532e7b05d73 + 1 + + + + + + 15365 + 1336 + 39 + 47 + + + 15386 + 1359.75 + + + + + + + + The material override + 31f22c66-e4c7-4ffc-a341-1e95eab759d3 + Material + Material + false + 2bcdc7bc-7d8f-4991-8f17-cfe0f9921a32 + 1 + + + + + + 15365 + 1383 + 39 + 48 + + + 15386 + 1407.25 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + + + + + + 9c53bac0-ba66-40bd-8154-ce9829b9db1a + Colour Swatch + + + + + Colour (palette) swatch + 2bcdc7bc-7d8f-4991-8f17-cfe0f9921a32 + Colour Swatch + Colour Swatch + false + 0 + + 255;189;189;189 + + + + + + + 15178 + 1432 + 102 + 20 + + + 15178.08 + 1432.45 + + + + + + + + + + 537b0419-bbc2-4ff4-bf08-afe526367b2c + Custom Preview + + + + + Allows for customized geometry previews + aa90a885-a93c-4726-ad83-1dd8d113c04d + Custom Preview + PATH OUTLINE + + + + + + + 15360 + 1137 + 70 + 82 + + + 15416 + 1178 + + + + + + Geometry to preview + true + eb4e9cdd-0fe9-4d66-94cb-56e890efdaa5 + Geometry + Geometry + false + 5c6d4ce0-168f-4620-be0c-a5985d3827eb + 1 + + + + + + 15362 + 1139 + 39 + 39 + + + 15383 + 1158.5 + + + + + + + + The material override + 0311d40a-6b07-472b-80a1-857c259bd603 + Material + Material + false + 9b54496a-8a82-45de-911f-163eddbc0106 + 1 + + + + + + 15362 + 1178 + 39 + 39 + + + 15383 + 1197.5 + + + + + + 1 + + + + + 1 + {0} + + + + + + + + + + + + + 9c53bac0-ba66-40bd-8154-ce9829b9db1a + Colour Swatch + + + + + Colour (palette) swatch + 9b54496a-8a82-45de-911f-163eddbc0106 + Colour Swatch + Colour Swatch + false + 0 + + 255;0;242;65 + + + + + + + 15166 + 1291 + 102 + 20 + + + 15166.49 + 1291.899 + + + + + + + + + + c552a431-af5b-46a9-a8a4-0fcbc27ef596 + Group + + + + + 1 + + 200;255;141;101 + + A group of Grasshopper objects + b0f5b0bd-dfc8-4190-a39b-a272673c3de7 + e917f83d-305e-40ab-a012-f9239e4e108c + 2 + d5d1bffa-41ba-49aa-b7e8-1c4ef8fdb15f + Group + + + + + + + + + + + 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe + Scribble + + + + + false + + -276.5431 + -272.4138 + + + -52.26767 + -272.4138 + + + -52.26767 + -251.7781 + + + -276.5431 + -251.7781 + + A quick note + Microsoft Sans Serif + b0f5b0bd-dfc8-4190-a39b-a272673c3de7 + false + Scribble + Scribble + 22 + Groundhog Project File + + + + + + + + -281.5431 + -277.4138 + 234.2754 + 30.63574 + + + -276.5431 + -272.4138 + + + + + + + + + + 59e0b89a-e487-49f8-bab8-b5bab16be14c + Panel + + + + + A panel for custom notes and text values + e917f83d-305e-40ab-a012-f9239e4e108c + Panel + + false + 0 + 0 + Definition prepared for Groundhog v0.9.1b and depends on components from that plugin. It is available for download at http://groundhog.la/ + +Contact groundhog@philipbelesky.com for support or feedback. + +This 3dm/gha files are a part of that plugin's documentation. + +This definition is licensed under the terms of the GPL v3 https://opensource.org/licenses/GPL-3.0 + + + + + + -279 + -233 + 264 + 217 + + 0 + 0 + 0 + + -278.7156 + -232.2609 + + + + + + 1 + + 255;245;245;245 + + true + true + true + false + true + + + + + Microsoft Sans Serif + 8 + + + + + + + + + + + + + + + + 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 + + + + + \ No newline at end of file diff --git a/projects/south-park/Groundhog - South Park_embedded_files/South+Park+-+Site+Plan+Final-11x17.jpg b/projects/south-park/Groundhog - South Park_embedded_files/South+Park+-+Site+Plan+Final-11x17.jpg new file mode 100644 index 00000000..36744ecb Binary files /dev/null and b/projects/south-park/Groundhog - South Park_embedded_files/South+Park+-+Site+Plan+Final-11x17.jpg differ diff --git a/projects/south-park/Groundhog - South Park_embedded_files/baseplan.png b/projects/south-park/Groundhog - South Park_embedded_files/baseplan.png new file mode 100644 index 00000000..a477a0e7 Binary files /dev/null and b/projects/south-park/Groundhog - South Park_embedded_files/baseplan.png differ diff --git a/projects/south-park/Groundhog - South Park_embedded_files/g-earth.png b/projects/south-park/Groundhog - South Park_embedded_files/g-earth.png new file mode 100644 index 00000000..e6109734 Binary files /dev/null and b/projects/south-park/Groundhog - South Park_embedded_files/g-earth.png differ diff --git a/projects/south-park/Groundhog - South Park_embedded_files/orientation.png b/projects/south-park/Groundhog - South Park_embedded_files/orientation.png new file mode 100644 index 00000000..bd7b105f Binary files /dev/null and b/projects/south-park/Groundhog - South Park_embedded_files/orientation.png differ diff --git a/site/.python-version b/site/.python-version index 0f44168a..9575d51b 100644 --- a/site/.python-version +++ b/site/.python-version @@ -1 +1 @@ -3.6.4 +3.6.1 diff --git a/site/.ruby-version b/site/.ruby-version index 73462a5a..437459cd 100644 --- a/site/.ruby-version +++ b/site/.ruby-version @@ -1 +1 @@ -2.5.1 +2.5.0 diff --git a/site/Gemfile b/site/Gemfile index fbf2f76b..4286891e 100644 --- a/site/Gemfile +++ b/site/Gemfile @@ -1,16 +1,18 @@ source "https://rubygems.org" -gem "jekyll", "3.8.3" +gem "jekyll", "3.8.5" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] # Plugins gem "jekyll-assets", group: :jekyll_plugins -gem "jekyll-feed", group: :jekyll_plugins gem "jekyll-pandoc", group: :jekyll_plugins -gem "jekyll-sitemap", group: :jekyll_plugins -gem "jekyll-tidy", group: :jekyll_plugins + +# Plugins only for production +gem "jekyll-feed" +gem "jekyll-sitemap" +gem "jekyll-tidy" # Assets gem "mini_magick" @@ -18,4 +20,7 @@ gem "image_optim" gem "image_optim_pack" # For Deployment -gem 's3_website' \ No newline at end of file +gem 's3_website' + +# For Travis +gem 'html-proofer' diff --git a/site/Gemfile.lock b/site/Gemfile.lock index 5eaa17af..fd757634 100644 --- a/site/Gemfile.lock +++ b/site/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (5.2.0) + activesupport (5.2.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -18,7 +18,8 @@ GEM aws-sigv4 (1.0.3) colorator (1.1.0) colored (1.2) - concurrent-ruby (1.0.5) + colorize (0.8.1) + concurrent-ruby (1.1.3) configure-s3-website (2.3.0) aws-sdk (~> 2) deep_merge (~> 1.0.0) @@ -27,32 +28,43 @@ GEM em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) + ethon (0.11.0) + ffi (>= 1.3.0) eventmachine (1.2.7) execjs (2.7.0) exifr (1.3.4) extras (0.3.0) forwardable-extended (~> 2.5) - fastimage (2.1.3) + fastimage (2.1.4) ffi (1.9.25) forwardable-extended (2.6.0) fspath (3.1.0) + html-proofer (3.9.2) + activesupport (>= 4.2, < 6.0) + addressable (~> 2.3) + colorize (~> 0.8) + mercenary (~> 0.3.2) + nokogiri (~> 1.8.1) + parallel (~> 1.3) + typhoeus (~> 1.3) + yell (~> 2.0) htmlbeautifier (1.3.1) htmlcompressor (0.4.0) http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - image_optim (0.26.1) + image_optim (0.26.3) exifr (~> 1.2, >= 1.2.2) fspath (~> 3.0) - image_size (~> 1.5) + image_size (>= 1.5, < 3) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) image_optim_pack (0.5.1) fspath (>= 2.1, < 4) image_optim (~> 0.19) - image_size (1.5.0) + image_size (2.0.0) in_threads (1.5.0) - jekyll (3.8.3) + jekyll (3.8.5) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -65,7 +77,7 @@ GEM pathutil (~> 0.9) rouge (>= 1.7, < 4) safe_yaml (~> 1.0) - jekyll-assets (3.0.11) + jekyll-assets (3.0.12) activesupport (~> 5.0) execjs (~> 2.7) extras (~> 0.2) @@ -76,7 +88,7 @@ GEM nokogiri (~> 1.8) pathutil (~> 0.16) sprockets (>= 3.3, < 4.1.beta) - jekyll-feed (0.10.0) + jekyll-feed (0.11.0) jekyll (~> 3.3) jekyll-pandoc (2.0.1) jekyll (>= 3.0) @@ -91,11 +103,11 @@ GEM htmlbeautifier htmlcompressor jekyll - jekyll-watch (2.0.0) + jekyll-watch (2.1.2) listen (~> 3.0) jmespath (1.4.0) kramdown (1.17.0) - liquid (4.0.0) + liquid (4.0.1) liquid-tag-parser (1.9.0) extras (~> 0.3) liquid (>= 3.0, < 5.0) @@ -104,21 +116,22 @@ GEM rb-inotify (~> 0.9, >= 0.9.7) ruby_dep (~> 1.2) mercenary (0.3.6) - mini_magick (4.8.0) + mini_magick (4.9.2) mini_portile2 (2.3.0) minitest (5.11.3) - nokogiri (1.8.3) + nokogiri (1.8.5) mini_portile2 (~> 2.3.0) pandoc-ruby (2.0.2) - pathutil (0.16.1) + parallel (1.12.1) + pathutil (0.16.2) forwardable-extended (~> 2.6) progress (3.4.0) - public_suffix (3.0.2) - rack (2.0.5) + public_suffix (3.0.3) + rack (2.0.6) rb-fsevent (0.10.3) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) - rouge (3.1.1) + rouge (3.3.0) ruby_dep (1.5.0) s3_website (3.4.0) colored (= 1.2) @@ -126,7 +139,7 @@ GEM dotenv (~> 1.0) thor (~> 0.18) safe_yaml (1.0.4) - sass (3.5.6) + sass (3.7.2) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) @@ -136,16 +149,20 @@ GEM rack (> 1, < 3) thor (0.20.0) thread_safe (0.3.6) + typhoeus (1.3.0) + ethon (>= 0.9.0) tzinfo (1.2.5) thread_safe (~> 0.1) + yell (2.0.7) PLATFORMS ruby DEPENDENCIES + html-proofer image_optim image_optim_pack - jekyll (= 3.8.3) + jekyll (= 3.8.5) jekyll-assets jekyll-feed jekyll-pandoc @@ -156,4 +173,4 @@ DEPENDENCIES tzinfo-data BUNDLED WITH - 1.16.2 + 1.16.3 diff --git a/site/README.md b/site/README.md index 4908ee38..090fe6f8 100644 --- a/site/README.md +++ b/site/README.md @@ -24,6 +24,10 @@ To start a local copy of the website, use: Then open `http://localhost:4000/`. If using a [Livereload plugin](https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei?hl=en) changes to files (layout; markdown; css; etc) should trigger browser updates live. +## Staging + +Staging copy of the site is built by Travis and deployed to [Github Pages](http://philipbelesky.github.io/groundhog/) + ## Deploying Note the `compile.sh` script handles compiling JSON representations of components and zipping/shifting the necessary files over to the `_site` for publishing. This is run when building Jekyll for deployment: @@ -38,4 +42,4 @@ This is packaged together in npm run publish -Note that credentials are stored in environment variables; i.e. a `.env` file in this directory. \ No newline at end of file +Note that credentials are stored in environment variables; i.e. a `.env` file in this directory. diff --git a/site/_config.yml b/site/_config.yml index db023841..87bfe293 100644 --- a/site/_config.yml +++ b/site/_config.yml @@ -15,30 +15,23 @@ # in the templates via {{ site.myvariable }}. title: Groundhog email: groundhog@philipbelesky.com -description: is a Grasshopper plugin, a set of reference models, and wiki exploring the applications of computational design in landscape architecture. -baseurl: "" # the subpath of your site, e.g. /blog -url: "http://groundhog.la" # the base hostname & protocol for your site, e.g. http://example.com +description: a Grasshopper plugin and wiki exploring the applications of computational design in landscape architecture. + # Build settings -livereload: true markdown: Pandoc plugins: - - jekyll-feed - jekyll-pandoc - - jekyll-sitemap - - jekyll-tidy + - jekyll-sitemap # Part of html-proofer tests pandoc: extensions: - csl: "./assets/style.csl" - bibliography: "./assets/cites.bib" -google_analytics: UA-314178-30 +permalink: pretty # Ditch the .html suffix for links -# Configuration -permalink: pretty # Ditch the .html sass: sass_dir: assets - style: compressed # Custom types collections: @@ -79,12 +72,7 @@ defaults: values: layout: post -jekyll_tidy: - # exclude: ["index.html"] - compress_html: false - ignore_env: false - -# Jekyll-Assets management +# Shared assets setup assets: sources: - assets/documentation @@ -106,11 +94,6 @@ assets: jhead: false jpegtran: false svgo: false - jpegrecompress: - allow_lossy: true - quality: 1 - pngquant: - allow_lossy: true # The following items will not be processed, by default. Create a custom list # to override the default setting. @@ -127,3 +110,4 @@ exclude: - compile.sh - style.csl - npm-debug.log + - vendor # Exclude gem file on travis diff --git a/site/_config_dev.yml b/site/_config_dev.yml new file mode 100644 index 00000000..ade992e9 --- /dev/null +++ b/site/_config_dev.yml @@ -0,0 +1,28 @@ +# For local development; disable assets and sets up live reloading etc + +environment: development + +baseurl: "" # the subpath of your site, e.g. /blog +url: "" # the base hostname & protocol for your site, e.g. http://example.com + +host: 0.0.0.0 +port: 4002 + +incremental: true +livereload: true + +sass: + style: expanded + +# For development skip compilation of assets +assets: + raw_precompile: + - "*.png" + - "*.jpg" + - "*.jpeg" + plugins: + img: + optim: # The preset used by @optim tag; disable those used for production + default: + jpegrecompress: false + pngquant: false diff --git a/site/_config_gh.yml b/site/_config_gh.yml new file mode 100644 index 00000000..a3d96fbe --- /dev/null +++ b/site/_config_gh.yml @@ -0,0 +1,19 @@ +# For Github pages; just sets the configuration variables to the required URL + +environment: development + +baseurl: "/groundhog" +url: "" + +# For development skip compilation of assets +assets: + raw_precompile: + - "*.png" + - "*.jpg" + - "*.jpeg" + plugins: + img: + optim: # The preset used by @optim tag; disable those used for production + default: + jpegrecompress: false + pngquant: false diff --git a/site/_config_prod.yml b/site/_config_prod.yml new file mode 100644 index 00000000..cc84d232 --- /dev/null +++ b/site/_config_prod.yml @@ -0,0 +1,29 @@ +environment: production + +baseurl: "" # the subpath of your site, e.g. /blog +url: "http://groundhog.la" # the base hostname & protocol for your site, e.g. http://example.com + +jekyll_tidy: + compress_html: false + +plugins: + - jekyll-feed + - jekyll-tidy + +sass: + style: compressed + +# Jekyll-Assets management +assets: + plugins: + img: + optim: # The preset used by @optim tag + default: + jpegrecompress: + allow_lossy: true + quality: 1 + pngquant: + allow_lossy: true + +google_analytics: UA-314178-30 + diff --git a/site/_documentation/channels.md b/site/_documentation/channels.md new file mode 100644 index 00000000..49daba40 --- /dev/null +++ b/site/_documentation/channels.md @@ -0,0 +1,25 @@ +--- +title: Channels +excerpt: Components for deriving and analysing water flows within a sectional profile. +date: 18-07-31 +files: true +files_text: model and definition that demonstrating the use of these components +thumbnail: thumbnail.jpg +published: false +--- + +- Introduction to general hydraulic principles +- Describe process for deriving level from flow quantity; noting not that water does not strictly follow this process (i.e. settling effects) + +{% include elements/component.html title='ChannelRegion' %} + +- Description of the calculated attributes and their meaning/purpose +- More detailed discussion of manning formula and link to predefined values for channel materials (noting the uncertainty involved in using them) + +{% include elements/component.html title='ChannelInfo' %} + +- Discussion of applications to design + +{% include elements/figure.html image='channels/model.jpg' alt='Images of the channel tool applied to various geometries' %} + +{% include elements/figure.html image='channels/definition.jpg' caption='Grasshopper definition demonstrating how to use the channel region and channel profile components.' credit='Philip Belesky, for http://groundhog.la' %} diff --git a/site/_documentation/flows.md b/site/_documentation/flows.md index 43c758ab..d03a8cd1 100644 --- a/site/_documentation/flows.md +++ b/site/_documentation/flows.md @@ -9,9 +9,9 @@ thumbnail: thumbnail.jpg {% include elements/figure.html image='flows/1.jpg' caption='Surface water flow paths across a littoral region' credit='Image via Philip Belesky for the "Processes and Processors" project (http://philipbelesky.com/projects/processes-and-processors/)' %} -The "flows" components create naïve projections or simulation of surface water flows and provide further means to analyse the results of this calculation. The key component — the `FlowPath` accepts a series of 'drop points' on a `Surface` or `Mesh` that become the starting locations of each hypothetical flow path. From there, each point samples the surface or mesh to determine its slope, which becomes a directing vector (i.e. one that points 'downhill'). Each point is then moved along this vector a pre-specified distance, forming a line. The end of this line part then becomes the starting point for the next direction; creating a recursive process where flow paths assemble themselves as `Polylines` that grow through this series of descending jumps. +The "flows" components create naïve projections or simulations of surface water flows and provide further means to analyse the results of these calculations. The key component — the `FlowPath` accepts a series of 'drop points' on a `Surface` or `Mesh` that become the starting locations of each hypothetical flow path. From there, each point samples the surface or mesh to determine its slope, which becomes a directing vector (i.e. one that points 'downhill'). Each point is then moved along this vector a pre-specified distance, forming a line. The end of this line part then becomes the starting point for the next direction; creating a recursive process where flow paths assemble themselves as `Polylines` that grow through this series of descending jumps. -This 'gradient descent' process repeats until a path crosses the edge of the form, after a specified quantity of iterations, or until the algorithm determines that the path has reached a point without a viable further downhill path. This halting calculation aims to identify 'basin' where water might collect and pool rather than continue to flow downhill. The component then produces as an output a series of `Polylines`, from which the beginnings, ends, and individual segments can be readily extracted. The process provides degrees of flexibility. By accepting any given set of `Points` (rather than enforcing a spatial grid or other formation) it offers the ability to work across a number of contexts, from situations where you may want to simulate a uniform distribution (say rain) or just a particular point-source of water. +This 'gradient descent' process repeats until a path crosses the edge of the form, after a specified quantity of iterations, or until the algorithm determines that the path has reached a point without a viable further downhill path. This halting calculation aims to identify a 'basin' where water might collect and pool rather than continue to flow downhill. The component then produces as an output a series of `Polylines`, from which the beginnings, ends, and individual segments can be readily extracted. The process provides degrees of flexibility. By accepting any given set of `Points` (rather than enforcing a spatial grid or other formation) it offers the ability to work across a number of contexts, from situations where you may want to simulate a uniform distribution (say rain) or just a particular point-source of water. The `FlowPath` component takes two forms a `SurfaceFlowPath` and a `MeshFlowPath` depending on the geometric type of the 'landscape' you want to test. @@ -24,6 +24,6 @@ The first component for this is `FlowCatchment`. It uses the collection of flow {% include elements/component.html title='FlowCatchment' %} -{% include elements/figure.html image='flows/model.jpg' %} +{% include elements/figure.html image='flows/model.jpg' alt='Image of the flows component used across two hypothetical landforms' %} {% include elements/figure.html image='flows/definition.jpg' caption='Grasshopper definition demonstrating how to use the flow and catchment analysis for Surface and Mesh form.' credit='Philip Belesky, for http://groundhog.la' %} diff --git a/site/_documentation/paths.md b/site/_documentation/paths.md new file mode 100644 index 00000000..147f90b7 --- /dev/null +++ b/site/_documentation/paths.md @@ -0,0 +1,26 @@ +--- +title: Paths +excerpt: Components for ... +date: 18-07-31 +files: true +files_text: model and definition that demonstrating the use of these components +thumbnail: false +published: false +--- + +- Introduction to general hydraulic principles +- Describe process for deriving level from flow quantity; noting not that water does not strictly follow this process (i.e. settling effects) + + + +- Description of topology / shortest path algorithm + + + +- Description of random path component +- Note link to ecologist's behavioural models +- Discussion of uses within design process + - Understanding connectivity across a landscape/city etc + - Understanding more abstracted 'connections' — i.e. river systems + - Random path as useful for things like seed scattering etc + diff --git a/site/_documentation/plants.md b/site/_documentation/plants.md index 13172bf0..fbb26333 100644 --- a/site/_documentation/plants.md +++ b/site/_documentation/plants.md @@ -7,9 +7,9 @@ files_text: model and definition that demonstrating the use of these components thumbnail: thumbnail.jpg --- -If considered just in terms of their CAD representation, planting design appears to be an exercise in arranging circles. Some circles are smaller or larger, brighter or duller; more round or more frayed. But, removing the metadata that are the sprites, colours, and labels, we start and end with a representation of a particular species' dimensions at maturity: a disc. +If considered just in terms of its CAD representation, planting design appears to be an exercise in arranging circles. Some circles are smaller or larger, brighter or duller; more round or more frayed. But, removing the metadata that are the sprites, colours, and labels, we start and end with a representation of a particular species' dimensions at maturity: a disc. -It is regrettable that in both digital and analogue mediums the typical representations used poorly reflect their subject matter. Depictions of vegetation are rarely spatially explicit, and often rely on fixed and idealised averages that do not reflect the general nature, or the actual reality, of specific species.[@Elkin:2017ee 60-61][@Raxworthy:2013wa 113] A plan, once planted, will reach the 'mature' state it depicts after years if not decades. This mature state itself is itself an abstraction, as each plant's dimensions vary according to the localised condition that propel or constrain individual growth and are typically altered through ongoing maintenance regimes +It is regrettable that in both digital and analogue mediums the typical representations used poorly reflect their subject matter. Depictions of vegetation are rarely spatially explicit, and often rely on fixed and idealised averages that do not reflect the general nature, or the actual reality, of specific species.[@Elkin:2017 60-61][@Raxworthy:2013 113] A plan, once planted, will reach the 'mature' state it depicts after years if not decades. This mature state is itself an abstraction, as each plant's dimensions vary according to the localised conditions that propel or constrain individual growth and are typically altered through ongoing maintenance regimes. {% include elements/figure.html image='plants/1.jpg' caption='Parametric methods of planting design can manage vast quantities of individual species distributed across a site and evaluate how they change over time.' credit='Philip Belesky, for http://groundhog.la' %} @@ -17,9 +17,9 @@ While many options exist for visualising planting plans with a high degree of fi However the lack of 'accurate' models restricts those earlier stages of the design process, if working in orthographic projections, to the most abstracted versions of a planting plan. This constricts the design potential for vegetated elements in a design, both in terms of their broad visual character, but also in terms of any performance metrics available. Particularly important is the nature of plants as one of the most clearly-evolving elements of a landscape, where growth heavily effects the aesthetics of a space, and so must be planned across different time periods if the space is to be successful before each plant reaches maturity. -Several components in the Groundhog plugin work in conjunction to explore how some aspects of planting design can be eased, or approached differently, using parametric methods. To do so, it augments traditional forms of representations (points and circles) with metadata that describes that spatial and performance characteristics of a particular species. These attributes can then be used to inform both the locations of the plants in an automated manner, or be used as analytic tools for better understand how a given plant distribution performs according to specific criteria or over a particular time period. +Several components in the Groundhog plugin work in conjunction to explore how some aspects of planting design can be eased, or approached differently, using parametric methods. To do so, it augments traditional forms of representations (points and circles) with metadata that describes the spatial and performance characteristics of a particular species. These attributes can then be used to inform both the locations of the plants in an automated manner, or be used as analytic tools for better understand how a given plant distribution performs according to specific criteria or over a particular time period. -Its primary input in establishing species attributes is as a spreadsheet; namely namely a CSV file with tables of information that are then read-in to Grasshopper. It contains a number of 'core' and optional parameters for each species that are needed to (later) produce a minimum-viable depiction of species typical geometry. These values (and example species) are available in the `Groundhog - Plants Examples.csv` file within the demo files attached to this post. This spreadsheet also provides option for extensibility, where arbitrary values can be added according to particular design intents, such as a value representing phytoremediation potential, or wind breaking potential, etc. +Its primary input in establishing species attributes is as a spreadsheet; namely namely a CSV file with tables of information that are then read-in to Grasshopper. It contains a number of 'core' and optional parameters for each species that are needed to (later) produce a minimum-viable depiction of species typical geometry. These values (and example species) are available in the `Groundhog - Plants Examples.csv` file within the demo files attached to this post. This spreadsheet also provides an option for extensibility, where arbitrary values can be added according to particular design intents, such as a value representing phytoremediation potential, or wind breaking potential, etc. {% include elements/component.html title='PImport' %} @@ -31,12 +31,12 @@ Regardless of which component is used the result is a simple textual representat The next step is related to how plants are distributed across space. This process can proceed using a number of different methods, given the varying relationships between spatial condition and species attributes that drive different patterns of distribution. At its most simple, the distributor can take a given series of spatial points, developed in Rhinoceros or in Grasshopper, where pre-existing tools allow for common patterns such as grid or radial patterns, as well as more complex options, such as where planter elements are defined elsewhere in the design and planting locations depend directly on these geometries. -Once a location (in the form of a `Point`) has been generated for each instance of a species (in the form of the list) these can be fed into the `Appearance` component. This then allows for key geometric features of each individual plant to be projected at a particular point in time. At present these visualisation methods are limited to basic circular depictions for criteria such as heights or trunks, root, and canopy radii. While offered as flat linework, many existing grasshopper tools can be used to give them volume but filling in interior values, such as when returning canopy circles into spheres can be used to test shading or trunk circles into cylinders to check visual occlusion. +Once a location (in the form of a `Point`) has been generated for each instance of a species (in the form of the list) these can be fed into the `Appearance` component. This then allows for key geometric features of each individual plant to be projected at a particular point in time. At present these visualisation methods are limited to basic circular depictions for criteria such as heights or trunks, root, and canopy radii. While offered as flat linework, many existing grasshopper tools can be used to give them volume by filling-in interior values. For instance, the circles that represent canopies can be transformed into spheres that can then test simple shading effects. {% include elements/component.html title='PShower' %} -While the components are relatively simple here in their calculations (especially given the currently-released set of components available) their value is in enabling quantitative criteria to be more easily used in designing and assessing vegetation distributions. The tripartite attribute/placement/simulation stages have emerged from extensive iteration in testing how to best support planting design workflows by best allowing each task to easily interface with the existing methods of generation and analysis available in Grasshopper. +While the components are relatively simple here in their calculations, (especially given the currently-released set of components available) their value is in enabling quantitative criteria to be more easily used in designing and assessing vegetation distributions. The tripartite attribute/placement/simulation stages have emerged from extensive iteration in testing how to best support planting design workflows by best allowing each task to easily interface with the existing methods of generation and analysis available in Grasshopper. {% include elements/figure.html image='plants/definition.jpg' caption='Grasshopper definition demonstrating how to select particular species, place them, and simulate basic growth characteristics.' credit='Philip Belesky, for http://groundhog.la' %} -> ***Coming Soon**: further components that allow for more naturalistic or performance-based planting distribution and 3D visualisation methods.* \ No newline at end of file +> ***Coming Soon**: further components that allow for more naturalistic or performance-based planting distribution and 3D visualisation methods.* diff --git a/site/_documentation/terrain.md b/site/_documentation/terrain.md index bfb3f2eb..19dff71d 100644 --- a/site/_documentation/terrain.md +++ b/site/_documentation/terrain.md @@ -9,7 +9,7 @@ thumbnail: thumbnail.jpg Topography is heterogeneous in a more complex manner than contours or a 3D visualisation often suggest. Different and seemingly-similar areas of landform can posses quite distinct characteristics depending on relatively small variations in their grading and wider position within the landscape. 3D models in particular often make it difficult to determine or apprehend these characteristics of digital terrain models given the artificial manner in which they are rendered. -Groundhog provides a number of components for measuring particular characteristics of a given landform. However its worth noting that, as above, such tools for classifying topographic features are only as good as their underpinning 3D representations. Representing landform as (say) either a `Mesh` or a `Surface` has different trade-offs in terms of the different types of accuracy and level of detailed offered. +Groundhog provides a number of components for measuring particular characteristics of a given landform. However its worth noting that, as above, such tools for classifying topographic features are only as good as their underpinning 3D representations. Representing a landform as (say) either a `Mesh` or a `Surface` has different trade-offs in terms of the different types of accuracy and level of detail offered. {% include elements/figure.html image='terrain/1.png' caption="Visualisations of slope analysis across a mesh, showing each face's grade as a vector, fill, and label" credit='Philip Belesky, for http://groundhog.la' %} @@ -21,7 +21,7 @@ The aspect analysis component operates in a similar fashion but measures the fac {% include elements/component.html title='MeshAspect' %} -Each component calculates the specified values but does not visualise them in the model itself. For visualisation purposes you will typically want to assign the range of slope or aspect values to a colour using the `Gradient` component then use a `Preview` component to apply these colours to each individual mesh face. The reference definition provided at the top of this page shows an example of this process and several other visualisation options. +Each component calculates the specified values but does not visualise them in the model itself. For visualisation purposes you will typically want to assign the range of slope or aspect values to a colour using the `Gradient` component and then use a `Preview` component to apply these colours to each individual mesh face. The reference definition provided at the top of this page shows an example of this process and several other visualisation options. Components are provided (as a convenience) for employing the same analytics on a `Surface` rather than a `Mesh` although note that the former will be converted to the latter during the calculation. diff --git a/site/_includes/elements/component.html b/site/_includes/elements/component.html index e1e642e9..93cdc7f3 100644 --- a/site/_includes/elements/component.html +++ b/site/_includes/elements/component.html @@ -29,7 +29,7 @@
Icon
-
+
Icon for the {{ component.nickname }} component
@@ -75,4 +75,4 @@ - \ No newline at end of file + diff --git a/site/_includes/elements/download.html b/site/_includes/elements/download.html index 72b3e320..aa5be412 100644 --- a/site/_includes/elements/download.html +++ b/site/_includes/elements/download.html @@ -8,10 +8,10 @@
-Download the latest version (0.9.1b). Installation instructions are provided in the README file. +Download the latest version (0.10.0b). Installation instructions are provided in the README file.
- \ No newline at end of file + diff --git a/site/_includes/elements/figure.html b/site/_includes/elements/figure.html index 24254990..efbd266b 100644 --- a/site/_includes/elements/figure.html +++ b/site/_includes/elements/figure.html @@ -12,7 +12,7 @@ (max-width: 1408px) 92vw, 2600w" src="{{ default }}" - alt="{{ include.caption }}" width="100%" + alt="{%- if include.alt -%}{{ include.alt }}{%- else %}{{ include.caption }}{%- endif -%}" width="100%" > {%- if include.caption or include.credit -%} @@ -21,4 +21,4 @@ {% if include.credit %}{{ include.credit }}{% endif %} {%- endif -%} - \ No newline at end of file + diff --git a/site/_includes/elements/files.html b/site/_includes/elements/files.html index b4023d78..7b30d7db 100644 --- a/site/_includes/elements/files.html +++ b/site/_includes/elements/files.html @@ -10,7 +10,7 @@
- The associated {{ page.files_text }} can be downloaded here. You will need to have installed the Groundhog plugin for the definition to work properly. + The associated {{ page.files_text }} can be downloaded here. You will need to have installed the Groundhog plugin for the definition to work properly.
diff --git a/site/_includes/structural/head.html b/site/_includes/structural/head.html index c520e8f2..4b246cf2 100644 --- a/site/_includes/structural/head.html +++ b/site/_includes/structural/head.html @@ -7,18 +7,20 @@ {{ site.title | escape }} - {% if page.meta %}{{ page.meta | escape }}{% else %}{{ page.title | escape }}{% endif %} - - - + + + - - - {%- if jekyll.environment == 'production' and site.google_analytics -%} + + {%- if site.environment == 'production' and site.google_analytics -%} + {%- include google-analytics.html -%} + {% else %} + {% endif %} - \ No newline at end of file + diff --git a/site/_includes/structural/menu.html b/site/_includes/structural/menu.html index 28cda6c1..d0874d8f 100644 --- a/site/_includes/structural/menu.html +++ b/site/_includes/structural/menu.html @@ -3,8 +3,8 @@