I have not been formally taught how to use PTC software so have learnt everything by intuition, playing, a few guides and the help of you on here.
However having said all of that, I am somewhat confused on the method of correctly assembling a counter sunk screw into a countersunk hole. What makes sense to me is to:
1) Make the cylindrical part of the screw centered on the cylindrical part of the hole, or use axis alignment if there is no cylindrical part (material too thin)
2) Make the conical surface of the hole coincident with the conical surface of the screw.
Now to me there is nowhere else that screw can be than fuly mated in the hole. However Creo is saying that the screw is only partially constrained, how can that be?
Solved! Go to Solution.
I've done it!!!!
Constraint1 = COINCIDENT conical surface of screw head to conical surface of hole.
Constraint2 = TANGENT conical surface of screw head to conical surface of hole.
Screw is not fully constrained (it can be dragged out of the hole or rotated) but by default appears in the right place and will move up and down depending on the geometry of the hole.
No need to create extra datums.
Can it still spin in the hole? In Wildfire (I haven't yet upgraded), if you check 'allow assumptions' it should show as fully constrained. Alternatively, you could also orient a datum through the axis to one of your assembly datums...
I can't say for sure in Creo since I'm not using it but Wilfire 5 what I've noticed is when you select the conical surfaces it creates an insert constraint. However, it appears that what it does is aligns the axes and because of this you can flip the direction of the constraint and the part will flip its direction which is the reason it is only partially constrained. You have essentially created the same constraint. You will need to select the mate constraint from the list first and then select the conical surfaces. I believe it's possible to constrain a countersunk screw with a single mate constraint with the allow assumptions checked.
if you are working in CREO then you should check for remaining degees of freedom while assembling.(check the image below)
1.Whether you select cylindrical part to cylindrical part or conical part to conical part ;CREO will consider it to be a co-axial constrain. Even after these 2 constrains you will see one degree of freedom(because it will not consider conical surfaces as mate or aline constrain)
2. you must give another constrain to limit the remaining degree of freedom(a distance constrain(mate and aline constrain in wf) between the top flat surface of the conical part and the flat surface of the counter part will do)
In order to fully constrain it, you can create a geometry point on both the diameter edge of the screw and diameter edge of the hole, and constrain those two points.
I think I understand what you are saying but my problem still is that I can't dimensionally constrain the top surface of the screw to the top surface of the sheet metal part containing the countersunk hole because that is the dimension I am trying to establish.
When the head of the screw sits in the countersunk hole I need the geometry to establish if it is proud, flush or sub-flush to the surface of the sheet metal part when the conical part of the screw head is sitting tight against the connical part of the hole. If the size of the counter sunk hole in the sheet metal part is changed then the screw head needs to automatically move up and down relative the the top surface.
I think I need a bit more play time.
I've used Point On Surface to constrain awkward, conical geometry before. It's usually more reliable to specify the type of constraint before selecting references; then find a vertex at the minor diameter of the hole countersink, and use the conical surface of the fastener head.
You'd want an axis or cylindrical Insert as the first constraint.
A distance constraint that Kshetrebasi is speaking of can be a coincedent constraint between the top surface of the part and the top surface of the countersunk screw.
What Jonathon says below is correct: you'll want to do either an axis constraint or an insert constraint first.