Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

We are trying to figure out how to detail out parts and running into a wall

Anonymous

We are trying to figure out how to detail out parts and running into a wall

Anonymous
Not applicable

Okay the gist of the issue. We where a Mechanical Desktop shop for basically forever. I am the second person and I have never used the old program as they are trying to switch everything to inventor. Now I can program but I am at a loss for how to start with this process. See below for what the process is.

 

So we work in sub assemblies to make Automation machines. We call them Heads or Stations depending on what the machine is. These sub assemblies can sometimes contain the exact same parts. The issue we are running into is how do we keep the parts lists generating automatically with the Item #, QTY (From all the different Sub Assemblies), The other variables we have are some custom variables consisting of what sheet it is on (This is important with how our system currently works from the MDT days), A Hardness if required for Steel parts, and a Finish. We can get the custom variables to fill in as needed.

 

The Crux of the issue is when we do the detailing for the individual parts we are putting multiple parts to fill a sheet being D size sheets to save paper from having to print 50+ Sheets for every single job we will need to do.

 

So far the only way we have been able to do all of this with some what of an automated process is to use Design view representations for each sub assembly then for each part in the Sub assembly. However the issue lays that after you make all of these how do you stop the additional parts that get added in after you set your views from showing up on every single Design View Rep? And then using the Tables to show a detail stamp how do you keep the tables from populating extra numbers that aren't needed. Basically the only we have figured out how to do this is to go through every view rep to turn off the new part(s) then go through every single table and turn them off on the tables. Is there any way to make this an automatic process?

 

Included are files for what we are doing to give some examples of what the current process is. Basically we are at the point of can we customize this to do what we are needing or do we have to change our process to fit the software everywhere I have been details are their own sheets and you have to manually adjust the QTY, ITEM #, and all other Variables needed to be shown. I attached a PDF of what our detail sheet would be looking like. If I can get a starting point I can probably run with it.

0 Likes
Reply
428 Views
4 Replies
Replies (4)

LukeDavenport
Collaborator
Collaborator
Hi,
Search on the Inventor exchange apps store for 'view rep hero'. It can keep
all your view reps automatically up to date.
0 Likes

Anonymous
Not applicable

Personally we would like to move away from the view reps. It can be a very drawn out and long process when some of our full assemblies are using more then 250 parts. The one I shared was a small one. They aren't as common.

0 Likes

Anonymous
Not applicable

Okay I have gotten some headway on getting the Details to be able to generate QTYs correctly. The issue was happening if we have the same part in a couple sub assemblies. I found and modified some code to add the QTYs from all sub assemblies together. Now I have two questions. I am wanting to push two other variables to go in when we put in the parts. They are both Custom IProperties. I can't figure out how to tie them together.

 

First we want to have it so when we put a detail on a sheet we want to be able to have it automatically see what page it is on for the detail stamp. What is the variable I need to use to get it to set the current sheet to the sheet Iproperty?

 

Second, We have our Job numbers called out on the detail so we currently have to either manually type it in or Copy and paste it to every part. We would like to also have this process automated So How do I set a Custom Iproperty in the Master Assembly and have it filter down to all the parts in the drawing?

 

I have attached the stamp showing the two variables. I'm just looking for the variables to use and some helpful starting code I am still kind of new to Ilogic coding.

0 Likes

Anonymous
Not applicable

Update We have the QTYs adding up correctly now I am working on the Job Number. I have manipulated the rule we used for the QTY to try to make the Job Number work. I have this in a test file so the actual variable we are pulling the number from is liable to change I was using something that we do not use currently.

 

The issue I get now is this will not adjust the sub components inside sub assemblies (If a Sub assembly has another sub assembly inside it) This also doesn't reset the Job # on parts inside sub assemblies that it actually works on the first time. I'm kind of looking for an idea of what I'm doing wrong I know there probably other methods to doing this but the goal is to do it automatically behind the scenes since this shop wants things to be as simple and with less interactions as possible. The veteran in here is mad that Inventor requires more clicks then MDT. Since we are working on large machine layouts at a time we are using multiple Sub Assemblies to keep our structure somewhat manageable.

 

Here is my Code

 

doc = ThisDoc.Document
Dim oAssyDef As AssemblyComponentDefinition = doc.ComponentDefinition
Dim oBOM As BOM = oAssyDef.BOM

oBOM.StructuredViewEnabled = True

Dim oBOMView As BOMView = oBOM.BOMViews.Item("Structured")

Dim oBOMRow As BOMRow

For Each oBOMRow In OBOMView.BOMRows
Dim oCompDef As ComponentDefinition
oCompDef = OBOMRow.ComponentDefinitions.Item(1)

Dim CompFullDocumentName As String = oCompDef.Document.FullDocumentName
Dim CompFileNameOnly As String
Dim index As Integer = CompFullDocumentName.lastindexof("\")

CompFileNameOnly = CompFullDocumentName.substring(index+1)

iProperties.Value(CompFileNameOnly, "Custom" , "JOB #") = iProperties.Value ("Project" , "Project")

Next

0 Likes