[req]Model Scrambler
-
One last idea: you type in a password and the ruby works out a transformation based on the password. You then type the password in at the other end, the ruby script works out what transformation was performed and does it in reverse.
-
Model Scrambler you could also have it run in an endless cycle to arrange models randomly (evolve); evolve based on a basic floor plan layout, volume, materials, components. For when your having one of those dysfunctional modelling days.
-
I think this is all do-able and I've got some ideas....
Chris
-
I' liking this so far. I really need to fix the bug where its not scrambling everything in one try...thats annoying.
Guess what this one is...
password is 'remus'
Chris
-
Proof of Concept
Here is a ruby that begins to do some of this. Its incredibly crude right now. DO NOT run it on a model that is more than a few undered faces. It will not work on groups or components, or loose edges. Just plain geometry.
Obvious major problems in this test.
- Everything is stored in plain text in the model. Anyone with some ruby background could find it all and probably figure out how to rebuild the model. I would hope there is a way to encode the text so it is not so easy to read.
- There needs to be a way for the plugin to encode and decode what the user types. Otherwiser it would be easy to just find the text string in the ruby console and then copy and paste it into the PW entry box.
- It would be possible to strip the model of all info if the PW was entered incorrectly after a few tries. That is currently not implemented though.
- Its super slow. I think moving and rotating every face might be overkill. Perhaps it needs to be done in chunks of faces for speed issues. Or maybe give a few different settings for the amount of faces to be grouped together and moved around
- It does not work on groups/components, but I'm sure it could. It could deform everything inside each groupd, then relocate each group too. That could all be unscrambled.
I've attached a scrambled model and the script. Install the script. Then open the provided model. Run Plugins>Chris Fullmer Tools> Unscramble Model and watch the beauty of it!
You can also make any geomtery you want (again, not too much or it will take hours!). Run the Set Password first to set a PW for the model. THen run the scrambler. It will scramble the model (well, about 65% of it, see the known bug listed above). Then you can unscramble it with the unscramble method.
Can you guess what this is?
This has potential,
Chris
PS: I forgot to mention the PW for the supplied model is 'chris' with no quotes.
-
It seems you are on to something. I guess you would have to have the ruby installed on the recipients computer in order to unlock the file. It would be nice if the file was able to be orbited and viewed, but as soon as a tool is chosen, then a password prompt would pop up. If the wrong password is entered three times in a row, the model will automatically scramble, or just continue to lock the edit tools.
-
Yeah, unfortunately that gets back to the problem where they have to install the ruby to break the model. And if they don't have it, then it wouldn't scramble it. So it who would want to install that ruby?
I suppose my scrambling is only useful for people wanting to protect their model entirely, not letting anyone read it at all. So it really doesn't help with a type of write protection unfortunately.
-
Why not just put the model into a password protected zip file?
-
The chaos that this could unleash in the 3DW...........
-
@thomthom said:
Why not just put the model into a password protected zip file?
Yeah, that's really a better solution. I think somewhere in my head I was hoping this would lead to something useful, but in the end, the ability to PassWord protect a model from being looked at is not what is wanted. the ability to PassWord protect people from editing and copying is what is desired.
What if the script could automatically assemble the file in the sketchup viewer while leaving it scrambled in SU? Does SU even make the viewer anymore?
Chris
-
@linea said:
The chaos that this could unleash in the 3DW...........
This is actually a sort of virus.
Is such a plugin really something you guys would like to see developed?Next step: a SU file that self destructs after a certain date?
-
@kwistenbiebel said:
Next step: a SU file that self destructs after a certain date?
Anyone else hears the Mission Impossible tune in their head..?
-
@chris fullmer said:
Yeah, that's really a better solution. I think somewhere in my head I was hoping this would lead to something useful, but in the end, the ability to PassWord protect a model from being looked at is not what is wanted. the ability to PassWord protect people from editing and copying is what is desired.
Are we talking about intentional editing here? Or unintentional?
For unintentional you could just set the file as read only.For intentional editing, that's harder, as if someone has their mind set to edit it, novel obfuscation might not be that effective.
-
Hmm, I wonder if it would be possible to use transformations that don't destroy the model, but just make it hard/annoying to edit thinking smilie
I think the hard thing would be finding a suitable transformation that can't be fixed using another ruby.
-
-
@remus said:
Hmm, I wonder if it would be possible to use transformations that don't destroy the model, but just make it hard/annoying to edit thinking smilie
I think the hard thing would be finding a suitable transformation that can't be fixed using another ruby.
Instead of rotating individual vertices, rotate whole connected geometry. Throwing everything slightly off scale is annoying as hell. Whenever I get a model where a model where everything is like that (usually based of some AutoCAD drawing) it makes me curl up under my desk and rock back and forth sucking my thumb.
Advertisement