[Plugin][$] JointPushPull Interactive - v4.8a - 30 Mar 24
-
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
-
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
-
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
-
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.
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
-
@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
-
Thank you very much Fredo
Happy and good new year to you
and a little German german quick card
Esense 3d -
Quick card German
-
It appears RoundPP refuses to deal with obtuse angle geometry.
-
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 !
-
@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
-
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.zscaleUI::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_factorsModel.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,
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
-
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 and Fredo
You have the notion you look like aliens with superpowers to the rest of us mortals down here...don't you?
-
@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
-
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:56Does 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!!
-
It may depend on your model.
So the best is to post it or PM it to me.
Fredo
-
-
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
-
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.
Advertisement