sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [req]Model Scrambler

    Scheduled Pinned Locked Moved Plugins
    48 Posts 19 Posters 16.8k Views 19 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R Offline
      remus
      last edited by

      Ideally all the changes would leave the model visually unchanged, though.

      scrap the unsmoothing thing in the original post.

      http://remusrendering.wordpress.com/

      1 Reply Last reply Reply Quote 0
      • Chris FullmerC Offline
        Chris Fullmer
        last edited by

        @remus said:

        Ideally all the changes would leave the model visually unchanged, though.

        AAaahhhh, that makes so much more sense now! You could write something like that.

        model = Sketchup.active_model ents = model.entities group_found = true to_explode = [] curve = [] while group_found group_found = false ents = model.entities ents.each do |e| if e.typename == "Group" or e.typename == "ComponentInstance" to_explode.push e group_found = true end end to_explode.each { |e| e.explode } to_explode = [] end ents = model.entities ents.each do |e| if e.typename == "Edge" curve.push e if e.curve end end curve.each { |e| e.explode_curve }

        That is the explode all group/comps and then explode all curves part of the script. Just add something to randomly move geometry onto layers and hide things, delete all scenes, purge all, etc. Your good to go! 😄

        Chris

        Lately you've been tan, suspicious for the winter.
        All my Plugins I've written

        1 Reply Last reply Reply Quote 0
        • soloS Offline
          solo
          last edited by

          How difficult would it be to make a script that renders the model uneditable?, making it a locked component that cannot be unlocked without a password?

          http://www.solos-art.com

          If you see a toilet in your dreams do not use it.

          1 Reply Last reply Reply Quote 0
          • R Offline
            remus
            last edited by

            Cheers chris 👍 I should have said that te model should appear unchanged in the original post, would have saved a lot of confusion i think.

            http://remusrendering.wordpress.com/

            1 Reply Last reply Reply Quote 0
            • GaieusG Offline
              Gaieus
              last edited by

              Also add some tiny faces with lots of random materials so that it would actually be a PITA to purge it. Ideally biiig tiff files or something.

              Gai...

              1 Reply Last reply Reply Quote 0
              • TIGT Offline
                TIG Moderator
                last edited by

                Question: How do 'they' know what the model should be like ?

                If they haven't seen it then you could send them any old model containing assorted rubbish...

                If they've seen some images of it then send them any old model containing assorted old rubbish but with the same images inserted into it...

                If they've received a draft of the model re-send that (perhaps with the later version images inserted).

                Who are 'they' that 'they' can demand this model from ? If they 'own it', or have a claim on it in some way, you must give it to them - otherwise they can sue you... You should only ever agree to provide images unless they specifically are paying for the 3D model...

                A contract in law is 'an offer' and 'an acceptance' - however, it usually consists of three basic bits 'a time/cost', 'a date' and 'a handshake': i.e. how long it'll take or how much it'll cost [the "lead-in time" and/or "the total cost" of the service/goods - often the same because "time is money"] + when it'll be ready [the "programme to delivery"] + what it is that's to be done [the "specification"]... Anything else is extra window dressing - what happens if xyz etc...

                Who offered what to whom. Technically no 'consideration' is necessary (payment), but it does strengthen the case if something is paid for something that's not been received...

                I say - don't give'em "it" unless they have a serious threat... By the way - the questions around scrambling / password-protecting models has been around since almost the start of Sketchup BUT it has never been sorted...

                TIG

                1 Reply Last reply Reply Quote 0
                • R Offline
                  remus
                  last edited by

                  To be honest i havent thought a lot about the applications/implications of such a script.

                  The only real use i had in mind was if you wanted to send someone a file for visual inspection but didnt want them to be able to modify it.

                  I think it could be pretty useful in this context, as it makes it feasible to provide models for inspection by a client without risking them being able to use it. I imagine youd have to be quite careful using it in this context, though, as the potential for pissing of your client is pretty big.

                  http://remusrendering.wordpress.com/

                  1 Reply Last reply Reply Quote 0
                  • B Offline
                    BTM
                    last edited by

                    I'd say password protection would be best. I know that there are ways to fix "messed up" models, but a password would be foolproof.

                    1 Reply Last reply Reply Quote 0
                    • Chris FullmerC Offline
                      Chris Fullmer
                      last edited by

                      Ahh nice, that saves about 20 lines of code 😄 I find I'm not very concise in my coding. I use a lot of lines to get stuff done. But its easier for me to read later when I'm checking over my code.

                      Lately you've been tan, suspicious for the winter.
                      All my Plugins I've written

                      1 Reply Last reply Reply Quote 0
                      • M Offline
                        Matt666
                        last edited by

                        Ok!
                        I test our codes, and yours is really, really faster than mine!! 😲
                        100 times faster than mine... 😮
                        IMO yours is faster because you don't enter into components to find sub components. You stay in model.
                        Great test! Thank you Chris! 😄

                        Frenglish at its best !
                        My scripts

                        1 Reply Last reply Reply Quote 0
                        • AdamBA Offline
                          AdamB
                          last edited by

                          FWIW, if you really don't want them to get their hands on your model, then you need to convert the model to another form which simply does not contain the primary content (so it cant be recovered).

                          So, perhaps convert it into a movie, an interactive sequence of images of the model rotated (a la 3dwarehouse) , etc etc.

                          Adding degenerates / zero-area geometry / component-per-face simply degrades their experience of your work.. which probably isn't good for business!

                          Adam

                          Developer of LightUp Click for website

                          1 Reply Last reply Reply Quote 0
                          • L Offline
                            linea
                            last edited by

                            @unknownuser said:

                            Who are 'they' that 'they' can demand this model from ? If they 'own it', or have a claim on it in some way, you must give it to them - otherwise they can sue you... You should only ever agree to provide images unless they specifically are paying for the 3D model...

                            This is a good point. If you are being paid purely as a visualiser, there should be no need to give them the model. But now I find some clients do know a little Sketchup or are interested in it, so they sometimes ask for the models because they are interested in seeing if they can learn from it. I think that is fair enough - if they have paid in full first.

                            @unknownuser said:

                            So, perhaps convert it into a movie, an interactive sequence of images of the model rotated (a la 3dwarehouse) , etc etc.

                            I agree, I think this is always preferable and much sleeker than giving a client the raw file.

                            1 Reply Last reply Reply Quote 0
                            • M Offline
                              Matt666
                              last edited by

                              Hi chris!
                              Just one thing with your piece of code: To explode all components.groups I do like that:

                              l=[]
                              Sketchup.active_model.definitions.each{|e|l=l+e.instances}
                              l.each{|elt|elt.explode}
                              

                              😉

                              Frenglish at its best !
                              My scripts

                              1 Reply Last reply Reply Quote 0
                              • E Offline
                                Ecuadorian
                                last edited by

                                You could:

                                • Use Chris Fullmer's random scale and rotate to mess everything up with only really tiny rotations (no scaling)
                                • Explode everything afterwards (how about using smustard's "bomb"?)
                                • Random push-pull everything with tiny values. I guess you could use Chris Fullmer's greeble script for this.
                                • Select everything and use TIG's random select to select a random 20% of everything and copy it (Ctrl+C)
                                • Select everything remaining, make it a group, paste in place what you copied before, make it another group, and
                                • Use Chris Fullmer's random scale and rotate again with really tiny rotations (no scaling) to mess up everything
                                • Again, explode everything

                                Be prepared to be declared a slobbish 3D modeler after they try to edit that file.

                                -Miguel Lescano
                                Subscribe to my house plans YouTube channel! (30K+ subs)

                                1 Reply Last reply Reply Quote 0
                                • K Offline
                                  kwistenbiebel
                                  last edited by

                                  Make a script that randomly bugsplats the Su file when someone wants to edit it.....
                                  Oh wait a minute, Sketchup does that by default.... 😄

                                  1 Reply Last reply Reply Quote 0
                                  • TIGT Offline
                                    TIG Moderator
                                    last edited by

                                    @kwistenbiebel said:

                                    Make a script that randomly bugsplats the Su file when someone wants to edit it.....
                                    Oh wait a minute, Sketchup does that by default.... 😄

                                    Many a true word spoken in jest... the tool put everything onto Layer0 and explodes everything to bare geometry, the tool then groups the whole model into one giant group/compo, we do 'something' to the group that causes a bugsplat if you try to edit it - otherwise the model remains orbitable, viewable etc...

                                    Good candidates for 'something' would be some humongous hidden geometry causing GL to fall over, or a definition that includes itself ?

                                    TIG

                                    1 Reply Last reply Reply Quote 0
                                    • thomthomT Offline
                                      thomthom
                                      last edited by

                                      @remus said:

                                      I was wondering if it would be possible to make a script that:

                                      1. Exploded all groups/components in the model
                                      2. Purged the model
                                      3. Exploded all curves
                                      4. Unhid/unsmooth all geometry
                                      5. Hid a random selections of lines
                                      6. Rotated the whole model very slightly off axis in every direction
                                      7. Created lots of new layers and moved random pieces of geometry to the new layers
                                      8. Made components of random selections of geometry

                                      And anything else that you can think of that would make it very hard/impossible to work on the file.

                                      Sounds like some the architects where I work... ...with exception of point 2.

                                      Thomas Thomassen — SketchUp Monkey & Coding addict
                                      List of my plugins and link to the CookieWare fund

                                      1 Reply Last reply Reply Quote 0
                                      • PixeroP Offline
                                        Pixero
                                        last edited by

                                        As some has said, I dont think giving the client a crippled SU file would be good for business.
                                        Either give them a movie or still images. The good thing about that is that you can deside what they should be looking at. With just the SU file they could start commenting irrelevant things that you quickly fly past in an animation.
                                        Also many clients (at least where I live) are not very good with computers and they would either loose themselves trying to navigate SU or just be getting a less experience of your work navigating SU themselves.

                                        1 Reply Last reply Reply Quote 0
                                        • H Offline
                                          HFM
                                          last edited by

                                          @solo said:

                                          How difficult would it be to make a script that renders the model uneditable?, making it a locked component that cannot be unlocked without a password?

                                          Don't think that's possible, since it probably needs a .rb file to work [password data]. You could ask the receiving party to first install the .rb and then open the model and hope they fall for that 😄

                                          1 Reply Last reply Reply Quote 0
                                          • Chris FullmerC Offline
                                            Chris Fullmer
                                            last edited by

                                            Is it possible for a ruby to go in and tweak something in the .skp file that makes it appear un-openable to SU? But the ruby could be installed on another computer and the user could start the ruby, then select a file to open and the ruby could then re-tweak the file back to normal if the correct PW was given? the PW would also be stored in the .skp file.

                                            Is that possible?

                                            Lately you've been tan, suspicious for the winter.
                                            All my Plugins I've written

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement