Objects in Callouts

In the same manner for filtering families or objects by room or certain category, is there a way to select or get a list of objects / families within a specific callout? Reason being, I would like to make modifications to families within typical referenced callouts. Any help would be greatly appreciated. Thanks!

I want to be able to get a list of all the regions that are UNDER the callout bubble of a specific name, in this example (1/A.101)

To start, I just want to be able to extract those boundaries of the callouts with 1/A.101. Hopefully this makes sense.

The API does not provide any way to extract a callout’s boundary. The best we can do is extract it’s bounding box and use that. Here’s one example where I filter all callouts in a view that are on A101 and get their perimeter box:

3 Likes

Hi and thank you @Dimitar_Venkov this looks to be on the right path. I have two comments.

  1. It is a shame we cannot access the “edit crop” information of a callout, it seems like it should be available.
  2. I have tried your script with a few more specific tweaks, however, at the last node BoundingBox.PerimeterCurvesOnPlane I am getting null outputs for curves. I am confirming the input for boundingbox is dynamoboundingbox and the plane is the view plane. Any ideas why this is happening? My dynamoboundingbox output is outputting a list of BoundingBox(…) and my viewplane is outputting a plane.

Hi,

  1. If you need the crop box, you should be able to get that from the callout’s view. I haven’t tried to do this, but you might have to transform the geometry from the callout’s coordinate system to the global coordinate system.
    2)Hard to tell without an example file. Could be happening because the bounding box and the plane are not intersecting?

Attached is an image of the end part of my script. As you can see the Z value of the plane point and bounding box points are the same at 122. SO technically, they shouldn’t have an issue intersecting, right? Any help would be appreciated. Thanks!

@Dynamonkey could you show complete screenshot of your graph?

1 Like

Hi @Kulkul I’m afraid I’m not near the code at the minute but I don’t think it would make a difference. The plane accepts the same exact setup: Springs.DocActiveView > View.Plane > Plane
Springs.DocActiveView also goes into View for BoundBox.ByElement. I also made a boundingbox for the view plane and ran a BoundingBox.Intersects with the dynamoBoundingBox outputs and it is all true. Is there another way to extract the borders? I am currently investigating another workaround.

keep in mind that these are FP numbers, so what looks like 122.000, might actually be 122.000000001234 for the plane and 122.00000000567 for the box, and they would completely fail to intersect each other. To be sure, you could try scaling the bounding box in the Z axis(there’s a node for that in springs) or creating a new plane at its MinPoint and use that for the intersection.

Thanks for the suggestion. Unfortunately, I am still ending up with nulls even though I scaled the bounding boxes in the Z value using the Springs Scale Boundingbox node. There’s gotta be another way. I am trying to convert the bounding boxes to polysurfaces to extract info from that, however, I am getting errors trying to convert them.