ok, hands on again. One question: are you doing it with no
repeat/while nodes at all ? I've managed to build a very rough extrude
along curve compound without the "evil" nodes, but in our case, I
couldn't find a way to search for neighbours border vertices only with
arrays and intrinsic attributes...
Are you planning to "release" all the things that get done here in some
repository, for everyone's benefit?
For the mere "users"...
For another workshop, may I suggest a tool which would really make a lot
of sense having: "Power Extrude".
An Operator that extrudes Curves (with Subcurves) along other Curves (also
with Subcurves), with correct corner mitering.
Know the 3ds max "Sweep" Modifier? This kind of thing.
Extrusions, or their shortcomings in SI, have been discussed many many
times here already. See Kim Aldis' TinyExtrude...
Now with ICE Modelling, time has come to catch up.
Is it theoretically possible, since ICE Modelling does not have NURBS
We have the Compounds "Create Extrusion Along Strands", but not "Create
Extrusion Along Curve"...
Yet there's "Create Strand from Curves". Is this the way to go?
I'm thinking about doing it myself, but the learning curve looks a bit
steep at the moment, and a lot of people have a big headstart already.
First step could be an Op that simply creates Tubes = Extrude with only
circular cross section.
In 3ds max, Splines have a checkbox "Renderable" for this. Params are:
number of subdivisions in the cross-section, along the path, and rotation.
What say you?
By the way: my CurveTools Addon is finished. Going to release it after I'm
done with a small Tutorial Video.
Yet Curves alone are not much worth without the option to extrude
them/convert them to polys, that's why I'm asking.
All the best,
I'm currently in the process of developing an extrude along curve
compound. For now it features:
- number of subd V
- number of subd U (cross sections)
- default circular cross sections if no U shape curve is specified
- V Curve Start Pos.
- V Curve End Pos.
- translate along curve (like on "deform along curve" factory op)
- Cap Top
- Cap Bottom
- Invert Polygons
- modulate radius by fcurve profile (along curve)
- modulate roll by fcurve profile (along curve)
- Constraint extruded mesh to V Curve
..and this is what I'm aiming to do (or what is still missing):
- subdivision type (Per Span/Absolute)
- Spiral Displace Along Curve (control for radius offset/frequency)
- UV generation/modification
Tomorrow I'm going to post a video + the scene file (which I forgot at
my home pc), so that we can discuss and improve it.
I like the idea o having support for subcurves, will try to implement
it. Also let me know what else features you'd like to see in a tool
This has been a nice experience to me (regarding ice modeling). So
i'll try to share as much as possible from what I've learned so far.
And about the workshop, I'm all for it!
maybe not the most useful tool but it would make a good workshop too I think"
But pretty please: don't forget the support for multiple Subcurves, for
both path and cross section!
Can't be more than two additional loops for all Subcurves.
It would simplify a lot of modelling situations - you don't have to mess
with 100 separate objects if you keep Curves together in one CurveList.
I'm halfway finished with that tutorial video for my CurveTool addon,
which will be a nice companion to your plugin when it comes to curve based
Ah yes: new Revolution tools would also be cool, with Subcurve support...
Just in case you look for another challenge. =}
On Wed, 04 May 2011 17:10:41 +0200, Fabricio Chamon <xsim...@gmail.com>
As Guillaume said, the curve normal is not always good, so sometimes
you get a flipped crosssection range. In the compound I'm subtracting
pointpositions from the previous point, then using direction to
rotation to rotate my crosssections *before* positioning then on the
path curve... I think this could avoid the flips, but I'm not 100%
as far as performance I managed to avoid any repeat/while nodes. Let's
see if I can stay like this till the final version of the compound! =)
talking about subcurves, it's using UV to location to position the
crosssections on the path curve, so it may be possible to switch
between path subcurves already (didn't tested yet). But it would
require a complete revision to contemple all subcurves at once.
As it all started as an exercise, I didn't look at any of the factory
compounds. So please (Guillaume) let me know of any optimization I'm
- exposing the uv to location subcurve index
- instead of setting topology inside the compound it outputs the topology itself
Stefan Kubicek Co-founder
keyvis digital imagery
1050 Vienna Wehrgasse 9 Austria
--- www.keyvis.at ste...@keyvis.at ---
-- This email and its attachments are
--confidential and for the recipient only--
Indeed. Thanks for the tip.
@Szabolcs: nice idea. It shouldn't be too difficult to use pointcloud
strands as well. Let me see here...
From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Fabricio Chamon
Sent: Thursday, May 05, 2011 11:10 AM
Subject: Re: "Power Extrude"
One more thing:
if you did not so already -
on sharp corners on the extrusion path, could you possibly please
compensate the cross section width by a factor so that the outlines stay
parallel to the path (= correct corner mitering) ?
factor = 1 / sin( angle(prevSegment, nextSegment)/2 )
This is a very important feature for geometric/architectural modelling,
Been hoping for this for ages now...
Thanks so much!!
On Thu, 05 May 2011 17:26:01 +0200, Fabricio Chamon <xsim...@gmail.com>
> lol!!! yes
tried to build this from your screen shot last night, got stuck on
creating 'get last value in vertex array' node figured it might be a
pop from array from the 'cap_vertexarray' but I couldn't seem to get
point location from this without it going red. Also would not know how
to begin to create the 'test double edges' node , but the rest of the
tree , although initially daunting, was fine with constructing from
Fabricio's and yours previous ICE modelling tree examples . there a
whole load of new attributes to learn & pick from now, but Ive not
done much work with arrays yet so its more to do with my rudimentary
logic skills rather than anything wrong with ICE modelling. this is
where the practice is going to help :)
yes, took me some minutes to figure this out when trying the "create
extrusion along strands" with my strand tree compounds. That's exactly
what I do, create the first strand segment on the same position as my
points. An alternative would be provide the users a "start strand
segment index" option on the compound, so that the meshing starts at a
defined index on the strandpostiion array.
@eugen: I'm already looking into the corner mitering thing. few more
days for an update... =)
Subject: Re: ICE Modeling workshop : The Capping Tool
Oh thanks for the pointer, i've played a bit with Python on SI before, but that is my fresh 2012 so maybe I need to update something...
It looks like you don't have python working correctly on your machine. I'm not an expert in this area btw. First thing I would try is to open a Softimage command prompt and run : runonce.bat
If it doesn't help, I'm sure you will find a Softimage Python specialist here to help you :)
On Mon, May 9, 2011 at 10:59 PM, Claude Vervoort <claude....@gmail.com<mailto:claude....@gmail.com>> wrote:
I have been on the ICE before but not in the modeling arena though, and not for long enough since I was not aware at all of pointNeighbors (when I think how much time I spent trying to get to those :) ). Thanks for the scene too!
BTW when I try to run the plugin here, I have this error:
ERROR : 21000-EDIT-PrivateGetCompoundConstructionMode - Unspecified failure - [line 712 in D:\Program Files\Autodesk\Softimage 2012\Application\DSScripts\operators.vbs]
Application.ApplyICEOp("Cap Borders", "", "", "siUnspecified")
# ERROR : Traceback (most recent call last):
# File "<Script Block 2>", line 35, in CapBorders_Callback
# ICETree = si.ApplyICEOp( "Cap Borders", None, None, C.siUnspecified )
# File "<COMObject XSI.Application>", line 2, in ApplyICEOp
# COM Error: Unspecified error (0x-7fffbffb) - [line 34 in C:\Users\Claude\Autodesk\Softimage_2012\Addons\ICEModelingTools.0.1\Application\Plugins\ICEModelingMenuPlugin.py]
I haven't looked too much into it, don't spend anytime on it but if you have a quick idea about what I should look at, i'll take it.
Your tree is rather good, and it looks like you are not an ICE beginner :), are you ?
> I think I am due to a oh! moment when I will look at the actual solution!
Well, you will find my solution not so interesting from an educational point of view ;). I thought that this scenario would be a good opportunity to learn how to switch between contexts. But in fact, I found that using the PointNeighbors attribute was the way to do it and so I skipped this part :-/.
> So for example I did not see a simple way from a vertex to get the other connected vertices.
The PointNeighbors attribute do the job for you (finding the point locations connected by an edge to the current point) ;).
But it is always good to know how to do it without this attribute, (and so your comment is really useful) because sometime, we can't deal with point locators to get the data if we are not in per point context. And yes, you are right about the workflow (getting connected edges etc...)
For those interested on how to switch between context here is a sample scene :
The idea is to switch from a per element context to a per object context to store an array of indices. This data can be accessed without problem from all per element contexts.
In the ICE Tree viewer, open the Preset Manager and click the Refresh button.
Check that Cap Borders is available in the Preset Manager.
After that, the Cap Borders menu command should work (it wasn't finding the compound).
A restart might fix the problem too, but I didn't try that.
Addon install won't do a scan of the preset manager, so it explains the pb on the first try
Sent from my iPhone
- correct corner mitering (thanks Eugen for providing the formula and idea)
- support for multiple path subcurves (choose subcurve index or use
- subdV/subdU renamed to Path curve and Profile curve for better readability
- corrected cross section rotations (non-flipping normals) - there was
a bug in the previous version
- constraint to path flag
- split radius and roll along curve controls into "control compounds"
for cleaner/smaller interface
- all main parameters are now array based, which means that
radius/roll/start/end, etc can be controlled per subcurve.
- mesh has a new Self.PathSubcurveIndex variable that can be used to
modulate any extrusion effect (also per subcurve).
- support for multiple profile subcurves
- support for closed curves
compounds are attached. Let me know what you think, bugs, requests..etc.
Also should mention that the correct cross sections rotations were
"stolen"/adapted from Guillaume