Jump to content

Selective Edge Offsets & Procedural Edge Groups

Recommended Posts

Hi All,

I am taking small steps at rebuilding and improving upon some of the functionality of ESRI CityEngine within Houdini. One of the most important functions is the ability to apply 'planning setbacks' to property boundaries (see image below).


From a modeling point of view this requires the ability to offset the poly from selective edges only and a way of keeping track of what each edge of the poly represents, i.e.: is the edge a street, side or rear frontage?

I have been able to work out a method off applying the selective edge offsets using VEX (see attached ZIP that includes HIP and BGEO) but am struggling to find the best method of defining the edge types in a procedural way. Given this problem does anyone have suggestions for the following:

  • Is there a way of being able to track poly edge groups in the event of the point numbers changing (points being added or removed)?
  • Is there a way / work around to be able to procedurally defining edge groups?

One of the areas most of this work is pushing me towards is the application of poly straight skeletons which is a bit daunting at the moment! I have found a really good thesis on poly skeletons here though: http://theses.gla.ac.uk/4975/

Thanks for any help you can provide!



Share this post

Link to post
Share on other sites

@f1480187 thank you for your solution - much more elegant than where I was heading with this!

I was playing around with PolyExpand2D earlier on but got sidetracked with a VEX implementation!

Quick question regarding PolyExpand2D: In the cases that the 'offsetscale' attribute is 0 how can I ensure that the actual offset is 0? For the offset value I have tried the expression if(ch("localinsidescale") == 0, 0, 1) but this does not seem to work in this instance.

Edited by Wooshum

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now