⚠️ Important | Libfredo 15.6b introduces important bugfixes for Fredo's Extensions Update
  • Writing a C extension

    3
    0 評價
    3 貼文
    297 瀏覽
    Dan RathbunD
    @ishboo said: Nobody have experience with this? We have discussed this in previous topics... ... we currently have an active topic going on C/C++ Plugins: Plugin DLL Other threads on this issue: Getting Started with C++ and Sketchup Ruby extension module using C/C++ (mostly about using SWIG) Example of Compiled Extension with SWIG and CMake Ruby C++ extension crashes SketchUp Re: Optimization Tips (discussing Ruby vs C speed) Programming in C, C++ for Mac and Windows? Are Swig generated Ruby bindings compatible with Sketchup? Examples: TBD's SUExt extension example
  • Does Sketchup has a threading mechanism

    3
    0 評價
    3 貼文
    372 瀏覽
    Dan RathbunD
    You could also try to see if using the UI.start_timer block method works for you. This with execute the block immediately, and not repeat: UI.start_timer(0.0,false) { my_calc_method() }
  • Browserscope

    2
    0 評價
    2 貼文
    284 瀏覽
    thomthomT
  • Transformation Newbie...

    4
    0 評價
    4 貼文
    411 瀏覽
    thomthomT
    InputPoint.transformation http://code.google.com/intl/no/apis/sketchup/docs/ourdoc/inputpoint.html#transformation Gives you the transformation for the input point. Will probably be useful to you for converting between local and model co-ordinates.
  • 000

    4
    0 評價
    4 貼文
    334 瀏覽
    H
    I just test your plugin
  • Layer0 questions

    5
    0 評價
    5 貼文
    4k 瀏覽
    TIGT
    layer=model.add("Layer0") does return a reference to a layer in any locale - including EN. It is the same layer as model.active_layer=nil Setting the active layer to nil and getting its name is the foolproof way of finding the default-layer's name in that locale. If you are sure that layers[0] is always the default layer then using that should work too. Then to process all layers except the default-layer you can use model.layers.to_a[1..-1].each{|layer|###do process###} as it misses off the first one...
  • Detecting Ctrl-[Move || Rotate]

    4
    0 評價
    4 貼文
    305 瀏覽
    P
    Awesome, thats exactly what i needed! Have a great sunday!
  • Module, Class, attr_accessor help?

    4
    0 評價
    4 貼文
    315 瀏覽
    D
    I do it that way all the time.
  • Ruby & sectionplane

    3
    0 評價
    3 貼文
    342 瀏覽
    P
    Thanks for the immediate reply.
  • Other dynamic component platforms

    4
    0 評價
    4 貼文
    285 瀏覽
    Dan RathbunD
    Microsoft Visio (costs,) or the free open-source clone OpenDraw (part of OpenOffice.) http://www.openoffice.org/ You may wish to try out DoubleCAD XT it's a free AutoCAD LT clone from IMSI. http://www.doublecad.com/
  • Deleting an observer

    3
    0 評價
    3 貼文
    383 瀏覽
    Dan RathbunD
    You should always be running your code within your OWN namespace, so using a global variable is NEVER needed. I use @@ module vars to hold references to observers. YES you can write a method within your observer class that can remove itself. I do this sometimes, and it is really just a wrapper for the remove_observer() method. This example assumes your using your Observer in a Singleton manner: class MySelectionObs < Sketchup;;SelectionObserver @@watched = [] def attach(selection) raise(TypeError,"argument is not a Sketchup;;Selection object.") unless selection.class==(Sketchup;;Selection) if selection.class==(Sketchup;;Selection) && (not self.watching?(selection)) selection.add_observer(self) @@watched << selection end end def dettach(selection) raise(TypeError,"argument is not a Sketchup;;Selection object.") unless selection.class==(Sketchup;;Selection) if selection.class==(Sketchup;;Selection) && self.watching?(selection) selection.remover_observer(self) @@watched.delete(selection) end end def verify_watchlist() unless @@watched.empty? @@watched.delete_if {|e| e.class != Sketchup;;Selection } @@watched.delete_if {|e| !e.model.valid? } end end def watching() verify_watchlist() return @@watched.dup end def watching?(selection) raise(TypeError,"argument is not a Sketchup;;Selection object.") unless selection.class==(Sketchup;;Selection) verify_watchlist() return @@watched.include?(selection) end ### define your other callback methods ### end # class ONE BIG EXCEPTION : NEVER dettach (remove) observers within the onQuit() callback of an AppObserver subclass instance !! A BugSplat! will occur.
  • Problems with Soap Skin Bubbles

    40
    0 評價
    40 貼文
    12k 瀏覽
    C
    @dave r said: Patience. The author has always updated it in the past. I'm sure it'll get updated soon. yes, version 12 which works until 10 april 2012 was released. http://www.tensile-structures.de/sb_software.html and taking system time back worked for me for last 2 days.
  • Model.import() always true?

    6
    0 評價
    6 貼文
    294 瀏覽
    A
    For yery corrupted collada files, there appears just a messagebox "import failed [OK]". The ruby console does not display any exception but just true``. For some collada files, SketchUp says there is a chance that the import could fail and asks if I want to continue [yes]/[no]. If I click yes, it succeeds to import it anyways, if I click no, the same messagebox appears "import failed [Ok]. In all cases, the console says true. I tried it with begin ... rescue ... end without success. model.zip
  • Selectionobserver

    13
    0 評價
    13 貼文
    887 瀏覽
    K
    hmmm... ok. in this case i don't understand why the lines behaved like that. not that important. ok, thanks to you once again.
  • Soap Skin &amp; Bubble expires

    23
    0 評價
    23 貼文
    4k 瀏覽
    C
    Soap Skin & Bubble expried yesterday. what to do?
  • Ruby &quot;split&quot; in file line reading

    8
    0 評價
    8 貼文
    3k 瀏覽
    C
    @shirazbj said: Heard of regular expressions before, This time I tried to understand it. Thanks. Regular expression are simultaneously very useful and painful to work with. There is a great quote by Jamie Zawinski which goes "Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems." I first ran into them at Dive into Python 3 which gives a couple simple case studies and although the language is slightly different the regular expressions are basically the same. Looking at the regular expression given by /[-|+]?\d.\dE[-|+]?\d\d\d/ we have the / on each end marking the start and end of the expression. There are two blocks of [-|+]? which matches an optional + or - sign. I would read this is "0 or 1 instances of + or -". Then we have \d.\dE which matches a single digit, then some arbitrary number of digits until it find an E, then we again have an option sign followed by exactly 3 digits. So this pattern will match a single numerical value in the string given. The .scan method then constructs an array out of every match. From here you can wrap blocks in parenthesis to create groups so you can break the matches up into their own arrays which is what I had done originally until I realized Ruby would parse scientific notation with the .to_f method.
  • When do Tools.active_tool_id return 0 ?

    6
    0 評價
    6 貼文
    976 瀏覽
    Dan RathbunD
    @unknownuser said: By the way, it seems that, on MAC, active_tool_name may return a truncated text (for instance "ctionTool" for SelectionTool, or "angle" for Rectangle). Yes... this is the reason we are treating this issue. We need to use the tool_id rather than the tool_name to work around the Mac bug. In SU8 Google did fix the Mac tool name bug for the ToolsObserver, but forgot to fix the Tools collection active_tool_name() method.
  • How to insert a component instance from a definition.

    6
    0 評價
    6 貼文
    346 瀏覽
    honoluludesktopH
    OK, thanks. I must have done it wrong, when I tried to use entities.add_instance previously. I will work on it tomorrow.
  • Drawing an array of boxes

    15
    0 評價
    15 貼文
    1k 瀏覽
    Z
    Thanks Dan, I have read the pragmatic programmers book but that was a while back and unfortunately I have a deadline submission I need to meet next week, i've managed to get the C++ side of the coding done but am struggling with the Ruby and don't have time to re-assess what i've learnt, just need to sift through the relevant information and collaborate it.
  • Syntax Highlighting in SU WebDialog

    13
    0 評價
    13 貼文
    2k 瀏覽
    alexschreyerA
    The Ace highlighter looks very good, too. Great to see a few of these popping up now. However, I just fixed my Ruby editor up with Codemirror, so I am not moving... I'll have an updated version of my editor ready after a bit of testing. Here is a picture for now: [image: 5MTg_2011-04-08_1623.png] Cheers, Alex

Advertisement