python GcDbMText文字圖元,保存后類型都變成了GcDbEntity。調用GcDbMText.cast(entity)閃退。
from pygcad.core.runtime import * 
from pygcad.pygrx import *
def main():
    s_name = gds_name()
    gcedSSGet(None, None, None, None, s_name)
    (status, length) = gcedSSLength(s_name)
    gcedPrompt("rt=%d, length=%d" % (status, length))
    if status != RTNORM or length <= 0:
        gcedPrompt("\n沒有選中任何實體!")
        gcedSSFree(s_name)
        return
    ent_name = gds_name()
    ent_id = GcDbObjectId()
    for i in range(length):
        gcedSSName(s_name, i, ent_name)
        gcdbGetObjectId(ent_id, ent_name)
        (status, entity) = gcdbOpenGcDbEntity(ent_id, GcDb.kForWrite, False)
        try:
            if status != Gcad.ErrorStatus.eOk: # type: ignore
                continue
            # 剛繪制的圖紙 文字類型為GcDbMText,保存以后再次打開文字類型變成GcDbEntity
            if entity.isKindOf(GcDbMText.desc()):
                # cast以后,該文字圖元無法再次選中,操作圖紙則閃退
                mtext = GcDbMText.cast(entity)
                gcedPrompt(f'\nentity2 = {mtext.text()}')
                # cast以后,可輸出文本內容
                mtext.close()
        except Exception  as err:
            gcedPrompt('---- [ERROR]: %s' % err)
        finally:
            if entity:
                entity.close()
        gcedSSFree(s_name)
        entity.close()
main()
沒有找到相關結果
                                    已邀請:
                                                                    
                            
1 個回復
CAD小蘇 - 專注所以信賴!
贊同來自:
您使用的是浩辰CAD哪個版本呢
我們用浩辰CAD2026和2025版本測試了,都是正常的。
如果您使用的是浩辰CAD2026或2025版本,麻煩提供一下圖紙,我們再詳細測試復現(xiàn)下。
如果是其他比較舊的版本,也麻煩說下具體版本名稱,我們測試看看