Author Topic: Custom Props in Sheet Sets  (Read 4328 times)

0 Members and 1 Guest are viewing this topic.

ML

  • Guest
Custom Props in Sheet Sets
« on: February 22, 2008, 06:30:19 PM »

Hi
Has anyone had any luck editing custom properties in a Sheet Set?
There are CUSTOM_SHEET_PROP and CUSTOM_SHEETSET_PROP
The CUSTOM_SHEET_PROP would be a field specific to each a sheet (layout)
and CUSTOM_SHEETSET_PROP would be fields for all sheets

A good example would in a case where you have 1 of # (for example) in your total number of drawings
Well, you might define The 1 as a CUSTOM_SHEET_PROP (field) and the # as a CUSTOM_SHEETSET_PROP (field) as the first number changes per sheet (layout) and the second number changes per sheets (layouts).
So each time a user updates, the # (field), the layouts will re index dynamically.
Once you start getting the hang of it; it is really cool.

Anyhow, we write our project data out to a txt file and with attributes, we can read that info in; now I need to be able to do this with fields (CUSTOM_PROPS)

I have made some progress and would be glad to share what I have but I just can't get to that last huddle.

Any help would be appreciated.

Thanks!
Mark

PS: I have checked high and low on the net; vba examples etc.


Murph

  • Bull Frog
  • Posts: 402
  • P.I.T.A.
Re: Custom Props in Sheet Sets
« Reply #1 on: February 23, 2008, 10:34:21 AM »
Please send me a Private Message and I will post my whole set of code for doing all of this on Monday from work. I used info I found on a blog (I will post that link too) to write up a whole interface for our company. We export the info into Excel so that non-CAD people can edit it and there is an import routine as well.

It was made primarily for importing sheet sets from different offices.

Murph
Murphy's Law applies to all.
Whatever can go wrong, will, and at the most inopportune time.

ML

  • Guest
Re: Custom Props in Sheet Sets
« Reply #2 on: February 24, 2008, 01:12:14 PM »

Hi Murph

Check your PM
Thank you!

Mark

Murph

  • Bull Frog
  • Posts: 402
  • P.I.T.A.
Re: Custom Props in Sheet Sets
« Reply #3 on: February 25, 2008, 05:52:22 AM »
Mark,

The attached file is stuff I put together from this site:
http://jtbworld.blogspot.com/2005/01/sheet-set-manager-api-code-sample-for_20.html

Look it over and ask questions. Hope it helps.
http://www.theswamp.org/lilly_pond/index.php?dir=murphy/&file=CustomSSM.dvb

Murph
Murphy's Law applies to all.
Whatever can go wrong, will, and at the most inopportune time.

ML

  • Guest
Re: Custom Props in Sheet Sets
« Reply #4 on: February 25, 2008, 09:30:54 AM »
Thanks Murph!
I appreciate that!

I will take a look shortly.

Mark

Murph

  • Bull Frog
  • Posts: 402
  • P.I.T.A.
Re: Custom Props in Sheet Sets
« Reply #5 on: February 25, 2008, 10:16:13 AM »
Pay close attention to the code in the form. That is where most of the work is done.
Check out the Utils functions for how the nitty gritty stuff is accomplished.
Murphy's Law applies to all.
Whatever can go wrong, will, and at the most inopportune time.

ML

  • Guest
Re: Custom Props in Sheet Sets
« Reply #6 on: February 25, 2008, 10:26:01 AM »

OK Murph!

You code looks great
Certainly a lot to be desired in there.
I just want to be able to edit the custom props first, then I will certainly look even closer at all the code you sent.

OK, I will check out The Utils functions now

Thanks!
Mark

ML

  • Guest
Re: Custom Props in Sheet Sets
« Reply #7 on: February 25, 2008, 10:29:35 AM »

I'm jumping a bit ahead but I just noticed that you are using Scripting language
That is cool; I use it a lot too

I noticed that is some examples you were grabbing the username and machine.

It did not work here but I wasn't sue how you were grabbing that info.

I have always used scripting code to retrieve that info.

Mark

ML

  • Guest
Re: Custom Props in Sheet Sets
« Reply #8 on: February 25, 2008, 01:13:40 PM »

Hey Murph

Again, your code is very nice and there is a lot to get from it.
However, it is still a bit complex with all of the Excel stuff going on etc.

I am looking for a very basic example of changing custom props in The Sheet and Sheets.

After I get that, I can then expound on it.

Do you happen to have anything a little more basic?

Thanks!
Mark

Murph

  • Bull Frog
  • Posts: 402
  • P.I.T.A.
Re: Custom Props in Sheet Sets
« Reply #9 on: February 26, 2008, 06:24:09 AM »
Mark,

Let's walk through it step-by-step so you can get what you want out of this.
We start in SheetSetForm.SSStartHere.

This is checking to see if you have a sheet set open and make sure only one is open.
It will lock it then send it on to LoopThroughSheetsPop


Here is where we get the values to present to the user for changing.
Notice that GetCSSProperties is sending a string and a sheet. The string is the EXACT Title of the Custom Sheet Property.

You can customize the whole form according to your company's custom sheet properties.

Let's assume some values were changed and the user hits the OK button. That code send us to SetProps.
This routine checks for one and only one sheet set and locks it.
Because this stuff is exporting sheet set stuff to Excel for import at another office we will skip that for now.
SetProps sends us to LoopThroughSheetsSet which will do just that.
It will loop through all of the sheets and set the values to what they are in the form. If the user didn't change them they still get 'updated' but nothing will change.

Code: [Select]
Private Sub LoopThroughSheetsSet(ByVal compEnum As IAcSmEnumComponent)
    Dim comp As IAcSmComponent
    Dim lastrevn As Variant
    Dim lyOut As AcSmAcDbLayoutReference
    Dim lyName As String
    Dim lastrevd As String
    Dim lastrevdate As String
    Dim rNumTemp As String
    Dim rnNext As String
    Dim rnVar As Variant
    Dim dirmade As Boolean
    Dim tLine1 As String
    Dim tLine2 As String
    Dim tLine3 As String
    Dim selsets As AcSmSheetSelSets
    Dim selset As AcSmSheetSelSet
    Dim tselset As AcSmSheetSelSet
    Dim ssMade As Boolean
    Dim ttitle As String
    Dim repTemp As String
    On Error GoTo ErrHandler
    ssMade = False
    Set comp = compEnum.Next()
    dirmade = False
    ' loop through till the component is Nothing
    Do While Not comp Is Nothing
        'if the component is a sheet, then...
        If comp.GetTypeName = "AcSmSheet" Then
            'loop through all the sheets.
            'Call LoopThroughSheetsPop(sset.GetSheetEnumerator)
            Dim s As AcSmSheet
            Set s = comp
            Dim sNumber As String
            Dim sTitle As String
            sNumber = s.GetNumber
            'tLine1 = GetCSSProperties("Drawing Title Line 1", s)
            'tLine2 = GetCSSProperties("Drawing Title Line 2", s)
            'tLine3 = GetCSSProperties("Drawing Title Line 3", s)
            'If tLine1 = "%%032" Then
            '    tLine1 = ""
            'End If
            'If tLine2 = "%%032" Then
            '    tLine2 = ""
            'End If
            'If tLine3 = "%%032" Then
            '    tLine3 = ""
            'End If
            'If Not tLine1 = "" Then
            '    If Not tLine2 = "" Then
            '        If Not tLine3 = "" Then
            '            ttitle = tLine1 & " " & tLine2 & " " & tLine3
            '        Else
            '            ttitle = tLine1 & " " & tLine2
            '        End If
            '    Else
            '        If Not tLine3 = "" Then
            '            ttitle = tLine1 & " " & tLine3
            '        Else
            '            ttitle = tLine1
            '        End If
            '    End If
            'Else
            '    If Not tLine2 = "" Then
            '        If Not tLine3 = "" Then
            '            ttitle = tLine2 & " " & tLine3
            '        Else
            '            ttitle = tLine2
            '        End If
            '    Else
            '        If Not tLine3 = "" Then
            '            ttitle = tLine3
            '        End If
            '    End If
            'End If
            '
            'If Not ttitle = "" Then
            '    s.SetTitle ttitle
            'End If
            sTitle = s.GetTitle
            Set lyOut = s.GetLayout
            lyName = lyOut.ResolveFileName
            If sNumber = dNum Then
                If Not pstamp = "" Then
                    ChangeProperties "Preliminary Stamp", pstamp, s
                End If
                If Not pLines = "" Then
                    ChangeProperties "ProjectLayer", pLines, s
                End If
                If Not tLines = "" Then
                    ChangeProperties "TitleLayer", tLines, s
                End If
                If Not ssetName = "" Then
                    newSelSet.Add s
                End If
                If Not chk = "" Then
                    ChangeProperties "Checked By", chk, s
                End If
                If Not des = "" Then
                    ChangeProperties "Designed By", des, s
                End If
                If Not chrg = "" Then
                    ChangeProperties "In Charge Of", chrg, s
                End If
                If Not dwn = "" Then
                    ChangeProperties "Drawn By", dwn, s
                End If
                If Not scl = "" Then
                    ChangeProperties "Scale", scl, s
                End If
                If Not ptitle = "" Then
                    ChangeProperties "Location", ptitle, s
                    'ChangeProperties "Drawing Title Line 1", ptitle, s
                End If
                If Not repTxt = "" Then
                    repTemp = PropReplaceCombo.Column(0, PropReplaceCombo.ListIndex)
                    ChangeProperties repTemp, repTxt, s
                End If
                If Not rdesc = "" Then
                    If wipeClean = True Then
                        ChangeProperties "Revision Number 0", "0", s
                        ChangeProperties "Description of revision 0", rdesc, s
                        ChangeProperties "Date of Revision 0", rdate, s
                        ChangeProperties "Initials of Rev 0 Reviewer", rinit, s
                       
                        ChangeProperties "Revision Number 1", "%%032", s
                        ChangeProperties "Description of Revision 1", "%%032", s
                        ChangeProperties "Date of Revision 1", "%%032", s
                        ChangeProperties "Initials of Rev 1 Reviewer", "%%032", s
                       
                        ChangeProperties "Revision Number 2", "%%032", s
                        ChangeProperties "Description of Revision 2", "%%032", s
                        ChangeProperties "Date of Revision 2", "%%032", s
                        ChangeProperties "Initials of Rev 2 Reviewer", "%%032", s
                       
                        ChangeProperties "Revision Number 3", "%%032", s
                        ChangeProperties "Description of Revision 3", "%%032", s
                        ChangeProperties "Date of Revision 3", "%%032", s
                        ChangeProperties "Initials of Rev 3 Reviewer", "%%032", s
                       
                        ChangeProperties "Revision Number 4", "%%032", s
                        ChangeProperties "Description of Revision 4", "%%032", s
                        ChangeProperties "Date of Revision 4", "%%032", s
                        ChangeProperties "Initials of Rev 4 Reviewer", "%%032", s
                    Else
                        If GetCSSProperties("Date of Revision 4", s) = "%%032" Then
                            If GetCSSProperties("Date of Revision 3", s) = "%%032" Then
                                If GetCSSProperties("Date of Revision 2", s) = "%%032" Then
                                    If GetCSSProperties("Date of Revision 1", s) = "%%032" Then
                                        If GetCSSProperties("Date of Revision 0", s) = "%%032" Then
                                            If rtype = "L" Then
                                                ChangeProperties "Revision Number 0", "A", s
                                            Else
                                                ChangeProperties "Revision Number 0", "0", s
                                            End If
                                            ChangeProperties "Description of revision 0", rdesc, s
                                            ChangeProperties "Date of Revision 0", rdate, s
                                            ChangeProperties "Initials of Rev 0 Reviewer", rinit, s
                                        Else
                                            rNumTemp = GetCSSProperties("Revision Number 0", s)
                                            If rtype = "L" Then
                                                rnNext = AddLetter(rNumTemp)
                                            Else
                                                If IsNumeric(rNumTemp) Then
                                                    rnVar = rNumTemp
                                                    rnVar = rnVar + 1
                                                    rnNext = rnVar
                                                Else
                                                    rnNext = "0"
                                                End If
                                            End If
                                            ChangeProperties "Revision Number 1", rnNext, s
                                            ChangeProperties "Description of Revision 1", rdesc, s
                                            ChangeProperties "Date of Revision 1", rdate, s
                                            ChangeProperties "Initials of Rev 1 Reviewer", rinit, s
                                        End If
                                    Else
                                        rNumTemp = GetCSSProperties("Revision Number 1", s)
                                        If rtype = "L" Then
                                            rnNext = AddLetter(rNumTemp)
                                        Else
                                            If IsNumeric(rNumTemp) Then
                                                rnVar = rNumTemp
                                                rnVar = rnVar + 1
                                                rnNext = rnVar
                                            Else
                                                rnNext = "0"
                                            End If
                                        End If
                                        ChangeProperties "Revision Number 2", rnNext, s
                                        ChangeProperties "Description of Revision 2", rdesc, s
                                        ChangeProperties "Date of Revision 2", rdate, s
                                        ChangeProperties "Initials of Rev 2 Reviewer", rinit, s
                                    End If
                                Else
                                    rNumTemp = GetCSSProperties("Revision Number 2", s)
                                    If rtype = "L" Then
                                        rnNext = AddLetter(rNumTemp)
                                    Else
                                        If IsNumeric(rNumTemp) Then
                                            rnVar = rNumTemp
                                            rnVar = rnVar + 1
                                            rnNext = rnVar
                                        Else
                                            rnNext = "0"
                                        End If
                                    End If
                                    ChangeProperties "Revision Number 3", rnNext, s
                                    ChangeProperties "Description of Revision 3", rdesc, s
                                    ChangeProperties "Date of Revision 3", rdate, s
                                    ChangeProperties "Initials of Rev 3 Reviewer", rinit, s
                                End If
                            Else
                                rNumTemp = GetCSSProperties("Revision Number 3", s)
                                If rtype = "L" Then
                                    rnNext = AddLetter(rNumTemp)
                                Else
                                    If IsNumeric(rNumTemp) Then
                                        rnVar = rNumTemp
                                        rnVar = rnVar + 1
                                        rnNext = rnVar
                                    Else
                                        rnNext = "0"
                                    End If
                                End If
                                ChangeProperties "Revision Number 4", rnNext, s
                                ChangeProperties "Description of Revision 4", rdesc, s
                                ChangeProperties "Date of Revision 4", rdate, s
                                ChangeProperties "Initials of Rev 4 Reviewer", rinit, s
                            End If
                        Else
                            rNumTemp = GetCSSProperties("Revision Number 4", s)
                            If rtype = "L" Then
                                rnNext = AddLetter(rNumTemp)
                            Else
                                If IsNumeric(rNumTemp) Then
                                    rnVar = rNumTemp
                                    rnVar = rnVar + 1
                                    rnNext = rnVar
                                Else
                                    rnNext = "0"
                                End If
                            End If
                            ChangeProperties "Revision Number 0", GetCSSProperties("Revision Number 1", s), s
                            ChangeProperties "Description of revision 0", GetCSSProperties("Description of Revision 1", s), s
                            ChangeProperties "Date of Revision 0", GetCSSProperties("Date of Revision 1", s), s
                            ChangeProperties "Initials of Rev 0 Reviewer", GetCSSProperties("Initials of Rev 1 Reviewer", s), s
                           
                            ChangeProperties "Revision Number 1", GetCSSProperties("Revision Number 2", s), s
                            ChangeProperties "Description of Revision 1", GetCSSProperties("Description of Revision 2", s), s
                            ChangeProperties "Date of Revision 1", GetCSSProperties("Date of Revision 2", s), s
                            ChangeProperties "Initials of Rev 1 Reviewer", GetCSSProperties("Initials of Rev 2 Reviewer", s), s
                           
                            ChangeProperties "Revision Number 2", GetCSSProperties("Revision Number 3", s), s
                            ChangeProperties "Description of Revision 2", GetCSSProperties("Description of Revision 3", s), s
                            ChangeProperties "Date of Revision 2", GetCSSProperties("Date of Revision 3", s), s
                            ChangeProperties "Initials of Rev 2 Reviewer", GetCSSProperties("Initials of Rev 3 Reviewer", s), s
                           
                            ChangeProperties "Revision Number 3", GetCSSProperties("Revision Number 4", s), s
                            ChangeProperties "Description of Revision 3", GetCSSProperties("Description of Revision 4", s), s
                            ChangeProperties "Date of Revision 3", GetCSSProperties("Date of Revision 4", s), s
                            ChangeProperties "Initials of Rev 3 Reviewer", GetCSSProperties("Initials of Rev 4 Reviewer", s), s
                           
                            ChangeProperties "Revision Number 4", rnNext, s
                            ChangeProperties "Description of Revision 4", rdesc, s
                            ChangeProperties "Date of Revision 4", rdate, s
                            ChangeProperties "Initials of Rev 4 Reviewer", rinit, s
                        End If
                        ChangeRevProps rnNext, rdate, s
                    End If
                End If
            End If
    ElseIf comp.GetTypeName = "AcSmSubset" Then
            Dim sset As AcSmSubset
            Set sset = comp
            'loop through all the sheets.
            Call LoopThroughSheetsSet(sset.GetSheetEnumerator)
        End If
        'next
        Set comp = compEnum.Next()
    Loop
    GoTo Exit_Here
ErrHandler:
Select Case Err.Number
    Case -2147467259
        Err.Clear
        Resume
    Case Else
        MsgBox Err.Number & ":" & Err.Description, vbOKOnly, "Error " & Err.Number
        GoTo Exit_Here
End Select
Exit_Here:
End Sub

This is where the work is done.
Notice how it is calling ChangeProperties, sending the Property title as a string, the desired value, and the sheet.
If you go through and replace all "Revision Number 0" with the title of your Custom Sheet Property then run the SheetSetSheet.SSFormStart
you will see what it is doing.

Let me write a set of routines for you that will ask for the Custom Property you want to get the value for and ask you to change it via InputBoxes.
Murphy's Law applies to all.
Whatever can go wrong, will, and at the most inopportune time.

Murph

  • Bull Frog
  • Posts: 402
  • P.I.T.A.
Re: Custom Props in Sheet Sets
« Reply #10 on: February 26, 2008, 06:41:26 AM »
Mark,

Insert a new module and paste this code into it.
This will ask you for the Property title to change, give you the existing value and let you change it.
This is an example to show you how the rest of the stuff works.

Murph

Code: [Select]
Dim aCount As Integer
Dim cCount As Integer
Dim eCount As Integer
Dim iCount As Integer
Dim mCount As Integer
Dim pCount As Integer
Dim sCount As Integer
Dim pidCount As Integer
Dim dwgCount As Integer
Dim scl As String
Dim chk As String
Dim des As String
Dim chrg As String
Dim dwn As String
Dim rinit As String
Dim ssetName As String
Dim ptitle As String
Dim rdesc As String
Dim rdate As String
Dim rtype As String
Dim dNum As String
Dim draw As AcadDocument
Dim newDir As String
Dim newSelSet As IAcSmSheetSelSet
Dim pstamp As String
Dim pLines As String
Dim tLines As String
Dim donce As Boolean
Dim wipeClean As Boolean
Dim sdcCount As Integer
Dim sdcChange As Boolean
Dim NewSubsetStr As String
Dim sdcCalled As Boolean
Dim startDone As Boolean
Dim sdcPrev As Boolean
Dim repTxt As String
Dim expSel As Boolean
Dim xBook As Workbook
Dim dSht As Worksheet
Dim ppSht As Worksheet
Dim ssSht As Worksheet
Dim SingDrawComboPrev As Integer

Public Sub SetProps()
Dim i As Integer

i = SheetSetsOpen
If i > 1 Then
    MsgBox "More than one Sheet Set are open. Make sure only one is open.", vbCritical
    Exit Sub
ElseIf i = 0 Then
    MsgBox "No Sheet Set is open. Make sure one is open.", vbCritical
    Exit Sub
End If
    Dim ssm As New AcSmSheetSetMgr
    Dim dbIter As IAcSmEnumDatabase
    Dim db As IAcSmDatabase
    Dim ss As AcSmSheetSet
    If ssm Is Nothing Then
        MsgBox "Something wrong here: 1", vbCritical
        Exit Sub
    End If
    Set dbIter = ssm.GetDatabaseEnumerator
    If dbIter Is Nothing Then
        MsgBox "Something wrong here: 2", vbCritical
        Exit Sub
    End If
    dbIter.Reset
    'get the Database of the first sheetset
    Set db = dbIter.Next
    If db Is Nothing Then
        MsgBox "No Sheet Set open", vbCritical
        Exit Sub
    End If
    'get the sheetset
    Set ss = db.GetSheetSet
    If ss Is Nothing Then
        MsgBox "Cannot get the Sheet Set", vbCritical
        Exit Sub
    End If
    Set oSheetIter = ss.GetSheetEnumerator
    If oSheetIter Is Nothing Then
      Return
    End If
    'lock the database
    Dim lockStatus As AcSmLockStatus
    Let lockStatus = db.GetLockStatus
    If lockStatus = AcSmLockStatus_UnLocked Then
      db.LockDb db
    Else
        Dim sUserName As String
        Dim sMachineName As String
        db.GetLockOwnerInfo sUserName, sMachineName
        MsgBox "The Sheet Set is locked by " & sUserName & " at " & sMachineName, vbCritical
        Exit Sub
    End If
    Dim compEnum As IAcSmEnumComponent
    'get component enumerator
    Set compEnum = ss.GetSheetEnumerator
        Call LoopThroughSheetsSetMark(compEnum)
    'unlock the database
    Call db.UnlockDb(db, True)
End Sub
Private Sub LoopThroughSheetsSetMark(ByVal compEnum As IAcSmEnumComponent)
    Dim comp As IAcSmComponent
    Dim lastrevn As Variant
    Dim lyOut As AcSmAcDbLayoutReference
    Dim lyName As String
    Dim lastrevd As String
    Dim lastrevdate As String
    Dim rNumTemp As String
    Dim rnNext As String
    Dim rnVar As Variant
    Dim dirmade As Boolean
    Dim tLine1 As String
    Dim tLine2 As String
    Dim tLine3 As String
    Dim selsets As AcSmSheetSelSets
    Dim selset As AcSmSheetSelSet
    Dim tselset As AcSmSheetSelSet
    Dim ssMade As Boolean
    Dim ttitle As String
    Dim repTemp As String
Dim cssProp As String
Dim exstVal As String
Dim newVal As String
    On Error GoTo ErrHandler
    ssMade = False
    Set comp = compEnum.Next()
    dirmade = False
    cssProp = InputBox("What is the EXACT title of your custom property?", "Property Title")
    ' loop through till the component is Nothing
    Do While Not comp Is Nothing
        'if the component is a sheet, then...
        If comp.GetTypeName = "AcSmSheet" Then
            Dim s As AcSmSheet
            Set s = comp
            Dim sNumber As String
            Dim sTitle As String
            exstVal = GetCSSProperties(cssProp, s)
            sTitle = s.GetTitle
           
            newVal = InputBox("The drawing " & sTitle & vbCr & "has a value of" & vbCr & exstVal & vbCr & _
            "for the Custom Property titled" & vbCr & cssProp & vbCr & vbCr & "Please enter the new value here. Leave blank for no change" _
            , "Properties to the Extreme")
           
            If Not newVal = "" Then
                ChangeProperties cssProp, newVal, s
            End If
         
    ElseIf comp.GetTypeName = "AcSmSubset" Then
            Dim sset As AcSmSubset
            Set sset = comp
            'loop through all the sheets.
            Call LoopThroughSheetsSet(sset.GetSheetEnumerator)
        End If
        'next
        Set comp = compEnum.Next()
    Loop
    GoTo Exit_Here
ErrHandler:
Select Case Err.Number
    Case -2147467259
        Err.Clear
        Resume
    Case Else
        MsgBox Err.Number & ":" & Err.Description, vbOKOnly, "Error " & Err.Number
        GoTo Exit_Here
End Select
Exit_Here:
End Sub
Murphy's Law applies to all.
Whatever can go wrong, will, and at the most inopportune time.

ML

  • Guest
Re: Custom Props in Sheet Sets
« Reply #11 on: February 26, 2008, 10:10:10 AM »

Hey Murph

I really appreciate this; I have been making progress but it is very slow.
This stuff is not very intuitive.

OK, I copied the code into a new module; still I am getting some errors.

The first thing I did was commented out any references you have to Excel; for now.

The other thing is, this code
Code: [Select]
i = SheetSetsOpen
If i > 1 Then
    MsgBox "More than one Sheet Set are open. Make sure only one is open.", vbCritical
    Exit Sub
ElseIf i = 0 Then
     MsgBox "No Sheet Set is open. Make sure one is open.", vbCritical
     Exit Sub
End If
It tells me that no sheet set is open when in fact it is; so I commented that out.
I may be doing something wrong, but I have the sheet set manager open and a sheet set loaded
I am using the example one (civil) that came with CAD and I have one of the layouts open and active.

Also, I see now how sUserName, sMachineName are part of the database, GetLockOwnerInfo method.
With that, I keep getting the error that the sheet set is locked by me on my machine.
So, are we locking the Sheet Sets down prematurely?

Also, are we missing a function: ?
GetCSSProperties

Thanks again for breaking the code out for me; this is making it a lot more comprehensive.

I'm just not exactly sure why we are getting the errors we are.

Mark



Murph

  • Bull Frog
  • Posts: 402
  • P.I.T.A.
Re: Custom Props in Sheet Sets
« Reply #12 on: February 26, 2008, 10:31:32 AM »
Mark,

GetCSSProperties should be included in the dvb I linked to.
Can you stop the code where it sets i = SheetSetsOpen and check to see what value i has?
What version/flavor of Autocad are you running?

As to the sheet set being locked, if you have been using the same one to test on it may still be locked from the last time it errored out of the routines.
Look for and run SheetSetSheet.unlockdbnow, then run the stuff I gave you earlier.

Let me know what happens next.

Murph
Murphy's Law applies to all.
Whatever can go wrong, will, and at the most inopportune time.

ML

  • Guest
Re: Custom Props in Sheet Sets
« Reply #13 on: February 26, 2008, 10:36:30 AM »

Hey Murph

I will need to get that function then and paste it below the rest of the code, correct?
I stepped through the code and i is returning 0

I am using Land Desktop 2006

Also, I just created a seperate module simply to unlock the database.

Any suggestions?

Thanks!
Mark


ML

  • Guest
Re: Custom Props in Sheet Sets
« Reply #14 on: February 26, 2008, 10:56:30 AM »

OK Murph

I copied out 3 functions from your other project:

GetCSSProperties
ChangeProperties +
LoopThroughSheets (with the Mark at the end)

Now, it is working; I am now getting prompted with the input boxs, without any errors.

Now, I need to figure out what to put into each input box

Mark