AutoCAD Inventor :: ILogic Change Assembly To Reference
Oct 26, 2011Is there a way to set an assemblies bill of material setting to reference through iLogic?
View 3 RepliesIs there a way to set an assemblies bill of material setting to reference through iLogic?
View 3 RepliesBefore 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
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'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`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 RelatedI'm having some difficulties with iLogic and reference parameters.
I have made a tube with a weird shape and I want to measure the longest length. So I have to cut the tube in a certain angle in relation with the center to measure the length.
The problem is that this angle is really hard to calculate.
So I tried making a rule where I can make my angle shift x degree and then measure the longest length. If the measurement is larger the previous measurement the angle will shift x degree again until the measurement is smaller than the previous.
So I made my starting angle 0 degree, I know this is for a fact not the longest length. And then I tried this rule. (before making a While rule).
And I noticed that on screen the measurement changes. But the reference - parameter stays the same. So it gives me the measurement on the starting angle & after rotating it again gives me the starting angle.
How can I get the parameter to update itself in between?
Dim measurement_length As DoubleDim measurement_length2 As DoubleMessageBox.Show("Start angle ", "My iLogic Dialog", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1)angle_measurement_spec = 0RuleParametersOutput()InventorVb.DocumentUpdate()measurement_length = [code].....
I was wondering if there was a command that will get the file name of the model referenced in a drawing?
The reason I want to do this is because I have various programs to automate drawings, but I have to manually edit the code if i want to switch between using the code on assembly drawings and part drawings.
If i can get the model reference, I can then use a bit of extra programming to extract the extension. (i.e. .ipt or .iam)
Autodesk Inventor Professional 2011
Windows 7 Enterprise, 64-bit
I wish I perform the following code with iLogic. Is it possible to change a model parameter to a reference parameter?
If My_Expression Then' My dimension "d0" is a Driven Dimension' or' My dimension "d0" is a Reference ParameterElse' My dimension "d0" is NOT a Driven Dimension' or' My dimension "d0" is a Model ParameterEnd If
how to replace model reference using iLogic in inventor 2012. Basically I have a drawing file whose model reference needs to change with part number(iProperties) .
I've been struggling to perform replace model reference as there is no direct command given for it.
Is there a way in iLogic to iterate through all curves on a drawing. We manually apply radii labels to each drawing view but would like to automate the process with iLogic. How could I reference and cycle through all the radii on my drawing view?
View 2 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 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
How to reference the drawign sheet number using iLogic? I see on the snippets on the side a way to reference the sheet name, but I only want the number. To get the name it is ActiveSheet.Name, but ActiveSheet.Number does not work. Getting the name give something like ASSM:1, so if there was a way to take that and subtract the colon and everything before it that would work also. I am not a programmer, I've just taked some programs I found online and modified them a little to do what I want to do, but this is holding me back a bit.
Overall, I'm trying to modify the drawing view label to have a project number, referenced from the drawign iProperties, a view label, and sheet number, and then save that info in an iproperty of the part, and then reference that in the BOM so it automatically labels all of the views and fills out a column of the BOM to reference which page and view to find the parts of the assembly. I have everything working except for the sheet number.
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
I'm having trouble showing a reference part in an assembly drawing. When said part is set to "reference" it is no longer visible on the drawing.
View 9 Replies View RelatedI always "Configure Default Template" on start-up, changing Measurement Units to mm and Drawing Standard to ISO. After Ok,
"the default template (standard.*) will be replaced according to your selected drawing standard or measurement unit. The original default template will be copied to Old Templates folder as backup. Do you want to overwrite?" Yes.
I have created a series of parts which i have assembled and saved on my USB. I have placed fasteners from Content Center and saved. When i change computer, and attempt to reopen my assembly files, i get a "Resolve Link" window, as seen in attachment, to which i don't know how to respond, and end up clicking "skip all", which results in assembly with unresolved components.
What are the steps i should have been taking to avoid ending up with unresolved components, assuming i cannot avoid changing computer.
in inventor VBA, is it possible to get all reference documents without opening an assembly file in inventor?
this is i am using right now,
Dim oAssyDoc As AssemblyDocument
Set oAssyDoc = oInvApp.Documents.Open(sAssyPath)
oAssyDoc.Update
Dim oAllRefParts As DocumentsEnumerator
If Check1 = True Then
Set oAllRefParts = oAssyDoc.ReferencedDocuments
Else
Set oAllRefParts = oAssyDoc.AllReferencedDocuments End If
Autodesk Inventor Professional 2014
Autodesk Product Design Suite Standard 2013
Microsoft Office 2007 & 2013
Windows 7 64bit
Synergis Adept 2013
Visual Studio Express 2010
I wonder if it's possible to see with ilogic if a part exciste in all others view (in assembly) of the same sheet?
View 9 Replies View RelatedWe have some serious problems by creating assembly drawings with reference geometries in inventor 2010. Our target is, to create a drawing that look the way, the attachment shows (Picture-1) The sheet metal plates Pos 10-100 are an assembly. And the assembly in the back is the reference geometry. It’s a frame consists of steel sections. What we want: 1. The frame must be phantom lined in the idw. 2.
The Sheet Metal parts must be thick lined. 3. The Partslist of the Assembly should only contain the sheet metal parts and not the frame We have some ideas to solve this case, but each of them is nor perfect (please see the attachment Box.pdf) And there’s another problem (described in part 3 of attachment), we cannot position viewports or drawing elements to each other exactly. You have no possibility to give them dependencies. Also if you want to position symbols to each other. All of them are only near to be exact, but that’s a big problem. If you change contents of a viewport, another should be aligned to it, but that doesn’t work.
I am trying to find a simple way to center part(s) to some reference within an assembly such that if any part sizes are changed, then the assembly will stay symmetrical when updated. I would imagine that this is simply possible without adding any constraint containing a numeric value.
See attached part and assembly files showing a 4 piece frame with the angles unconstrained NE to SW. All i want to do is maintain symmetry of the frame if any parts sizes (cross-sectional or length) are changed. I've tried to add a centered plane to the angle and aligning that with a sketch point made in the assembly but i can't select any sketch features when i try to apply an assembly constraint.
I already have a code below that will read a bunch of drawing filenames that will go into each drawing, save the drawing, (print the drawing but I have this disabled for now,) close it, then move onto the next one.
What I want to do is add reference brackets around every dimension on each drawing. I have managed to update part list styles before using ilogic but I am not sure if it is possible with dimensions.
question = MessageBox.Show("Are you sure you want to update multiple drawings? If so, make sure all drawings are checked out.", "Batch Drawing Update",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
'set condition based on answer
If question = vbNo
Exit Sub
End If
[Code] ......
I need to assign the dimension in my screenshot to a parameter so I can use it to drive another assembly. However, I can't find any way to capture it in a usable manner.
In the screenshot I have an associative part inserted that contains only a sketch with the projected line and point that I wish to measure between, but the geometry in the sketch does not update when the model geometry changes. This seems to be normal behavior?
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 ?
I am very new to this whole concept of having ilogic based rules to drive your part design. I have even gotten as far as creating a ipart and having ilogic rules be able to suppress, unsuppress, change values and dimensions using ilogic rules. I now want to be able to use ilogic rules to drive some of the various(yet similiar) assemblies that I create all the time.
For instance, If I have just a flat plate as the base component with a shaft welded to it that varies in length for my assemblies. Since the shaft varies in length, I went ahead and created iparts for all the lengths of the shafts. I can manually change which shaft I want represented in the assembly, but I would like to to know how do I get Ilogic to place the different shafts based on user parameters???
I've looked into component place iparts, but can't seem to get the code to work. The list of iparts tree within the model doesn't pop up in the model tab in the ilogic rule, only the base component.
How to run iLogic Rule which I created for .ipt file in assembly?
As I have a myPart.ipt file with iLogic Rules which could create part1.ipt, part2.ipt, ..... (hundreds of them).
Now, I want creats iLogic Rule in myAssembly.iam to run the iLogic Rules in myPart.ipt in order I could create correct .ipt file to be used in myAssembly.iam.
I have the same ilogic part placed in the same assembly, and i am trying to drive two different configurations of the same part and when i apply the configuration it changes both of the parts but to only one of the configurations.
Is there a way to drive them seperately even though they are the same part.