尺寸在 ezdxf 中如何工作
how does dimension work in ezdxf
我正在制作一个项目,其中我需要将一些东西绘制到一个 dxf 文件中。我正在使用 dxfwrite,但我需要仅在 ezdxf 上可用的 HATCH 函数,但我无法弄清楚如何在 ezdxf 中使用 dim 函数。有什么想法吗?
我有定义但没有明确的例子:
https://github.com/mozman/ezdxf/blob/master/ezdxf/modern/dimension.py
已经尝试在函数中搜索文档字符串
import ezdxf
dwg = ezdxf.new('AC1015')
msp = dwg.modelspace()
msp.add_aligned_dim?
ezdxf 目前不支持尺寸。
OP 问题中链接到的 DIMENSION 相关代码只是为以后的实施做准备——这将(可能)永远不会发生。
我在 github 上问过类似的问题。这是我得到的回复。
dxfwrite 维度可作为插件 ezdxf.addons.dimlines 使用,请参阅此 example。
此插件未记录。我不想鼓励使用这个假维度,因为真正的维度支持即将到来 ezdxf。
来自作者。
查看 github 问题 here
的回复
试试这个
import ezdxf
from ezdxf.tools.standards import setup_dimstyle
DIM_TEXT_STYLE = ezdxf.options.default_dimension_text_style
# create a new DXF R2010 drawing, official DXF version name: 'AC1024'
doc = ezdxf.new('R2010',setup=True)
#create a new dimstyle
setup_dimstyle(doc,
name='EZDXF1',
fmt='EZ_MM_0.1_H25_MM',
blk=ezdxf.ARROWS.closed_filled,
style=DIM_TEXT_STYLE,
)
dimstyle = doc.dimstyles.get('EZDXF1')
#keep dim line with text
dimstyle.dxf.dimtmove=0
msp = doc.modelspace()
points=[(0,0),(20,0),(20,10),(0,10),(0,0)]
#draw rectang
msp.add_lwpolyline(points)
msp.add_aligned_dim(p1=(0, 0), p2=(0, 10),distance=1, dimstyle='EZDXF1')
msp.add_aligned_dim(p1=(0, 10), p2=(20, 10),distance=11, dimstyle='EZDXF1')
msp.add_aligned_dim(p1=(0, 0), p2=(20, 10),distance=1, dimstyle='EZDXF1',text="test")
doc.saveas('dim.dxf')
我正在制作一个项目,其中我需要将一些东西绘制到一个 dxf 文件中。我正在使用 dxfwrite,但我需要仅在 ezdxf 上可用的 HATCH 函数,但我无法弄清楚如何在 ezdxf 中使用 dim 函数。有什么想法吗?
我有定义但没有明确的例子: https://github.com/mozman/ezdxf/blob/master/ezdxf/modern/dimension.py
已经尝试在函数中搜索文档字符串
import ezdxf
dwg = ezdxf.new('AC1015')
msp = dwg.modelspace()
msp.add_aligned_dim?
ezdxf 目前不支持尺寸。
OP 问题中链接到的 DIMENSION 相关代码只是为以后的实施做准备——这将(可能)永远不会发生。
我在 github 上问过类似的问题。这是我得到的回复。
dxfwrite 维度可作为插件 ezdxf.addons.dimlines 使用,请参阅此 example。
此插件未记录。我不想鼓励使用这个假维度,因为真正的维度支持即将到来 ezdxf。
来自作者。 查看 github 问题 here
的回复试试这个
import ezdxf
from ezdxf.tools.standards import setup_dimstyle
DIM_TEXT_STYLE = ezdxf.options.default_dimension_text_style
# create a new DXF R2010 drawing, official DXF version name: 'AC1024'
doc = ezdxf.new('R2010',setup=True)
#create a new dimstyle
setup_dimstyle(doc,
name='EZDXF1',
fmt='EZ_MM_0.1_H25_MM',
blk=ezdxf.ARROWS.closed_filled,
style=DIM_TEXT_STYLE,
)
dimstyle = doc.dimstyles.get('EZDXF1')
#keep dim line with text
dimstyle.dxf.dimtmove=0
msp = doc.modelspace()
points=[(0,0),(20,0),(20,10),(0,10),(0,0)]
#draw rectang
msp.add_lwpolyline(points)
msp.add_aligned_dim(p1=(0, 0), p2=(0, 10),distance=1, dimstyle='EZDXF1')
msp.add_aligned_dim(p1=(0, 10), p2=(20, 10),distance=11, dimstyle='EZDXF1')
msp.add_aligned_dim(p1=(0, 0), p2=(20, 10),distance=1, dimstyle='EZDXF1',text="test")
doc.saveas('dim.dxf')