Author Topic: Cracking a SheetSet file(.dst) to view and edit values inside/oustide AutoCAD  (Read 9375 times)

0 Members and 1 Guest are viewing this topic.

mjfarrell

  • Seagull
  • Posts: 13920
  • Every Student their own Lesson
I'm curious how this works

http://jtbworld.com/ssmpropeditor

Pretty much cracks the .dst wide open for editing.

I don't know that I need that enough to pay %50 for it...just that I have an instance where someone renamed one or two
files from which sheets are taken, effectively breaking the sheet set.  And I don't want to go in a circle of renaming the file, only to have it's name changed again, merry go round.

My issue is that the SSM within AutoCAD is dreadfully slow, but based on this program is do-able to fully separate the sheet set file from the SSM (and even possible to do advanced-ish things like total sheet count).

Agreed and no argument from me...sadly just goes into the heap of other 65% solutions autodesk puts out there, and then lets them rot or die.
Be your Best


Michael Farrell
http://primeservicesglobal.com/

82L8

  • Mosquito
  • Posts: 3
Hello, Jeff H! Seems that there are some mistakes in your code. I believe the values should be:

Code - C#: [Select]
  1. static readonly byte[] encode = new byte[] {
  2.    0x8C, 0x8F, 0x8E, 0x89, 0x88, 0x8B, 0x8A, 0x85, 0x84, 0x87, 0x86, 0x81, 0x80, 0x83, 0x82, >>>0xBD<<<,
  3.    ...
  4.    0x5C, 0x5F, 0x5E, 0x59, 0x58, 0x5B, 0x5A, 0x55, 0x54, 0x57, 0x56, 0x51, 0x50, >>>0x53<<<,  0x52, 0x4D,
  5.    ...
  6.    0x9C, 0x9F, 0x9E, 0x99, 0x98, 0x9B, 0x9A, 0x95, 0x94, 0x97, 0x96, 0x91, 0x90, 0x93, 0x92, >>>0x8D<<<
  7.    };
  8. static readonly byte[] decode = new byte[] {
  9.    ...
  10.    0xC,  0xB,  0xE,  0xD,  0x8,  0x7,  0xA,  0x9,  0x4,  0x3,  0x6,  0x5,  0x0,  >>>0xFF<<<,  0x2,  0x1,
  11.    ...
  12.    };

Anyway, I noticed that there are some non-unique bytes (like 0xFF and 0x3 in 'encode' array) and some missing bytes (like 0x53 and 0xBD in 'encode' array). Could you please check this?

Also, i'd like to share my solution if anyone is interested. I am not a programmer, so I used a batch (the only external application I needed was tr for windows: http://gnuwin32.sourceforge.net/packages/coreutils.htm, do not forget to extract libiconv2.dll and libintl3.dll as well if you'd like to try it):

Code - Winbatch: [Select]
  1. @echo off
  2. set "enc=\0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\56\57\60\61\62\63\64\65\66\67\70\71\72\73\74\75\76\77\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"
  3. set "dec=\214\213\216\215\210\207\212\211\204\203\206\205\200\177\202\201\174\173\176\175\170\167\172\171\164\163\166\165\160\157\162\161\254\253\256\255\250\247\252\251\244\243\246\245\240\237\242\241\234\233\236\235\230\227\232\231\224\223\226\225\220\217\222\221\314\313\316\315\310\307\312\311\304\303\306\305\300\277\302\301\274\273\276\275\270\267\272\271\264\263\266\265\260\257\262\261\354\353\356\355\350\347\352\351\344\343\346\345\340\337\342\341\334\333\336\335\330\327\332\331\324\323\326\325\320\317\322\321\14\13\16\15\10\7\12\11\4\3\6\5\0\377\2\1\374\373\376\375\370\367\372\371\364\363\366\365\360\357\362\361\54\53\56\55\50\47\52\51\44\43\46\45\40\37\42\41\34\33\36\35\30\27\32\31\24\23\26\25\20\17\22\21\114\113\116\115\110\107\112\111\104\103\106\105\100\77\102\101\74\73\76\75\70\67\72\71\64\63\66\65\60\57\62\61\154\153\156\155\150\147\152\151\144\143\146\145\140\137\142\141\134\133\136\135\130\127\132\131\124\123\126\125\120\117\122\121"
  4.  
  5. if "%~1"=="" (echo Please drop a file!&pause)
  6. if /i "%~x1"==".dst" (<"%~1" tr "%enc%" "%dec%" >"%~dpn1.xml")
  7. if /i "%~x1"==".ds$" (<"%~1" tr "%enc%" "%dec%" >"%~dpn1.xml")
  8. if /i "%~x1"==".xml" (<"%~1" tr "%dec%" "%enc%" >"%~dpn1.dst")
  9.  

I just drag and drop a DST(XML) file on the batch to get XML(DST) with the same name in the same directory. Seems to work fine so far :)
« Last Edit: December 02, 2016, 11:11:12 am by 82L8 »

GILESP

  • Newt
  • Posts: 39
I appreciate I'm a bit late to this party, but taking the work of those before, I've written a slightly different version in VBscript.  Posted below if anyone is interested

Simply drop a dst file onto the script icon in windows and it will convert to xml saved in the same folder as the source, edit the xml and drop it back onto the script and it will convert back again.

Code: [Select]
Dim ObjFile, ObjFSO
Dim Arg, FilePath, FileName
Dim File, OutFile
Dim FileData, StrPos, OutData
Dim InChar, AChar, A8Char, Con8Char,ConChar, OutChar
Dim enc, dec

enc="0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\56\57\60\61\62\63\64\65\66\67\70\71\72\73\74\75\76\77\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"
dec="214\213\216\215\210\207\212\211\204\203\206\205\200\177\202\201\174\173\176\175\170\167\172\171\164\163\166\165\160\157\162\161\254\253\256\255\250\247\252\251\244\243\246\245\240\237\242\241\234\233\236\235\230\227\232\231\224\223\226\225\220\217\222\221\314\313\316\315\310\307\312\311\304\303\306\305\300\277\302\301\274\273\276\275\270\267\272\271\264\263\266\265\260\257\262\261\354\353\356\355\350\347\352\351\344\343\346\345\340\337\342\341\334\333\336\335\330\327\332\331\324\323\326\325\320\317\322\321\14\13\16\15\10\7\12\11\4\3\6\5\0\377\2\1\374\373\376\375\370\367\372\371\364\363\366\365\360\357\362\361\54\53\56\55\50\47\52\51\44\43\46\45\40\37\42\41\34\33\36\35\30\27\32\31\24\23\26\25\20\17\22\21\114\113\116\115\110\107\112\111\104\103\106\105\100\77\102\101\74\73\76\75\70\67\72\71\64\63\66\65\60\57\62\61\154\153\156\155\150\147\152\151\144\143\146\145\140\137\142\141\134\133\136\135\130\127\132\131\124\123\126\125\120\117\122\121"

Dim EncA, DecA, APos
encA = Split(enc,"\")
DecA = Split(dec, "\")

'first code takes (arguments) from dropped file as to being the filename
Set ObjFSO = CreateObject("Scripting.filesystemobject")
If WScript.Arguments.Count > 0 Then
For Each Arg In WScript.Arguments
Arg= Trim(Arg)
If InStr(Arg,".dst") Then
'assume a sheet set file
Set ObjFile = ObjFSO.GetFile(Arg)
'grab useful parameters here
FilePath = ObjFSO.GetParentFolderName(ObjFile)& "\"
FileName = Left(ObjFSO.GetFileName(ObjFile), Len(ObjFSO.GetFileName(ObjFile))-4)
'open and read file into variable
Set File  = ObjFSO.OpenTextFile(Arg,1)
FileData = File.ReadAll
'recurse through string, converting characters into empty string
For StrPos = 1 To Len(FileData)
InChar = Mid(FileData, StrPos, 1) 'read character
AChar = AscB(InChar)'convert to ascii number
'A8Char = Oct(AChar)'conversion not needed
Con8Char = DecA(AChar) 'read decoded character (in octal) from array
ConChar = Eval("&O"&Con8Char)'convert octal to decimal
If ConChar <> 254 And ConChar <> 172 Then
'chars 254 and 172 seem to upset xml readers so remove them, Autocad doesn't seem to mind
OutChar = Chr(ConChar)
OutData =OutData & OutChar
End If
Next
'write file
Set OutFile = ObjFSO.OpenTextFile (FilePath & FileName & ".xml", 2,-1)
OutFile.Write OutData
OutFile.Close
MsgBox "SheetSet file " & FileName & " conversion complete", 0 ,"Conversion to XML Complete"
ElseIf InStr(Arg,".xml") Then
'assume an XML file
Set ObjFile = ObjFSO.GetFile(Arg)
'grab useful parameters here
FilePath = ObjFSO.GetParentFolderName(ObjFile)& "\"
FileName = Left(ObjFSO.GetFileName(ObjFile), Len(ObjFSO.GetFileName(ObjFile))-4)
'open and read file into variable
Set File  = ObjFSO.OpenTextFile(Arg,1)
FileData = File.ReadAll
'recurse through string, converting characters into empty string
For StrPos = 1 To Len(FileData)
InChar = Mid(FileData, StrPos, 1)
AChar = AscB(InChar)'convert character into ascii value
A8Char = Oct(AChar)'convert ascii value from decimal to octal
'look up octal number in encode array
For APos = LBound(DecA) To UBound(DecA)-1
If A8Char = DecA(APos) Then
Con8Char = EncA(APos)
Exit For
End If
Next
ConChar = Eval("&O"&Con8Char)'convert encoded ascii value into octal
OutChar = Chr(ConChar)'convert ascii value into character to write
OutData =OutData & OutChar 'add to data string
Next
'write file
Set OutFile = ObjFSO.OpenTextFile (FilePath & FileName & ".dst", 2,-1)
OutFile.Write OutData
OutFile.Close
MsgBox "Conversion to DST Complete",0 ,"SheetSet File Conversion"
End If
Next
End If

Set ObjFile = Nothing
Set ObjFSO = Nothing

..END OF LINE..

Jeff H

  • Needs a day job
  • Posts: 5740
Hello, Jeff H! Seems that there are some mistakes in your code. I believe the values should be:
Code - C#: [Select]
  1. static readonly byte[] encode = new byte[] {
  2.    0x8C, 0x8F, 0x8E, 0x89, 0x88, 0x8B, 0x8A, 0x85, 0x84, 0x87, 0x86, 0x81, 0x80, 0x83, 0x82, >>>0xBD<<<,
  3.    ...
  4.    0x5C, 0x5F, 0x5E, 0x59, 0x58, 0x5B, 0x5A, 0x55, 0x54, 0x57, 0x56, 0x51, 0x50, >>>0x53<<<,  0x52, 0x4D,
  5.    ...
  6.    0x9C, 0x9F, 0x9E, 0x99, 0x98, 0x9B, 0x9A, 0x95, 0x94, 0x97, 0x96, 0x91, 0x90, 0x93, 0x92, >>>0x8D<<<
  7.    };
  8. static readonly byte[] decode = new byte[] {
  9.    ...
  10.    0xC,  0xB,  0xE,  0xD,  0x8,  0x7,  0xA,  0x9,  0x4,  0x3,  0x6,  0x5,  0x0,  >>>0xFF<<<,  0x2,  0x1,
  11.    ...
  12.    };

Anyway, I noticed that there are some non-unique bytes (like 0xFF and 0x3 in 'encode' array) and some missing bytes (like 0x53 and 0xBD in 'encode' array). Could you please check this?

Also, i'd like to share my solution if anyone is interested. I am not a programmer, so I used a batch (the only external application I needed was tr for windows: http://gnuwin32.sourceforge.net/packages/coreutils.htm, do not forget to extract libiconv2.dll and libintl3.dll as well if you'd like to try it):
Code: [Select]
@echo off
set "enc=\0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\56\57\60\61\62\63\64\65\66\67\70\71\72\73\74\75\76\77\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"
set "dec=\214\213\216\215\210\207\212\211\204\203\206\205\200\177\202\201\174\173\176\175\170\167\172\171\164\163\166\165\160\157\162\161\254\253\256\255\250\247\252\251\244\243\246\245\240\237\242\241\234\233\236\235\230\227\232\231\224\223\226\225\220\217\222\221\314\313\316\315\310\307\312\311\304\303\306\305\300\277\302\301\274\273\276\275\270\267\272\271\264\263\266\265\260\257\262\261\354\353\356\355\350\347\352\351\344\343\346\345\340\337\342\341\334\333\336\335\330\327\332\331\324\323\326\325\320\317\322\321\14\13\16\15\10\7\12\11\4\3\6\5\0\377\2\1\374\373\376\375\370\367\372\371\364\363\366\365\360\357\362\361\54\53\56\55\50\47\52\51\44\43\46\45\40\37\42\41\34\33\36\35\30\27\32\31\24\23\26\25\20\17\22\21\114\113\116\115\110\107\112\111\104\103\106\105\100\77\102\101\74\73\76\75\70\67\72\71\64\63\66\65\60\57\62\61\154\153\156\155\150\147\152\151\144\143\146\145\140\137\142\141\134\133\136\135\130\127\132\131\124\123\126\125\120\117\122\121"

if "%~1"=="" (echo Please drop a file!&pause)
if /i "%~x1"==".dst" (<"%~1" tr "%enc%" "%dec%" >"%~dpn1.xml")
if /i "%~x1"==".ds$" (<"%~1" tr "%enc%" "%dec%" >"%~dpn1.xml")
if /i "%~x1"==".xml" (<"%~1" tr "%dec%" "%enc%" >"%~dpn1.dst")

I just drag and drop a DST(XML) file on the batch to get XML(DST) with the same name in the same directory. Seems to work fine so far :)
Thanks,
I have not noticed and will look into it as soon as I get some free time.
Have you found any uses or hacks for it?

Jeff H

  • Needs a day job
  • Posts: 5740
I appreciate I'm a bit late to this party, but taking the work of those before, I've written a slightly different version in VBscript.  Posted below if anyone is interested

Simply drop a dst file onto the script icon in windows and it will convert to xml saved in the same folder as the source, edit the xml and drop it back onto the script and it will convert back again.

Code: [Select]
Dim ObjFile, ObjFSO
Dim Arg, FilePath, FileName
Dim File, OutFile
Dim FileData, StrPos, OutData
Dim InChar, AChar, A8Char, Con8Char,ConChar, OutChar
Dim enc, dec

enc="0\1\2\3\4\5\6\7\10\11\12\13\14\15\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35\36\37\40\41\42\43\44\45\46\47\50\51\52\53\54\55\56\57\60\61\62\63\64\65\66\67\70\71\72\73\74\75\76\77\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"
dec="214\213\216\215\210\207\212\211\204\203\206\205\200\177\202\201\174\173\176\175\170\167\172\171\164\163\166\165\160\157\162\161\254\253\256\255\250\247\252\251\244\243\246\245\240\237\242\241\234\233\236\235\230\227\232\231\224\223\226\225\220\217\222\221\314\313\316\315\310\307\312\311\304\303\306\305\300\277\302\301\274\273\276\275\270\267\272\271\264\263\266\265\260\257\262\261\354\353\356\355\350\347\352\351\344\343\346\345\340\337\342\341\334\333\336\335\330\327\332\331\324\323\326\325\320\317\322\321\14\13\16\15\10\7\12\11\4\3\6\5\0\377\2\1\374\373\376\375\370\367\372\371\364\363\366\365\360\357\362\361\54\53\56\55\50\47\52\51\44\43\46\45\40\37\42\41\34\33\36\35\30\27\32\31\24\23\26\25\20\17\22\21\114\113\116\115\110\107\112\111\104\103\106\105\100\77\102\101\74\73\76\75\70\67\72\71\64\63\66\65\60\57\62\61\154\153\156\155\150\147\152\151\144\143\146\145\140\137\142\141\134\133\136\135\130\127\132\131\124\123\126\125\120\117\122\121"

Dim EncA, DecA, APos
encA = Split(enc,"\")
DecA = Split(dec, "\")

'first code takes (arguments) from dropped file as to being the filename
Set ObjFSO = CreateObject("Scripting.filesystemobject")
If WScript.Arguments.Count > 0 Then
   For Each Arg In WScript.Arguments
      Arg= Trim(Arg)
      If InStr(Arg,".dst") Then
      'assume a sheet set file
         Set ObjFile = ObjFSO.GetFile(Arg)
         'grab useful parameters here
         FilePath = ObjFSO.GetParentFolderName(ObjFile)& "\"
         FileName = Left(ObjFSO.GetFileName(ObjFile), Len(ObjFSO.GetFileName(ObjFile))-4)
         'open and read file into variable
         Set File  = ObjFSO.OpenTextFile(Arg,1)     
         FileData = File.ReadAll
         'recurse through string, converting characters into empty string
         For StrPos = 1 To Len(FileData)
            InChar = Mid(FileData, StrPos, 1) 'read character
            AChar = AscB(InChar)'convert to ascii number
            'A8Char = Oct(AChar)'conversion not needed
            Con8Char = DecA(AChar) 'read decoded character (in octal) from array
            ConChar = Eval("&O"&Con8Char)'convert octal to decimal
            If ConChar <> 254 And ConChar <> 172 Then
               'chars 254 and 172 seem to upset xml readers so remove them, Autocad doesn't seem to mind
               OutChar = Chr(ConChar)
               OutData =OutData & OutChar
            End If
         Next
         'write file
         Set OutFile = ObjFSO.OpenTextFile (FilePath & FileName & ".xml", 2,-1)
         OutFile.Write OutData
         OutFile.Close
         MsgBox "SheetSet file " & FileName & " conversion complete", 0 ,"Conversion to XML Complete"
      ElseIf InStr(Arg,".xml") Then
      'assume an XML file
         Set ObjFile = ObjFSO.GetFile(Arg)
         'grab useful parameters here
         FilePath = ObjFSO.GetParentFolderName(ObjFile)& "\"
         FileName = Left(ObjFSO.GetFileName(ObjFile), Len(ObjFSO.GetFileName(ObjFile))-4)
         'open and read file into variable
         Set File  = ObjFSO.OpenTextFile(Arg,1)
         FileData = File.ReadAll
         'recurse through string, converting characters into empty string
         For StrPos = 1 To Len(FileData)
            InChar = Mid(FileData, StrPos, 1)
            AChar = AscB(InChar)'convert character into ascii value
            A8Char = Oct(AChar)'convert ascii value from decimal to octal
            'look up octal number in encode array
            For APos = LBound(DecA) To UBound(DecA)-1
               If A8Char = DecA(APos) Then
                  Con8Char = EncA(APos)
                  Exit For
               End If
            Next
            ConChar = Eval("&O"&Con8Char)'convert encoded ascii value into octal
            OutChar = Chr(ConChar)'convert ascii value into character to write
            OutData =OutData & OutChar 'add to data string
         Next
         'write file
         Set OutFile = ObjFSO.OpenTextFile (FilePath & FileName & ".dst", 2,-1)
         OutFile.Write OutData
         OutFile.Close
         MsgBox "Conversion to DST Complete",0 ,"SheetSet File Conversion"                       
      End If
   Next
End If         

Set ObjFile = Nothing
Set ObjFSO = Nothing

Cool!
Have you found any uses or hacks for it?

BlackBox

  • King Gator
  • Posts: 3736
Just thought I'd contribute a shell/context menu for completeness. :-)

For this example, the above VBScript Code is saved to: "C:\CAD\SheetSetConverter.vbs"



Here is the Registry installer (SheetSetConverter.reg):
Code - Microsoft Registry: [Select]
  1. Windows Registry Editor Version 5.00
  2.  
  3. [HKEY_CLASSES_ROOT\*\shell\RightClickSheetSetConverter]
  4. @="Sheet Set Converter"
  5. "AppliesTo"=".dst OR .xml"
  6. "HasLUAShield"=""
  7. "Position"="Bottom"
  8.  
  9. [HKEY_CLASSES_ROOT\*\shell\RightClickSheetSetConverter\command]
  10. @="WScript.exe \"C:\\CAD\\SheetSetConverter.vbs\" \"%1\""
  11.  
  12.  



Here is the Registry un-installer (SheetSetConverter_uninstall.reg):
Code - Microsoft Registry: [Select]
  1. Windows Registry Editor Version 5.00
  2.  
  3. [-HKEY_CLASSES_ROOT\*\shell\RightClickSheetSetConverter]
  4.  
  5. [-HKEY_CLASSES_ROOT\*\shell\RightClickSheetSetConverter\command]
  6.  
  7.  



Edit - Uninstaller updated per 82L8's apt suggestion.
« Last Edit: December 02, 2016, 01:59:22 pm by BlackBox »
"Potential has a shelf life." - Margaret Atwood

82L8

  • Mosquito
  • Posts: 3
Jeff, I also didn't have much free time after posting... For now I mostly use this script to quickly correct paths or replace text...

BlackBox, thanks for a useful contribution! BTW, shouldn't the SheetSetConverter_uninstall.reg look like that (with minus) to remove the entire tree?
Code - Microsoft Registry: [Select]
  1. Windows Registry Editor Version 5.00
  2.  
  3. [-HKEY_CLASSES_ROOT\*\shell\RightClickSheetSetConverter]

BlackBox

  • King Gator
  • Posts: 3736
BlackBox, thanks for a useful contribution! BTW, shouldn't the SheetSetConverter_uninstall.reg look like that (with minus) to remove the entire tree?
Code - Microsoft Registry: [Select]
  1. Windows Registry Editor Version 5.00
  2.  
  3. [-HKEY_CLASSES_ROOT\*\shell\RightClickSheetSetConverter]

If that works as you've stated - as I've never seen that before (I'm a youngin' to most) - then hell yeah, it should! Haha 

Thanks for teaching me this useful feature, 82L8. :-) :beer:


Cheers
"Potential has a shelf life." - Margaret Atwood

BlackBox

  • King Gator
  • Posts: 3736
Well, it seems that I can make new posts fine, but am unable to edit my earlier post? :?
"Potential has a shelf life." - Margaret Atwood

MP

  • Seagull
  • Posts: 16904
  • brevity != aggression
I appreciate I'm a bit late to this party, but taking the work of those before, I've written a slightly different version in VBscript.  Posted below if anyone is interested ...

Thanks for posting this! I quickly and successfully (beta) converted this to LISP (leveraging existing functions from my library). This may prove very useful.
\|// Set goal. Experiment tirelessly until
|oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox | About

John Kaul (Se7en)

  • Administrator
  • Needs a day job
  • Posts: 8722
Well, it seems that I can make new posts fine, but am unable to edit my earlier post? :?

Odd. I'm going to try and edit your post--with what you wanted to type--but, I'm going to send you a PM with your post's raw text just in case the sky falls and we loose the post. Do you still have that attachment image (Just in case the post needs to be recreated).

Figured it out! Remove the brackets from the "edit" string and it works (see below). NOTE: I did NOT edit your post.

Quote
Edit - Uninstaller updated per 82L8's apt suggestion.
“Common sense is not so common.” ~Voltaire

--> Donate to TheSwamp.org <--

BlackBox

  • King Gator
  • Posts: 3736
Odd. I'm going to try and edit your post--with what you wanted to type--but, I'm going to send you a PM with your post's raw text just in case the sky falls and we loose the post. Do you still have that attachment image (Just in case the post needs to be recreated).

Figured it out! Remove the brackets from the "edit" string and it works (see below). NOTE: I did NOT edit your post.

Quote
Edit - Uninstaller updated per 82L8's apt suggestion.

Thanks, John - post updated.



When did that change take affect? :?  This used to work just fine:

"Potential has a shelf life." - Margaret Atwood

John Kaul (Se7en)

  • Administrator
  • Needs a day job
  • Posts: 8722
Absolutely no problem at all (read: you owe me big-time!). ...I have no idea when that changed. I wonder if Mark updated the forum version (maybe you just found a bug. lol).
“Common sense is not so common.” ~Voltaire

--> Donate to TheSwamp.org <--

BlackBox

  • King Gator
  • Posts: 3736
... maybe you just found a bug. lol

That seems to be something I excel at doing... Just ask the AutoCAD Beta team. :angel:

/OffTopic
"Potential has a shelf life." - Margaret Atwood

John Kaul (Se7en)

  • Administrator
  • Needs a day job
  • Posts: 8722
lol
“Common sense is not so common.” ~Voltaire

--> Donate to TheSwamp.org <--