cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Did you know you can set a signature that will be added to all your posts? Set it here! X

Cricle Pattern Relation.

MA_10759611
4-Participant

Cricle Pattern Relation.

I have a disc with a diameter of 120 . On the side of the disc, there are bolts arranged in an axis pattern. Currently, I use a 60-degree angle from the center to position 6 bolts around the circle. However, if I change the diameter of the disc, the number of bolts remains fixed at 6.

I want to establish a relationship for the curve pattern so that as the size of the disc increases, the number of bolts can also increase in proportion to the disc size in the axis pattern. I am aware that for a straight line, one can use the 'ceil' function, but I am unsure of how to apply this to a curved surface.

Please refer to the example pictures below. The last picture illustrates an increased disc size, but the number of bolts remains the same.

 

 

The last picture is the increased size but the bolt remain the same.

1 ACCEPTED SOLUTION

Accepted Solutions

I was given to understand that you wanted to implement something that would let you automatically increase/decrease the number of bolts when the overall diameter of the part was increased/decreased. I didn't know what your logic was as to the criteria for how many holes were needed, figured it was based on circumferential length or something.

The simplest way to do this would be to require the bolt pattern to be evenly spaced over the full circle. Specify the number of bolts, and let it calculate the angular pitch between them. 9 bolts -> angular pitch = 360 / 9 = 40 degrees, 15 bolts -> angular pitch = 360 / 15 = 24 degrees, etc.

If you want to have the bolts be equally spaced but you want to have something like a "maximum angle" for the pitch, i.e. an angular pitch you don't want your bolts to exceed, you could do something like:

/* Set maximum angular pitch.
/*
angMax = 60.0

/* Use maximum angular pitch to calculate pattern spacing.
/*
numHoles = ceil ( 360.0 / angMax )
angHoles = 360.0 / ( numHoles - 1 )

View solution in original post

5 REPLIES 5

1. **Determine the Bolt Spacing**: Choose a fixed distance between the bolts. Let's say 20 mm.

 

2. **Create a Relation in Creo**: In the relations dialog, input the following:

```
bolt_spacing = 20; // Your chosen bolt spacing in mm
num_bolts = ceil(PI * d0 / bolt_spacing);
```

Here, `d0` is the diameter dimension of the disc. Replace `d0` with the actual dimension name of the disc's diameter in your model.

 

3. **Apply the Relation to the Curve Pattern**: Use the `num_bolts` variable to define the number of instances in your bolt pattern.

 

This relation will automatically update the number of bolts as the diameter of the disc changes, keeping the spacing between bolts consistent.

Michael P Bourque
Boston Regional User Group

My understanding of your intent is you want to space out a set of bolts, evenly around the outer diameter. The number of bolts is somehow related to the size of outer diameter.

 

My usual approach to such a thing would be:

(1) Define the first bolt hole.

(2) Make an axis pattern for that hole, using the center axis of the part. Use some random angle like 15 degrees, or whatever, 2 members.

(3) Change the name of the number of holes in the pattern to something like "numHoles", angle between instances to "angHoles".

(4) Use relations to make the pattern equally space the holes based upon the number of them.

angHoles = 360 / numHoles

(5) Apply whatever logic you wish to make the numHoles dependent on the outer diameter (diaOuter) of the part. If you have a maximum linear distance you wish to maintain between holes, say "maxHoleDst", you could define it as:

numHoles = ceil ( PI * diaOuter / maxHoleDst )

As suggested by @Michael .

I always rename the dimensions I'm going to use in relations to make it clear to future me or someone else what the parameters and dimensions being used represent.

Also, be sure to implement the same calculations in any parts that are going to mate with this part, so everything is nicely matched up as you make changes to the design. When it's set up properly, this stuff is very cool.

 

MA_10759611
4-Participant
(To:KenFarley)

Thank you for you response.

 

Just one question my bolt distance is in degrees lets say 60 degree from the center axis of the disc. how can i enter that in relation ?

 

bolt_spacing = 60 degree; // Your chosen bolt spacing in mm
num_bolts = ceil(PI * 200 /60degree);

 

 

To incorporate the bolt spacing in degrees into the relation, you need to adjust the formula to account for the total number of degrees in a circle (360 degrees). The number of bolts would then be the total degrees (360) divided by the degree spacing between each bolt.

 

Given your example, where each bolt is 60 degrees apart, you can calculate the number of bolts as follows:

 

bolt_spacing_degrees = 60; // Your chosen bolt spacing in degrees
num_bolts = 360 / bolt_spacing_degrees

This formula will give you the number of bolts that can fit into a 360-degree circle with each bolt separated by 60 degrees.

 

In your relation in Creo Parametric, it will look like this:


bolt_spacing_degrees = 60
num_bolts = 360 / bolt_spacing_degrees

Since the bolt spacing is in degrees, it's independent of the disc diameter. This means the number of bolts will remain constant regardless of the size of the disc. If the diameter of the disc changes, the physical distance between the bolts will change, but the angular distance (60 degrees in your case) will remain the same.

 

~ CreoVerse

Michael P Bourque
Boston Regional User Group

I was given to understand that you wanted to implement something that would let you automatically increase/decrease the number of bolts when the overall diameter of the part was increased/decreased. I didn't know what your logic was as to the criteria for how many holes were needed, figured it was based on circumferential length or something.

The simplest way to do this would be to require the bolt pattern to be evenly spaced over the full circle. Specify the number of bolts, and let it calculate the angular pitch between them. 9 bolts -> angular pitch = 360 / 9 = 40 degrees, 15 bolts -> angular pitch = 360 / 15 = 24 degrees, etc.

If you want to have the bolts be equally spaced but you want to have something like a "maximum angle" for the pitch, i.e. an angular pitch you don't want your bolts to exceed, you could do something like:

/* Set maximum angular pitch.
/*
angMax = 60.0

/* Use maximum angular pitch to calculate pattern spacing.
/*
numHoles = ceil ( 360.0 / angMax )
angHoles = 360.0 / ( numHoles - 1 )
Top Tags