AutoCAD Inventor :: Place ILogic Component
Dec 28, 2012Is it possible to skip the small preview window and the parameters display when i place an iLogic component white the command Place iLogic Component.
View 1 RepliesIs it possible to skip the small preview window and the parameters display when i place an iLogic component white the command Place iLogic Component.
View 1 RepliesI created a simple Part with some parameters to drive dimensions. Saved the part. I created an Assembly. Saved the assembly. Clicked Place iLogic Component. The Place iLogic Component window appeared Selected the Part. I can see the preview window (Part-01) & the parameter window... Used default values. Hit OK NO PART INSERTED! Using Inventor Pro 2014 64-BitLudesroc
View 1 Replies View RelatedShow on Place Component
If I set this to true, then when I "place iLogic component", I don't get the form displayed or the parameter table or the model preview.
If set True, displays the form when placing this model as a component in an assembly. This setting affects Place Component and Place iLogic Component. If the template file has a form, this setting also affects Create In-Place Component.
I wish to create a form that with multiple buttons. Each button will place another component (platform, stairs, ladder, railing).
I wish to place them using 'Place iLogic Component"
I know you can call this command by:
ThisApplication.CommandManager.ControlDefinitions.Item("iLogic.PlaceComponent").Execute
But is it possible to automatically browse to and open a file this way using a path "C:CPSVaultPlatformComponentsStairs.iam" within this command?
I have an assembly which has a few components suppressed.
My end results is another copy of the assembly (with copies of the all the parts) in another directory
Now i am able to create copies of un-suppressed parts using; (this allows me to SaveAs assembly components which are not suppressed)
DocumentsEnumerator = ThisDoc.Document.AllReferencedDocuments
And save a copy of the assembly using
ThisDoc.Document.SaveAs
I also added the fllowing snippet (which I am not sure what is does), but it does not work for me
Component.SkipDocumentSave = true
When I open the newly created assembly, I still see the suppressed components in the model browser
I want to either;
Skip saving the of the components in the model browser (i.e. the Assembly)
OR
Delete the suppressed parts in the Assembly, so that they do not save altogether
I have created a standard part that has imates and all features are adaptive. When I create an assembly and then try to place the component I would like for the part to come in adaptive automatically.
For example I have a nightstand I am modeling. The top and endpanels are in the assembly constrained to each other. I have a standard top back rail that is set up in a library and is used in all cases. The rail width and thickness is always the same but the length is different. I have two imates set up on the rail so when it is brought in, it will snap into place with one end of the rail mated to one endpanel and the other end mated to the opposite endpanel. But since the part is not adaptive on input it dosen't work right. One mate works fine but the other doesn't snap into place. Once I make the rail adaptive then it works fine but I have to insert it into the drawing first then make it adaptive then move the imates into place. Is there a way to make it adaptive automatically when it is initially placed in the assembly.
Is there a way that will allow me to place a component into an assembly where it automatically creates a constrain between the components xz plane and the assembly xz plane? I tried the Ground and root component, but it does too much, I will need to constrain the component differently on the other component planes.
View 6 Replies View RelatedCreate code that will allow me to place a part in an assembly at all matching iMate locations. I would also like to call this function from iLogic using RunMacro if possible.
View 1 Replies View RelatedI love the new triad function when placing a new part in Inventor 2014: I am now searching to trigger the same function for a part that already has been placed.
Something like:
1) select component
2) press a button (triggers the macro I now want to write)
3) the triad pops up.
I searched true the Inventor Help & what's new in the API. But didn't find any reference to that command. So I am afraid that it is not yet in the API. Could I maybe emulate it by replacing a component with itself using the place component command + emulating a mouseclick at the same origin as the original piece?
So a piece of code like:
1) get filelocation of selected part
2) get the origin point (x,y,z) of the part
3) get the translation between the origin of the assembly and the part
4) delete the selected part
5) place the part using the place component command (so the triad has been triggered)
6) fill in the filelocation, origin & translation
7) give control back to the user so he can move the part using the triad.
I am using Windows 7 64bit and Inventor 2012 SP1 (Build 190). When placing a new content center item an error message of "Unable to place component" is reported. Content center was working previously.
I determined the problem resulted in using a custom Date format in the Windows Region and Language setting. To duplicate go to Control Panel -> Region and Language ->Formats Tab -> Additional settings button -> Date tab and change the Short date format to a custom format (I was using ddd M/dd).
To fix simply reset to a standard date format.
Note that this can be done whilst Inventor is running and I have have submitted a bug report. None of the standard date formats resulted in errors. I have tested "ddd-dd/M", "ddd/MMM/yyyy", "yyyy/MM/dddd", and "yyyy-MM-ddd" and all resulted in an error. "yyyy-MM-dd" did not result in any error.
What I am trying to do is insert a part into an assembly file using iLogic. I basically want to mimic Inventor’s “Place” command using ilogic, maybe something like this:
oPath = ThisDoc.Path & ""
oFile = "File.ipt"
Component.Place(oPath & oFile, False)
how to change Default template when using "Demote" in an assembly? Discovered that it was set to use harness.iam as default, want to have standard.
View 1 Replies View RelatedHow can I include component suppression in the idw views? I suppress a component in the ipt or asm, but it doesn't
disappear from the drawing views. Is there a way to carry this over to the drawing?
I'm trying to play around with iLogic for creating dynamically dimensioned subassemblies. I've created my dimensioning rules that link to the parts I wish to change dimensions on.
Parameter("Bridge Spine:1", "BridgeLength")=Length
And I've tested this in the SubAssembly I've created and all appears fine. However when I go to insert the sub assembly into the main assembly I get the following error:
Parameter: The component named "Bridge Spine:1" was not found.
I've noticed that the new sub assembly has created new parts with the extension -01 on the end of each part (As expected) It appears that this link is being lost in the rule for the new sub assembly. i.e the rule is looking for Bridge Spine:1 instead of Bridge Spine-01:1
I am trying to set the appearance of sub-components in an assembly using iLogic.
Dim oDoc As Inventor.AssemblyDocument = ThisApplication.ActiveDocument Dim oCompDef As Inventor.ComponentDefinition = oDoc.ComponentDefinitionDim oCompOcc As Inventor.ComponentOccurrence 'parts in the assemblyFor Each oCompOcc In oCompDef.OccurrencesoCompOcc.Definition.Document.ActiveRenderStyle = oCompOcc.Definition.Document.RenderStyles("HVGM")Next
I have a code which I want to rotate a part. I have a text parameter 6 and 7. If one of the values is active I want to give the component a certain rotation.
Under the 'Hoekkoppeling' parameter is the angle constraint.
Below the
If Parameter ("KlemHoekstuk-01: 1", "KoppelingType") = 7
Then Hoekkoppeling = 60 deg
ElseIf Parameter ("KlemHoekstuk-01: 1", "KoppelingType") = 6
Then Angle = -60 deg
End If
I now get always an error on the second and fourth line.
I feel that the specify for the value is incorrectly.
I'm working on a main assembly. I want to edit the i properties of components within a sub-assembly, this is fine for "RING:1"
iProperties.Value("RING:1","Project", "Description")="A79-H020B001"
but I get an error message when i try to edit the iproperties of a patterned component within 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 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.
Is there code for changing the color (or other properties) of the visible edges of a component in a drawing view, the same way I can do it manually by right-clicking a component and choosing Properties?
I wrote this rule to change the color of each individual drawing curve:
Edit: Ignore the "<!". It's the only way I could get the iLogic code to successfully post in the message
Spoiler (Highlight to read)<!Dim drawViews AsDrawingView
For Each drawViews In ThisApplication.ActiveDocument.ActiveSheet.DrawingViews
occ3 = drawViews.ReferencedDocumentDescriptor.ReferencedDocument.ComponentDefinition.Occurrences.ItemByName("GF_Plenum:1")
Dim newColor3 As Color
newColor3 = ThisApplication.TransientObjects.CreateColor(0,255,255)
[code]....
The commented code does not work. I want to be able to open a part and change its size parameters before i open the assembly. this code will run as an external rule in a new empty file.
If i can do it without opening the part, that is even better. Test can I open a part, change a param, then close part.
Dim fname As String
fname ="C:Workspacemy_progchanF_BB_L.ipt"
Dim pDoc as PartDocument = ThisApplication.Documents.Open(fname,False)
pDoc = ThisApplication.Documents.Open(fname)
These are just attempts to find a syntax that works. I need the method to change the parameter.
'param = pDoc.PartComponentDefinition.Parameter.Param("TKNS")
'pdoc.parameter.Param("TKNS") = 8
pdoc.Save
pdoc.Close
I have a simple code below trying to iterate through all the assembly component and copy the iProperties > Occurrece Name (i.e. "Part1:1") and paste it to iProperties > Project tab > Part Number field for each individual part in assembly.
' set a reference to the assembly component definintion.
' This assumes an assembly document is open.
Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
'Iterate through all of the occurrences
Dim oOccurrence As ComponentOccurrence
For Each oOccurrence In oAsmCompDef.Occurrences
Dim oName As String
oName = oOccurrence.Name
iProperties.Value(oOccurrence.Name, "Project", "Part Number") = oName
MessageBox.Show(oOccurrence.Name, "iLogic")
Next
The Debug message shows the correct output for every iteration, but when I check each part's properties they all have the Occurrence Name of the last part in the aseembly.
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
I found this code to create a custom iProperty in the current, open document:
Dim propertyName As String = "MyProperty"Dim propertyValue as String = "Test Value"customPropertySet = ThisDoc.Document.PropertySets.Item("Inventor User Defined Properties")Try prop = customPropertySet.Item(propertyName)Catch ' Assume error means not found customPropertySet.Add("", propertyName)End TryiProperties.Value("Custom", propertyName) = propertyValue
I have a iLogic rule that goes through each component of an assembly, counts how many times it occurs in the assembly, and then assigns that value to an iProparty (i.e. it inserts the total quantity of the part in some iProperty). Currently, however, it assigns the value to a default iProperty value, "Authority". I'd like, instead, for it to assign it to a custom iProperty called "Total QTY". However, I don't know how to tell Inventor to do the above code for a component in the assembly rather than the assembly itself. Below is my entire code. I've labeled where I'm guessing the above code should go. How I'd modify the above code to create the iProperty in the component being processed by the rule at that point?
Current
''True comment: Begin '''Commented-out Begin '''PartDocumentObject = 12290''AssemblyDocumentObject = 12291Dim openDoc As DocumentopenDoc = ThisDoc.DocumentDim docFile As DocumentIf openDoc.DocumentType = 12291 Then''If the open document is an assembly:''For each document referenced in this document:For
[code]......
I'm trying to create a rule in ilogic that would search through all child components (looking for both .ipt and .iam file types) looking for an ilogic rule within each child component with a particular name, and running that rule if it is found.
View 1 Replies View RelatedI am looking for a way to create an external rule that will allow me to turn off the visibility of bolt generator items in the model while I am looking at the drawing. Bolts may be buried several subassemblies (4 - 6) deep.
View 6 Replies View Relatedwhat code I would use in an assembly if I want to enable and make visible certain parts depending on the positional rep I am using.
Basically I am having trouble reading the pos rep into an iLogic code
I'm finally wrapping up work on an iLogic Configurator project and have started to brainstorm the best workflow to get this "Smart Assembly" into the design group's hands. I had been anxiously awaiting the new "iLogic Design Copy" feature in IV2012, but just recently learned that users are unable to effectively rename any components with this command.
Is this really true? If we can add prefixes or suffixes, what's stopping us from changing the entire filename? We haven't upgraded to 2012 yet, but it seems like this may be a silly and unjustifiable restriction to a command that would otherwise save our designers hours of "file-management" (ie, manually renaming parts in Explorer, component replace in assy's, replace references in idw's, etc) each week.
Long story short, it seems that every workflow I've come across has had some sort of silly limitation that makes it undesireable for my application:
My top-level assembly contains all of the rules, and changes parameter values in the referenced skeletal parts. It also swaps standard parts for other standard parts as needed.I need access to rename ALL files (idw's, top-level assembly, subassemblies, and base components) while still maintaining/updating all internal hyperlinks between them.iLogic rules must be carried over to the new copied components (the existing "Copy Assembly" command strips the assembly of all rules). In light of the iLogic Design Copy's apparent shortcomings, any better workflow?
I 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 RelatedLike the title says I am looking to place views (and dimensions) on drawings using ilogic. I am new to both inventor and ilogic, most of my training came in SolidWorks. It needs to pull the part from an ipart that pulls the information from an excel file.
View 1 Replies View RelatedI 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