🏒 PlaceMaker | 25% off for February including new Google Earth data imports! Learn more
  • Bad character in texture file name

    7
    0 Votes
    7 Posts
    180 Views
    TIGT
    Just trap for any non-standard characters and replace them with _ It's done all of the time in things like OBJ exporters...
  • Select all in layer

    4
    0 Votes
    4 Posts
    607 Views
    thomthomT
    @tig said: comparing strings is probably slower It is. Much slower! At all times avoid string comparisons if possible.
  • Merging two co-linear edges

    6
    0 Votes
    6 Posts
    1k Views
    thomthomT
    Yea, erasing the zero length edge would make a gap between adjacent edges. ...I think... might need to verify that again.
  • TypeError: can't convert into Array

    15
    0 Votes
    15 Posts
    346 Views
    Dan RathbunD
    @thomthom said: So it appears what happens is not that f.to_a is called, but instead Array.new( f ) - and Array.new uses .to_ary . Actually (if you use the CHM Ruby refdoc,) the source shows that the #| method explicitly calls: %(#0000BF)[arg2 = to_ary(arg2);] ie, it makes a copy of the second arg to use locally (within its body.)
  • Localhost in webdialog - bridge to everywhere?

    8
    0 Votes
    8 Posts
    760 Views
    chrisglasierC
    Now I have got to the stage where I can pop my freestanding php file into a web dialog but so I can run Sketchup either via my localhost or website I need to have a ruby version of this php: class IP{ public function Iptrue() { if ($_SERVER['REMOTE_ADDR'] == "127.0.0.1"){ echo true; } } } Can this be done with Sketchup ruby API? Thanks Thanks
  • Snapto or glueto with 2 faces

    10
    0 Votes
    10 Posts
    288 Views
    TIGT
    Robin Please reread my post you have to set the definition's is2d= AND its snapto=... and then the instance's glue_to= ... If you are loading a premade component ten why not give that the correct behaviors so you needed worry about reinventing them each time? and then you just need to place the component onto the face and tell it to glue_to it! You should add the instance with a transformation, OR Geom::Transformation.new() and then later transform it so that it's located on the face to which you want to glue it - it's z-axis needs to be parallel to the face.normal and it's origin somewhere on the face... It will not magically 'jump' onto the face - you need to code that. There after it will stick onto the face's plane like any other glued component, and move with the face too...
  • Ruby slowdown

    7
    0 Votes
    7 Posts
    389 Views
    thomthomT
    @tig said: Printing to the console will slow things greatly... That's a good pointer - if you use the Ruby Console to debug then the more you output the more it slows down. I use a small snippet that uses the Win32 API to clear the content of the console in order to keep it responsive. I also use Win32 to output data to DebugView.
  • Adding more plugins to submenu?

    8
    0 Votes
    8 Posts
    317 Views
    S
    Dan, Thanks I finally got it to work using the code you provided. Derek
  • Merge groups

    3
    0 Votes
    3 Posts
    371 Views
    C
    TIG thank you very much.
  • Make Layer0 Plugin

    4
    0 Votes
    4 Posts
    159 Views
    C
    This is awesome and exactly what i was looking for, thanks a lot!
  • [Request]is there have a plugin can do like this?

    7
    0 Votes
    7 Posts
    229 Views
    TIGT
    It's 'newer' NOT 'new'! It's been around for a while... Look for it in the 'Plugins Index' lists... 'LatticeMaker' works on premade meshes - it has a sibling in the Extrusion Tools tool 'EEbyRailsToLattice' that takes curves and makes the 'mesh-grid', and if option is selected it also frames/panes it...
  • Show webdialog quicker?

    24
    0 Votes
    24 Posts
    429 Views
    thomthomT
    @chris fullmer said: Interesting, I would have just put it as modal for both. Modal just means it stays on top of all windows? No - in the Windows world it means that the child window blocks any interaction in the parent window while it is open. It also means that .show_modal doesn't return until the webdialog is closed. (Like UI.inputbox - where you continue with the code after you prompted the user.) But it's under OSX where the scheme suddenly change. Not use if it's a platform quick, or just an SU OSX quirk, but suddenly the window does not stay on top when using .show and .show_modal means "stay on top of parent" instead of actually being modal. It's an annoying difference as the behaviour displayed under OSX does not correspond to what the method name implies. http://en.wikipedia.org/wiki/Modal_window
  • Disable_ui

    6
    0 Votes
    6 Posts
    219 Views
    thomthomT
    In SU6 you will not find any way to disable the UI from updating that gives any performance boost that is worth the optimisation effort. If you want to cut down the time, look at the Ruby code itself - find ways to make it faster. (See if there are places where a Hash can be used instead of an Array if you are doing lots of lookups, when manipulation selection and entities - use bulk methods that modifies many instead of single elements.)
  • Question about palettes

    22
    0 Votes
    22 Posts
    2k Views
    CadFatherC
    yes, maybe i'm better at it after a few guinness... meantime here's the result - i don't have a mac so do not know whether it works there. only thing is that upon reopening, the windows always dock at the bottom of the stack.. Cheers
  • What am I doing wrong?

    11
    0 Votes
    11 Posts
    827 Views
    F
    Trust me Chris you and everyone else who takes the time to help us new guys out are anything but useless. @chris fullmer said: Sorry we were so useless. Glad you figured it out, though!
  • Webdialog - how execute_script works

    12
    0 Votes
    12 Posts
    2k Views
    D
    @thomthom said: That wasn't the test. The test was how sending strings to Webdialog with < and > characters affected the DOM. ` > wd = UI::WebDialog.new('HelloWorld') wd.set_html( 'Hello world' ) wd.show_modal true wd.execute_script('alert( "<b>bold text</b>" );') true wd.execute_script('alert( document.body.innerHTML );') true wd.execute_script('alert( document.getElementsByTagName("b").length );') true` this is what I tested, the difference I can see, is that your alert window appears to store the previous message, on the mac I don't see that, but the end result seems to be the same. 1[image: KngN_01wd.png] 2[image: v5s5_02wd.png] 3[image: OqYA_03wd.png] john
  • Get Toolbars from ObjectSpace

    7
    0 Votes
    7 Posts
    658 Views
    Dan RathbunD
    Yea that's weird. I never recommend using any constructor without making sure that there is a reference to it for later use. We are still lacking (auto-generated) collections for many types of things, incl. toolbars. Either the collection object would be "held" by the UI module (ie: UI::ToolbarSet,) or "held" by the class itself, and accessed via a class method.
  • Question about load_handler parameter from load_from_url

    12
    0 Votes
    12 Posts
    269 Views
    J
    This could be done from the JavaScript too. You could use the onPercentChange to simply set a variable, then use a timer in JS to poll the Ruby script for the value of the variable.
  • Offline API Docs

    2
    0 Votes
    2 Posts
    2k Views
    J
    Jay, Gone away - I don't have a mirror of the most recent updated site: http://code.google.com/apis/sketchup/docs/index.html I used a command line program named wget to mirror the site originally. Windows users may find hTTrack useful. http://gnuwin32.sourceforge.net/packages/wget.htm http://www.httrack.com/
  • Function to draw 3d text via ruby

    6
    0 Votes
    6 Posts
    1k Views
    C
    entities.add_3d_text. This function I am needed. Thank you.

Advertisement