AutoCAD Inventor :: Check Part Parameter Within Assembly?
Oct 15, 2013
I'm trying to run a for loop to check a part's thickness parameter within an assembly but I do not know how to access that parameter from the assembly. Once I check that the thickness does not equal 1/4" I want to assign the sheet metal rule to be user defined. Here is what I got so far:
Dim SheetMetalRule As String = BODY_GAUGE & " " & SHEET_METAL_RULEDim assyDoc As AssemblyDocumentassyDoc = ThisApplication.ActiveDocumentDim partDoc As DocumentFor Each partDoc In assyDoc.AllReferencedDocumentsIf partDoc.ComponentDefinition.Parameters.UserParameters("THICK").Value = .25 ThenElse If partDoc.ComponentDefinition.Parameters.UserParams.Value <> .25 ThenThisApplication.Documents.Open(partDoc.FullFileName, False)SheetMetal.SetActiveStyle(SheetMetalRule)partDoc.SavepartDoc.CloseEnd IfNext
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've done an Addin which contains a "Place iLogic Component" function. This funcion work properly and the iLogic form is opened at place component time. Now, i would like to be able to open the form after the insertion, for edition purpose. So, i'd like to open the iLogic form of an assembly component (occurence) with the context menu for example.
So, my question is : Is there a way to check if a part or an assembly contain an iLogic form and to open it through Inventor 2012 API ?
I am trying to acheive copying parameter from one part/assembly to another part/assembly document and this is what i came out with:
Private Sub CopyParamToTarget(SourceFile As String, TargetFile As String, ByRef ParamList As ListBox) 'Declares the variables to be used in this sub Dim d_target As Inventor.Document = Nothing, d_source As Inventor.Document = Nothing Dim t_transaction
[Code]....
I did another version for Inventor VBA in which is quite similar to this length as well . . .
Tried using ComponentDefinition instead but it does not have access to the Parameters list.
I have a multi body part that I componented into an assembly. I am trying to get the assembly parameter in this case, "Height" to drive the parameters in the part model. I think I am using the right code but I get an error when I run the rule.
I have an assembly inside of Inventor Studio. One of the parts inside of the assembly has a parameter that I would like to animate. When I select the "Parameters" function within the "Animate" tab on the ribbon, I get an error:
"There are no favorite parameters defined."
This worked fine when I tried the same thing with only the part inside of Inventor Studio, but not when the part is included inside of an assembly.
I am working with a fellow Inventor user who faces determining if a set of assemblies, on the file system, are complete and not missing any parts, references, etc. Aside from opening each one in Inventor direclty and manually verifying if the design is at least able to resolve al parts, is there any way to automate or semi-automate this check?
I am trying to check-in an assembly, however there are missing .fins,.fsat,.ftes, fmsh and .fres files that cannot be found on my local machine, in the vault or on the other machines on our CAD network.
is there a way to remove references to these files so the assembly can be checked into the vault?
Dear Sir, In particular project, when I insert part in Assembly file, It is inserted as a Tube & Pipe run part. so that It is not Grounded automatically. What is the settings by which I can insert as a normal part in assembly file ? I have attached herewith the JPG file also.
I would like to simplify this assembly into one seamless part for FEM calculation:The assembly consists out of parts that, in reality, will be welded together. Due to their form, there is no way to place them exactly onto each other, therefore there are slight gaps between the parts:
Now when I try to merge the assembly into one part via "simplify" --> "create simplified part" and choose "single solid body with seams between planar faces merged", Inventor does not fill these gaps (even though it displays only one part in the bottom right corner of my window). Unfortunately, the remaining gaps brings "contact" problems in the FEM simulation.
how to close the gaps and really merge the assembly into one part?
I have a part that has protrusions. When i mate that part up to another part that second part needs to have cutouts/holes to receive those protrusions.
i mainly use it in sheetmetal parts. and use the rectangular protrusions on de contour to mate up with corresponding cutouts in the other sheet. this works with positioning and also makes for a nice weld spot/area.
But also for making holes to accommodate a mold pin used in custom punch dies. I want the intervening part to receive a corresponding (propperly tolleranced) hole automatically. Much like a bolted connection does.
same for parts like circlips. i want them to automatically generate the seat in the part it's mated to. Rather than using the axle generator.
Ofcourse one can place the parts and do an in assembly interpart projection and go from there, but i want the part to generate the (predifined) modification to the other part. It would save time and also reduces problems as the parts are moved about or even removed.
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 have a two part duct fire damper assembly. The IDW has the combined two part assembly, which I know how to turn the CoG on, so that it can be dimensioned. The problem is each piece will more than likely be hoisted separately so I would like to show the CoG for each piece, not the combined master assy.is there a way to do this?
Inventor 2014 Windows 7 Pro SP1 Intel(R) Core(TM) i7-3770k CPU @ 3.50GHz 16GB RAM NVIDIA Quadro 4000 3D Connexion SpaceMouse Pro
I was wondering is there is a way to select an Inventor part file and see which assembly file or files that is is currently used in ? It would be extremely useful to be able to see a list of all the assembly files which are using one particular part so when modifying the part you would know which assemblies would change.
Product Design Suite Ultimate 2013 64-bit HP Z400, Intel Xeon W3550 3.07GHz 12.0GB RAM, ATI FirePro V4800 (FireGL)
Why when I mirror a part in an assembly the mirrored part gets a new part number? I want to mirror only the position of the part which is always the same part. Is it possible to do that in Inventor?
I have a part file ("part1.ipt") that has a user parameter called "Height". When I open this file as a part document, I can modify the "Height" parameter to change the height of the part. This functionality works great:
Set oPartDoc = oApp.Documents.Open(sPartFileName, True) Set oParameters = oPartDoc.ComponentDefinition.Parameters 'change part height to 30 cm oParameters.Item("Height").Expression = 30
Now, I am wanting to add this part to an ASSEMBLY document, then change the parameter to 30, but have been unable to do it. I have this so far:
Dim oAsmCompDef As AssemblyComponentDefinition Set oAsmCompDef = oApp.ActiveDocument.ComponentDefinition Dim oOcc As ComponentOccurrence Set oOcc = oAsmCompDef.Occurrences.Add(sPartFileName, oMatrix)
After I add all the parts, I highlight a part in the assembly pane, I click on FxParameters but I don't see the User Parameters for the part. Are the User Parameters not available when a part is placed into an assembly?
This assembly will have multiple parts added from the same file name, but the "Height" parameter needs to be modified for each occurrence.
Is it possible to locate where a parameter is used in a part? Looking through every sketch to find a parameter becomes tedious when there are several dozen sketches and parameters in use.
I need to assign the dimension in my screenshot to a parameter so I can use it to drive another assembly. However, I can't find any way to capture it in a usable manner.
In the screenshot I have an associative part inserted that contains only a sketch with the projected line and point that I wish to measure between, but the geometry in the sketch does not update when the model geometry changes. This seems to be normal behavior?
I have created a multi-value parameter in a part and exported it. I then linked it in the assembly but I am unable to edit it. I tried using iLogic but it also does not alter the part. Please see the attached 3 jpegs.
this code works for parts. But how to change it that it works for assembly? I would like to select a part and than change the value.
m_invApp = GetObject(, "Inventor.Application") ' Get the Parameters object. Assumes a part or assembly document is active. Dim oParameters As Parameters oParameters = m_invApp.ActiveDocument.ComponentDefinition.Parameters [code]........
I want to use a parameter in my assembly as the name of a part i'm referring to in a rule but so far I have had no luck making it work. My knowledge of iLogic is pretty limited.
I am making a configurator for a staircase and I am working on the stringers now. There will be 3 or 4 different stringers (each one is a separate part) and the configurator lets you choose things like the angle, length and height of the staircase by entering values for those in a form in the assembly. Once you are done entering the values, there will be an update button that will send all the parameters to the different parts that are in the assembly and have them change accordingly. Now, say I want the length to change. I enter a length and press update and here's my problem. To which stringer-part is it going to send the length to? I can make it send to all parts but that means that I have to write one line of code for each part and if I ever add a new kind of stringer, I need to check all the rules and new lines where needed. I would like to make this dynamic by having only one line in which the part name is the same as a parameter I have in my assembly
I can either write it like this: Parameter("Stringer1:1", "Length") = LengthParameter("Stringer2:1", "Length") = LengthParameter("Stringer3:1", "Length") = LengthParameter("Stringer4:1", "Length") = Length
But I would like to write it like: Parameter(""Assemblyparameter":1", "Length") = Length Where Assemblyparameter is a text parameter and simply the name of the part that is inserted.
When I choose, for example, stringer 3 in my form, Assemblyparameter will be Stringer3. This would save lots of time in the future whenever new parts are added.
At my company we use part numbers as file names for everything. for example, part number 09090P00100000, will be saved as 09090P00100000.ipt and will have a drawing saved as 09090P00100000.idw.
Within the drawing template file, i want to set up an ilogic rule that will check that the part present in the drawing corresponds to the file name of the drawing. This rule will run after saving and will just display a warning if the file names do not correspond.
I just need some code that will get the file name of the part displayed in the drawing. Note that we use iparts so the code must get the member file name and not the factory file name.
Dim oDrawingDoc As DrawingDocument oDrawingDoc = ThisApplication.ActiveDocument Dim oSheet As Sheet oSheet = oDrawingDoc.ActiveSheet
[Code] ........
Autodesk Inventor Professional 2011 Windows 7 Enterprise, 64-bit
I would like to add tree parameters to this part. One is a wire diameter. Another should be the length of the wire. The last should calculate the weight of the wire. Then I wish to set the mass of this wire part equal to this last parameter. Is it possible somehow?
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.
Im quite new to customizing inventor and have been playing around with I-logic. I can get I-logic to enter values into existing ipt paramaters when run from a rule within the idw. I can also get I-logic to create a custom Paramater within the ipt using some copied API code, however I dont know my way around API at all yet. So...
I was wondering if it was possible to create a custom part parameter from an ilogic rule run in an idw with that ipt featured?