DC add copies based on Parent!LenX


I’m having a go at building a dynamic component for a piece of unistrut to allow x-scale only and have the cut components added with correct size and spacing.
So far only getting one copy… I’ve watched Aarons lovely instruction a few times and mostly pulled from the sample model.
I’m clearly missing something.
last piece after this will be to explode inside and outside components so both will cut the faces.
Any help or direction is greatly appreciated

its much easier working with the component that you have created to get the right context and deliver a solution

should be copy not copies-1

= initialgap + copy*spacing
1 Like

Thank you pcmoor. That did the trick. Strange, the video I watched from Aaron made a custom variable for “copies”, but called out “copy” in the z positioning formula, my misunderstanding.
My next step is once the cut components are in place to Explode them so them can cut on both sides of the double wall face. I’m searching for a method to accomplish this. was hoping an onclick could trigger the child explode, open to ruby but still a noob in that protocol. Thank you

you could integrate the cuts on the raw surface?

exploding and other functions need to be implemented using ruby, this is possible by creating an attribute to instruct the script. I use z_pcmoor_code as an attribute with comma separated letters like U,X,X to make a manifold from a multi-part. So if selected and the attribute exists, the script would union the subs, then explode just to leave the parent with its attributes as read only.

But hopefully the video solution will suffice

This looks promising. I think i can make attributes that pass the locations for the cut groups from the parent component. This might just do it. I will practice and post mu results.
Thank you more pcmoor :smiley:

I rewatched a video on making a double sided cut out DC.
trick was in the order you build the pieces. First make the substrate and make it component.
then in the component make the cut shape, make that shape a group, push it through the substrate and remove the face.
I made a copy of the back face and edges of the push/cut section.
then out of that group but still in the component past the back face and edges in place make that a group. open the group and delete just the face not the edges.
Now, back to the component, move a copy of the pushed group. then move a copy of the back group. these copies should cut holes through the substrate component.
From the outliner, select both front groups and make a component, that glues to any face, and cuts face, replace object with component, delete second copy of original push you moved. Do the same with back face, convert to component as glue any and cut. Then you add the DC attribute for size and place.Unistrut_DC.skp (218.8 KB)

Last thing I’d like to figure out with help.
On real unistrut the holes are 2" on center no matter how long the strut is startin 7/8" from the start edge. So if you cut it at say @ 3" you will bisect a hole.
Is it possible to have a bisected section of the component that makes the hole?
I am using the scale tool with only X axis to stretch the substrate and then code to apply the holes, is there a way to slice the remaining hole edges that would stick past the end if i used num=lenx/part (with -1 limits one from going over the edge)
Thank you in advance