Hello,
I would like to know if it is possible to read with Dynamo the parameters of the reference points of a family loaded in a project.
I would like to get the names and coordinates of each referencepoint in a family loaded into a project.
Anybody here? I am behind the same approach and I have tried all the
AdaptiveComponentInstanceUtils methods with no success. It only retrieves the adaptive points as Referece Point type and I can retrieve the parameters but this seems not to be accessible for the Reference Points.
This is giving me access to the location as an Autodesk.DesignScript.Geometry.Point type of the adaptive points and reference points that are visible within the family file.
My goal is to get the element ID of the reference points and then, access to their parameters and retrieve the reference point name. As I said before, I could get it worked just for the adaptive points.
Can you post a sample file with one adaptive component in it and your Dynamo graph so far so i can replicate the issue? Exactly what you have and how you’ve gathered it isn’t clear. It may also be that there are other ways to accomplish what you’re after, so some insight on the ‘why’ could help as well.
Hi @jacob.small , I’ve been after the same information and think I can shed some light on the situation. I have a document with a sample family with 2 adaptive points (Placement points) and 3 reference points, but I need extra permission to upload it.
When we try to access the information of an adaptive family instance placed in the model, Dynamo offers a few options as fas as I know:
AdaptiveComponent.Locations: Retrieves the location of the Adaptive/Placement points. In the example we know they are the adaptive ones because there are 2 of them and have Z =0. No reference points.
Via API methodGetInstancePointElementRefIds for AdaptiveComponentInstanceUtils: Gets the Adaptive/Placement points elements with the ID. With the example we can use this information to retrieve the name value as well. Also no Reference points.
Geometry: Returns the geometric elements of the family, including the Reference points (if they are visible and shared). We can see it in the example because there are 3 and they have a Z value > 0. The problem is that we only have the XYZ information of the points, no name or host or any other way to identify them. The Adaptive/Placement points won’t be extracted using this method.
Something that make me think that the Reference points information is somehow lost when placing instances of the family in the model, is that the they cannot be selected with tab, but Adaptive points can. Which is a consistent behaviour with what we can extract via Dynamo.
And the why I need this information, in my case is because I would like to fetch those points to generate new geometry in the Revit model, imagine a polycurve connecting all the Ref01_Top points from several instances. Using more Adaptive points instead of the Reference points is out of the question because it would change the families in too many ways.
This topic has been raised on other occasions, but unfortunately, no solution yet.
Updated your trust level so you should be able to post. If not try resetting your browser, and if still not you can use another tool like Onedrive, Box, GoogleDrive, Dropbox, WeTransfer, etc..
When I have needed layer info like this I usually have turned to the massing or adaptive environment which can make placement much easier as you can place your components on reference geometry. I do see the value though, so identifying a method would be good.
Offhand for now you can likely return the coordinate system of AP1 to find the relationship to RP1 (seems Z aligned to the normal) and then you can triangulate the remaining points relative to the now three identified points ([RP1, AP1, AP2]) to identify RP2 and RP3 respectively.
My belief is that reference points are not directly exposed in the project environment - adaptive and massing environments are possibly an exception.
I also tried placing the families within another adaptive family document, and the behavior was the same, the Reference points won’t be accessible unless using the Geometry approach.
And yeah, the solution you propose would work for this example, but this is a simplification for the sake of testing, the families I am dealing with will come from different users and can have multiple reference points not so straightforwardly referenced. Thank you anyway for the ideas!