Lets say you have 100 Keps Nuts in an assembly. Named (KepsNut1,KepsNut2, etc)And you want to suppress them on and off.
Would there be a way to make an array 1-100 and just say suppress/unsupress "KepsNut" & array list of numbers.To basically add the two strings and find all the components in that array and turn them off or on.!
I need to modify all the ipt in an assembly, but I don't kow how many ipt I have, and I don't know the name. Can I have with iLogic the list of all the ipt used in the assembly ? For example, to modify the Part Number in all the components.
Long time Autocad user but now am moving most of my work across to Autodesk Inventor.
Some of the work I do is with companies that their parts are standard components that will not change.
So I am using Inventor to automate the drawings based on their requirements. For example if it needs to be 4m high. then to use 2 x 2m sections. Currently I have create different assemblies of the different potential heights that I can switch between using ilogic but I need to be able to shift the top truss arch depending on how high the truss is.
I was just wondering how to place a component into an assembly using ilogic? If this is possible, is there also an option to choose if iMates will be generated?
I would ideally like to place a list of components into an assembly, the list with probably exist in excel, then have iMates set to 'Automatically generate iMates on place' so that my assembly assembles automatically.
Inventor 2013 Certified Professional Autodesk Inventor Professional 2011 Windows 7 Enterprise, 64-bit
I am trying to suppress part that are labeled as "Reference" on the BOM Strutcture and I can't get the program to cycle through the subassemblies. The following code runs through all the components on the top-level assembly but I can't get it to cycle through the subassemblies.
oCompDef = ThisDoc.Document.ComponentDefinitionoAssemblyComponents = oCompDef.OccurrencesDim oOccurrence As ComponentOccurrenceDim oSubOccurrence1 As ComponentOccurrenceFor Each oOccurrence In oAssemblyComponents If (oOccurrence.BOMStructure = BOMStructureEnum.kReferenceBOMStructure) Then Component.IsActive(oOccurrence.Name) = False Else Component.IsActive(oOccurrence.Name) = True End IfNext
I have a couple of dozen features in my part, of which only one will be active at any time. The feature tree may be subject to additions, so I am looking for an ilogic rule that will first suppress all of the features in the part, and then switch on the specific feature I require (using a parameter). Any code to suppress ALL features?
Is it possible to suppress an occurrence of a pattern in part environment using iLogic? I saw something for assembly environment, but I can't make it work for part. My iLogic knowledge is quite basic.
I'm trying to use ilogic to suppress some individual elements of a pattern but i couldn't find any command that can target component pattern elements. When i try to capture its current state with the right click menu it does nothing.
I can of course suppress the part within the element but then it doesn't update the BOM.
I was wondering if there was a way to suppress a component in the main assembly, and keep it from appearing in the parts list whenever I create one in the idw. environment? I am creating an iassembly, and generating different file versions from the main assembly in my table. In order for me to create different versions off of this main assembly, it is required that I suppress certain sub assemblies or components. I can't get the suppressed componenets to not show up in my parts list when I create it. I turned off enabled and visibility and it still appears in the BOM. Creating a different level of detail doesn't even solve this.
I know I can manually not have it show up in the BOM, but it becomes very time consuming trying to make certain rows not appear in the BOM table.
Is it possible to suppress an assembly feature in a drawing view?We make some components in an assembly oversized and then do a final machine step after welding or brazing. We show the completed assembly in the drawing but would like to see the assembly prior to machining in some views.If I suppress the machining features in the model it affects all views. Can we suppress the features in just one view?
I have set iLogic to change a rectangular pattern to a certain amount of occurrences depending on which is selected , i.e. 117 cavities, 140 cavities and 96 cavities. Only one is active (or unsuppressed ) at a time.
What I need to do is suppress the 4 corners of each pattern, considering there's only one pattern and is dynamic.
I am having some trouble with this quick VBA app, I want a utility that can traverse all the parts in a top level assembly and suppress the link to each derived part (multiple) in all the parts in the assembly.
I have played with the following
Public Sub SuppressLink() Dim partdoc As PartDocument Set partdoc = ThisApplication.ActiveDocument partdoc.ComponentDefinition.ReferenceComponents.DerivedPartComponents.Item(1).SuppressLinkToFile = True End Sub
Which works, but only on one part file, and only on the first derived part. Is there any easy way to make this work on ALL the dervived links and every single part inside an assembly?
In order to reflect production process, I have to create holes on the bent pipe at assembly level after 2 bent pipes are welded to the straight pipe. Now when I suppress holes, it does not suppress only at LOD or view rep but throught the whole assembly.
Is it possible to suppress features such as hole using LOD or view rep, which are made at the assembly level? or I have to use another method? See below in highlighted.
I'm new to inventor and I need to be able to create coppies of a part in my assembly that are uniquely identified so they can be individually changed. I see that this can be done through the ribbon with the "Place iLogic Component" button, but is it possible to do this from the API in a rule?
Can I use an iLogic Rule at the top assembly level to "replace all" of a particular component is that component resides in more than one subassembly? I need a rule to run and globally replace the component in all subassemblies without opening up each subassembly manually. I can run a rule in the individual subassembly that looks like the following:
If GoExcel.CellValue("3rd Party:Embedding 1", "Sheet1", "A2")=800 Then Component.Replace("Part1:1", "OtherPartfilename.ipt", True) End If
Is there a way to run a "replace all" command from a top level assembly?
I have a pattern of reference components, but the quantity of the pattern can change based on certain criteria. When the quantity increases or decreases, I need each pattern element to have its BOM structure set to reference.
The problem is, even if the original pattern element is set to reference, each subsequent element comes in as normal. This causes the BOM quantities for that component to be reported incorrectly in higher assemblies.
Is there some iLogic or VBA code that will automatically set each component in a pattern to BOM structure "Reference", even if the pattern quantity changes?
We have an iLogic assembly with to parts in it. Maybe to cylindrical parts. The iLogic rules should do the following.
1. Start a Rule after open document.
2. This Rule starts a Rule in the first cylindrical component.
3. This Rule ask the user for a diameter.
4. The assembly gives this new parameter value to the second component
5. Then the assembly calls another rule in the second component to change it with the new parameter
Everything is working fine when the following combinations are taking place:
1. I open up the assembly out of vault or from a local drive or an accessible server drive
2. I insert the assembly as sub assembly in another assembly from a local drive or an accessible server drive
It don't work with the following situation:
- I insert the assembly as sub assembly in another assembly out of vault
Then the user becomes the dialog "Choose a diameter" twice.
I don't know why, but I have the idea it has something to do with the functionality of inventor to insert a component more than once. If you insert a component in an assembly Inventor gives you the opportunity to add more than one occurence after each other.
change that behaviour? Maybe a switch to change that inventor "add more than one occurence" behaviour.
Is there any way to group assembly components?I'm aiming at a live mass calculation for different level of details/design views.In this case I'v got an assembly with about a ton of stainless steel spread out on different subassemblies.
I have made representations showing only the welded stainless steel and I would like the weight of these to appear in the partlist. Not the weight of the complete subassemblies.
I want to be able to control the location/position of a component in an assembly. This is easy enough through the iProperties/Occurrence tab and then adjust the location of the X,Y, and Z offsets. Is this possible using iLogic? I have been unable to find a function to access via iLogic. Ultimately I am trying to translate a component about an axis not a pattern.
I am working on an iLogic assembly configurator that manipulates several skeletal parts, and suppresses both standard and skeletal parts depending on the configuration.
I've been using the Component.IsActive function to suppress all omitted parts, which has prompted me to create a custom Level of Detail. This hasn't caused me much grief until I had completed ~10months of work when it was time for me to make my final assembly drawing and a parts list.I am now running into several deal-breaking issues:
1) Suppressed parts insist on appearing on the Parts List.
2) Saving the assembly drawing reverts my assembly model to the "Master" LOD, which I never, ever, ever want to see again so long as I live.
Is there another workflow or technique that I should be using to turn off unwanted components in an assembly? I understand that LOD's are really intended to manage system resources, but Inventor users seem to be left with no other option to display a skeletal assembly in a certain configuration. What is the point of the Component.IsActive function if it doesn't update your assembly (at least so far as the Parts List is concerned)?
If I am left to deal with the nightmare that is the Inventor LOD, is there any way to set up the Parts List to reference the custom LOD?
Drawing View reps don't seem to be an option, as it looks like there is no way to automatically update the same custom view after the configuration has been made. The iAssembly Include/Exclude feature would handle part inclusion and BOM behavior nicely, but it won't fit into the rest of my iLogic and file management program.
I've been using iLogic. I'm creating a template assembly that will be used for multiple jobs. Therefore, the job number will be changing. I want a custom iProperty in ALL parts and sub-assemblies (cleverly call it "Job #" maybe) that I can include an a separate property called "Drawing #" which whose value will be [some text]-<Job #>-[some more text]. I want to be able to update all the "some text" parts manually for each component, but I want the Job # to update automatically. I need this property because I have a column in all my Parts Lists called "Drawing #" which tells the drawing number for any given part or assembly.
Ultimately what I want to do is open a text or Excel file, enter the job number, open my Inventor drawing, and have every Drawing # entry in every parts list magically update to the correct job number.
I've managed to use iLogic to do just that with a single .ipt/.iam file. But I have dozens upon dozens of components in the main assembly. I'd like to run some rule or hit some button or do something that will cause the Job # property to update for ALL sub-assemblies and parts, so that all my parts lists reflect the change.
So I have been going round and round in circles on this one iam trying to use replace component within ilogic which is fine with switching one part for another but I want a drop down of parts so it replaces which ever one is active the problem I am having is establishing which one is active. So below is what I have so far but the problem is you cant seem to reference a part that is not in the assembly so I keep getting the error
The component named "Flange 1" was not found for example. I just need a way of establishing which one is currently in the assembly but with out referencing components that are not there.
If Component.IsActive("Flange 1")=True Then current = 1 If Component.IsActive("Flange 2")=True Then current = 2 If Component.IsActive("Flange 3")=True Then current = 3 If part = 1 And current = 2 Then Component.Replace("flange 2", "Flange 1.ipt", True) End If If part = 1 And current = 3 Then Component.Replace("flange 3", "Flange 1.ipt", True) End If If part = 2 And current = 1 Then Component.Replace("flange 1", "Flange 2.ipt", True) End If If part = 2 And current = 3 Then Component.Replace("flange 3", "Flange 2.ipt", True) End If If part = 3 And current = 1 Then Component.Replace("flange 1", "Flange 3.ipt", True) End If If part = 3 And current = 2 Then Component.Replace("flange 2", "Flange 3.ipt", True) End If
After changing colors at assembly level only ,below is a rule that changes all parts that have material "Plywood" to poplar works great.
However I want a rule that does the same kind of change but on only temporally at assembly level only then we can change back to default colors by removing color override.
It would be good if we can do the following
Search assembly for .ipt files that have material that contains PlywoodChange to color using temporary override of "Clear - Light" Possibility of searching more materials within same rule ie : "Timber" to be black in color"Pvcu"to be white in color
Dim oCurrentDoc As Inventor.Document Dim oDoc As Inventor.Document Dim oPartDoc As PartDocument Dim oRefDoc As DocumentsEnumeratorDim oTargetColor As RenderStyleDim oNewColor As RenderStyleoCurrentDoc =
I am working on a large plant piping project and while I've seen this behavior before I've never seen it this bad.
Attached is a screen shot of a small portion of the assembly drawing in which you can see a good example of what I'm dealing with.
At the top you can see a weld neck flange that appears to be attached to air where there should be an elbow. In the middle you can see that on one side of the elbow there is missing geometry.
At the bottom is another flange that attached to air where there should be an elbow. This drawing is littered with these errors and as such is unsuitable for even a reference document.
I have turned visibility of these components off and on without resolution. I have turned on tangent and interference edges without resolution.
I have translated a copy to ACAD to see if it's simply graphical but the ACAD file shows the same errors. I have checked parallel and perpendicularity and all is well.
Inventor 2012 Pro 64bit (Build 219 - SP2) Vault 2012 Pro Admin Windows 7 Pro 64bit Quad Core processor 2.26 Ghz 16 GB DDR3 RAM 1.5 GB Nvidia Quadro FX 4800 (Driver Version 9.18.13.1090) 2 – 320 GB SATA drives