Jump to content
Developer Wiki and Function Reference Links ×

Parametric view analysis


STERNontwerp

Recommended Posts

Before starting this new project I would like your opinion and tips. The idea is: make a network that analyses the view from a lot of apartments. For instance: Check which of the 444 apartments can view the church. Is there a solution for the points that I deem impossible?

Steps:

1 identify the 444 apartments in the model

2 identify the facade of the apartments (for now the whole facade of the appartments can be glass)

plan a:

4a1 place a camera behind the facade

4a2 make a jpg from all 444 camera's [impossible ???] Is it possible to make a jpg (or PDF) in marionette using the camera?

4a3 identify if there is a red color on the jpg

4a4 give feedback in the model  (f.i. make all appartment that can view the church red)

plan b:

same as plan a, but with a 3D-view instead of a camera [impossible ???] Is it possible to make a jpg (or PDF) in marionette using the camera?

plan 😄

4c1 place a light behind the facades

4c2 turn on the lights one by one

4c3 identify which lights shine on the church [impossible ???] Is there a way to identify if an object receives light?

4c4 give feedback in the model

:  that would be really cool and make a lot of other things possible

Link to comment
  • Marionette Maven

I like the concept!

 

Right now, I don't know the best way to create an image from a view. I know we can generate .mov files, so there's definitely a way to output an image into a video file, but I cannot see an option to export an image file directly from a view. (I'm sure we could extract frames from the movie, but I don't think that's going to end up being the best method.)

 

Another method I'm considering is instead of exporting an image directly from VW, use Python to take a screenshot of a view and query that instead.

 

Would you want your camera (view) to be looking at the center of the church? You also need to consider, if you place the camera in the center of each apartment, that will affect what the camera can see through the (assumed) windows. Placing cameras at different points in the room may give different results in some cases. Which is more important, that you can see the church from the center of the apartment, or that you can see the church from the apartment at all?

 

Querying the images for a specific color is going to require an external library (I would use Pillow), which means users would need to install this package onto their machines. There's a way to do this within Marionette, however users would need access to the internet (or a local file on their machine) and you would need to write your code to be cross-platform (the link for installing this package to Windows is different from Mac and can be dependent on what OS version as well as which version of VW you are using)

 

I don't think this is IMPOSSIBLE, but I think working on it in chunks would be your best approach. First decide where you want to place your cameras, determine how you are going to identify apartments (are you going to use spaces of a certain room definition? are you going to place cameras on the inside of windows?) How are we going to get the image of the view? How much of the visible church is necessary to say "I can see the church from here"?, etc.)

 

If we can create an adequate set of requirements, I'd be more than happy to help you with this endeavor.

Link to comment

I have started with the first step. But first some explanation on my choises/hopes

Make picture: I really don't know how to do that and can't use Python/Vectorscript myself. I hope something with the vs.VSave command can be used.

Center, church, BIM etc: This is meant to be used by architects an urban designers to decide the mass and placement of the buildings and/or to check the view/placement of the windows. Probably no BIM-model is used in this phase of the project, so it will have to work with volumes without an allocation of rooms or windows. I assume floor heights are known or can be guessed for now. Working with a view-direction will limit the possibilities. I'd rather just look at a wide angle out of the window and query that image. This will allow the query for multiple objects, such as trees in a later stage.

Setting this up in separate modules will allow further adaptions. For instance:

1: viewpoint from mass or BIM or...

2: setting up records or worksheets for every window (my next step, will have to learn to work with records/spreadsheets for that)

2: saving and querying image

3: reporting / feedback in model

Querying the Image: I hope I can adapt your/Alan Woodwell's ImgProcessing network (with Pillow). I am an architect working with marionette, not a software engineer. No cross-platform writing possible when I have to write it, but how to install of Pillow can be found on this forum.

 

The first step is to cut the volumes into layers and assign windows to ALL the facade (done with boxes for 1 floor). Next step is to calculate a point and direction for the cameras/viewpoints (done with 3D lines on 1 floor).

 

A recurring quention when working with Marionette:

1: I rather not work with List Explode. I'd rather use Get Item, but can't get that to work. The number of floors will be limited when using List Explode.

2018-11-19_ParaViewAna011.thumb.jpg.ae976e5d438efc43e09193543ee018ef.jpg

(I have used a vwx-model of Mart-Jan Oosterveld, www.moost.nl to experiment on)

ParaViewAna012.zip

Link to comment
  • Vectorworks, Inc Employee

I wonder if figuring out whether the church is visible would work better if you project from the other direction - from the church. If you have existing buildings and trees in your model, I imagine that you could create a projection from the church to the location of the building - all the building would need to be is a flat surface - and where the projection of the church hits the surface (isn't blocked by other buildings, trees, etc) is where you know that views of the church exist.

Link to comment

I have a reason to start at the building looking at the church/trees/whatever: I don't know what a client wishes to query. It might be a church, it might be 'a beautiful view' f.i. defined as a park, water, trees, monuments etc. In my idea I can give all these thing a color and make the rest of the model white and find out if (and maybe how much) it can be seen from the window. Another idea is to save the view and use the appropriate view in a sales brochure. And another idea is to attach the point of view to a 3D-person which can be placed freely in the model. So it seems I should start at the point of view.

 

However, it seems like you have an idea about how to 'project' the church to the building and that might overrule my arguments. If so, please let me know.

 

Thanks Sarah and Marissa for thinking with me.

 

 

Link to comment

I changed it, using eyes instead of windows to show the viewpoints. Easier to show what is happening, easier to make, and probably easier to use to give feedback. Also attached records to all the eyes for further use.

It is possible to:

  • change the eye height of the ground floor separate from the other floors. 
  • choose to look out perpendicular, or to have diagonal windows when near a corner (as shown here)
  • change the distance between eyes

No views can be seen from the eyes yet.

No analysis or the views can be made (that is my next step, I'll start at heving a look at ImgProcessing)

No feedback can be give with f.i. red eyes

 

afbeelding.thumb.png.222f353b54090fe394574370cf2dee11.png.

 

ParaViewAna030.zip

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...