sketchucation logo sketchucation
    • Login
    1. Home
    2. ruggiero.guida
    3. Topics
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    πŸ”Œ Smart Spline | Fluid way to handle splines for furniture design and complex structures. Download
    R
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 12
    • Groups 1

    Topics

    • R

      How to detect changes in a model between two sessions

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      3
      0 Votes
      3 Posts
      539 Views
      R
      Thanks TIG. I like this solution. It should work in principle for the objects whose properties I am going to change. I think I have to change the way I store the objects though. Let me explain. The goal is to produce an insolation contour across the development (at ground level). To do this I do the following: 1 - mesh the surface that represents the interstitial space between buildings 2 - for each grid node I cast rays to cover the whole hemisphere 3 - for each ray I use raytest to verify whether I see the sky or I see an obstruction (this obstruction can be transparent or it can have an assigned temperature) Each Ray is an object with properties: direction, shaded_state, temperature, transparency and so on (there is no reference to Sketchup objects) Each grid node is represented by grid_node object with properties: coordinates and an array of Rays In order to implement your solution I think I will need to store the reference to the actual object that the Ray sees (if it does). I am not sure I can store a reference to a SketchUp object? Would the search in the datafile be faster than the re-calculation? I will test. Your proposed solution will not help though for the impact that a NEW object can have on specific grid nodes. My idea for this case was to replace the raytest with an intersection test between the new object (this is usually some form of local shading such trees, canopies, etc.) and the various rays for each grid node. I guess that the intersection test should be faster than raytest. Thanks again.
    • R

      Full ruby installer

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      14
      0 Votes
      14 Posts
      2k Views
      R
      It worked beatifully. The only thing I had to change was a line of code where I use 'angle_between'. I just created a temporary Vector3D and solved the issue. I had to switch to Marshal because files were getting too big (180MB) and it was taking 15 minutes just to save.
    • R

      Functions in 'require' are not updated till restart..

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      4
      0 Votes
      4 Posts
      279 Views
      Dan RathbunD
      You should NOT be including ANY module like Math into the global objectspace, which is actually class Object. Everyone else's classes and modules will then inherit any change YOU make to the global objectspace! It does not matter whether you will be distributing or not. There is a right way to code. It is more about not corrupting other people's plugins. There is NO reason whatever for you to run code outside YOUR OWN module namespace. So pick a unique toplevel module name, like Guida or RG or whatever, and then define ALL your plugins as sub-modules of YOUR toplevel modulespace. Within each plugin module, define nested modules and / or classes, as needed by each plugin.
    • 1 / 1