Grasshopper

algorithmic modeling for Rhino

Hi,

I'm looking for a way to offset a surface into a solid.  I'd like to do the same thing that Surface -> Offset component does, but "fill" the region between the original and offset surfaces to create a solid object.  Is this possible?  Is there a way to fill a region between two surfaces?

Views: 12863

Replies to This Discussion

Try lofting the edge curves of both surfaces. Join everything together into a brep.
Thanks for the help, Vicente! Does this look reasonable to you (screenshot), or is there a simpler way? I'm quite new to both Rhino and Grasshopper.

I'm testing out the new "User Object" feature. Go to "File" -> "User Object Folder" and copy there the attached file. A new solid offset component will appear under surface-> freeform. Only works for untrimmed surfaces.
This one works with trimmed surfaces.
Attachments:
Thanks again! I installed 0.7 to try it, but the network I'm working with right now doesn't work with it (looks like a bug, I couldn't find any explanation for the exceptions that get thrown), so I'll go back to 0.6 until the problem gets fixed.
This components crashes very often, right at the moment (v8) is imposible to use.

Hi Vincente,

thanks a lot for this component, works great! I´d like to create the loft between two offsets so I´d have the BothSidesOption. Or could it also work with a domain? But I am not really into Vb.net.Can you help me?

What would I need to do?

Thanks ,

Phillip

 

 

Private Sub RunScript(ByVal S As Brep, ByVal D As Double, ByRef B As Object)
    Dim tol As Double = doc.ModelAbsoluteTolerance
    Dim breplist As New list(Of brep)
    breplist.add(s)

    breplist.add(brep.CreateTrimmedSurface(s.Faces(0), s.faces(0).Offset(d, tol)))
    Dim edgelist As New list(Of curve)
    For Each brp As brep In breplist
      For i As Integer = 0 To brp.Edges.Count - 1
        edgelist.add(brp.Edges(i).tonurbscurve)
      Next
    Next brp
    Dim lft(0) As brep
    lft = brep.CreateFromLoft(curve.JoinCurves(edgelist), Point3d.Unset, Point3d.Unset, 3, False)
    breplist.add(lft(0))
    b = brep.JoinBreps(breplist, tol)

 

ok. managed by changing lines 3 and 4. thanks anyhow.

Any chance for an updated version for 0.9?

Thx fantastic

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service