CSec Profiles, as in Rhino

Next
 From:  animonster (JESSHILL)
849.1 
Having used Rhino extensively for years, It is like a breath of fresh air to have all all the extras stripped away and have all the power in a small tablet driven system with the same cad paradigm. There is however one VITAL extra that Moi is missing, and is an integral part of constructing a nurbs model from profiles in Rhino. Namely the CSec profiles functionality. For those reading this and are not familiar with Rhino numbs modeller which the author of Moi helped develop, and upon which Moi is so cleverly built, it is a function that allows one to take a few profile lines, and construct cross section nurbs which closely fit the profile lines; hence giving one a series of references from which to loft a 3d model. As a model designer, this is the ONLY real missing functionality that I have to revert back to Rhino for, for MY nurbs modeling requirements, when using Moi. This is a BIG BEG... please, please give us cses' in Moi

EDITED: 16 Aug 2007 by JESSHILL

  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
849.2 In reply to 849.1 
Hi Jess, I'm glad that you're liking MoI!

re: CSec, it has seemed to me that most of the time using CSec does not end up much different than just lofting all the profile lines together...

Here's what I mean - here is a scaffolding of 4 curves that you might think of running csec on to generate profiles:



For csec you would select those and then go to the top view and put in several sections.

However, instead of doing that, you can just loft these 4 longer curves with each other directly and use the "Closed" option to make the shape:



It has just seemed to me that this is usually the case - that's why I haven't focused on a CSec type mechanism for MoI. It was kind of an experimental thing that I thought had kind of dropped out of use over time. I mean, CSec does make sense in a certain way because it is a bit easier to think of loft cross-sections as being in the smaller direction and moving along the shape, instead of using the longer sections for lofting. But using the longer sections directly tends to work just fine even though it is not quite as intuitive.

If you have some examples of situations where you would like to use CSec, could you please post them so I can check them out?

Also one quick note - just wanted to make sure you knew that you can use copy/paste to share information back and forth between MoI and Rhino, so that makes it pretty fast to go back and forth.

- 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:  animonster (JESSHILL)
849.3 In reply to 849.2 
Thanks Michael, Not as intuitive using the profiles for the lofting, (seems using Moi needs more lateral thinking; pun intended), especially if one is used to Rhino. Yes, I got the Copy Past between apps in a previous post on the forum, as this is the best place to get quick and dirty with great ideas.(Rhino, great though it is -- on a tablet?... (*grin*) My opinion)

Many of my previous previous models I have kinda stuck to the Csec, probably an ingrained condition. There is however one area where the cses still gives something I am not really able to "lateral think" my way around in Moi, given the lofting of the profiles method, which a fabulous approach (My thanks for this eye-opener). . . .Say for example the classical "let me make a spoon" with this new toy . . .

1.. A top profile - mirrored
2.. Two side profiles - one for top and one for bottom
3.. A Csec through the four profiles
4.. (Here is the point) Adding knots in the area of the bowl of the spoon, and adjusting the cross sections (more here than on the handle), then reshape them to form a better bowl reference
5.. The inevitable loft of the csecs
6.. The tidy up via cap, blend, whatever.. etc for the open edges
7.. And the pieces were joined in the virtual firmament, And behold there was a spoon... lol

To do the above would entail more profiles to do the inevitable bowl, hence Lsecs as apposed to Csecs, same approach on a different axis...where the Csecs are made from the profiles giving more "in-place" nurbs to play with. See my problem?
This applies to many of those "tiny tidy" things like a pouring spout for the coffee pot, the dent in the gun muzzle.. etc.

Maybe for version 2? (Here's dreaming)
Jess
  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:  animonster (JESSHILL)
849.4 In reply to 849.3 
Hi Michael,
Here is a spoon lofted from 4 profiles, as you described, I have projected a line onto the surface of the inside of the bowl, to show what I meant by being able to add points on the cross sections, and thus manipulate the bowl's inner and outer shapes.
This is method I use for many "shaped" models, such as canoes etc.. Is there a way one can do something similar, or am I just fishing.
Jess
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
849.5 In reply to 849.3 
Hi Jess, do you possibly have a model file of the spoon shape curves? If you could attach it here that would help me follow your description.

> Maybe for version 2? (Here's dreaming)

Yeah, version 1 is pretty much wrapped up at this point, I'm pretty much just tweaking it with bug fixes for the moment.

But CSec is actually not very technically difficult, it's really just a packaged up version of InterpCrv. Once I get started on version 2.0 it should be pretty easy for me to add a few more scripting methods and then make a plug-in that would do it for you.

Until then copy/paste to Rhino for this one is your best bet, although you can do a "manual" CSec in MoI by drawing in some lines, select the long segments and then hit Edit / Trim, use the lines as cutting objects, then hit "Done" to leave all the pieces (the long guides will now be sliced up into smaller segments). Then you can use Draw curve / Freeform / Through points and snap on to the endpoints of those segments to get your CSec type profiles. That should work in a pinch (let me know if you want more detailed steps for this), but probably copy/paste to Rhino is faster for this one.

- 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
849.6 In reply to 849.4 
Hi Jess,

> Is there a way one can do something similar, or am I just fishing.

Well, you can edit these long sections in a similar way, add points in that area and adjust them to tweak the shape... It is kind of a 90 degree shift in thinking though.

One benefit of this method is that you might be able to use a fewer number of curves to define the shape, which can be good. One problem with lofting with many sections is that it tends to create stair-steppy kind of wiggles if you try to get the surface forced through too many sections.

- 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:  animonster (JESSHILL)
849.7 In reply to 849.6 
Hi Michael,
Using extra longitudinal profiles works perfectly for now, A little more work than the Csec's but a simpler than the slicing and dicing. Thanks for the pointers... (C joke)
V2 with Csec, and hopefully the dreamed about layers ..(ref: other user requests), will make me pack away most other nurbs toys, and go MoI culting on the highways.
And a great thanks for making MoI nurbs my 3d pencil with an amazingly simple approach to CADding. My hat off to you sir.
Jess
  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
849.8 In reply to 849.7 
Thanks Jess!

Actually I was just thinking that there may be possibly enough stuff in place already to add in a custom CSec command right now, I'll give it a try tomorrow to see if I can put it together with the existing scriptable stuff.

- 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
849.9 In reply to 849.7 
Ok Jess, good news for you - there was indeed enough scripting stuff hooked up already to make a CSec command for the current version, I've attached the new command to this message.

Here's how to use it.

First download and unzip the attached CSec.zip, copy the the 2 files (CSec.htm and CSec.js) to the \commands subfolder under your MoI main program files folder. This is the default install location:
c:\Program Files\MoI beta Aug-1-2007\commands .

That installs the new CSec command, but you need a way to trigger it - you can do this by adding a new keyboard shortcut under Options. Put in whatever key you want (like for example "C"), and put in CSec for the command.

Now you can select your CSec curves in order, and then push C, to do your CSec-ing right inside of MoI.

Here's a visual overview for others who aren't familiar with CSec. Given a set of scaffolding curves like this:



You can then pick these 4 curves (one by one in order from first to last in a circular order), then run CSec to generate a curve that interpolates a planar slice through the scaffolding. So you pick lines like this:



Which become cutting planes and each line generates a new cross-section curve. You repeat this with many lines and you get a bunch of cross-sections like this:



You can then loft through these or use them for whatever...

- 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:  WillBellJr
849.10 In reply to 849.9 
Wow Michael, it's just amazing how you just whip up all this power so easily in MOI!

I can't wait to read an article about you in Computer Graphics World!

-Will
  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
849.11 In reply to 849.10 
Thanks Will! One thing that helps is that MoI uses scripting heavily in its normal operation for every command. What I mean is that the scripting is not just something that is bolted on extra, it is deeply embedded and used for basic operations in MoI.

So you can do pretty sophisticated stuff with scripts, create UI that is the same as any regular MoI command, etc... The only tricky part is that it will take me quite a bit of time to document it (and write scripting tutorials, etc...) so that others can use it to do these kinds of extensions more easily. I won't be able to focus on that kind of scripting documentation for a while yet.

In this case this new command basically combines together elements of several different commands - Line, Extrude, Intersect, and Curve through points.

There are a still a few things to streamline for scripting, but I'm really happy with the overall scripting architecture, it gives me a lot of flexibility when building new commands.

- 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:  wastzzz
849.12 
I have a problem with the CSec script. Here I am attaching the 3dm file. If I detach a little the profiles, then it works, but that's not what I need..
Thank you.
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
849.13 In reply to 849.12 
Hi wastzzz, yeah it's related to how the csec script calculates intersections between things - if the csec rails also intersect with one another it generates another intersection point and messes up the script.

> If I detach a little the profiles, then it works, but that's not what I need..

You can still easily get what you need by using detached profiles - start with your profiles how you want them with them all touching at the ends. Select them and do a Ctrl+C to copy them to the clipboard.

Now draw in 2 lines in the side views near the ends, use Edit > Trim to cut the ends off and now you can use Csec on those cut rails that do not touch at the ends. When you are doing doing csec delete the cut up rails and do Ctrl+V to paste back in the original uncut rails and you should then have the result you want.

- 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:  wastzzz
849.14 In reply to 849.13 
Understood, thank you for the workaround, it's working :)
  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