Skip to main content

Embed Rhino in CPython

Reason this release was yanked:

Bad binary data

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: rhinoinside-0.8.0.tar.gz
  • Upload date:
  • Size: 6.4 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.0.tar.gz
Algorithm Hash digest
SHA256 6205c4961187f88b3d253582f8ca8568a511e644dfb2c02eab5d8a387c4e74ca
MD5 a14da2418df8f5bfe3bc64842c5191e0
BLAKE2b-256 e3b5152a320288b9ca8db87d806823d98f1f4c622bf205ca2e867cb8ce3062ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rhinoinside-0.8.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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e77f87e41be8371609233cbd49b83cf0200ebabeced2f198525b7b2f04bdd7c0
MD5 6cc2746af2b70965918cf776d0235b1d
BLAKE2b-256 c9672926726c40878e375c1ab7672c19f4ace8ad05437cf22db8d7f6c704fbc6

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