Hi All, I have finally compiled a small set of wishes and suggestions I kept on napkins and sticky notes for past few months working on various projects. Here they are, in one post, no particular importance order. Some are brand new, some might have been discussed before, just hoping they can make their way higher on the pile and into V6:
General:
BoxEdit: add ‘Uniform’ checkbox to Scale input: it would grey-out the Y and Z and use X for all 3 directions
TextDot: depth sorting within Dots: would it be possible to have dots still drawn in front of all other geometry but maintain correct depth sorting within them?
UI: LayerMaterial – ability to right-click in Layer palette on material and copy->paste into another layer material
Snap to Mesh Edges
ExtractPipedCurve: what is the benefit of having it as a separate command? Could it be obsolete and ExtractRenderMesh work on PipedCurves as well (as it does on SoftenedEdges, Displacement…)
Rotate (2D and 3D): when Copy is ON, another option to keep copying using the same rotate angle (added to the last one) – sort of manual ArrayPolar mode (similar to Copy->FromLastPoint=Yes; UseLastDistance=Yes ; UseLastDirection=Yes)
Import Blocks Behavior: letting user decide what happens if the imported file has block definitions named the same as in the main file. A radio-button dialog for each conflicting block name should appear, and let user decide: 1) Use Original Definition, 2) Update with New Definition, 3) AutoRename New Blocks. There should also be ApplyToAll button to avoid having to click 5463532 times with complex files with many blocks.
Viewport: ability to lock view manipulation (Indicated by Viewport Name color change?). Scriptable.
Import Manager (‘Merge’ File?): Ability to import only selected content from Rhino file (by Layer, selected Block Definitions, by Object Type, By Name, Materials) – a lot of possible combinations here.
Global Texture Mapping – as a part of Display Mode. Enable custom global mapping per display-mode that would apply to all objects. Optionally (checkbox): except for the objects with their own custom mapping
Asset Tracking: An asset manager dialog that would display all the linked files (blocks, worksessions, bitmaps etc.) and also indicate the missing ones, so they can be selected and paths updated by the user.
RhinoScript:
Methods to control CurvePiping settings and EdgeSoftening
Rhino.ObjectByType – add optional argument: array of initial set of objects to take into account
Oh, one more, for the Render commands: can they autocomplete / get some documentation?
For example: RenderConvertOldStyleMaterials
Is there a way to use this command to change all OldStyle materials in the scene to new, RDK materials? It prompts for object selection and then the message says: “One or more objects have a material source other than “basic” assigned.”
I was wondering if any of these can make it to ‘The Pile’. Probably not the best idea to put all of the various suggestions in one post, since I know they would need to be looked at and evaluated by different people at RMA, but didn’t want to add to many topics in Serengeti for each one separately.
Just don’t want this to get buried on the discourse yet : ) I was really trying to limit myself with the list…
Ok, I have revised the list based on the changes implemented so far in V6. Also deleted the less critical ones hoping the list will look less overwhelming
(The curve-piping related ones would be very useful to have these days…)
1) BoxEdit:
1.a ‘Uniform’ checkbox to Scale input: it would grey-out the Y and Z and use X for all 3 directions.
1.b 'Pivot: add Block Instertion Point checkbox (would apply only to block instances)
2) UI: LayerMaterial – ability to right-click in Layer palette on material dot and copy->paste into another layer material (with option to make a copy or instance)
3) ExtractPipedCurve: ExtractRenderMesh to work on PipedCurves as well (as it does on other mesh modifiers: SoftenedEdges, Displacement…)
4) Import Manager (‘Merge’ File?): Ability to import only selected content from Rhino file (by Layer, selected Block Definitions, by Object Type, By Name, Materials) – a lot of possible combinations here.
5) RhinoScript:: methods to control CurvePiping and EdgeSoftening settings
6) TextDots: depth sorting within Dots: would it be possible to have dots still drawn in front of all other geometry but maintain correct depth sorting within them?
7) Asset Tracking: An asset manager dialog that would display all the linked files (blocks, worksessions, bitmaps etc.) and also indicate the missing ones, so they can be selected and paths updated by the user.
Hi Jarek- thanks, I’ve added or commented a few bug track items. Not sure about #3, I guess the command can pay attention and do the right thing when a curve (no render meshes in the usual sense in Rhino) is included in the selection.
Thanks Pascal, yeah, for #3 the ExtractRenderMesh should get all the "virtual’ meshes as it does with the thickened, softened, displaced and shutlined ones. I guess because piping is the only one that is based on curves it may be ignored right now. ExtractPipedCurve may still stay as-is, just the main “Render Meshes” command to get it as well…
Hi Dale, yes, using it often, too - just sometimes I want only the material, and color/linetypes etc. unaffected.
Plus, with material, the wish of being able to make a copy (not: instance) would save time to click the “duplicate” button in layer material editor. It’s easy to forget and change the same material all over, plus anything that limits working with MaterialEditor is a plus, since it is usually painfully slow…
Jarek, how do you envision the UI for this? As you say it could get complicated, depending on what combinations are decided upon. I monkeyed with a python that is a start on this idea, but, well, It’s hard to know where to stop- the original request that I started from was to import layers - the layers themselves, not the objects. But objects by layer is also perfectly reasonable…
At any rate, I kind of stalled out for now, but if you have an idea of the list of objects you’d like (not all are possible, it looks like. For instance - so far, anyway - I do see how to import just lights, or named CPlanes, using RhinoCommon), I can, maybe, get a useful prototype working.
Dale - yes, I tried it and seems to work well!
The only thing I would suggest, if possible, is making it also return mouse buttons, like the other AsyncKeyState method does. Currently whenever any mouse button is pressed it returns Null.
I saw the exposing CurvePiping and other ‘mesh’ modifiers addition is closed in YouTrack ( https://mcneel.myjetbrains.com/youtrack/issueMobile/RH-31916 ) but don’t see any new methods in latest WIP RhinoScript. Are they going to be available in the further releases ?
BoxEdit block insertion point works well! Thank you…
My only comment would be the UI as radio button is confusing when dealing with mixed selection of non-blocks and blocks - I guess if BlockInsertionPoint is picked, non-block objects use BoundingBox… so a checkbox would make more sense for the BlockInsertionPoint option.