Script naked edges > script naked curves ?
 1-20  21-25

Next
 From:  TOM (SIRTOM)
9869.1 
Hi,

I wonder if there is a script like naked edges for for "naked curves" ?

Imagine an array of curves where all end points should of these curves should
touch each other. The script should detect those end points of an array of selected curves
which do not share the same coordinates. I do this all the time manually for many
points so it would be a great time saver.
Image Attachments:
Size: 46.7 KB, Downloaded: 39 times, Dimensions: 972x1010px
  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
9869.2 In reply to 9869.1 
Hi Tom, I don't think there is an existing script for that but it shouldn't be too hard to make one.

So just to make sure I understand - if a curve does not have an endpoint in the same spot of one or more other curve endpoints it would get selected by the script, is that correct?

Comparing things for exactly meeting could be problematic, because tiny amounts of numeric fuzz are normal in floating point calculations so it would probably be good for it to use a tolerance value and consider points closer than that tolerance to be ok.

Also do you want it to look for curve endpoints only or segment endpoints? Something like a polyline made up of 3 line segments has a start point and endpoint of the whole polyline but also start and end points of the individual line segments within the polyline.

- 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:  TOM (SIRTOM)
9869.3 In reply to 9869.2 
Hi Michael,

I attached an example I currently work on.
It is a shape made up by 7 curves.
These curves are the basis for 3 surfaces which are created
with the commands >network and > planar.
Finally, these 3 surfaces are joined into one solid (> join)

To achieve the final shape the basic array of curves is submitted to
countless iterations (scaling in different directions, moving
points, etc.)

Naturally, these changes move those points out of position,
which need to match perfectly to create the 3 surfaces
for the final solid.

To find out which points have moved out of their matching
positions I have to zoom in into each 5 intersections of
curves, again and again, for each iteration.

So it would be helpful to have a command signaling which
of the selected intersection of curve points contains points
which do not have the same coordinates (within a certain tolerance)

I hope I explained it well, if not, I will give it another try ;-)

TOM

EDITED: 8 Jul 2020 by SIRTOM

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:  Cemortan_Tudor
9869.4 
end & start match another end or start or pt on curve - as i've undestood
  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:  TOM (SIRTOM)
9869.5 In reply to 9869.4 
<end & start match another end or start or pt on curve - as i've undestood>

thats it !
  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:  RetireeJay
9869.6 
I'm interested in this too.

In looking at the OP request, and I think in line with solving his problem, here is another approach. Is there a parameter available in MOI that tells the system how far from the current cursor position the system should "look" to find a line (or especially the end of a line) to "snap" to? Virtually all of the problems I was encountering in another thread on this forum would be solved by a stronger "magnet" pulling the end of my polylines to "snap" onto the intended line, intersection, or end of line.

-RJ (RetireeJay)
  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
9869.7 In reply to 9869.6 
Hi RJ,

re:
> Is there a parameter available in MOI that tells the system how far from the current cursor position the
> system should "look" to find a line (or especially the end of a line) to "snap" to?

Yes, it's a setting under Options > Snaps > "Snap radius":



- Michael
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
9869.8 In reply to 9869.5 
Hi Tom,

re:
> <end & start match another end or start or pt on curve - as i've undestood>

The "pt on curve" part is probably more difficult. I could cook up something that just looked for endpoints matching if that would be useful.

- 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:  TOM (SIRTOM)
9869.9 In reply to 9869.8 
>The "pt on curve" part is probably more difficult.<

Thats what I thought.>I could cook up something that just looked for endpoints matching if that would be useful.<

It would be a great time saver !
Would it be possible to cook it up in a way to select a whole bunch
of curves and MOI signaling which nodes of curves do not match exactly ?
  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
9869.10 In reply to 9869.9 
Hi Tom, it could generate a point object at endpoints that did not have a match, would be good?

- 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:  TOM (SIRTOM)
9869.11 In reply to 9869.10 
How would that point object appear - in selection mode as to
be easily distinguishable ?

Have I understood right : the follwing is makeable :

- Selection of a bunch of curves with "node" points where their ends should match perfectly (like attached example)
- Run script
- AOne or more point objects appear clearly visible there, where the curve ends do not match perfectly

Sounds amazing and would be a lovely time saver tool !

EDITED: 9 Jul 2020 by SIRTOM

  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
9869.12 In reply to 9869.11 
Hi Tom, it would just appear as a regular point object does like if you create one under Draw curve > More > Point.

That would behave similar to MarkCurveStart:
http://moi3d.com/forum/index.php?webtag=MOI&msg=5288.21

- 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:  TOM (SIRTOM)
9869.13 In reply to 9869.12 
Looks perfect for me.
If alle the points of the curves are deselected,
the appearimg points will be clearly visible.
  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
9869.14 In reply to 9869.13 
Hi Tom, give the attached script a try.

- 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:  TOM (SIRTOM)
9869.15 In reply to 9869.14 
WOW - fabulous !!

Michael, your attitude towards your userbase is as
exceptional as your phenomenal software.
My respect to you and once again :

*** Thank you so much !! ***
  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:  TOM (SIRTOM)
9869.16 
Working with it now and enjoying the heavy decrease in necessary
clicks to create the desired 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

Previous
Next
 From:  Tim (TIM_HICKOX)
9869.17 
I asked for something like this some time back. One of the most troubling aspects of MOI is, what I call, spurious endpoints. This includes "intersections". If I am zoomed out to a reasonable level for the modeling in progress, I may try to pick an Endpoint, but there may be two or even several points that might be chosen because they are very close together -- but not the same point. And choosing the wrong point has consequences. I move the cursor around a point and watch the coordinates to see if they change slightly. In some cases it may only be that the change is 0.001-unit. To make certain that I'm getting the right point, I must continually zoom in close enough to see what is going on. I understand that, to some extent, these things are unavoidable, but there just seem to be too many "points" that come out of nowhere and create ambiguity. Given what I've said, the trouble with trying to fix these things is that the program would have to first identify which point is the right one! Michael also told me that there is the issue of tolerance: How close together is close enough to be considered part of a problem that needs to be corrected? What might be a more practical option would be to get a "red flag" if we choose a point, and there are other possibilities 'near by' (whatever that means). If there is no red flag warning, then we would know that we had a good point. With a red flag, we would know to zoom in and check what is going on. As it is, we often have too many choices and it is very easy to pick the wrong one if we are not very diligent. I think that trying to fix these things after-the-fact is a can of worms.
  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:  RetireeJay
9869.18 
I'm sorry, I must be terribly dense. Well, actually, just trying to wrap my head around the procedures in MOI. I can't figure out how to use that nifty plug-in.

I drew a couple of lines on one plane, and then activated the plug in to MarkUnmatchedCurveEnds, but I couldn't see anything happen on the drawing. I could click on the lines and they turned yellow, but nothing else. Didn't matter if they intersected or not.

When I launched the plug-in, an information box popped up in the upper right, which SEEMED to be asking for an input (i.e. "Tolerance") but I couldn't figure out how to use that box. No amount of clicking anywhere in that box did anything.
And then the computer "hung" for half a minute... I was almost ready to do a hard reboot when it finally came back.

Michael, you have my great respect. You obviously know the API for MOI inside and out; I looked at the JavaScript and although I don't understand it, it's obviously a masterpiece of object-oriented programming. Are you one of the developers of MOI?

If it matters, my computer is running Windows 10.


  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)
9869.19 In reply to 9869.18 
Normally you have that...

---
Pilou
Is beautiful that please without concept!
My Moi French Site My Gallery My MagicaVoxel 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
Next
 From:  Cemortan_Tudor
9869.20 
u'r commad ui looks weird, it should be an input box(css problem)
about tolerance
(1/3)*3 != 1 -> there will be a margin error - tolerance is that margin error after all moi curve's calculations
- Tudor -
  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-25