Skip to main content

Embed Rhino in CPython

Project description

rhinoinside python package

Embed Rhino in CPython

pip install --user rhinoinside

Requirements:

  • Rhino 7, 8, 9 (WIP)
  • Windows
  • 64 bit version of CPython (>= 3.7)

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.8.2.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

rhinoinside-0.8.2-py3-none-any.whl (44.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rhinoinside-0.8.2.tar.gz
Algorithm Hash digest
SHA256 1144e249f026cc81160104e5e5b07ae7f883e6eb2a4776ea5a33ec37441cb122
MD5 6299f096009ddd2c781082f6a0a8ac0e
BLAKE2b-256 9d99f65101fcd18b5455e224a71f98d340f509a4ba8e59d89bd4f8307f773478

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rhinoinside-0.8.2-py3-none-any.whl
  • Upload date:
  • Size: 44.4 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.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6c664564f5d21eb1a24f64550bd6b1e1f02fa69a315e9849bb255b063e90b2d4
MD5 14b8a050d589f02f46b61a6040b47df3
BLAKE2b-256 85d9eb6f483957a639a4a8863e900157eadc75d52633540aaa3fac2f26b3861c

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