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

    WhyDi

    @WhyDi

    10
    Reputation
    1
    Profile views
    61
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    WhyDi Unfollow Follow
    registered-users

    Latest posts made by WhyDi

    • RE: Animation SUalive extension. May you test beta version?

      Hello jumpjack2.

      …Or maybe it's a matter of clicking save&reload button at the "right" time…
      You probably give the “right” answer. In a perfect world SketchUp model is never modified along animation process. This way, no issue! BUT in the real world we need to add any group we missed which should be animated. Here comes save&reload button. The next release – by the end of this month - will see a blinking orange colour so that you never miss that need. Please, also remember SUalive Free aims tiny projects and be aware modifying SketchUp model along animation may break all previous snapshots – only interpolation drawback. They are nothing more than photo that cannot be modified.

      …Shouldn't be enough to...?
      Once more you’re right! But only from SUalive Free version perspective which is nothing more than a subset of SUalive Full. Light and Full versions are able to deal with multiple SketchUp models inside a single project. Each project can be split in smaller sequence and so forth. All this makes we can’t automate more than what you know.

      …I think some tooltips…
      You know what? You are right! This month release will additionally see full help from our website. Maybe any tutorial and new video. A bit too early to tell you!
      https://sualive.com/en_help.php

      …Bug: face-me…
      Added on ToDo list but priority is now on publishing help and next release.

      …Question: can free version also animate camera orientation?...
      You can learn about version related features from our website, versions tab.
      https://sualive.com/en_versions.php

      …A double click on a .ydprj…
      Thanks Dan for your reply. Perfect as always!

      … generate a Sketchup Scene per each animation…
      Older version had but we got rid of as SketchUp would probably not support dozen or hundreds of scenes. As instance 30fps * 60sec = 1800 scenes. How to deal with 1800 tabs inside SketchUp?

      …associate a renderer plugin…
      If you want any renderer to work, please ask the extension maker for contacting us. We will be all our best to please you.

      By the way I’m hard negotiating frame by frame replay slider available on SUalive Free. I hope my peers are going to agree on next Friday meeting - today is still holiday. Probably not all features available but basically replaying from the window top slider.

      Have a good week-end.
      WhyDi

      posted in Developers' Forum
      WhyDiW
      WhyDi
    • RE: [Plugin] Animation - SUalive Free

      Hello,

      Sorry for the late reply but we didn’t get the mail – or missed - from the thread 😞

      Final version release expected soon. See our website https://www.SUalive.com. We are currently making help – tab on the website right.

      macfreek you’re right about intuitive interface. SUalive V1 was far more but quickly faced hard time such way we were not able to make three out of the four animations you may see on the website. We say ‘the devil is in the detail’ and this is so right about animation! If you want an animation process as easy and intuitive as it could – note I don’t use ‘quick’ – I may help regarding general purpose.

      1. Check your SketchUp model.
      • The more animated groups parallel to XYZ model axis, the quicker and better result.
      • The less group transformation, the less nasty surprise at run time. You may read about on extension warehouse thread. https://extensions.sketchup.com/en/content/sualive-free
      1. Make mental scenario.
      • All website animations made this way but you might use a mind-mapping soft. It works although not saving time for short animations.
      • Keep always in mind ‘One action, one group’ – action is rotation, translation, scale or path move. Here you are still very likely to adjust your model creating or arranging your groups.
      1. Have a look on toolbar 'Save and Reload Model' button - small house with star. Does it blink? if so click. Check another time.
      2. You are ready for animation! Probably any model adjustment to come but as few as you can. Never forget snapshot is a photo at 't' instant of your model. Any following modification might lead to unexpected outcomes. No issue regarding tiny or small animation but none of the website animation was made in one shot. Trial and error also works well here if you don’t lay scenario on a paper.
        We are currently trying to improve help adding explanations on training you are talking about and help will be available at any time from our website. This is our last task before releasing Windows versions. Mac OSX are currently under test but I am not still satisfied – I am in charge of. I really hope both Windows and MacOSX available at the same time.

      Free version aims tiny projects using interpolation and you can have a tour on other actions but they are SUalive Light or Full version features. See Version tab on our website.

      This should lead to animate your model with no trouble and solde issue you were dealing with.

      Best Regards
      WhyDi

      posted in Plugins
      WhyDiW
      WhyDi
    • RE: Animation SUalive extension. May you test beta version?

      Bonsoir Vincent,

      Pas de difficulté! Je t'envoie un e-mail dans les prochains jours. Je manque un peu de temps présentement!

      EN:
      No problem! I send you an e-mail in the coming days. I'm currently short on time!

      WhyDi

      posted in Developers' Forum
      WhyDiW
      WhyDi
    • RE: Animation SUalive extension. May you test beta version?

      Yes John I had
      The previous code was merely another check before going further. The issue is fixed in the following, at least I think until you tell me the results!
      so here is the code aiming nearly full emulation of WebDialog modality.

      script.rb inside

      What it should show on Mac OSX

      require 'sketchup'
      
      ################################################################################
      #    Cross-platform WebDialog True-modality workaround - Windows - Mac OSX     #
      #        - www.SUalive.com shared code - FREE OF USE no liability -            #
      #                Thanks to John - Driven - for his great help                  #
      #      authors would appreciate a link to this topic or www.SUalive.com        #
      # http://sketchucation.com/forums/viewtopic.php?f=180&t=65013&p=602971#p602971 #
      #                              see also below                                  #
      # http://sketchucation.com/forums/viewtopic.php?f=180&t=65013&start=30#p603466 #
      ################################################################################
      # waits for WebDialog close then goes on next code
      # 1 - dialog_box_run() method runs the dialog
      # 2 - tmr_modal waits for user cliks on <Continue> or <Exit>
      # 3 - tmr_modal calls dialog_box_is_closed()
      ################################################################################
      #        Please note Mac-user can interact with the parent window wheras       #
      #        Windows-user can't. So locking parent window is up to you             #
      ################################################################################
      
      module YDco_debug
      	module YDalv
      	
      		class << self
      		
      			@cli_dlg_debug = nil
      			
      			def dialog_box_run()
      				@cli_dlg_debug = YDalv;;Dlg_debug.new()
      			end
      			def dialog_box_is_closed()
      				str_out = "  DlFg_debug returns <Continue> button cliqued? " + 
      					@cli_dlg_debug.is_continue.to_s
      				puts str_out
      				UI.messagebox( str_out )
      			end
      			
      		end
      		
      		class Dlg_debug < UI;;WebDialog
      		
      			attr_reader ;is_continue
      		
      			def initialize()
      				@is_continue = false
      				@is_closed = false
      				super "SUalive debug", false, "SUalvDebug", 512, 256, 100, 50, false
      				set_html(html_data)
      				initialize_callback()
      				set_on_close do
      					@is_closed = true
      				end
      				true_modality_emulation_through_timer()
      				show_modal()
      			end
      			
      			private
      			def html_data()
      				str_html = '<html><head>' +
      					'<meta http-equiv="content-type" content="charset=UTF-8">'+
      					'<meta http-equiv="MSThemeCompatible" content="Yes">'+
      					'<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">'+
      					'<script type="text/JavaScript">'+
      					'function jsDebugSwitch(obj){document.getElementById("btnContinue").disabled=!obj.checked}'+
      					'function jsDebugToRuby(obj){var isOK=(obj.id=="btnContinue");window.location="skp;qwerty@"+isOK}'+
      					'</script>'+
      					'</head><body>' +
      					'<div style="width; 496px; font-family; Arial">' +
      					'<div style="border; solid 1px #CECECE; padding; 0px 10px 0px 10px; ' +
      							'font-family; Arial; font-size; 14px; width; 470px; height; 150px; ' +
      							'text-align; justify; overflow; auto">'+
      					'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam gravida nunc metus, '+
      					'id vulputate metus rutrum at. Curabitur et pretium arcu. Morbi vehicula arcu a nisl ' +
      					'consequat, non vulputate ligula congue. Aenean sit amet orci nec leo cursus tempus. '+
      					'Nulla facilisi. Mauris vestibulum elit magna, ut pellentesque enim tincidunt placerat. '+
      					'Nunc volutpat varius maximus. Praesent bibendum convallis tellus ut fringilla. '+
      					'Vestibulum dignissim lacinia sapien, sed porttitor justo dictum quis. Curabitur laoreet '+
      					'nisl nunc. Ut egestas magna eget laoreet gravida. '+
      					'</div>' +
      					'<div style="width; 482px; margin; 20px 7px 0px 7px; font-size;smaller">' +
      								'<div style="float; right">' +
      									'<button id="btnContinue" style="margin-right; 7px" onclick="jsDebugToRuby(this)" disabled>Continue</button>' +
      									'<button id="btnExit" onclick="jsDebugToRuby(this)">Exit</button>' +
      								'</div>' +
      								'<input type="checkbox" onclick="jsDebugSwitch(this)">Check me please' +
      							'</div>' +
      						'</div>' +
      					'</body></html>'
      				return str_html
      			end
      			def initialize_callback()
      				add_action_callback("qwerty") do |wdialog, str_params|
      					@is_continue = (str_params == "true")
      					wdialog.close()
      				end
      			end
      			
      			def true_modality_emulation_through_timer()
      				tmr_modal = UI.start_timer(0.3333, true) {				
      					if @is_closed
      						UI.stop_timer(tmr_modal)
      						YDalv;;dialog_box_is_closed()
      					end
      				}
      			end
      			
      		end
      		
      		dialog_box_run()
      		
      	end
      end
      

      WhyDi

      posted in Developers' Forum
      WhyDiW
      WhyDi
    • RE: Animation SUalive extension. May you test beta version?

      Hi John
      I'm actually after your first gif but on OSX got the second one until now!
      Thanks for your time. I know how much time it takes for you making the previous post.
      The matter seems all about way of coding and the first step out of two could be achieved - provided the following works fine on your Mac! may you run it?

      script.rb in zip

      what it should show

      require 'sketchup'
      
      module YDco_debug;module YDalv
      	class << self
      		def main_method()
      			YDalv;;Dlg_debug.new()
      		end
      	end
      	class Dlg_debug < UI;;WebDialog
      	
      		def initialize()
      			super "SUalive debug", false, "SUalvDebug", 512, 256, 100, 50, false
      			set_html(html_data)
      			initialize_callback()
      			set_on_close do
      				str_out = "  Dlg_debug returns " + @is_ok.to_s
      				puts str_out
      				UI.messagebox(str_out)
      			end
      			show_modal()
      		end
      		
      		private
      		def html_data()
      			str_html = '<html><head>' +
      				'<meta http-equiv="content-type" content="charset=UTF-8">'+
      				'<meta http-equiv="MSThemeCompatible" content="Yes">'+
      				'<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">'+
      				'<script type="text/JavaScript">'+
      				'function jsDebugSwitch(obj){document.getElementById("btnContinue").disabled=!obj.checked}'+
      				'function jsDebugToRuby(obj){var isOK=(obj.id=="btnContinue");window.location="skp;qwerty@"+isOK}'+
      				'</script>'+
      				'</head><body>' +
      				'<div style="width; 496px; font-family; Arial">' +
      				'<div style="border; solid 1px #CECECE; padding; 0px 10px 0px 10px; ' +
      						'font-family; Arial; font-size; 14px; width; 470px; height; 150px; ' +
      						'text-align; justify; overflow; auto">'+
      				'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam gravida nunc metus, '+
      				'id vulputate metus rutrum at. Curabitur et pretium arcu. Morbi vehicula arcu a nisl ' +
      				'consequat, non vulputate ligula congue. Aenean sit amet orci nec leo cursus tempus. '+
      				'Nulla facilisi. Mauris vestibulum elit magna, ut pellentesque enim tincidunt placerat. '+
      				'Nunc volutpat varius maximus. Praesent bibendum convallis tellus ut fringilla. '+
      				'Vestibulum dignissim lacinia sapien, sed porttitor justo dictum quis. Curabitur laoreet '+
      				'nisl nunc. Ut egestas magna eget laoreet gravida. '+
      				'</div>' +
      				'<div style="width; 482px; margin; 20px 7px 0px 7px; font-size;smaller">' +
      							'<div style="float; right">' +
      								'<button id="btnContinue" style="margin-right; 7px" onclick="jsDebugToRuby(this)" disabled>Continue</button>' +
      								'<button id="btnExit" onclick="jsDebugToRuby(this)">Exit</button>' +
      							'</div>' +
      							'<input type="checkbox" onclick="jsDebugSwitch(this)">Check me please' +
      						'</div>' +
      					'</div>' +
      				'</body></html>'
      			return str_html
      		end
      		def initialize_callback()
      			add_action_callback("qwerty") do |wdialog, str_params|
      				@is_ok = (str_params == "true")
      				wdialog.close()
      			end
      		end
      		
      	end
      	
      	puts "Start debug ------------------------------------------------" + RUBY_VERSION.to_s
      	main_method()
      	puts "--------------------------------------------------------debug End"
      end;end
      

      Have a good day

      posted in Developers' Forum
      WhyDiW
      WhyDi
    • RE: Animation SUalive extension. May you test beta version?

      Hi John
      Looks like you know the solution. Good news!
      I made some minor changes in your reformatted script. May you run it?
      In main_method I commented 'if lics.load_dialog...end' block which is replaced with one message and one puts
      in HTML I commented //alert(isOK)

             def main_method
               puts 'main_method() entry point'
               bool_first = true
               if bool_first
                 puts '..first true'
                 bool_second = false
                 if bool_second
                   puts '....second true'
                 else
                  # added to show ruby gets here
                   puts '....second false'
                   lics = YDalv;;Dlg_debug.new
      						 str_msg = "....Dlg_debug returns " + lics.load_dialog().to_s
      						 UI.messagebox(str_msg)
      						 puts str_msg
                   # if lics.load_dialog
                     # puts '....Dlg_debug returns true'
                   # else
                     # puts '....Dlg_debug returns false'
                   # end
                 end
               end
             end
      
      

      may you post both message-box snapshot on your Mac?

      what is meant to show

      script.rb in zip

      Regards

      posted in Developers' Forum
      WhyDiW
      WhyDi
    • RE: Animation SUalive extension. May you test beta version?

      Hi John (perhaps you prefer Driven?). Nice to meet you here!

      Good idea reformatting the code to get a better understanding. I like your way! Your code looks better than mine.
      Before explanations may I ask you for running the script on the previous page. I would have liked you to run one time clicking 'continue' button the another clicking 'exit' button then show me the results in your console.
      This only to make sure that first script works on more than one single Mac computer.

      Good evening

      posted in Developers' Forum
      WhyDiW
      WhyDi
    • RE: Animation SUalive extension. May you test beta version?

      Hello,
      I'm meeting hard-time with Mac OSX!

      As you may read Postby WhyDi » Fri Aug 19, 2016 1:24 pm on previous page Vincent ran the script shown and got the right results which means dialogue-box returns True if Osx-user clicks 'continue' and False when 'exit' button clicked. His reply right underneath has lost the picture but he said 'So far so good'.

      Based on this result I updated SUalive then sent a copy to Vincent. Didn't work!

      I spent nearly a full day trying to catch why and ended up with the script below so that getting a better check. Please note this is the same script than previous page out of Dlg_debug.new() lays inside a Method embedded in two IF blocks.

      require 'sketchup'
      
      module YDco_debug;module YDalv
      	class << self
      		def main_method()
      			puts "main_method() entry point"
      			bool_first = true
      			if bool_first
      				puts "..first true"
      				bool_second = false
      				if bool_second
      					puts "....second true"
      				else
      					lics = YDalv;;Dlg_debug.new()
      					if lics.load_dialog()
      						puts "....Dlg_debug returns true"
      					else
      						puts "....Dlg_debug returns false"
      					end
      				end
      			end
      		end
      	end
      	class Dlg_debug < UI;;WebDialog
      		def initialize()
      			puts "......class initializeentry"
      			super "SUalive debug", false, "SUalvDebug", 512, 256, 100, 50, false
      			str_html = '<html><head>' +
      				'<meta http-equiv="content-type" content="charset=UTF-8">'+
      				'<meta http-equiv="MSThemeCompatible" content="Yes">'+
      				'<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">'+
      				'<script type="text/JavaScript">'+
      				'function jsDebugSwitch(obj){document.getElementById("btnContinue").disabled=!obj.checked}'+
      				'function jsDebugTellMe(obj){var isOK=(obj.id=="btnContinue");alert(isOK);window.location="skp;qwerty@"+isOK}'+
      				'</script>'+
      				'</head><body>' +
      				'<div style="width; 496px; font-family; Arial">' +
      				'<div style="border; solid 1px #CECECE; padding; 0px 10px 0px 10px; ' +
      						'font-family; Arial; font-size; 14px; width; 470px; height; 150px; ' +
      						'text-align; justify; overflow; auto">'+
      				'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam gravida nunc metus, '+
      				'id vulputate metus rutrum at. Curabitur et pretium arcu. Morbi vehicula arcu a nisl ' +
      				'consequat, non vulputate ligula congue. Aenean sit amet orci nec leo cursus tempus. '+
      				'Nulla facilisi. Mauris vestibulum elit magna, ut pellentesque enim tincidunt placerat. '+
      				'Nunc volutpat varius maximus. Praesent bibendum convallis tellus ut fringilla. '+
      				'Vestibulum dignissim lacinia sapien, sed porttitor justo dictum quis. Curabitur laoreet '+
      				'nisl nunc. Ut egestas magna eget laoreet gravida. '+
      				'</div>' +
      				'<div style="width; 482px; margin; 20px 7px 0px 7px; font-size;smaller">' +
      							'<div style="float; right">' +
      								'<button id="btnContinue" style="margin-right; 7px" onclick="jsDebugTellMe(this)" disabled>Continue</button>' +
      								'<button id="btnExit" onclick="jsDebugTellMe(this)">Exit</button>' +
      							'</div>' +
      							'<input type="checkbox" onclick="jsDebugSwitch(this)">Check me please' +
      						'</div>' +
      					'</div>' +
      				'</body></html>'
      			puts "......" + str_html.length.to_s
      			set_html(str_html)
      			puts "......add_callback"
      			add_action_callback("qwerty") do |wdialog, str_params|
      				puts "........callback " + str_params
      				@is_ok = (str_params == "true")
      				puts "........isOk " + @is_ok.to_s
      				wdialog.close()
      				puts "........close"
      			end
      			
      		end
      		def load_dialog()
      			puts "......load_dialog entry"
      			show_modal
      			puts "......show_modal back"
      			puts "......isOk " + @is_ok.to_s
      			return @is_ok
      		end#def
      		
      	end
      	
      	puts "Start debug ------------------------------------------------" + RUBY_VERSION.to_s
      	puts "call main_method()"
      	main_method()
      	puts "--------------------------------------------------------debug End"
      end;end
      

      The script no longer works! always yields False due to WebDialog returns before lics.load_dialog() executed - pictures of return available if you wish. Consistent! may you reply related to show_modal cross-platform difference. Yes it is!

      Two points
      I'm fully aware of ThomThom wrote in Sketchup WebDialogs - The Lost Manual about show_modal . So
      1 - Just for my education on this.
      Please tell me why the first script is right and not the second?
      2 - Need for SUalive at work on OSX
      Is there any way to make WebDialog fully modal on Mac OSX? any workaround? way of coding to achieve?

      Have a good week
      WhyDi

      posted in Developers' Forum
      WhyDiW
      WhyDi
    • RE: Animation SUalive extension. May you test beta version?

      Bonjour Vincent,
      Ce téléchargement n'était qu'un premier essais. Je vais t'envoyer un lien spécifique pour le suivant qui tente de répondre à la question : Où le script stoppe-t-il? Il n'est pas sensé fonctionner mais uniquement écrire des blocs d'identificateurs indentés dans la console Ruby, comme ci-dessous.
      Ne perd pas ton temps à tester les deux, Sketchup15 et 16 pour l'instant. Sketchup16 est très suffisant.

      EN
      The file you downloaded was merely a first trial. I am going to send you a specific link for the next one which aims to answer : Where does the script stop? It is not meant to show but only write indented blocks of identifiers in Ruby console like the following.
      Don't spent your time with both Sketchup15 and 16 at the moment. SketchUp16 is far enough!

      with Run vX.XX.xxxx
        id
        ...
      end with Run
      with Load
        id
        ...
        with Show
          id
          ...
        end with Show
        id
        ...
      end with Load
          id
          ...
      
      

      have a good day

      posted in Developers' Forum
      WhyDiW
      WhyDi
    • RE: Animation SUalive extension. May you test beta version?

      Bonjour Vincent,
      La version corrigée est disponible en téléchargement sur le site web. Si le bug a disparu j'aurais aimé que tu me montres une copie d'écran de l'onglet 'Project' (png format si possible) puis que tu cliques sur l'icône menu en haut à gauche et charge la boîte de dialogue 'Preferences' (copies d'écran de chaque onglet si tu le peux). Enfin lance la fenêtre d'aide à partir du même menu (ici aussi une copie d'écran serait bien venue).
      Ces trois fenêtres recèlent un foule de détails concernant le code multi-plateformes.

      EN
      Patched version available on the website. If bug fixed I would have liked you to show me a screen copy of the 'Project' tab - png picture if you can - then click the top-left icon menu and load 'Preferences' - screen copy of each tab appreciated - and finally launch 'Help' from the same menu - here also screen copy would be great!
      These three windows hold much as regard cross-platform code.

      have a good day

      posted in Developers' Forum
      WhyDiW
      WhyDi