SweepOneRailPerformSweep Method (Curve, IEnumerableCurve) |
[Missing <summary> documentation for "M:Rhino.Geometry.SweepOneRail.PerformSweep(Rhino.Geometry.Curve,System.Collections.Generic.IEnumerable{Rhino.Geometry.Curve})"]
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)

public Brep[] PerformSweep( Curve rail, IEnumerable<Curve> crossSections )
Public Function PerformSweep ( rail As Curve, crossSections As IEnumerable(Of Curve) ) As Brep()
Parameters
- rail
- Type: Rhino.GeometryCurve
[Missing <param name="rail"/> documentation for "M:Rhino.Geometry.SweepOneRail.PerformSweep(Rhino.Geometry.Curve,System.Collections.Generic.IEnumerable{Rhino.Geometry.Curve})"]
- crossSections
- Type: System.Collections.GenericIEnumerableCurve
[Missing <param name="crossSections"/> documentation for "M:Rhino.Geometry.SweepOneRail.PerformSweep(Rhino.Geometry.Curve,System.Collections.Generic.IEnumerable{Rhino.Geometry.Curve})"]
Return Value
Type: Brep[Missing <returns> documentation for "M:Rhino.Geometry.SweepOneRail.PerformSweep(Rhino.Geometry.Curve,System.Collections.Generic.IEnumerable{Rhino.Geometry.Curve})"]

using Rhino.Input; using System.Collections.Generic; partial class Examples { public static Rhino.Commands.Result Sweep1(Rhino.RhinoDoc doc) { Rhino.DocObjects.ObjRef rail_ref; var rc = RhinoGet.GetOneObject("Select rail curve", false, Rhino.DocObjects.ObjectType.Curve, out rail_ref); if(rc!=Rhino.Commands.Result.Success) return rc; var rail_crv = rail_ref.Curve(); if( rail_crv==null ) return Rhino.Commands.Result.Failure; var gx = new Rhino.Input.Custom.GetObject(); gx.SetCommandPrompt("Select cross section curves"); gx.GeometryFilter = Rhino.DocObjects.ObjectType.Curve; gx.EnablePreSelect(false, true); gx.GetMultiple(1,0); if( gx.CommandResult() != Rhino.Commands.Result.Success ) return gx.CommandResult(); var cross_sections = new List<Rhino.Geometry.Curve>(); for( int i=0; i<gx.ObjectCount; i++ ) { var crv = gx.Object(i).Curve(); if( crv!= null) cross_sections.Add(crv); } if( cross_sections.Count<1 ) return Rhino.Commands.Result.Failure; var sweep = new Rhino.Geometry.SweepOneRail(); sweep.AngleToleranceRadians = doc.ModelAngleToleranceRadians; sweep.ClosedSweep = false; sweep.SweepTolerance = doc.ModelAbsoluteTolerance; sweep.SetToRoadlikeTop(); var breps = sweep.PerformSweep(rail_crv, cross_sections); for( int i=0; i<breps.Length; i++ ) doc.Objects.AddBrep(breps[i]); doc.Views.Redraw(); return Rhino.Commands.Result.Success; } }
Imports Rhino.Input Imports System.Collections.Generic Partial Class Examples Public Shared Function Sweep1(doc As Rhino.RhinoDoc) As Rhino.Commands.Result Dim rail_ref As Rhino.DocObjects.ObjRef = Nothing Dim rc = RhinoGet.GetOneObject("Select rail curve", False, Rhino.DocObjects.ObjectType.Curve, rail_ref) If rc <> Rhino.Commands.Result.Success Then Return rc End If Dim rail_crv = rail_ref.Curve() If rail_crv Is Nothing Then Return Rhino.Commands.Result.Failure End If Dim gx = New Rhino.Input.Custom.GetObject() gx.SetCommandPrompt("Select cross section curves") gx.GeometryFilter = Rhino.DocObjects.ObjectType.Curve gx.EnablePreSelect(False, True) gx.GetMultiple(1, 0) If gx.CommandResult() <> Rhino.Commands.Result.Success Then Return gx.CommandResult() End If Dim cross_sections = New List(Of Rhino.Geometry.Curve)() For i As Integer = 0 To gx.ObjectCount - 1 Dim crv = gx.Object(i).Curve() If crv IsNot Nothing Then cross_sections.Add(crv) End If Next If cross_sections.Count < 1 Then Return Rhino.Commands.Result.Failure End If Dim sweep = New Rhino.Geometry.SweepOneRail() sweep.AngleToleranceRadians = doc.ModelAngleToleranceRadians sweep.ClosedSweep = False sweep.SweepTolerance = doc.ModelAbsoluteTolerance sweep.SetToRoadlikeTop() Dim breps = sweep.PerformSweep(rail_crv, cross_sections) For i As Integer = 0 To breps.Length - 1 doc.Objects.AddBrep(breps(i)) Next doc.Views.Redraw() Return Rhino.Commands.Result.Success End Function End Class
import rhinoscriptsyntax as rs import Rhino import scriptcontext def Sweep1(): rail = rs.GetObject("Select rail curve", rs.filter.curve) rail_crv = rs.coercecurve(rail) if not rail_crv: return cross_sections = rs.GetObjects("Select cross section curves", rs.filter.curve) if not cross_sections: return cross_sections = [rs.coercecurve(crv) for crv in cross_sections] sweep = Rhino.Geometry.SweepOneRail() sweep.AngleToleranceRadians = scriptcontext.doc.ModelAngleToleranceRadians sweep.ClosedSweep = False sweep.SweepTolerance = scriptcontext.doc.ModelAbsoluteTolerance sweep.SetToRoadlikeTop() breps = sweep.PerformSweep(rail_crv, cross_sections) for brep in breps: scriptcontext.doc.Objects.AddBrep(brep) scriptcontext.doc.Views.Redraw() if __name__ == "__main__": Sweep1()

Rhino for Mac
Supported in: 5.4Rhino for Windows
Supported in: 6.8