Is there any way to have the ‘familytype.bygeometry’ node use the same insertion point (or Origin point) as the geometry?

‘familytype.bygeometry’ node seems to take the bounding box corner as the insertion point for the create revit family. Is there any way to have the ‘familytype.bygeometry’ node use the same insertion point (or Origin point) as the geometry?

You can see the Image attached below. Created geometry referring to origin, then from that geometry created a new FamilyType by using Dynamo node FamilyType.ByGeometry.
Opened that family and checked the Reference plane(Which defines origin), It’s located at left bottom corner of geometry. Ideally, it should be at center of Geometry as per Dynamo reference

The insertion point/origin of a family defaults to the minimum point of the globally aligned bounding box. The reality is that no matter what method is selected (min point, max point or mid point of the bounding box; centroid; parameter 0.5,0.5 of the top surface; etc.) it won’t be ideal for all uses, so ‘min point’ was selected as the default - it might be nice to have an optional coordinate system as an input, but that adds a lot of complexities as the process involves an import.

If you’d prefer to use another base point, you’d want to build the family using another node (ideally using native methods in a family document instead of the project environment), or post process it after creating the family document by opening the family and transforming the geometry. Alternatively you can quickly build a vector from your desired point to the minimum point of the geometry and translating all instances by that vector.

2 Likes

You can use centroids for aligning. You just have to place the familyInstance to the Revit origin, for example, than You will translate the origin by the vector from centroid of a “bad” familyInstace to the centroid of the original geometry.

But I am quite curious, which version do You use?
I am testing R2025 right now and it seems the node FamilyType.ByGeometry is not behaving nicely.
There is some error message about elementId

Thanks

Vladimir