(Generate Report) Export coördinates that reference a components origin in stead of the 'world' origin

Hi all!

One of my clients uses Sketchup to design different modular frames. He has recently bought a robotic arm that will be used as a very fancy nailgun so to say haha. The robot needs coordinates to do this correctly, and we have used the Sketchup ‘Generate Report’ function to extract the needed coordinates.

So far this has worked fine. In a nutshell, someone lays out ‘pre-sawn’ wooden beams on a table as drawn in Sketchup and the robotic arm shoots nails using the coordinates of a ‘nail component’ that is used in the Sketchup file.
However, my client wants to take the whole process a step further. He has bought a new machine that will join beams together lengthwise to reduce waiste. The machine then cuts the ‘infinite’ beam to lenght and a robotic arm will then drill holes in specific places using coordinates extracted from Sketchup.

Now, the problem is as following. I can get Sketchup to exract coordinates from the ‘world origin’, but what we now need is to be able to extract coordinates that reference the origin of a specific component in stead of the world origin.
I have inserted an example picture below.to hopefully make things a little bit clearer:

A: World origin
B: Desired origin to use in ‘Generate Report’
C: Nail component.

Getting coordinates for C with reference to world origin A works fine. What we would like to do is getting coordinates for C with reference to the origin of component B.

Any help is appreciated! I hope I explained it right but I can imagine it is total JibberJabber haha

could insert X (nail component) at point(s) within the timber component which have center lines to help placement (end point to mid point) with x-ray view

frames.skp (32.8 KB)

however, could use DCs to improve this, but same concept

Thank you very much for your reply and effort! Unfortunately this isn’t exactly what I am looking for, unless I am missing something in your answer and SK file.
We have no problem in getting coordinates for the nails with reference to the world origin. That works just fine. What we would like to do is getting the coordinates for ‘C’ with reference to origin ‘B’ (coordinates of ‘B’ being 0, 0, 0.)

I’m sorry if I am not being clear. English is not my first language and when trying to explain such a specific thing I guess I kinda struggle to find the right terminology.

before placing the nail component open “C” component
or select nail positions. use cut and then open C, then use “paste in place”
or move then via outliner

the position of the hole would then be inside the member.

timber frame.skp (133.6 KB)

It seems that using the path as the key (group by) gives the data required, a VBA excel routine could sort this and give a clean report (I can set this up, if you set out the excel table and data scheme

I added the line with control at frame level, the instances have been activated so can change the instance and all will update, except the label, that has to be deleted and reinserted as not dynamic.

Thank you very much again!

I will look into it a little bit later since I have some busy days coming up.
Your effort is being appreciated a lot!!

a different concept:
made a scalable DC box that can be inserted at the joint, then the hole/ nail configurate and size could be control and pick up as data attributes in the list

Basic idea
alternate.skp (68.2 KB)

so no need to change the framing, just check object axis and move/change DC box to suit

I finally had time to continue working on it. And thanks to you I managed to get the right data out of it!
Not only can we get the coordinates for every piece of timber (“BALK”) with reference to the ‘world origin’, but also the coordinates for the drill holes (“BOORGAT”) and the dowels (“DEUVEL”) with reference to the different beam origins!

Because of the way the robotic arm works I have had to make different dowel patterns for the left, right, top, bottom, front end & back end which seems to work fine.

Thank you again very much for your time and effort!