AutoCAD Inventor :: Creating Ilogic Assembly With Standard Components?
Oct 6, 2013
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 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.
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?
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 have some assemblies with standard components inserted from Content Center which I have published.
After some changes I do on some of them within CC, I can't refresh those that are already placed in assemblies. The window that displays the components out-of-date won't appear. Only the message precedes the appearance of this windows is shown and that's it, nothing happens.
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.!
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
I'm running Inventor 2008 SP2. Each time I open the assembly 2 subassemblies always explode. You can see the red and blue subs in the attached picture. I thought this was supposed to be fixed by now. Actually I thought this was supposed to be fixed in R11 a long time ago. When I grab and drag either component, everything snaps back to where it's supposed to be.
If this isn't fixed (along with a laundry list of stuff that's been broken since R10) you will be losing customers. This and all the other bugs have cost me countless hours in lost productivity.
In Inventor 2012 I know that it is possible to arrange assembly components in a circular or rectangular pattern. But is there a way to arrange these components in an oval pattern?
Here is the history. I originally created a part with multiple solid bodies.
After creating it I was told we needed to make it an assembly. So what I did instead of recreating each component I called up the original multi-bodied part and did save as copies.
Then deleted the portions of the model I didn't need with only the part needed left.
Then I took all of those parts and assembled them together to form an assembly.
Now, here inlies the problem. When I go to make a drawin gof this assembly all of the balloons are coming up with the same item number as it was when it was a multi-bodied part.
It is clearly an assembly based on the model tree and the file extension.
I have a machine assembly with old part naming. Now we have a new part naming system. So i am supposed to rename all existing parts, assemblies to new naming system.
E.g. : A machine assembly with old names (lets say part1, part2..... part1000). It has to be renamed to new names (say item1, item2.....item1000).
"part1" should be renamed as "item1" and so on.
Design assistant is not a good option because its a lot of manual work, its same issue with using Vault.
Currently I have some code which loops through all sub components of an assembly and sub assemblies. However I only need sub components inside the top level assembly and not any sub-assemblies. Is there an easy way to acomplish this?
This code will list all sub components inside an assembly when a drawing is open.
Dim oDocument As Document Set oDocument = ThisApplication.ActiveDocument Dim oRefDocs As DocumentsEnumerator Set oRefDocs = oDocument.AllReferencedDocuments Dim oRefDoc As Document For Each oRefDoc In oRefDocs debug.print oRefDoc.FullDocumentName Next
It seems to me that the basic exclude component no longer works when deriving assemblies. If I cycle through components it is not possible to get the Grey circle with the backslash through it?
I'm using iLogic to build a configurator and everything is working perfectly if I have all the componets available.
However, is there a way to use iLogic in this example:
Assume I have a bolt, nut and washer in an assembly based on 1/2" sizes. I then change the sizes to 1", the bolt and nut update to 1" but I do not have a washer modeled for 1". Is there a way to use iLogic to report that the washer is not available without causing an error or only updating the bolt and nut and ignoring the washer.
I'm a playground designer and we're currently in the process of updating our systems to Inventor. Over the next few years I'm going to be working on many different assemblies all using the same parts and sub assemblies, many of which need to share the same ground plane.
I'm wondering if there is any easy/quick way to make certain parts (not all) automatically constrain/flush to the ground/XZ plane when I place them?
I want to create numerous custom properties for a part. Some of these will be the same for all instances of the part (i.e. vendor, part number, etc). But some have to vary from instance to instance.
So, as an example - if I place 5 identical tanks into my assembly I need to assign unique text entries for each of these 5 instances (i.e. TANK-01, TANK-02, TANK-03, etc)
Furthermore, all these textual properties have to be able to be shown physically on the part (for identification on plots) and extractable for BOMs, etc. It seems that any custom i Properties I set up are global for all instances of the part.
I am trying to have one drawing with B size and E size sheets I am trying to get the border, title block and standard to change when the sheet format changes. I can get it to work when I run the rule but have hard time find information to just change when sheet format changes. And I can't find anything or I should say a sample of how to. I think I found the code just don't know how to make it work. Here is what I have so far.
I am currently working on a parametric assembly using i Logic to control the size of the components as well as patterns. However, I have hit a road block in trying to figure out how to write a rule for resizing the last roof sheet in this assembly pictured below to be even with the frame. The rule below is what controls the roof sheet pattern based on the frame length. The problem I am continually running into is how do you modify a part which is in an element within the pattern without having it affect the rest of the parts in the pattern since they all refer to part. I can get since it is hard to find information on i Logic.
Roof_Pattern_Spacing = Roof_Sheet_Width Roof_Pattern_Count=Ceil(Parameter("Length")/Parameter("Sheet Metal Roof Section:1", "Roof_Sheet_Width"))
(Note: The red line symbolizes where I would like to have the roof sheet end.)