Basically I am making grooves for a tiny coil of diameter like 0,5mm on a small cylinder body. I have made my 'groove', and revolved it around the axis of the cylinder and then patterned it using fixed spacing (pitch).
But I have to manually adjust the length of the cylinder body sketch to make sure it doesn't get interrupted.
Let me break it down to two objectives.
I hope it is clear now. What is the best way to go about this? Table? The first objective if fulfilled, I can do the second point manually but it would be great if there is a way to do both.
Area fill pattern? But there is no area per se because my groove sketch revolves around the cylinder 360 degrees.
I don't see a way for the total 'whole' members to be determined automatically with fixed spacing because I have to define total number of members manually.
I am on CREO 10,0.7.0
Solved! Go to Solution.
PTC_ACTUAL_PAT_MEMBERS is a feature level parameter that belongs to a specific pattern. To insert it into other relations use the [] button in the relations editor, and then look for it by pointing out the pattern feature:
You can control it through relations. Create measurement before groove, create pattern, then create relations.
YY = (DISTANCE:FID_MEASURE_DISTANCE_1-d5-d4/2)/D14
Y = CEIL(YY)
P15 = Y
Where DISTANCE:FID_MEASURE_DISTANCE_1 is a saved measurement of the cylinder (you could also use the length value of the extrusion), d5 is the offset to first groove, d4 is width of groove d14 is pattern spacing an P15 is number of instances. A manual regeneration is required to update it when a change is made.
attaching .prt or .step files is not supported. It's basically a cylinder of two diameters (one bigger than the other) and a ramp between them for the transition. I wanted to have grooves on both surfaces.
Put the part file sin a .zip file and then you can upload them.
Thank you. I want to automate this with the length adjusted in a way that the angle there is always at 75 degrees in the 'boundarycondition' sketch.
Hi @Shumayal
Could you please explain your request?
Do you want the height to be determined by the length of the groove, or will the groove and the number of occurrences determine the height?
Hi,
I want the height to be determined by the groove and the number of occurrences to determine the height.
INPUT:
OUTPUT:
Start by defining the inputs with relations. The use relations and construction geometry in the sketch.
Here a part with relations and a sketch.
Thank you for the file. I have made the relations. Now I am stuck at how to define the height based on the patterns n1 and n2.
It has the same name for both patterns with different values?
PTC_ACTUAL_PAT_MEMBERS is used for both patterns. I want to make sure the last pattern always merges with the ramp as shown in picture. To determine the height of cylinder, I need the relation to call out the two patterns separately. But I see them listed as seen above. They may or may not be equal to each other.
In this PTC_ACTUAL_PAT_MEMBERS = 16 and 18.
PTC_ACTUAL_PAT_MEMBERS is a feature level parameter that belongs to a specific pattern. To insert it into other relations use the [] button in the relations editor, and then look for it by pointing out the pattern feature:
This solved my pattern problems.
Now I have the problem of fillet. I don't want to add it to the sketch to avoid further complication.
Is there any way that the fillet will automatically select the relevant edges of the grooves according to the pattern without using autoround on everything? If I alter the pattern, I lose the rounds.
Round the first instance and pattern by reference.
Unfortunately the first instance is 'merged' with the pattern. A different question, Is there anyway to avoid redoing the pattern and so I can just round the first round? The "Seed" has been absorbed.
Have you tried patterning the round (by-reference) ? Often (sometimes?) that works.
Another way you could try is to group the extrusion + round and pattern the group, although in your example, that doesn't quite work as the round seems to 'straddle' the successive pattern instances.
Yes, it is straddling across. that's the challenge. I will explore the round by reference method.,
Perhaps another way to tackle this design is to pattern material-adding elements (triangular-cross-section revolving ridges) - instead of material removing grooves?
That would allow you to apply the round and then pattern by reference:
The pattern by reference works perfectly in my current situation but I cannot have it 'skip' the first instance that is the seed. so it returns an error. I tried 'disabling' the first instance by selecting the first circle and deactivating it but the first instance I can disable is only the one after the seed. Also can't suppress it because it is also the seed.
I tried a geometry pattern and it worked perfectly, I just had to define the pitch spacing. But now I can't recreate it anymore. I had done something where I clicked the pattern after the round in geometry pattern and it worked without errors. I wish I could undo it to see how I had done it.
I tried putting in the number of instances into another parameter called H1_Members and I tried floor function but continue to get the error that it is not in range even though it is marked as a 'real number'. I thought it was because of 16.0 so I used the below function to make it 16 but it still wouldn't take it into the 'members' of geometry pattern.
H1_MEMBERS = FLOOR(PTC_ACTUAL_PAT_MEMBERS:FID_H1PATTERN)
I can add another revolve feature to take care of this but for that I need to add another sketch after the original revolve but before the pattern. Is there somehow to convert a 'pattern' to 'geometry' pattern or to bring the child outside from an existing pattern?
Unpattern will remove all members from the pattern (making them features with no pattern) but I am not aware of a way to externalize a single patter member.