Skip to main content

Embed Rhino in CPython

Project description

rhinoinside python package

Embed Rhino in CPython

pip install --user rhinoinside

Requirements:

  • Rhino 7
  • Windows
  • 64 bit version of CPython (2.7, 3.5, 3.6, 3.7, 3.8)

Join the discussion

https://discourse.mcneel.com/t/rhino-inside-python/78987

How to use

import rhinoinside
rhinoinside.load()    # this will load rhino 7 on dotnet framework (net48)
import System
import Rhino

# for now, you need to explicitly use floating point
# numbers in Point3d constructor
pts = System.Collections.Generic.List[Rhino.Geometry.Point3d]()
pts.Add(Rhino.Geometry.Point3d(0.0,0.0,0.0))
pts.Add(Rhino.Geometry.Point3d(1.0,0.0,0.0))
pts.Add(Rhino.Geometry.Point3d(1.5,2.0,0.0))

crv = Rhino.Geometry.Curve.CreateInterpolatedCurve(pts,3)
print (crv.GetLength())

You can pass arguments to the .load() function to start a different version of rhino on a specific dotnet framework

# Loading Rhino 7
rhinoinside.load(7) # defaults to net48
rhinoinside.load(7, 'net48')
rhinoinside.load(r"C:\Program Files\Rhino 7\System") # defaults to net48
rhinoinside.load(r"C:\Program Files\Rhino 7\System", 'net48')

# Loading Rhino 8
rhinoinside.load(8) # defaults to net48
rhinoinside.load(8, 'net48')
rhinoinside.load(8, 'net7.0')
rhinoinside.load(8, 'net8.0')
rhinoinside.load(r"C:\Program Files\Rhino 8\System") # defaults to net48
rhinoinside.load(r"C:\Program Files\Rhino 8\System", 'net48')
rhinoinside.load(r"C:\Program Files\Rhino 8\System", 'net7.0')
rhinoinside.load(r"C:\Program Files\Rhino 8\System", 'net8.0')

# Loading Rhino 9
rhinoinside.load(9) # defaults to net48
rhinoinside.load(9, 'net48')
rhinoinside.load(9, 'net9.0')
rhinoinside.load(r"C:\Program Files\Rhino 9 WIP\System") # defaults to net48
rhinoinside.load(r"C:\Program Files\Rhino 9 WIP\System", 'net48')
rhinoinside.load(r"C:\Program Files\Rhino 9 WIP\System", 'net9.0')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rhinoinside-0.7.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

rhinoinside-0.7.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file rhinoinside-0.7.0.tar.gz.

File metadata

  • Download URL: rhinoinside-0.7.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for rhinoinside-0.7.0.tar.gz
Algorithm Hash digest
SHA256 2b1600a535bc06799de54f28fb350026208a100554766f26118281787d65d7f4
MD5 b882b9ce370367dc34e98d5b78992a4c
BLAKE2b-256 2781c0bd0d18ff005f3999f0c2e1f9b6cf258d57a1a79a14413f3ab9d6111806

See more details on using hashes here.

File details

Details for the file rhinoinside-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: rhinoinside-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for rhinoinside-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f66cfa0f079a845b783ceb8793d023ff0824eb9e1d8a479c50cbc5e6687a045
MD5 dc9bcc20f78ef0b7b6570ed4d631b6ad
BLAKE2b-256 7e7135b9f793247475b3ec64a8c1ecc6fc7696025d1b4395b8bb990e196ffab0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page