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)下。
如果是其他比較舊的版本,也麻煩說下具體版本名稱,我們測試看看