Drafthorse - Layout Management tools for Grasshopper

I use the latest version of everything, I try to create new page from scratch, it crash, then i try to create page manualy then use it as template for copy. I have no idea but now it’s work, and then it dont, and then it works again. Now it works smoothly !!! I also had this issue on another computer, i will send you record if it still happen. Great plugin btw, thanks

1 Like

First, thank you very much for the plugin. I’m trying to generate new layouts and modify the details. But I encounter a problem is when I generate the new details, it is placed anywhere. Is there any way to control this?


Yes @Ignacio_Manca , there is a way to control the new detail’s location. please check out the example
DH_NewDetails_Example.gh (23.8 KB)


The “B” input of the New Detail component defines the location of the rectangles for the new details. These rectangles can be referenced from Model Space (as long as the scale corresponds correctly). The component uses them for size and location, relative to the origin, for the creation of the new detail.

2 Likes

@jokamm
Good morning!
I just wanted to say, I love your plugin.
And I wanted to make a request.
I would like to be able to hide objects in Details.
Not sure if that is possible through grasshopper but it would be super helpful.
Thanks
-Ryan G

2 Likes

After a week of testing, just nailed it.
love at first sight!

Hi

I’m making shop drawings of elements and i would like to include a general synoptic view on each layout that will highlight (eg : coloring in red) the layout curent element.

If i have three layouts for elements A1, A2 and A3, i would like that on layout A1 the synoptic detail view to highlight element A1, A2 on layout A2 , … you get the idea.

Got an idea?

I’m trying now by giving detailed view names wich is not possible before creating detail view.
Then the idea is to adjust layoutOn parameter individually.

Another way would be to use the “Hide model layer” component wich turn the “new detail on” parameter to yes or no when draft horse create details on layout.

A third way would be to get just one annotation dot in the synopsis detail view, but that seems harder to get there.

Is it something that drafthorse would allow?

@julien2 Can you provide some visuals for what you are trying to accomplish? I’m getting a bit lost in the description of what you’re trying to do.
I haven’t experimented with the Hide Model Layer component, but that does seem like a good path to explore. I will test how the Drafthorse components work when that is active or inactive.

Trying to make a workshop for my students, i want to show them that when you design an idea you need to make it buildable.
Went on with this tutorial as a base

And then i adapated the idea to how they can realize it by either 1-3d print it 2-Laser cut it 3-Draft it.

So i’m on option 3. Made a layout with draft horse on unfolded shapes (detail view 1), gave the layout a number corresponding to the shape, etc etc …
On my work i sometime add a synoptic general plan view and the idea is that the object of interest (here shape B3) should be highlighted on the small sysnopsis view (Number 2 on the image), so you know where it goes. Here i got 6 shapes but it can deliver far far more.

You can also guess on detail view one that i would also like other baked unfolded shapes’ layer to be muted, but here i can give more space between the drawings as a temp solution.

Hi,

quick feed back.

I still struggle to get past the 400 layouts, anyway made some achievements.

  1. Grasshoper preview and rhino new content cache should be disabled when making detailview. If anything appear in the layout it slow down the process a lot. Once done turn them back on. (it could be an addition to drafthorse new detail component)
  2. Made a batch sequence so i can choose how many layouts per batch i want (see how it’s made here under). The expression formula is done so you get an integer column number under your max layout desired wich is plugged in Z. It’s also add the batch scope (-A1E40-) to the pdf file name so that you don’t overwrite your batch when moving from batch to batch. Would be a nice component too to add.
  3. Still can’t get above 400-600+ layouts, but just build a bench file to try understanding what’s the issue.

Will give updates.

Ok, here’s the empty test file. It keep crashing when it gets between 400 and 600 layouts wich is anyway already a really nice score.

Lot max_JBO-A.gh (107.5 KB)

Good practice would maybe here to start spliting things when getting around the 200 units.
Here is a screen shot from a mcneel video wich show a way of doing it because they got the problem but on a far different scale.

I remember when working on autocad we use to employ a script that was opening files, unloading and loading xrefs, turning on/off layers, ordering wich one was up the other, then proceeding to print a pdf, a plt and an eps. Total batch was around many thousands plans but as the script was opening a file, doing a few presentations, then closing it and opening the next one, the job was super stable and we could keep taking a coffee while. Sounds like that’s what a batch component should do.

@julien2 fantastic! thanks for sharing this. I have also considered components for shutting down certain background processes while running big ops. I did build a simple toggle for controlling Redraw in the Rhino window, so I could probably add in an override for the Grasshopper preview as well.

Thanks for sharing your definition @julien2 . I was also impressed by the process in the video - it was the presentation about the Morpheus Hotel, right? Elefront was working on a batching tool at one point that could automate a sequence of worksessions and definitions to work in sequence. Not sure what the status is of that is anymore.
As far as a “batch” component goes, can you tell me more about how this would work? Is it specific to printing PDFs or a more general tool? I think it should be possible to do much of this programatically with the right sequencing - the Delete Layouts component could come in handy there.

There also might be some performance issues with how I’m referencing and working with Layouts. I didn’t pay too much attention to the computational complexity of the lower level functions that Drafthorse uses, maybe because I didn’t really consider making large (1000+) quantities of layouts. There might be some improvement opportunities there. Please visit (and contribute to) the github if you’re so inclined. I did make sure to put a DPI input for the PDF component, since that does seem to make a big difference on performance. There also might be some Rhino performance issues with how many layouts do well in a single document. have you tried making or opening a doc with 600+ layouts without using gh?

Basically when you got more than 200 objects, the idea would be to get a kind of component that slices operations for you and cycling through

  1. Slice
  2. Turn all preview and content cache off
  3. Make layouts
  4. Create view(s)
  5. Add layouts numerotation
  6. Turn content cache on
  7. Run the pdf print
  8. Delete layouts
  9. Iterate from 1 to 7 until done.

Yes morpheus hotel presentation by Mcneel.

Intended working session posted just above. I think printing to pdf, plt, eps, jpg, png or whatever sums up to having a boolean connected to the desired component.

Optimisation will come, but i think your plugin already delivers.

I think when getting to the 1000+ object zone, then you need to figure what elefront is doing and start splitting model. I think they talked about 350 000+ plans for the morpheus.

Already checked the github, to see if something could come from something, but i’m better at understanding code then writting it for the moment, especially C#. Saw that you use a dictionnary, but it seems those are not so sensitive to huge data.

Didn’t tried 600+ layouts without grasshopper but @Will_Wang seems to have pulled 1300 in this post : Parametric layouts from Grasshopper
But it’s certainly not on rhino 8.

Hi! Nice plugin, I was using it in rhino 7, but in rhino 8 it does not work, when i install it in package manager it does not show in grasshopper.

@dfytz1 This seems to be a problem on my end with how the plugin is targeted. Another user (@parametricmonkey1) had this same problem and came up a solution:

1 Like

Thank you, it fixed the thing:)

Hello, @jokamm,

thank you for this amazing tool. Is there an option to isolate objects in detail?
Hide objects works alrigh, but it requires a list of hidden/visible states for all objects on active model layers. Ability to isolate would simplify the situation. I could just isolate object(s) for the current detail.

Thank you very much in advance.
Best regards

Hi, the plugin works great. Btw, is there any way that I can add text to the layout page? I saw only the modify one.