Morten,

I already got Vray render error due to geometry import problem.
In my case, I have floating points without any polygon.

To quick check it manually you can :
 - select all objects to check
 - select all polygon
 - select all adjacent points
 - and finally, Invert selection

If it select points, you can delete them because there are no polygon
attached to it.



2015-03-24 11:40 GMT+01:00 Oscar Juarez <[email protected]>:

> The script only selects the bad polygons, also the one on the blog, they
> don't do anything else, this will let you identify the polygons that are
> the problem, but then you have to decide what to do. If the issue comes
> from overlapping points maybe even a very small smooth might move them
> apart and avoid the zero area without changing topology.
>
> On Tue, Mar 24, 2015 at 11:10 AM, Morten Bartholdy <[email protected]>
> wrote:
>
>>   Thanks a lot Oscar - I will give both methods a shot and see what
>> happens.
>>
>>
>>    Morten
>>
>>
>>
>> Den 24. marts 2015 kl. 10:45 skrev Oscar Juarez <
>> [email protected]>:
>>
>>   this should fix the script, it will select all the polygons that are
>> wrong
>>
>>  si = Application
>> epsilon = 0.00001
>>
>> # Get PolygonArea DataArray (which is a tuple)
>> sel = si.Selection(0)
>> attr = sel.ActivePrimitive.GetICEAttributeFromName( "PolygonArea" )
>> areaData = attr.DataArray
>>
>> #
>> # Find the indices of the bad polys
>> #
>> bad = [ x for x,y in enumerate( areaData ) if y < epsilon]
>>
>> # Select the degenerates with a string like 'cube.poly[112,114,155]'
>> str_indices = '%s.poly[%s]' % (sel.FullName, ','.join(str(i) for i in
>> bad))
>> si.SelectGeometryComponents(str_indices)
>>
>>  On Tue, Mar 24, 2015 at 10:38 AM, Oscar Juarez <
>> [email protected] > wrote:
>>
>> As the blog post says, degenerate polygons most of the time are zero area
>> polys, a filter points with a very small distance have solved this kind of
>> issues for me on the past, but since your geometry is deformed you have to
>> check if it doesn't break your plotted shape or if it doesn't break other
>> things.
>>
>>  On Tue, Mar 24, 2015 at 9:44 AM, Morten Bartholdy < [email protected]
>> > wrote:
>>
>>    I have a scene which crashes more or less randomly and Arnold prints
>> an error that there are degenerate polygons in the scene. The geometry
>> consist of 3600 simple cubes which are imported from an alembic file
>> generated in Cinema4D, so manually examining every object is not really an
>> option. So my question is how to fix the degenerate polygons? I found this
>> script:
>> http://xsisupport.com/2013/03/13/finding-degenerate-polygons-by-area/ ,
>> but it fails with an error:
>>
>>
>>    This is what I ran:
>>
>>
>>   si = Application
>> epsilon = 0.00001
>>
>> # Get PolygonArea DataArray (which is a tuple)
>> attr = si.Selection(0).ActivePrimitive.GetICEAttributeFromName(
>> "PolygonArea" )
>> areaData = attr.DataArray
>>
>> #
>> # Find the indices of the bad polys
>> #
>> bad = [ x for x,y in enumerate( areaData ) if y < epsilon]
>>
>> # Select the degenerates with a string like 'cube.poly[112,114,155]'
>> si.SelectGeometryComponents( 'Null2.Cube_[%s]' % ','.join(str(i) for i in
>> bad) )
>>
>>
>>
>>
>>
>>    - and the error:
>>
>>
>>   Application.SelectMembers("abc_Tiles", "", "")
>> # ERROR : 2000 - Argument 0 (SelectionList) is invalid
>> # ERROR : 2001-SELE-SelectGeometryComponents - Argument 0 is invalid
>> Application.SelectGeometryComponents("Null2.Cube_[]")
>> # ERROR : Traceback (most recent call last):
>> # File "<Script Block >", line 14, in <module>
>> # si.SelectGeometryComponents( 'Null2.Cube_[%s]' % ','.join(str(i) for i
>> in bad) )
>> # File "<COMObject Application>", line 2, in SelectGeometryComponents
>> # COM Error: The parameter is incorrect. (0x-7ff8ffa9) - [line 14]
>>
>>
>>
>>
>>
>> Line 14 is this one:  si.SelectGeometryComponents( 'Null2.Cube_[%s]' %
>> ','.join(str(i) for i in bad) )
>>
>>
>>
>> So what might be wrong with this one, and when I know which polygons are
>> bad, how can I fix them? I am thinking since they dont have an ICE tree
>> they might have no ICE PolygonArea property...
>>
>>
>>
>>
>>
>> Best
>>
>>  Morten
>>
>>
>>
>>
>>
>>
>>
>
>

Reply via email to