Grasshopper

algorithmic modeling for Rhino

Hi All,

I'm developing a custom component and would like to extract the edges of a trimmed surface, but can't seem to figure it out. I've used the duplicateedgecuves under Brep but that give the full untrimmed surface edges.

Any help is greatly appreciated.

Thanks.

[C]

Views: 1500

Replies to This Discussion

Hi Charles,

Try to shrink the surface. It should give you a trimmed surface. Then try to duplicate the edges.

tryShrink = srf.Faces.ShrinkFaces()
if tryShrink: edges = srf.DuplicateEdgeCurves()

In some cases shrink surface fails. In that cases I mesh the surface and find mesh NakedEdges instead:

import Rhino as rc
meshPar = rc.Geometry.MeshingParameters.Default
meshedFace = rc.Geometry.Mesh.CreateFromBrep(srf, meshPar)[0]
edges = meshedFace.GetNakedEdges()

Hope it helps,

Mostapha

Thanks Mostapha, brilliant solution. Works well for flat shapes, but not so much for shapes with curved edges.

For example if you were to take a segment of a torus, where the three edges are curved, each edge gets broken down into multiple curve segments, therefore returning multiple points. I've used the method Curve.simpify to remove colinear and cocircular segments once I've extracted the naked edges from the mesh.

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service