sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin][$] JointPushPull Interactive - v4.9a - 02 Apr 25

    Scheduled Pinned Locked Moved Plugins
    617 Posts 155 Posters 590.8k Views 154 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • fredo6F Offline
      fredo6
      last edited by

      Joao

      Thanks for your comment. I'll think about a flag for different style of GUI.

      But keep in mind that Sketchup itself is not always so consistent in its GUI.

      @jql said:

      For instance that CTRL for toggling Push Pull and Grow, couldn't it be made with ALT instead

      precisely, CTRL is used by the native Push Pull to toggle between PushPull and Grow! Indeed, since SU Push Pull is single-face, the native tool does not have a problem of multiple selection. So it does not matter for SU in this case.

      More generally the CTRL, SHIFT and ALT modifier are used for various purpose depending on the Sketchup tool. It just happens that the Selection Tool uses CTRL for cumulative selection, but CTRL is used for copy mode in the Move Tool, is ignored in the LineTool and is used for toggling between radius / chord anchor when you draw a polygon.

      Fredo

      1 Reply Last reply Reply Quote 0
      • JQLJ Offline
        JQL
        last edited by

        Yes that is inconsistent some times.

        I think the command modifiers in Sketchup should stick with ALT. Alt is seldomly used but it distinguishes itself clearly from CTRL/SHIFT. It's main appearance might be autofold and on the Paint Bucket tool...

        I guess CTRL is used everytime a plus sign appears in a tool and that is consistent even with the selection tool. However, your plugins are really selection dependant and if you want to have a way to interactively select as the command is operating (as you do) without the selection process affecting the actual command geometrical effect procedure, I think there should be a moment/event where that triggers selection mode, suspending that procedure while in the selection mode until the selection mode is finished.

        Natively this moment for interactive selection is done by interrupting the command with the select tool and I don't see this as a bad option in native commands.

        Your commands however are much more complex and you have to define a lot of parameters while in the command. That poses a question that I think is the question you're trying to solve (but I might be wrong):

        If the selection isn't correctly made and you understand it in the middle of the command process if you'd cancel the command (like in native commands) you'd loose all the settings defined until then. This of course would imply user frustration... In sketchup commands that frustration isn't evident because all commands are simpler than yours.

        The solution for this in your case would be something like:
        1 - Simplifying your commands - I don't suppose this could be done without loosing functionality and no one wants that (I know I don't!)
        2 - Finding a way to cancel the command without loosing configured options so one can select the right elements and then restart command - This might be stupid as sometimes we want to cancel the command because of misdefined parameters and if canceling is equivalent to assuming currently defined parameters we might be ruining functionality. Maybe this could be solved by a parameters history where FredoTools record not only the last assumed parameters on a successful operation but also a number of parameters defined before. Maybe even a favorites for parameters (complexity going sky high...)
        3 - Defining a clearer selection and reselection methodology within the command process wich doesn't interfere with geometry creation procedure (for me this should be the way) - Hit a key or activate a button with the mouse, and you're on selection mode. Activate the command with a preselection and it would assume the preselection unless you toggled selection mode. Activate the command with no selection and selection mode would be on. I insist that, for me, it would be completely logical that this selection mode was not a toggle, but would be activated whenever SHIFT or CTRL would be pressed down and would remain active until release.

        Now that I think on this deeper and after you presented me your favorite selection method, I actually think toggle by pressing SHIFT/CTRL untoggling by releasing, makes more sense inside your plugins, than on regular sketchup work...

        Well I'm sure you'll sort out what's the best option considering all.

        Thanks again for your consideration,

        João

        www.casca.pt
        Visit us on facebook!

        1 Reply Last reply Reply Quote 0
        • JQLJ Offline
          JQL
          last edited by

          Yes that is inconsistent some times.

          I think the command modifiers in Sketchup should stick with ALT. Alt is seldomly used but it distinguishes itself clearly from CTRL/SHIFT. It's main appearance might be autofold and on the Paint Bucket tool...

          I guess CTRL is used everytime a plus sign appears in a tool and that is consistent even with the selection tool. However, your plugins are really selection dependant and if you want to have a way to interactively select as the command is operating (as you do) without the selection process affecting the actual command geometrical effect procedure, I think there should be a moment/event where that triggers selection mode, suspending that procedure while in the selection mode until the selection mode is finished.

          Natively this moment for interactive selection is done by interrupting the command with the select tool and I don't see this as a bad option in native commands.

          Your commands however are much more complex and you have to define a lot of parameters while in the command. That poses a question that I think is the question you're trying to solve (but I might be wrong):

          If the selection isn't correctly made and you understand it in the middle of the command process if you'd cancel the command (like in native commands) you'd loose all the settings defined until then. This of course would imply user frustration... In sketchup commands that frustration isn't evident because all commands are simpler than yours.

          The solution for this in your case would be something like:
          1 - Simplifying your commands - I don't suppose this could be done without loosing functionality and no one wants that (I know I don't!)
          2 - Finding a way to cancel the command without loosing configured options so one can select the right elements and then restart command - This might be stupid as sometimes we want to cancel the command because of misdefined parameters and if canceling is equivalent to assuming currently defined parameters we might be ruining functionality. Maybe this could be solved by a parameters history where FredoTools record not only the last assumed parameters on a successful operation but also a number of parameters defined before. Maybe even a favorites for parameters (complexity going sky high...)
          3 - Defining a clearer selection and reselection methodology within the command process wich doesn't interfere with geometry creation procedure (for me this should be the way) - Hit a key or activate a button with the mouse, and you're on selection mode. Activate the command with a preselection and it would assume the preselection unless you toggled selection mode. Activate the command with no selection and selection mode would be on. I insist that, for me, it would be completely logical that this selection mode was not a toggle, but would be activated whenever SHIFT or CTRL would be pressed down and would remain active until release.

          Now that I think on this deeper and after you presented me your favorite selection method, I actually think toggle by pressing SHIFT/CTRL untoggling by releasing, makes more sense inside your plugins, than on regular sketchup work...

          Well I'm sure you'll sort out what's the best option considering all.

          Thanks again for your consideration,

          João

          www.casca.pt
          Visit us on facebook!

          1 Reply Last reply Reply Quote 0
          • fredo6F Offline
            fredo6
            last edited by

            On the multiple selection, the problem is the following:

            If you click/release on face and if it was to activate the 'free' drag push-pull, then whenever you move the mouse, the initial face would be push-pulled interactively. This would make it impossible to select a second face.

            Illustration with the Standard Sketchup Push Pull.

            JPP Multiple selection issue.gif

            In most cases you don't need to drag faces. Just select them, make sure the cursor is on one of the selected face and type the offset in the VCB (or just Return or Double-click is the offset value is already OK).

            It is only when you want to set the face with respect to a reference point in the model that you need to interactively drag the faces.

            Fredo

            1 Reply Last reply Reply Quote 0
            • JQLJ Offline
              JQL
              last edited by

              @fredo6 said:

              It is only when you want to set the face with respect to a reference point in the model that you need to interactively drag the faces.

              Fredo

              This is probably why I'm the one bringing up the subject. This the process I use 90% of the time with sketchup native tools and JPP. The fact is that the functionallity you offer is flawless. There is nothing to point on that regard, so I actually feel ashamed of myself by seeming that I'm somehow bragging about UI.

              The thing is that the way I always worked on Architecture is all about references to other geometry - alignements, porportions, visual axis, middle points, endpoints,... - as that adds geometric rule to space. I almos never think of space as an addition/subtraction of numbers. The thing that made me fall in love with Sketchup is no other than the inference system wich is an almost perfect system for the way I study space. I bet even if inference.

              I feel that if there was a way to toggle selection on/off that free movement could break temporarily and then continue freely.

              But don't mind about this questions of mine though, The functionality is there and I've been using your tools long enough already to know what to expect. An though they're feeling different from SU they do work! They do facilitate our life tremendously! And that is the purpose after all!

              Thanks again,

              João

              www.casca.pt
              Visit us on facebook!

              1 Reply Last reply Reply Quote 0
              • S Offline
                schnydix
                last edited by

                Thank you very much Fredo
                Happy and good new year to you
                and a little German german quick card
                Esense 3d

                1 Reply Last reply Reply Quote 0
                • S Offline
                  schnydix
                  last edited by

                  Quick card German


                  JointPushPull Summary of Tools deutsch.jpg

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    rv1974
                    last edited by

                    It appears RoundPP refuses to deal with obtuse angle geometry.


                    round.skp


                    Ruby Error - Round Push Pull - 14-Jan-15 10_10_15.txt

                    1 Reply Last reply Reply Quote 0
                    • ely862meE Offline
                      ely862me
                      last edited by

                      Hi guys.
                      Do you have any idea why JPP is not working ?(for a friend)
                      The other tools from you (Fredo) , are working but this one doesn't .
                      I have the latest Libfredo, I use Sketchup 2015 64 bit . I have also tested it with no other plugins in the Plugins folder. In vain.

                      The plugin seems installed, all the incons are alright . When I select one of its tools and try to run it on a face it just highlights a polygon or a triangle and then nothing. Somehow it doesn's select the surface as it should !
                      The Face selection is set to Surface, but it does not select the surface, it is only highlighting a polygon that is under the surface .

                      I ran out of ideas.

                      EDITED

                      I have read back and found out about the DC being disabled. I have checked the behavior on my own Sketchup with them turned off and this seems to be it . Lets see if it works for my friend. I am not sure if it is written in the documentation about this, but could you post it at the conflicts ? Thank you !

                      Elisei (sketchupper)


                      Before no life was done on Earth it was THE LIFE ITSELF...GOD
                      Come and See EliseiDesign

                      1 Reply Last reply Reply Quote 0
                      • fredo6F Offline
                        fredo6
                        last edited by

                        @ely862me said:

                        I have read back and found out about the DC being disabled. I have checked the behavior on my own Sketchup with them turned off and this seems to be it . Lets see if it works for my friend. I am not sure if it is written in the documentation about this, but could you post it at the conflicts ? Thank you !

                        What is "DC"? Is it Dynamic components?
                        I don't know why there would be a conflict.

                        Thanks for feedback

                        Fredo

                        1 Reply Last reply Reply Quote 0
                        • TIGT Offline
                          TIG Moderator
                          last edited by

                          DC rubies add several additional methods into the base Sketchup and related Classes.
                          If you have used any of these methods in your code, then IF those DC rubies have not loaded you will get errors.

                          These include:

                          ` Geom::Transformation.rotx
                          Geom::Transformation.roty
                          Geom::Transformation.rotz
                          Geom::Transformation.xscale
                          Geom::Transformation.yscale
                          Geom::Transformation.zscale

                          UI::WebDialog.last_width
                          UI::WebDialog.last_width=
                          UI::WebDialog.last_height
                          UI::WebDialog.last_height=

                          Sketchup::ComponentInstance.copy
                          Sketchup::ComponentInstance.description
                          Sketchup::Drawingelement.local_transformation
                          Sketchup::Drawingelement.scaled_size
                          Sketchup::Drawingelement.unscaled_size
                          Sketchup::Drawingelement.set_last_size
                          Sketchup::Drawingelement.last_scaling_factors

                          Model.typename
                          Model.entityID
                          Model.delete_attribute
                          Model.layer`

                          There are other " DC..." classes too, but I'd expect you won't have used those !

                          TIG

                          1 Reply Last reply Reply Quote 0
                          • fredo6F Offline
                            fredo6
                            last edited by

                            TIG,

                            Thanks for clarification.

                            I think I may use model.entityID. Actually I thought it was a native method (which would make sense).

                            I have to check my code to track these instances.

                            Fredo

                            1 Reply Last reply Reply Quote 0
                            • TIGT Offline
                              TIG Moderator
                              last edited by

                              Model.entityID is a weird one it always returns "Model", so unsure why it's used... 😲

                              You can trap it with something like:

                              if defined?(Sketchup.active_model.entityID)
                                mid = Sketchup.active_model.entityID
                              else
                                mid = "Model"
                              end
                              

                              BUT then mid = "Model" is always right - so why not use the simplest fix !

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • JQLJ Offline
                                JQL
                                last edited by

                                @Tig and Fredo

                                You have the notion you look like aliens with superpowers to the rest of us mortals down here...don't you?

                                www.casca.pt
                                Visit us on facebook!

                                1 Reply Last reply Reply Quote 0
                                • fredo6F Offline
                                  fredo6
                                  last edited by

                                  @TIG:

                                  Now I know this is not a native method, I will be careful. In fact this method is convenient because you can use entityID on a parent whether Group, ComponentInstance or active model.

                                  Fredo

                                  1 Reply Last reply Reply Quote 0
                                  • J Offline
                                    j03150315
                                    last edited by

                                    This tool is amazing! However, I encountered some error with the follow push/pull.
                                    When I tried to use follow push/pull, the following error occurred:

                                    undefined method `angle_between' for nil:NilClass

                                    Ruby File Line Method

                                    JointPushPullAlgo.rb 1339 vertex_average_factor
                                    JointPushPullAlgo.rb 1089 follow_compute_direction
                                    JointPushPullAlgo.rb 1056 block in block_prepare_vertices_F
                                    JointPushPullAlgo.rb 1056 each
                                    JointPushPullAlgo.rb 1056 block_prepare_vertices_F
                                    JointPushPullAlgo.rb 890 block in block_prepare_vertices_all
                                    JointPushPullAlgo.rb 890 each
                                    JointPushPullAlgo.rb 890 block_prepare_vertices_all
                                    JointPushPullAlgo.rb 500 algo_prepare_calculation_exec
                                    JointPushPullAlgo.rb 477 algo_prepare_calculation
                                    JointPushPullTool.rb 692 dragging_start
                                    JointPushPullTool.rb 1190 onMouseMove
                                    22-Feb-15 14:56:56

                                    Does anyone know why?? I followed exactly what the video showed, push/pull the top of a cone shaped object.

                                    Would love some help! Thank you!!

                                    1 Reply Last reply Reply Quote 0
                                    • fredo6F Offline
                                      fredo6
                                      last edited by

                                      It may depend on your model.

                                      So the best is to post it or PM it to me.

                                      Fredo

                                      1 Reply Last reply Reply Quote 0
                                      • cottyC Offline
                                        cotty
                                        last edited by

                                        Hi Fredo, I've experienced this round push pull error for this simple geometry...

                                        rpperror.jpg


                                        rpperror.txt

                                        my SketchUp gallery

                                        1 Reply Last reply Reply Quote 0
                                        • erkanE Offline
                                          erkan
                                          last edited by

                                          I'm getting the same error in a specific geometry, any plans of implementing the safer generation method?

                                          @fredo6 said:

                                          @stamatispsarras said:

                                          I am also getting this error in a complex model.
                                          Any ideas what I should avoid when modeling, so it wont happen again?

                                          Unfortunately, these kind of errors may happen with complex models where the generated offset surface contains overlaps. This is due to the fast method of generation. I have the plan to have a default safe generation method to takeover when there are such errors. Should go in a next release.

                                          Fredo

                                          1 Reply Last reply Reply Quote 0
                                          • L Offline
                                            littleche
                                            last edited by

                                            HI fredo

                                            this face have problem with joint pull push plugin but easily work with puss pull tool in sketchup !
                                            It was very surprising for me! Since this face is very Simple !

                                            I uploud this file . I thank you for the review explained above.


                                            P&P.skp

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 9
                                            • 10
                                            • 11
                                            • 12
                                            • 13
                                            • 30
                                            • 31
                                            • 11 / 31
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement