使用ezdxf描述层属性描述时出现错误
An error occurs when using ezdxf to describe the layer property description
使用ezdxf描述层属性描述时出现错误。
有些图层名称会导致错误,有些图层名称不会。我不知道原因。
我尝试使用下面的代码。
lay = dwg.layers.get('MyLayerHere')
app = 'AcAecLayerStandard'
dsc = 'MyDescriptionHere'
if lay.tags.has_xdata(app):
lay.tags.set_xdata(app, [(1000, ''), (1000, dsc)])
else:
dwg.appids.new(app)
lay.tags.new_xdata(app, [(1000, ''), (1000, dsc)])
错误内容
Traceback (most recent call last): File "file.py", line 777, in dwg.appids.new(app) File "C:\・・・\table.py", line 63, in new raise DXFTableEntryError('%s %s already exists!' % (self._dxfname, name)) ezdxf.lldxf.const.DXFTableEntryError: APPID AcAecLayerStandard already exists!
当您尝试将描述分配给层而没有现有描述,但在包含其他层具有[的绘图中时,您的代码中将出现此错误=20=] 描述(即在已经注册了 AcAecLayerStandard
应用程序 ID 的绘图中)。
为了避免这种情况,只需在将 AcAecLayerStandard
应用程序 ID 添加到 APPID
符号 table 之前测试它是否已经注册,例如:
lay = dwg.layers.get('MyLayerHere')
app = 'AcAecLayerStandard'
dsc = 'MyDescriptionHere'
if lay.tags.has_xdata(app):
lay.tags.set_xdata(app, [(1000, ''), (1000, dsc)])
else:
if app not in dwg.appids:
dwg.appids.new(app)
lay.tags.new_xdata(app, [(1000, ''), (1000, dsc)])
使用ezdxf描述层属性描述时出现错误。 有些图层名称会导致错误,有些图层名称不会。我不知道原因。
我尝试使用下面的代码。
lay = dwg.layers.get('MyLayerHere')
app = 'AcAecLayerStandard'
dsc = 'MyDescriptionHere'
if lay.tags.has_xdata(app):
lay.tags.set_xdata(app, [(1000, ''), (1000, dsc)])
else:
dwg.appids.new(app)
lay.tags.new_xdata(app, [(1000, ''), (1000, dsc)])
错误内容
Traceback (most recent call last): File "file.py", line 777, in dwg.appids.new(app) File "C:\・・・\table.py", line 63, in new raise DXFTableEntryError('%s %s already exists!' % (self._dxfname, name)) ezdxf.lldxf.const.DXFTableEntryError: APPID AcAecLayerStandard already exists!
当您尝试将描述分配给层而没有现有描述,但在包含其他层具有[的绘图中时,您的代码中将出现此错误=20=] 描述(即在已经注册了 AcAecLayerStandard
应用程序 ID 的绘图中)。
为了避免这种情况,只需在将 AcAecLayerStandard
应用程序 ID 添加到 APPID
符号 table 之前测试它是否已经注册,例如:
lay = dwg.layers.get('MyLayerHere')
app = 'AcAecLayerStandard'
dsc = 'MyDescriptionHere'
if lay.tags.has_xdata(app):
lay.tags.set_xdata(app, [(1000, ''), (1000, dsc)])
else:
if app not in dwg.appids:
dwg.appids.new(app)
lay.tags.new_xdata(app, [(1000, ''), (1000, dsc)])