Can't get used to MoI's way

Next
 From:  JTB
972.1 
Michael,
I like MoI very much, I think it can be a great app if you keep it simple like it is now (at least the UI).
I have a problem and I would like an answer...
I can't get used to MoI's non-forgiving and not flexible way. Maybe it is because it is too early for MoI, maybe there are some NURBS limitations, I don't know...
Let me explain
001 : A rectang and a circle
002 : extruded both together to create a hole. If I move the circle, the holes moves too... That is good, that is what I want
003,004 : selected all together and moved
005: Nothing works now.

Moi's history is something different from what I have seen so far... What I have created here, is a boolean object and this should remain always.
I mean, no matter where I place my object, I should be able to manipulate the components (rectang and circle). I should also be able to export it as a boolean object and save it and use it as part of a library.
I know there is no modification history in MoI now, but what are your plans?
I think it is the most important thing, it is how we work with MoI... Dimensions, properties and things like that will be added, I know you have them in mind... But what about the modeling workflow?

 
***There is always a better way to do things... Just find your Moment of Inspiration***

Attachments:

  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
972.2 In reply to 972.1 
Hi JTB, you get the same result in other programs that use this style of "modeling relation" type history for example Rhino or Alias will also break the history on an object if you try to modify the output object (the extruded object) directly by dragging it or whatever.

I think it should be possible to change this particular thing in V2 to work more like you are expecting. As far as the mechanics behind the scenes go, it would mean basically ignoring your direct modification of the output object and reconstructing it from the input objects instead, same as if you had moved only just the curves.

For version 1.0 history is limited in many ways. Lots of stuff is limited in version 1 just because it would otherwise take 10 years to finish version 1 and that just doesn't work very well.

But I definitely want to add more history functionality in the future, and I have some plans for improving history so that it will work with more commands like booleans.


Right now the chain of history will be broken in commands that involve deleting an object.

For example with a boolean, performing the boolean operation involves deleting the old version of an object, and then creating a new version. Anything like this that involves deleting will interrupt history.

History does work for commands that only involve creation, like for example Extrude or Loft. When you create an extrude nothing is deleted, just something new is created - history will work in these situations where you can modify the input objects and the output will be recreated.

- 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:  JTB
972.3 
Michael, thank you for such quick answer

I just moved them... that's all, nothing deleted, nothing changed. I selected everything, I moved everything... I know about the limitations that you describe but this is not what happened... I didn't try to move the 3d object, I moved everything.
The hole was not created with boolean commands. I just made a rectang and a circle and extruded both of them... So I guess it is "extrude" not "diff"

 
***There is always a better way to do things... Just find your Moment of Inspiration***

  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
972.4 In reply to 972.3 
Hi JTB - moving has a type of deleting step built into it. If after a command ends, the objects do not look the same as they did at the start (I mean exactly the same, in the same location and everything), it means that those original objects have been deleted and new ones created.

That's what I mean in this case by deleting.

So for example extrude does not do any type of deleting at all - after the extrude is finished, the objects that went in as inputs to the extrude are exactly the same as before.

With moving, the objects are not exactly the same as before, they have been updated to a new version.


> I didn't try to move the 3d object, I moved everything.

Right, but everything includes the 3d object as well.

Once that 3d object has been moved (whether by itself or along with everything else, it doesn't matter), the previous version of it has been deleted, and that breaks the chaining effect that history currently relies on.

But I think what you are expecting is reasonable - I think it should be possible to change version 2 to work like you want for this case.

- 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:  JTB
972.5 
Thanks Michael, nice to have this kind of support for a change...

 
***There is always a better way to do things... Just find your Moment of Inspiration***

  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 (MMHS)
972.6 
Am I right in assuming that selecting everything (all the source objects) except the boolean object, then moving those will have exactly the outcome that JTP is trying to achieve? I.e. the boolean object will move along with the source objects if those are moved simultaneously. Maybe not as simple and intuitive as what JTP is suggesting, but it's doing the trick, right?
  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
972.7 In reply to 972.6 
Hi Michael, yes that is correct. You can move the extruded object to a new location and still keep history active by only selecting and moving the original curves and not trying to move the extruded 3D object itself directly.

Until the time that this is tuned up, that is a simple workaround to get the desired effect.

- 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 (MMHS)
972.8 In reply to 972.7 
Michael,

Thanks for your reply. I got a chance to check it myself in the meantime and noticed a restriction: In the case of the above example with extrusions, moving the source objects in the direction of the extrusion actually changes the extrusion height of the child object instead of moving it in that direction. I am assuming the reference plane of the original extrusion is considered another "source object" that would have to be moved along as well, which i'm guessing is not possible. Do you have a work-around for that as well? ;)

Michael H.
  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
972.9 In reply to 972.8 
Hi Michael - it's not the reference plane of the original that is remembered in this case, it is the point that you picked to define the extrusion height.

When the extrusion is recalculated, it is using that same point to calculate a new height from the plane of the curve, that is why the height changes if you move it up and down.

There is workaround for this, which is to enter a specific distance for the extrusion height, instead of clicking a point to define the height. You can move your mouse around to get a good idea of what height you would like to use, but to finish the extrusion type in that height in the "Distance:" box in the upper-right corner, rather than clicking a point to finish the extrude.

That sets up the extrude history with a specific distance value instead of a point value, and it will then update later on using that same specific distance instead of calculating a new distance from the point.

I've been thinking of changing this to always save the distance value to history instead of keeping the point, because of that kind of unintuitive side effect that you noticed here.

- 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:  xrok1
972.10 In reply to 972.9 
"I've been thinking of changing this to always save the distance value to history instead of keeping the point, because of that kind of unintuitive side effect that you noticed here.

- Michael"

i can see running into another problem this way. if one purposly extruded up to another object then move the curves you will lose your target for extrusion height, even when placement may be more important than distance. may i suggest a checkbox option to let the user decide, or leave it the way it is since it is much easier to extend an extrusion than to shorten one.
  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
972.11 In reply to 972.10 
Hi xrok1 - yes there are potential problems either way. Sometimes I have to just kind of guess which problem will be more frequently run across and then avoid that one and live with the less frequent one.

Eventually I want to have some UI that will let you get in there and edit these history values directly, in this case with either placing another point above the curve's plane or by a specific numeric distance. That would be the general thing that would solve this.

One other idea that I had was if I left it as a point defined in history, that it might be a good signal when you select the input and output objects at the same time and move them, to transform the point values in history by moving them by the same distance. That would generally help with relocating some other kinds of history-related operations that work with points, like for example revolve. The points for the revolve axis in history can't easily be converted into some portable value unlike the extrusion distance.

- 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:  xrok1
972.12 In reply to 972.11 
yes i like the idea of selecting input and output objects together to retain extrusion distance, or just selecting input curves alone to retain extrusion reference. this seems like it would be the most predictable and useful way to go.

P.S any plans to have some kind of mating relationships (concentric, parallel, distance) in the future?
  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:  Michael Gibson
972.13 In reply to 972.12 
> P.S any plans to have some kind of mating relationships (concentric,
> parallel, distance) in the future?

I haven't really thought very much about that...

It will probably be difficult for me to get into a full constraint solver type thing, but I think what you are talking about here could possibly be easier than that. It might be workable as a specialized transformation command. But it will probably take a while before I can get to that.

- 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
 

Reply to All Reply to All