AutoCAD Inventor :: ILogic To Switch Between IAssembly Table Rows
Mar 28, 2012
I have created two table rows in an iAssembly that I would like to have a iLogic code written for.
What do I need to use to trigger between these two, when, for instance, a certain numeric value is entered in the parameters? Within the assembly file, when I use the iPart.ChangeRow (or iAssembly.ChangeRow) and put the . I am filename in the first spot, it says it cannot find the file.
This is what I am using, and the error states it cannot find the . i am file I am referencing.
I have created two iParts, both with corresponding tables which I then put into an iAssembly so I can change the size of a pad eye and two cheek plates depending upon the desired Working Load Limit. I have a very basic form right now with a drop down menu to chose the different Safe Working Loads but whichever one I choose, is not changing the table configuration to the desired size. Clearly my iLogic code is not working the way I would like. See below and also see attached screen shots so you know what I am working with.
This code was actually overwriting the table properties (in excel), so I know this is wrong, I just couldn't find any snippet for changing a table configuration .
I have a rule in the .idw drawing template, that displays a dialog box asking for the size (A, B, C, D...). Once the size is selected, it displays the appropriate border and title block. There is a small & large title block, so an A or B size gets the small, and a C or larger gets the large. This works great.
My question is, how can I have the appropriately sized Revision Table (small or large), automatically ready for use, based on the drawing size? The (2) Revision Tables are defined in the Styles library.
Product Design Suite Ultimate 2014 | Vault Basic 2014 (SP1) Dell Precision M6600 | Intel i7-2820QM - 16GB nVIDIA Quadro 4000M | Windows 7/64 Pro
I am trying to switch component rows within my assembly file but can't seem to do so. All of the files are generated, yet and still I am not able to change component rows based on user parameters. Files are attached.
My code is as follow in Ilogic
MultiValue.Setlist("Material", "1", "2") If Material = "2" iPart.ChangeRow("RING", "RING-03:1") End If
I am creating an iAssembly with iParts. Some of the iParts have the "Table Replace" colum option and some do not. Both iParts have tables with members and part numbers. See pic.
Is there any way to insert a generic table into an assembly file. I don't want to create an iAssembly or use the data to configure the component in any way. I would just like to be able to maintain some design related information within the assembly file, similar to the tables that you can create in an idw. A table just like the iAssembly table would be fine, minus the iAssembly part or any sense of configuration.
I am trying to come up with an automatic method to add a new row to my i assembly table and populate that row based on values entered by the user (assuming that combination of values doesn't already exist... ). Basically, I wish to build my i assembly table on demand over long term by user input via a form that calls an ilogic rule.
Issue between an i-assembly and i-Logic. So, I have an assembly that includes some extra components that are not always needed and therefore an i-Logic rule takes the decision whether these will be suppressed or not.
Of course this is not a problem however it turns out that I miss some info from BOM according to the suppressed parts ...and all these makes sense following the LOD etc.
A potential solution to keep up to date the BOM while you are excluding the needless components is to create an i-Assembly.
To keep that simple I turned my current Assembly to an i-Assembly and very successfully I excluded various components and of course I included some others by adding extra ROWS.
So far So good
Now I want to apply some dimensional boundaries by using i-Logic rules. According to them I want to allow this i-assembly to jump among these different ROWS that meet the right criteria.
Very rough thoughts led me to the following code...
For example...
If Width > 600 Then iPart.ChangeROW ("..." , "...") 'Row-1' Else iPart.ChangeROW ("..." , "...") 'Row-2' End if
The Problem is that the above code works fine, for a example, in case that I will place an i-part in my assembly... However I am looking to change the row of the actual assembly that as I mentioned before I turned it to an i-assembly
To make this even more clear I want to be able to manipulate my i-assembly with i-Logic rules while this is open in Inv. I don't want to change rows while this is placed as a component or sub-assembly in an another assembly...
what the best way to show 2 different subassemblies based on the same iAssembly... I would expect a "custom" option as there is from the content center. If I try and change the table for one, the other instance gets updated, and I would like it to stay the same. I understand that this would require a new "branch" in the BOM holding the different sized parts, but there must be a way to accommodate this?
How to edit the member name in an iassembly table using code? The Part Number and Description iproperties are easy to handle. But I am stuck on how to access the member name and edit it. I guessed at some methods, but keep getting errors.
In the column Description from a I-assembly table I will place the text Test<200. Than I get a error message "Detected potentially damaging errors in the table. Unable to interpret cel: " ". It goes wrong with this symbol <. How do i get this symbol normal as a text in this column?
I have an iassembly which contains around 500 different members. There aren't any major differences between the members other than parts being Included/Excluded and parts being replaced by similar parts (this can all be done in the table as the parts are all created as one ipart family).
I need an assembly drawing for every member. As the drawings will be very similar, it is possible to just create one drawings then use 'Save as' and 'replace model reference' to create the whole lot. As this process would be very tedious and time consuming, I want to create a ilogic program or a VB macro to automate this process.
Basically i need a program that will...
FOR every line in the table (say 1 to 500)...
look at the currently active drawing...
replace model reference (for 2 views and a parts list) with the appropriate member (whos file name will match it's Part Number)...
save as with a file name that matches the current rows Part Number...
In a simple case I have an extrusion with some attached seals/weather stripping, all implemented as iParts having their own LENGTH parameters.
RailPart.ipt, Seal_A.ipt, Seal_B.ipt
The goal is to encapsulate these IParts within an iAssembly: RailAssy.iam, where a LENGTH parameter can be input when the iAssembly is placed, causing RailPart and Seal_A to have their length parameters set to the LENGTH provided at that time and SEAL_B having Length set by an iLogic rule to LENGTH - 5.
I've been unable to set up a Custom Parameter Column in an iAssembly table. Is this even permitted?
I would like to use iLogic to switch my design (rather complex assembly) between the 'full' version, a 'simple' version and a 'FEA' version. I'm learning Inventor step by step and did not studies the making of drawings yes.
I'm not sure if it is ok to use iLogic for this purpose because I'm afraid my drawings will update to the simple' or 'FEA' versions. This is not what I want. And when using the 'FEA' version, will the FEA information get lost when I switch back to the 'full' or 'simple' versions?
Or in other words: Is it wise to use iLogic for this purpose?
We are looking to switch from SW to Autodesk in order to utilize advanced surfacing in Alias, and its interoperability with Inventor. However, we need to continue to perform Kinimatic linkage studies as well using Inventor. I need to make sure we can perform the same calculations with ease before making the switch.
At this point I am trying to mimic in Inventor the kinimatic studies I perform in SW. In SW I would perform these studies within a single part file, using a single sketch only (no solid parts). Within this part file I would break up the total "travel" of the linkage into configurations that are driven by a "Design Table". The Design Table would be used for both the main driving value, and for any driven values I wanted to use for analysis.
I am trying to find a way to get the same driven variables written to an Excel file to use for analysis using Inventor.
As a test example:
I would like to drive one variable(Damper Length) to get ~20 different iParts, each with the linkage moved to a new point within its set range of motion. I then would like to write several Driven variables(Displacement_1-3 shown in "RULE CODE" attachement) from each iPart instance to an Excel file.
I have been able to get my 20 iParts and the linkage to move accordingly(iPART INSTANCES attachement), but I have not figured out how to write the driven data to excel for each iPart instance(20 rows of data, 3 columns). I have only been able to write the dimesions for one row of data...whichever iPart is currently open.
with the necessary iLogic code or another solution? It seems like this should be pretty straight forward. Do I need to be using the "ChangeRow" iPart Snippet?
I've linked a table to an Excel file. It comes in with twice the number of rows that are needed. There are 35 rows of data and it comes in with 70 rows. The print area in Excel is set to only the 35 rows. Can I truncate the table?
I've used the attached code to set the number of colu9mns and rows in a table adn it works with all my tests.
However I also receive the warnings:
"Public overridable property NumRows() As Integer is obsolete. Use 'Table.Rows.Count' instead"
and
"Public overridable property NumColumns() As Integer is obsolete. Use 'Table.Columns.Count' instead" Dim tb As New Table() tb.NumRows = 6 tb.NumColumns = 3
Both the Rows and Column Count property are Read only.
I have two tables in a drawing one of the tables has all my info and formulas. The second table has cells that are linked to the first table cell content. All works great except I need to add rows to the table with the linked cells. When I add the row this causes the row number to change. I have tried using the $ like you do in excel but that has no effect. I do not want to link my tables to an excel spread sheet because we use VAULT as our storage and it is really finicky when checking in drawings or checking out drawings.
I would like a few rules to be triggered once the new drawing template is opened.select sheet size, I have been given a rule that already works, basically the rule selects a border and title block based on sheet size selection.
I would also like a rule to let me annotate in metric or imperial. this is where I require assistance. I am not sure the best way to achieve this rule. My programming is very basic.I have found some links here, but I can't seem to make them work in the drawing environment. Also these rules seems to change the units of an already created .ipt.
Rule #1 Link
Rule #2 Link
I am just looking for a rule to select either .in or mm from the styles library(i think) , before I even place a base view. Regardless of the original units used to make the model.
I'm trying to add rows above rows in the middle of a table. The options under Rows are all grey/not available. The last row will allow me to add a row below and the top row will allow me to add a row above. I'm unable to Delete rows, too. The table is not listed as locked or anything. Aside from retyping the table, is there something I need to do to be able to edit the table?
I'm using iLogic to make simple parts. I don't want to make duplicate sizes. When a new size is created I add it's values into a spreadsheet. This is not at table driven part. I've also created some fancy excel searches to find sizes close to the current part. Ideally I want to display this close list in Inventor via a form or popup message. My thinking is we might find a size very close to our current need and not need to create a new size.
Originally this was a table driven part. We had to change it and make the parts individuals.
I use the Corel Draw table tool regularly and since upgrading to SP1 the tool no longer works. I can create a table but cannot add rows, columns or even import tables from MS Word. All functionality has gone.
I am also running a machine with X6 without SP1 and the table tool works fine so what I have to do is create the tool in X6 and then it works fine in X6 SP1.
Also noting that the upgrade has not fixed the instability on the 64Bit version as every time I select an object to move it Corel crashes.
I tried Curtis Waguespack's iLogic: Export Parts List with Options, and it works great on Part Lists. I'd like to do the same thing on a custom table, but I don't know what needs to be changed.
I want to draw up a large grid or table in AO sized paper. I will then get it laminated and use it to write down on the left hand column each company I see and sell to. Then beside the company running horizontally I want little check boxes that I can tick off with a marker to not when I last visited that company.
So how doe I make a large sized table with evenly spaced columns and rows etc.
I though that I could just select the table button and set how many rows etc then click and drag. This works, but I want to be able to enter in a value of say 100mm wide by 30mm high and set that for each grid.
The only setting like that is for the actual whole area of the grid/table not each individual cell. Can it be done like how I said?
a customer has a title block with a revision table ( standard vault revision table) add on top of it.
If you change the sheet size the revision table remains his position.
If found the way to reposition the table with a ilogic rule.:
'point afstand in cm PointX=(ActiveSheet.Width/10)-13 PointY=5.5 'punt vanaf rechtonder gemeten in cm
[Code]....
This is working perfectly. But now the challange how to trigger this rule to run if you change the sheet size?
if tried:
trigger=Activesheet.size
or
to create a userparameter and added this line in my rule : Size=ActiveSheet.size, normaly is you change parameters it triggers the rule to rule. but both way didn't work.
Can event triggers from the API be used? Do i need the "Onchange" event? Any example for a ilogic rule?