AutoCAD Inventor :: ILogic Code To Change View Label Text
Sep 18, 2012
I am trying to rewrite Curtis Waguespack's ilogic code to modify drawing view labels from this post http: [URL]...
The completed label should appear like this
<Description> - Mk <Part Number>
Est Unit Mass = X kg
(Scale 1:1)
At this point I have 2 problems
1. I want to add the physical mass to the second line and would prefer to use the calculated physcial property rather than the a custom iproperty. If editing the view label, it would the property access under physcial properties.
2. I want to rewrite the code so it is selective or per view - in otherwords, I only want it to modify a single view I select once the code is run. At this point I know I need to remove the For loop but I dont have a clue as to how to make it selective.
'start of ilogic codeDim oDoc As DrawingDocument: oDoc = ThisDoc.DocumentoModel = ThisDoc.ModelDocumentDim oSheets As SheetsDim oSheet As SheetDim oViews As DrawingViewsDim oView As DrawingViewoSheets = oDoc.SheetsFor Each oSheet In oSheetsoViews = oSheet.DrawingViews For Each oView In oViews oView.ShowLabel = True
Is it possible to change the text height of a drawing view label through VBA?
I have tried to change it by creating a new text style manually with the text height I require and then through VBA set the view label to use that style.
The View label takes on the new style but does not change the text height.
I have tried to use 'StyleOverride FontSize=' but I have text that is multi lined and using this command converts all my text onto one line.
Is it possible to change the text height of a drawing view label through VBA?
Below is my code so far,
Sub HoleDetailSheetLabels() ' Declare the Application object Dim oApp As Inventor.Application ' Obtain the Inventor Application object. ' This assumes Inventor is already running. 'Set oApp = GetObject(, "Inventor.Application")
How to change the color of layer that will be used within a drawing files for special purposes.
Ideally the code will make the color Red, but change to Black prior to printing.
The "logic" behind the code currently is to differentiate a layer called "Burn" to a highly visible color for the purpose of review by others then, prior to printing, change the color to Black. The firm I'm currently working for uses gray-scale B sided printers only. The firm currently uses Blue for dimension and extension lines so to produce drawings that portray both type of objects "lightly".
I have a lot of pre existing sheet metal parts with my material listed as Steel, Mild.
I am using this code to automatcally fill out my iproperties but the material name is not exactly what I want it to say. iProperties.Value("Project", "Description")=iProperties.Material
I'd like it so that any time it sees Steel, Mild it replaces it with the text "A36"
I am trying to piece together some code for an ilogic rule. This rule should look for a drawing view that is a flat pattern, if it finds one it should change the object layer to our "CNC" layer.
How can i remove the scale that is automatically added to the label text of a projected or auxiliary view? The label text style governs only the font etc.
1. When in style and Standard editor with default standard selected under Standard I am trying to display mass properties in my view label.Select View Preferences tab. View type Base. Next to Display select Edit View Label.When Format Text box pops up in the selection for text type I have two options.
a. Properties - Model b. View Label Properties
2. Inside an IDW file right click on view and select edit view.When Drawing View box pops up there is the option to access Edit View Label next to View Identifier.When Format Text box pops up in the selection for text type at this point there are seven options.
a. Properties - Model b. Properties - Drawing c. Drawing Properties d. Sheet Properties e. Physical Properties - Model f. View Label Properties g. Sheet Metal Properties
Questions 1. Why are ther only two options in S&S Editor?
2. Can I add more options to S&S Editor?
I would like to add mass to my lablel inside certain templates and have it show when I display a views Base view label. Not ot have to maunually add it each time it is displayed.
My iLogic ability is quite limited outside of what I use regularly?
I am trying to change the font style in every text definition in all my sketch symbols in one go. Actually I have started it based on only a selection set but I would be happy with just all symbols too. Below is where I got to, I am stuck on the For Each line to cover each text box in the symbol. Some of the other syntax may not be right either but I can't test it all the way through.
Dim oDoc As DrawingDocument: oDoc = ThisApplication.ActiveDocumentDim oSheet As Sheet: oSheet = oDoc.ActiveSheetDim i As LongDim oSymDef As SketchedSymbolDefinition: oSymDef = oDoc.SketchedSymbolDefinitions.Item(i)Dim oText As TextBoxesFor i = 1 To oDoc.SelectSet.CountFor Each oText In ............oSymDef.TextBoxes.Item(i).FormattedText ="<StyleOverride Font='ARIAL'>...< /StyleOverride>"NextNextInventorVb.DocumentUpdate()
Also the XML style override is not complete if this is the only way to achieve this result.
Inventor Professional 2013, Autodesk Simulation Multiphysics 2013 Windows 7 x64 Core i7 32GB Ram FX2000
I was looking to change the fonts in a drawing for the Dimensions and Symbols that might have been inserted in the Dimension text entries.
This can be done manually bu editing the dimentions text after placemement, but I was ooking to set this as a default.. I cannot see where exactly this is controlled in the Styles Manager - I am only able to change the Dimension text font but the diameter symbol font is always on AIGDT.
I was therefore looking for an iLogicvb code that could do the trick, but I am not able to even change the dimension fonts... The code runs with no errors but nothing gets updated in the drawing...
Dim oDoc As DrawingDocument oDoc = ThisApplication.ActiveDocument Dim oSheet As Sheet oSheet = oDoc.ActiveSheet
I am looking for a way to log out of vault from within Inventor using iLogic codes. I have created an iLogic rule that automates export an assembly drawing and all sub component drawings. In my code, I have suppressed all Inventor prompts but I do not have a way to suppress Vault prompts. I can manually log off from vault and run this rule without any problems. However, if I forget to do so, I am stuck responding to update requests from vault and check out requests constantly for each and every file.
I recently created some iLogic based components. I wonder how difficult it is to protect the iLogic code, similar as VBA code which can be password protected.
The reason being:
1. Of course, to hide & protect the creator's modeling logic;
2. To avoid the relation between parameters being messed up by the end user unintensionally.
I did have the opportunity to raise the question during the Portathon event and the answer was that the protection not directly available, though the workaround could be mixing with some Inventor API coding in .NET.
However, this might defeat one of the benefits of iLogic, simple and ease to use, gentlr learning curve, especially for users with VBA experience. .NET might not be so easy for a lot of engineers from mechanical or other disciplines.
1 Disable the "Edit" button for iLogic components, including rules, forms, etc.;
2. Put all code that are to be protected in an external file, and then make that file unreadable (password protected, or other protection) to un-intended user, however, readable to those who have proper access privelege.
A while back I figured out how to put a few characters before and after several lines of code in iLogic to make it compress to one line or expand to its full size inside the code editor. I belive this is a fairly common VBA command, but I can't figure out how to do it again.
Inventor 2014 HP Pavilion dv6t-6b00 Intel Core i7 2670QM AMD Radeon HD 6490M 8gb RAM Windows 7 64 bit 3Dconnexion SpaceExplorer
How to close an application (*.ipt & *.iam) by ilogic code?I tried to use...ThisDoc.Document.close (True) to close it.Indeed, it can close the application, but there is an error occurred as following:
Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
how to avoid this error or any other way to close (or exit) the application?
I am trying to use a code window plugin on my website, and would like to create a temple for iLogic code. Is there any way to output iLogic code in a format that would work?
I cannot modify any of the existing templates because iLogic requires information as to whether to make some text brown or blue, and it would need some form of output to do that.
[URL]
The instruction page is here: [URL]
I have been manually highlighting or using images, but both have their problems. (cut & paste will lead to a pile of errors with the manual highlighting). I can create the css file, but need some form of output beyond cut & paste to work with.
If something is worked out, it will be added to the program and be available to everyone free (this is a Wordpress plugin).
[URL]
Self built computer with;
Quad core processor 16 gigs ram Raptor Raid main drives 2 x 1TB Caviar Black storage drives local 2 x 1TB Caviar Black storage drives network backup
Main Software; Product Design Suite Premium Windows 7 Home Premium [URL]
Each time when I place a part in base view, have to follow few steps; go through view label, format Text, than choose type option - [Properties-Model] and its property - [Part Number], than placing dimensions. it takes long time and very repetitive, especially, when placing a hundreds of parts and I was wondering if there is an option, to set up view label; [Properties - Model ]& [Part number], as a DEFAULT. So, each time placing a part, in base view it will come up with correct label. Also, overall dimensions, can it be retrieve using parameters of the part?
I want to use Ilogic to construct a code part name.
My question is perform a code of about 12 characters. For example the parameter "Lenght" is 600mm but in the expressione result It must be "000000000600" (a string of 12 characters)
I have a iLogic rule for saving drawings (dwg) to a pdf file in a designated folder. Everything worked well until this Monday morning. Now I get the message: Error in rule: Save2PDF, in document: 13006-027 propflens-1.dwg Value cannot be null.
However, I have one iLogic routine that is giving me an error whenever I run it. Selecting continue allows it run as expected. Basically, it is to remind designers to set the material type to other than “Default”.
Here is the Materialsddd = 0' deleted parameter materialName = ThisDoc.Document.ComponentDefinition.Material.Name If materialName = "Default" Then MultiValue.List("MName") = iProperties.Materials MName = InputListBox("Select Material", MultiValue.List("MName"), Mname, Title := "Select Type", ListName := "MM List") iProperties.Material = Mname iLogicVb.UpdateWhenDone = True The Parameter MName does exist as a mulitlist parameter.
I was working with ilogic, Adding a new rule and all of a sudden I got an error and when I double click on a parameter to add it to the code, the format changed.
It used to look like this when I added a parameter: Parameter("vertical seperation:1", "partitionthickness") but now when I double click on a parameter I get this: vertical seperation.ipt.partitionthickness
Also when I right click on a parameter and select display current state, It does the same thing, for some reason the code does not display like it used to.
I got an error when this first happened and I tried reproduce the error again but it did not appear again. This affected all my parts and even in different projects.
I re installed inventor because I thought there might be a file link broken but it did not fix it.
I have put together some ilogic code which is embedded within a part template, this auto populates the iproperties with the profiles length,width and thickness, and also automatically updates when any changes are made to the said profile When I hit save.
This works a treat when creating new parts, the problem arises when re-using old parts from previous jobs (Which is a regular occurrence),prior to when the code was created.
So I have to run the code as an external rule, but this has caught me,and a few other people out, as we have forgotten to run the rule after making a change to the part so the iproperties aren't automatically updated.
My question is, is there a snippet of code that I could add to my code, which embeds the the externally ran rule to the Ipt?
Is it possible to add a stop or cancel button onto ilogic code?
I have code that looks into all .ipts with a certain material type,that works great but if we run by accident there is no way of stopping code until it finishes .