ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info
  • How to release a plugin

    13
    0 Votes
    13 Posts
    3k Views
    artmusicstudioA
    hi dan, thank you very much, i was already there, but missed somehow to press the button once more after uploading, was too tired probably it works now perfectly (and there were no problem with the code, so things develope well...) stan
  • How to get "Plugins" menu name in other language?

    10
    0 Votes
    10 Posts
    3k Views
    TIGT
    It's also a bad idea to set shortcuts anyway [even if you could do it effectively !] - the user might be angry at you when you overwrite their own shortcuts with yours ! You can instruct the user of your tool how to add their own shortcuts, but don't force them - you are meant to be their friend, not their master. If you want the user to press certain keys to do certain things in your Tool, then you are pretty much limited to Ctrl, Alt, Shift and Tab, or say numbers 0-9 followed by other characters which can be parsed off from the user's typed text input - so "1:3" can be read in as a slope of "1 in 3", or "1left" gives "left" when leading numerals are stripped off... All other keys can potentially be already assigned to other tools and actions by the user, so pressing "L" for left is unlikely to work as that will likely invoke the "Line" tool - and it's including key-combos like Ctrl+Shift+V [typically for Edit>PasteInPlace]. So that's kind of use in your Tool is essentially a bad idea...
  • Remove dynamic attributes in ruby

    5
    0 Votes
    5 Posts
    3k Views
    Dan RathbunD
    David, why are using this crazy indentation ? Ruby uses 2 space indents, and all code at the same level must be at the same indent: def delete_attribute mod = Sketchup.active_model mod.definitions.each do |d| d.instances.each do |i| d.delete_attribute 'dynamic_attributes', 'lola' i.delete_attribute 'dynamic_attributes', 'lola' end end end This way the beginning of blocks line up with the indent lines in code editors.
  • ? [Question] - A Ruby Calculator ?

    40
    0 Votes
    40 Posts
    34k Views
    Dan RathbunD
    @turbodizayn said: Hi! Does it work in SU2016 ? I have a message, " Could not activate SketchUp application window." I just tested version 2 of "ruby_calc_2.rb" in SketchUp 2016, and this works. Version 2 is in this post: http://sketchucation.com/forums/viewtopic.php?f=180&t=22660&view=unread#p535117 What is "it" you refer to ?
  • LibFredo6 v8 not loading or being recognized

    2
    0 Votes
    2 Posts
    2k Views
    fredo6F
    @ajhook said: I've installed the latest version of LibFredo v8.0, am running Sketchup 2017 on Mac OS High Sierra. Every tie I restart Sketchup, I get the message 'You must intstall LibFredo6 version 6.9 or higher to run Fredo6_RoundCorner. But I have version 8 installed. When I go to my Extension Manager, it shows that LibFredo ver8.0b - 19 Nov 17 is installed and enabled. Why do I keep getting this error message? Alan I think you also need to get fresh version of RoundCorner (and other plugins). On High Sierra, there is an incompatibility introduced by Apple (order of file loading). So the fixes are in LibFredo6 7.9 and higher, but as well in each plugin. Fredo
  • Where are shortcuts stored in sketchup2018

    7
    0 Votes
    7 Posts
    3k Views
    S
    I expect that SketchUp reads these json files as it starts and writes out revised copies as it quits. So, if you edit the file while SketchUp is already running, SketchUp will not see the changes and will overwrite with its in-memory version when it quits. You need to quit SketchUp before editing any preferences files.
  • Where can I find webdialog's position and size in su 2018

    3
    0 Votes
    3 Posts
    2k Views
    W
    @tig said: C:/Users/USERNAME/AppData/Local/SketchUp/SketchUp 2018/SketchUp/**PrivatePreferences.json** For example, for the "ExtensionStore" toolbar info, you need to find the entries using some grepping and parsing/splitting... for the toolbar "RubyWorkspace\\ToolbarsUser-Bar8"; { > "BarID"; 59661, > "BarName"; "ExtensionStore" > }, and from its BarID, its status later on "RubyWorkspace\\RubyToolBar-59661"; { > "Columns"; 0, > "DockBarId"; 0, > "Visible"; 1 > }, and for its main dialog details "WebDialog_SketchUcation ExtensionStore"; { > "Height"; 918, > "Left"; 11, > "Top"; 84, > "Width"; 862 > }, for this kind of entry note that another 'prefix' might apply for the newer HTML dialog type - test it.. Great! Many thanks! wikii
  • Collaborate on develop an extension or two?

    2
    0 Votes
    2 Posts
    2k Views
    M
    @mingteck said: simple acoustical modelling It depends on what you mean by simple. Using standard formulas based on volume and surface area by absorption is one thing, much past that and the calc time might be a bit long...
  • Can we see the bugsplat data?

    2
    0 Votes
    2 Posts
    1k Views
    S
    Look in ~/Library/Logs/DiagnosticReports
  • Activate last selection

    5
    0 Votes
    5 Posts
    2k Views
    TNTDAVIDT
    Thank you for your help! I will analyze the Selection Memory Plugin and post the method if I find it.
  • [code] Fbx export - option hash?

    8
    0 Votes
    8 Posts
    3k Views
    K
    Nice - in V18 the option hashes are added for several file formats. http://ruby.sketchup.com/file.exporter_options.html
  • Right Click Menu Items

    3
    0 Votes
    3 Posts
    2k Views
    medeekM
    Thank-you for the example and explanations.
  • Dumb down component?

    6
    0 Votes
    6 Posts
    2k Views
    PixeroP
    Thanks for the links. I think these are a bit too advanced for my needs this time. I simply want to clear all attributes on a selected component (and nested components). I kind of thought it was a one liner script.
  • Intersecting Lines or Faces

    3
    0 Votes
    3 Posts
    2k Views
    K
    I think it is possible to use "face.classify_point(pt)" method to find/select entities, that "touch" some face. For intersection I would recommend a method "intersect_line_plane" from Geom class. Face plane can be simply obtained like "face.plane", edge line like "edge.line", then it is possible to get intersection point like "Geom.intersect_line_plane". Finally it might be useful to make sure that intersection point lies inside of a face boundary using "face.classify_point".
  • Rbclipper in sketchup 2017

    2
    0 Votes
    2 Posts
    1k Views
    B
    I got it working. I used the ruby-c-extension-example to create a visual studio 2017 project and compiled it. You can find the VS2017 project in the link and compile it or use the so in releases if you have Sketchup 2017 x64. https://drive.google.com/open?id=1Ulz8sNDuyg2dY9Yy1vIW_thEOhAtIq2L
  • Remove and purge hidden components.

    19
    0 Votes
    19 Posts
    4k Views
    TNTDAVIDT
    **They always told me to be persistent and I thank all those who gave me this advice. Here is the method to remove all hidden sub-components in a parent component: def supprimer_tous_les_sous_composants_selection(instance) children = instance.definition.entities.select { |e| e.respond_to?(;definition) } children.each { |c| supprimer_tous_les_sous_composants_selection(c); c.erase! if c.hidden? } end supprimer_tous_les_sous_composants_selection(Sketchup.active_model.selection.first) Here is the method to remove all the dynamic attributes of all the components present in a selection: def selectionner_tous_les_sous_composants_selection(instance) children = instance.definition.entities.select { |e| e.respond_to?(;definition) } instance.model.selection.add(children) children.each { |c| selectionner_tous_les_sous_composants_selection(c); } end def supprimer_tous_les_attributs_dynamiques_selection mod = Sketchup.active_model sel = mod.selection sel.each{|s|s.definition.attribute_dictionaries.delete("dynamic_attributes"); sel.grep(Sketchup;;ComponentInstance).each{|i|i.attribute_dictionaries.delete("dynamic_attributes")}} end def desactiver_toutes_les_selections mod = Sketchup.active_model ent = mod.active_entities sel = mod.selection instances = sel.grep(Sketchup;;ComponentInstance) sel.clear end selectionner_tous_les_sous_composants_selection(Sketchup.active_model.selection.first) supprimer_tous_les_attributs_dynamiques_selection desactiver_toutes_les_selections You can test these methods directly with the ruby console, after selecting a dynamic component. You will notice that all hidden components and dynamic attributes will be removed, even if they are nested at multiple levels. Thank you to everyone who helped me. See you David**
  • Redraw a dynamic component

    19
    0 Votes
    19 Posts
    4k Views
    TNTDAVIDT
    **I ended up bypassing the problem by selecting a different definition than "handles" in method 2. I asked to select the IKEA definition, which corresponds to the furniture that contains the facades and the handle inside. def ikeaCI(ents) sel = Sketchup.active_model.selection ents.each do |e| if e.is_a? Sketchup;;ComponentInstance sel.add e if e.definition.name=~/#{"IKEA"}/ ikeaCI(e.definition.entities) end end end This is possible because I specified the definition of the highest components of the hierachie. Is it possible to select the highest components of the hierarchy without specifying the name of that definition? Thank you TIG for your method that allows me to redraw the visible handles. **
  • Select instances in the selection

    5
    0 Votes
    5 Posts
    1k Views
    TNTDAVIDT
    Thank you Dan. I will analyze all your information in detail.
  • Round an angled edge

    4
    0 Votes
    4 Posts
    1k Views
    BoxB
    Is there some reason this is in the Developer forum?
  • How to Extension Analytics?

    3
    0 Votes
    3 Posts
    1k Views
    Rich O BrienR
    Our API into the dev tools area has the ability to make analytical info

Advertisement