Scripting the Trim command
 1-20  21-32

Previous
Next
 From:  bemfarmer
8786.21 In reply to 8786.20 
Two last tests:

Using 64 points, _TrimCurve yields 61 segments. (3 are of double length, unsplit)

For standalone open curve, if the 61 segments are then Joined, and the _TrimCurve repeated, 64 segments result, the correct number.
(For an open edge, using Merge on the 61 segments, and repeating _TrimCurve with 64, results in 64 segments.)

Second tests, with stock Trim command, with start point added, yielded 1023 points versus 1024, one less than correct number of segments.
I'll try adding start point to _TrimCurve test script...

- Brian

EDITED: 23 Jan 2018 by BEMFARMER

  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:  bemfarmer
8786.22 In reply to 8786.21 
For standalone curves, I'm going to put a scripted "Join" and re-Trim in the _TrimCurve test script, as a "workaround" for MoI3.
Likewise for script in progress _ObliqueConeUnwrap.

For edge curves, I'm going to attempt to put in a scripted "Merge".

Adding startpoint to the already arrayed points seems to do no harm, in case of open standalone curves or open edge curves,
and so will be added for consistency with closed curves.

- Brian
  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
8786.23 In reply to 8786.20 
Hi Brian,

re:
> Is it possible to fix in MoI3?
> Or is the "tolerance bug" in the C++ Trim factory?

Yes it's in the Trim factory. Right now it doesn't seem likely to get fixed in v3, all my effort is going into v4.

- 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:  bemfarmer
8786.24 In reply to 8786.23 
cool :-)

- Brian
  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:  yakas
8786.25 In reply to 8786.11 
Great, thank you.
  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:  bemfarmer
8786.26 
Thank you Michael.


I see, by adding an alert to the BlendCap script, which starts with a Closed edge, that the number of edges is stated as 3.
Since TRIM resulted in two "half" edges, is this an overstatement by 1, or is there a 3rd edge? (Or something else?)
(The index count in the BlendCap for loop would seem to be 0, 1, and 2... ?)

var brep_edges = trim_res.getEdges();

//// Test Code added by Brian:
moi.ui.alert ( 'number of edges = ' + brep_edges.length )

(Result is 3)

>>>>>>>>

(When Trim is applied to an open edge my tests in _TrimCurve12, (work in progress), show an "overstatement" of the number of edges as 2. ???)
(I'm planning on deducting this 1 or 2 count, for doing number of segments comparison...)


- Brian
  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
8786.27 In reply to 8786.26 
Hi Brian, well probably there are 3 edges being generated somehow, although maybe it's something like an edge is being repeated in the list.

Can you please post your modified BlendCap script with anything that's required to duplicate your test so I can try it over here and see what's going on?

- 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:  bemfarmer
8786.28 In reply to 8786.27 
Hi Michael,
Here is the Test BlendCap with simple alert message.

- Brian

(For standalone curves, I've got _TrimCurve12 script working with Join and second Trim, to "fixup" the Trim problem with 8X trimpoints on the strange open curve.
But merge with open edges and reTrim is being stubborn.)

Edit 1/25/18: Brian removed the test script to avoid confusion. A knowledgeable programmer can easily add an alert message of # of brep edges.

EDITED: 25 Jan 2018 by BEMFARMER

  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
8786.29 In reply to 8786.28 
Hi Brian, is there also any companion .htm file for the script, and when you are running it and getting that message are you using a particular object as the input? If so please post that object as well so I have all the same pieces as you when I try to reproduce your result over 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:  bemfarmer
8786.30 In reply to 8786.29 
Hi Michael,

Attached is simple open elliptical cone, and open cylinder.
BlendcapTest of edge of open elliptical cone, with closed edge, yields reading of 3 edges.
BlendcapTest of open cylinder with closed edge, yields reading of 4 edges.
There is no .htm file for this particular testing.

- Brian

Maybe I'll go at it using the nametags assigned...

EDITED: 24 Jan 2018 by BEMFARMER


  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
8786.31 In reply to 8786.30 
Hi Brian, thanks for posting the file.

So when doing this:

code:
var trim_res = trim_factory.getCreatedObjects().item(0);


The 'trim_res' object is the full brep which for the cone will now have 3 edges - the original "seam edge" plus 2 edges from the closed edge that was trimmed. The cylinder started with 3 edges (2 closed edges at the ends and one seam edges), and when you trim one of those in half there will now be 4 edges.

Probably the thing that's got you tripped up is you were expecting to receive edges as the output, but when you trim an edge the output is a brep.

So yeah probably tagging the edge with a name before trimming it would be good so you could find the new edges when looking through all the brep's edges. The name should inherit into the trimmed pieces.

- 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
 From:  bemfarmer
8786.32 In reply to 8786.31 
Thank you Michael, your response is logical, and makes sense :-)

(I just did a blend with a cylinder and a pentagon, and got 18 (brep) edges, with BlendCapTest, on the open circular edge)

- Brian
  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-20  21-32