algorithmic modeling for Rhino

Request for variant of Create Planar Breps, c#


I understand from an earlier post that you're in development lockdown for a coming release however I'd like to add a request.

It would be nice to have an additional alternative method for creating planar breps: a method that preserves all of the original vertex or line information used to create the brep. It would be nice to have the method to ensure that no information from the original geometry used to create the brep is lost.

Currently the available methods will shrink the information if given the chance (for example by merging edges).  This is problematic if the information is important to the creation of new geometry down the track.

Views: 572

Replies to This Discussion

If you really needed to, you could embed additional information in the resulting Brep's user dictionary - this can actually store curves, for instance, so you could embed each planar brep with the curves used to create it. 

I remember when I was first using Rhino I was manually using split edge a lot to break down edges at adjacent face vertex (to get coincident edges for the purpose of FEA).

If you can code in c# (as suggested in the title), I'd suggest you develop your own method that wraps the rhino common function, and splits the resulting brep edges at the end points of the input curves.  



Jon // Andrew,

Thanks for your thoughts. I had built a work around similar to your suggestions before making the post.

I made the request because when I thought about the typical interactions one has with Brep geometry felt quite different to the planar brep methods that were available in so far as in most instances the geometry carries the marks of its creation forward - for instance - a joined brep carries forward new vertices - while this method does not.

Appreciate each of your replies.

Hi Jon,

Could you please offer a teeny bit more of a clue as to how this is achieved. I am also trying to get coincident edges for FEA meshes.

I have come across Edges.SplitEdgeAtParameters but have no idea what the "IEnumerablespan class="identifier">double> edgeParameters" requires.

Any help is much appreciated.


For anyone that has this same problem I figured it out... Probably shows my lack of understanding of coding.

As far as I can gather; IEnumerable<> is more or less the same as List<>


Edges.SplitEdgeAtParameters(int edgeIndex, IEnumerable<> edgeParameters)


Edges.SplitEdgeAtParameters(int edgeIndex, List<double> edgeParameters)






  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service