AutoCAD Inventor :: ILogic To Create And Display / Insert Custom IProperties In Template
Aug 25, 2012
Any way to use iLogic to create custom iProperties from the cells in an Excel spreadsheet (both text and numbers) for a .dwg template. The only thing even close has been a user who already knew how to do it and was having a different problem. I am using Inventor 2012 and Excel 2003 and have very little experience with VB. I currently have a family of assemblies, consisting of two parts linked to an Excel spreadsheet to control the various parameters for each variation of the assembly.
I need creating an iLogic rule that will:
Go to a specific tab (I have four different tabs/worksheets) in an Excel spreadsheet.
Make a specfic row of that worksheet the current row based on the part number used to generate the models of the assembly shown in a .dwg.
Use the contents of a cell in that row (text or numeric or a combination of both) to generate a custom iProperty for the .dwg template.
Use the custom iProperties to fill in the title block of the template.
I'm trying to figure out how to create an iLogic rule that would create a Custom iProperties and put in what version of Inventor the file was last updated with.
I was looking for some iLogic Code for Inventor 2013 that would cycle through all the parts in an assembly grabbing the quantity of each part and setting it equal to the custom property "Qty" of each part.
Having a little trouble creating the for each loop and setting reference to each part without referencing each part by specific name.
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 using ilogic in Inventor 2011 to update my iproperties when I save a .dwg file. I am having problems with some custom iProperties I have created that are of the type 'number' and are initially set to 0 (zero). After the iLogic rule has run and the user has entered a numeric value the type of the custom iproperty has changed to 'text'.
The ilogic code I am using is:
If iProperties.Value("Custom", "Nominal ID") = 0 Then iProperties.Value("Custom", "Nominal ID") = InputBox("Enter The Nominal ID (Enter 0 if no value is available)", "Nominal ID", 0) Custom_iProp_Nom_ID = iProperties.Value("Custom", "Nominal ID") End If
I am using Vault 2011 and would like to map this property to a numeric property so I can perform <= and >= searches.
I would like to know, whether is there is any ilogic option by which the Custom content center is triggered automatically to insert component in an assembly.
I would like to create an new custom ipropertie with ilogic. The reason is the contentcenter, thei haven't custom iproperties. How should the code work:
if propertie "test" is available write the value in the propertie else if propertie test isn't available create prpertie write the value in the propertie end if
How can i check if the propertie is already exists in the file?
How can i create a new custom iPropertie?
The rest of teh code is ready and works fine.
i've faund already some code with VBA but not with "pure" ilogic.
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]......
We are going to be using autodesk vault and it is my understanding that vault searches the iproperties defined in inventor documents. Is there a preferred way to set up the iproperties in the part, assy and drawing environments.
If I do a search in vault and the iproperty is only defined in the drawing, the main search results will only give me the drawing(s) and I will have to show dependencies to find the associated model or assy, right. If I define the iproperty in the part, model and drawing I will have to fill in the value of the iproperty possibly in three places. If filling in the value in three places is preferred is there an easier way to fill out the values.
I would like to copy and paste all iproperties from one part to another, without retyping it all.
What i was thinking about is:
1. Exporting all iproperties to .txt
2. Run a import .txt rule to iproperties.
Is it possible? If so, How could i accomplish a task such as this?
Privacy warning: Since I live in a country that has traded liberty for the illusion of security, all of your posts to me are being monitored and saved by the United States Government.
I am sure this is extremely simple to do but I am missing something. I am wanting to set the Description of a part in the Iproperties using values from the parameters. For instance, if the part has a length value of 10 and a width value of 5 I want the Description to say: 10 x 5 Floor Sheet
I cannot figure out how to extract the parameter values and place them into the iproperties. Here is what I have tried: iProperties.Value("Project", "Description")=" =<Length> x <Width> Floor Sheet"... This gives me the following result in my description: x Floor Sheet
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"
My goal is to use basic ilogic to fill in some of the standard iproperty fields from parameters.I have so far managed to populate the description iproperty with one value from the parameters using this ilogic code;
where length is a user parameter.Want I would like to do is build on this to include more parameters such as material thickness, width and depth etc so the resulting iproperty description field would read something like
1.2mm SS 50x100 @3000
How do I go about writing the ilogic string to include multiple values and end up filling in the one description field?
I'm trying to build a simple ilogic form to fill out iproperty infomation for parts we generate. Our company only uses a few of fields that are available. The problem is that the Physical tab is not available in the form editor. I would like to add this field to my form to be able to select the material for the part. The style/standard editor in our part template file holds all materials we use. Summary, Project, Status, and Custom are all available, why isn't Physical?
I am trying to use an iLogic rule to populate iProperties (some generic, some custom) from a part number spreadsheet (containing columns such as PART NUMBER, DESCRIPTION, FINISH etc) and the rule keeps throwing up the following error 'Conversion from string "" to type 'Double' is not valid.'
Here’s part of the code (would be extended for the required custom iproperties but I’m assuming the same principle is ok)
StartRule: 'read excel file GoExcel.Open("C:DESIGNDocumentsEXCEL FILESPART NUMBERS", "PARTS") 'index row 3 through 10000 For rowPN = 3 To 10000 'find first empty cell in PART NUMBER column (Column A) If (GoExcel.CellValue("A" & rowPN) = "") Then [code]...
Changing the format of the excel data (number or text) has no effect. Is manipulation of the format required so that Inventor can read text and numbers to iProperties in this way?
Any way to display the inventor iproperties in windows explorer or in the inventor open dialogue box? This would be useful for us in a lot of situations. If there isn't an inventor trick, maybe a windows trick?
I am using some code from the June 2010 "Mod the machine" posted by Brian Erkins.I keep getting an error in C# (express 2010), Please see attached screen dump.
I don't see any obvious difference in my code when compared to Brian's (in fact at one point I copied and pasted his code and still had the same error). Here is the
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.,
I'm trying to put a little iLogic rule in my drawing template which triggers as soon as the drawing is opened. The rule asks the user whether the component he's making a drawing of needs to be painted or not. If it gets painted, the paint area (one side only or both sides) needs to be calculated. The result of this is then referenced by a text note in the title block.
I can do the radio boxes with the questions, as well as their If loops, but only when I'm in the model. Due to our, admittedly inefficient workflow, we never have time to specify "minor details" like paint area or spec during modelling, only when we get to drawing level. I'd like to put the iLogic rule inside the drawing template. I'm having trouble referencing the iProperties of the model from within the drawing's iLogic interface.
What I have so far is this rule, which I can run inside the model:
'set dummy variable equal to total areatotal_area = iProperties.Area'start radio box with questionsText1 = InputRadioBox("Will this component be painted?", "Yes", "No", Text1, Title := iProperties.Value("Project", "Description"))If Text1 = True ThenText2 = InputRadioBox("How many sides will be painted?", "Both sides", "One side only", Text2, Title := iProperties.Value("Project", "Description"))If Text2 = True TheniProperties.Value("Custom", "Paint Area") = total_areaElseIf Text2 = False TheniProperties.Value("Custom", "Paint Area") = total_area/2End IfElseIf Text1 = False TheniProperties.Value("Custom", "Paint Area") = 0End If
adding a line or two so that I can run the same rule, but from the drawing.
I'm trying to do this with iLogic, and i'm not getting anywhere. What I need, is to be able get to the iProperties of an associated model that is referenced into a drawing file. I want to make it easier to update the iProperties from the drawing file, without having to open the model file.
Factory Design Suite Ultimate 2012 AutoCAD 2012 | Inventor Professional 2012 | Vault Professional 2012
Is there a way to display the mass of a selection of parts through iProperties ? Similarly to the way to show the mass of a single part but but selecting multiple parts and getting their collective mass ?
Windows 7 HP Z400, Intel Xeon W3550 3.07GHz 12.0GB RAM, ATI FirePro V4800 (FireGL)
Is there any easy way of adding custom Iprops to previously created parts and assemblies? A macro or something that could set up additional lines without having to go in and type them out all the time?