💡 LightUp 7.1 | SketchUp's only real-time renderer that uses object-based rendering Download Trial
  • 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.

    Error 404 (Not Found)!!1

    favicon

    (drive.google.com)

  • 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

  • Where is the SketchUp API site?

    19
    0 Votes
    19 Posts
    4k Views
    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 Votes
    10 Posts
    4k Views
    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 Votes
    16 Posts
    4k Views
    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 Votes
    3 Posts
    1k Views
    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 Votes
    2 Posts
    1k Views
    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 Votes
    9 Posts
    2k Views
    fredo6F

    Steve,

    Just sent you a PM about all this.

    Fredo

  • Middle mouse button.

    8
    0 Votes
    8 Posts
    2k Views
    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

Advertisement