Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

310
Views
No se puede abrir un archivo .html en SketchUp Ruby

Estoy tratando de crear una herramienta que abra un archivo .html, sin embargo, necesito ayuda con el código que abrirá dicho archivo .html. Tengo este código a continuación...

 help_file = Sketchup.find_support_files("html", "Plugins") if help_file # Print out the help_file full path UI.messagebox(help_file) # Open the help_file in a web browser UI.openURL("file://" + help_file) else UI.messagebox("Failure") end

El resultado de este fragmento de código se muestra en la siguiente captura de pantalla.

https://i.stack.imgur.com/ixLIT.png

Eso es lo que esperaba. Tampoco se abrió .html en Chrome porque hay dos archivos .html. Así que ahora doy un paso más y trato de especificar qué archivo .html me gustaría abrir. Me gustaría abrir 'basic.html' (hasta ahora es un archivo .html en blanco) y cambio mi código en consecuencia (la primera línea es específica).

 help_file = Sketchup.find_support_files("basic.html", "Plugins") if help_file # Print out the help_file full path UI.messagebox(help_file) # Open the help_file in a web browser UI.openURL("file://" + help_file) else UI.messagebox("Failure") end

Desafortunadamente, no obtuve el resultado que esperaba. Esto es con lo que terminé.

https://i.stack.imgur.com/4xyQT.png

basic.html tampoco se abrió en Chrome, lo cual fue un fastidio.

A continuación se muestra cómo se ven mis archivos en la carpeta Complementos, en caso de que quieras verlo.

https://i.stack.imgur.com/OW7xM.png

¿Cuál es el problema al que me enfrento?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Cómo probar el código a continuación:

  1. Cree un archivo .rb (nómbrelo 'open-html.rb' por ejemplo) y copie y pegue el código a continuación. Luego coloque el archivo en la carpeta Complementos de SketchUp.
  2. Active la herramienta dentro de Sketchup yendo a Plugins or Extension Menu -> Open basic.html inside the plugins folder
  3. ¡Hecho! Si tiene un archivo HTML llamado 'basic.html' dentro de la carpeta de complementos, este script lo abrirá.

Posible solución #1

 module DevName module PluginName class Main def activate @dlg = UI::HtmlDialog.new(html_properties_activate) plugins_folder = "file:///#{Sketchup.find_support_file('Plugins').gsub(/ /, '%20')}" #/ html_file = File.join(plugins_folder, 'basic.html') @dlg.set_url(html_file) @dlg.show @dlg.center end def html_properties_activate { dialog_title: 'Dialog Example', preferences_key: 'com.sample.plugin', scrollable: true, resizable: true, width: 420, height: 320 } end end unless defined?(@loaded) UI.menu('Plugins').add_item('Open basic.html inside the plugins folder') do Sketchup.active_model.select_tool(DevName::PluginName::Main.new) end @loaded = true end end end

Posible Solución #2 (Mejor Solución)

Prefiero encontrar la ubicación de 'basic.html' usando la ruta relativa de su script '.rb' y no usando la ruta de la carpeta 'Complementos'.

Además, al abrir un archivo HTML local, es mejor usar .set_file en lugar de .set_url .

 module DevName module PluginName2 class Main def activate @dlg = UI::HtmlDialog.new(html_properties_activate) path = File.dirname(__FILE__) html_file = File.join(path, '/basic.html') @dlg.set_file(html_file) @dlg.show @dlg.center end def html_properties_activate { dialog_title: 'Dialog Example', preferences_key: 'com.sample.plugin', scrollable: true, resizable: true, width: 420, height: 320 } end end unless defined?(@loaded) UI.menu('Plugins').add_item('Open basic.html inside plugins folder Solution #2') do Sketchup.active_model.select_tool(DevName::PluginName2::Main.new) end @loaded = true end end end
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!