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

    Sketchup Web Exporter

    Scheduled Pinned Locked Moved Developers' Forum
    26 Posts 10 Posters 3.7k Views 10 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.
    • TIGT Offline
      TIG Moderator
      last edited by

      The swivelButton.rb code is set to zoom extents and then x1.1 so there's some white space around the object etc

      <span class="syntaxdefault">def SwivelButton</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">zoomInitial</span><span class="syntaxkeyword">()<br /></span><span class="syntaxdefault">  Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">zoom_extents<br />  eyeNow    </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">camera</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">eye<br />  targetNow </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">camera</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">target<br />  upvec     </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">camera</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">up<br />  </span><span class="syntaxcomment"># draw the circle at our elevation (z coord)<br /></span><span class="syntaxdefault">  bb </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">bounds</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  bbcenter </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> bb</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">center</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  <br />  centerpoint </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> targetNow</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  viewvec </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> eyeNow </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> targetNow<br />  unitviewvec </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> viewvec</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">normalize</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment"># add a boundary by backing up a bit more,<br /></span><span class="syntaxdefault">  standoff_distance </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> getStandoffDistance</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> 1.1</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">  <br />  <br />  </span><span class="syntaxcomment"># the eye will lie along the current view line so it is <br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment"># standoff_distance away from the target<br /></span><span class="syntaxdefault">  standoff_vec </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> unitviewvec</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  standoff_vec</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">length </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> standoff_distance</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  standoff_eyepoint </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> bbcenter </span><span class="syntaxkeyword">+</span><span class="syntaxdefault"> standoff_vec</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  c </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Camera</span><span class="syntaxkeyword">.new<br /></span><span class="syntaxdefault">  <br />  c</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">set</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">standoff_eyepoint</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">bbcenter</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">upvec</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment"># now stick this camera on our view<br /></span><span class="syntaxdefault">  Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">camera </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> c<br />end</span>
      

      You can modify this method thus

      <span class="syntaxdefault">def SwivelButton</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">zoomInitial</span><span class="syntaxkeyword">()<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###Sketchup.active_model.active_view.zoom_extents<br /></span><span class="syntaxdefault">  eyeNow    </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">camera</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">eye<br />  targetNow </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> ORIGIN </span><span class="syntaxcomment">###Sketchup.active_model.active_view.camera.target<br /></span><span class="syntaxdefault">  upvec     </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">camera</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">up<br />  </span><span class="syntaxcomment"># draw the circle at our elevation (z coord)<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###bb = Sketchup.active_model.bounds;<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###bbcenter = bb.center;<br /></span><span class="syntaxdefault">  <br />  </span><span class="syntaxcomment">###centerpoint = targetNow;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###viewvec = eyeNow - targetNow<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###unitviewvec = viewvec.normalize;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment"># add a boundary by backing up a bit more,<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###standoff_distance = getStandoffDistance() * 1.1;  <br /></span><span class="syntaxdefault">  <br />  </span><span class="syntaxcomment"># the eye will lie along the current view line so it is <br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment"># standoff_distance away from the target<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###standoff_vec = unitviewvec;<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###standoff_vec.length = standoff_distance;<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">###standoff_eyepoint = eyeNow ###bbcenter + standoff_vec;<br /><br /></span><span class="syntaxdefault">  c </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> Sketchup</span><span class="syntaxkeyword">;;</span><span class="syntaxdefault">Camera</span><span class="syntaxkeyword">.new<br /></span><span class="syntaxdefault">  <br />  c</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">set</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">eyeNow</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">targetNow</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">upvec</span><span class="syntaxkeyword">)</span><span class="syntaxcomment">###c.set(standoff_eyepoint,bbcenter,upvec)<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment"># now stick this camera on our view<br /></span><span class="syntaxdefault">  Sketchup</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_model</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">active_view</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">camera </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> c<br />end</span>
      

      This sets the target as the ORIGIN, keeps the current 'eye' and adds NO white space.
      Untried... but you can see where it's going...

      TIG

      1 Reply Last reply Reply Quote 0
      • tridemT Offline
        tridem
        last edited by

        😞 no, it seems this affects only the preview...then, when hit "create" it still zooms out to fit the scene. I believe you should modify the way it creates a circle which is the base of cameras path. As I understood, it takes the dimensions of the model's bounding box to compute how far the camera is from the model and the radius of that construction circle...maybe could be enough using the bounding box of a selection instead of the entire model and all other methods follow... maybe! I'm not able to read and understand a script 😳

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

          OK...
          That's because I only showed how to correct the start frame...
          To change the rest of the frames there's more stuff to change...
          This is a dirty hack leaving lots of things making arrays etc that are then not used!
          Change line #634 to read something like
          pt=Sketchup.active_model.active_view.camera.eye;up=Sketchup.active_model.active_view.camera.up;tr=Geom::Transformation.rotation(ORIGIN,up,360.degrees/numseg);pnts=[pt];numseg-1.times{pnts<<pt.transform!(tr);};return pnts
          [NB: This is untested]...
          The whole thing could be rewritten a lot simpler to allow the user to determine the extents of the view etc... My nudgeOrbit.rb could be the basis of this as that simply rotates the camera around the target by given angular increments... You then combine that camera with exporting the image...

          TIG

          1 Reply Last reply Reply Quote 0
          • D Offline
            driven
            last edited by

            Anyone still interested in this?

            low res gif ...NEED to Open in new tab, not continuous on Safari...
            I've been hacking the code for use on mac and worked out the bits needed to change the default zooming

            the gif is b+w and jumpy [down-sized for upload to the forum], but shows the base disc is filling the frame.

            The web animation is smooth and full color, but we can't post those here...
            I'll put some test up elsewhere if anyone wants.

            I need to figure out a couple more things but those bits should work on PC's, if anyones interested.

            john

            learn from the mistakes of others, you may not live long enough to make them all yourself...

            1 Reply Last reply Reply Quote 0
            • Rich O BrienR Online
              Rich O Brien Moderator
              last edited by

              That .gif animates once then stops. Can you upload one that runs 'forever'?

              It is of interest though 👍

              Download the free D'oh Book for SketchUp 📖

              1 Reply Last reply Reply Quote 0
              • D Offline
                driven
                last edited by

                rich,

                how big a file can I upload? and have you ever made gifs with 'image magicks' it seems to redistridute 0-9 amongst the others...

                learn from the mistakes of others, you may not live long enough to make them all yourself...

                1 Reply Last reply Reply Quote 0
                • Rich O BrienR Online
                  Rich O Brien Moderator
                  last edited by

                  4mb.... i think?

                  I use PS for animated gif so i know it gives good control over file sizes. The thing with your gif is that members may miss the animation element if they read later/earlier posts. Still pretty neat output though.

                  Download the free D'oh Book for SketchUp 📖

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    driven
                    last edited by

                    you can get them straight out of SU, but the settings are a bit of a learning curve.... will repost when I work it out.

                    learn from the mistakes of others, you may not live long enough to make them all yourself...

                    1 Reply Last reply Reply Quote 0
                    • Rich O BrienR Online
                      Rich O Brien Moderator
                      last edited by

                      No image?

                      Download the free D'oh Book for SketchUp 📖

                      1 Reply Last reply Reply Quote 0
                      • D Offline
                        driven
                        last edited by

                        test....no.11
                        convert -set -delay 400 -colorspace rgb -ordered-dither o8x8,8,8,4 -dispose 1 -depth 8 -loop 0 -scale 100% *.jpg macHack14.gif

                        very grainy as big gif, but getting better

                        manually reordered the sequence, runs fine from file,

                        point is do you want to 'fix' the PC version... to not zoom out.

                        learn from the mistakes of others, you may not live long enough to make them all yourself...

                        1 Reply Last reply Reply Quote 0
                        • D Offline
                          driven
                          last edited by

                          i was trying to upload, others and forgot i was in edit mode, not new...

                          the limit is 2MB, can I get a raise, it's so hard to meet this one 1.6MB but half size.
                          IM Settings convert -set -delay 400 -colorspace rgb -ordered-dither o8x8,8,8,4 -dispose 1 -depth 8 -loop 0 -scale 50% *.jpg macHack16.gif
                          best compromise...
                          john

                          learn from the mistakes of others, you may not live long enough to make them all yourself...

                          1 Reply Last reply Reply Quote 0
                          • D Offline
                            driven
                            last edited by

                            in viewerthe buttonin Sketchup [window zZoomed to AR]
                            This is my actual selection and the resultant output file ready for playback in SU.

                            learn from the mistakes of others, you may not live long enough to make them all yourself...

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

                            Advertisement