⚠️ Important | Libfredo 15.6b introduces important bugfixes for Fredo's Extensions Update
  • Remove and purge hidden components.

    19
    0 Szavazatok
    19 Hozzászólások
    4k Megtekintések
    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 Szavazatok
    19 Hozzászólások
    5k Megtekintések
    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 Szavazatok
    5 Hozzászólások
    2k Megtekintések
    TNTDAVIDT
    Thank you Dan. I will analyze all your information in detail.
  • Round an angled edge

    4
    0 Szavazatok
    4 Hozzászólások
    1k Megtekintések
    BoxB
    Is there some reason this is in the Developer forum?
  • How to Extension Analytics?

    3
    0 Szavazatok
    3 Hozzászólások
    1k Megtekintések
    Rich O BrienR
    Our API into the dev tools area has the ability to make analytical info
  • Where is the SketchUp API site?

    19
    0 Szavazatok
    19 Hozzászólások
    4k Megtekintések
    TNTDAVIDT
    It's wonderful Pixero. Well tried Pilou, but these are the methods and ruby class for SketchUp that interests me. I am happy to find this good old API.
  • Dynamic Component Redraw

    10
    0 Szavazatok
    10 Hozzászólások
    4k Megtekintések
    Dan RathbunD
    Scott Lininger left Trimble/SketchUp several years ago to start his own company. (He is unlikely to see or reply to your question. Ie, this topic thread is at least 7 years old!) There are more recent threads on making custom DC functions (but you should not publish any custom changes.) See this thread: http://sketchucation.com/forums/viewtopic.php?f=180&t=67235
  • Start and commit operation: how they work?

    16
    0 Szavazatok
    16 Hozzászólások
    4k Megtekintések
    A
    I think I figured it out. Enabling transparent mode for an operation will simply merge it with a previous non-transparent one, regardless if the previous operation is active or not. So, even this should work: model = Sketchup.active_model model.start_operation('Main OP', false, false, false) # A placeholder for all sub operations model.commit_operation x = 0 while (x < 100) model.start_operation('Sub OP', true, false, true) # Do some crazy geometry manipulation, # that I don't want the observer to respond while I'm doing it... model.commit_operation # Committing operation will allow the observers to respond and update view properly. # Do something involving view, like exporting proper view into images # Increment counter x += 1 end Edit: Nevermind. transparent flag is limmited to 100 operations. After that it turns into a normal operation, flooding the undo stack. Running one operation with ui_disable set to false does update the view properly, so I'll stick with it, but it's slow...
  • How to use custom fonts that are not installed?

    3
    0 Szavazatok
    3 Hozzászólások
    1k Megtekintések
    renderizaR
    Hi, I was not expecting it to be that difficult and don't think its practical anymore to use custom fonts on my plugins. Maybe I'll start looking into drawing images again. Thanks for your help!
  • Delete All Scenes with API Question...

    2
    0 Szavazatok
    2 Hozzászólások
    1k Megtekintések
    TIGT
    When you iterate a collection - like pages, or selection or entities, and change that collection's contents - e.g. by deleting something - then you get issues because the collection changes as a result. BUT if you 'freeze' the collection, but using .to_a OR perhaps you collect items, which are then deleted afterwards, after you exit using the collection... then it avoids the issue.
  • Fredo6 Tools problems on macOS High Sierra

    9
    0 Szavazatok
    9 Hozzászólások
    3k Megtekintések
    fredo6F
    Steve, Just sent you a PM about all this. Fredo
  • Middle mouse button.

    8
    0 Szavazatok
    8 Hozzászólások
    2k Megtekintések
    renderizaR
    Hi, I have the same problem in 2017...Is this going to be fixed? Here is the test I did... class TestMiddleButton #Not Working... def onMButtonDown(flags, x, y, view) puts "onMButtonDown; flags = #{flags}" puts " x = #{x}" puts " y = #{y}" puts " view = #{view}" end #This one is working.... def resume(view) puts "resume; view = #{view}" end end Sketchup.active_model.select_tool TestMiddleButton.new
  • Round straight with round ends

    4
    0 Szavazatok
    4 Hozzászólások
    1k Megtekintések
    D
    Ah...yes, I didn't think of selecting more than 1 edge, thanks!
  • First plugin published by warehouse

    3
    0 Szavazatok
    3 Hozzászólások
    1k Megtekintések
    K
    It already is available here. I am making some more changes before updating it here. Keith
  • Enable SketchUp tools

    6
    0 Szavazatok
    6 Hozzászólások
    1k Megtekintések
    TNTDAVIDT
    Thank you for these solutions.
  • Trying to set global axis from API

    5
    0 Szavazatok
    5 Hozzászólások
    1k Megtekintések
    K
    Thanks for the comments. This looks like a much more involved solution than my problem is worth. I think I will just stay with the requirement that component joint face needs to hahe 2 edges, common vertex and intersect at 90 degrees to work with my joint tool plugin. I was thinking of a plugin that would add a rectangular face on the existing face to be used for joint detail then deleted when finished. This worked for parts aligmed to the globel axis but not with rotated parts. Keith
  • Problem with API or my plugin?

    2
    0 Szavazatok
    2 Hozzászólások
    1k Megtekintések
    K
    This is the first time I didn't get a response on a code question. However by making this test plugin I did find out what was wrong with the results on the counter clockwise edge selection and this has led to a much simpler work around to clean up the push pull results. I am running a code that looks for edges with 0 or 1 face attached and removing them then loop thru again as the first loop exposes additional edges with 0 or 1 face only. I still think the code is correct and there is a bug in SketchUp API when a pus pull face intersects the outside edge. I have seen this in other code I have written. Keith
  • HTMLDialog vs WebDialog?

    23
    0 Szavazatok
    23 Hozzászólások
    5k Megtekintések
    Dan RathbunD
    Basically I'm trying to prompt you to learn how to read Ruby error and backtrace messages. “filename:lineNo: inmethod”‘ or “filename:lineNo.”` http://ruby-doc.org/core-2.2.4/doc/syntax/exceptions_rdoc.html http://ruby-doc.org/core-2.2.4/Exception.html @medeek said: Okay 95% of that just went over my head, but I'll try and decipher into terms I can understand. https://en.wikipedia.org/wiki/Data_validation An example in Ruby of testing if an object reference is pointing at an object of a certain class: if obj.is_a?(NilClass) ... or ... if obj.is_a?(Float) An example in Ruby of validating that an object reference call responds to a certain method call: if obj.respond_to?(:methname) ... and testing for the "asterisk" method specifically: if obj.respond_to?(:*) @medeek said: But why would this error only be raised for SketchUp running on MacOS and not Windows? I don't know (offhand) as I avoid Macs myself. (But OSX and MS Windows use different sets of keycodes.) Actually, looking at the backtraces (in your original error listing) the errors are kicked off by a LButtonDown keypress, but are occurring in the `` create_timber_geometry()`' method, lines 1064 and 1355.
  • Convert to length error

    2
    0 Szavazatok
    2 Hozzászólások
    1k Megtekintések
    S
    Can't say with absolute certainty without seeing your code, but you are most likely right about the decimal point mark causing the error. Depending on your OS and its settings, the mark may or may not automatically change when you change the input language. You may have to change the locale and reboot.
  • AI in SketchUp

    2
    0 Szavazatok
    2 Hozzászólások
    1k Megtekintések
    F
    For Sketchy Physics there are some models in 3D-Warehouse with approaches to AI.

Advertisement