sketchucation logo sketchucation
    • Login
    1. Home
    2. todd burch
    3. Posts
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info
    T
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 55
    • Posts 903
    • Groups 1

    Posts

    Recent Best Controversial
    • RE: Progressbar 2.0

      Hi Frank.

      First, thank you so much for working with me and having a great test case from which I was able to "fix" closeopens to work more efficiently.

      As I rewrote closeopens, the first step, as you know, was to modify progressbar to allow the user to choose to cancel the process. After I did that, I went to rewrite the algorithm used by closeopens to make it MUCH more efficient. IIRC, the processing time for your model went from INFINITY (as in, it never did finish) to 52 seconds.

      I was excited about modifying progressbar to make it V2, and have it apply globally to all the scripts that used it, but I was not able to crack that nut without also having a requirement to also modify each and every script that called it to allow the canceling of the process. This is where Progressbar 2.0 died.

      However, closeopens does have Progressbar 2.0 functionality built-in, and, I have stalled bring closeopens to market, for some time now. And, while some attempts have been made by me to get it ready for packaging, I have broken the new copy. This is where I stand. I need to fix it, again, and then publish it. I will do this - but cannot promise when right now. My day job is demanding, and so are extra-curricular activities.

      Todd

      posted in SketchUp Discussions
      T
      todd burch
    • RE: Do a Doodle for Todd's Abode

      Yes, that is what I was thinking.

      posted in Corner Bar
      T
      todd burch
    • RE: Do a Doodle for Todd's Abode

      Thanks Charlie!

      posted in Corner Bar
      T
      todd burch
    • RE: Do a Doodle for Todd's Abode

      So... I'm back. Lots of things have changed. If you look at the lot layout above, I was working with #13. Well, I'm selling that, and I bought lot #11. A bit further down the hill, and a lot more rectangular.

      I've contracted with a builder to build a house and garage. I need a workshop too, and we just entered discussions for that. I'm now turning this discussion towards the shop. πŸ˜‰

      This is what I've given to my builder, to let him give me an estimate. (I fudged some actual dimensions in the screenshot of the building, for simplicity's sake, for quicker discussions with my builder.)

      Since I'm not a home or building designer... my question to the community here is is... to get this look and function of a shop, what can be done to maximize my cost savings during construction? (I obviously didn't complete it - but I think it's done enough to convey what I am trying to build.) Or, perhaps I can tweak this design in some area for a big cost savings without a big loss of function or capacity?

      I'm referring to saving money, and right now, don't have a cost estimate for what it might cost to build this.

      Some specs:

      • Standing seam metal roof - 24 gauge, no screws. (to match house and garage)
      • Fiber cement lap siding (to match)
      • Vinyl windows (to match)
      • Slab on grade foundation
      • Drain stub outs for toilet and sink
      • Supply line stub-outs (I'll add toilet and sink later)
      • manual rollup doors on each end, 10'x10' (not "garage" doors)
      • 1 door, 2880.
      • Porch overhang with no porch (I'll add it later)
      • 12/12 pitch on center roof (to match garage and house)
      • 4/12 pitch on shed roofs
      • 2X6 framing, 24" on center
      • Interior posts - I would prefer just 2, but could live with 4. 6 is too many.
      • 4' wide stairs to loft

      Any input is appreciated. I've attached the .skp file of you want to play around with it.

      Thanks, Todd

      SketchUpScreenSnapz025.png

      Todd's Woodworking Workshop

      posted in Corner Bar
      T
      todd burch
    • RE: Marathons etc

      Hi Lee. Congratulations on the London Marathon! Wow!

      I just got home from driving back from San Antonio, Tx. I finished! I'm wearing my "finishers" shirt right now. Got a medal, and all. There were ~30,000 participants - it was very crowded. It was very hot too. We trained in the mornings, starting ~5 AM, with the temp ranging in the 50's and 60's (~10C -> ~18C). Today, we started about 7:50 (by the time we crossed the starting line). My wife and I ran together. I didn't check the temp during the race, but an hour after we finished, it was 82F / 27.7C.

      I got dizzy a couple times. We ended up walking much more than we trained for. We weren't used to the hills either. Here at home, this area used to be laser-planed rice fields.

      All in all - it was a great experience that I don't care to repeat. πŸ˜‰ My feet REALLY hurt!

      posted in Corner Bar
      T
      todd burch
    • RE: Can you get a list of OSX fonts somehow?

      I have a java program that runs on both Win and OSX if you want a copy.

      posted in Developers' Forum
      T
      todd burch
    • RE: Purpose of Single Line Consoles for Ruby?

      So, you're using it wrong!! LOL. Actually, you can use it however you want. Just because you are using it different
      from me, doesn't make you wrong.

      Here's how I use it. I use it for one-line expressions, where I can watch the effects of my one-line expressions. For example, taking your example, I would distill your loop down to the fewest lines of code, and I would start entering them like...

      sel = Sketchup.active_model.selection[0] ;
      if (sel.is_a? Sketchup::Face) then ..... end ;

      To test the next item in the selection, I would recall the first command and change it to the next element
      sel = Sketchup.active_model.selection[1] ;

      Then, I would recall the second command and press enter with no changes. Simple, simple. Minimal typing.

      If I'm testing as many lines as you are, I'll create an isolated, specific "throw away" script to test that piece of logic, load it up via the console, (over and over as needed), and when I get it working, I'll paste it into my "proper" script.

      Todd

      posted in Developers' Forum
      T
      todd burch
    • RE: Marathons etc

      I will run my first 1/2 Marathon on 11/11/2012 in San Antonio. Looking forward to it too!

      posted in Corner Bar
      T
      todd burch
    • RE: Progressbar 2.0

      Progressbar 2.0, as I had wanted to release it, will never see the light of day beyond my computer. Scripts would have to be written to take advantage of it.

      I might (might...) release a Progressbar 1.5 though, but it too will require scripts to change (very minimally) to take advantage of a cancel feature.

      Todd

      (And yes, I've been busy with other projects - namely my day job).

      Oh, and expect CloseOpens V2 soon. All that's left is a bit of packaging and final testing.

      posted in SketchUp Discussions
      T
      todd burch
    • RE: SketchUp-Ruby Resources

      Chunky Bacon. I didn't see a link for Why's Poignant Guide to Ruby. A true classic.

      http://mislav.uniqpath.com/poignant-guide/book/chapter-1.html

      posted in Developers' Forum
      T
      todd burch
    • RE: [Code] AnimateSelection Example v1.0.1

      I understood it was an example, but the logic of the code told me it accepted primitives, and primitives didn't work like they should have, nor did the duration work as expected.

      As an example, for its intent, it's fine and I would not bother (other than adding comments for the learner) with any additional enhancements.

      Todd

      posted in Developers' Forum
      T
      todd burch
    • RE: [Code] AnimateSelection Example v1.0.1

      Ha! No such thing as not working correct when there are no statements or comments about what it should be doing! BTW, there is no mechanism to pause this, so how was that supposed to work? V2?

      As I said, the model is moved one entity at a time. First, an edge, then a face, then a group, etc...

      Here are two pictures that show 2 bugs in the original code. There is a face and then 2 connected lines outside the face (7 entities total). You can see the starting position (Before) and the ending position (After) when the animation is complete.

      Before After

      bug1: The angle of the two connected lines is now turned inside out.

      bug2: Because of the user-chosen duration and frame delay, the square, at the end of the animation, is now a skewed polygon, since the animation ended before the square could be transformed into square again (since it is being moved a piece at a time).

      EDIT: FYI: for my example, the square is 30" each side, the delay is 1 second and the duration is 15 seconds.

      posted in Developers' Forum
      T
      todd burch
    • RE: [Code] AnimateSelection Example v1.0.1

      I made a group because as the model was being twisted and torqued out of shape due to moving one entity at a time, SU was also leaving some bits un-transformed (obviously a bug) and that caused the model to be incorrect at the end of the animation.

      Your solutions works fine too, removing

      
      group = model.active_entities.add_group(@objs) ;	
      group.transform!( @t )
      group.explode
      

      and replacing it with

      
      @objs[0].parent.entities.transform_entities(@t,@objs)
      
      posted in Developers' Forum
      T
      todd burch
    • RE: [Code] AnimateSelection Example v1.0.1
      #  AnimateSelection Example
      #
      #  Contributors;
      #  Martin Rinehart, Chris Fullmer, Dan Rathbun
      #
      #  Version ; 1.0.0
      #
      #  Bug Fixes / Enhancements;
      #  Version 1.0.1  October 23, 2012  Todd Burch 
      #                 1. @elapsed not being calculated properly 
      #                 2. Group entire selection to perform just 1 transformation per 
      #                     frame, and surround all that within a commit scope.  
      #
      
      require('sketchup.rb')
      
      module Author  # <-- replace with the name of YOUR toplevel namespace module
      
        module AnimateSelection
        
          VERSION ||= '1.0.1'
        
          @@menu_loaded ||= false
          
          @@delay ||= 0.5
          @@duration ||= 15
          
          @@vlength ||= 1.to_l
      
          class Animate
          
      	def initialize( objs, trans, delay = 0.5, duration = 15 )
              @delay = delay.to_f 
              @t = trans
              @objs = objs
              @start = Time.now.to_i 
              @duration = duration
              @elapsed = 0
            end
      
      	def nextFrame( view )
      		model = view.model									# new code V1.0.1 
      		model.start_operation("Animation Move")				# new code V1.0.1
      		group = model.active_entities.add_group(@objs) ;	# new code V1.0.1     
      		group.transform!( @t )								# new code V1.0.1
      		group.explode										# new code V1.0.1
      		model.commit_operation								# new code V1.0.1 
      		@elapsed = Time.now.to_i - @start					# new code V1.0.1
      		if @elapsed < @duration
      			view.show_frame( @delay )
      		else
      			return false # stops the animation
      		end
      	end
            
            def pause()
              @start = 0
            end
      
            def resume()
              @start = Time.now.to_i
            end
      
            def stop()
              puts("Animation Complete (#{@elapsed} secs)")
            end
      
          end # class Animate
      
          class << self # Proxy class of AnimateSelection module
          
            def animate(objs,vec,view=Sketchup.active_model.active_view)
              #
              t = Geom;;Transformation.new(vec)
              #
              view.animation = Animate.new(objs,t,@@delay,@@duration)
              #
            end
            
            def delay_input(title='Enter Delay')
              #
              prompt = 'Frame Delay (secs); '
              default = @@delay
              num = UI.inputbox( [prompt], [default], title ) 
              #
              if num
                @@delay = set_delay(num[0])
              end
              #
            end
          
            def set_delay(num=0.5)
              @@delay = num.to_f rescue 0.5
            end
          
            def duration_input(title='Enter Duration')
              #
              prompt = 'Animate Duration (secs); '
              default = @@duration
              num = UI.inputbox( [prompt], [default], title ) 
              #
              if num
                @@duration = set_duration(num[0])
              end
              #
            end
          
            def set_duration(num=15)
              @@duration = num.to_i rescue 15
            end
          
            def vector_input(title='Enter Vector Length')
              #
              prompt = 'Vector length; '
              default = @@vlength # Length class instance
              vec = UI.inputbox( [prompt], [default], title ) 
              #
              if vec
                @@vlength = vec[0] if @@vlength != vec[0] 
                return vec[0]
              else
                return false
              end
              #
            end
          
          end # proxy class
          
          unless @@menu_loaded
      
            # Build Popup Context Menu;
            UI.add_context_menu_handler {|popup|
              sel = Sketchup.active_model.selection
              unless sel.empty? # show the submenu;
                objs = sel.to_a
                view = sel.model.active_view
                animenu = popup.add_submenu('Animate Selection')
                #
                animenu.add_item('Vector Animate X') {
                  vecX = vector_input('Vector X Length')
                  vec  = Geom;;Vector3d.new(vecX,0,0)
                  animate(objs,vec,view)
                }
                animenu.add_item('Vector Animate Y') {
                  vecY = vector_input('Vector Y Length')
                  vec  = Geom;;Vector3d.new(0,vecY,0)
                  animate(objs,vec,view)
                }
                animenu.add_item('Vector Animate Z') {
                  vecZ = vector_input('Vector Z Length')
                  vec  = Geom;;Vector3d.new(0,0,vecZ)
                  animate(objs,vec,view)
                }
                animenu.add_separator
                animenu.add_item('Set Duration ...') {
                  duration_input()
                }
                animenu.add_item('Set Frame Delay ...') {
                  delay_input()
                }
                #
              end
            }
      
            # Mark file as loaded once;
            @@menu_loaded = true
            file_loaded("AnimateSelection;#{File.basename(__FILE__)}")
      
          end
      
        end # module AnimateSelection
      
      end # Author's toplevel namespace module
      
      
      posted in Developers' Forum
      T
      todd burch
    • RE: Do a Doodle for Todd's Abode

      Forward progress on the lot this week. Last Monday, the developer filled the north end of my gully, installed two 12" drain pipes, and built me a drive. See blog here for pictures: http://web.me.com/toddburch/NewSite/Lot_13_Blog/Entries/2011/6/4_Changes_to_Gully__Got_culvert_pipes!.html

      They've laid the conduit for utilities and filled the trenches. Next step - power company will pull the electric into the drop boxes. Then, they should be able to finish the road.

      Next check I write will be for a soil test. $1,032. He said one hole should be good enough for a 2400 sf house. Same engineer that tested the soil for the road.

      posted in Corner Bar
      T
      todd burch
    • RE: Spray foam insulation installation

      The roof in this case is an aluminum (think tin, standing seam) roof.

      posted in Corner Bar
      T
      todd burch
    • SCF'ers in Mainz?

      I'll be there next week (May 23-29). Available some evenings for chat and drink.

      Todd

      posted in Deutsch
      T
      todd burch
    • Geothermal hvac

      I'm considering going with a geothermal heating and cooling system (heat pump) with my new house.

      Anyone using one?

      I'm in Texas (hot and humid, and not too cold in the winters for extended periods (in the last 30 years, I've seen it be below freezing for 10 days contiguous max).

      posted in Corner Bar
      T
      todd burch
    • RE: Spray foam insulation installation

      House is in south east Texas, Washington County, about 2.5 hours from the coast, in the start (south east corner) of the Texas Hill county. High humidity is expected.
      I haven't seen what is going to the attic yet for special air handling or venting.

      posted in Corner Bar
      T
      todd burch
    • RE: Any plumbers in the house?

      @TIG - yes, I would expect the two outputs to be directed to two different heads. Perhaps they just plumbed it wrong. If they do split at another valve later up the line, then it seems like they used the wrong valve altogether at this looped valve.

      I'll be back up there this Friday, and I'll look again closer to see where the HCW output line goes, and also follow the ceiling and wall head lines backwards.

      As fancy as they get with blue for cold lines and red for hot lines, I'm surprised they don't have a color for mixed hot and cold.

      What is this type of system called? Are these PEX lines? It's some type of whole-house distribution system. Is this the norm these days, or just high-end?

      posted in Corner Bar
      T
      todd burch
    • 1 / 1