FredoBatch executes a set of tasks on a set of files:
a Task is based on Ruby code, with a top method as an entry point. Task can be built-in (provided with FredoBatch) or custom (written and configured by the user).
a Set of Files is specified as a combination of lists of files (File List) or open set of files with wild card and filtering on names and extensions (File Set).
a Job is the combination of sets of files and tasks. This is what is executed by FredoBatch.
FredoBatch v1.1 ships with 2 built-in tasks:
Purge Unused of Sketchup models
Convert Sketchup models to old SU versions.
If you see other useful general-purpose tasks, please advise. I may include them in FredoBatch as built-in tasks.
Here is a video giving an overview of FredoBatch.
A full dcumentation is also provided, especially useful for writing Custom Tasks.
So, we could create a batch exporter for scenes in DWG, for instance.
Is it possible to create changes to geometry. hierarchy or model organization?
Find all components and groups within the selection, assign them a “Door” in name, assign it do a “Door” tag, apply it a IfcDoor classification and insert it into a specific hierarchy in the model, convert them into components, and so on?
You can do that for a single model file by writing a script, based on the interactive selection of components. This is not complex and is just regular scripting.
HOWEVER, FredoBatch is designed to process a set of files and is NOT interactive. This means that, for each file, you cannot select objects interactively in the model.
Exporting scenes to DWG for a set of Sketchup models is something that you can do with FredoBatch provided you can identify the scenes in each model (for instance from their name).
Got it. So, if we have a set of files, and want to have FredoBatch organize them the same way, that wouldn’t probably work.
Would it be possible to identify scenes by prefix, or would I have to identify by their full name?
And would I be able to identify objects inside files, by object name, tag, or classification and export them to an external file, instead of exporting the full model?
So, could I export all IfcWindows from all file models in my folder, into a sub folder, as IFC files, or as skp Xrefs, or even as DWG drawings of their front side?
In FredoBatch, once a model is open, you can execute any process as long as it is not interactive. So identifying scenes and objects by what you want (prefix, pattern on fullname, etc…) is possible.
I could evolve FredoBatch to allow interactive processing (like selection of objects, drawing, etc…), but this is more complex and this somehow defeat the automation.
A priori yes. The task would probably have to take a few parameters for the naming of the exported stuff, but there is no objection.
And are there other automatisms that we could implement?
Like creating a file and insert models into that file, eventually using Fredo Xref to connect them from one model to the other, place them at certain distances of each other, create some 3D texts for them, assign them to tags and create a scene for each, or dimension them using dimension lines, or apply some other author scripts to them.
My main idea would be to create graphical schedules for components in the model, like windows, doors, and cabinets. These are on of the most repetitive tasks an architect must do in a project. I tried leveraging FredoXref to do that like in the following example:
Windows Schedule:
I have my window components in the model
I have a plan section where I’ve drawn details for how each of the windows should connect to the walls, those were made into 2D components
I Export all windows components as single files into a folder;
I create a new model and insert all window components in that model, in the red axis and separate them 1m from each other
I create a section plane for plan view, that cuts all windows in that model
I insert each of the 2D components 1mm below that section plane, aligned with each window
I then create a plan view from that section for each window and create a scene
I also create a scene for an elevation view of each window
Finally I start populating the Layout file with the elevation view of each window
Aligned to the elevation view of each window there is the floor plan view of each window
Below the plan view there is a description table for each window, containing the name/label of the window, the overall dimensions and a lot of other features like fittings, glazing, materials, opening methods, etc…
I have to keep creating this until all windows are on the schedule and this has to be done in a such a way that I fill a page and move on to the next
After this has been setup, I will have to fine tune everything, of course, but at least the most tiresome and repetitive work is done and can be refreshed using FredoXref and Layout reloads.
Would this be possible to achieve with FredoBatch?
I could either use a filter for selecting the window components, or a tag for filtering all windows, or an IfcClassification
One of the problems is creating the file where all the windows would be dropped and also the Layout file.
Maybe I don’t even need the Sketchup file to drop windows, if I could find a way of aligning the 3D window components with the 2D sections and front view of a window (note that this front view is sometimes a plan view, because windows might be glueable components which aling with the x and y axis instead of the x and z axis)
Exporting the windows to the folder is the easiest part, of course, batch processing each window in Sketchup and Layout is the most time consuming.
Again, if you are able to write a script for a single file, FredoBatch will help you to execute it on several files. But for writing the single-file script, it won’t.
From what you describe, and assuming you get help from a script developer, this is not simple but doable as long as you respect some naming conventions or populate attributes of the windows component for use in the documentation. It all depends whether your schedule documentation is based on windows only, independently of the model. At the end, the script could generate the layout pages for the schedule, up to you to copy / paste to a main layout document. But again, not trivial.