79277569

Date: 2024-12-13 08:11:23
Score: 0.5
Natty:
Report link

I recommend ditching Brep and using AssocPersSubentityIdPE , its much faster than Brep, Here’s a sample using Python wrappers for ObjectARX.

import traceback
from pyrx_imp import Rx, Ge, Gi, Db, Ap, Ed, Br
 
def PyRxCmd_doit1() -> None:
    try:
        ps, id, pnt = Ed.Editor.entSel("\nSelect: ", Db.Solid3d.desc())
        dbent = Db.Solid3d(id,Db.OpenMode.kForWrite)
        pe = Db.AssocPersSubentIdPE(dbent.queryX(Db.AssocPersSubentIdPE.desc()))
        
        for idx,faceId in enumerate(pe.getAllSubentities(dbent, Db.SubentType.kFaceSubentType)):
            clr = Db.Color()
            clr.setColorIndex(idx)
            dbent.setSubentColor(faceId,clr)
        
    except Exception as err:
        traceback.print_exception(err)

enter image description here

Reasons:
  • Long answer (-0.5):
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: danielm103