CropBox Position on Sheet

Hello Dynamo Community,

I would like to get the position of a cropbox on a sheet and found the following node:

ViewPlan.GetCropBox
This node will get the bounds of the view in paper space (in feet)

But it doesn´t work for me :confused:

I get the “Dereferencing a non-pointer” error, an empty list or a “failed”-error. Am i doing anything wrong?

Can someone please give me any information about how to get the coordinates of a Views Cropbox on a sheet?

Thanks in advance :slight_smile:

Hi @gerhard.p,

To retrieve the cropbox curves :

You need to convert coordinates to have its position on the sheet.
No luck for you, I already have functions to do the opposite (sheet coordinates to project coordinates) but that’s not the direction you want.

Thanks for your reply Alban,

Do I understand correct that the rhythm node would be the right one for my task, if it would work?
I would be interested in how your functions to do the opposite direction look like!

regards

I could be wrong, but I think the description of the node is wrong.

Here is how to transform the coordinates from project to sheet :


What is the practical application and your goal?

1 Like

@gerhard.p Something like this?


1 Like

Hello,

Thanks for your replies! :slight_smile:

As i mentioned in another thread i want to place views on the same location. It does not work with viewports properly because the viewports are far off from equal size because they are affected by so many elements.

But the views always have the exact same Cropbox. So i thought if i could get the coordinates of the cropboxes i could move the views by the corresponding vector.

I´m still working on getting the cropbox curves on a sheet.

The big problem is that parallel views have the exact same cropbox coordinates, that means i can transform whatever i want…i´m always getting the same coordinates as a result.

Here is my Graph, would be happy about any advice!

Edit:

Hi @AmolShah witch method do you use on python to get sheet outline? Thanks in advance. Cheers

@paris This blog post served as a base to get the sheet outline code pasted below. Hope this helps you.

#Code courtesy of https://danimosite.wordpress.com/2019/09/15/placing-multiple-views-on-multiple-sheet-and-a-legend-copier/

import clr
clr.AddReference("ProtoGeometry")
from Autodesk.DesignScript import Geometry as geom

def tolist(obj):
	if hasattr(obj,"__iter__"): return obj
	else: return [obj]

views = tolist(UnwrapElement(IN[0]))

out = []

for view in views:
	oLine = view.Outline
	minU = oLine.Min.U
	minV = oLine.Min.V
	maxU = oLine.Max.U
	maxV = oLine.Max.V

	w = maxU-minU
	l = maxV-minV
	
	myRec = geom.Rectangle.ByWidthLength(w,l)
	sheetRec = geom.Geometry.Translate(myRec,w/2,l/2,0)
	out.append(sheetRec)

OUT = out
1 Like

Hi @AmolShah thanks for your reponse, for me with tis python it doesn’t work as excepted

but with your other code works like as a charm


Thanks, Cheers

and I’m very grateful off course for the first python posted by @SeanP , Now I’m looking for the Outline method.
Cheers

1 Like