Steve, yes that was my thought to do that by iterating over each and
building up the numpy array. Usually I can just dump the Weights.Array into
numpy.array() but I can't even get to that point yet because of casting
into a Python tuple or list or whatever. I'll give that a shot.

Matt, I don't need to be jumping through more hoops and crossing the
streams with intermingled JScript / VBScript plug-ins. You may have a
point, maybe one of those languages handles the amount of data better
though.

I have tried splitting the calls separately but that doesn't help either.
:\

Thanks for the tips, will tinker.

Eric T.

--------------------------------------------
Eric Thivierge
http://www.ethivierge.com

On Fri, Oct 30, 2015 at 3:18 PM, Matt Lind <speye...@hotmail.com> wrote:

> You'll consider C++ but not something simpler like JScript of VBScript?
> Seems rather odd logic.
>
> Anyway, how you access information is important.  Calling
> Envelopes(0).GetWeights2().Array as a single statement will incur more
> overhead than doing this:
>
>    var oEnvelope = Envelopes(0);
>    var oWeights = oEnvelope.GetWeights2();
>    var aWeightData = oWeights.Array;
>
> Every time you call a property or method, you prod the system to allocate
> resources to satisfy the request.  There are limits to how much memory you
> can grab at a time, as you've encountered, and by asking for all of it at
> once you're more likely to exhaust it.  By separating statements you split
> the allocation into 3 separate smaller pools, which if taken to the limits,
> allows you to access more memory than with a single transaction and with
> less worry of bumping into the ceiling.
>
> It's more code to write, but it'll work more efficiently in the case
> you're dealing with.  Works particularly well with JScript ;-)
>
>
> Matt
>
>
>
>
>
>
> Date: Fri, 30 Oct 2015 14:50:26 -0400
> From: Eric Thivierge <ethivie...@gmail.com>
> Subject: Envelope Weights Array, out of memory error
> To: "softimage@listproc.autodesk.com"
>
>
> Hello all,
>
> Right off the bat, no I'm not going to use VBScript or JScript.
>
> I'm running into an issue in Python that I'm pretty sure is just a simple
> case of literally out of memory that Python has available but I'm posting
> anyway to see if anyone has ideas.
>
> I have a mesh with ~350k points and 498 skin deformers. When I try to
> access the Weights Array it errors out saying Out of Memory Error in
> Python.
>
> Code:
> Envelopes(0).GetWeights2().Array
>
> This simply doesn't work. Anyone have any ideas on how to get around this
> in Python or should I look to other tools for this?
>
> I'm guessing I need to get a buddy to write me a C++ command instead.
>
> Thanks in advance.
>
> --------------------------------------------
> Eric Thivierge
> http://www.ethivierge.com
>
>

Reply via email to