AutoCAD Inventor :: Change Pattern ILogic In Assembly
May 10, 2012Change pattern ilogic. How do you change the distance and quantity in an assembly with ilogic?
It is simple in a part but in an assembly the parameters and equations do show.
Change pattern ilogic. How do you change the distance and quantity in an assembly with ilogic?
It is simple in a part but in an assembly the parameters and equations do show.
I have a subassembly that has been patterned.
I need to toggle the visibility of a part in that subassembly in each pattern element.
How do I refer to the part?
I have declared an object for my pattern, and can toggle the suppression on any element.
But I need to get at an individual component inside the element.
I've been trying something like this:
oPattern.OccurrencePatternElements.Item(X).Component.Visible("Valance Jig Frame - 1in:1") = False
I created an iLogic rule that allows in a sheet metal part to the informations Length, widht and area of a flat pattern. This rule run and the iproerties are created (see attachment file).
Now, I will run this rule from an assembly file to create automatically, in all sheet metal components, theses iproperties.
Is it possible ? what must I change in this rule ?
Before using iLogic, I created lot of iAssembly and iPart. I could change iPart factory member when I need in iAssembly.Now, I want to move everything to iLogic.
how could I change the part by iLogic code?
For example:
I generated "Part1.ipt" and "Part2.ipt",...... (I have hundred of member)
In my assembly, sometimes, I need use Part1.ipt, sometimes I need use Part2.ipt.
Which is the iLogic Code I should to use?
Inventor 2009, WIN XP.
Autodesk Inventor Professional 2013 (64 Bit) SP2
Windows 7 Professional Service Pack 1
Intel(R) Xeon(R) CPU E5645
12.0 GB Memory
Is there a way to set an assemblies bill of material setting to reference through iLogic?
View 3 Replies View RelatedI'm configuring a band with different supports. Each support is configured with a range; 600-900, 900-1200, 1200-1500 etc. those ranges can be adjust by 50mm and those steps are specified by the pos reps (see attached image).
All the different supports are put in the top assembly and in this assembly I want to switch between the positional representations. I tried to use:
ThisApplication.ActiveDocument.ComponentDefinition.RepresentationsManager.PositionalRepresentations("MyPosRep").Activate
But it won't work. I guess I have to replace "ComponentDefinition" in one way or another to the component name, but I don't know how.
I have a wall of frames, if you will, and some frames within this wall are different sizes. When doing the BOM, I want to be able to combine anything that has the same stock number as well as the same cut length. The only way I have thought to do this so far is to cycle through each stock number and if the cut length is the same, I override the quantity of one and change the BOM Structure of the other to "Reference".
How can I change the BOM Structure to reference without selecting the part or going through the BOM Editor? Is there some VBA code I could utilize? I am striking out by solely using iLogic.
I am completely new to ilogic but would like to make a rule in my idw file that change the hatch pattern in a section of a specific material.
Short Version:
I have an aluminum extrusion part. Material is set to Aluminum-6061. In any section view of this part I want the hatch to be ANSI 31 with a rotation of 45 degrees and a scale of .02 How do I do this?
I`m looking for the iLogic code that can change one parameter (user defined) for each (ipt) part in assembly (iam)
The one below doesn`t work.
Sub Main Dim oApp As Inventor.Application = ThisApplication Dim oAssy As Inventor.AssemblyDocument = oApp.ActiveDocument For Each oSubDoc as Inventor.Document In oAssy.AllReferencedDocuments On Error Resume Next Parameter(oSubDoc, "FH") = 15.26 Next End Sub
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.
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.
View 1 Replies View Relatedhow to suppress a pattern in *.iam by ilogic?
I used ilogic to suppress the main components, but the rest are not suppressed.
For example, I have component "A" and make it a pattern (Colum and Row are variable). How to use ilogic to suppress rest not just "A".
Autodesk Inventor Professional 2013 (64 Bit) SP2
Windows 7 Professional Service Pack 1
Intel(R) Xeon(R) CPU E5645
12.0 GB Memory
I have a pattern of holes (exactly 3) on an object and when the object height changes so does the pattern base on height. My issue is that i need to create a rule or code that ensures that apart from the first hole (which is fixed), the remaining two holes are at a location that is divisible by 6. The reason being that this is a sheet metal part and our punch press has a template for aligning punches at every 6 IN.
We are using iLogic to automate some of our designs and the code is needed to eliminate having to worry if the punches are at the correct location for faster production.
I've noticed that one can turn off the visibility of an entire component pattern by manually right-clicking the pattern in the browser and unchecking "Visibility". However, when one tries to automate this process with the following code, only the first element of the pattern is made invisible.
Component.InventorComponent("Pattern1").Visible = False
Is there a better way to do this, or will I be forced to develop a "workaround" like first changing the number of elements to 1?
I've been desperately trying to find a way to "turn off" unneeded assembly components without iAssemblies or LOD's, but Inventor always finds a way to stop me. This workflow of turning off visibility and setting BOM status to "Reference" would work if only I can make patterns invisible, also.
I did a pattern in part file which i want to use to rdive an objert (another part) in assembly but whan i place the part in assembly i CAN'T see the pattern so i can't select it & use it.
Is there any way to make the pattern visible/useable?
I'm trying to pattern a subassembly onto a final assembly in Inventor, and it won't let me select the subassembly as a feature to be patterned. Is there a way to pattern a subassembly?
View 2 Replies View RelatedI attached the iLogic code which is automatically creating dwg drawing (script borrowed from one of the discussion group users), also it creates 4 views. I`m just wondering how to add flat pattern ?
View 7 Replies View RelatedHow do you suppress a certain pattern occurence in Ilogic?
View 6 Replies View RelatedIs 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.
View 1 Replies View RelatedI 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?
I have a realy big assembly.
but I have to creat sub-assemblys.
I just place empty sub-assemblys in the big assembly,
drag and drop the specific parts i want the sub-assemblys.
But is there a way to drag and drop Patterns too?
Inventor is always priventing me to do so.
So i destroy the Patterns, drag and drop the specific part that made the Pattern,
and re-creat the Pattern in the sub-assembly.
How to modify the code below to delete suppressed parts in a pattern (entire pattern)?
Dim oComp As ComponentOccurrenceDim oComps As ComponentOccurrencesoComps = ThisDoc.Document.ComponentDefinition.OccurrencesFor Each oComp In oCompsIf Component.IsActive(oComp.Name) = False Then oComp.DeleteNext
Code works fine if there are single instances of the part. It throws a error when you have a suppressed pattern.
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 made a flanged connection using I logic. Very simple Tube + Flange + Gasket + Blind flange + Bolting.Then I tried to write some ilogic rule to have Blind flange on / off when needed, hence the Gasket & Bolting also need to be off. Like in these images:
That works fine visually, but I also want the BOM to be set accordingly. For the Blind flange & Gasket my BOM is OK. But for my bolting the BOM is not OK. I tried to set the BOM structure the same way as the visibility but that failed. It only subtracted 1 bolt from my list (see code)
If Blindflange_status = 0 Then 'Bolting offComponent.InventorComponent("Bolting:1").BOMStructure = BOMStructureEnum.kReferenceBOMStructure 'Sets BOM Structure to Reference (Remove from BOM)Component.Visible("Bolting:1") = FalseElse 'Bolting onComponent.InventorComponent("Bolting:1").BOMStructure = BOMStructureEnum.kDefaultBOMStructure 'Sets BOM Structure to Reference (Remove from BOM)Component.Visible("Bolting:1") = TrueEnd If
Is there a way to set all parts within a pattern BOM structure? I made my bolting by adding 1 bolt, 1 washer & 1 nut and then pattern them using feature pattern select.
Inventor 2013
Since I used Autodesk Inventor 2013 last year, I had an question about numbering en renumbering the count of elements in patterns.
I had an assembly with iLogic for placing and replacing elements, suppressing parts and edit dimensions of parts in 1 assembly. Sometimes, 1 suppressed pattern must be un-suppressed. Before doing this, I would like to set the pattern count and distances between pattern elements in the pattern. How can I do it by using iLogic?
Any way to change the Orientation of a circular pattern with iLogic?
View 1 Replies View RelatedI made a flanged connection using I logic. Very simple Tube + Flange + Gasket + Blind flange + Bolting.
Then I tried to write some ilogic rule to have Blind flange on / off when needed, hence the Gasket & Bolting also need to be off. Like in these images:
That works fine visually, but I also want the BOM to be set accordingly. For the Blind flange & Gasket my BOM is OK. But for my bolting the BOM is not OK.
I tried to set the BOM structure the same way as the visibility but that failed. It only subtracted 1 bolt from my list (see code)
If Blindflange_status = 0 Then 'Bolting offComponent.InventorComponent("Bolting:1").BOMStructure = BOMStructureEnum.kReferenceBOMStructure 'Sets BOM Structure to Reference (Remove from BOM)Component.Visible("Bolting:1") = FalseElse 'Bolting onComponent.InventorComponent("Bolting:1").BOMStructure = BOMStructureEnum.kDefaultBOMStructure 'Sets BOM Structure to Reference (Remove from BOM)Component.Visible("Bolting:1") = TrueEnd If
Is there a way to set all parts within a pattern BOM structure?
I made my bolting by adding 1 bolt, 1 washer & 1 nut and then pattern them using feature pattern select. Inventor 2013
I need to suppress a pattern in an 2nd level subassembly. But is only able to do it in the same level where the pattern is placed etc:
If Length < 3000 mm Then
Component.IsActive("1 st level subassembly", "Name of pattern in 1nd level subassembly") = False
End If
But if i do it with an MakePath... etc.:
If Length < 3000 mm Then
Component.IsActive(MakePath("1 st level subassembly", "2 nd level subassembly", "Name of pattern in 2nd level subassembly")) = False
End If
If Length < 3000 mm Then
Component.IsActive(MakePath("1 st level subassembly", "2 nd level subassembly"), "Name of pattern in 2nd level subassembly") = False
End If
is it not possible to suppress a pattern by an MakePath?
I am trying to make a dxf from each sheet metal part in an assembly with ilogic: (I have cut and and paste different codes from this forum in an poor attempt...)
Sub Main
Dim oApp As Inventor.Application = ThisApplication
Dim oAssy As Inventor.AssemblyDocument = oApp.ActiveDocument
For Each oSubDoc as Inventor.Document In oAssy.AllReferencedDocuments
If oSubDoc.DocumentType = kPartDocumentObject Then
Dim oPartPropset As Inventor.PropertySet = oSubDoc.PropertySets("Design Tracking Properties")
Dim oPartParam As Inventor.PropertySet = oSubDoc.PropertySets("Inventor User Defined Properties")
[code].....
I wish to set the properties of an assembly using i Logic. I have the values of the properties in a part that is in the assembly. I wish to pass those values from the part to the assemblies i properties. I tried using the following code, but it gives an error saying it can not find the document "MyAssy.iam"
iProperties.Value("MyAssy.iam", ThisDoc.Path, "Part Number")=AssyNo
I'm not even sure that this is the way to do, but it's the only way I could think of to try.
I got here on in my templates, two types of weight - net and gross. I've changed the main property MASS of each PART to be the GROSS weight, so when i have one assembly i always get the total gross weight.
And when i wanna get the NET, I open the BOM, show the proper column with this net weight and then export do XLS to sum all of then..
Now the doubt is, to get the things easier, is there a way to put some code in the assemblies, that could sum all the properties "X" from each part and sub assembly to get the total net weight ?