Skip to main content
16-Pearl
August 1, 2018
Question

Screw with variable length

  • August 1, 2018
  • 4 replies
  • 6558 views

I want to create a library part of a screw, as a skeleton. The screw geometry will then be copied over to another part via copy geometry, with a specific length to suit the design need. How do I allow the user to adjust the length each time the geometry is copied over? I tried using pro/program with an input prompt on the length but it will prompt for the length input each time it's regenerated, not good. I just need the length input once, how to do it? Thanks for your help.

4 replies

HamsterNL
18-Opal
August 1, 2018

Usually you want to create a Family Table for screws.

BHOoi16-PearlAuthor
16-Pearl
August 1, 2018

Yes, Family Table is one way and it's easier to deal with. But the table can only cater for predefined lengths. In my case, I would like the length to be a variable and to be set by the user prior to the copy geometry. Any idea?

HamsterNL
18-Opal
August 1, 2018

Ok...so how about Flexible Components?

HamsterNL
18-Opal
August 1, 2018

@BHOoi wrote:

I tried using pro/program with an input prompt on the length but it will prompt for the length input each time it's regenerated, not good. I just need the length input once, how to do it? Thanks for your help.


You could try this. Your part will need to have a default length of 999. If you regenerate, PRO/Program will ask for input because ASK_FOR_INPUT is YES.

 

As soon as you enter a different value, ASK_FOR_INPUT will become NO, and PRO/Program will stop asking for input.

 

VERSION 4.0
REVNUM 527
LISTING FOR PART PRT0001

INPUT
 IF ASK_FOR_INPUT == YES
 CUSTOM_LENGTH NUMBER
 END IF
END INPUT

RELATIONS
IF CUSTOM_LENGTH <> 999
 ASK_FOR_INPUT = NO
ELSE
 ASK_FOR_INPUT = YES
ENDIF
END RELATIONS
HamsterNL
18-Opal
August 1, 2018

Oh, if you want, you can rewrite the IF...THEN statement to a single line:

 

ASK_FOR_INPUT = (CUSTOM_LENGTH == 999)

BHOoi16-PearlAuthor
16-Pearl
August 1, 2018

I am still on Creo 2.0. Is that "ASK_FOR_INPUT" available in Creo 2.0?



 

21-Topaz II
August 1, 2018

Another thought would be to use an inheritance feature instead of a copy geometry.  In an inheritance feature, you can allow certain items to vary, so the screw could be modeled complete as the generic and each inherited model would allow for the length to vary.  Not sure how you'd integrate a prompt for length in there, but editing one feature isn't that difficult.

 

I would tend to agree with @KenFarley, however.  A predefined family table with specific screw options may be better.  This will prevent specifying screws that don't exist and can encourage your designers to limit themselves to the screws that you typically stock.

BHOoi16-PearlAuthor
16-Pearl
August 1, 2018

yes! I ended up using inheritance feature. One issue with this is that it copies entire file over. Anyway, thanks for the input

23-Emerald III
August 1, 2018

Coming in after many suggestions with my $.02.

 

The problem I see with the pro/program, copy geom or inheiritance features is that you have to do a save as when done to capture the length for future use. Unless you have a defined method of naming hardware, designer A names the 3/8-16 x 1.000 Zinc plated one way and designer B uses the same part but names it differently. Now you end up with many parts that are identical. The flexible part always uses the generic for its base, but you have to stretch each item every time you use it. You also have no control over the length that a designer may use and they may use a non-standard length.

 

I am a fan of family tables. They allow you to build every combination of standard lengths into the table and each has a unique part number that can be searched for and reused. Adding a Standard column may be desirable but that also leads to more modifications of the family table when lengths get added or removed from your standard length usage. I built my family tables for socket head cap screws to be all diameters from #0 to 1-1./2 and lengths up to 6". I used both Fastenal and McMaster-Carr catalogs as my references for the standard available lengths. It gives the designers a nice range of parts to select from and very easy to change if they need a longer or shorter length. Our finding is that seldom does a designer increase/decrease the diameter of a fastener, but it is just as easy to replace that too.

 

KenFarley
21-Topaz II
August 1, 2018

To prevent random text being assigned to the fasteners I've adopted a "build the text" approach, where the stuff that gets put in the description column of a bill of materials (I call it DescriptionBOM) is built based on the dimensions of a particular instance, like "M6x1.00, BlkOX, 20MM LONG". It took a while to define, but with 100s of fasteners it's saved me tons of time every time I need to add a bunch of new instances for a project.

23-Emerald III
August 1, 2018

That is also a good reason for using family tables. You can control the text in the description fields that go in to the BOM text. My diameter, thread, length and finish are all derived from parameters that are carried in the FT. Change one and verify the table and everything is updated.