Hello,
I have a question about manufacturing family parts.
I have 2 parts ruled by a family table. Simple parts, one with a M8 threaded hole and the other with a 8.4 countersink hole. This is the only difference between the 2 versions.
The 2 versions/functions cannot cohexist in the generic part because the threaded hole and the countersink are both chamfered. The geometry for the chamfer on the threaded hole is destroy by the countersink fonction and vice versa for the chamfer and the countersink. In the generic part ONLY i am forced to desacivate one of the 2 fonctions. No problem with childs parts.
Due to this specification is it possible to have one manufacuring assembly with a "selection " version threaded or version 8.4 ? Or am i forced to have 2 manufacuring assembly with both "child" parts ?
Thanks in advance
Solved! Go to Solution.
So the goal would be that you want to have a part and be able to define the machining sequences that are common to all the parts, then have additional sequences that are needed for each instance. You can do this by bringing each instance into the manufacturing assembly, then defining all the sequences for each instance. This works fine, but you need to repeat the common sequences for both. Kind of inefficient, but it gets the job done.
Another approach might be to bring in one of the instances, define all the sequences needed for it, including for the features that are only present in this instance. That gets all you want for one of the parts.
The next thing you could do is suppress the sequences that are only for this instance, then replace the instance with the other one. You'll still have all the common sequences, they should be okay, as long as none of them were defined based upon the unique features of the previous instance.
If all is well with the second instance, all common sequences are good, now you define the machining sequences to cut the unique features of the second instance.
Whenever you want to work on one or the other of the instances in the future, you suppress the unique features (you could group them to make it easier), switch to the instance you want to work with, then unsuppress its unique machining sequences.
This takes a bit more planning, but it is pretty nice if you have a lot of common machining steps that you don't want to repeat. I've used this kind of thing for cases where I needed to have engraving or some other identification on only one instance, etc.
Hopefully I'm not just repeating what someone else has suggested...
When I've had to do this in the past I just bring both instances in. You can have as many parts as you want in a manufacturing assembly.
In Creo, addressing your scenario with family parts where one has an M8 threaded hole and the other has an 8.4 countersink hole, and both versions cannot coexist in the generic part due to chamfer geometry issues - you can indeed manage this using Family Tables and possibly Simplified Representations within a single manufacturing assembly.
Here's how:
1. **Family Tables for Part Variants**: Utilize a family table to create the two different part variants – one with the M8 threaded hole and the other with the 8.4 countersink hole. The family table will allow you to manage these variations efficiently within a single part file.
2. **Handling the Chamfer Issue**: In the generic part, you can configure the chamfer feature to be dependent on the variant being used. This can be done by setting up parameters in the family table that control the activation or deactivation of the chamfer feature depending on whether the part is the threaded hole version or the countersink hole version.
3. **Single Manufacturing Assembly with Selection Option**: In the manufacturing assembly, you can then incorporate these family table variants. This will allow you to choose or switch between the threaded hole version and the 8.4 countersink hole version as needed without the necessity of maintaining two separate manufacturing assemblies.
4. **Using Simplified Representations**: If there are additional complexities in the assembly due to these variations, Simplified Representations can be used to manage different assembly states. Each state can represent a different configuration of the assembly, showing either the threaded hole variant or the countersink hole variant as required.
5. **Streamlining the Design Process**: This approach will help you manage the design variations efficiently, allowing for easier updates, quicker visualization of different states, and more streamlined documentation and manufacturing processes.
6. **Validation and Testing**: Ensure that both variants function correctly within the context of the manufacturing assembly. Test the assembly with both variants to identify and resolve any potential issues.
By leveraging Family Tables for part variation and potentially using Simplified Representations for managing assembly configurations, you can achieve a flexible and efficient design process in Creo Parametric, catering to the specific needs of your manufacturing scenario.
~ CreoVerse
Hello, Thanks for your 2 answers.
I try to bring both instances in my manufacturing assembly as you recommand (Michael your point 3). I have an other question :
I attach my common milling features (facing, contourning etc.) to the variant countersinked. I have to choose one of the two. And after i added countersinked feaures attached to the variant countersinked and the threaded features attached to the threaded variant.
But In manufacturing variant threaded i can't use component option in the family table to hide/desactivate the countersinked variant because i use it for my generic operations. I am obliged to have the 2 variant parts in my 2 variant machining . Right ? I can just hide it properly in each assembly.
So the goal would be that you want to have a part and be able to define the machining sequences that are common to all the parts, then have additional sequences that are needed for each instance. You can do this by bringing each instance into the manufacturing assembly, then defining all the sequences for each instance. This works fine, but you need to repeat the common sequences for both. Kind of inefficient, but it gets the job done.
Another approach might be to bring in one of the instances, define all the sequences needed for it, including for the features that are only present in this instance. That gets all you want for one of the parts.
The next thing you could do is suppress the sequences that are only for this instance, then replace the instance with the other one. You'll still have all the common sequences, they should be okay, as long as none of them were defined based upon the unique features of the previous instance.
If all is well with the second instance, all common sequences are good, now you define the machining sequences to cut the unique features of the second instance.
Whenever you want to work on one or the other of the instances in the future, you suppress the unique features (you could group them to make it easier), switch to the instance you want to work with, then unsuppress its unique machining sequences.
This takes a bit more planning, but it is pretty nice if you have a lot of common machining steps that you don't want to repeat. I've used this kind of thing for cases where I needed to have engraving or some other identification on only one instance, etc.
Hopefully I'm not just repeating what someone else has suggested...
Exactly for the goal. And exactly too for the inefficience of copy all common features in all instance in the same assembly. Above all if in 6 month I want to change a tool or parameters, I will have to remember to change it in all copy.
I tried the solution with having only one model and changing it depending on the desired version but it does not work. When you suppress the machining sequences and change the initial instance for an another it works but when you re replace the initial instance and reactivate its sequences : Error !
Indeed for exemple, in the drilling for the threading, the axis used for the sequence is no longer existant due to the change of the instance. I fix it but same problem when switching to the countersink sequence. Axis does not exist in the previous instance even if the function was not activate. Infinite loop… It seems to creo keep in memory references even if they are suppress and do not like the changement of model…
I think, the most practical solution and the less dangerous is to have one assembly and all the instances including the generic version. All common features will be attached the the references of the generic version and each particular features on each corresponding instance. Family table for pilot instances and hiding with « save status » in the layer tree of each instance.
I can post pro the correct « personalised » G-code on each instance.
Thanks everyone for your help.
You have to be very careful defining the sequences for the two different versions. I did a test and it works fine, the things I did were:
(1) Bring version "1" into the manufacturing assembly.
(2) Define all the sequences needed to put the common features into either part. Cutting the perimeter, drilling common holes, etc.
(3) Define the sequences that ONLY apply to version "1".
(4) Suppress all the sequences defined in step (3).
(5) Replace the version "1" part with version "2".
(6) Define the sequences that ONLY apply to version "2".
When I want to create the NC file for version "1", I have to suppress all version "2" sequences, switch to version "1", then unsuppress all the sequences that apply to version "1".
Similarly when I want to create the NC file for version "2", I have to suppress all version "1" sequences, switch to version "2", then unsuppress all the sequences that apply to version "2".
You have to be very careful not to use any datums that are in any way tied to either of the versions when defining the manufacturing coordinate systems, planes, etc. To be extra careful, I'd probably define those in the model, before defining any of the features needed for either version "1" or "2".
This is definitely a situation where you want to plan ahead when building the model, so that the manufacturing work will be easier.
If you cannot mill both parts next to one another, there are few options available.
I prefer to prepare one manufacturing assembly, with a family fable member part, with proper operations' naming, and then make a copy of this assembly with a new name, that matches the name of the second family table member.
mfg_xxx_inst1
mfg_xxx_inst2
By doing so your name of gcode will always match the operation and the model name.
And in 6 months when you will reopen this model, you will not have to remember what was inside, and how it was done.
mfg_xxx_inst1_op1.nc
mfg_xxx_inst1_op2.nc
mfg_xxx_inst2_op1.nc
mfg_xxx_inst2_op2.nc