Re: Find cluster from polygon - script

2016-12-13 Thread Martin Yara
If you are using python, you can get all clusters elements with
Cluster.Elements and then search in that list with 'if .. in", that would
save you from looping through all the elements.

But, since you can have one poly index in multiple clusters you'll still
need to loop through all the PolyClusters.

# PolyIndex = The Index of your Polygon in integer.
cls = obj.ActivePrimitive.Geometry.Clusters.Filter('poly')
for cl in cls:
elms = cl.Elements
if PolyIndex in elms:
print "[%s] in [%s]" % (PolyIndex,cl.Name)

Martin

On Wed, Dec 14, 2016 at 12:59 PM, Matt Lind  wrote:

> Depends how the polygon is referenced in your code.
>
> A Polygon is a geometry component and part of the object's primitive.  A
> Cluster is a type of metadata and lives outside the geometry, but makes
> references to parts of the geometry.  Most methods provided in the SDK work
> in a top-down fashion.  That is, they start with a major object or
> primitive, then the methods dig down to find subcomponents or elements of
> smaller stature.  What you're requesting is the ability to go the other
> direction (bottom-up).  While some examples of that do exist in the SDK,
> they're pretty scarce and I don't think any exist for your particular
> request.
>
> If you have a reference to a polygon as a ClusterElement you may be able to
> call the .Parent property to crawl up the graph to get the Cluster that
> owns
> it.
>
> If you have a reference to a polygon as a PolygonFace as obtained through
> most of the geometry methods, then no.  You must traverse the clusters and
> query if the polygon is contained within.
>
> If you want to bypass the object model and go completely old school command
> based manipulating of strings, you may (in some cases) dump the full path
> of
> the polygon, then tokenize it by '.' characters and crawl up the path until
> you find the cluster.  There are limitations with this method as the number
> of path components is not consistent and will change depending on various
> factors such as whether the object is part of a model or not, the type of
> cluster applied (polygon, point, sample, ...), the context in which the
> polygon reference was obtained, etc...  Any solution using this tactic can
> work for specific situations, but will be error prone for the general case.
>
> In some back door esoteric secret handshake situations, you might be able
> to
> use a SubComponent Object to find the cluster, but if you do that you
> already know the cluster, so creating the SubComponent is irrelevant.
>
> Long story short, if you only need to find the owning cluster once or
> twice,
> then just traverse the clusters and query if the polygon is in the cluster.
> If you have to do this en masse, then it might pay off to create reverse
> lookups maps using a simple associative array to store references to the
> cluster in the indices (eg; Array[PolygonIndex] = Cluster).  Creating the
> maps will take some time, but once they're established your lookups will be
> very fast.
>
>
> Matt
>
>
>
>
> Date: Tue, 13 Dec 2016 18:45:36 -0200
> From: Fabricio Chamon 
> Subject: Find cluster from polygon - script
> To: "softimage@listproc.autodesk.com"
>
> Hey guys,
>
> is there a quick way to find which cluster(s) a polygon belongs to without
> looping over all cluster elements?
>
> thanks.
>
>
> --
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
--
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

Re: Setting ICE attribute DataArray in javascript

2016-12-13 Thread Matt Lind
I always cringe when I see the SafeArray suggestion as it doesn't tell the 
whole story.

I haven't tried this for ICE attributes, but for all other things JScript 
requiring the use of an array, you can use the GridData object from the 
Softimage SDK.  It's a lot more convenient than dabbling with the esoteric 
SafeArray object and is fully supported by the Softimage SDK avoiding the 
workarounds for certain commands and methods.  The GridData object is smart 
enough to automatically resize itself when ingesting data from a known 
source (for multi-dimensional arrays):

var oObject= Selection(0);
var oGridData  = XSIFactory.CreateGridData();
oGridData.Data = oObject.ActivePrimitive.Geometry.Vertices.PositionArray;

LogMessage( "Grid[rows,cols]: " + oGridData.RowCount + ", " + 
oGridData.ColumnCount, siComment );


The Grid doesn’t auto-resize for all array types, but it supports most you’ll 
encounter such as cluster data (envelopes, materials, user normals, vertex 
colors, texture UVWs, ...).  to write the data to another property, just 
assign the .Data property in reverse of what is shown above.

oCluster.Elements.Array = oGridData.Data;

Anyway, writing the data to the ICE Attribute does work, but as you found 
out you must freeze the modeling history of the ICE Attribute property 
because technically (I think) it’s an operator.  That implies it has an 
internal update callback which will get triggered after any attempt you make 
to modify the data.  You make a change, then the update callback is 
triggered recomputing and applying the original data you overwrote. 
Freezing the operator converts it to static data which you can then modify 
with script.

As for purely JScript issues with arrays, you only need to convert to a 
safeArray when you need to modify array data and send it back into 
Softimage.  If you’re just reading data, or modifying it locally with no 
intention of sending it back where it came from, you don’t have to convert. 
that’ll save overhead in the runtime of your code.

Another shortcut is the use of the .Array() method to convert the data to 
safeArray to make it more concise and easier to read in code.  For example:

// Get envelope weights and convert from safeArray to JScript array in the 
process
var aEnvelopeWeights = ( oEnvelope.weights.Array ).toArray();

// Get vertex colors on mesh located nearest specified set of position 
coordinates
var oPointLocators = oPolygonMesh.GetClosestLocations( aPositions );
aVertexColors = oPolygonMesh.EvaluateClusterProperty( oPointLocators, 
oParentCluster, oClusterProperty ).toArray();

Just enclose the quantity to be converted in parentheses, then append 
.Array() to the right parenthesis.  the only caveat is to make sure the 
quantity to be converted is not null or else it’ll throw an error.

Matt





Date: Tue, 13 Dec 2016 20:34:02 -0200
From: Fabricio Chamon 
Subject: Setting ICE attribute DataArray in javascript
To: "softimage@listproc.autodesk.com"


Hey,

lots of questions these days, sorry.

So I'm searching all day through the list and internet to find a solution
for this... I'm trying to set per polygon ice attribute values on a mesh
via sdk (javascript).
The subject was already discussed, Stephen Blair have some studies on it,
one solution was given but in the end I'm still not able to get it working.

So here's roughly my code:

var ICEAttr = highResGeo.AddICEAttribute("rbdId", siICENodeDataLong,
siICENodeStructureSingle, siICENodeContextComponent2D );
var myDataArray = new Array();
var faces = highResGeo.Facets;
for (i=0;i

Re: Find cluster from polygon - script

2016-12-13 Thread Matt Lind
Depends how the polygon is referenced in your code.

A Polygon is a geometry component and part of the object's primitive.  A 
Cluster is a type of metadata and lives outside the geometry, but makes 
references to parts of the geometry.  Most methods provided in the SDK work 
in a top-down fashion.  That is, they start with a major object or 
primitive, then the methods dig down to find subcomponents or elements of 
smaller stature.  What you're requesting is the ability to go the other 
direction (bottom-up).  While some examples of that do exist in the SDK, 
they're pretty scarce and I don't think any exist for your particular 
request.

If you have a reference to a polygon as a ClusterElement you may be able to 
call the .Parent property to crawl up the graph to get the Cluster that owns 
it.

If you have a reference to a polygon as a PolygonFace as obtained through 
most of the geometry methods, then no.  You must traverse the clusters and 
query if the polygon is contained within.

If you want to bypass the object model and go completely old school command 
based manipulating of strings, you may (in some cases) dump the full path of 
the polygon, then tokenize it by '.' characters and crawl up the path until 
you find the cluster.  There are limitations with this method as the number 
of path components is not consistent and will change depending on various 
factors such as whether the object is part of a model or not, the type of 
cluster applied (polygon, point, sample, ...), the context in which the 
polygon reference was obtained, etc...  Any solution using this tactic can 
work for specific situations, but will be error prone for the general case.

In some back door esoteric secret handshake situations, you might be able to 
use a SubComponent Object to find the cluster, but if you do that you 
already know the cluster, so creating the SubComponent is irrelevant.

Long story short, if you only need to find the owning cluster once or twice, 
then just traverse the clusters and query if the polygon is in the cluster. 
If you have to do this en masse, then it might pay off to create reverse 
lookups maps using a simple associative array to store references to the 
cluster in the indices (eg; Array[PolygonIndex] = Cluster).  Creating the 
maps will take some time, but once they're established your lookups will be 
very fast.


Matt




Date: Tue, 13 Dec 2016 18:45:36 -0200
From: Fabricio Chamon 
Subject: Find cluster from polygon - script
To: "softimage@listproc.autodesk.com"

Hey guys,

is there a quick way to find which cluster(s) a polygon belongs to without
looping over all cluster elements?

thanks. 


--
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.


Re: thickness - avoiding self intersections

2016-12-13 Thread Fabricio Chamon
oh that is really neat Cristobal, thanks for the screenshot and
explanation! going to use that right now!

2016-12-13 21:58 GMT-02:00 Cristobal Infante :

> Another option would have been to ray the original geo to the converted
> vdb geo. Using vdb reshape for the erode, and minimun distance on the ray
> node. This would give you the same topo, on the inner side so no need to
> worry about UVs.
>
> So many options ;)
>
>
> On Tue, 13 Dec 2016 at 22:08, Fabricio Chamon  wrote:
>
>> doh..sorry I misspelled your name. Jonathan =)
>>
>> 2016-12-13 20:07 GMT-02:00 Fabricio Chamon :
>>
>> yeah Johnatan me to, not super addicted to the voronoi stuff...that
>> straight edges are terrible... I like to use the iterative shatter in
>> IFX...to be honest IFX is a super tool for shattering, but it crashes often
>> with complex geometry (or skips the operator), which makes it unsuable
>> unfortunatelly. Houdini on the other hand is super robust, but needs more
>> advanced work to get that detailed edges.
>>
>> I've already seen this guy's video, it is a nice technique, but it limits
>> you in a way you can't distort too much the geometry or it starts
>> degrading. In such a procedural oriented DCC like houdini I tend to dislike
>> having these limitations, because it makes you care too much about your
>> parameters, and your output is not 100% reliable all the time. One could
>> introduce small artifacts that are hard to see in dense meshes but will
>> surelly show up as holes or overlapping geo at rendertime.
>>
>> anyway, I'm also diving slowly into houdini as projects allow, and I'm
>> liking it so much!
>>
>> 2016-12-13 19:31 GMT-02:00 Jonathan Moore :
>>
>> hey thanks everyone for the feedback. I tried meshmixer, but houdini
>> actually does the job better and faster (of course because it is more
>> biased in terms of workflow choices), so I'll stick to that ultimately. The
>> attribute transfer SOP was what I needed. yayy =)
>>
>>
>> Had a little play with MeshMixer and came to the same conclusions.
>>
>> Your original request made think a bit more about fracturing in Houdini.
>> I tend to use iFX in XSI and transfer the fractured geometry via Alembic to
>> Houdini as I don't like using Voronoi fracturing. In researching other
>> techniques I came across a nice workflow using Attribute Transfer and
>> Attribute VOP's to apply noise to both the edges and internal faces of the
>> Voronoi fracture to get rid of the straight edges and planer internal
>> faces. Not sure if it's any use to you or if it's a techniques you're
>> already using but somebody might find it useful.
>>
>> It's so simple I'm a tad annoyed I didn't think of something similar
>> myself - but I'm relatively new to Houdini so I'm not beating myself up too
>> much!  :)
>>
>> https://vimeo.com/176497413
>>
>>
>>
>>
>> On 13 December 2016 at 19:48, Fabricio Chamon  wrote:
>>
>> hey thanks everyone for the feedback. I tried meshmixer, but houdini
>> actually does the job better and faster (of course because it is more
>> biased in terms of workflow choices), so I'll stick to that ultimately. The
>> attribute transfer SOP was what I needed. yayy =)
>>
>> 2016-12-12 19:10 GMT-02:00 Jonathan Moore :
>>
>> you could try Meshmixer, it’s free and used for 3D printing but has a
>> “hollowing” feature that might work.
>>
>> -Ronald
>>
>>
>> Interesting. Meshmixer works in a similar manner to the VDB tools in
>> Houdini (it's solidifying and hollowing tools are based on voxels).
>>
>> I can see how it's useful for it's designed purpose in 3d printing but it
>> will be interesting to throw some lower poly stuff at it and see how much
>> of the topology survives the process.
>>
>> On 12 December 2016 at 15:41, toonafish  wrote:
>>
>> you could try Meshmixer, it’s free and used for 3D printing but has a
>> “hollowing” feature that might work.
>>
>>
>>
>> -Ronald
>>
>>
>>
>>
>>
>>
>>
>> On 12 Dec 2016, at 16:25, Fabricio Chamon  wrote:
>>
>> ...well and minutes after writing the e-mail I found a really reliable
>> solution in houdini, that is messing with vdb to smooth the internal part.
>> The vdbsmooth op retains the nice sharp corners while reducing
>> intersections, that is exactly what I want! The only problem is how to
>> merge both parts back while mantaining UVs. Houdini is giving me this
>> warning: *"A mis-match of attributes on the inputs was detected. Some of
>> the attribute values may not be initialized to expected values, i.e.: name,
>> path, N, uv."*
>>
>> Of course this is me not handling the attribute transfer correctly, so
>> any help is much appreciated! =)
>>
>> Tree and results:
>>
>> 
>>
>> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon :
>>
>> Hey everybody,
>>
>> what are your choices when it comes to thickness/solidify (or whatever
>> you call it) 

Re: Setting ICE attribute DataArray in javascript

2016-12-13 Thread Fabricio Chamon
found the culprit... I was running this on a live alembic file...for some
reason it does not work. As soon as I freeze the mesh then it works great.

2016-12-13 20:38 GMT-02:00 Fabricio Chamon :

> ...and here is the blog post where Stephen shows his code:
> https://xsisupport.com/2013/03/25/aha-setting-dataarray2d-with-jscript/
>
> btw I'm on soft 2015 SP2
>
> 2016-12-13 20:34 GMT-02:00 Fabricio Chamon :
>
>> Hey,
>>
>> lots of questions these days, sorry.
>>
>> So I'm searching all day through the list and internet to find a solution
>> for this... I'm trying to set per polygon ice attribute values on a mesh
>> via sdk (javascript).
>> The subject was already discussed, Stephen Blair have some studies on it,
>> one solution was given but in the end I'm still not able to get it working.
>>
>> So here's roughly my code:
>>
>> var ICEAttr = highResGeo.AddICEAttribute("rbdId", siICENodeDataLong,
>> siICENodeStructureSingle, siICENodeContextComponent2D );
>> var myDataArray = new Array();
>> var faces = highResGeo.Facets;
>> for (i=0;i> var face = faces(i);
>> myDataArray[i] = parseInt(x); //does not matter, assume any value for x
>> }
>>
>> //now here's the tricky part
>>
>> da1 = getSafeArray(myDataArray);
>> da2 = getSafeArray([myDataArray]);
>> ICEAttr.DataArray = da2;
>>
>>
>> //helper function
>> function getSafeArray(jsArr) {
>> var dict = new ActiveXObject("Scripting.Dictionary");
>> for (var i = 0; i < jsArr.length; i++)
>> dict.add(i, jsArr[i]);
>> return dict.Items();
>> }
>>
>>
>>
>>
>> This SafeArray stuff is the solution proposed by Stephen on his
>> blog...but gives me :
>>
>> *WARNING : 3392 - Invalid offset specified while extracting data from
>> this attribute: *
>> *// *
>>
>> Any hints on what I'm doing wrong ??
>>
>> Thanks!
>>
>>
>>
>
--
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

Re: thickness - avoiding self intersections

2016-12-13 Thread Jonathan Moore
>
> doh..sorry I misspelled your name. Jonathan =)


No worries. I often misspell it myself - when I've been a tad too greedy
with the vino the night before.  ;)

On 13 December 2016 at 22:08, Fabricio Chamon  wrote:

> doh..sorry I misspelled your name. Jonathan =)
>
> 2016-12-13 20:07 GMT-02:00 Fabricio Chamon :
>
>> yeah Johnatan me to, not super addicted to the voronoi stuff...that
>> straight edges are terrible... I like to use the iterative shatter in
>> IFX...to be honest IFX is a super tool for shattering, but it crashes often
>> with complex geometry (or skips the operator), which makes it unsuable
>> unfortunatelly. Houdini on the other hand is super robust, but needs more
>> advanced work to get that detailed edges.
>>
>> I've already seen this guy's video, it is a nice technique, but it limits
>> you in a way you can't distort too much the geometry or it starts
>> degrading. In such a procedural oriented DCC like houdini I tend to dislike
>> having these limitations, because it makes you care too much about your
>> parameters, and your output is not 100% reliable all the time. One could
>> introduce small artifacts that are hard to see in dense meshes but will
>> surelly show up as holes or overlapping geo at rendertime.
>>
>> anyway, I'm also diving slowly into houdini as projects allow, and I'm
>> liking it so much!
>>
>> 2016-12-13 19:31 GMT-02:00 Jonathan Moore :
>>
>>> hey thanks everyone for the feedback. I tried meshmixer, but houdini
 actually does the job better and faster (of course because it is more
 biased in terms of workflow choices), so I'll stick to that ultimately. The
 attribute transfer SOP was what I needed. yayy =)
>>>
>>>
>>> Had a little play with MeshMixer and came to the same conclusions.
>>>
>>> Your original request made think a bit more about fracturing in Houdini.
>>> I tend to use iFX in XSI and transfer the fractured geometry via Alembic to
>>> Houdini as I don't like using Voronoi fracturing. In researching other
>>> techniques I came across a nice workflow using Attribute Transfer and
>>> Attribute VOP's to apply noise to both the edges and internal faces of the
>>> Voronoi fracture to get rid of the straight edges and planer internal
>>> faces. Not sure if it's any use to you or if it's a techniques you're
>>> already using but somebody might find it useful.
>>>
>>> It's so simple I'm a tad annoyed I didn't think of something similar
>>> myself - but I'm relatively new to Houdini so I'm not beating myself up too
>>> much!  :)
>>>
>>> https://vimeo.com/176497413
>>>
>>>
>>>
>>>
>>> On 13 December 2016 at 19:48, Fabricio Chamon 
>>> wrote:
>>>
 hey thanks everyone for the feedback. I tried meshmixer, but houdini
 actually does the job better and faster (of course because it is more
 biased in terms of workflow choices), so I'll stick to that ultimately. The
 attribute transfer SOP was what I needed. yayy =)

 2016-12-12 19:10 GMT-02:00 Jonathan Moore :

> you could try Meshmixer, it’s free and used for 3D printing but has a
>> “hollowing” feature that might work.
>>
>> -Ronald
>
>
> Interesting. Meshmixer works in a similar manner to the VDB tools in
> Houdini (it's solidifying and hollowing tools are based on voxels).
>
> I can see how it's useful for it's designed purpose in 3d printing but
> it will be interesting to throw some lower poly stuff at it and see how
> much of the topology survives the process.
>
> On 12 December 2016 at 15:41, toonafish  wrote:
>
>> you could try Meshmixer, it’s free and used for 3D printing but has a
>> “hollowing” feature that might work.
>>
>> -Ronald
>>
>>
>>
>> On 12 Dec 2016, at 16:25, Fabricio Chamon  wrote:
>>
>> ...well and minutes after writing the e-mail I found a really
>> reliable solution in houdini, that is messing with vdb to smooth the
>> internal part. The vdbsmooth op retains the nice sharp corners while
>> reducing intersections, that is exactly what I want! The only problem is
>> how to merge both parts back while mantaining UVs. Houdini is giving me
>> this warning: *"A mis-match of attributes on the inputs was
>> detected. Some of the attribute values may not be initialized to expected
>> values, i.e.: name, path, N, uv."*
>>
>> Of course this is me not handling the attribute transfer correctly,
>> so any help is much appreciated! =)
>>
>> Tree and results:
>>
>> 
>>
>> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon :
>>
>>> Hey everybody,
>>>
>>> what are your choices when it comes to thickness/solidify (or
>>> whatever you call it) geometry?
>>> What software/operator or plugin you find most reliable to ouput a

Re: Setting ICE attribute DataArray in javascript

2016-12-13 Thread Fabricio Chamon
...and here is the blog post where Stephen shows his code:
https://xsisupport.com/2013/03/25/aha-setting-dataarray2d-with-jscript/

btw I'm on soft 2015 SP2

2016-12-13 20:34 GMT-02:00 Fabricio Chamon :

> Hey,
>
> lots of questions these days, sorry.
>
> So I'm searching all day through the list and internet to find a solution
> for this... I'm trying to set per polygon ice attribute values on a mesh
> via sdk (javascript).
> The subject was already discussed, Stephen Blair have some studies on it,
> one solution was given but in the end I'm still not able to get it working.
>
> So here's roughly my code:
>
> var ICEAttr = highResGeo.AddICEAttribute("rbdId", siICENodeDataLong,
> siICENodeStructureSingle, siICENodeContextComponent2D );
> var myDataArray = new Array();
> var faces = highResGeo.Facets;
> for (i=0;i var face = faces(i);
> myDataArray[i] = parseInt(x); //does not matter, assume any value for x
> }
>
> //now here's the tricky part
>
> da1 = getSafeArray(myDataArray);
> da2 = getSafeArray([myDataArray]);
> ICEAttr.DataArray = da2;
>
>
> //helper function
> function getSafeArray(jsArr) {
> var dict = new ActiveXObject("Scripting.Dictionary");
> for (var i = 0; i < jsArr.length; i++)
> dict.add(i, jsArr[i]);
> return dict.Items();
> }
>
>
>
>
> This SafeArray stuff is the solution proposed by Stephen on his blog...but
> gives me :
>
> *WARNING : 3392 - Invalid offset specified while extracting data from this
> attribute: *
> *// *
>
> Any hints on what I'm doing wrong ??
>
> Thanks!
>
>
>
--
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

Setting ICE attribute DataArray in javascript

2016-12-13 Thread Fabricio Chamon
Hey,

lots of questions these days, sorry.

So I'm searching all day through the list and internet to find a solution
for this... I'm trying to set per polygon ice attribute values on a mesh
via sdk (javascript).
The subject was already discussed, Stephen Blair have some studies on it,
one solution was given but in the end I'm still not able to get it working.

So here's roughly my code:

var ICEAttr = highResGeo.AddICEAttribute("rbdId", siICENodeDataLong,
siICENodeStructureSingle, siICENodeContextComponent2D );
var myDataArray = new Array();
var faces = highResGeo.Facets;
for (i=0;i

Re: thickness - avoiding self intersections

2016-12-13 Thread Fabricio Chamon
doh..sorry I misspelled your name. Jonathan =)

2016-12-13 20:07 GMT-02:00 Fabricio Chamon :

> yeah Johnatan me to, not super addicted to the voronoi stuff...that
> straight edges are terrible... I like to use the iterative shatter in
> IFX...to be honest IFX is a super tool for shattering, but it crashes often
> with complex geometry (or skips the operator), which makes it unsuable
> unfortunatelly. Houdini on the other hand is super robust, but needs more
> advanced work to get that detailed edges.
>
> I've already seen this guy's video, it is a nice technique, but it limits
> you in a way you can't distort too much the geometry or it starts
> degrading. In such a procedural oriented DCC like houdini I tend to dislike
> having these limitations, because it makes you care too much about your
> parameters, and your output is not 100% reliable all the time. One could
> introduce small artifacts that are hard to see in dense meshes but will
> surelly show up as holes or overlapping geo at rendertime.
>
> anyway, I'm also diving slowly into houdini as projects allow, and I'm
> liking it so much!
>
> 2016-12-13 19:31 GMT-02:00 Jonathan Moore :
>
>> hey thanks everyone for the feedback. I tried meshmixer, but houdini
>>> actually does the job better and faster (of course because it is more
>>> biased in terms of workflow choices), so I'll stick to that ultimately. The
>>> attribute transfer SOP was what I needed. yayy =)
>>
>>
>> Had a little play with MeshMixer and came to the same conclusions.
>>
>> Your original request made think a bit more about fracturing in Houdini.
>> I tend to use iFX in XSI and transfer the fractured geometry via Alembic to
>> Houdini as I don't like using Voronoi fracturing. In researching other
>> techniques I came across a nice workflow using Attribute Transfer and
>> Attribute VOP's to apply noise to both the edges and internal faces of the
>> Voronoi fracture to get rid of the straight edges and planer internal
>> faces. Not sure if it's any use to you or if it's a techniques you're
>> already using but somebody might find it useful.
>>
>> It's so simple I'm a tad annoyed I didn't think of something similar
>> myself - but I'm relatively new to Houdini so I'm not beating myself up too
>> much!  :)
>>
>> https://vimeo.com/176497413
>>
>>
>>
>>
>> On 13 December 2016 at 19:48, Fabricio Chamon  wrote:
>>
>>> hey thanks everyone for the feedback. I tried meshmixer, but houdini
>>> actually does the job better and faster (of course because it is more
>>> biased in terms of workflow choices), so I'll stick to that ultimately. The
>>> attribute transfer SOP was what I needed. yayy =)
>>>
>>> 2016-12-12 19:10 GMT-02:00 Jonathan Moore :
>>>
 you could try Meshmixer, it’s free and used for 3D printing but has a
> “hollowing” feature that might work.
>
> -Ronald


 Interesting. Meshmixer works in a similar manner to the VDB tools in
 Houdini (it's solidifying and hollowing tools are based on voxels).

 I can see how it's useful for it's designed purpose in 3d printing but
 it will be interesting to throw some lower poly stuff at it and see how
 much of the topology survives the process.

 On 12 December 2016 at 15:41, toonafish  wrote:

> you could try Meshmixer, it’s free and used for 3D printing but has a
> “hollowing” feature that might work.
>
> -Ronald
>
>
>
> On 12 Dec 2016, at 16:25, Fabricio Chamon  wrote:
>
> ...well and minutes after writing the e-mail I found a really reliable
> solution in houdini, that is messing with vdb to smooth the internal part.
> The vdbsmooth op retains the nice sharp corners while reducing
> intersections, that is exactly what I want! The only problem is how to
> merge both parts back while mantaining UVs. Houdini is giving me this
> warning: *"A mis-match of attributes on the inputs was detected. Some
> of the attribute values may not be initialized to expected values, i.e.:
> name, path, N, uv."*
>
> Of course this is me not handling the attribute transfer correctly, so
> any help is much appreciated! =)
>
> Tree and results:
>
> 
>
> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon :
>
>> Hey everybody,
>>
>> what are your choices when it comes to thickness/solidify (or
>> whatever you call it) geometry?
>> What software/operator or plugin you find most reliable to ouput a
>> good geo?
>>
>> I'm doing some fracture work lately, and I've always had problems to
>> solidify complex geometry (with varying thickness/sharp angles and
>> corners/etc). It ends up self-intersecting the inside part, which 
>> obviusly
>> causes problems when you have to shatter later on.
>>
>> Here's a good 

Re: thickness - avoiding self intersections

2016-12-13 Thread Fabricio Chamon
yeah Johnatan me to, not super addicted to the voronoi stuff...that
straight edges are terrible... I like to use the iterative shatter in
IFX...to be honest IFX is a super tool for shattering, but it crashes often
with complex geometry (or skips the operator), which makes it unsuable
unfortunatelly. Houdini on the other hand is super robust, but needs more
advanced work to get that detailed edges.

I've already seen this guy's video, it is a nice technique, but it limits
you in a way you can't distort too much the geometry or it starts
degrading. In such a procedural oriented DCC like houdini I tend to dislike
having these limitations, because it makes you care too much about your
parameters, and your output is not 100% reliable all the time. One could
introduce small artifacts that are hard to see in dense meshes but will
surelly show up as holes or overlapping geo at rendertime.

anyway, I'm also diving slowly into houdini as projects allow, and I'm
liking it so much!

2016-12-13 19:31 GMT-02:00 Jonathan Moore :

> hey thanks everyone for the feedback. I tried meshmixer, but houdini
>> actually does the job better and faster (of course because it is more
>> biased in terms of workflow choices), so I'll stick to that ultimately. The
>> attribute transfer SOP was what I needed. yayy =)
>
>
> Had a little play with MeshMixer and came to the same conclusions.
>
> Your original request made think a bit more about fracturing in Houdini. I
> tend to use iFX in XSI and transfer the fractured geometry via Alembic to
> Houdini as I don't like using Voronoi fracturing. In researching other
> techniques I came across a nice workflow using Attribute Transfer and
> Attribute VOP's to apply noise to both the edges and internal faces of the
> Voronoi fracture to get rid of the straight edges and planer internal
> faces. Not sure if it's any use to you or if it's a techniques you're
> already using but somebody might find it useful.
>
> It's so simple I'm a tad annoyed I didn't think of something similar
> myself - but I'm relatively new to Houdini so I'm not beating myself up too
> much!  :)
>
> https://vimeo.com/176497413
>
>
>
>
> On 13 December 2016 at 19:48, Fabricio Chamon  wrote:
>
>> hey thanks everyone for the feedback. I tried meshmixer, but houdini
>> actually does the job better and faster (of course because it is more
>> biased in terms of workflow choices), so I'll stick to that ultimately. The
>> attribute transfer SOP was what I needed. yayy =)
>>
>> 2016-12-12 19:10 GMT-02:00 Jonathan Moore :
>>
>>> you could try Meshmixer, it’s free and used for 3D printing but has a
 “hollowing” feature that might work.

 -Ronald
>>>
>>>
>>> Interesting. Meshmixer works in a similar manner to the VDB tools in
>>> Houdini (it's solidifying and hollowing tools are based on voxels).
>>>
>>> I can see how it's useful for it's designed purpose in 3d printing but
>>> it will be interesting to throw some lower poly stuff at it and see how
>>> much of the topology survives the process.
>>>
>>> On 12 December 2016 at 15:41, toonafish  wrote:
>>>
 you could try Meshmixer, it’s free and used for 3D printing but has a
 “hollowing” feature that might work.

 -Ronald



 On 12 Dec 2016, at 16:25, Fabricio Chamon  wrote:

 ...well and minutes after writing the e-mail I found a really reliable
 solution in houdini, that is messing with vdb to smooth the internal part.
 The vdbsmooth op retains the nice sharp corners while reducing
 intersections, that is exactly what I want! The only problem is how to
 merge both parts back while mantaining UVs. Houdini is giving me this
 warning: *"A mis-match of attributes on the inputs was detected. Some
 of the attribute values may not be initialized to expected values, i.e.:
 name, path, N, uv."*

 Of course this is me not handling the attribute transfer correctly, so
 any help is much appreciated! =)

 Tree and results:

 

 2016-12-12 12:55 GMT-02:00 Fabricio Chamon :

> Hey everybody,
>
> what are your choices when it comes to thickness/solidify (or whatever
> you call it) geometry?
> What software/operator or plugin you find most reliable to ouput a
> good geo?
>
> I'm doing some fracture work lately, and I've always had problems to
> solidify complex geometry (with varying thickness/sharp angles and
> corners/etc). It ends up self-intersecting the inside part, which obviusly
> causes problems when you have to shatter later on.
>
> Here's a good example, this is a corner piece from a rubiks cube (left
> original, right solidified, bottom isolated internal result geo):
>
> 
>
> I've tried some options like:
>
> - apply the operator, then select the internal part 

Re: thickness - avoiding self intersections

2016-12-13 Thread Jonathan Moore
>
> hey thanks everyone for the feedback. I tried meshmixer, but houdini
> actually does the job better and faster (of course because it is more
> biased in terms of workflow choices), so I'll stick to that ultimately. The
> attribute transfer SOP was what I needed. yayy =)


Had a little play with MeshMixer and came to the same conclusions.

Your original request made think a bit more about fracturing in Houdini. I
tend to use iFX in XSI and transfer the fractured geometry via Alembic to
Houdini as I don't like using Voronoi fracturing. In researching other
techniques I came across a nice workflow using Attribute Transfer and
Attribute VOP's to apply noise to both the edges and internal faces of the
Voronoi fracture to get rid of the straight edges and planer internal
faces. Not sure if it's any use to you or if it's a techniques you're
already using but somebody might find it useful.

It's so simple I'm a tad annoyed I didn't think of something similar myself
- but I'm relatively new to Houdini so I'm not beating myself up too much!
 :)

https://vimeo.com/176497413




On 13 December 2016 at 19:48, Fabricio Chamon  wrote:

> hey thanks everyone for the feedback. I tried meshmixer, but houdini
> actually does the job better and faster (of course because it is more
> biased in terms of workflow choices), so I'll stick to that ultimately. The
> attribute transfer SOP was what I needed. yayy =)
>
> 2016-12-12 19:10 GMT-02:00 Jonathan Moore :
>
>> you could try Meshmixer, it’s free and used for 3D printing but has a
>>> “hollowing” feature that might work.
>>>
>>> -Ronald
>>
>>
>> Interesting. Meshmixer works in a similar manner to the VDB tools in
>> Houdini (it's solidifying and hollowing tools are based on voxels).
>>
>> I can see how it's useful for it's designed purpose in 3d printing but it
>> will be interesting to throw some lower poly stuff at it and see how much
>> of the topology survives the process.
>>
>> On 12 December 2016 at 15:41, toonafish  wrote:
>>
>>> you could try Meshmixer, it’s free and used for 3D printing but has a
>>> “hollowing” feature that might work.
>>>
>>> -Ronald
>>>
>>>
>>>
>>> On 12 Dec 2016, at 16:25, Fabricio Chamon  wrote:
>>>
>>> ...well and minutes after writing the e-mail I found a really reliable
>>> solution in houdini, that is messing with vdb to smooth the internal part.
>>> The vdbsmooth op retains the nice sharp corners while reducing
>>> intersections, that is exactly what I want! The only problem is how to
>>> merge both parts back while mantaining UVs. Houdini is giving me this
>>> warning: *"A mis-match of attributes on the inputs was detected. Some
>>> of the attribute values may not be initialized to expected values, i.e.:
>>> name, path, N, uv."*
>>>
>>> Of course this is me not handling the attribute transfer correctly, so
>>> any help is much appreciated! =)
>>>
>>> Tree and results:
>>>
>>> 
>>>
>>> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon :
>>>
 Hey everybody,

 what are your choices when it comes to thickness/solidify (or whatever
 you call it) geometry?
 What software/operator or plugin you find most reliable to ouput a good
 geo?

 I'm doing some fracture work lately, and I've always had problems to
 solidify complex geometry (with varying thickness/sharp angles and
 corners/etc). It ends up self-intersecting the inside part, which obviusly
 causes problems when you have to shatter later on.

 Here's a good example, this is a corner piece from a rubiks cube (left
 original, right solidified, bottom isolated internal result geo):

 

 I've tried some options like:

 - apply the operator, then select the internal part and relax/smooth
 the geo (not ideal, since it starts to degrade the original shape, to the
 point it starts creating some internal/external intersections in some 
 areas)

 - using blender, that has a nice feature on its thickness operator
 called "clamp". It is exaclty what I need, but it's limited and does not
 work good in this piece for some reason.

 I'm sure there are more smart options out there...maybe a vdb stuff for
 the internal part, then converting it back to geo, but I'm out of ideas
 right now.

 How would you approach this ? (mesh is attached, in case someone wants
 to give it a shot).

 Thanks a lot guys!

>>>
>>> --
>>> Softimage Mailing List.
>>> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
>>> with "unsubscribe" in the subject, and reply to confirm.
>>>
>>>
>>>
>>> --
>>> Softimage Mailing List.
>>> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
>>> with "unsubscribe" in the subject, and reply to confirm.
>>>
>>
>>
>> --
>> Softimage Mailing List.
>> To unsubscribe, send a mail to 

Find cluster from polygon - script

2016-12-13 Thread Fabricio Chamon
Hey guys,

is there a quick way to find which cluster(s) a polygon belongs to without
looping over all cluster elements?

thanks.
--
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

Re: thickness - avoiding self intersections

2016-12-13 Thread Fabricio Chamon
hey thanks everyone for the feedback. I tried meshmixer, but houdini
actually does the job better and faster (of course because it is more
biased in terms of workflow choices), so I'll stick to that ultimately. The
attribute transfer SOP was what I needed. yayy =)

2016-12-12 19:10 GMT-02:00 Jonathan Moore :

> you could try Meshmixer, it’s free and used for 3D printing but has a
>> “hollowing” feature that might work.
>>
>> -Ronald
>
>
> Interesting. Meshmixer works in a similar manner to the VDB tools in
> Houdini (it's solidifying and hollowing tools are based on voxels).
>
> I can see how it's useful for it's designed purpose in 3d printing but it
> will be interesting to throw some lower poly stuff at it and see how much
> of the topology survives the process.
>
> On 12 December 2016 at 15:41, toonafish  wrote:
>
>> you could try Meshmixer, it’s free and used for 3D printing but has a
>> “hollowing” feature that might work.
>>
>> -Ronald
>>
>>
>>
>> On 12 Dec 2016, at 16:25, Fabricio Chamon  wrote:
>>
>> ...well and minutes after writing the e-mail I found a really reliable
>> solution in houdini, that is messing with vdb to smooth the internal part.
>> The vdbsmooth op retains the nice sharp corners while reducing
>> intersections, that is exactly what I want! The only problem is how to
>> merge both parts back while mantaining UVs. Houdini is giving me this
>> warning: *"A mis-match of attributes on the inputs was detected. Some of
>> the attribute values may not be initialized to expected values, i.e.: name,
>> path, N, uv."*
>>
>> Of course this is me not handling the attribute transfer correctly, so
>> any help is much appreciated! =)
>>
>> Tree and results:
>>
>> 
>>
>> 2016-12-12 12:55 GMT-02:00 Fabricio Chamon :
>>
>>> Hey everybody,
>>>
>>> what are your choices when it comes to thickness/solidify (or whatever
>>> you call it) geometry?
>>> What software/operator or plugin you find most reliable to ouput a good
>>> geo?
>>>
>>> I'm doing some fracture work lately, and I've always had problems to
>>> solidify complex geometry (with varying thickness/sharp angles and
>>> corners/etc). It ends up self-intersecting the inside part, which obviusly
>>> causes problems when you have to shatter later on.
>>>
>>> Here's a good example, this is a corner piece from a rubiks cube (left
>>> original, right solidified, bottom isolated internal result geo):
>>>
>>> 
>>>
>>> I've tried some options like:
>>>
>>> - apply the operator, then select the internal part and relax/smooth the
>>> geo (not ideal, since it starts to degrade the original shape, to the point
>>> it starts creating some internal/external intersections in some areas)
>>>
>>> - using blender, that has a nice feature on its thickness operator
>>> called "clamp". It is exaclty what I need, but it's limited and does not
>>> work good in this piece for some reason.
>>>
>>> I'm sure there are more smart options out there...maybe a vdb stuff for
>>> the internal part, then converting it back to geo, but I'm out of ideas
>>> right now.
>>>
>>> How would you approach this ? (mesh is attached, in case someone wants
>>> to give it a shot).
>>>
>>> Thanks a lot guys!
>>>
>>
>> --
>> Softimage Mailing List.
>> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
>> with "unsubscribe" in the subject, and reply to confirm.
>>
>>
>>
>> --
>> Softimage Mailing List.
>> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
>> with "unsubscribe" in the subject, and reply to confirm.
>>
>
>
> --
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
--
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

User attributes from Houdini to XSI? Freelance job

2016-12-13 Thread Morten Bartholdy
We need to move animated geometry with animated attributes from Houdini to 
Softimage. We can get vertex_colors in via FBX, but so far not animated ones. 
From the short Crate documentation on the topic, I can see it is possible to 
import custom attributes from alembic files via ICE, but it is beyond my ICE 
capabilities. Subsequently I would like to hear if someone here is up for the 
task for a remote freelance gig, and available?

Right now I just need to find someone who knows how to do it, check 
availability and fee, before committing to the job.

Cheers
Morten


> Den 8. december 2016 klokken 15:24 skrev Olivier Jeannel 
> :
> 
> 
> Never tested before, but for what I read it talks about "arrays" and
> "vertex". Maybe check in houdini what you're exporting.
> In Houdini you can create Vertex Attributes or Point Attributes, they are
> not the same.
> When export-binding paramaters you have an option for Float Array, which is
> not the same as single Float.
> 
> 2016-12-08 14:48 GMT+01:00 Sandy Sutherland :
> 
> > Morten - Houdini normally stores vertex colour data in Cd, try that
> > instead of H_vertex_color.
> >
> > S.
> >
> > On Thu, Dec 8, 2016 at 1:39 PM, Morten Bartholdy 
> > wrote:
> >
> >> I am using Crate to import alembic from Houdini into XSI for rendering,
> >> and we would like to transfer custom data, in this case actually just
> >> simple vertex colors.
> >>
> >> Reading up on Crate documentation there is one page about Custom
> >> Attribute Import using ICE to import alembic data, and it is not terribly
> >> explanatory, so this far I don't have things working, but I think I can see
> >> there is an attribute named H_vertex_color when I have set up the string
> >> stuff, but I get this error:
> >>
> >> # ERROR : ExocortexAlembicSoftimage1.1 - Alembic: float_array node error:
> >> Could not find H_vertex_color
> >>
> >> Does anyone here have tips or pointers regarding importing custom data
> >> from Houdini?
> >>
> >>
> >> Cheers
> >> Morten
> >> --
> >> Softimage Mailing List.
> >> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> >> with "unsubscribe" in the subject, and reply to confirm.
> >>
> >
> >
> > --
> > Softimage Mailing List.
> > To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> > with "unsubscribe" in the subject, and reply to confirm.
> >
> --
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
> "unsubscribe" in the subject, and reply to confirm.
--
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.


Re: Alembic sticky memory properties

2016-12-13 Thread Morten Bartholdy
I ended up deleting it, so I could control it directly with overrrides - thanks 
for the tip :)

Morten



> Den 8. december 2016 klokken 20:14 skrev Steven Caron :
> 
> 
> Yes, its useful for animating visibility of an object. But it can confuse
> Softimage a bit when switching passes or overrides. Sometimes it just needs
> a refresh. ie. toggle the partition visibility. Of course if you don't need
> it, delete it.
> 
> On Wed, Dec 7, 2016 at 12:59 AM, Morten Bartholdy 
> wrote:
> 
> > Didn't know there could be alembic visibility ops but that was the culprit
> > it seems - thanks!
> >
> > Cheers
> > Morten
> >
> >
> --
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
> "unsubscribe" in the subject, and reply to confirm.
--
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.