DC Behaviors list
-
Hi All- thanks in advance. I've been working with SU/Pro for about one month. I am by no means a programmer so bear with me.
I have built a DC and figured out the attribute ability, but really want to better explore this. I have started writing formulas and understand the basics, but need to take the next step. Does anyone have a list of what SU will recognize? Darned if I can find it anywhere. -
Hi Whit,
Welcome to the forum.
For DC's, it all starts from here:
The Function Examples provides a comprehensive list of available functions for DC's.
We also have a forum dedicated to Dynamic Components, so if you have a question - please don't hesitate to ask.
-
@jim said:
Hi Whit,
Welcome to the forum.
For DC's, it all starts from here:
The Function Examples provides a comprehensive list of available functions for DC's.
We also have a forum dedicated to Dynamic Components, so if you have a question - please don't hesitate to ask.
Thanks Jim.
I may be going about this all wrong, but I'm trying to make something very specific.
What I want is: to generate copies of a component which land in the model on the same plane as the original and equally spaced apart. I see how to do the stretch function, but I need individual copies, in AutoCad it is the array function. Can you point me in the right direction? -
Can yoiu be more specific?
I'm not entirely sure you need/want a DC just for that. You can use the Move Tool to create equally spaced copies of entities.
If you do want a DC, then there is a built-in Copies attribute which can be set to the number of copies you need. Then each position can use the built-in COPY variable. For example, to space out the copies in a DC along the X axis:
X: =COPY*5
will position the copies every 5 inches. Each copy has a built-in COPY variable which equal to its unique copy number. (starting at 1 and going to whatever is set in Copies)
Confused?
-
@jim said:
Can yoiu be more specific?
I'm not entirely sure you need/want a DC just for that. You can use the Move Tool to create equally spaced copies of entities.
If you do want a DC, then there is a built-in Copies attribute which can be set to the number of copies you need. Then each position can use the built-in COPY variable. For example, to space out the copies in a DC along the X axis:
X: =COPY*5
will position the copies every 5 inches. Each copy has a built-in COPY variable which equal to its unique copy number. (starting at 1 and going to whatever is set in Copies)
Confused?
Yes, as soon as I posted this I figured out the hold down ctrl and copy ability. Very Cool! That should be sufficient for what I'm up to, thanks for the help.
-
@whit said:
I may be going about this all wrong, but I'm trying to make something very specific.
What I want is: to generate copies of a component which land in the model on the same plane as the original and equally spaced apart. I see how to do the stretch function, but I need individual copies, in AutoCad it is the array function. Can you point me in the right direction?I think what you want is to add 'Position' attributes X and Y and define them based on the 'Copy' variable.
Attached is an example that creates columns and rows of a fixed size solar panel by scaling the frame that wraps around it. X and Y for each copy of the panel are defined as follows:
X=solar_array!frameThick+(rowXLenX)
Y=solar_array!frameThick+(rowYLenY)'rowX' and 'rowY' are custom attributes of the panel, defined as follows (note use of 'Copy'):
rowX=FLOOR(Copy/solar_array!numY)
rowY=Copy-(rowX*solar_array!numY)'numY' (and 'numX', which is not used here for positioning) are computed at the top level of the component hierarchy, along with the exact dimensions of the surrounding frame, based on the number of panels that will fit within the re-scaled frame (by dragging its edges):
LenX=CEILING((current("LenX")-(2frameThick))/sun_power305_single_crystalline!LenX)sun_power305_single_crystalline!LenX+(2frameThick)
LenY=CEILING((current("LenY")-(2frameThick))/sun_power305_single_crystalline!LenY)sun_power305_single_crystalline!LenY+(2frameThick)And some code to make sure the minimum size contains one panel (not zero!).
I now frequently use DCs like this instead of move/copy; there are advantages.
Solar array will scale in two dimensions by replicating a single panel as needed.
Advertisement