In the latest version of the OpenCuList extension, we added a solid drawing tool and an handle tool that interact with leaf component instances. When creating these tools, we felt it was important to add support to apply some basic operations to the current mouse pointed location or to avoid repeating identical values.
The VCB can be used for many purposes. But weâve identified 3 main uses, which are:
Entering distances
Entering quantities
Entering list
Using VCB is interesting because it is versatile, but it is important that it remains simple and consistent. So, entering measurements in any tools of OpenCutList follows the basic principles of SketchUpâs native tools via the VCB field. However, a few useful features have been added.
@ allows you to compute a simple operation using the value pointed to by the mouse
+-*/ allows you to compute right value with @ value
= allows you to duplicate previous value
Note that list delimiter is ; (semicolon) instead of , (comma) if your system decimal separator is , (comma).
Examples
@+10 adds 10 of current model length unit to the mouse value
@-12mm subtracts 12 mm to the mouse value
-12mm is converted to 12 mm but by reversing the direction
@*3 multiplies the mouse value by 3
@/2 divides the mouse value by 2
10,20 defines a pair of value v1 = 10, v2 = 20
100mm= is equivalent to 100mm, 100mm
50== is equivalent to 50, 50, 50
10=,@-30 is equivalent to 10, 10, @-30
,-10 is equivalent to @, -10
I realize that adding the @ character wonât please everyone. And that itâs much more accessible on Mac than on Windows. But adding this character allows to differentiate -12 (= distance of 12 but in the reversed pointing direction) from @-12 (= pointing distance minus 12).
@boris.beaulant - OMG - This is EXACTLY what I was talking about!
Specifically for me, the subtract from a distance and the divide a distance are the exact use cases I wanted. I often want to push pull to a distance / 2 when I donât have a center point to inference to.
The subtract function would be massively helpful to me when creating or editing cabinet doors, as I often want to push pull or move to a midpoint, then subtract a 1/16â of an inch or an 1/8â of an inch when adding an overlay/reveal. Right now this takes two operations - once to move the geometry, then a second move to move the geometry back 1/8â. While this doesnât sound like that big of a deal, it adds up when you have 30 cabinet doors on a project. There are a bunch of other times I might use something like this as well.
Iâve tested out your solution and I find it fairly intuitive - adding the @ symbol before an operation flows pretty well, though I wonder if there isnât another way to initiate the operation thatâs a bit more streamlined (Iâd be interested to hear from someone on the SketchUp team their thoughts on how to initiate something like this).
@TedVitale_SU - Is there someone that works with the modeling toolset over on the dev team that might want to give this a look? The way Boris has implemented this into OpenCutList is pretty smooth.
Yes to this request. I have used other design software that has this feature. It saves going to a calculator, then typing the number. Its something that would set SketchUp to a higher level.
Iâve also experimented with a similar input concept in my own tool, Curic DIO2, where I use the = sign followed by a length value to fix distances, and it works surprisingly well in practice.
This method saves a lot of time when editing models. For example, if you want to change a wallâs thickness from 250mm to 75mm, you normally have to do the mental math to subtract the right amount when using Push/Pull. But with the = input, you type =75, and the wall instantly becomes 75mm thick, no calculation needed.
Iâm pleased to see that it can fit to your needs, Justin.
I understand. But in practice it is very useful and it saves time. Hitting , (or ; ) require to move my hand 15 cm left over the keyboard
Interesting idea too, @voquochai! Itâs a bit like the native Scale tool which allows you to enter a factor or a dimension. Although in the case of the Scale tool, itâs just the use of the unit that makes the difference.
Well yes and no at the moment - the functionality is perfect for what I need, but I really need it incorporated into both the push pull tool and the move tool (unless Iâm missing that feature in OpenCutList).
Iâd need it to be able to adjust my geometry that Iâve created, not just work on a tool that creates all new geometry.
That being said, the way the function works is perfect!
For those of us that have been around for a long time this is a no brainer as we have been asking for it for decades. At the same time we understand that as it is a simple workaround with a calc or mental arithmetic we world rather see effort put into real fixes. Many of which have been asked for repeatedly and ignored.
Iâm especially certain that if it wasnât added yesterday, it wonât be tomorrow. Itâs a change to SketchUpâs core tools. Iâm pretty sure the team wonât risk changing it.
My thread was primarily there to share an idea with other extension developers. And to try to achieve consistent use across other extensions.
Youâre going to see a lot of this kind of thing from me - Iâm just going to keep asking, and keep bringing it up. Worst case, I wasted a little time and nothing changed. Best case, someone listens
I do enjoy maths in my head and guide pulling, but in general, having 2-3 different ways to do an action is a strength. Would I use the VCB the way Boris describes it here ? maybe, Iâm used to the standard way, and Iâm good at math. so maybe not.
do I support his proposition ? you bet I do
the VCB needs to understand basic maths with decimals. and from there, the extra logic proposed is totally fine.
Even if you enjoy math, sometimes, the current size of an object is not accurate enough (e.g.: 1.33333333) to enter a final value relative to the original value that fit to the desired integer value.
In any case, it is not possible to type all the letters on the keyboard in the VCB. Because of the native limitation and keyboard shortcuts. It is therefore certain that mathematical formulas can quickly find themselves limited to numbers, operators and possibly parentheses.