FamilyInsance.ByFacePoints: Place Lighting Fixtures on a Ceilling

Hi,

I have been trying to place several lighting fixtures on a ceiling using the FamilyInsance.ByFacePoints node:

I also tried with the Springs.HostedInstance.ByPoints node but it places only one instance, the rest of the list is “null”:

After reading those two posts: Hosted Instance by points only allows 1 hosted object
Hosted Instance by point issue

…I guess I have a bad host but I don’t really know what’s wrong, can anyone help?

Thanks,

David

Your list management is a bit confusing here. You have an unknown number of ceilings (I’m going to assume it’s more than 1) which are one level deep, 57 light fixture types which are 3 levels deep, and 40 points which are 2 levels deep… I’d guess that this is due to the points not falling on the first ceiling and the ceilings not running.

Try removing the list.combine and using the springs node directly, with levels and lacing set correctly.

1 Like

I was actually just doing this same process. Use wombat’s node instead. It is working great for me right now!
image

2 Likes

Yeah I have to admit I did that relatively quickly, there’s one ceiling only, covering pretty much all the zone where the points are.
I though it didn’t matter how much ceiling I have as the objects just need a host, no? NOPE

I try with what you said + the other node and come back!

EDIT: Ok so that was the host as I though, When I place two ceilings, I get two families placed…Is there any ways to host them with the same object? Could be nice, for exemple, to place multiple doors on the same wall.

work in progress

Allright, I re-read that post: Hosted Instance by points only allows 1 hosted object

And I figured it out myself for the host: I used a List.OfRepeatedItems to solve the problem


(don’t have enough points on my grid yet I know)

Now I can have only one ceiling hosting all my families! I guess my problems are solved for now, thanks for your help!