Skip to main content
1-Visitor
November 28, 2014
Question

Using Interchange assembly for an Sub-assembly using Pro/Program

  • November 28, 2014
  • 2 replies
  • 7233 views

I have just started working on incorporating the Top down design apporach in our design.

I would like to share a error which I came across working in Interchange assembly Pro/Program.

 

Issue:

I have an main assembly "SMK0001.ASM" in which I have an sub-asembly named "SMK0002XXX1.asm" which is a family table component of generic named "SMK0002XXXX.asm"

Now I need to replace "SMK0002XXX1.asm" with its other instance named " SMK0002XXX2.asm". it is possible for me to replace those by replace option in GUI.

 

But when I tried to make it as pro/program i am getting an error message as follows

" ERR: the model to be added is non-existent or not interchangeable".

 

Please someone Guide me how to achieve the same. since we need this feature to be used in our design approach in many places.

 

Regards,

Manikandan S.

2 replies

1-Visitor
November 28, 2014

Please include the segment of the Program that you are using to make this change.

1-Visitor
November 28, 2014

INPUT

D STRING

"WHAT IS THE DEPTH?"

END INPUT

RELATIONS

IF D == "SEVEN"

COMP = "SMK0002XXX1.ASM"

ELSE

IF D == "NINE"

COMP = "SMK0002XXX2.ASM"

ENDIF

ENDIF

END RELATIONS

.

.

.

.

ADD COMPONENT (COMP)
INTERNAL COMPONENT ID 66
PARENTS = 60(#6)
END ADD
!*** ERR: the model to be added is non-existent or not interchangeable

ADD COMPONENT (COMP)
INTERNAL COMPONENT ID 69
PARENTS = 60(#6)
END ADD
!*** ERR: the model to be added is non-existent or not interchangeable

1-Visitor
November 28, 2014

I don't see a type for COMP, for example COMP STRING.

In the docs I see that ADD COMPONENT is for changing the type of item, substituting a .prt for .asm.

If it is the same type, use ADD PART () It may not need the type extension in COMP because it is a family table item, the software already knows what type it is and may be reading this as "SMK0002XXX2.ASM.ASM"

HamsterNL
18-Opal
April 8, 2015

We use PRO/Program, Interchange Assemblies and Family Tables in all our models, so maybe I can help.

As others have said, when you are working with a Family Table and you want to swap instances, you can use the ADD PART (NAME_OF_INSTANCE) or ADD ASSEMBLY (NAME_OF_INSTANCE). If the FT is an assembly, use ADD ASSEMBLY, if your FT is a part, use ADD PART.

If you are using a Interchange Assembly, you could also use ADD PART or ADD ASSEMBLY if all "instances" of the Interchange Assembly are parts or assemblies. But when you have a mixture of parts and assemblies in your Interchange Assembly, you should use ADD COMPONENT (NAME_OF_INSTANCE_WITH_EXTENSION)

Make sure that the constraints can resolve when you swap the components.

Then there's the EXECUTE PART, EXECUTE ASSEMBLY (and EXECUTE COMPONENT) stuff. Honestly we don't use that on our FT and Interchange Assemblies (they don't have any INPUT parameters) because they are "library components" which are used in multiple projects. We only select which component from the FT of Interchange Assembly we want to use with PRO/Program. We do use the execute statements to drive the sub-components of our assemblies (width and height for example).

Tip: put all your formulas and calculations in the RELATIONS section of your assembly. That section is always accessible to your users.