Show messages:
1-6
…
467-486
487-506
507-526
527-546
547-566
567-575
From: James (JFH)
Michael,
When attempting to create a blend curve between 2 curves the result can be unexpected if they have been selected using a marquee selection, because the closest endpoints of the input curves are determined to be endpoints of the new blend curve, regardless of the curve direction
I know that you loath to introduce new functionality if it complicated the UI/UX, but please consider (if you can see the value in it) of including a check box that appears only in the instance of marquee selection of input curves, that reads something like- "Use Curve Direction". See image below:
Obviously, this is a trivial matter compared to the release of the final beta, but if this suggestion is practical, both in the senses of achievable & of practical use to others, please consider it for inclusion to a future update.
Thanks, James
https://www.instagram.com/nodeology/
From: Michael Gibson
Hi James, if the blend is between the wrong ends for what you want, when you are in the "Adjust blend parameters" stage you can click on a curve and it will flip the side that the blend will come off from.
So you can use that for the case you show there where you don't want the default result.
Here's an example:
- Michael
From: James (JFH)
Michael,
I was aware that blend curve endpoints could be readjusted by clicking the input curves.
I encountered this issue with the default blend curve endpoint discernment in nodeEditor where of course the readjusting of output curve after-the-fact is not something readily available. Perhaps this facility could be included within the node as a menu item in the info-panel, however it got me contemplating if input curve direction might not be a better default for determining the endpoints of the new curve, rather than proximity, generally.
I then found myself experimenting with blending curves manually, & thought perhaps a checkbox that appeared only in the instance of a marquee selection may be the best of both worlds.
Anyway that was just a thought.
But getting back to nodeEditor, would there be a scripting method of over-riding the default so that curve directing determined the endpoints of the output curve?
James
https://www.instagram.com/nodeology/
From: Michael Gibson
Hi James, it is a general strategy throughout MoI to try and avoid things being dependent on the natural curve direction. With there also already being an existing way to flip the blend result, having a checkbox option like that doesn't really seem like it would be useful for the regular MoI UI.
For programmatic access that's a different case.
At some point I want to make a different API that scripts could use for making geometry. The current "factory" based interface is set up primarily to be convenient for the regular UI, sometimes this is in conflict with what is convenient for programmatic access like in this case.
But it is possible though to generate a blend curve programmatically that suppresses the automatic detection and just uses the natural directions. This is done by having the "Orientation list" input for the blend factory filled in. If it is not filled in then it gets automatically created by matching the closest ends together.
A curve orientation list is a list made up of CurveOrientation objects in it, each of which has .flipped and .seam properties. You can create one by moi.geometryDatabase.calculateCurveOrientations( curves ), then go through and set the flipped properties to false.
Here's an example, paste this in to the xyz control when you have 2 curves selected, it should generate a blend curve between the same ends and does not switch depending on which ends are closest to each other:
code:
var curves = moi.geometryDatabase.getSelectedObjects();
var orientations = moi.geometryDatabase.calculateCurveOrientations( curves );
for ( var i = 0; i < orientations.length; ++i ) { orientations.item(i).flipped = false; }
var factory = moi.command.createFactory( 'blend' );
factory.setInput( 0, curves );
factory.setInput( 1, orientations );
factory.commit();
Hope that is what you were looking for!
- Michael
From: James (JFH)
Michael
"Hope that is what you were looking for!"
Thank you for getting back to me with this, & yes the script is exactly the sort of thing I was looking for, however I can't get it to work.
I tried copy & pasting into xyz control field after first marquee selection of 2 curves but it gives no result. I must be doing something wrong but am not sure what it could be.
After clicking "return" there is no result, & if "return" is clicked a second time, the blend curve is drawn but reverts to default closest points.
Is there a trick that I'm missing?
James
https://www.instagram.com/nodeology/
From: Michael Gibson
Hi James, oops try with a script: in the front like this:
script:var curves = moi.geometryDatabase.getSelectedObjects();
var orientations = moi.geometryDatabase.calculateCurveOrientations( curves );
for ( var i = 0; i < orientations.length; ++i ) { orientations.item(i).flipped = false; }
var factory = moi.command.createFactory( 'blend' );
factory.setInput( 0, curves );
factory.setInput( 1, orientations );
factory.commit();
- Michael
From: James (JFH)
Thanks Michael,
That works!
I appreciate you doing this for me.
James
https://www.instagram.com/nodeology/
From: Mr. Yuri (MR_JURAJ)
Hi Michael.
maybe nice feature and simple to implement would be question during trimming operation if 'you want to deselect all?'.
It happened to me many times that I wanted to trim complex shape and had to select like 50 small lines but one miss-click would deselect everything making user start from the beginning.
Thanks.
Juraj
From: fcwilt
Hi,
I was thinking that it would be handy to have a system of naming objects which allowed "grouping" together related objects.
On my current printer project I have a number of assemblies that consist of multiple parts. When assigning a name to a part I always include the name of the assembly along with the name of the part.
For example:
Assembly 1 Part 1
Assembly 1 Part 2
Assembly 1 Part 3
Assembly 2 Part 1
Assembly 2 Part 2
Assembly 2 Part 3
While this keeps them together in the browser it doesn't establish any sort of real relationship.
What if we could use names with a specified character in them like "Assembly 1.Part 1" where the specified character (a period in this example) would actually be used establish a relationship allowing them to be displayed them in the browser in a hierarchical manner.
Assembly 1
Part 1
Part 2
Part 3
or perhaps
Assembly 1
Assembly 1 Part 1
Assembly 2 Part 1
Assembly 3 Part 1
Selecting the assembly name could then select all the parts in the assembly. Of course selecting of individual parts would work as it does now.
The character to use could be specified in the settings - my choice would be a period. If no character was selected then the new naming feature could be disabled if desired.
By using a specific character the current approach would work as it does now and no new fields would be needed.
Such a system would be very useful in my work.
Thanks.
Frederick
From: wayne hill (WAYNEHILL5202)
Hi Juraj,
Press the 'Undo' button and all will reappear as selected.
Wayne
From: Michael Gibson
Hi Juraj,
re:
> It happened to me many times that I wanted to trim complex shape and had to select like 50 small lines
> but one miss-click would deselect everything making user start from the beginning.
You don't have to start from the beginning if you make a selection mistake like that, you can just use undo which will restore the selection to whatever it was before the last selection action.
This "selection undo" is transient, it is only stored as the most recent action in the undo stack.
Also if you want to do deselect all, there is already a button for that on the side pane under Select > "Deselect all". If you would like to make a shortcut key for it, put in this for the command part of the shortcut key:
script: moi.geometryDatabase.deselectAll();
- Michael
From: Mr. Yuri (MR_JURAJ)
I feel so embarrassed I didn't try undo for selection.
Great to know.
Thanks Michael
From: stefano (LIGHTWAVE)
How about a "tag" naming system for objects.
Maybe a lot quicker to implement than thinking out
all the permeations of grouping, sub groups etc.
Hierarchy free if kept flat. Flexible. Could maybe rely on good ol
Windows or Mac file system; meta tags.
From: Michael Gibson
Hi Stefano, re: tag naming system - the current system is pretty similar to that already, you can assign a name to an object or multiple objects, and then that name will show up in the "Objects" section of the scene browse allowing you to hide/show/lock/unlock/select that object set by the name.
The main request to add to this is hierarchy so I think it will need that whole group and sub-group type of thing.
re:
> Could maybe rely on good ol Windows or Mac file system
I don't think that's feasible since it is many entities within a file that have these properties, not just a whole file. Unless you wanted to require each separate object to reside in its own file but you would end up with a massive quantity of files that way.
- Michael
From: stefano (LIGHTWAVE)
Hi Michael, Understand what you are saying but I see an object name as one data type or field and a tag is another.
I see a tag as a flagging tool. Doesnt need hierarchy but can be set up that way if required with multiple "tags"
Example: users could select 100objects, add tag "assembly item 001" or "assembly item"+ "job001"later these tags could be used to find and put items into a drawing. The idea likely came when I was exploring the customui and I thought those library objects or menu could soon get too busy, personally I dont like using "explorer". Likewise I might consider creating comprehensive parts that should be able to be pulled into a moi design fast and easy - these items are likely 'reusable' or standard.
From: Michael Gibson
Hi Stefano, I see - yes something like that could be useful for an object library. But that's kind of a different thing than object management for objects currently inside the model though.
- Michael
From: stefano (LIGHTWAVE)
I agree! One is organising what's already there.
The other is maybe organising those assetts/objects for future use;
on other drawings.
From: propmaster (PWWHDR70)
Hi, Michael!
A small thing, really, and maybe someone else already requested.
I have been known to accidentally hit Remove instead of Hide when managing background images. Would it be possible to move these buttons away from each other? And/or add a warning popup any time Remove is selected?
From: Michael Gibson
Hi Patrick, if you accidentally hit Remove you can use Undo while you are still in the View > Image command to restore it.
- Michael
From: propmaster (PWWHDR70)
:o
Thanks, Michael. :)
Show messages:
1-6
…
467-486
487-506
507-526
527-546
547-566
567-575