CreateFromLoft
Rhino.Geometry.Brep
Back to CreateFromLoft on Brep
Examples
using System.Linq;
using Rhino;
using Rhino.Input.Custom;
using Rhino.DocObjects;
using Rhino.Commands;
using Rhino.Geometry;
namespace examples_cs
{
public class LoftCommand : Command
{
public override string EnglishName { get { return "csLoft"; } }
protected override Result RunCommand(RhinoDoc doc, RunMode mode)
{
var gs = new GetObject();
gs.SetCommandPrompt("select curves to loft");
gs.GeometryFilter = ObjectType.Curve;
gs.DisablePreSelect();
gs.SubObjectSelect = false;
gs.GetMultiple(2, 0);
if (gs.CommandResult() != Result.Success)
return gs.CommandResult();
var curves = gs.Objects().Select(obj => obj.Curve()).ToList();
var breps = Brep.CreateFromLoft(curves, Point3d.Unset, Point3d.Unset, LoftType.Tight, false);
foreach (var brep in breps)
doc.Objects.AddBrep(brep);
doc.Views.Redraw();
return Result.Success;
}
}
}
import rhinoscriptsyntax as rs
def RunCommand():
crvids = rs.GetObjects(message="select curves to loft", filter=rs.filter.curve, minimum_count=2)
if not crvids: return
rs.AddLoftSrf(object_ids=crvids, loft_type = 3)
if __name__ == "__main__":
RunCommand()
Imports Rhino
Imports Rhino.Input.Custom
Imports Rhino.DocObjects
Imports Rhino.Commands
Imports System.Collections.Generic
Imports Rhino.Geometry
Namespace examples_vb
Public Class LoftCommand
Inherits Command
Public Overrides ReadOnly Property EnglishName() As String
Get
Return "vbLoft"
End Get
End Property
Protected Overrides Function RunCommand(doc As RhinoDoc, mode As Rhino.Commands.RunMode) As Result
Dim gs = New GetObject()
gs.SetCommandPrompt("select curves to loft")
gs.GeometryFilter = ObjectType.Curve
gs.DisablePreSelect()
gs.SubObjectSelect = False
gs.GetMultiple(2, 0)
If gs.CommandResult() <> Result.Success Then
Return gs.CommandResult()
End If
Dim curves = New List(Of Curve)()
For Each obj As ObjRef In gs.Objects()
curves.Add(obj.Curve())
Next
Dim breps = Rhino.Geometry.Brep.CreateFromLoft(curves, Point3d.Unset, Point3d.Unset, LoftType.Tight, False)
For Each brep As Brep In breps
doc.Objects.AddBrep(brep)
Next
doc.Views.Redraw()
Return Result.Success
End Function
End Class
End Namespace