Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

309
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda