AutoCAD Inventor :: Prebuild Functions For Calculus In ILogic?
Jul 3, 2012Are there any prebuild functions for Calculus in ilogic.
View 2 RepliesAre there any prebuild functions for Calculus in ilogic.
View 2 Repliesilogic is calculating tan/sin/cos/aTan/aCos/aSin incorrectly. E.g.
MessageBox.Show(Atan(35))
Answer = 0.4738... when it should be 0.7002....
I have an iLogic rule in which I'm trying to set three user parameters for the gage of each leg of a steel angle. I want Inventor to set the gage based on the length of each leg. Here's the table I referenced for gages: [URL].
In my code, I have a sub called DetermineGage which takes the leg length, whether it's the short leg or the long leg, and determines the gages that should belong to that leg. Inside of that sub it calls on a sub called ApplyGage which then applies the determined gage to the rule's gage variables. The main sub then grabs those variables and applies those values to the actual user parameters.... In theory.
The rule executes ok with no errors, but doesn't change the value of the user parameters; they're always "0". As best I can tell, the "oGage" variables I used in the rule don't even get assigned the correct value, which makes me think the DetermineGage and ApplyGage subs can't even access the oLegLength or oGage parameters to read or set them. I don't want to use global parameters because I've heard that can make programs very unstable over time and is just bad practice. How can I make these variables accessible to all subs IN THIS RULE, no more no less?
Sub Main()Dim oLegShort As Double = Min(G_W,G_H)Dim oLegLong As Double = Max(G_W,G_H)Dim oLegLength As DoubleDim oGage As DoubleDim oGage1 As DoubleDim oGage2 As Double'Short Leg:oLegLength = oLegShort'Call DetermineGages sub to set oGage variables:DetermineGages()On Error Resume Next'If gage parameter does not equal true gage, set it equal:If Parameter("ShortLegGage") <> oGage ThenParameter("ShortLegGage") = oGageEnd If'Assume error means gage parameter does not exits. Create and set equal to true gage:If Err.Number <> 0
[code]...
I am working on creating a new part file Template. Any useful and productive iLogic functions those are already available.
A while ago, I had seen one that would simply triger when part was checked in or saved. It would check if the material feild was utilzed or forgotten at Default.
share if there are any good iLogic functions that we might benefit from.
C1
Inventor Professional 2013
Vault Collaboration 2013
how the internals of Inventor / iLogic are working.
We have multiple instances of Inventor running on a 12 core workstation so we can push configurations through concurrently - each Inventor instance is assigned its own processor affinity and each instance has its own project which points to seperate directories of Inventor models.
Everything seems to work OK when there are up to 5/6 working concurrently, but as soon as there are more than 6 the iLogic functions seem to grind to a halt - note that the rules are external rules.
For example, this function took 11 seconds to complete when there were 10 concurrent orders processing. :
Parameter("BLANK", "EDGE_FRT_ACTIVE") = "YES"
Similarly these functions took 11 seconds in total to complete :
iProperties.Value("Custom", "M1110900_P1PO") = iProperties.Value("Custom", "BLANK_GDIM") - iProperties.Value("Custom", "PANEL_GDIM")iProperties.Value("Custom", "M1110900_P2PO") = iProperties.Value("Custom", "BLANK_XGDIM") - iProperties.Value("Custom", "PANEL_XGDIM")iProperties.Value("Custom", "M1110900_P1OR") = 1iProperties.Value("Custom", "M1110900_P2OR") = 0
When I run these with less that 6 concurrent Inventor processes, they're are almost instant.
I just don't know where the bottleneck is. I've ruled out :
- Processor (each core never reaches above around 60%)
- RAM (we've got 48GB of RAM, with about 15GB free at worst)
- Disk (disk IO is busy, but it doesn't look like it's the bottleneck)
- Graphics (Inventor is in silent mode, with no UI, so graphics activity is minimal)
From the tests I've done it seems to be the iLogic functions that are the bottleneck. My next port of call is to change the iLogic functions to actual API calls, but I suspect I'll get the same results.
So, my questions :
Is Inventor queing these iLogic API calls somehow (note we're creating a unique instance of the Inventor.Application COM object for each processing thread) ?
Is there an issue with using external rules with nultiple instances?
Dell Precision R5500, Intel Xeon X5690 3.47GHz (x2)
48GB RAM
Inventor 2013 (PDS Premium)
64bit Windows 7 SP1
I used to have an A1 printed sheet of all of the ilogic commands, functions, syntax or whatever you call them. It was all nicely grouped and colour coded etc
Unfortunately I have since moved jobs and lost this and neither me or google can find this again, any copy or link? it may have been a pdf or excel format.
I need to use the property " File Subtype" for programming a function in logic, but inventor not recognise this property.
I use this function "If iProperties.Value("Project","File Subtype")=Sheet metal"
How i can do for use this property for a ilogic function?
Where I can find an integral symbol for a calculus formula in a drawing?
View 7 Replies View Relatedhow can I close an iLogic Form from either an iLogic Rule, or a VBA Rule (VBA is the Preferred method)?
View 5 Replies View RelatedI have been using this software for a few months now, and I continue to have crashing issues. The issues, however related, are not consistent. I tend to have issues when using more complex applications of the software such as crashes when performing a breakout view, freezing and then many times crashing when manipulating a part within an assembly drawing, and several other similar issues. I have received an update SP1.1 (176) and installed it. This update states it contains a fix for issues of crashing due to excessive memory consumption.
I have 6GB of RAM, nVidia Quadro FX 3800 1GB graphics card, Intel Core i7 920 2.66GHz processor, and updated drivers...
In my Parameter equation dialog box: "cos(.5)" is red"(.5)" is black.
Does Excel need to be installed for Trigonometric functions (I don't have Excel)?
Is it possible to use a user selectable browser for all related functions?
I'd like to see the possibilty to select with which webbrowser Inventor interacts.
Currently the wikihelp opens in my default browser (Google Chrome), but the help function and subscription links open in Internet Explorer.
I made a simple dialog to access some of the iproperties. This is quite handy when working on a drawing of a part, but there is one flaw with this script. If the part's description has a function referencing the parts dimensions for instance, when my script gets the description it gets the plain text and not the formula. Meaning if the part's description is "=<d0> X <d1> X <d2>" and appears as "1 X 2 X 3" the script will get "1 X 2 X 3" and when it resaves the description it will over write the formula with plain text.
Is it possible to get the formula so my script could display that for editing instead of the plain text?
Below is a part of the code I'm using and it's the standard code I've seen for retreiving ipropterties.
Dim invDoc As Document Set invDoc = ThisApplication.Documents.ItemByName(GetToken(PartList.Value, 3, Chr(1))) Dim invDesignInfo As PropertySet Set invDesignInfo = invDoc.PropertySets.Item("Design Tracking Properties") Dim invProperty(1 To 4) As Property Set invProperty(1) = invDesignInfo.Item("Part Number") partnumber.Value = invProperty(1).Value Set invProperty(2) = invDesignInfo.Item("Description") description.Value = invProperty(2).Value
I'm trying to use iLogic Design Copy to copy an assembly and all its associated parts to another directory. The assembly contains content center parts. Inventor warns me that the destination file of one of the CC parts (and 18 others) will be overwritten. When I go ahead and copy anyway, the copying process stops at that specific CC part. The Design Copy Progress dialog box states there is an error copying that CC part. When I close the Design Copy Progress dialog box, Inventor crashes.
The error copying the CC part: I'm allowed to use content center parts in iLogic Design Copied stuff, right? I searched some related topics and I'm under the impression that Inventor keeps the CC parts in its own directory and shouldn't be trying to overwrite them.
I am doing a tie rod the issue I have is when the length is between 2.001 and 2.250 we would drill thru all but only tap the ends .750 deep. If the part is 2.000 would would drill and tap thru in one step and not have to rotate the part in the lathe.
How do I get ilogic to understand if my number is between this 2.001 and 2.250 to lengthen the drill length parameter?Or add a mid plane cut? ( trying now code below reflects this try)
Not sure what way I want yet but I just can't seem to find a snippet or code to do this. I tried to add a list in the parameters for it to read but seems to do nothing.
If LENGTH <= "2" ThenFeature.IsActive("Thru_All") = TrueFeature.IsActive("Hole_A") = FalseFeature.IsActive("Hole_B") = FalseiProperties.Value("Project", "Description") = "RETURN ROLLER SHAFT, " & iProperties.Value("Custom", "DIAM") & " Ø S/S, TAP THRU 3/8-16, " & iProperties.Value("Custom", "LENGTH") & " LONG"ElseFeature.IsActive("Thru_All") = FalseFeature.IsActive("Hole_A") = TrueFeature.IsActive("Hole_B") = TrueiProperties.Value("Project", "Description") = "RETURN ROLLER SHAFT, " & iProperties.Value("Custom", "DIAM") & " Ø S/S, TAP BOTH ENDS 3/8-16, " & iProperties.Value("Custom", "LENGTH") & " LONG"End IfIf LENGTH = (My_List) ThenFeature.IsActive("Mid_Cut") = TrueElse Feature.IsActive("Mid_Cut") = FalseEnd If
Possible to run the 'import .xml structure' routine for an assembly BOM using either iLogic or VB?? I'm trying to replicate the Import button at the bottom of the BOM screen....
View 5 Replies View RelatedWhat I am trying to do is insert a part into an assembly file using iLogic. I basically want to mimic Inventor’s “Place” command using ilogic, maybe something like this:
oPath = ThisDoc.Path & ""
oFile = "File.ipt"
Component.Place(oPath & oFile, False)
This att. doc shows rule for exporting dxf out of drawing. It is working on one sheet just perfect. In multi sheets it save allways with same name. I want to choose from which sheet i need dxf but to be saved by sheet name or model properti name. Is that possible?
View 9 Replies View RelatedI have an external ilogic rule that creates a set of DWF drawings for all parts and subassemblies (as long as the idw files exist) within and including a main assembly.
I would like to merge all the DWF drawings of the sub assemblies and component parts into the DWF of the main assembly. Is there a method within DWFAddIn that will allow me to merge the files? Is there another way that I can merge the DWF files using the same ilogic rule (one rule to create and merge all DWF's together?)
I have closed profile "Sketch1" placed on one of the parts in Assembly.
Suggest iLogic code to create cut Extruson (Extents=All) based on the "Sketch1"
I´ve found some iLogic code to print a drawing to a PDF document. After some minor modifications it works just fine, but I would like to add some code which allows med to set PDF properties (such as "title", "author", etc.) with values from iProperties. How can I do that? Is it possible? (I'm new to iLogic).
View 6 Replies View RelatedI use simple set of iLogic rules to manage product configuration through the assembly LOD. Assembly is really simple not more then 30-50 parts. Still I manage to crush Inventor fairly often. Some days 5 and more crashes! Several times sent crash report to AutoDesk for no joy. Never got any feedback.
I am just getting an impression that Inventor does not like LOD manipulated with iLogic for some or the other reason.
I am slowly learning about ilogic, and have created parts and assemblies that are run by rules. My next question is, what exactly can ilogic do for drawings? I've looked at the wikihelp, but I am not a natural at programming and I need more than a list of functions with brief descriptions to get me started.
I'm looking for code snippets, other discussions, tips, tricks, and/or tutorials to get info what I can do with ilogic and the API that can automate parts of the drawing process.
I have been unable to find any code to sort the BOM, there are lots of snippets to sort and modify the Parts list.
How to sort the Assembly BOM?
Sort parameters:
PARTS Only
"BOM Structure"
then by
Custom Parameter "TYPE"
Then By
Part Number
Then "Renumber" starting at 1
Autodesk Product Design Suite Premium 2014 SP1 Build 222
Intel Core i7 (950@3.07GHz)
Windows 7x64 (Home) - 12GB Ram
Nvidia GeForce GTX 560 Ti (1Gig - Ver:331.65)
I made a 3D model with ilogic to control features to be suppressed or compressed. Because there are lot of features need to do so (need almost 4 to 5 min.) , when I run the rules, it came "Rule timeout" issue as pictures.
I used:
Feature.IsActive (myFeature) = status
to control the feature be suppressed or unsuppressed .
I'm trying to get started with iLogic, but I have no coding background and no VBA experience in Inventor, so I'm looking for a good site or resource that explains iLogic and gives working examples.
View 3 Replies View RelatedWhen we create a manifold assembly we like to itemize each part individually. Meaning that if we have 5 valves that are the same, we show those as 5 separate items on the BOM. This makes for easier troubleshooting with a customer over the phone. Unfortunately there appears to be no way to manage this natively within Inventor, so we have to edit the BOM manually which defeats the whole idea of automated BOMs. I was hoping some code could come to the rescue. One thought I had was to export the BOM to excel and then have some automation within excel to re-number and sort the BOM, once complete import it back into Inventor in a table.
View 7 Replies View RelatedI have problems to export dwf with ilogic
I use parts of the snippets than ships with inventor, but I can not export the 2d and 3d in the same dwf.
Perhaps it might have something to do with that when I export a 2d file the traditional way only 2d gets exported to the dwf if i dont open the tab that lets you choose 2d and 3d model.
Even if i have the 3d model checked i have to open the tab to get both 2d and 3d, if i dont open the tab only 2d
Here is the code.
path_and_name = ThisDoc.PathAndFileName(False)
DWFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD95-2F4D-42CE-8BE0-8AEA580399E4}")
oDocument = ThisApplication.ActiveDocument
oContext = ThisApplication.TransientObjects.CreateTranslationContext
oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism
[code]......
I want different features on and off with iLogic.
I have a text parameter with a choice menu of 1,2, and 3
This I want some features on and off.
If I pass the parameter I get a message: No feature found with the name. Mvg Jos
Your drawings are only as good as the symbols that complete them...
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.
We have been experimenting with Parallel threading. The situation is that I have an assembly that contains multiple parts (approx. 40) which all have contained "almost" the same code. In order to rationalize this; we have rearranged the code in such way that we now only reference External iLogic rules form these 40 part files (only one place to revise the code if necessary).
The side effect to this rationalization has been the we have problems in executing the codes in parallel, see this simplified example:
Imports System.Threading.TasksParallel.For(1,40, Sub(h As Integer) iLogicVb.RunRule ("Part "& h &"", "iTriggerRule") End Sub)
Now all of these 40 part files try to execute their code.
'Configutation of Part filesiTrigger=iTrigger0iLogicVb.RunExternalRule("Cut configuration")iLogicVb.RunExternalRule("Bracing of the part")iLogicVb.RunExternalRule("Parameter context")
As they all are dependent upon running the same external rules the result is that not all part files are updated according to the required design requirements. It seem as if one of the part files calls the external rule and the rule is "busy" handling another part file it just terminates without warnings or errors.
Can multiple part files run the same external rule at the same time? Is there some form of queue? I do not get any warnings or errors, the partfiles just do not update. How can I make sure that all the part files run the external rules and is there a way of checking this?