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

0 Members and 2 Guests are viewing this topic.

mjfarrell

  • Seagull
  • Posts: 14444
  • 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: 42
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: 6144
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: 6144
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: 3770
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 »
"How we think determines what we do, and what we do determines what we get."

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: 3770
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
"How we think determines what we do, and what we do determines what we get."

BlackBox

  • King Gator
  • Posts: 3770
Well, it seems that I can make new posts fine, but am unable to edit my earlier post? :?
"How we think determines what we do, and what we do determines what we get."

MP

  • Seagull
  • Posts: 17750
  • Have thousands of dwgs to process? Contact me.
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.
Engineering Technologist • CAD Automation Practitioner
Automation ▸ Design ▸ Drafting ▸ Document Control ▸ Client
cadanalyst@gmail.comhttp://cadanalyst.slack.comhttp://linkedin.com/in/cadanalyst

JohnK

  • Administrator
  • Seagull
  • Posts: 10605
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.
TheSwamp.org (serving the CAD community since 2003)
Member location map - Add yourself

Donate to TheSwamp.org

BlackBox

  • King Gator
  • Posts: 3770
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:

"How we think determines what we do, and what we do determines what we get."

JohnK

  • Administrator
  • Seagull
  • Posts: 10605
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).
TheSwamp.org (serving the CAD community since 2003)
Member location map - Add yourself

Donate to TheSwamp.org

BlackBox

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

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

/OffTopic
"How we think determines what we do, and what we do determines what we get."

JohnK

  • Administrator
  • Seagull
  • Posts: 10605
lol
TheSwamp.org (serving the CAD community since 2003)
Member location map - Add yourself

Donate to TheSwamp.org