2016-12-23 1 views
0

Je cours ce code à travers la console ruby ​​sketchup.Ruby, sketchup-ajouter une autre zone de texte à la boîte de saisie

  prompts = ["Stair Width", "Travel","Tread Thickness","Total Height","Riser Thickness","Stringer Width","Stringer Thickness","Top Hanger Thickness","Customer","Customer Address","Top Hanger Nose","Stair Nose","Flight"] 
    defaults = [36.0,0.00,1.0,0.00,0.5,11.25,1.25,0.5,"My Builder", "234 Jimmys Street","Yes","Yes","Main"] 
    list=["","","","","","","","","","", "Yes|No","Yes|No"] 

    input = UI.inputbox prompts, defaults,list, "Stair Info" 
     a,b,c,d,e,f,g,h,i,j,k,l,m=input 
     cst=i.to_s 
     adr=j.to_s 
ent = Sketchup.active_model.entities 
    tr=(d/8.0).ceil 
    rise=d/tr 
    run=((b-(1+h))/(tr-1)) 

Je voudrais ajouter une zone de texte supplémentaire à côté de la « Hauteur totale » boîte d'entrée et la rendre égale tr en sortant de la zone de saisie « Hauteur totale ». Existe-t-il un moyen d'ajouter une zone de texte à côté de la zone de saisie Hauteur totale et de lui donner la valeur "tr" une fois qu'elle a quitté la zone de saisie Hauteur totale?

enter image description here

Répondre

0

Si vous souhaitez contrôler la mise en page dont vous avez besoin pour créer votre propre boîte de dialogue. UI.inputbox ne donne aucun contrôle sur cela.

L'autre alternative Ruby pour cela dans SketchUp est d'utiliser UI::HtmlDialog (de SketchUp 2017 et plus; http://ruby.sketchup.com/UI/HtmlDialog.html) Il utilise un contrôle Chromium intégré. Si vous devez prendre en charge les anciennes versions de SketchUp, vous pouvez utiliser UI::WebDialog; http://ruby.sketchup.com/UI/WebDialog.html. UI::WebDialog utilise le navigateur système disponible (IE sur Windows, Safari/WebKit sur Mac). Vous ne pouvez pas être sûr de la version installée par l'utilisateur.

Quelques informations utiles sur WebDialog se trouve ici: https://github.com/thomthom/sketchup-webdialogs-the-lost-manual/wiki

Vous pouvez également essayer le projet Skui, il est une enveloppe au-dessus de WebDialog qui vous permettent de créer de simples widgets de l'interface utilisateur en utilisant uniquement le code Ruby: https://github.com/thomthom/SKUI (Il résume le code HTML/CSS)