如何使用 ezdxf 关闭 属性 打印设置?
How to turn off property print settings using ezdxf?
我想知道如何使用 ezdxf 关闭 属性 打印设置。
我可以隐藏、冻结和锁定开关。
但是,无法设置打印打开或关闭。
my_lines.on()
my_lines.off() # switch layer off, will not shown in CAD programs/viewers
my_lines.lock() # layer is not editable in CAD programs
my_lines.freeze()
你能这样打开和关闭打印吗?
图层的绘图(即打印)标志由 DXF group 290 表示,它接受值 0
(意味着图层是 而不是 绘制)或 1
(表示图层 是 绘制)。
此 DXF 组在 ezdxf 中由 plot
属性 表示 - 因此,您可以使用以下代码禁用图层的绘图:
my_lines.dxf.plot = 0
要关闭或冻结未设置打印的图层,您可以使用以下基本 for 循环:
for lay in dwg.layers:
if lay.dxf.plot = 0: # if layer is not plotted
lay.off() # turn layer off
lay.freeze() # freeze layer
但是,由于ezdxf does not test whether or not a layer is current before enabling bit 1
for DXF group 70
, you may want to include this check prior to invoking the freeze
方法,无法冻结当前层:
for lay in dwg.layers:
if lay.dxf.plot = 0: # if layer is not plotted
lay.off() # turn layer off
if dwg.header['$CLAYER'] != lay.dxf.name: # current layer cannot be frozen
lay.freeze() # freeze layer
显然,将当前层名称绑定到 for
循环的 外部 局部变量会更有效,因为该值在循环内不会更改,但我会把它留给你。
我想知道如何使用 ezdxf 关闭 属性 打印设置。
我可以隐藏、冻结和锁定开关。 但是,无法设置打印打开或关闭。
my_lines.on()
my_lines.off() # switch layer off, will not shown in CAD programs/viewers
my_lines.lock() # layer is not editable in CAD programs
my_lines.freeze()
你能这样打开和关闭打印吗?
图层的绘图(即打印)标志由 DXF group 290 表示,它接受值 0
(意味着图层是 而不是 绘制)或 1
(表示图层 是 绘制)。
此 DXF 组在 ezdxf 中由 plot
属性 表示 - 因此,您可以使用以下代码禁用图层的绘图:
my_lines.dxf.plot = 0
要关闭或冻结未设置打印的图层,您可以使用以下基本 for 循环:
for lay in dwg.layers:
if lay.dxf.plot = 0: # if layer is not plotted
lay.off() # turn layer off
lay.freeze() # freeze layer
但是,由于ezdxf does not test whether or not a layer is current before enabling bit 1
for DXF group 70
, you may want to include this check prior to invoking the freeze
方法,无法冻结当前层:
for lay in dwg.layers:
if lay.dxf.plot = 0: # if layer is not plotted
lay.off() # turn layer off
if dwg.header['$CLAYER'] != lay.dxf.name: # current layer cannot be frozen
lay.freeze() # freeze layer
显然,将当前层名称绑定到 for
循环的 外部 局部变量会更有效,因为该值在循环内不会更改,但我会把它留给你。