trim/extend problems?

Next
 From:  armin
2474.1 
Hi to All,

Played around with Moi today (V2 Beta) and ran into some problems concerning the trim/extend command. Maybe I am just doing something wrong? Attached are a few screenshots that show my dilemma. "Extend_01" was my first problem.
I tried to extend the short line segment inside the red circle down to the horizontal line. So, after selecting my line to extend, and the boundary nothing happens. I only get a message "2 Curves" with the size info. Same in V1,expect the message.

I didn't want to give up at this point, so I extended the short line passed the horizontal line and tried to trim at the intersection marked by the red circle in "Trim_01". This creates a point at the intersection. With the remove option checked, the only thing that gets removed is the previously created point, though I have to say the line gets seperated and I am able to remove (delete) the desired section manually. This was V2 Beta, didn't try this one in V1.

After manually creating the angular line trimmed at the horizontal line, I tried to trim off the rest of the horizontal line, which results in the same behaviour as mentioned above. Nothing but the point gets removed. Tried this in V1 and V2 Beta with identical results. See "Trim_02".

Sorry for that long explanation, just trying to find out if those commands are supposed to work that way, or is it just a bug?

Thanks
Armin









  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)
2474.2 In reply to 2474.1 
Why not post the file? ;)
Join all the part right then extend
Works fine for me ;)

EDITED: 12 Mar 2009 by PILOU

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
2474.3 In reply to 2474.1 
Hi Armin, thanks for reporting this problem!

The problem in this case is that currently a circular arc is extended only by lengthening the arc.

So for example if you have an arc like this and a boundary:



If you use Extend on it, the arc will lengthen to a longer arc until it hits that boundary:



If the arc is too small in radius to hit the boundary then nothing will be generated for that case.

So that's why you don't get that kind of extension that you were looking for in this case. In the future I'd like to add some more options to Extend but for now you can get what you want by drawing a line. If you have "Straight Snap" and "Object Snap" enabled, you should be able to draw a line that has an intersection snap on the ending location where you want, like this:



I tried to replicate your trim problem over here with a line that was overshooting, and I could not seem to reproduce a problem there. It may have something to do with your particular shapes or something, are they on different elevations possibly?

If you can please post the .3dm model file with the curves in it that do not trim correctly, that would help me to be able to inspect your curves to see what is happening in that 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:  Michael Gibson
2474.4 In reply to 2474.1 
Hi Armin, just one more note after I read your message bit more carefullly.

You wrote:
quote:

I didn't want to give up at this point, so I extended the short line passed the horizontal line and tried to trim at the intersection marked by the red circle in "Trim_01". This creates a point at the intersection. With the remove option checked, the only thing that gets removed is the previously created point, though I have to say the line gets seperated and I am able to remove (delete) the desired section manually. This was V2 Beta, didn't try this one in V1.

It sounds like you may be missing a step in Trim, where you need to select which fragments that you wish to delete or keep by clicking on them.

If you don't select any fragments to remove and then hit Done (or right-click), then all the split-up fragments are kept which is what it sounds you ran into there.

So during that stage where you see that point, click on that piece sticking out down below and then right-click or push Done and it will get trimmed away.

- 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:  armin
2474.5 
First of all, thanks for your fast help on my subject Michael and Pilou. I played around a little bit more with the TRIM and EXTEND command. And, yes the TRIM command was a USER ERROR ... happens, unfortunately. As far as the EXTEND command goes, this seems to depend on the length of the segment I want to extend - attached is my test file, so you can try it yourself.

Since I din't have my setup from yesterday anymore, I tried to recreate the situation. There are four different versions. From LEFT to RIGHT, the first one works, the second doesn't, the third one doesn't work and the fourth one does. This was done in V2 Beta, haven't tried it in V1, asuming it will be the same behaviour. And I only created the version with the fillets because I thought it may have something to do with it, but obviously not. Anyways, this is just FYI.

Now, the TRIM command, knowing now what I have done wrong, I thought there are a whole bunch of clicks (7x) to achieve the desired result. So my thinking was, it would be nice ... and I don't know how hard this would be to implement - if I could just invoke the TRIM command and then click on the segment I want to remove and it would be gone (2 clicks). And in case there are two boundary segments ... clicking in between would remove the segment in between, so basically some automatic boundary recognition. I am familiar with this functionality from some other software, which I don't want to name here. Anyways, just a thought, would be nice. Despite all that, I think MOI rocks.

Armin
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
2474.6 In reply to 2474.5 
Hi Armin, thanks for posting your example file! This is a bug, which involves the curve length just like you guessed. Curves were only being extended to a maximum of 20 times their length before looking for intersections with the boundary, which for smaller curves was not enough.

I've fixed this up for the next v2 beta so that it will look at the bounding box around the curve and all the boundary objects so that it will make sure to extend it far enough to intersect with the boundary. That fixes it so that all your examples will work in the next v2 beta.

Thanks for reporting the bug along with the file so I could reproduce the problem, that helps a lot for being able to fix it.


> Now, the TRIM command, knowing now what I have done
> wrong, I thought there are a whole bunch of clicks (7x) to
> achieve the desired result.

Actually, I only count 6 clicks:
1 - select line that is to be altered by trimming
2 - click on the Trim button to launch the trim command.
3 - click on the cutting object to select it.
4 - right-click to signal that you are done with selecting cutting objects (same as Done button)
5 - click on piece to discard
6 - right-click to signal that you are done selecting pieces to remove (same as Done button).


> if I could just invoke the TRIM command and then click
> on the segment I want to remove and it would be
> gone (2 clicks).

That would be pretty cool for this "only 2 lines" type situation, but doing that would also bring about quite a lot of negative side effects though.

To start with, if the command ended so quickly it would not be possible to make just one command that handled both a "Trim" and a "Split", Split meaning where you keep all the cut up results without discarding any, which can be useful in different situations.

It also tends to be easier to "undo" a mistaken click with MoI's current system because if you clicked on the wrong thing you still have a chance to correct the selection before it actually throws stuff away.

It also can let you work more selectively on groups of objects, since you have more control over specifying which things are going to be altered. (2 of those clicks in the workflow are basically for you to tell MoI when you are done selecting things so that this will work on groups of objects rather than only on single objects).

Also using window selection (either with crossing or "only inside" type selections) tends to work well with this "select fragments" method.

Also there are situations when trimming a surface object, where it isn't so obvious where to click on the whole surface until you see the fragments (which you otherwise would not see in the "quick" method that you are talking about), like for example here I want to trim this cylindrical surface by the curve off to the side, with the "pick piece to discard" type workflow of MoI's current trim command you get to more clearly see the pieces for where intersections are happening (especially while staying within the 3D view):




Then another thing is that MoI's current method allows for switching to a "Keep" mode, where the fragments that you pick will be the ones that are kept with all others discarded. This mode can be especially helpful for surface trimming where the pieces you want to discard are internal to the model and not easy to pick.

The Mode=Keep method would not be able to work properly in all situations if it discarded all the other pieces on a single click. For instance here I have a plane and I am trimming it with 4 crossing curves:


I can set Mode = Keep and then click on these fragments to keep:



Which will results in this trimmed surface:



If all the other fragments disappeared on just the first click with mode=keep then that kind of sequence would not be able to work. Mode=Keep is not a big improvement for this particular situation, this is just to try to illustrate the workflow issue. This same aspect of Mode=keep does come in really handy when the easiest piece to select from a surface trim are a few big parts that you are intending on keeping and have the excess removed.


So overall there are a lot of benefits to this current Trim system...

This is one of those cases where having some more steps has greatly increased the overall power of the command. When there are enough benefits like this they can add up to outweighing saving a few clicks. Particularly things that are set up to be flexible enough to work on a set of objects rather than only one-at-a-time will usually need some extra confirmation clicks within the command. But when the time comes that you want to do a kind of batch operation it can be really valuable.

The other thing that can be a problem is if saving clicks for a particular command could cause it to behave in a different manner than all the rest of the way that other commands work. That's another pretty big consideration for this case because the way that you are talking about would involve selecting the object to be modified _after_ you start the command while all the other commands generally work by selecting objects to be modified before running the command. When one thing sticks out and doesn't follow the regular sequence it can be bad even if it is saving clicks...

Anyway, those are some of the details about why it is the way it is! :)

- 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)
2474.7 
Vicious bug :)
---
Pilou
Is beautiful that please without concept!
My Gallery
  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:  armin
2474.8 In reply to 2474.6 
Hi Michael, thanks for the explanation. Makes sense.

Armin
  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