Rebuild
 1-5  6-24

Previous
Next
 From:  DannyT (DANTAS)
3175.6 
Hi Michael,

I thought I'd bring this question up in this post in reference to this post http://moi3d.com/forum/index.php?webtag=MOI&msg=3174.21 since it is about the rebuild command.

> I have not figured out a place to put it in the UI yet,
> so to call it you have to set up a keyboard shortcut for it.

I meant to bring this up sooner, I was thinking that since we have the object browser in V2 onwards do you, or others, think it is still necessary to have the 'Select' tab in the command panel, I don't seem to use it anymore. It'll will give more real estate for other functions that we use more often.
Otherwise is there a simple way that I can change these myself to point to other commands or scripts.

-
~Danny~
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3175.7 In reply to 3175.6 
Hi Danny,

> do you, or others, think it is still necessary to have the
> 'Select' tab in the command panel,

I think it's still necessary - one thing is that the scene browser is intended to be something you could just leave turned off and ignore if you want to, if you have a small resolution screen or something like that you may want to not have it turned on all the time.

Also for example the Invert function is not completely covered by the scene browser.

Like if you quickly draw 10 circles and then decide you want to delete all of those except for 1, you can select that one, then do invert and delete. The scene browser would not help you for that particular kind of instance unless you had done some further steps to organize those circles into different categories or something. Stuff similar to that.

So I think there's still a need for those selection tools. I don't tend to use them from that menu at all either, I instead use keyboard shortcuts for those but I think they are probably good for beginners to have available on that menu so they are not very hidden.


> Otherwise is there a simple way that I can change these myself
> to point to other commands or scripts.

Well, you can edit the UI files if you want, for example all those palettes are set up by stuff inside the file \ui\SidePane.htm .

But that tends to be a maitenence problem once you start doing that, since every time you get a new version you will then have to re-apply your UI customizations.

In v3 I want to work on having some kind of "advanced tools" menu or something like that where I could stash some bigger lists of tools.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  DannyT (DANTAS)
3175.8 In reply to 3175.7 
Hi Michael,

Ok, you've made some good points there, except you can select all the ten circles at once in the scene browser and click on the one you want to keep, it's the same amount of steps, it's just reverse to what you explained.

Cheers
~Danny~
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3175.9 In reply to 3175.8 
Hi Danny,

> Ok, you've made some good points there, except you
> can select all the ten circles at once in the scene browser
> and click on the one you want to keep, it's the same amount
> of steps, it's just reverse to what you explained.

Yeah, certainly there is more than one way to do it... But I think it's likely that more people would likely look for an Invert function to do that first, and possibly get confused if that was not visibly available anywhere in the UI.

It's not always entirely just about number of steps.... Discoverability can be a big issue as well.

When you start getting into things like where it would be easiest to do a window selection to target a set of objects and then do an invert, that is also technically possible to do in the reverse way but it is getting harder and harder for someone to be able to figure that out intuitively especially when they are just starting off.

Also selection is used so frequently it is just one of those areas where it is good to have multiple tools available to you instead of forcing you to only use the scene browser.


The Invert method is just a more natural fit for this as well, because you get to see the items that you are particularly interested in to be highlighted on the screen making them more visible (like selected curves show on top of everything for example). In the reverse way where you are deselecting the things that you are more intersted in, they are not as visible during that process so there is an actual disadvantage to that way as well.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Colin
3175.10 In reply to 3175.3 
Hi Michael,

Just like Burr, up until now I've been using the "RebuildCurve" script & so I'd kind of expected the new "Rebuild" to work much in the same way when using the "# of points" selection.
So I'm just a little bit confused by these results that I'm seeing...
Using a basic Circle, switch on Show Points, run Rebuild & select # of points = Default of 10...on screen it shows 9 points in total?
If you change to a Point count to 13, then you'll get 12 points showing just as the normal Circle originally would have.

Am I just not understanding something crucial about how this "Rebuild" is meant to work as opposed to how "RebuildCurve" works with it's points?
Here's some screen captures to show what I mean.

regards Colin









  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3175.11 In reply to 3175.10 
Hi Colin, there are actually 10 points being used in that case, just since the curve is closed the first and last point are stacked on top of one another.

So for example with a closed curve using 4 sample points would be like this:




All closed curves actually internally have their control points structured like that with an overlapping start and end point, MoI just tries to make it convenient to represent it with a single point there when editing it so that it stays closed more easily when dragging points around rather than having it pull apart.

I could update Rebuild so that it adds an extra point in for closed curves so that it would work more like you were initially expecting, that's probably a good idea.

For the moment though, just do +1 to get what you want. The previous RebuildCurve one just did that +1 automatically inside of it for closed curves.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Colin
3175.12 In reply to 3175.11 
Hi Michael,

Thanks for the clarification, that all now makes more sense!
...I'd had a feeling it was going to be something simple I didn't quite understand!!

With regards to updating Rebuild & changing how it does this now...I guess this would depend on what other users imagine it should work like?
If this current way is the standard way that most NURBS programs would be doing a Rebuild, then I'd say leave it as is?
If the current way is actually causing too much confusion, then I'd agree that it would need to be changed.

regards Colin
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3175.13 In reply to 3175.12 
Hi Colin, well Rhino actually does the +1 method for closed curves, so I should probably change it to be the same.

Also it would be more consistent with other parts of MoI (like just control point editing) that implicitly fuse that start/end point together into a single entity.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3175.14 In reply to 3175.13 
In the rebuild command, I would like to see a "Make corner points" tick mark in both the # of points and tolerance options. This would give the most flexability. So both options can either "round off and fuse" or "corner point" entity segments.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3175.15 In reply to 3175.14 
Hi Burr, "Make corner points" could be a good way to phrase it.

But I'm not very sure about putting it in for the tolerance-based one, it's kind of a bad combination with that option.

The tolerance based one is oriented towards building a result that has some level of accuracy to the original one.

So for example you can put in 0.01 in there and then the generated curve will be within that tolerance distance to the original. It's a simple way to reconstruct the curve without having to try and guess exactly how many points should be used to maintain accuracy.

If corners were ignored, that means that it would be kind of like ignoring accuracy and trying to get accuracy at the same time, probably making weird results in something basic like a rectangle. It would probably have to do something like add a bunch of points in only to the corner areas of the rectangle until it the corner got to a really tightly curved bend. That's not good...

If you want something rebuilt to a high accuracy level, but also have corners smoothed, you probably should do something more like fillet the sharp corners first so that you have produced a curved shape that can then be fit to accuracy throughout its intended shape, rather than getting some kind of arbitrary weird tight bends in the corner areas.

Maybe if you could post an example of where ignoring corners with a tolerance based rebuild would be useful it would help me to understand what you are trying to do.

I don't think I have even got a way set up to do that combination currently in the tolerance-based curve fitter, because like I said it's like asking for accuracy and not-accuracy at the same time - it is just not a match with what that fitter was designed to do.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3175.16 In reply to 3175.15 
Hi Burr, so I tried hacking out the kink splitting from the tolerance based curve fitter, and the results are not at all good, just like I had thought.

So for example here would be the result of applying it to a rectangle:



Notice that having a corner in the middle of what is intended to be a smooth accurate fit throws a monkey wrench into things and causes undulations and wrinkles. As you tighten up the tolerance, those things get reduced in size but are still present near the corner spots.

Are you still sure you would want to have that?

I guess I could call it something like a "mess up your curve in weird ways" option... ;)


But that's kind of what I mean by it not being a good combination with an accuracy-based fitter.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3175.17 In reply to 3175.1 
Hi Burr, so also maybe one thing that I didn't make clear before is that the each of the 2 modes use a really different mechanism to do their stuff.

The # of points mode is really simple, it just samples that number of points and does a "Curve through points" on those points.

The tolerance mode uses a curve fitting mechanism that recursively adds points to out of tolerance areas until it converges to the accuracy level that you have asked for.

They both build a new curve result from an existing curve, but process used is pretty different between them.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3175.18 In reply to 3175.17 
>>>>I guess I could call it something like a "mess up your curve in weird ways" option>>>>

Actually, I can draw just like that without any extra commands, so I guiess it's not needed!

It makes sense, and the tolerance option being completly accurate is a proper result. Just having the old commands output in the # of points achieves my request anyway....

Although, maybe there is some food for future plugin thought!!!!!! Just draw a simple line or curve and apply the "mess me up by some kind of value" tool :o
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3175.19 In reply to 3175.18 
Hi Michael,

I suppose you allready think about it, but wouldn't be better is you automaticallly show points when you activate the curve rebuild command ? So you have a better feedback of what's apprend, and then turning show points off when the curve is rebuild.

Yes I know I'm a bit lazy, but for me this combo sounds good ... at first sight :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3175.20 In reply to 3175.19 
Hi PaQ, to a certain extent I don't like to automatically switch things on or off like that if it leads to some loss of control.

I'm not really 100% sure that in all cases everyone wants to see the points, if you are focused more purely on the shape it is possible for the points to be a distraction especially just verifying visually that a tolerance based one is very closely adhering to the original.

Right now the way it is set up you have control of either way - if you have turned on control points it will show you the control points of the result, and if you don't have them on it won't, so there is some flexibility....

That's the reasoning behind it currently anyway.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
3175.21 In reply to 3175.20 
ok I see the valid points, and I'm probably too used to the 'old' rebuild script, having the show points behaviour.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  tyglik
3175.22 In reply to 3175.21 
Note, that old RebuildCurve script doesn't show the curve control points in case of ThroughPts mode. It just highlights an "intersection" between the origin curve and new one (i.e. sample points).
Also it is possible to modify the Rebuild.js file using in-line script: moi.geometryDatabase.showPoints(); to meet your needs ;)

By the way, I have renamed that custom command to avoid a confusion - now it is called ReconstructCurve.

Petr
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
3175.23 In reply to 3175.22 
Petr,
I use this tool alot and it seems to work for me????I can show points and see rebuilding points also either on curve through points curve or curve control points mode.

Can you elaborate more about what you posted?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  BurrMan
3175.24 In reply to 3175.23 
Petr,
Never mind, I think I see what you are saying. It doesnt show the "weighted points". It shows as if through points is used.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
 
Show messages:  1-5  6-24