[Plugin] ShadowProjector
-
@dave r said:
I tried it on a simple box and face. It worked fine. Tried it on a slightly more complicated model and it splatted, twice. I can send you the SKP if you wish.
Please PM me the SKP[s] that splatted.
I have taken pains to minimize this kind of thing, so I'll be interested to see what's up.
I know that very tiny edges can cause issues as they won't intersect with the face to form an 'edge' - but from your modeling I'd expect no such issues -
I'll send you the SKP when I get home from work. Sorry for the delay.
-
Here's v4.0 http://sketchucation.com/pluginstore?pln=TIG_shadowProjector I have completely recoded it.
It works with Dave's example SKP [PM'd] and all others that have had issues in the past.
It has so far worked faultlessly.
It is now faster and more robust too...Feedback please...
-
It works!
Excellent work, sir. Thank you very much.
-
@unknownuser said:
Inspecting mirrors is a thing I could easily see myself doing.
-
Still getting fairly consistent crashes on a large and moderately complex (29,500 faces on an area of interest of about 55 acres) model. It seems to get through a few steps, though, as it never crashes until a few minutes in. Is there a log file somewhere that might show what is causing the splat, or at least what stage it's happening at?
-
I suspect this is just too complex, sorry.
Have you tried splitting it into smaller parts...
-
I did at one point, and one relatively small section (2-3 buildings, maybe 1/2 acre) still crashed it every time. Will try to reproduce that and post the file to see if there's something squirrelly going on with the geometry in it.
-
Since 'shadow-projection' is usually relating to 'massing' studies, have you considered making some simple massing blocks [grouped] on their own layer[s], then switch off those layers belonging to the complex parts of the model you no longer need, and then retry shadow-projection ?
Use scene-tabs to help with this...You must appreciate that if there are many thousands of edges and faces, then there are millions of calculations need to get the potential shadows on each face, these go up exponentially as the amount of geometry increases...
This tool is based on Ruby which is inherently slow.
Faster based C tools would be faster, but you must also notice that SketchUp itself becomes sluggish when you have shadows on and try and navigate around such a ginormous project ? -
TIG
Can we get this result? A sketchy line hatch parallel to the rays?
shadow (1).pdf -
You'd need to apply suitably textured material.
You could edit the shadow-projector's material to have a texture.
Or apply a new material onto the grouped shadow-faces.
You'll also need to rotate its texture's pattern to suit the sun's direction...
If you have a number of regularly used sun-directions - say 2x 45Β° angles then make 2 materials and use those ?
Here's a quick 'botch-up' material...
-
Thanks to you and all the others who give so freely of your time to help. I'm an "old school" architect/contractor that designs and builds large luxury homes in East Tennessee. Sat in front of a drawing board for years (and years) and only in the last 10 or so have begun to enjoy the amazing technology available these days. Sketchup and Layout have helped immeasurably in consultation with my clients and subcontractors in the field. Again, much thanks to all. . .
-
@tig said:
Since 'shadow-projection' is usually relating to 'massing' studies, have you considered making some simple massing blocks [grouped] on their own layer[s], then switch off those layers belonging to the complex parts of the model you no longer need, and then retry shadow-projection
That's essentially the point my buildings are already at; simplified down to less than a couple hundred faces each. Can't go much farther, since the actual buildings are fairly complex in footprint and roofline, which of course both affect the shadows.
If it helps, what I have is basically an apartment complex of 2-3 story buildings, 86 buildings of about 8-10 floorplans in all, with roughly 150 9' tall carports. The client wants to know, based on our typical shading criteria, (no shade at all between 9AM and 4PM local time any day of the year) which carports are good candidates for solar installation. Complicating matters, though the buildings are clustered, no two clusters are alike, and many are so close together that a carport in one cluster can be shaded by a building in an adjacent cluster.
Obviously, even just selecting 150 unconnected faces isn't practical each time, so my usual solution in a situation like this is to create a single face at the relevant level and find shadows over the whole thing. That doesn't work so well when that face is 55 acres. Even trying to do it a few carports at a time sometimes crashes.
This is the first time doing this on something this large and complex. Usually I can just trace out a few simple shadows by hand, but obviously having a tool to do that simplifies things greatly.
What I've been doing with ShadowProjector on simpler, smaller models is the following:- Create a plane where I want the shadows if one doesn't already exist, and make it a component for ease of handling later.
- Select the whole plane.
- Run ShadowProjector for 0900 12/22.
- Explode the component SP makes within my component, and fill the shaded area with whatever my "don't use" material is.
- Selecting only the remaining parts of the face, rerun SP for 1200 12/22
- Repeat the explode-and-fill, running projections for 1600 12/22, then 1600 6/22 and 0900 6/22, adding in times as needed to get a reasonably accurate shading pattern.
- Check morning and evening shadows for 3/22 and 9/22, and run more projections if needed
This way, the area of interest gets smaller with each run, and I have a fairly accurate picture of the areas that are never shaded during the best daylight hours.
-
OK, consistent splat on this one. I can run Shadowprojector on the two at right for 12/21 09:00 and it works, but either of the left ones, which shouldn't have any shade anyway, will splat.
-
Of course it shouldn't splat !
But if a face is not receiving any shadows why include it in the process ?If I process a face in shadow it works, a face in shadow and one NOT works but the un-shaded face gives an error in the Ruby Console [which of course it shouldn't!] - some kind of transformation error...
If I try and process just the un-shaded face on its own I too get a splat.
Some something is clearly adrift...
I'm investigating...
-
@tig said:
But if a face is not receiving any shadows why include it in the process ?
Normally I wouldn't in a model this simple, but in something more complex, I tend to just select all the faces of interest on each run. Those faces would be shaded for the 16:00 run, so in a complex model I wouldn't be picking each one individually. I was only checking them one at a time this time because I wanted to narrow the problem down as much as possible to see if there was something goofy with my model first.
-
it's working on my mac...
john
-
I've worked out the issue.
It IS to do with empty groups - there's an intersection needed but if there is nothing to intersect it was splatting...
With a % text it's NOT empty so no issues !
Now I have it trapped and so far in retesting there's not splatting.
I'm preparing an update.
I'll also get it signed for v2016 full compatibility... -
Here's v5.0 http://sketchucation.com/pluginstore?pln=TIG_shadowProjector Main changes:
- Unshaded face splat trapped.
- Text better placed.
- Signed for v2016 full compatibility.
-
@tig said:
I've worked out the issue.
It IS to do with empty groups - there's an intersection needed but if there is nothing to intersect it was splatting...
With a % text it's NOT empty so no issues !
Now I have it trapped and so far in retesting there's not splatting.That makes perfect sense now; even on the full model, it didn't splat on the first run, but after I'd exploded the shadow lines and marked the shaded areas, the remaining area was split into multiple faces, and apparently some of those were empty.
5.0 is working perfectly on a couple of the smaller sections. I'm tempted to test it on the full model when I have some free time.
Advertisement