Identify the level of assembly for the hardware attached in.

Identify the level of assembly for the hardware attached in.

anuj16797
Contributor Contributor
514 Views
4 Replies
Message 1 of 5

Identify the level of assembly for the hardware attached in.

anuj16797
Contributor
Contributor

I'm trying to segregate the hardware as welded in subassembly (shop assembled) and master assembly (ship loose).

the hardware/parts are attached in the assembly level one or top assembly are the ship loose hardware while the hardware/parts attached in the sub assembly or assemble level two are shop assembled.

i need a code that can create a custom property according to the level hierarchy of assembly.

 

anuj16797_0-1691147325558.png

 

If you see in the above bom the hardware in item number 1.1 to 1.10 are welded and in level two where as the item from 7 to 20 are loose hardware in level one.

 

please write me a code so that i can segregate both of  them.

@Curtis_Waguespack 

@mcgyvr 

@GeorgK 

@tkddud711 

@chandra.shekar.g 

0 Likes
515 Views
4 Replies
Replies (4)
Message 2 of 5

A.Acheson
Mentor
Mentor

Hi @anuj16797 

I think you need to provide alot more information and also to attempt to construct the code yourself. The forum is designed to help users trouble shoot there own code and exchange ideas. Just simply requesting someone else to devote there time to write a code which sometimes can take 1-8 hours depending on its complexity is not good practice. 

 

One way to identify parts in a welded assembly is to determine if the assembly is a regular assembly or weldment assuming you are using weldement document to identify welded assemblies. 

 

Your suggested method of simply putting an iproperty to identify hierarchy will not work for ready only content center parts. 

 

How are you derterming what is a fastner/ hardware part and what isn't? Have you a category assigned? 

 

 

If this solved a problem, please click (accept) as solution.‌‌‌‌
Or if this helped you, please, click (like)‌‌
Regards
Alan
0 Likes
Message 3 of 5

anuj16797
Contributor
Contributor

I understand what you are saying and i have already tried to find out if there is a way to short the bill of material on the basic of assembly level but i found nothing on this topic that's why i was requesting if anybody could help.

basically the level of assembly i have is like the one below mentioned

 

anuj16797_0-1694602266648.png

 



PARTLIST.iam
---XXXXE-01:1
-----XXXXSA-01:1
---XXXXE-01:2
-----XXXXSA-01:1
XXXXE-02:1
XXXXSA-02:1

Here the parts attached to the XXXXE-01 & E-02 are to be include in ship loose items. whereas the part in the assembly XXXXSA-01 & SA-02 are shop assemble.
all i want is a way so that i can have a BOM where only ship loose are visible and another where only shop assembles are visible.

I'll be grateful if you could help.

0 Likes
Message 4 of 5

WCrihfield
Mentor
Mentor

Hi @anuj16797.  Since the determination between what components should be shipped loose, and which ones should be shop assembled seems to be primarily based on your knowledge of the components, then you will most likely need to either devise a better way to identify which ones belong in which groups, or write a much more complicated, and longer code which just tries to isolate specific mid-String character patters in the names of the components.  The tactic came to mind that you may be able to use 'Instance/Occurrence Properties'.  Those are only recorded at the assembly level, not within the document that the component references.  These can also sometimes be directly accessed from the BOMRow (BOMRow.OccurrencePropertySets) for that component within the assembly's BOM, if it is not a merged row.

 

The iLogic rule code example attached as a text file is just a that...an example, not a full working solution, and will most likely need further development by you, as needed.  This is just a means of preparation, that will let you assign instance/occurrence properties to the components by code.  One such property featured in this example is currently just the 'LEVEL' of the component within the assembly.  Another property being suggested by this example is called "GROUP", and is more for which group this component should belong to.  Its value is being determined by checking within the name of the component for the limited few hardcoded text examples you provided in your last post.  This area of the code will most likely need to be expanded upon and further developed by you, as needed.  Currently, if the component is suppressed, the code will skip over it, because you can not do much with a suppressed component without throwing errors.  It also tries to avoid processing a component that represents the welds within a weldment type assembly.

 

Wesley Crihfield

EESignature

(Not an Autodesk Employee)

0 Likes
Message 5 of 5

A.Acheson
Mentor
Mentor

"I want is a way so that i can have a BOM where only ship loose are visible and another where only shop assembles are visible."

 

So in reponse to the above statement. You refer to the BOM, is this in the model or the partlist or custom table in the drawing or excel table for purchasing? Where do you want to put the Information.

 

From your sample provided I see two sub assemblies  Splitting the BOM in the assembly isn't really an option. But what you could do is place all the sub assemblies into their own assembly let's call it Spare Part Kit. You can then either make this kit visible in the view reps and then show it in a seperate partslist under a different view rep filter. Or you could place the assembly in to the drawing and it will have its own partlist. Either way because it's all contained in a sub assembly it now can have a seperare BOM exported from it. So the question is now how do you want to display the information?

 

If moving all spare parts into a sub assembly isn't an option then once you can identify the parts via a part number, occurrence name, 

Instance property etc then you can make visible in there own view rep.

If this solved a problem, please click (accept) as solution.‌‌‌‌
Or if this helped you, please, click (like)‌‌
Regards
Alan
0 Likes