AutoCAD Inventor :: ILogic Unable To Update Title In IDW
Mar 29, 2012
I have an ilogic assembly that I change to different widths. And I want ilogic to put the part number into the title block according to the size of the assembly.
What I have works but won't update on its own. I have to open the ilogic rule and close it, then open the i properties of the idw and close before it will update.
I am trying to create an iLogic (or VB) rule to update an active drawing title blocks from our Template File.I don't want to use any of the external software (Transfer Wizard etc), we just need a simple rule that will update the title blocks when we need to.
Earlier I`ve used a simple code from Rob Cohee to update the title blocks and it works like a charm, however, now I would like to try to kick it up a notch.
If (ThisDrawing.ModelDocument Is Nothing) Then ReturnmodelName = IO.Path.GetFileName(ThisDrawing.ModelDocument.FullFileName)iProperties.Value("Project", "Part Number") = iProperties.Value(modelName, "Project", "Part Number")iProperties.Value("Custom", "Client") = iProperties.Value(modelName, "Custom", "Client")
I`m working with several similar projects where the Inventor models and IDW`s is copied from one project to another. A typical project can consist of 50-75 drawings and the only properties needed to change is Client, project number and drawing number (consisting of the project number and a suffix, ex 123456789-125).
I would like to try to make an .ini file with these 3 properties in the root of the project folder so they can be changed and updated easily.
I can't for some reason get this rule to work, simply want to be able to choose what title block to use.
I created a text parameter with the multi-values: TES ELE and TES EQU
I have 2 title blocks in my template called TES ELE and TES EQU
Here is my code, basically, I want to rule to apply the title block based on the selection, which will be done on a form.
If Title = "TES ELE" ThenActiveSheet.TitleBlock = "TES ELE"ElseIf Title = "TES EQU" ThenActiveSheet.TitleBlock = "TES EQU"End IfInventorVb.DocumentUpdate()ThisApplication.ActiveView.Fit
I have found many threads in this forum and have used their solutions for this rule, but for some reason, my rule will not select the title block and place it in the drawing.
Here is a snap of my set-up and my template file is attached
Currently I am using I-logic and a form. I have an assembly that I am pushing a volume from a part to the main assembly. The volume updates in the part fine. The issue is with the form is not updating when the file parameter updates. If I exit the form and run the rule manually then the form updates. how to update the form at the same time?
I have a global form which is exactly made for a specific assembly for configuration of this very assembly. To make things easier for the user I call another external rule which only opens exactly this assembly.
Now when the user opens the form the assembly is not open and obviously can´t reference the used parameters.
Even after loading the assembly the parameters are not available, which results in something like this:
So this is a really simple question, is there a way to update a form so that it rereads the parameters from the assembly?
What I tried is using iLogicForm.CloseGlobal("Name of form") to no availability and then open it again with iLogicForm.ShowGlobal("Name of form").
But I couldn´t find any further info on the iLogicForm Commands.
I am after a way of accessing the update styles on dwg so that I can run with rule below as most of our drawing stds have changed and old dwgs need updating the work flow is as follows.
I need to access manage tab then update styles,then yes to all,OKUpdate all sheetsfind all parts list within all sheet and then annotate , style on format tab and then select Parts list - this will change all my old parts list to current style definition.Either run at begining of code below or run as seperate code
On Error Resume NextDim oDrawDoc As DrawingDocument oDrawDoc = ThisApplication.ActiveDocumentDim Sheet As Inventor.SheetDim Cursheet As String Cursheet = oDrawDoc.ActiveSheet.Name For Each oSheet In oDrawDoc.Sheets oSheet.ActivateDim oPartsList As PartsList oPartsList = oDrawDoc.ActiveSheet.PartsLists.Item(1)If Not oPartsList Is Nothing Then Resume Next'Call oPartsList.Sort("ITEM")Call oPartsList.Sort("PART NUMBER", 1, "DESCRIPTION", 1, "QTY", 1)iLogicVb.UpdateWhenDone = TrueActiveSheet = ThisDrawing.Sheet("Sheet:1")ThisApplication.ActiveView.FitEnd If Next
I am trying to put an immediate update box on my form in ilogic. I want to be able to change parameters on my form without updating the model. There is this option in the parameters window but not in the form. How can I accomplish this?
I have a form that is loading automatically in my part model. where i write the part number, description, project and custom titles.
my questions are:
1 - when i write the part number i would like then when i click apply it opens the save box with the same part number. 2 - it's possible to check-in the file during the saving and keeping the file checkout? 3 - i would like that some of the properties would be transfer to the drawing, like the description and the project (this two are from the part properties. 4 - transfer also for the drawing the custom titles to the custom i properties of the drawing as pre fill in.
I am currently working with fx parameters and iLogic to drive a model and it's corresponding drawing to change based on a single user parameter.
I have managed to get the drawing to update both the scale of the views I need and the size of the sheet with the change in parameter using the following rule:
However when i attempt to use this with the title block using the function:
ActiveSheet.TitleBlock="My Title Block" in place of the sheet change size it brings up the error message:
Error in rule: Drawing Title Block, in document: Drawing
The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))
I have read elsewhere that this is due to me having prompted entries for the scale and drawn by fields, however when i use the function designed for prompted entries: ActiveSheet.SetTitleBlock("Other Title Block", "promptedEntry1", "promptedEntry2") It fills in the prompted entry fields from the code and if i change these entries in the "edit field" option they are overwritten when it is updated.
Is there a way have the prompted entries when you open the drawing fill in the "promptedEntry1" field in the rule so that I can use the rule? Or am I going about it the wrong way?
I should point out i'm new to iLogic and no-one in my workplace can use it so each person changing the "promptedEntry1" field to the scale they wish isn't a wise move.
I have an assembly which is made with a sub assembly. The sub assembly has iLogic code that both resizes it's parts and suppresses parts that arn't needed after a change in length.
I made iLogic for assembly and drawing, now i want to update drawing template parameters thru ilogic, as i already linked Fx(parameters) & iProperties to Template, but for updating template i need to close file and open again that file,
currently m using this method.
What is the solution for updating drawing template (like Model Description, Drawing no.).
Is there any way to force an update of mass property values of a component from within an iLogic routine?
I am trying to produce a calibration chart showing the volumes of an irregular shaped object by taking incremental slices off the component and accessing the "volume" of the remaining portion, then writing the the results to an external file - All from within a "For - Next" loop.
The main routine works O.K. but the resultant chart only shows the original starting volume for each slice instead of the required reducing volumes.
I am a novice with iLogic and can only assume that I must somehow "update" the mass properties of the sliced object before reading its new volume on each pass.
The rule iterates through an assembly looking for parameters. If it finds them it 'pushes' the value down from the top level Assembly into the sub-components.
It works well, but each component updates dynamically as the parameter value is changed. This looks a bit jerky and weird.Is there any way to write the script so the the updates all happen at once at the end?
' set a reference to the assembly component definintion.' This assumes an assembly document is open.Dim oAsmCompDef As AssemblyComponentDefinitionoAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition'Iterate through all of the occurrencesDim oOccurrence As ComponentOccurrenceFor Each oOccurrence In oAsmCompDef.Occurrences'check for and skip virtual components'(in case a virtual. [code]...
as a part of automating manufacturing drawings, am trying to include ilogic code in the drawing , that would accept values from the user and store it as "user parameters" and make corresponding changes in the inventor drawing file.So, to replicate my issue on a smaller scale, i had created 2 parts and created an assembly out of these 2 parts. I used the assembly in my drawing.
In the Drawing i created a user parameter .. say "external_param". I am opening the drawing and changing the value of the user parameter through the (Fx) parameter table.
doc = ThisDoc.DocumentIf external_param >= 50 And external_param <= 99 ThenParameter("block_1.ipt.d0") = 15 'change the length of the blockParameter("block_1.ipt.d14") = 3 'change the number of holes in the blockElseIf external_param >= 100 And external_param <= 199 ThenParameter("block_1.ipt.d0") = 40Parameter("block_1.ipt.d14") = 5ElseIf external_param >= 200 And external_param <= 299 ThenParameter("block_1.ipt.d0") = 80Parameter("block_1.ipt.d14") = 6ElseIf external_param >= 300 And external_param <= 399 ThenParameter("block_1.ipt.d0") = 160Parameter("block_1.ipt.d14") = 9End IfRuleParametersOutput()iLogicVb.UpdateWhenDone = True'InventorVb.DocumentUpdate()
As you can see, i have commented out InventorVb.DocumentUpdate() , im not quite sure what would accomplish the update and save of the assembly document in the background (without prompting for a save/update). I have also tried thisDoc.Save and thisdoc.update. Using these 2 commands along with the InventorVb.DocumentUpdate() or iLogicVb.UpdateWhenDone caused Inventor to Crash.
The right click context menu on the top level assembly (on the model tree in Inventor) has the option of 'Open Drawing'.
Is there a way to do that via iLogic? Unfortunately I can't figure it out if there is. I would like to open and update the relevant drawing.
Also have tried it the other way around, that is to run my rues in the assembly from the drawing since the drawing is the parent. But I am not sure how to reference the assembly.
I'm running an iLogic based model where I have a technical housing with 2 cover parts on top.
The first cover part is the basic part.
I use iLogic to assign a RAL-color to several parts in the assembly, also to that cover. The color is assigned to several features of the cover part.
The second cover part is almost identical to the first one.
So my first feature in the second cover part is a derived part of the 1st cover. I derived all the bodies.
When I'm in my assembly and I pick a RAL-color in my created customization form, the RAL-color only changes in the 1st cover part (the original), but it doesn't change in the second cover part, the derived body.
But....
when I manually open the 2nd cover part, and I right click on the derived feature and click on 'Edit Derived Part' ; the new color shows up immediately!
So, my question is if there is a rule for iLogic to update the color automatically?
I want a ilogic rule syntax for following process:
I have one excel sheet it consists around 5 sheets for Plate, Flats, Rounds, etc. When i am run the rule then it will ask and do the following:
Ask the thickness value.It will search thickness value in “D:LINUS KOTTEstock numbers.xlsx” in sheet 1If thickness value found then fill the stock number in iproperty(project tab-stock number)
Here i am using different rules for plate, flat, round, etc.,
How to make Automatic Update propeties for Flat Pattern Extens. I have write code and setting rules trigerred by event (Before save, Any model Parameter Change) but if some parameter change properties isn't automatic update. So could some one tell me how to solve this problem.
I have one problem in ilogic i developed the model using ilogic rules and dimension values updated through the User interface form.
problem is while entering the values in UI, model updates automatically, but I want to stop automatic update and after entering the all the parameters in the UI then click the done button only update the model.
ilogic function to update local styles to match Style Library?
I have a snippet of code that, on a drawings, deletes the current parts list (if one exists), then inserts a new parts list which I want to be up to date with the Style Library.
Autodesk Inventor Professional 2011 Windows 7 Enterprise, 64-bit
I can not edit the M text & field text in title box.My system is Windows Xp Professional 2002, Inventor 11.
I tried to install Microsoft Hotfix KB918118 as I did before, but I coulden't. System massege show my system is newer than that, so I do not need it. Then I installed Hotfix for text problem caused by Microsoft Hotfix KB918118. I can edit M Text now, but still I could not edit Field Text.
I have one particular file which will not allow me to add an iLogic form. When I select "Add Form" it does nothing. This only happens in this one file. I can open other files in the same session and they work fine. I can add iLogic rules to this file but I can't create forms.
I have been using a simple rule to export IDW drawings to ACAD 2000 DWG format using Inventor 2011. I upgraded to Inventor 2012 Pro past weekend and am having problems running Ilogic Rules.
Running the rules on Inventor 2012 Pro either manually or using Triggers errors out. The same rule run using Inventor 2011 works ok. The code I have is direclty from the My Snippet> Export DXF from IDW. All occurences of "DXF" were replaced with "DWG". Here is the complete
' Get the DWG translator Add-In.
Dim DWGAddIn As TranslatorAddIn DWGAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}") 'Set a reference to the active document (the document to be published). Dim oDocument As Document oDocument = ThisApplication.ActiveDocument [URL]........
Below is the error message. I don't know what this is but the DWG and DXF translators ADDIN may not be loading up. I have loaded them manually using ADDIN Manager but I continue to get this error.
I have some parts published in the Content Center. I need to modify a dimension on some parts. I can edit the family table and modify it. The new dimensions are right. But if I open an assembly which use older versions of the modified parts, when I try to update the Content Center parts, Inventor says all standard parts are up to date. When I insert the modified from the CC, I obtain the old version.
I don't have local versions of the part.
If I insert the part with option "Update standard parts when insert", I have the old version too.
I have already made these modification on other parts with no problem, what is wrong with this part ?
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.