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

    DC Exploration 1 - Color!

    Scheduled Pinned Locked Moved Dynamic Components
    sketchup
    17 Posts 6 Posters 6.0k Views 6 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.
    • X Offline
      xrok1
      last edited by

      great thread guys,
      i think it should be mentioned #1 though for newbs like myself to click the toggle formula view be cause i was really banging my head till i did that. 😮

      Anyway, I'm trying to modify the glow button DC so that as it glows it changes scenes to a closeup then changes back to its original scene after it fades. the problem is i want to have multiple scenes and i want it to go back to where it started from.

      heres the scenario: i have a building layout with multiple views and as one is going through the scenes and clicks on (for example) an electrical plug ,you are moved to a scene for the electrical and all the wires glow say for 5 seconds then returned to where you where. sound possible?

      “There are three classes of people: those who see. Those who see when they are shown. Those who do not see.”

      http://www.Twilightrender.com try it!

      1 Reply Last reply Reply Quote 0
      • X Offline
        xrok1
        last edited by

        could i use this
        @unknownuser said:

        CURRENT("attributeName")
        to get the scene name, and if so put it in a variable then return to it with gotoscene?

        if so how?

        this is what i have, but of course my scenes are scene1 and scene2 and it just snaps from 1 to the next.
        GOTOSCENE("Scene"&snum,time,easein,easeout);animatecustom("scnum",timescene,easein,easeout,1,2);animatecustom("animator",timecolor,easein,easeout,-255,255);

        “There are three classes of people: those who see. Those who see when they are shown. Those who do not see.”

        http://www.Twilightrender.com try it!

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

          Hmm, I'd like to play around with this, but my first reaction is that it is not possible to get it to work. I can't confirm that yet though. Maybe tomorrow at some point I'll have a chance to check it out better.

          Chris

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

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

            ok, I've looked it over again and I'm pretty sure its not going to work. OnClick does not have a way to do sequential actions. So there is no way to set Scene1 1 for the first 5 seconds, then delay Scene2 to start after 5 seconds have passed. So I think its a no go.

            It might be the kind of thing that could get scripted in Ruby though. I'll take a look at it, but I seriously am just learning Ruby. You'd probably get a better solution from the pros. But then again, they're busy. Also, with a ruby script, your users would need to install the ruby so their model would work like yours.

            Hope that helps. Maybe someone will chime in with another opinion,

            Chris

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

            1 Reply Last reply Reply Quote 0
            • X Offline
              xrok1
              last edited by

              would it be possible to run a snippet of ruby code through the onclick function? that would be great.

              also a mouseover addition would be great too.

              “There are three classes of people: those who see. Those who see when they are shown. Those who do not see.”

              http://www.Twilightrender.com try it!

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

                I'm sorry I didn't find this thread earlier. Chris, this has some great info for noobs like me. I have played with color a little: Vertical Blinds (Animated & Scalable). But I am really unfamiliar with Ruby and with the syntax of functions within DC attributes. I have been working on an idea that requires an IF() test to SET() a value, but I can't seem to get it to work. Mainly, I have been copying the examples of others without any real understanding of the how and why.

                HP EliteBook 8440p Intel® Dual Core™ i7 M620@ 2.67 4GB RAM
                NVIDIA NVS 3100, 512 MB
                Windows® 8.1 64 bit
                SketchUp Pro 2015 version 15.3.331 64-bit

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

                  Anyone?

                  HP EliteBook 8440p Intel® Dual Core™ i7 M620@ 2.67 4GB RAM
                  NVIDIA NVS 3100, 512 MB
                  Windows® 8.1 64 bit
                  SketchUp Pro 2015 version 15.3.331 64-bit

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

                    I had an idea that encompassed the most of the challenges found in the DC Exploration 1 - Color!, DC Exploration 2 - Movement! (rotation, linear) and DC Exploration #3 - Scaling and Copying. It looks like this: Slider DC.jpg

                    Since the Scale tool seems to be the only integrated tool that offers dynamic component functionality beyond a 'click', do you think is would possible to use it to emulate a slider-like component? Maybe define OldLenX and IncAmt as constants (1/64th inch [0.015625"] IncAmt would give a slide component a travel length of 4 inches [64*4=256 or 0 to 255]). Then perhaps something like NewX=ROUND(CURRENT("LenX")/IncAmt)*IncAmt and assuming that X originates at 0, maybe SET("X",NewX) and SET("LenX",OldLenX)? Or is it X=NewX? Not sure.

                    What do you think? Could it work? Use the mouse to 'move' (drag?) a slider control (like on a mixing board). Three sliders that take their cues from the scale tool to, 1) derive the new X value from LenX and move (rather than scale) the component, 2) concatenate the adjusted NewX value with the other slider values to produce an RGB color number and 4) apply the color to a component?

                    I apologize. I have been trying to work this out but I just don't know this stuff well enough yet. I'm all over the map here. Any thoughts or insights would be very welcome.

                    *edited for spelling among other things

                    HP EliteBook 8440p Intel® Dual Core™ i7 M620@ 2.67 4GB RAM
                    NVIDIA NVS 3100, 512 MB
                    Windows® 8.1 64 bit
                    SketchUp Pro 2015 version 15.3.331 64-bit

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

                      Color Cube DC.jpg
                      I have had some successes, most notably that I have affected a color change of a component by moving a slider with the scale tool. These are very humble gains but suffice as proof of concept.

                      I am loading a Slider component's custom attribute (SliderR for Red in this case) named NewX as follows:

                      • NewX=NEAREST(CURRENT("LenX"),.015625,0.031250,0.046875,0.062500,0.078125,0.093750,0.109375,0.125000,0.140625,0.156250,0.171875,0.187500,0.203125,0.218750,0.234375,0.250000,0.265625,0.281250,0.296875,0.312500,0.328125,0.343750,0.359375,0.375000,0.390625,0.406250,0.421875,0.437500,0.453125,0.468750,0.484375,0.500000,0.515625,0.531250,0.546875,0.562500,0.578125,0.593750,0.609375,0.625000,0.640625,0.656250,0.671875,0.687500,0.703125,0.718750,0.734375,0.750000,0.765625,0.781250,0.796875,0.812500,0.828125,0.843750,0.859375,0.875000,0.890625,0.906250,0.921875,0.937500,0.953125,0.968750,0.984375,1.000000,1.015625,1.031250,1.046875,1.062500,1.078125,1.093750,1.109375,1.125000,1.140625,1.156250,1.171875,1.187500,1.203125,1.218750,1.234375,1.250000,1.265625,1.281250,1.296875,1.312500,1.328125,1.343750,1.359375,1.375000,1.390625,1.406250,1.421875,1.437500,1.453125,1.468750,1.484375,1.500000,1.515625,1.531250,1.546875,1.562500,1.578125,1.593750,1.609375,1.625000,1.640625,1.656250,1.671875,1.687500,1.703125,1.718750,1.734375,1.750000,1.765625,1.781250,1.796875,1.812500,1.828125,1.843750,1.859375,1.875000,1.890625,1.906250,1.921875,1.937500,1.953125,1.968750,1.984375,2.000000,2.015625,2.031250,2.046875,2.062500,2.078125,2.093750,2.109375,2.125000,2.140625,2.156250,2.171875,2.187500,2.203125,2.218750,2.234375,2.250000,2.265625,2.281250,2.296875,2.312500,2.328125,2.343750,2.359375,2.375000,2.390625,2.406250,2.421875,2.437500,2.453125,2.468750,2.484375,2.500000,2.515625,2.531250,2.546875,2.562500,2.578125,2.593750,2.609375,2.625000,2.640625,2.656250,2.671875,2.687500,2.703125,2.718750,2.734375,2.750000,2.765625,2.781250,2.796875,2.812500,2.828125,2.843750,2.859375,2.875000,2.890625,2.906250,2.921875,2.937500,2.953125,2.968750,2.984375,3.000000,3.015625,3.031250,3.046875,3.062500,3.078125,3.093750,3.109375,3.125000,3.140625,3.156250,3.171875,3.187500,3.203125,3.218750,3.234375,3.250000,3.265625,3.281250,3.296875,3.312500,3.328125,3.343750,3.359375,3.375000,3.390625,3.406250,3.421875,3.437500,3.453125,3.468750,3.484375,3.500000,3.515625,3.531250,3.546875,3.562500,3.578125,3.593750,3.609375,3.625000,3.640625,3.656250,3.671875,3.687500,3.703125,3.718750,3.734375,3.750000,3.765625,3.781250,3.796875,3.812500,3.828125,3.843750,3.859375,3.875000,3.890625,3.906250,3.921875,3.937500,3.953125,3.968750,3.984375,4.00000)
                        As mentioned above, this number series is based on 1/64th inch increments. The intention is to distill these values to a 000 to 255 range. How is another matter.

                      This method keeps the scaling process within a 0" to 4" range for now but does not accurately reflect the new X value yet. It does change it though. The slider axis is set in the middle of the component and I have not compensated for this yet. However, the process does demonstrate that it can be made to work which is enough for now.

                      The 'Color Cube'component has a Material attribute that I have set:

                      • Material=CONCATENATE(ABS(INT((SliderR!X100))),",",ABS(INT((SliderG!X100))),",",ABS(INT((SliderB!X*100))))
                        This method needs refining too. Among other things, it returns values that end with '.0' and I don't know how to eliminate that yet. It also requires an onClick REDRAW() to change the color. I'm guessing I need to define the color number within the slider component and set the Color Cube material attribute from there.

                      I would really appreciate it if someone would throw me a line. I'm in waaay over my head.

                      HP EliteBook 8440p Intel® Dual Core™ i7 M620@ 2.67 4GB RAM
                      NVIDIA NVS 3100, 512 MB
                      Windows® 8.1 64 bit
                      SketchUp Pro 2015 version 15.3.331 64-bit

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

                        @unknownuser said:

                        The 'Color Cube'component has a Material attribute that I have set:

                        • Material=CONCATENATE(ABS(INT((SliderR!X100))),",",ABS(INT((SliderG!X100))),",",ABS(INT((SliderB!X*100))))
                          This method needs refining too. Among other things, it returns values that end with '.0'

                        Forehead slap! I had reversed ABS() and INT(). It should read:

                        • Material=CONCATENATE(INT(ABS(SliderR!X100)),",",INT(ABS(SliderG!X100)),",",INT(ABS(SliderB!X*100)))

                        HP EliteBook 8440p Intel® Dual Core™ i7 M620@ 2.67 4GB RAM
                        NVIDIA NVS 3100, 512 MB
                        Windows® 8.1 64 bit
                        SketchUp Pro 2015 version 15.3.331 64-bit

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

                          The intention of this exercise was to move one component and have it immediately affect to color of another by reinterpreting its X value. This result is a failure. It requires an intermediate set of actions. The user must select the interact tool and click on the component. Perhaps someone with more knowledge and better skills (which would be just about anyone here) will see something I missed.

                          The three sliders, SliderR, SliderG and SliderB's X attribute is evaluated as:
                          =NEAREST(CURRENT("X"),0,0.015748,0.031496,{...},3.984252,4.000000)

                          ColorCube Material=CONCATENATE(INT(ABS((SliderR!X/IncAmt))),",",INT(ABS((SliderG!X/IncAmt))),",",INT(ABS((SliderB!X/IncAmt))))

                          ColorCube onClick=REDRAW()

                          Slider DC v1.skp

                          HP EliteBook 8440p Intel® Dual Core™ i7 M620@ 2.67 4GB RAM
                          NVIDIA NVS 3100, 512 MB
                          Windows® 8.1 64 bit
                          SketchUp Pro 2015 version 15.3.331 64-bit

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

                          Advertisement