Face vs. Surface Types - BRep Builder

Face vs. Surface Types - BRep Builder

owenmerrick
Contributor Contributor
2,519 Views
8 Replies
Message 1 of 9

Face vs. Surface Types - BRep Builder

owenmerrick
Contributor
Contributor

 

Hi,

 

Looking at the documentation for the type Autodesk.Revit.DB.Surface I see the following remark:

 

Remarks:
This geometric object is not bounded by edges or edge loops. A bounded surface obtained from a Revit element will be represented by a Face instead. 

 

Is it possible to extract the unbounded surface from from the bounded surface returned by a Autodesk.Revit.DB.Face?

 

BrepBuilderSurfaceGeometry.Create() method calls for a Surface rather than a Face - any ideas on how I can use a face from existing elements as an input to BrepBuilder?

 

Also - I see in the release notes for 2017 update 2 references to a BrepBuilder SDK sample, but my 2017 SDK samples don't have the BrepBuilder sample.  Both from my initial install, and then re-downloaded from http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=2484975. 

 

Thanks!

 

 

0 Likes
Accepted solutions (1)
2,520 Views
8 Replies
Replies (8)
Message 2 of 9

jeremytammik
Autodesk
Autodesk

Dear Owen,

 

 

I see 

 

../revit/2017/SDK/Samples/GeometryAPI/BRepBuilderExample/

 

 

... and I have not even installed Revit 2017.1 yet.

 

Cheers,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 3 of 9

owenmerrick
Contributor
Contributor

Thanks Jeremy -

 

I knew you must have it, because I was alerted to the existence of this BRepBuilder example from your release notes for 2017.

 

I've located the sample, but it was missing from my first installation for some reason.  Oh well, that's resolved now.

 

Any thoughts on retrieving a Surface from an existing Solid to use as an input to BRepBuilder? It seems like this information must be stored as part of the Face, but I haven't been able to find it exposed anywhere. I checked the sample, but all those inputs are hard coded into the sample.

 

Thanks,

 

Owen

 

 

0 Likes
Message 4 of 9

jeremytammik
Autodesk
Autodesk

... checking with the development team for you.



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 5 of 9

owenmerrick
Contributor
Contributor
Brilliant, thanks!
0 Likes
Message 6 of 9

jeremytammik
Autodesk
Autodesk

Dear Owen,

 

Thank you for your patience.

 

I am sorry to say that there is currently no API access to this functionality.

 

I submitted the wish list item CF-4676 [API wish: access to Surface from Face -- 12268978] on your behalf for the functionality you suggest, as this issue requires exploration and possibly a modification to our software. Please make a note of this number for future reference.

 

You are welcome to request an update on the status of this issue or to provide us with additional information at any time quoting this wish list item number.

 

This issue is important to me. What can I do to help?

 

This issue needs to be assessed by our engineering team, and prioritised against all of the other outstanding change requests. Any information that you can provide to influence this assessment will help. Please provide the following where possible:

 

  • Impact on your application and/or your development.
  • The number of users affected.
  • The potential revenue impact to you.
  • The potential revenue impact to Autodesk.
  • Realistic timescale over which a fix would help you.
  • In the case of a request for a new feature or a feature enhancement, please also provide detailed Use cases for the workflows that this change would address.

 

This information is extremely important. Our engineering team have limited resources, and so must focus their efforts on the highest impact items. We do understand that this will cause you delays and affect your development planning, and we appreciate your cooperation and patience.

 

Cheers,

 

Jeremy



Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

0 Likes
Message 7 of 9

owenmerrick
Contributor
Contributor

Jeremy,

 

Thanks again for following up on this.

 

Adding the ability to retrieve a Surface from a Face would allow the newly added BRepBuilder tools to use existing Solid geometry as inputs.  This would  expand the usefulness of this new tool, and may be a relatively minor change to expose information already stored within the Solid.

 

For the simple case of Planar Faces, I'm able to extract the face edges in order as well as the plane and use this face as an input to a new Solid or open Shell BRep.  If I could extract the Surface of more complex Faces I could handle those as well. I'm going to look into cylinder and conic faces, those also might be reconstructable from a few available parameters like the plane case, although for the ruled and hermite cases it's really only feasible if I can get that underlying surface definition.

 

We are a relatively small design firm with very specific solid modeling requirements, so I can't claim massive revenue impacts.  I would point to the business case made for introducing the BRepBuilder tool and suggest that this existing tool could be more compatible with the wide range of existing geometry withing Revit with (hopefully) a minor tweak.

 

Best,

 

Owen

 

 

0 Likes
Message 8 of 9

johnteng00
Advocate
Advocate

Hi

 

Just wonders whether there are any progress about reading the geometric data from revit? I need the API to read the surface definition data.

 

thanks

John

0 Likes
Message 9 of 9

JimJia
Alumni
Alumni
Accepted solution

Dear johnteng00,

 

I checked the status of CF04676 and API request has been already supported in Revit 2018, a couple of new API exposed as followings:

  • Face.GetSurface()
    returns a copy of the Face's surface.
    In order to correctly leverage this information, the following properties:
  • Face.OrientationMatchesSurfaceOrientation
  • Surace.OrientationMatchesParametricOrientation
    identify whether the face's orientation matches the surface orientation, and whether the surface orientation is the same as or opposite to its parametric orientation.

You can find more from page below:

http://thebuildingcoder.typepad.com/blog/2017/08/revit-20181-and-the-visual-materials-api.html


Jim Jia
Autodesk Forge Evangelist
https://forge.autodesk.com
Developer Technical Services
Autodesk Developer Network
Email: Jim.Jia@autodesk.com
0 Likes