Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
michael.danyluk
174 Views, 1 Reply

Modify a user parameter in a drawing from VB

I am trying to write an asynchronous loop to monitor what sheet a user is on in a drawing, as multiple people have access to the same drawing. Sheet 1 is the master copy, which keeps getting changed, Sheet 2 is a copy of sheet 1, which is permitted to have modifications to it. To do this, I have set up an iTrigger, which runs an iLogic script that prompts for a password through an inputbox, and if the password is not input then the document goes into read only mode.

 

Unless someone has a crafty suggestion, I believe I need to monitor the state of the active sheet in the drawing using an asynchronous loop in VB, and if the activesheet changes, update the iTrigger parameter to prompt for a password. The only solutions I've seen to this work in an assembly document or a part document, as they call a component definition, which unfortunately is not recognized by a drawing document. So, is this even possible?

 

This is what I'm working with so far... 

Sub Main()
Dim oAsm As DrawingDocument = Invapp.ActiveDocument
MsgBox(oAsm.FullDocumentName)

SetParameterValue(oAsm, "test", 15)

End Sub


Public Sub SetParameterValue(Doc As Document, ParameterName As String, Val As Object)
Dim oPS As Parameters = Doc.ComponentDefinition.Parameters
Dim oP As Parameter
Try
oP = oPS.Item(ParameterName)
Catch
'Parameter Does Not Exist
Exit Sub
End Try

oP.Value = Val
End Sub