How to get opening type (door, window, hole) from opening (VEgeometry object)

The VE Python API allows users create simple programs using the Python Programming Language, to interact with a VE Model and/or Vista Results File
Post Reply
simoz
VE Newbie
VE Newbie
Posts: 6
Joined: Wed Nov 11, 2015 1:37 pm

How to get opening type (door, window, hole) from opening (VEgeometry object)

Post by simoz »

Hi,

I have been using Python within IES and I was wondering if it is possible to get the opening type (window, door, hole) from the opening VEgeometry object.

I have been carrying out the following procedure.

1- I got the list of VESurfaces for the selected rooms using body.get_surfaces()
2- I got the list of VEGeometry openings for each surface using surface.get_openings()

So now, I have a list of openings as VEGeometry objects and I would like to get the type (window, door, hole) for each one, is it possible?

The guide says that the surface.type would give me one of the following as result: floor, ceiling, ext_wall, int_glazing, ext_glazing, etc.

But since one surface can host multiple openings and an opening is a VEgeometry object and not a VEsurface object I can't see how.
Is there any other way to get the opening type?

I understand I can find out how many windows or doors etc belong to a surface using get_opening_totals() but I want to get the type for the specific opening.

Many thanks for your help
User avatar
Rhind
IES Staff
IES Staff
Posts: 87
Joined: Fri Mar 22, 2013 5:06 pm

Re: How to get opening type (door, window, hole) from opening (VEgeometry object)

Post by Rhind »

You can't get the type of a specific opening with VEGeometry but you can get it's Macroflo type, which might be useful depending on what you're looking to do.

To do this call the get_properties() method of the VEGeometry object which will return a dictionary of data. The 'macroflo_type' key is the one you want.

You can then use this with the VEProject method get_macro_flo_opening_by_id(), which will return a VEMacroFlo object. You can use the get() method here to get data about the object.

I realise this isn't exactly what you're looking for but hopefully it is of some use?
Post Reply