controlling sweep positions

Next
 From:  noskule
3893.1 
Hi all
I would like to sweep multiple profiles along a single rail. If i manipulate the rail all the sweeps should update. The problem is that the created objects position is sometimes located at the profiles position and sometimes on the rails position.

How do I control that.

Thank's for any hints
Nos





  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
3893.2 In reply to 3893.1 
Hi Nos, there are 2 modes to how the sweep profiles are placed. In "auto place" mode the profiles are automatically transformed and moved from their original spot (usually drawn flat on the top view) to the rail. In manual position mode they are taken directly from their current position and not altered.

These modes are determined by whether the profile curve is outside of the bounding box around the rail or not. Please see the six-legged pod video here for some additional explanation and visuals that describe that: http://moi3d.com/2.0/docs/tutorials.htm (see around the 8:20 time mark).

To use manual place mode with multiple profiles you'll generally want the rail to be nearby the profiles and not have the profiles offset far to one side or the other of it (as it looks like you may have) since if they are far enough away it will trigger auto place mode. But also auto place mode will only kick in if you have the profiles all on the same plane so if you place a second profile along the rail where it is tilted at some angle or something like that, that should also turn off auto place mode as well.

In the future I'm probably going to make this placing mode something you can more explicitly set instead of having it automatically happen based on the relation of the profile to the rail's bounding box.

- 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:  noskule
3893.3 In reply to 3893.2 
> o use manual place mode with multiple profiles you'll generally want the rail to be nearby the profiles and not have the profiles offset far > > to one side
I placed it in the middle of the plane profile which has to follow the rail exactly. The surrounding profiles just have to follow the plane profile. So in z-axis I can't move cause it would deform the sweept plane-profile. Moving in X and Y-axis moves the profiles in there location.


> auto place mode will only kick in if you have the profiles all on the same plane
I tried this with the lower profile moving x-backward but it seams not to work


Is there a way to force the manual-place mode or even make it default? I addached the moi-file for better understanding.

~ nos

  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)
3893.4 In reply to 3893.3 
Hi nos,

You can also use the bottom edge of the centre section as the rail to sweep that bottom 'C' section and it will still have update history.

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
3893.5 In reply to 3893.3 
Hi Nos,

> Is there a way to force the manual-place mode or even make it default?

No, not currently but I do want to add this in the future.


> I tried this with the lower profile moving x-backward but it seams not to work

Sorry what I wrote previously wasn't quite 100% correct - the profiles don't actually need to be on the single same plane for auto place to kick in, it's enough for them to be on planes that are parallel to one another.


In order to do what you want, you'll need to use an offset of the rail (or use one of the edges from your previous sweep which is the same kind of thing).


An offset of the rail will produce the same result as what you currently have which is having the profile offset instead.

So for example to get what you want with sweeping this profile here:



Select the rail and build an offset of if with the Construct > Offset command:



Now use that offset curve as the sweep rail.

You can still set this up to update with edits to the original curve, you just need to select the offset curve and enable history updates on it. To do that, select the offset curve (the result from the offset not the original one), and then run the Edit > History button and click on the "Enable update" button.

Once history updates on the offset curve are enabled, then you will have a chain set up where an edit of the original curve will regenerate the offset, and the sweep that uses that offset will also get regenerated 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:  noskule
3893.6 In reply to 3893.5 
> Once history updates on the offset curve are enabled, then you will have a chain set up where an edit of the original curve will
> regenerate the offset, and the sweep that uses that offset will also get regenerated as well.

I can reproduce this and works for my so far, but when I move the offset-rail the history breaks and the update don't work anymore. Could this be changed somehow so that the history is still working?
~nos
  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
3893.7 In reply to 3893.6 
Hi Nos,

> Could this be changed somehow so that the history is still working?

That is something that I want to look into in the future.

Currently though when you have some object that is in the middle of a history chain like the offset curve, you can't edit it anymore and keep the chain intact because the full history stack will only be replayed if the offset is regenerated through a history update itself.

- 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:  noskule
3893.8 In reply to 3893.7 
ok, it works for me. What's about boleans? Will there be history for booleans also?
~ nos
  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
3893.9 In reply to 3893.8 
Hi Nos,

> Will there be history for booleans also?

Hopefully in the future at some point.

The tricky thing about that, is that to make history work on stuff like booleans it means that the original unbooleaned source objects have to be available to the history replay mechanism.

So that will mean storing a lot of additional data about previous objects somehow, maybe in some kind of potentially very large separate file store.

It tends to be difficult to make stuff that handles large wads of data efficiently, so I'm not exactly sure when this may happen. Since it may take a lot of work to make it happen it may be a while before I will be able to focus on it.

- 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:  noskule
3893.10 In reply to 3893.9 
In my usecase I have to store the brevious objects anyway so I can rebuild it if I have to change something. But I don't have so many objects.

An alternative may be a recording script witch records the parameters of objects and konstructional functions applied to it. So the object could automatically get rebuild. Many times I have to rebuild objects and going true the whole process cause I have to relocate 2 bore-holes.

~ ben
  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
3893.11 In reply to 3893.10 
Hi ben,

> An alternative may be a recording script witch records
> the parameters of objects and konstructional functions
> applied to it.

Unfortunately that's not a complete alternative because of things like objects being imported from a file or something like that where there is only the object's geometry available and not its recorded history.


> Many times I have to rebuild objects and going true the
> whole process cause I have to relocate 2 bore-holes.

You may want to check out this object repair tutorial here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=446.17

It shows some other techniques for repairing holes on an object such as removing trim curves to recover the original underlying surface, it's a technique that works directly on the current object rather than rebuilding it from scratch.

Here is a quick example - here I have a slab with a hole in it:



Select the side wall face of the hole like this:



And then delete it, that results in an open surface object like this, where the circular edges now only belong to one surface and are not joined edges between 2 surfaces anymore:



Now select those edges:



And use Delete again to remove those trimming boundaries, this will recover the underlying surface:



Every trimmed surface has an underlying surface part of it, and then trim curves that mark areas of the surface as being cut off or as holes. Those trim curves can be erased so that those areas are not holes anymore.

In order to erase a trim boundary, it must not be a joined boundary between 2 surfaces and if the boundary is made up of multiple edges, all the edges that make it up need to be selected before you use Delete.

- 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:  noskule
3893.12 
> not a complete alternative because things like objects being imported from a file or something like that

IMO this would be ok cause if something is imported it has to be already modelled in the first place, and changes should be applied there cause the idea is probably to use the imported object a serveral times/places. This also leads to the question of instances. Is it planed to implement instances?

I did read the thread about multi document window. So the arguments was more in regards to gui-usabillity but there's also the point of the modelling workflow. Lets say I have an imported object which I use in several models. At some point I my have to modify it to adapt it to something. So it would be nice if I could open the source of the instance/source-file in a second window and edit it.


> techniques for repairing holes

This helps alot, thanks for the hint.

~ nos
  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
3893.13 In reply to 3893.9 
Hi Michael....

Is there any chance to use LEDAS GEOMETRIC SOLVER in the future, of course it will cost MoI higher.
  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
3893.14 In reply to 3893.13 
Hi Anis,

> Is there any chance to use LEDAS GEOMETRIC SOLVER in the future

I don't really know - I just don't have enough information about it to be able to give you a good answer on that.

For example, how much does it cost to license it?

- 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
3893.15 In reply to 3893.12 
Hi Nos,

> IMO this would be ok cause if something is imported it
> has to be already modelled in the first place, and changes
> should be applied there cause the idea is probably to use
> the imported object a serveral times/places.

I don't think that's a proper assumption that everybody is only going to use imported objects as instances and not as something like a main object body to just do further work on.


> Is it planed to implement instances?

Yes, I do want to have instances at some point.


> Lets say I have an imported object which I use in
> several models. At some point I my have to modify
> it to adapt it to something. So it would be nice if I
> could open the source of the instance/source-file in
> a second window and edit it.

Pulling up a completely separate window is a pretty complex process for something like that. I'd be more inclined to do something much more simple for things like that, such as temporarily hide the other stuff, let you work on the object that you want to edit right in the same window you are already working in, and then when you are done everything else goes back to its previous state.

- 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
3893.16 In reply to 3893.14 
Hi Michael...

As long as I know, some autocad clone use LGS, also some CAM vendor.
Regarding cost, looks like they can provide reasonable cost both for developer and end user.
I think you should discuss further with LGS people. We believe you can develop far more robust and good history and or constraint solver, but here you are one man show. So we hope LGS can speed up development of MoI3D.

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
 From:  adamio
3893.17 
I suspect that LEDAS would be able to offer a better deal than Siemens.

+1 for looking into ledas
  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