[Plugin][$] JointPushPull Interactive - v4.8a - 30 Mar 24
-
You could, but Fredo regularly visits here, so he should see your post/plight soon...
-
Does it load properly ? Yes it load properly
Have you read and understood its usage/instructions ? i understand the usage, in older version of SU i used it everyday.
Are there any error messages in the Ruby Console when you try to use it ?
Have you installed the latest LibFredo ? I installed latest and restarted my SU.
I have delete the lib and reinstall. but it dont help.-and yes, this is the error i found on my ruby console-
This when i load the plugin
Error; #<NoMethodError; undefined method `entityID' for #<Sketchup;;Model;0x9ee8468 @cache_file_name=nil>> C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/body_Lib6FacePicker.rb;791;in `selection_add_remove_faces' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/body_Lib6FacePicker.rb;731;in `selection_initial' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/JointPushPullTool.rb;565;in `handle_initial_selection' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/JointPushPullTool.rb;514;in `activate' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/JointPushPullTool.rb;64;in `select_tool' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/JointPushPullTool.rb;64;in `action__mapping' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/Lib6Plugin.rb;133;in `call' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/Lib6Plugin.rb;133;in `launch_action' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/bootstrap_JointPushPull.rb;81;in `launch_action' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/bootstrap_JointPushPull.rb;128;in `block in declare_command' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/Lib6Plugin.rb;1080;in `call' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/Lib6Plugin.rb;1080;in `command_invoke' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/Lib6Plugin.rb;1062;in `block (2 levels) in build_config_commands' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/Lib6Traductor.rb;1077;in `call' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/Lib6Traductor.rb;1077;in `block in add_command' SketchUp;1;in `call'
This when i select the face
Error; #<NoMethodError; undefined method `entityID' for #<Sketchup;;Model;0x9ee8468 @cache_file_name=nil>> C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/body_Lib6FacePicker.rb;791;in `selection_add_remove_faces' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/body_Lib6FacePicker.rb;744;in `selection_validate' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/body_Lib6FacePicker.rb;622;in `selection_validate_if_add' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/JointPushPullTool.rb;676;in `selection_freeze_positions' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/JointPushPullTool.rb;1283;in `onLButtonDown' Error; #<NoMethodError; undefined method `entityID' for #<Sketchup;;Model;0x9ee8468 @cache_file_name=nil>> C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/body_Lib6FacePicker.rb;791;in `selection_add_remove_faces' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/body_Lib6FacePicker.rb;744;in `selection_validate' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_!LibFredo6/body_Lib6FacePicker.rb;916;in `onLButtonUp' C;/Users/Foxy/AppData/Roaming/SketchUp/SketchUp 2015/SketchUp/Plugins/Fredo6_JointPushPull/JointPushPullTool.rb;1315;in `onLButtonUp'
Please Help.
-
The error on <model>.entityID is very strange because in Sketchup this is valid (it returns "Model".
Do you get this error for a sepcific model or always?
Fredo
-
@fredo6 said:
The error on <model>.entityID is very strange because in Sketchup this is valid (it returns "Model".
Do you get this error for a sepcific model or always?
Fredo
Actually, this is Dynamic Component that adds that to the Model class. It adds a few methods to make the Model class blend with the regular Entity class.
The changes DC do to the SketchUp API classes makes sense - but unfortunately they where added as part of DC and not the API. So if DC is disabled they won't work.
I personally want them merged into the official API - though there are challenges as some of them are not ideal for the API, as they have some failing edge cases that was good enough for DC, but not for an API. Need to be careful to reduce breaking things. Hence it's not been done yet. -
@fredo6 said:
The error on <model>.entityID is very strange because in Sketchup this is valid (it returns "Model".
Do you get this error for a sepcific model or always?
Fredo
@tt_su said:
Actually, this is Dynamic Component that adds that to the Model class. It adds a few methods to make the Model class blend with the regular Entity class.
The changes DC do to the SketchUp API classes makes sense - but unfortunately they where added as part of DC and not the API. So if DC is disabled they won't work.
I personally want them merged into the official API - though there are challenges as some of them are not ideal for the API, as they have some failing edge cases that was good enough for DC, but not for an API. Need to be careful to reduce breaking things. Hence it's not been done yet.its fixed after i enabled the DC.
yes i disable the DC because of never used it. thanx for the respond. -
Everytime I try to use Joint push pull, it freezes at 63 %.. Please help, I really need that tool for shape I'm working on it.. I'm using SU 15 pro. Thank you!!
-
Do you mean by 'every time' - 'whatever I try to use it on [even the simplest box]...'
OR do you mean - 'whenever I try to use it on a particular set of geometry...'First off, we must assume you have installed the latest version of this tool and the required Lib ??
If it's the first problem, then something is up with either the way the tool is installed or you are trying to use it - as it works faultlessly for most of us.
What settings etc are you using ?If it's the second problem, then there's probably something wrong with your geometry...
Can you post a SKP of it so that we can check it out, and thereafter advise you more constructively... -
Feature Request.
Hi, Fredo.
I love your plugin, and have been using it very well for awhile now.
Because of my workflow, there is a tiny feature request I would like to make if it isn't too difficult.
Let me know if there is a way to produce the result that is shown on the right, as supposed to the one on the left.
(Maybe there is a way, I suspect with "Borders" and different type of push-pull modes, but no luck so far)
I would like two or more faces connected to be pushed all-together, but no edges created on the sides.
Thank you in advance.
-
You have just the line on the top and not on the bottom?
Maybe you can use remove inner faces by Wikii ?
And Clean Up by Thomthom on the selection of the Vertical + bottom faces ?Joint PushPull + Remove inner face + CleanUP = your exact result on the right!
( here in Xray Mode)
Normal
-
Do you mean like this?
-
looks like he also wants the original edge removed. Maybe a "too" special case? There are so many options in this tools as it is.
-
@unknownuser said:
Do you mean like this?
Seems there is always a line on the bottom!
he wants not ? -
@pilou said:
You have just the line on the top and not on the bottom?
Maybe you can use remove inner faces by Wikii ?
And Clean Up by Thomthom on the selection of the Vertical + bottom faces ?Joint PushPull + Remove inner face + CleanUP = your exact result on the right!
( here in Xray Mode)
[attachment=1:338lojyb]<!-- ia1 -->right.jpg<!-- ia1 -->[/attachment:338lojyb]Normal[attachment=0:338lojyb]<!-- ia0 -->right1.jpg<!-- ia0 -->[/attachment:338lojyb]
Thank you for your comment.
Yes, I just wanted the line on top, not on the bottom.
Also, all other functions create hidden/soften line on the side (it will be visible when hidden geometry is enabled)
I know there is a work-around with cleanup and some other plugins. But I do hundreds of these sometimes.
I was just looking for a easier solution if it wasn't so troublesome.
@pbacot said:
looks like he also wants the original edge removed. Maybe a "too" special case? There are so many options in this tools as it is.
A good point.
It does have a lot of options, I thought maybe an option for my purpose hidden somewhere.
if not, maybe a easy fix. -
@unknownuser said:
But I do hundreds of these sometimes.
yes but sometimes with a tricky simple selection and the good plugin
you can make that in one second! -
edit3: there used to be an angry rant here from me, which was unjustified and stemmed from time pressure and my inability to, in fact, read the manual (or watch the tutorials).
so, sorry to those who had to read it, and i apologize for using this forum to vent my frustration.
have a nicer day than I'm having,
~eidam -
Fredo,
I really love JPP and can't thank you enough for allowing us to freely use such a sophisticated and well developed plugin.
I have a couple of small questions for you that I've been strugling with on JPP but never found the nerve to pester you about...
These are little things that I always forget when working with JPP and that make me always undo the first operation I perform with it:
1 - All Sketchup's native tools allow us to define a direction and then reverse it with the "-" operator and a value for the distance. For instance a pushpull of 1m down, might be defined by pushpulling, moving up and then hit "-1" on the VCB. JPP doesn't work like that and always assumes the direction of the side of the face we pick as the positive direction not the direction of the movement we do when dragging, wich for me is not intuitive within the Sketchup environment.
2 - We have to click+drag to define a distance relative to existing geometry. This poses several problems when we have to orbit/pan around the model to find that geometry on the model while keeping the mouse button pressed down. Is there any possibility to make the input for inference be one click for start moving and second click to apply inference?
3 - This would probably have to change the way selection is made on the fly... With standard sketchup it is made by using the shift and ctrl modifier keys. Is it possible to also replicate that behaviour?
4 - On Sketchup tools when you preselect something that preselection is not changeable.
5 - After the selection is defined you input the value on the VCB and press return/enter and the command assumes the distance. Is this possible to replicate too? Right now JPP accepts the VCB input but doesn't accept return or enter to assume the value.
I guess all of these happen because you want to define several input methods and have found this the better way, but maybe the original Sketchup input methods are compatible with all the complexity of your plugin.
I can't imagine how much work would be involved in this, but if it is simple enough could you consider using methods more similar to Sketchup native methods or maybe allow us to define our own input methods?
Thanks in advance and thanks once again for this wonderful plugin,
Best regards and happy new year,
Joรฃo
-
-
Joao,
Thanks a lot for your comments. It is actually not so frequent to get documented and accurate feedback.
JPP 3.0 has a more complex and versatile UI because it tries to address many requests, mainly:
- multiple interactive selection (and thus unselection)
- support of pre-selection
- work across boundaries of Groups / Components
- support of interactive drag in order to set the offet by reference to points picked in the model
It is not easy to comply with the 'standard(s)' of Sketchup UI, because the situation is somehow different when you deal with multiple faces and editable interactive selection (SU Push Pull only consider the one face under the cursor!).
So here is a kind of answer to your comments:
@jql said:
1 - All Sketchup's native tools allow us to define a direction and then reverse it with the "-" operator and a value for the distance. For instance a pushpull of 1m down, might be defined by pushpulling, moving up and then hit "-1" on the VCB. JPP doesn't work like that and always assumes the direction of the side of the face we pick as the positive direction not the direction of the movement we do when dragging, wich for me is not intuitive within the Sketchup environment.
I know that. The problem is that when you have multi-faces not necessarily connected, the concept of Mouse direction is not obvious, except for the face under the mouse. So I use this convention of front-face direction as Positive.
@jql said:
2 - We have to click+drag to define a distance relative to existing geometry. This poses several problems when we have to orbit/pan around the model to find that geometry on the model while keeping the mouse button pressed down. Is there any possibility to make the input for inference be one click for start moving and second click to apply inference?
That's also the price to pay for being able to click on several faces in a row.
The trick for 'free' dragging is simply to click again on the last face selected. Then, with the mouse button released, you can move the offset around.@jql said:
3 - This would probably have to change the way selection is made on the fly... With standard sketchup it is made by using the shift and ctrl modifier keys. Is it possible to also replicate that behaviour?
Many users, among which I am, prefer an additive selection by click over click. With modifiers, you may accidentally not press CTRL or Shift and lose the whole selection.
In addition, in JPP Ctrl is used to toggle between the Grow mode and the Push Pull mode.@jql said:
4 - On Sketchup tools when you preselect something that preselection is not changeable.
I made the possibility to alter the initial selection just for flexibility and convenience.
@jql said:
5 - After the selection is defined you input the value on the VCB and press return/enter and the command assumes the distance. Is this possible to replicate too? Right now JPP accepts the VCB input but doesn't accept return or enter to assume the value.
Normally it should work, but you have to make sure that the cursor is over one of the selected face (again for the question of direction).
Note that there is a problem with the Double-Click (whhich is the alternative without keyboard). I fixed it and will publish in v3.3b.
Here is a small video to illustrate@jql said:
I guess all of these happen because you want to define several input methods and have found this the better way, but maybe the original Sketchup input methods are compatible with all the complexity of your plugin.
When working on plugins I usually try first to design something which is an extension of Sketchup GUI. But I have found that Sketchup is not so uniform, because tools are different in essence.
My guideline when I can is to try to make the workflow mouse-only when possible.Fredo
-
NEW RELEASE: JointPush Pull Interactive v3.3b - 09 Jan 15
JointPushPull Interactive 3.3b fixes a problem with the offset value used by Double-click right after launching JPP. A value typed in the VCB would be ignored.
See main post of this thread for Download of JointPushPull.
Fredo
-
@fredo6 said:
Joao,
Thanks a lot for your comments. It is actually not so frequent to get documented and accurate feedback.
JPP 3.0 has a more complex and versatile UI because it tries to address many requests, mainly:
- multiple interactive selection (and thus unselection)
- support of pre-selection
- work across boundaries of Groups / Components
- support of interactive drag in order to set the offet by reference to points picked in the model
It is not easy to comply with the 'standard(s)' of Sketchup UI, because the situation is somehow different when you deal with multiple faces and editable interactive selection (SU Push Pull only consider the one face under the cursor!).
So here is a kind of answer to your comments:
Fredo,
Thanks for considering it and taking the time to make this extensive answer. I understand the complexity of what you want to achieve here and you have the uttermost respect of this community for all you are trying, actually successfully achieving, to push forward.
Overall, as we have discussed before on another place, I think it's a shame you had to pull off such a convuluted method of achieving your stuff. Sketchup should have the tools/framework developers need to achieve this (and even more) already built in. If I would be able to call the shots inside Trimble I would try convincing you to work with them in further developing your framework, along with some designers and other programmers so to better adapt it to sketchup core/UI and open it to every developer as a base to create extensions that have all the features you're trying to achieve:
- Interactivity;
- Extendability;
- Multiple options;
- Performance;
- Inter context workflow (inside outside groups and components);
- Functionality;
- Accuracy;
- And so on...
In the end it would start by your core functionallity but would be open to even more, with greater stability and speed and a much better integration with the sketchup workflow. Particularly JPP tools should have been made native already.
@jql said:
1 - All Sketchup's native tools allow us to define a direction and then reverse it with the "-" operator and a value for the distance. For instance a pushpull of 1m down, might be defined by pushpulling, moving up and then hit "-1" on the VCB. JPP doesn't work like that and always assumes the direction of the side of the face we pick as the positive direction not the direction of the movement we do when dragging, wich for me is not intuitive within the Sketchup environment.
I know that. The problem is that when you have multi-faces not necessarily connected, the concept of Mouse direction is not obvious, except for the face under the mouse. So I use this convention of front-face direction as Positive.[/quote]
I believe I understand you perfectly but I don't fully agree with you. The way I see it, when you know what's happening, having multi faces selected or not, won't change what you want to happen. You're selecting those faces because you want an effect to happen on them. What should be obvious is what's happening in the UI when you're interacting with the software. Your method works and very well, the only thing that I feel is that it could be the same method as with other sketchup commands.
For instance Move/copy tool can be a multi face operation and you know that when you're moving left everything is also moving left.
In JPP I understand things are harder to visualize as you push pull multiple faces at the same time and this is a multidirectional aproach on geometry.
However that doesn't change if you see a vector in the first face when so much is happening at the same time.
What really makes a difference is the preview JPP generates. That is what people intuitively look at and a visual effect that beautifully relates to what one wants to achieve. It also related how other commands in sketchup works that wuch is the WYSYWYG aproach.
When the preview is being interactively generated intuitively I think: It's moving where I want it to go then I want to move it 1 unit in that direction, then I hit 1+ENTER and it's set. However this might not be true as 1m goes back after all... And then I (the user) might or might not relate to that vector and remember that it was, after all, what defined the positive direction. I believe that in the middle of such a gorgeous and promising interactive effect, the vector becomes secondary.
[quote="fredo6":16zp6hed][quote="JQL":16zp6hed]2 - We have to click+drag to define a distance relative to existing geometry. This poses several problems when we have to orbit/pan around the model to find that geometry on the model while keeping the mouse button pressed down. Is there any possibility to make the input for inference be one click for start moving and second click to apply inference?[/quote:16zp6hed]
That's also the price to pay for being able to click on several faces in a row.
The trick for 'free' dragging is simply to click again on the last face selected. Then, with the mouse button released, you can move the offset around.[/quote:16zp6hed]Thanks for this tip. It's very helpfull. However I still fell free clicking should have priority over the click/drag aproach. Making a selection is sometimes difficult so I often don't remember what was the last faces selected. I also make a lot of selection mistakes and so I have to make corrections. Having to remember that any particular faces should be the last one to select will add to selection difficulty. Also I might think that face should be the one I to be used, but it was the face next to it after all and I can only find that after trying. Again if this was a sketchup native tool, I would hit ESC key and would be able to select another point/edge/face as reference.
[quote="fredo6":16zp6hed][quote="JQL":16zp6hed]3 - This would probably have to change the way selection is made on the fly... With standard sketchup it is made by using the shift and ctrl modifier keys. Is it possible to also replicate that behaviour?[/quote:16zp6hed]
Many users, among which I am, prefer an additive selection by click over click. With modifiers, you may accidentally not press CTRL or Shift and lose the whole selection.
In addition, in JPP Ctrl is used to toggle between the Grow mode and the Push Pull mode.[/quote:16zp6hed]This is also another great tip I had missed. What I used to feel about selection was exactly the same as you described. Now I'm used to the sketchup way and find it better. This is of course personal but the thing is that even if it is true that many users prefer other methods for selection sketchup works like that and if people are using sketchup they might be used to it. Selection method consistency avoids users having to change their frame of mind in the middle of the process.
I'm going to make a very unfair proposition for solving this issue. I know I will really look like a ridiculous spoiled bratt but I'm pretty sure you could pull this off easily and you could make it compatible with your plugins:
What about a plugin that would toggle a way selections are made inside sketchup prior to every command (or even inside commands too)? Would it be possible?
Right now people have to keep CTRL, SHIFT or CTRL+SHIFT pressed down to make selections. If a plugin would make this combos TOGGLED on and off while selecting then everything would be solved. Imagine that you are selecting some faces and press CTRL+SHIFT once. Now the selection arrow is pemanenlty with the plus and minus sign until you toggle it off or change to another toggle.
(Now I know this was just me pushing my luck... I'm sorry.)
[quote="fredo6":16zp6hed][quote="JQL":16zp6hed]4 - On Sketchup tools when you preselect something that preselection is not changeable.[/quote:16zp6hed]
I made the possibility to alter the initial selection just for flexibility and convenience.[/quote:16zp6hed]Yes I appreciate it very much. However, as this changes the way sketchup works natively, it creates an extra layer of information we have to be aware of when your plugin is active. As your plugins are already very information intensive sometimes I get confused on what's happening.
I can tell you, for instance, that the partner I work with, avoids using JPP because of that (Even if I insist it's probably one of the first essential sketchup plugins to have...)
I would suggest that when clicking CTRL, SHIFT or CTRL+SHIFT, and only then, the plugin would allow to modify selection.
[quote="fredo6":16zp6hed][quote="JQL":16zp6hed]5 - After the selection is defined you input the value on the VCB and press return/enter and the command assumes the distance. Is this possible to replicate too? Right now JPP accepts the VCB input but doesn't accept return or enter to assume the value.[/quote:16zp6hed]
Normally it should work, but you have to make sure that the cursor is over one of the selected face (again for the question of direction).
Note that there is a problem with the Double-Click (whhich is the alternative without keyboard). I fixed it and will publish in v3.3b.
Here is a small video to illustrate[/quote:16zp6hed][quote="fredo6":16zp6hed][quote="JQL":16zp6hed]I guess all of these happen because you want to define several input methods and have found this the better way, but maybe the original Sketchup input methods are compatible with all the complexity of your plugin.[/quote:16zp6hed]
When working on plugins I usually try first to design something which is an extension of Sketchup GUI. But I have found that Sketchup is not so uniform, because tools are different in essence.
My guideline when I can is to try to make the workflow mouse-only when possible.Fredo[/quote:16zp6hed][/quote]
Yes I can see how frustrating and limiting this might be for a developer and I can't thank you enough for all you achieved. It's really amazing!
However I still feel some of the sketchup behaviours and UI common practices could be applied in your plugins.
For instance that CTRL for toggling Push Pull and Grow, couldn't it be made with ALT instead, freeing CTRL and SHIFT for selection as usual in sketchup?
I hope you don't feel anyway insulted by any of the comments above. I'm honestly trying to give you a positive feedback, and hoping you find it useful.
I also feel I'm being unfair here as I'm trying to perfect something that is not mine, nor I could ever manage to create and is really already on an outstanding level.
Best regards and thanks again for paying attention to my comments.
Joรฃo
Advertisement