AutoCAD Inventor :: Rename Browser Node On Part Level With ILogic Rule?
Oct 18, 2011
is it possible to rename the browser node on part level with an iLogic rule? I know that in the assembly environment is an Inventor OOTB functionality to rename the nodes to the filename, Part number or the default value.
Inventor Professional 2011
Windows 7 Enterprise 64bit
Dell Precision M4500
Intel(R) Core(TM) i7 CPU Q 820 @ 1.73GHz
8 GB RAM
I need a way to run a rule which is saved in my top-level assembly using iLogic rule which is saved in a part file in the parent assembly.
I have even tried using an external rule in a txt file, but that gives the error "Component: This function can only be used in an assembly." - which makes no sense to me. I hope I am just missing something simple. I cant believe with all its other strengths, that iLogic would be so limited in that regard. Why is there not simply a snippet under the 'Run Other' that allows you to specify an assembly file and the rule name? (like there is for running a rule in a component from the assembly)
I am attempting to rename a browser node. Here is the code I'm using and I'm getting a "Property 'Label' is 'ReadOnly'" error. In the API I found a note about using SetLabel() but that seems to only have ones for ClientMade browser nodes.
WHAT WERE they thinking when they created the Rename Browser Command. We had someone find out about it and really screw up a bunch of top level assy's. I'm having to WASTE WAY TOO much time fixing them, bringing them back to showing the modified descriptions in the Browser.
I want to simply set a custom iproperty as the Description in each part file within my assembly. I can do this easily at part level with ilogic but I want to be able to run the rule from the assembly level and all the parts run the rule. I am struggling to find a way to do this.
I think this may be the best method I have found but I think it must be far easier?
I'm running Invenor 2013 and I'm trying to figure out a way to rename my components from an iLogic assembly when placed in a new assembly.
Right now when I start a new assembly, then place an iLogic component it names everything "Part-01," Part1-01" and so on for all of the variable components.
What I'd like to do is write a rule that when placing my iLogic component it will name it based on the filename of the new assembly that I've created. "Part-New Assmebly," "Part1-New Assembly" and so on.
how to create an iLogic rule that automatically renames the browser nodes based on part number. I know that this is a function in Inventor itself. The problem is that there is no built-in functionality to automatically change the default browser name to something besides part number. I've done a lot of digging and I came across the following code from an old thread discussing Inventor 2011. I am interested in 2013. It is also worth noting that when I run this code, my Inventor crashes.
PrivateSubMain UpdateAssyBrowser(ThisDoc.Document) End Sub
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
I want to be able to have All Work Planes set as 'Invisible' but create a Message.box or Icon that allows me to change the Visibility of any individual workplane(s) physically selected in the browser.
A rule written by another member should do the trick if the following line could be altered so as not to read 'For Each' oWorkPlane but instead for 'Each Selected' oWorkplane.
'For Each oWorkPlane In docFile.ComponentDefinition.WorkPlanes'
'get user input oInput = InputRadioBox("Select workplane visibility:", _ "Turn ON workplanes for all components", "Turn OFF workplanes for all components", "False", "iLogic") 'Define the open document (top level assembly) Dim openDoc As Document openDoc = ThisDoc.Document
Is there a way to rename browser nodes within a part in a similar way that the rename browser nodes tool works in assemblies? I am copying designs with derived parts, after copying the design I can see that the part files contain the correct links to other parts when I open the base component but they display as the old name in the browser which is not ideal.
I would like to make an External Rule that would make an iLogic Internal Rule (with the same code every time). I guess what I really need is a way to drive an Ilogic rule into every part that does not have the rule in the part already.
I know what you’re thinking and just using the External Rule doesn’t work for what I want to do. I need it to be an iLogic Internal Rule.
iLogic rule that will retrieve a part number(s) from an excel sheet. I work for a company that built vacuum trucks and I'm trying to make an . I am template where the user can select different lengths of shells to achieve the desire overall length. I have been able to achieve this using iLogic rules and forms and making the shell length parameter multi value.
But now I need to show predetermined SAP part numbers for the shells in BOM or part list. I all ready have an excel sheet with shell sizes with corresponding part numbers on file. I also thought about incorporating our custom CC parts/shells that already have the SAP part numbers set up as a custom iProperty but might be to complicated for a newbie iLogic user.
I am trying to use the Browsernode.addchild method to add an occurence to an empty browser folder. The code fails at this point and I gett an error pointing to the line "Call oTargetNode.AddChild(oSourceNodeDef)". I can add the occurence with the browserpanes.Reorder method without issue if the folder is not empty. The code is pasted Below.
Format:HTML Format Version:1.0 StartHTML: 165 EndHTML: 29338 StartFragment: 314 EndFragment: 29306 StartSelection: 314 EndSelection: 314 SyntaxEditor Code Snippet DimPrcsTpAsStringPrcsTp=InputListBox("Process Type?", MultiValue.List("ProcessType"), Parameter("ProcessType"), Title :="Select Process Type", ListName :="Process Type")DimRtgNameAsStringRtgName=PrcsTp&"-"&Parameter("NoRtgsInc")+1MessageBox.Show(RtgName, "Title",MessageBoxButtons.OKCancel)DimoAsmAsAssemblyDocument=ThisDoc.DocumentDimoMatrixAsMatrix=ThisApplication.TransientGeometry.CreateMatrixDimoOccAsComponentOccurrenceoOcc=oAsm.ComponentDefinition.Occurrences.AddVirtual(RtgName, oMatrix)DimoCompDefVirtualAsVirtualComponentDefinition=oOcc.Definition'CREATE AND SET THE
I am working for customer with a simple item with his iLogic design. He has created a simple form to modify his iProperties. To modify the current material, a multi-value parameter was created and the following rule as a local rule;
He is now trying to make this an external rule but gets the following error
Error in rule: Mat2, in document: Mat2.iLogicVb iProperties.Material: is probably a bad material name.
The more info tab says:
System.ArgumentException: iProperties.Material: is probably a bad material name. at iLogic.CadPropertiesInRule.SetDocMaterial(Document doc, String matName) at LmiRuleScript.Main() at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem) at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)
line of Inventor 2013 iLogic that can change the browser node name of an IDW?
Specifically, I'm only interested in changing this:
I know how it's set by default, but someone has managed to fix their template so it only ever shows "A3 template" in this field. consequently, this problem now persists throughout hundreds of drawings. If I can fix it with a line of iLogic, then the wickedly awesome CodeInjector can be used for fixing all the drawings.
I am trying to use iLogic to create the file types I need to give to my vendors once I have created a drawing.In the .idw file I have a rule that creates a .pdf file and .dwg file. I also want it to activate a rule I have in the .ipt file that creates a .dxf file.
trigger = iTrigger0oType=Left(ThisDoc.FileName(False),3)GoExcel.Open("S:DRAWINGSFolder Types.xlsx", "Sheet1")For rowPN = 1 To 200 If (GoExcel .CellValue("A" & rowPN) = oType) Then oFile = GoExcel.CellValue("C" & rowPN) Exit For End IfNextoFolder = "S:DRAWINGSNOT RELEASED" & oFileIf Not System.IO.Directory.Exists(oFolder) ThenSystem.IO.Directory.CreateDirectory(oFolder)End IfThisDoc.Document.SaveAs(oFolder & "" & [code].....
I have an assembly with 10 parts in it. We use many assembly features at the assembly level (Revolve cut, Extrusion cut..etc). How to find the mass difference of each part by comparing at its parts level and its assembly level.
I want to create a rule that will warn the user when the plate thickness they are using is not standard. I have already created a multivalue parameter for plate thickness, which lists all standard steel plate thickness's and also allows for custom values.
I was hoping I could create a rule that would prompt a dialogue box warning when the user creates a custom value for plate thickness.
I know this can be done, but like I said, Im bloody useless with iLogic and find it hard to come across relevent examples and/or tutorials online.
i have an iLogic rule in serveral files. Now this rule has to be deleted. This should be done with VBA. I can not find any function to delete a rule using VBA.
I found a function iLogicAuto.RunRuleDirect(rule), but not iLogicAuto.DeleteRule(rule) ...
I have an iPart which includes iLogic Rule. When I change iPart by table, iLogic Rules are not triggered.
In iLogic Utilities, there is a button "Rules Triggered by Events", If I use "Any Model Parameter Change", the update need long time, looks like Inventor is "No Response". I like the way "Material Change", but I need "part Number" change to trigger the rules. How can I do it? I tried other events as After Open, Before Save, etc, they are does not work.
I have a rule setup for drawings. I need the rule to first determine if the there is a flat pattern view present. In other words, if there is no flat patter view, I want to the rule to stop.
I am very green to ilogic and VB. Running Inventor 2013.
I've caught glimpses of how to do this (For instance, this plugin (Inventor LinkParameters) [URL]...... when trying to actually find information on any documentation of how to get from point A to point B. I can't seem to find anything about ilogic automation / rule creation / ilogic in general, in the object browser at all.
I know code like this exists
Option ExplicitSub RuniLogicRule()Dim iLogicAuto As ObjectSet iLogicAuto = GetiLogicAddin(ThisApplication)If (iLogicAuto Is Nothing) Then Exit SubDim doc As DocumentSet doc = ThisApplication.ActiveDocumentDim ruleName As StringruleName = "Rule0"Dim rule As ObjectSet rule = iLogicAuto.GetRule(doc, "Rule0")If (rule Is Nothing) Then Call MsgBox("No rule named " & ruleName & " was found in the [code].......
(and even fixed the error it gave me due to the original code leaving something out) , but any info on the GetRule method is.