Curve and Points

Next
 From:  Sharif (SR13765)
3660.1 
Hi all;
I have two qouestions:

1. I have created series of points via polar array. Is there a way that I can create a curve thrugh these points automatically. As far as I know I don't see any command in MOI, But I thought may be there is a script that will do this.

2. What is the best way to create a profile normal to a curve at specific point. I use C-plane but sometimes I strugle to get the C-plane work properly.

Thanks for you help

Sharif
Image Attachments:
Size: 174.2 KB, Downloaded: 59 times, Dimensions: 1920x1160px
  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
3660.2 In reply to 3660.1 
WHat level of acuracy are you needing. I can set you up with a method to do this, but accuracy will be lost to some extent.

There is a script that will create "Line segments" between points at a set tolerance. You could then run the "Rebuild" command on the joined segements with the "number of points" option to create a single spline. To have a tight tolerance, the curve would be heavy on points and sharp corners will get a small "Wavy Factor" to it....

Post a file...
  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:  Sharif (SR13765)
3660.3 In reply to 3660.2 
Thank you for your reply. What I like to see a smooth curve. This is an experiment to use the MOI for modeling a building tower, each point represent a floor

I like to see how your script works. I have attached the file.
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
3660.4 In reply to 3660.1 
Hi Sharif,

So for #1 one option could be to use the line connecting script that Burr was mentioning which is available here:
http://moi3d.com/forum/messages.php?webtag=MOI&msg=2749.56

Then you could select all those lines and use Join to make them into a polyline and then try to use Rebuild on that to smooth it out.


But you may get a more naturally shaped curve by using those points as the control points of a curve.

One idea for that could be to select your points and use the "Save point file" plug-in command from here: http://kyticka.webzdarma.cz/3d/moi/#SavePointFile

That can take your points and create a text file that has a list of them in it.


Then there is a companion command "Import point file":
http://kyticka.webzdarma.cz/3d/moi/#ImportPointFile
which can read in a text file with a list of points in it and create the result either as individual points, a polyline, or as the control points for a freeform curve and probably the last may give you a good result.


- 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
3660.5 In reply to 3660.1 
Hi Sharif, also you asked:

> 2. What is the best way to create a profile normal to a
> curve at specific point. I use C-plane but sometimes I
> strugle to get the C-plane work properly.

So if you want to draw it directly in place then a cplane would be what you want for that.

Maybe you could try to show me a file where you are having a problem setting the cplane so I could give you some tips on it, but by default when you locate the cplane on a point on a freeform curve it should get aligned to the curve tangent automatically.

Another option is to draw the curve initially on a world plane, and then use the Transform > Orient command to relocate it to a plane normal to the curve tangent.

There are 4 steps to the orient command, you first pick a starting base point, and then the second pick is to adjust the base axis rotation or you will probably just right-click for the second step to accept the current default rotation. Then you do 2 more similar steps for placing the target location. It looks like this (note there are 2 right clicks happening here as well):



- 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:  Sharif (SR13765)
3660.6 In reply to 3660.5 
Thanks Michael;

the transoform>orient command works very good.
  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
3660.7 In reply to 3660.6 
Hi Sharif, I'm glad Transform > Orient will be useful to you.

Also if you place the target point on to a surface it will align to the surface normal as well.

If you want to match 2 solids together you can also pick the base point on a surface from the object you are placing, that will basically connect them together like this:



- 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:  NightCabbage
3660.8 In reply to 3660.7 
"Transform > Orient"

Heh, I love this command :D

So useful!
  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
3660.9 In reply to 3660.8 
Whoa....I didnt realize the import Point file command had those other "Create a curve out of it" options......VERY COOL!!! and exactly what he was looking for.
  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:  Sharif (SR13765)
3660.10 In reply to 3660.4 
Hi Michael;

The second option , save point file, then import point file with control point worked perfectly. this was exactly what I was looking. I also gave a try on "ConnectPoints" script, but it didn't work. no lines showed up between the points. I set the tolerance to 3m which the distance between points.

Thanks again for clear explanation and solution.

Sharif

EDITED: 8 Jul 2010 by SR13765

  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
3660.11 In reply to 3660.10 
Hi Sharif,
The method Michael gave is a much better method but, the ConnectPonts script method will work also. The points in the file you posted were measuring at 4.1*** and such, so the value 3 would not produce a result. Try typing 5 and it will do the segments. I then did the join/rebuild and got a curve with no change at "10 points", which is a much less dense curve than the through points curve created with the export point/import point of the original file. If you had many curves like this, it may be good to have this other method available.
  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:  Sharif (SR13765)
3660.12 In reply to 3660.11 
Hi BurrMan;

Thanks for clarification. My mistake I had the distance wrong. Yes I tried again and worked fine.

Sharif
  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