🏢 PlaceMaker | 25% off for February including new Google Earth data imports! Learn more
  • Most efficient way [Ruby sollutions]

    2
    0 Votes
    2 Posts
    127 Views
    thomthomT
    Check this thread for performance info: http://forums.sketchucation.com/viewtopic.php?f=180&t=19576#p162235 I extended the test with more iterations: http://forums.sketchucation.com/viewtopic.php?f=180&t=19576&st=0&sk=t&sd=a&start=15#p166698 Basically: Avoid .typename as string comparison is slow. .is_a? and .kind_of? is aliases of the same method, they are both fast. In theory comparing .class should be quicker as the ruby source perform less calculations, but even with a large number of iterations there isn't much deviation from .is_a? / .kind_of? .
  • How can I determine entity level?

    15
    0 Votes
    15 Posts
    368 Views
    N
    Thanks thomthom, sorry... I was tired whed I read your post and I didn't understood exactly what you mean. But, Jim opened my eyes. Finally this is how I did it: model = Sketchup.active_model all_defs = model.definitions in_model = 0 out_model = 0 t1 = Time.new all_defs.each do |defn| count = defn.count_instances if count == 0 out_model += 1 else in_model += 1 end end t2 = Time.new dt = t2 - t1 puts 'time for completion; ' + dt.to_s puts 'all definitions; ' + all_defs.length.to_s puts 'in model; ' + in_model.to_s puts 'out_model; ' + out_model.to_s I was surprised that with 1600 component definitions , time for completion was 0.0
  • Ruby Essential Training release (Lynda.com)

    2
    0 Votes
    2 Posts
    2k Views
    JClementsJ
    FYI, you can play the video links for at least the introductory chapters. I haven't tried any others. Kevin does seem to be a good communicator.
  • Which are your favourite plugins?

    11
    0 Votes
    11 Posts
    829 Views
    jeff hammondJ
    Arc: Center and Two Points Weld Perpendicular Face Tools Arc Centerpoint Finder -or- Arc Centerpoint Invert Selection Skindigo Joint Push/Pull Bend (FredoScale) BoolTools (Selection Toys? what's that.. sounds like it could easily be added to this list if it can do what i hope it can )
  • Find vector closest to X_AXIS

    5
    0 Votes
    5 Posts
    142 Views
    thomthomT
    Great! Thank you very much!
  • Sketchup / ruby WebDiablog / php

    11
    0 Votes
    11 Posts
    634 Views
    P
    Nice so finally: the form will be in html and javascript, and the dialog between the html file and the ruby script will allow to do all queries. nice! and thx...
  • Idea/request/plugin

    4
    0 Votes
    4 Posts
    327 Views
    G
    TIG, I waiting for your Edge2Rails
  • Ruby system call

    6
    0 Votes
    6 Posts
    687 Views
    S
    Yes, that works. Thanks Jim.
  • [Code] Real UV from UVHelper data

    3
    0 Votes
    3 Posts
    2k Views
    thomthomT
    I believe so... I was having problems with my UV mirror plugin where I could not properly transfer distorted textures from one side to another. Scaled and skewed worked fine, as the Q value then returns 1.0 from the UVHelper - but distorted textures returned values with a Q value other than 1.0 - and that didn't play well when passing back to .position_material. This is what jeff99 said about this trials: @unknownuser said: I also think the q values is unused. The matrix is to transform from a 3D (xyz) point in model space, to a 2D (uv) point in image space. They just put the data in a Point3d because they didn’t have a Point 2D. If they are using homogeneous coordinates, the q value you are seeing may be the "H" value, and they should have divided the u and v values by H. (Do a Google search on homogeneous coordinates). I do however think that the U and V values are wrong. In our GeoSketch application we map areal images to faces. We calculate the UV coordinates in our code, and use position_material to map them to the face. The textures map to the faces correctly, and we see properly textured faces in the SketchUp model. After building the model, we have a tool to export to OpenFlight. We tried using the UVHelper to get the UV coordinates back, but when we applied them in OpenFlight, the textures didn’t map properly. Bummer. We then started storing our calculated UV coordinates as attributes on the face (the ones we used with position_material). Then we wrote these UV values to OpenFlight, and they worked perfectly. @thomthom said: H value? hm... this is new to me. I had another look at the values returned. Comparing the regular texture with the non-regular it seems that the UV values are multiplied by the Q value. Could it be that they multiplied instead of divided? If it is an H value, then I should be able to use that to restore the regular UV values? @unknownuser said: That would be very interesting. Let me know what you find. It would actually mean that they didn’t divide or multiply. For homogeneous transformations you are always supposed to divide by H. However, for some transformations, H comes out to be 1.0, so dividing doesn’t change the values. Your observation may mean that they didn’t divide by H. But we don’t even know for certain that they are using homogeneous coordinates. We need more information. @unknownuser said: Well Tom, I just changed my code on our theory that they did a homogeneous transformation, and the q value is actually the H value that they should have divided by. When I divided the u and v by q, and wrote those new values out, the textures mapped correctly. Your observation that the q value was not 1.0 for skewed projections was key. When H is 1.0, you get away with not doing the division. Thanks Tom, your diligence on this matter paid off. We can now compensate for it in our code. We just need to get Google to promise to tell us if they ever choose to fix this, and do the division by H. Let us know how your results are Dale.
  • OnPageChange event

    4
    0 Votes
    4 Posts
    259 Views
    chrisglasierC
    @chrisglasier said: And in Google SketchUp Ruby API what's the difference between PagesObserver.onContentsModified and PagesObserver.onElementAdded ... Now I have got to the point where I am checking what happens when the scene machine is plugged in to a model with no scenes. It is sensible to add one or more scenes to get started. But when I do that onContentModified sets off the JavaScript function for a scene selected from an existing set and throws an error. I suppose I will find a way round, but it does not seem right when there is " onElementAdded." There again I could have missed something fundamental. Either way I would appreciate some clarification. Thanks Chris
  • How to launch a ruby script with OnClick?

    8
    0 Votes
    8 Posts
    1k Views
    chrisglasierC
    @martinrinehart said: The message could also be actual Ruby code to execute, but there's a 2KB length restriction. I am sorry but I think this is misleading and my mother tongue is English. Is this what you are talking about? http://code.google.com/apis/sketchup/docs/ourdoc/webdialog.html @unknownuser said: Note that you're sending data down to Ruby as a single string that's passed via the window.location bar. In Internet Explorer on PC, there is a length limit of 2038 characters for this bar, so if you're needing to pass large data down you might consider using get_element_value to pull in a longer string from a hidden input field in the HTML.
  • Attributes object skectchup in a char variable in Ruby?

    3
    0 Votes
    3 Posts
    197 Views
    P
    Y i want create a script who can put in a ruby variables some attribute of my dynamic object when i click on him, but i don't know how to do this... I know c, c++, java, php 5 but sketchup and ruby is new for me . If you can help me, it's nice. thx
  • How to batch export (and reduce in size) multiple textures??

    6
    0 Votes
    6 Posts
    306 Views
    ArcA
    Didier Bur's plugin: [Plugin] Very fast texture writer http://forums.sketchucation.com/viewtopic.php?f=180&t=6386&p=156132&hilit=Very+fast+texture+writer#p40025
  • Triangulating points

    5
    0 Votes
    5 Posts
    394 Views
    A
    I use clouds.rb for generating terrain meshes and I am wonder if there is anything which will smooth the result ... ! Right now I think the GPS I am using is not very precise or maybe all GPS are creating some wrong points... and that's why a circular (aprox) path I am tracking is it than(after translating to 3d points) shown as a iregular path... any hint ?
  • Lights in su2pov3

    3
    0 Votes
    3 Posts
    502 Views
    A
    This download helped me too Didier ! Merci... With kind regards Petronel
  • WebDialogs - tabs sample !

    6
    0 Votes
    6 Posts
    296 Views
    J
    Great example. It's usable as it is, or can be built on if needed. Thanks.
  • Transformations

    23
    0 Votes
    23 Posts
    15k Views
    J
    One of the reasons I asked was that I wrote this LDraw importer. But the LDraw axes system does not match SketchUps, and I really want the importer to correct this on import. You can see the import works, but I haven't been able to figure out how to trasnform the geometry during the import so it uses a SketchUp axes that people are familiar with using. [image: l2Tt_019.jpg]
  • WebDialog - how to make tabs?

    7
    0 Votes
    7 Posts
    907 Views
    D
    I found a page. That has some very interesting things in html. http://www.dhtmlgoodies.com/index.html?page=dhtml-suite greetings
  • Developer Forum Sticky Links

    2
    0 Votes
    2 Posts
    4k Views
    P
    thx!
  • Output Text ?

    8
    0 Votes
    8 Posts
    326 Views
    J
    @tpoz said: is there anything fancy i can do with entity info if i label everything? On the serious side, you could do a shade analysis to see if the plants are goig to gt enough Sun. How about blending the color of the tomatoes from green to red as time passes? http://code.google.com/apis/sketchup/docs/ourdoc/color.html#blend Or (making the plants "grow" (scaling the plant size) as the growing season progresses? Sounds like a fun application of SketchUp!

Advertisement