MOI building objects history as GeoGebra
 1  2-21  22-25

Previous
Next
 From:  Michael Gibson
3824.2 In reply to 3824.1 
Hi qibentie, is there any particular function curve that you're interested in?

Probably making a full blown math graphing calculator built directly into MoI would be out of the scope of what I could do, but it is possible to do a plugin to make a particular function curve. The sine wave curve generator here is an example of that:
http://moi3d.com/forum/display.php?webtag=MOI&msg=1519.38

Also if it is possible to export sampled points from a function curve in GeoGebra to a text file with 1 point on every line of the file, that can then be imported into MoI using the import points plug-in that Petr wrote here:
http://kyticka.webzdarma.cz/3d/moi/#ImportPointFile

- 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:  qibentie
3824.3 In reply to 3824.2 
Thanks for your reply Michael, The function curve is not frequently used on modeling.

It's about the history, I make a loft or sweep using some curves, but the history will disapear when I maked a Fillet.
The 3D Parametric Modeling likes a "realtime" and "undisapeared" history, if it is a impracticable project for MOI to Parametric Modeling, I think It could use some other easy solution, just like "rebuild" or "replay", It's mean there is a list that what I have did to the object, and then use the list to rebuild them by other parameters. To do this, maybe every object should have it's "Vertex ID" or "Edge ID", something like not so concise as the MOI now.

I realy like the MOI.
  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
3824.4 In reply to 3824.3 
Hi qibentie, yes I do want to make a deeper history function in the future.

MoI's existing history system actually already does make use of things like edge and object IDs to track inputs into commands and to replay them.

The difficulty is when the original input object is not available in the model anymore because it was deleted or replaced in a command, for example when you do a boolean or a fillet the original objects are removed and replaced with a new version that has been altered. In order to replay things, the original objects need to be available to the history update mechanism.

The difficulty is that storing all the previous versions of objects in some kind of internal hidden list of stuff will involve storing a potentially very large amount of information, so it needs to be done quite carefully to be efficient. So because of this it makes it a difficult and sensitive area of work so it is not easy to know when exactly it will happen.

Some of the pieces that are required to have it may come in some kinds of stages, like a persistent undo storage may be the first step, since that can be quite useful on its own and could also provide the data storage of previous old object versions that could then be accessed by history replaying.

Then in addition to requiring some sensitive work involving large amounts of data, it will also need quite a bit of UI for the history browser that would let you view the sequence of commands that was applied and make changes. Anything involving a major amount of new UI tends to be very time consuming to design and develop. So again that's another factor that makes it difficult to know when it would all be actually functioning.

But at any rate, I do have a lot of ideas on improving this area! :)

- 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
3824.5 In reply to 3824.4 
Imho There is no better history "system" than 3ds MAX's modifier stack...
99% of the cases you can do 100 things on a cube and when you change the size of the cube everything will be updated.
***Modeler Of Ideas***
  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:  Samuel Zeller
3824.6 In reply to 3824.5 
"Imho There is no better history "system" than 3ds MAX's modifier stack..."

Im sorry but Cinema 4D also have powerfull tag modifiers, for everything from particles to dynamics to deforms...
It's even more powerfull and userfriendly than 3DS Max, trust me :)

There's also Houdini, wich blow away both 3Ds Max and Cinema 4D procedural modifiers, but it's not cheap.
  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
3824.7 In reply to 3824.6 
One reason why those various systems have powerful history is that they're intended to be used for animation, so instead of only just building a model the app is oriented towards building a kind of system of various parameters which can then be altered over the course of time to make animations.

The problem is that whole process of "building an animation system" like that can have a major impact on UI complexity, you don't so much just do simple actions, everything that you do revolves around manipulating that animation system. This generally tends to lead to a fairly complex UI, someone who wants to use it has to know a lot of stuff for how the whole thing works.

For MoI I do want to provide some deeper history editing functionality similar to that, but as an optional thing so that it does not make the whole application more difficult to use or force you to go through extra hoops just to do simple modeling tasks.

Actually, one of the reasons why people use MoI as a supplement to those kinds of programs is that MoI is simple to use for modeling, and one of the reasons for that is that MoI does not try to make the process of constructing a model to have all the same UI and process that goes along with setting up an animation system.

- 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:  Anis
3824.8 In reply to 3824.7 
Hi Michael....

Are you also considering to refer and improve existing history system like SWX ?
Or maybe get license from http://www.ledas.com/products/lgs3d/ ?

Usually you come with out of the box idea... :)
  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
3824.9 In reply to 3824.8 
Hi Anis, well a history system and a constraint solving mechanism are kind of separate things.

A constraint solver can be used to edit shapes, but once a shape is edited it is up to a history system to recalculate operations to cause that edit to update things downstream.

So history and constraints are not quite the same things - it is possible for example to have a constraint mechanism just as a method to edit a curve, without anything to do with history. Similarly it is possible to have a history mechanism that does not use constraints, instead it just applies any kind of edits (control point editing, etc...) through a sequence of operations to make a modified result.

I am interested in adding some constraint functions in the future though too, but similarly it will require quite a lot of work and a lot of UI design so I'm not certain when it would take place. But that is largely a separate area of work from history actually.

- 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:  andras
3824.10 In reply to 3824.9 
My opinion is that history system should not be deep. A parametrical system could be better as grashopper and it is an "customized history system"
  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
3824.11 In reply to 3824.10 
Hi Andras - the issue I see with Grasshopper is that it's a completely parallel and separate system for building things. Like for example for assembling a mechanism in it, it has a completely duplicated set of all kinds of modeling actions. That's a considerable amount of duplicated UI.

I'd generally prefer for the history to be something that was accumulated more automatically as a result of your normal modeling operations, rather than having a totally separate and independent mechanism for it.

Maybe in the future there could be multiple kinds of history in MoI with a nodal construction method as one option, but I think that just capturing the history of your regular modeling actions will be a lot easier for a larger number of people to use, so that will most likely be more of my initial focus for history improvements.

- 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:  adamio
3824.12 
Perhaps I miss something...Why Deeper History? When every other CAD developer has or plans to jump on the history free/direct modeling boat.

What are the benefits of a Deeper History?

Isn't MoI meant to be (the perfect choice for someone who has been frustrated with the complexity of existing CAD tools.)

EDITED: 24 Nov 2010 by ADAMIO

  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
3824.13 In reply to 3824.12 
Hi Adam - well, history is a pretty simple concept - just tweak operations that you have done previously and see the result update.

I'm not sure why that seems like a very complex idea at its heart?

Certainly when parts get very complex that can involve quite a lot of steps to be replayed and doing more direct surface manipulation can be good to have in that case as well.

But you need to realize that direct editing can't perform all the same kinds of operations that history can, because the direct editing mechanisms need to do a kind of reverse engineering of the geometry. That's not particularly feasible for many kinds of freeform surfaces, things like a sweep with a scaling rail modifier applied to it cannot really be automatically reverse engineered, so for example none of the existing direct modeling systems (despite having a tremendous amount of effort and man years invested in them) would be able to recreate the original rail curve and scaling rail for tweaking a freeform one-rail sweep. That's just one example.

Those kinds of direct modeling systems that you are referring to are very focused on handling more conventional MCAD features like extrusions, revolutions, stuff like that and not just any kind of surface.

> Isn't MoI meant to be (the perfect choice for someone who
> has been frustrated with the complexity of existing CAD tools.)

Yup, it certainly is - and certainly doing an automatic recording of your modeling steps to build the history without needing to do any kind of special steps would fit into the low complexity and easy to use category. I don't really know why you would think otherwise??

- 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
3824.14 In reply to 3824.12 
Hi Adam, sorry I missed this part:

> What are the benefits of a Deeper History?

Same benefits as the current history - it would allow you to tweak construction curves to make modifications to your model.

This currently works in MoI for cases where all the input objects are in your model - for example if you do a revolve you can then edit the original input curve and the revolve will update.

Right now it is pretty easy to have the history chain get broken though, a deeper history would just enable the same kind of edits but without being broken when operations such as booleans or fillets are applied.

- 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:  Anis
3824.15 In reply to 3824.11 
Hi Michael...

>I think that just capturing the history of your regular modeling actions will be a lot easier
>for a larger number of people to use, so that will most likely be more of
>my initial focus for history improvements.

Is this also you plan for V3 ?
We know you have many task to do, and we believe you are the best for planning how MoI should be...

Thanks :)
  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:  adamio
3824.16 In reply to 3824.13 
I stand corrected


>>>But you need to realize that direct editing can't perform all the same kinds of operations that history can, because the direct editing mechanisms need to do a kind of reverse engineering of the geometry. That's not particularly feasible for many kinds of freeform surfaces, things like a sweep with a scaling rail modifier applied to it cannot really be automatically reverse engineered, so for example none of the existing direct modeling systems (despite having a tremendous amount of effort and man years invested in them) would be able to recreate the original rail curve and scaling rail for tweaking a freeform one-rail sweep. That's just one example.

Perhaps something like this CoCreate example ? http://www.youtube.com/watch?v=Ni3Z6Tft8sQ
  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:  Frenchy Pilou (PILOU)
3824.17 
CoCreate is the new name of Pro Engineer
  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
3824.18 In reply to 3824.16 
Hi Adam,

> Perhaps something like this CoCreate example ?

No, actually not like that at all.

When you watch the video that you linked to, notice how the editing done there is all of a localized nature - the operations done in there are things like pulling control points of the surface around or pulling isoparms (which is sort of like pulling a row or column of control points at once).

That's a much different kind of editing than what can be done with history. Both kinds of editing are certainly useful but history can allow for some more really broad shape changes with a smaller amount of editing effort for the right kinds of circumstances.

Here I'll give an example to help illustrate the difference for you.

Here I have drawn 3 curves in the Top view:



Then I created a piece of intestine using the circle as the profile, the inside path as the sweep rail, and the outer one as the scaling rail:



In the 3D view the shape looks like this:



Now I'm going to go in and edit just one point of a curve - the control point here on the profile curve that was used to generate the sweep:



I pulled that one point downwards:



And note what a broad sweeping change results from that one curve control point edit:



Now combine that with editing the rail and/or scaling rail curves...

One particular thing to note is that the original rail and scaling rail curves have a much more simple control point structure than the complex surface that was generated by the entire sweep.

It's much more difficult to do direct editing of control points of the resulting surface in things like this, but with history you can just edit the 3 curves you originally drew and have the model update.

And note that here you don't have to switch to some totally different set of editing tools, you just use curve editing tools to make things happen. In the video you linked to, notice that the direct surface editing tools are a whole different toolset from what was used to create the model initially. Multiple different toolsets is not a reduction in complexity, it's added complexity.

Now don't misinterpret what I'm saying - I don't think that direct editing is bad, just that it does not do all the exact same stuff as history editing.

- 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
3824.19 In reply to 3824.15 
Hi Anis,

> Is this also you plan for V3 ?

It's just a general plan for the future, I don't yet know exactly what will be in V3.

Unfortunately it's not very easy for me to know in advance how long it will take to do any particular feature, particularly ones that are larger.

That makes it hard for me to promise you right now which things would be in V3 and which things won't. It is entirely possible that some things that I might attempt to get done for V3 end up taking enough time that they only get part of the work done and the rest gets postponed to get finished up in later versions.

Of course I don't expect that to happen with every feature.

But this uncertainty makes it difficult for me to give you any concrete information on specific features that will be in v3 at this time.

- 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:  Frenchy Pilou (PILOU)
3824.20 
Free Personal Edition of PTC CoCreate ;)
http://www.ptc.com/offers/tryout/pe3.htm

EDITED: 25 Nov 2010 by PILOU

  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
3824.21 In reply to 3824.20 
"""""""""""""And note what a broad sweeping change results from that one curve control point edit:""""""""""

Being sure to recognize that this happened "in real time" on the model... He didnt do the sweep operation again with the new shapes.....
  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  2-21  22-25