I know that this topic is repeating but I did not find solution for the problem that I have.
I have successfully prepared script to place and rotate families (in xy plane) to a 3D curve. The problem that I have is how to rotate a placed family also in XZ plane.
In general I would like to rotate my Family Instances from point X (x1,y1,z1) to Y (x2,y2,z3)!
Any tips how to add rotation around Y axis to my script?
but I suppose even if their transform is ok, there should be gaps between them. Is that what you want? you probably will go for adaptive component in the end.
I do not want to gaps. In an point two elements (boxes) should come together (ending point of an element is starting point of another element).
Adaptive families means for me more work in Dynamo and preparation of families then to rotate them in Revit manually and that currently does not make any sense…
Because it shouldn’t be too complicated to extend that to even distribution of oriented objects.
I’m not exactly clear on what you’re looking for, though. Something like this:
You could then send those geometries to Revit using ImportInstance.ByGeometries. There is also a Springs node that lets you create Family Instances from geometry, Springs.FamilyInstance.ByGeometry though I haven’t used that so I can’t tell you exactly how it works.
I’m not sure if it’s possible to arbitrarily rotate Family Instances except maybe with Python (which I’m not familiar enough with). The only way I can think of is a two-stage process; first creating the surfaces to put them on, sending those to Revit, then getting those surfaces to place the instances on (FamilyInstance.ByFace or so), then getting rid of the surfaces again (requires a Python script; I should have that somewhere if you need it).
Archilab has a node that lets you rotate families by around an arbitrary axis but it’ll rotate them every time the script is run, cumulatively, so be careful with that…
I’m afraid I don’t have sufficient expertise to be of more help…
Perhaps someone such as @solamour or @Vikram_Subbaiah could provide more insight in this matter?
I would switch to a simple, line based adaptive component family. Note that you could nest your other standard family into that one. This way you’ll actually save yourself HOURS of time, and avoid some issues the 'rotate family along non-world canonical axis can cause. This type of rotation is actually one of the reasons adaptive components came into existence, and an example of when you’re better off just doing what Revit wants you to.
That is one of the possibilities but what if I told you that I have already prepared ca. 100 generic families and I need to change all of them to adaptive… This will also take time for me…