Ich möchte alle doppelten Objekte aus einer Szene entfernen, ich möchte die Duplikate durch den Vergleich Polycount aller Objekte finden.Delete Duplicates (selbe Polycount) Maxscript
Wenn ich den Polycount von jedem Objekt gefunden habe, möchte ich alle Objekte mit dem gleichen Polycount zusammen gruppieren und alle außer 1 davon löschen. Sollte einfach sein, ich habe Probleme beim Erstellen eines Arrays mit allen doppelten Objekten in ...
Mein Code löst keine Fehler, aber fügt keine Objekte zu # (Duplikate) Array. Mein Code bestimmt polycount für alle Objekte und fügt sie in das Array objs_info ein.
-- Remove object duplicates
clearselection()
select geometry
deselect helpers
objs = selection as array
objS_info = #()
objS_info2 = #()
dups = #()
for obj in objs do(
obj_info = #()
obj_dups = #()
ConvertTo obj Editable_Poly
PolyCount_src = polyop.getNumFaces obj
--resetxform obj ; maxOps.CollapseNodeTo obj 1 true --reset Xform + collapse stack
delta_x_src = ((-1 * obj.min.x) + obj.max.x)
delta_z_src = ((-1 * obj.min.z) + obj.max.z)
append obj_info PolyCount_src
delta_ratio_src = delta_x_src/delta_z_src
for i in 1 to objs.count do(
obj_dups = #()
if objs[i] != obj do(
ConvertTo obj Editable_Poly
PolyCount = polyop.getNumFaces obj
--resetxform obj ; maxOps.CollapseNodeTo obj 1 true --reset Xform + collapse stack
delta_x = ((-1 * obj.min.x) + obj.max.x)
delta_z = ((-1 * obj.min.z) + obj.max.z)
delta_ratio = delta_x/delta_z
if(delta_ratio == delta_ratio_src and PolyCount == PolyCount_src) do(
append obj_dups objs[i]
)
)
)
append dups obj_dups
)
format "dups = % \n " obj_dups
Jede Hilfe wird sehr geschätzt werden, danke!
Ihnen sehr für Ihre Antwort danken! ich bin damit einverstanden Schwimmern, dass Vergleich ziemlich riskant ist (ich nicht darüber nachdenken, bevor Sie Ihre Antwort zu lesen). Im Vergleich Vertex count wäre eine bessere Option (da die Anzahl der Scheitelpunkte ein ganzzahliger Wert ist), versuchen Sie, Ihr Skript so zu ändern, dass es auch die Anzahl der Scheitelpunkte von Objekten vergleicht – Maarten
Ich habe es geschafft, Änderungen vorzunehmen das Skript so, dass es prüft, ob sowohl polycount als auch vertcount gleich sind :) – Maarten