ILOGIC - ASSEMBLY - PART NAMES

ILOGIC - ASSEMBLY - PART NAMES

Anonymous
Not applicable
1,103 Views
6 Replies
Message 1 of 7

ILOGIC - ASSEMBLY - PART NAMES

Anonymous
Not applicable

I have a question about the way inventor ILOGIC handles parts placed as ilogic parts. Why does ILOGIC rename the part.

Where can I control the way the part is renamed?

0 Likes
1,104 Views
6 Replies
Replies (6)
Message 2 of 7

MjDeck
Autodesk
Autodesk

The parts are copied and renamed so that they can be controlled independently.  Each copy can have different parameter values and a different shape: it can be a separate configuration.  This is similar to having different members from the same iPart factory in an assembly.

 

 If you only need one configuration of a particular part in an assembly, then you can use the standard Place Component command instead of Place iLogic Component.

 

 It's possible but not easy to control the way the parts are renamed.  You have to create an add-in, or add code to an existing add-in.


Mike Deck
Software Developer
Autodesk, Inc.

0 Likes
Message 3 of 7

Anonymous
Not applicable

Thanks for the reply - I have figured out how to control the odd file names but I have a new problem. I know my answer but I am not familiar with the code.

 I have the following code below working - but I need 4 different width's

I have an ipart factory that changes width when placed. My problem is gettimng the code to update I-part driven by the parent assembly width parameter. When I change the width in the assy all parts update - however the i part factory does not change part numbers. I have tried some "IPART'" snippets but cannot get the right combination.

 

Parameter("1056F05-A:1", "SECT_WIDTH") = sect_width

 

 

The above code changes the width of all the part but does not change part names in the browser of the part factory current field. The I part is the parent.

1056F05-A - I part factory with file names that changes accordingly 1056F05(width)-A

0 Likes
Message 4 of 7

MjDeck
Autodesk
Autodesk

You won't be able to change part numbers by setting a parameter in an iPart member.  I would recommend using the iPart.FindRow function like this:

 

i = iPart.FindRow("1056F05-A:1", "SECT_WIDTH", "=", sect_width)

 

This will find the row that has a value in the SECT_WIDTH column that is equal to your sect_width assembly parameter.

 

The iPart name for this function should be the same as the factory filename, but with the component instance number ( :1 or :2 etc) instead of .ipt.

 


Mike Deck
Software Developer
Autodesk, Inc.

0 Likes
Message 5 of 7

Anonymous
Not applicable

sorry - still having problems with the code see attachment with screen shots.

0 Likes
Message 6 of 7

Anonymous
Not applicable

sorry still having problems with the code see attachment

0 Likes
Message 7 of 7

MjDeck
Autodesk
Autodesk

Do you have the iPart factory placed directly in the assembly, instead of an iPart member?  I think the only way to do that is to convert the part into an iPart after placing it in the assembly (or creating in in place).

 

 But if you do have an iPart member in the assembly (which is what happens when you place an iPart in an assembly), then the FindRow sample I posted should work.  FindRow will find and select the row.  This will result in changing the part number and width.

 

 The Parameter function will not do it.  I recommend FindRow.

 


Mike Deck
Software Developer
Autodesk, Inc.

0 Likes