Alright, so Im working on a somewhat complex dynamic wall which is intended to be used by designers. It is supposed give them a tool to easily place our walls when planning office renovations.
The dynamic walls are mostly made but Im facing a problem when trying to get an accurate report out of it. The walls are made of copies(instances?) of smaller pieces that theoretically can all be different. (See picture for reference)
The problem is whatever data I get out in the report is only for the first partition. The copies(Or instances?) yield zero data in the report and thats a big problem. One obvious solution would be to gather the first data and multiply it by the number of copies, but since they can be different it wouldnt work. Its entirely possible to explode the main component and then generate the rapport, but any changes after that become tiresome. Not only that but the designer need to be able to select all the components and for some reasons the copies are placed in the layer_0 instead of the same layer from which they originated, which make selecting all the partitions pretty hard.
In other words Im trying to think of a SIMPLE workflow for who ever is using it to easily produce a report, and the fact that it doesnt gather data from the copies is a big problem for me. Hopefully, Im missing something and copies generated in a dynamic component can be extracted in “generate report”?
Thank you for the help and if you have any question I will be glad to answer them as quickly as possible.
The on-line report is filtered and limited in its range, this is an on going development that started evolving two years ago. Hopefully the next version will have more functions and flexibility. ( @Barry ?? )
For now, to get a full report, temporary go off-line, generate report will give two options to the file it can create, use csv and open in excel. This was the original report, before this on-line version. You need to sort and filter this to suit your needs. It is possible to create an excel VBA script that builds from this data, a report specifically suited for your company, for such you can private message me.
To preserve the layer assignment, you can nest the object assigned to the layer in a group and copy that.
You can use the selection report after selecting all the component copies, it will give a report , see example attached. I saved a report to the file so after selection it will fill. But not what you are after, too clunky, messy.
DC inbuilt copies test.skp (1.2 MB)
looking at the report, it would seem the DC stores over 18000 references to different states(?)
on another outcome , if you use a group as the “copy builder” then the file is 1/3 smaller
DC group inbuilt copies test.skp (400.0 KB)
Further to using DCs wisely and economically,
So first right click, saveas a definition with not too many copies (low file size) if you have not already got one in a folder, Create your monster. then you can explode the contents of the DC to simplified form, inside the parent explode the copied groups (or component as per first example) to leave the components contained
then do the report as per normal,
DC inbuilt copies -explode contents- test.skp (123.1 KB)
Now if you ever want to alter this DC, then reinstate it with the previously saved one
Note as mentioned before, this nested component can be on its own layer, only the "copies builder with its “0” layer copies is destroyed.
Sometimes outer shelling and other solid tools maybe used in the simplification, once a work flow is formed, a script can be made to do this for you…so after DCs …ruby?
Wow, thank you very much for the indepth answer. Sorry for the delay Ive got carrier away on another project and completely forgot about this thread, but now Im back on it.
Alright, so if I understand correctly I should use excel instead and generate a report externaly. Then use scripts and such to get something clean and readable. I didnt know it was possible, I will have to look up tutorials and other useful information before going foward with that solution.
Thanks for putting me on the right path!
No, I believe the best way is to explode your sub components, leaving the parent as per the example then you can get a report on all the copies. Then if needed reinstate it again by right click/dynamic components/ component swap with the saved definition. i highly recommend that you use this method to simplify your DCs , you can send your panel for me to check if you want,
The other report means you have to close sketchup and go off line, reopen and do the report then close again before going back on line
if you really need this report then download a 2016 copy, prior to this new report writer. Then you save to this version for your reports
Hmmm alright so exploding the component it is. I didnt know about the “reinstate” feature, will have to check it out. I wondering how it works with copies, will see when doing some tests. I guess I will just tell people when they are done with their floor planning to explode the partitions then generate a report. If reinstating work well I guess it wont be an issue to come back and make changes.
Thanks for the help!
Hello, it is 4 years later but I still find this as a problem. I use a lot of dynamic components which have nested components. As long as theese nested components have copies which are all the same, there is no problem. But when some copies differ eg. by “Entity Volume”, the online reports generator still reports all of them with attributes of the first copy, ignoring the other copies. I assume the online Reports Generator is not taking into consideration “instances” of the component. I can also observe that the attribute called “Path” does not show the instances. However, the attribute “Path” shows the instances in the v1 reports, but I loose the smart fuctions of online reports which I like very much. And going offline to be able to generate the right set of data is just little anoying… Any ideas?
A parent that has the data, contains a sacrificial copy mechanism of a component that contains the DC to be repeated, positioned and resized. On explosion of the sacrificial we are left with a parent with just the components. Easy to take off!
Attached is such, you can manually select the “shells” to be exploded via outliner. Obviously a ruby script can do this and freeze the parent too. The z_script acts as a flag for a code that "X"plodes that component.
copies and reports.skp (120.3 KB)
Note: You can reactivate with a swap to the previous definition, or incorporate “CURRENT” values to swap with similar
The above is a work around, as you suggested the instance values are not used. You can see the two attribute collections using Areilius’ Attribute Inspector. Drawing Elements for instances and component definition the one that report uses.
You will find that simplifying has many benefits, especially preserving your intellectual rights, can create complex and export simple.
I know what you mean but If we have 40 DCs, exploding them and reinstating every time we save a version is just not an option. Is there a chance online Reports could also have a filed “Path/instance” added so that they can report per copy of the component?