Hi Curtis,
The news of having to convert all my iParts to parts put me off doing this for a while. I found a rule that separated the iParts into regular parts however it just broke the link from the factory and created as a 'solid' so the sketch wasn't retained, so if a change is required, it would not be possible.
My new thing is just naming the entitles inside the member file. You cannot do this in the UI for some reason. But you can create an external rule and that will do it. I have placed them in the assembly and it works. The rule names all the edges and faces. I then identify the ones I want to change to my own custom names that match my auto-dimensioning rules in the drawing, then it deletes the rest. I then run the external rule in all the other sizes of the part and because they all share the same profile, Inventor names the entities in the same order. It's clunky because I wrote it, but it works. I'm just showing you this if you're interested (no question):
oDoc = ThisApplication.ActiveDocument
Dim oCompDef As PartComponentDefinition
oCompDef = oDoc.ComponentDefinition
Dim oEdge As Edge
Dim EdgeName As NamedEntities = iLogicVb.Automation.GetNamedEntities(oDoc)
For x = 1 To oCompDef.SurfaceBodies.Item(1).Edges.Count
oEdge = oCompDef.SurfaceBodies.Item(1).Edges.Item(x)
EdgeName.SetName(oEdge, "Edge" & x) 'This labels every edge.
Next
Dim oFace As Face
Dim FaceName As NamedEntities = iLogicVb.Automation.GetNamedEntities(oDoc)
For x = 1 To oCompDef.SurfaceBodies.Item(1).Faces.Count
oFace = oCompDef.SurfaceBodies.Item(1).Faces.Item(x)
FaceName.SetName(oFace, "Face" & x)'This labels every Face.
Next
'This section is for renaming a deleting unwanted edges.
Dim oCompDef1 As ComponentDefinition = ThisApplication.ActiveDocument.ComponentDefinition
Dim oNamedEntities = iLogicVb.Automation.GetNamedEntities(ThisApplication.ActiveDocument)
For Each oEdge In oCompDef1.SurfaceBodies(1).Edges
If oNamedEntities.GetName(oEdge) = "Edge2" Then
oNamedEntities.SetName(oEdge, "E1")
Else If oNamedEntities.GetName(oEdge) = "Edge3" Then
oNamedEntities.SetName(oEdge, "E2")
Else If oNamedEntities.GetName(oEdge) = "Edge4" Then
oNamedEntities.SetName(oEdge, "E3")
Else
oNamedEntities.DeleteName(oEdge)
End If
Next
'This section is for renaming a deleting unwanted faces.
For Each oFace In oCompDef1.SurfaceBodies(1).Faces
If oNamedEntities.GetName(oFace) = "Face5" Then
oNamedEntities.SetName(oFace, "InternalFace")
Else If oNamedEntities.GetName(oFace) = "Face3" Then
oNamedEntities.SetName(oFace, "SealFace")
Else If oNamedEntities.GetName(oFace) = "Face7" Then
oNamedEntities.SetName(oFace, "GrooveFace")
Else
oNamedEntities.DeleteName(oFace)
End If
Next
