sketchucation logo sketchucation
    • Login
    1. Home
    2. Didier Bur
    3. Topics
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info
    Offline
    • Profile
    • Following 0
    • Followers 2
    • Topics 166
    • Posts 1,496
    • Groups 2

    Topics

    • Didier BurD

      BoundindBox intersect problem

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      12
      0 Votes
      12 Posts
      228 Views
      Didier BurD
      Hi guys, Thanks for all these comments. What I'have done finally is the following: Made a hash with all my buildings and their local bounding boxes, Iterated through this hash and test all other bounding box points of other buildings, skiped all bounding boxes that are way too far to intersect with the considered building, coded a method to test if a 3dPoint is in a set of 8 points (a bounding box). This is a very fast and efficient process (about 200 buildings collisions (with all 199 others) tested in 0.5 second) Regards,
    • Didier BurD

      Best way to return a value from a tool ?

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      6
      0 Votes
      6 Posts
      129 Views
      Didier BurD
      Thanks Dan, I still had an attr_accessor :distance in that class
    • Didier BurD

      Annoying "Reference to a deleted page"

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      4
      0 Votes
      4 Posts
      215 Views
      Didier BurD
      Thanks guys, You pointed me to my error, which were elsewhere in the code. Solved !
    • Didier BurD

      Add_faces_from_mesh returns what ?

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      3
      0 Votes
      3 Posts
      238 Views
      Didier BurD
      Thanks ThomThom, Here is what I planned to do: nEntsBefore=Sketchup.active_model.entities.length Sketchup.active_model.entities.add_faces_from_mesh(m) nEntsAfter=Sketchup.active_model.entities.length arrayOfNewFaces=[] nEntsBefore.upto(nEntsAfter-1) { |i| next if ent=Sketchup.active_model.entities[i]; arrayOfNewFaces.push(ent) } Your code is mush more simple than mine
    • Didier BurD

      SKM load with API ?

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      6
      0 Votes
      6 Posts
      223 Views
      Didier BurD
      Thanks TIG, I was sure you had the solution ! (but didn't remember your SKM Tools )
    • Didier BurD

      GREAT new FREE plugin for ANIMATION (and more)

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      8
      0 Votes
      8 Posts
      2k Views
      Didier BurD
      @ Rich: I've got my code 3 hours after I sent the request.
    • Didier BurD

      RLD down this evening for maintenance

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      1
      0 Votes
      1 Posts
      412 Views
      No one has replied
    • Didier BurD

      CIPA anybody ?

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      1
      0 Votes
      1 Posts
      175 Views
      No one has replied
    • Didier BurD

      CityGML

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      1
      0 Votes
      1 Posts
      326 Views
      No one has replied
    • Didier BurD

      Info about add_note method

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      18
      0 Votes
      18 Posts
      546 Views
      Dan RathbunD
      The native MoveTool can move the note.
    • Didier BurD

      Windowizer

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      7
      0 Votes
      7 Posts
      1k Views
      EdsonE
      @pitrak said: That's the default behaviour of the free Windowizer indeed. 4 looks amazing, I especially like that you can input proportions for the different panes. Albeit unfortunately only in the horizontal division if I understand correctly. It does cost 10 bucks though. I think I'll order it, seems well worth the cost. you can also input proportions for the vertical divisions.
    • Didier BurD

      [Plugin] Estimates (extended)

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      50
      0 Votes
      50 Posts
      50k Views
      K
      Can someone update this plugin for Sketchup 2020? Please. Maybe @Didier Bur @TIG
    • Didier BurD

      [Plugin] Update 1.4.2. of Compo Spray

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      4
      0 Votes
      4 Posts
      6k Views
      L
      I feel like a kid in the candy shop with all this stuff given like this!
    • Didier BurD

      RLD maintenance

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      3
      0 Votes
      3 Posts
      287 Views
      GaieusG
      Thanks Didier. I indeed had lags over there a lot. Hopefully it'll be better now.
    • Didier BurD

      Ordering 3dpoints ?

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      36
      0 Votes
      36 Posts
      4k Views
      Didier BurD
      Yep, on any plane Here is the rough test code: make a selection of n coplanar guide points on any face, type 'graham' in the console and it draws the convex hull correctly. As you will see, code is yours almost entirely. It's likely there is something wrong in my classes or methods. def graham() pts=[] # Selection of coplanar guide points to array pts Sketchup.active_model.selection.each { |cp| pts.push(cp.position) } # Transform points to horizontal plane t1=Geom;;Transformation.new(pts[0],pts[0].vector_to(pts[1]),pts[0].vector_to(pts[2])) horizPoints = pts.map { |pt| pt.transform(t1.inverse) } # Sort by X and Y points = sort_points_by_x_y(horizPoints) # Graham l_upper = [ points[0], points[1] ] 2.upto(points.length - 1) do |i| l_upper << points[i] while l_upper.length > 2 && !right_turn?(l_upper.last(3)) l_upper.delete_at(-2) end end l_lower = [ points[-1], points[-2] ] (points.length - 3).downto(0) do |i| l_lower << points[i] while l_lower.length > 2 && !right_turn?(l_lower.last(3)) l_lower.delete_at(-2) end end l_lower.delete_at(0) l_lower.delete_at(-1) # Reset convex hull to its original transform hull=(l_upper + l_lower).map! { |pt| pt.transform(t1) } # draw hull Sketchup.active_model.entities.add_line(hull) Sketchup.active_model.entities.add_line(hull.last,hull.first) end def right_turn?(points) p, q, r = points return (determinant_3x3([1,p.x,p.y,1,q.x,q.y,1,r.x,r.y]) < 0.0) end def determinant_3x3(array) a,b,c,d,e,f,g,h,i = array return ((a*e*i) - (a*f*h) + (b*f*g) - (b*d*i) + (c*d*h) - (c*e*g)) end def sort_points_by_x_y(points) return points.sort! { |a,b| a.x==b.x ? a.y <=> b.y ; a.x <=> b.x } end
    • Didier BurD

      No constructor for Vertex object ?

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      6
      0 Votes
      6 Posts
      410 Views
      TIGT
      @thomthom said: @tig said: If you think about it a Vertex can't exist without an Edge ! No in SketchUp world - but you can create stand-alone vertices in 3DsMax. I was talking "in Sketchup World"... where else are we? You can make a 'guide-point' in Sketchup - cpt=entities.add.cpoint(pt) but it isn't a vertex - cpt.position will return its Point3d though... cpoints don't 'stick' to anything so they are relatively useless as 'vertices' but can form useful 'markers for future vertices - like 3d-mesh made from a points cloud...
    • Didier BurD

      A way to avoid that ?

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      29
      0 Votes
      29 Posts
      12k Views
      nikusknxN
      Update for Sketchup 2014 : require "Win32API.rb msg = "\000" * 36 peekMessage = Win32API.new('user32','PeekMessage' , 'PLIII', 'I') peekMessage.call( msg, 0, 0, 0, 0x0000 ) != 0
    • Didier BurD

      Strange warning

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      3
      0 Votes
      3 Posts
      220 Views
      Dan RathbunD
      ** Please, could you change the topic title to "Warning: Float out of range" @didier bur said: def myMethod() > x=y=z=0.0 When loading the rb file, this message appears in the console: @unknownuser said: warning: Float 0.0 out of range Do you get the same warning if you do: def myMethod() x=y=z=(0.0e0) end I get no warnings at all at the Console.
    • Didier BurD

      J. Foltz Ruby Toolbar and SU8 (not working ?)

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      7
      0 Votes
      7 Posts
      388 Views
      Didier BurD
      My version of Win32api.so is 20547 bytes, and works with su 7.1, not with su8. I've found a very old one that was working with su5 and 6, that is only 7168 bytes, and it works with su8 ! Attached below, just in case (must be tested with other plugins that requires it). @Thomthom: fr_rubytoolbar.rb is just a translation of the menus and tooltips, no changes made to the code itself. See this thread to get the old version that's working for me on SU7 and 8: http://forums.sketchucation.com/viewtopic.php?f=323&t=33955&p=298650#p298650
    • Didier BurD

      [Plugin] Compo Spray 1.4.2 Updated

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      271
      0 Votes
      271 Posts
      301k Views
      majidM
      Hi all, I am wondering if CompoSpray works on SU 2023-24?
    • 1
    • 2
    • 3
    • 4
    • 5
    • 8
    • 9
    • 3 / 9