Skip to content

Instantly share code, notes, and snippets.

@pgolay
pgolay / FilletCrv.py
Created April 29, 2021 14:32
Dynamic feedback for curve filleting.
import Rhino
import rhinoscriptsyntax as rs
import scriptcontext as sc
import System
def trim_curves_to_fillet(crv1, crv2, ft, crv_end1,crv_end2, par1, par2):
"""
par1 and par2 are the intersection pars if any
@pgolay
pgolay / AddLayouts.py
Created April 28, 2021 21:10
Add multiple new, or copies of an existing layout.
import Rhino
import rhinoscriptsyntax as rs
import scriptcontext as sc
def increment_name(name, dict):
"""
see if the name looks like an incremented one.
if so, look for the base name in the dictionary
@pgolay
pgolay / PlanarFaceDirection.py
Last active April 14, 2021 01:45
Change the UV or isocurve orientation on a planar brep face.
import Rhino
import scriptcontext as sc
import rhinoscriptsyntax as rs
import System
import math
def PlaneAlignedBB(geo, plane):
wxy = Rhino.Geometry.Plane.WorldXY
import Rhino
import scriptcontext as sc
def SetDeviationOptions():
while True:
id = None
if sc.sticky.has_key('CRVSRFDEVIATION_INPUT'):
testId = sc.sticky['CRVSRFDEVIATION_INPUT']
if sc.doc.Objects.Find(testId):
import Rhino
import scriptcontext as sc
import rhinoscriptsyntax as rs
import System
class DrawCrvCrvDeviationConduit(Rhino.Display.DisplayConduit):
def __init__(self, id1, id2, idx1, idx2):
self.textSize = 24
self.id1 = id1
self.id2 = id2
import Rhino
import scriptcontext as sc
import rhinoscriptsyntax as rs
import System
import math
class DrawDeviationConduit(Rhino.Display.DisplayConduit):
def __init__(self, id1, id2, idx):
self.textSize = 24
self.curveColor = Rhino.ApplicationSettings.AppearanceSettings.FeedbackColor
import rhinoscriptsyntax as rs
import Rhino
import scriptcontext as sc
import math
import System.Collections.Generic.IEnumerable as IEnumerable
import System.Double as sd
def FilletSrfCorner():
import rhinoscriptsyntax as rs
import Rhino
import scriptcontext as sc
import math
def AveragePoint3d(aPts):
X = Y = Z = 0
L = len(aPts)
@pgolay
pgolay / MatchOnCurve.py
Last active August 26, 2019 03:33
Match a curve to any location on another curve for position or tangency.
import Rhino
import rhinoscriptsyntax as rs
import scriptcontext as sc
import System
import math
"""
To Do:
See about curvature
Preserve other end (Change degree up to 5, insertKnot beyond
import rhinoscriptsyntax as rs
import Rhino
import scriptcontext as sc
import System.Drawing.Color
import itertools
class ConnectorConduit(Rhino.Display.DisplayConduit):
def __init__(self, lines):
self.lines = lines