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

    Topics

    • G

      [Plugin] GKWare Simple DXF

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      6
      0 Votes
      6 Posts
      5k Views
      A
      Hi there ! First of all thanks for making plugins. Which version of SU is needed to run the plugin ? Doesn't seem to work on SU Make 2015. Cheers
    • G

      Mac OS materials issue

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      2
      0 Votes
      2 Posts
      2k Views
      D
      probably same reason as this... https://forums.sketchup.com/t/more-mac-color-panel-woes/57619?u=john_drivenupthewall john
    • G

      Windows spawn program

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      3
      0 Votes
      3 Posts
      538 Views
      G
      Of course !! Thanks Tig
    • G

      [Plugin] Window Maker

      Watching Ignoring Scheduled Pinned Locked Moved Extensions & Applications Discussions extensions
      26
      0 Votes
      26 Posts
      8k Views
      G
      What is your problem - can you provide a sketchup model.
    • G

      Determine if edge would split face

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      6
      0 Votes
      6 Posts
      1k Views
      G
      Thanks guys - this gives me some good direction. I like Sam's strategy where he makes use of the raytest.
    • G

      Transform face to a known plane

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      15
      0 Votes
      15 Posts
      2k Views
      C
      @fredo6 said: > tr_axe_inv = Geom;;Transformation.axes(face.vertices[0].position, *(face.normal.axes)).inverse > Neat! Just saved fifteen lines of code in a script...
    • G

      Start_operation and commit_operation issue

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      5
      0 Votes
      5 Posts
      592 Views
      G
      Sorry, Start and commit are not nested. A few lines of debug code proves that. Still at a loss.
    • G

      [Plugin] GKWare Cabinet Maker

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      625
      0 Votes
      625 Posts
      413k Views
      G
      Contact me directly through CabMaker32 website https://cabmaker32.com/contact/
    • G

      Exit a script before it completes

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      4
      0 Votes
      4 Posts
      417 Views
      G
      My client wants to be able to stop the process. I've got him copying a file named stop.txt into a folder. I check it every loop. Works great.
    • G

      Dynamic components double action

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      16
      0 Votes
      16 Posts
      816 Views
      G
      I have now coded the dynamic attributes into my plugin for bifold doors. There was a gotcha that I wasn't expecting. It took me a lot longer to understand what was going on. I started out just calling the script over and over to create up to 4 doors which handles a double bifold. Three problems, code was starting to get messy, execution was starting to take more time and memory and storage was increasing too much. So I now create 1 door create a second instance then flip it. Then take the bifold (2 doors) and instance it and flip them. This caused havoc. As soon as I tried (in code) to change the axes of the second door the door no longer behaved as expected. Turns out that Rotz on the flipped door changed from 0 to -180 and all I did was flip the door. Of course if you flip the door in the editor the rotz stays at 0. flip the sibling tr = Geom::Transformation.scaling(sibling.bounds.center, -1, 1, 1) sibling.transform!(tr) If I change axes after flipping door then the door moved to an unexpected place. If I change the axes before flipping the door the axes gets flipped as well causing the door to move over. The solution I came up with was to create a parent container to hold the door. Flip the door. Since the parent's rotz stays at 0 I could reference the grand parents angle. Creating another level of nested containers effectively insulates the animate coding from the effects of flipping the door.
    • G

      Find Intersection of 2 curves

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      4
      0 Votes
      4 Posts
      460 Views
      C
      From a time complexity perspective I think the problem is inherently O(n^2) (which means that your code can't be any simpler), also, if the curves have few segments and you already know enough to throw away half of them, then I would say your code is probably close to optimal. In general, the simplest way to gain speed is to use bounding boxes in various ways like reducing the input to segments in the bounding box intersection between the curves and so on, however, there are constant costs associated with this so it may not be a gain on small inputs.
    • G

      Create component with different axes

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      13
      0 Votes
      13 Posts
      385 Views
      JQLJ
      @garry k said: JQL Flip along axis is great however, if the component has an interaction like rotate to simulate a door opening then you will find that the component reverts back to it's original state (you loose the flip). What I need to do is change axes. Funny doesn't happen to me. But I don't question your need to change axis.
    • G

      [Plugin] GKWare Stair Maker

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      49
      0 Votes
      49 Posts
      12k Views
      G
      Error 101 means the internet connection time out on your computer. Stairmaker needs to connect to my web service once every week.
    • G

      Cross domain testing with ajax and JSONP

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      7
      0 Votes
      7 Posts
      775 Views
      G
      I was hoping to do a POST because I will be updating a database with my real JSONP call. Unfortunately when I do a check on the php side I see that the call is turned into a GET. I agree that a timeout and an on error function is a good idea. My main question is will this work with OSX Lion. I was hoping that someone could try it out and tell me.
    • G

      Extrusion sometimes reverses all faces

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      6
      0 Votes
      6 Posts
      228 Views
      G
      When it comes to push pull I understand that it does depend upon the winding (clockwise or counter clockwise) of the polygon. This is consistent and repeatable. However, with an extrusion that has a closed polyline as a path it is not repeatable. I can guarantee that the points for the face are always created exactly the same way - since they come out of a txt file. I store x and y points at 1/10000 decimal inches. The z values are set as 1/2 of the height of the door panel. I also calculate the path as x and y points which is a closed polyline. The Y values are 0. face = group.entities().add_face(face_pts) path = group.entities().add_curve(path_pts) face.followme(path) If I build the door at [0,0,0] look at it and then do a ctrl_z and repeat this process, I get a results where the the extrusion is sometimes reversed and sometimes not. It appears random - although the polyline and face are always created exactly the same way. When I create my curved stair stringers using fill_from_mesh I store each polygon's points with a clockwise winding. So far this has proved 100% predictable and repeatable. In the early days I used to do a lot of work with GIS and Windows GDI and create polypolygon this way. If you wanted to create a continent with a large lake that has an island that has a body of water you would have a series of 4 diminishing polygons each completely residing within each other. The outer most polygon would be clockwise (the continent) the large lake would be counter clockwise, the island would be clockwise and the body of water in the island would be counter clockwise. I found that the sketchup works essentially the same way with meshes.
    • G

      Component best practices

      Watching Ignoring Scheduled Pinned Locked Moved SketchUp Components, Materials & Styles sketchup
      6
      0 Votes
      6 Posts
      2k Views
      KrisidiousK
      @dave r said: Garry, that looks good. @krisidious said: I hate construction points... Mainly because it's such a pain to get to them and delete them. Really? Edit>Delete Guides is too difficult? How about doing what I did and make a keyboard shortcut. I thought that only deleted guides... I didn't know construction points were "guides", thought that was for construction guide lines only. Nice to know.
    • G

      Storing Geometry

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      8
      0 Votes
      8 Posts
      415 Views
      G
      Thankyou - this will be a good read! I currently test on SU 7, SU 8, SU 2013 and SU 2014. The work around is easy enough.
    • G

      Transform axes

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      6
      0 Votes
      6 Posts
      250 Views
      TIGT
      By default a texture's 'grain' always follows that axis, so your make-the-parts-rotated_and_then-rotate-them-into-place method is a winner. I think in your case it's the best approach... However, FYI you could also change the orientation of a texture for certain faces 'in code' - just like you might when using the manual 'Texture' tool - from the context-menu when a textured face is selected. I [and others] have written several UV / Texture tools - which move, scale and rotate textures - look at their code for ways to transform some UVs and then apply them to a face.material.texture... http://sketchucation.com/pluginstore?pln=TextureRandomizer http://sketchucation.com/pluginstore?pln=TIG-TextureTools
    • G

      Points and directionality

      Watching Ignoring Scheduled Pinned Locked Moved Developers' Forum
      7
      0 Votes
      7 Posts
      295 Views
      G
      TIG, I didn't need the parallel code. I wanted to return the original pts and the flattened one pt1 = @ip1.position pt2 = @ip2.position p1 = Geom;;Point3d.new(pt1.x, pt1.y, [pt1.z, pt2.z].min) p2 = Geom;;Point3d.new(pt2.x, pt2.y, [pt1.z, pt2.z].min) eye = Sketchup.active_model.active_view.camera.eye ve1 = eye.vector_to(p1) ve2 = eye.vector_to(p2) return [pt2,pt1,p2] if( ve1.cross(ve2).z > 0 ) [pt1,pt2,p1] [image: KvVy_doorsaroundcircle.JPG]
    • G

      [Plugin] GKWare Door Maker

      Watching Ignoring Scheduled Pinned Locked Moved Plugins
      46
      0 Votes
      46 Posts
      8k Views
      G
      New version 1.0.49 now available for download Version number now shows up on title bar of web dialog Now uses same License strategy as cabmaker Check license now first deletes old license and then updates license Has preferred setting for users who have license issues
    • 1
    • 2
    • 1 / 2