Grasshopper

algorithmic modeling for Rhino

Hello,

Having a VB issue in a custom component. We are sorting the BrepFaces of a closed Brep and outputting the BrepFaces that we then cast as Breps into three different categories: roofs (normal vectors point up), floors (normal vectors pointing down) and walls (everything else). It currently works when dealing with a box , however when we have non-rectangular faces the Breps are no longer trimmed to the appropriate shape.

We have finally discovered its because BrepFaces return untrimmed surfaces, so if we have a non-rectangular face, we get an untrimmed surface that is rectangular and extends past the trimmed surface. 

Has anybody dealt with this before. We'd like to get trimmed surfaces from the BrepFaces that retain the orientation of the BrepFace. We have attempted using DuplicateBrepFace which returns the correct trimmed surface, however for some reason it is not retaining the normal vector of the original Brep. This then screws up the sorting of floors, walls, and roofs, based on normal vectors.

Any help is much appreciated. Thanks all.

Ben

Views: 678

Replies to This Discussion

"We have finally discovered its because BrepFaces return untrimmed surfaces"


this is not true, a BrepFace derives from Surface*, but it does carry trimming information as long as you keep it as a BrepFace. If you call DuplicateFace on a BrepFace you'll be given a single surface Brep with all trimming data intact.


* rather, for technical reasons, it derives from SurfaceProxy which in turn derives from Surface.


--

David Rutten

david@mcneel.com

Poprad, Slovakia

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service