Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Make all values in a revision block non static

cmcconnell
Collaborator

Make all values in a revision block non static

cmcconnell
Collaborator
Collaborator

Hello All,

 

For some reason, for the last few releases, updating properties from Vault has updated our rev block (we use vault rev blocks) correctly, however, the operation adds the correct values to the rev block and then leaves everything static.

 

Is there a way to use ilogic to change all of the cells to Not Static?

 

I have found a snippet (thanks @jdkriek and @cbenner) that will make them all static, but my programming capability does not allow me to reverse it. Smiley Sad 

 

Here is the snippet:

Dim oDrawDoc As DrawingDocument = ThisApplication.ActiveDocument
' Get the revision table
Dim oRevTable As RevisionTable = oDrawDoc.ActiveSheet.RevisionTables.Item(1)
' Get last row
Dim oRow As RevisionTableRow
oRow = oRevTable.RevisionTableRows.Item(oRevTable.RevisionTableRows.Count)
' Make sure we have the active row
If oRow.IsActiveRow Then
' Go through all columns in that row
For i = 1 To oRevTable.RevisionTableColumns.Count
Dim oCell As RevisionTableCell = oRow.Item(i)
' Set all cells to static
oCell.Text = oCell.Text
Next
End If

 

Mechanix Design Solutions inc.
0 Likes
Reply
1,327 Views
9 Replies
Replies (9)

HermJan.Otterman
Advisor
Advisor

wouldn't making them non static mean that the earlier version-lines will get updated to the last revision status?

 

If this answers your question then please select "Accept as Solution"
Kudo's are also appreciated Smiley Wink

Succes on your project, and have a nice day

Herm Jan


cmcconnell
Collaborator
Collaborator
No - they are always static no matter what. In other words, they are a snapshot of what they were when they were current.
Mechanix Design Solutions inc.
0 Likes

cmcconnell
Collaborator
Collaborator

To clarify:

 

My rev block looks like this:

BeforeBefore

After I un-check Static for all of the cells, it looks like this:

AfterAfter

What I am after is a way to automate un-checking Static for all the cells in a rev block. If that helps...

Mechanix Design Solutions inc.
0 Likes

MechMachineMan
Advisor
Advisor

From what I can tell looking at it through the API, there is no direct way to clear the static status of the cells in the Revision table. (neither through an exposed static property, nor through formatted text.

 


--------------------------------------
Did you find this reply helpful ? If so please use the 'Accept as Solution' or 'Like' button below.

Justin K
Inventor 2018.2.3, Build 227 | Excel 2013+ VBA
ERP/CAD Communication | Custom Scripting
Machine Design | Process Optimization


iLogic/Inventor API: Autodesk Online Help | API Shortcut In Google Chrome | iLogic API Documentation
Vb.Net/VBA Programming: MSDN | Stackoverflow | Excel Object Model
Inventor API/VBA/Vb.Net Learning Resources: Forum Thread

Sample Solutions:Debugging in iLogic ( and Batch PDF Export Sample ) | API HasSaveCopyAs Issues |
BOM Export & Column Reorder | Reorient Skewed Part | Add Internal Profile Dogbones |
Run iLogic From VBA | Batch File Renaming| Continuous Pick/Rename Objects

Local Help: %PUBLIC%\Documents\Autodesk\Inventor 2018\Local Help

Ideas: Dockable/Customizable Property Browser | Section Line API/Thread Feature in Assembly/PartsList API Static Cells | Fourth BOM Type
0 Likes

cmcconnell
Collaborator
Collaborator

That is what I was afraid of. It looks like it is available for the partslist but not the rev block: https://forums.autodesk.com/t5/inventor-customization/how-to-get-static-value-in-vba/m-p/6980937/hig...

 

Thanks for looking into it.

Mechanix Design Solutions inc.

chandra.shekar.g
Autodesk Support
Autodesk Support

Unfortunately, Inventor API does not support "static" property for ReviosionTableCell Object. It would be nice to inform at idea station using below link.

 

https://forums.autodesk.com/t5/inventor-ideas/idb-p/v1232/tab/most-recent

 

RevisionTableCell.png

 

Thanks and regards,


CHANDRA SHEKAR G
Developer Advocate
Autodesk Developer Network



bradeneuropeArthur
Mentor
Mentor

Hi,

 

This is default Vault behavior.

if you are using property-mapping in vault to inventor than you don't need the revision table configuration because you use property mapping form vault.

Disable this and you will solve the problem in the base.

And you will always have static values.

 

regards

Regards,

Arthur Knoors

Autodesk Affiliations:

Autodesk Software:Inventor Professional 2025 | Vault Professional 2024 | Autocad Mechanical 2024
Programming Skills:Vba | Vb.net (Add ins Vault / Inventor, Applications) | I-logic
Programming Examples:Drawing List!|Toggle Drawing Sheet!|Workplane Resize!|Drawing View Locker!|Multi Sheet to Mono Sheet!|Drawing Weld Symbols!|Drawing View Label Align!|Open From Balloon!|Model State Lock!
Posts and Ideas:Dimension Component!|Partlist Export!|Derive I-properties!|Vault Prompts Via API!|Vault Handbook/Manual!|Drawing Toggle Sheets!|Vault Defer Update!


! For administrative reasons, please mark a "Solution as solved" when the issue is solved !

0 Likes

holgerb-mardmoeller
Contributor
Contributor
0 Likes

maxim.teleguz
Advocate
Advocate

found a beautiful way of doing this, you are welcome world.

	Dim oDrawDoc As DrawingDocument = ThisApplication.ActiveDocument
	Dim oSheet As Sheet
	
	Dim oRevTable As RevisionTable = oDrawDoc.ActiveSheet.RevisionTables.Item(1)

	Dim oRows As RevisionTableRows = oRevTable.RevisionTableRows
	Dim oApp As Inventor.Application = ThisApplication
	Dim UNDO As Transaction = oApp.TransactionManager.StartGlobalTransaction(oDrawDoc, "Remove Static from Revision Table")
	
	P = iProperties.Value("Project", "Revision Number")
	oRows.Add()

	Dim oRow As RevisionTableRow = oRevTable.RevisionTableRows.Item(oRevTable.RevisionTableRows.Count)
	For Each oRow In oRows
		If oRow.IsActiveRow Then

		Else
			oRow.Delete
		End If
	Next
	
	Dim oCell1 As RevisionTableCell = oRevTable.RevisionTableRows.Item(1).Item(1)
	Dim sFText As String = oCell1.FormattedText
	sFText = P'InputBox("What is the Revision?", "RevisionTableCell.FormattedText", P)
	oCell1.FormattedText = sFText
	
	c = "REV"
	'just in case it doenst exit recreate it
	Try : x = iProperties.Value("Custom", c) : Catch : iProperties.Value("Custom", c) = "Job number/Reason Code or ECN #" : End Try
	iProperties.Value("Custom", c) = sFText 
	iProperties.Value("Project", "Revision Number") = sFText

UNDO.End