我正在制作一个项目,我需要在dxf文件中绘制几个东西。我使用的是dxfwrite,但我只需要在ezdxf上使用HATCH功能,但是我无法弄清楚如何在ezdxf中使用dim函数。任何想法?
我有定义,但没有明确的例子: https://github.com/mozman/ezdxf/blob/master/ezdxf/modern/dimension.py
已尝试在函数中搜索docstring
import ezdxf
dwg = ezdxf.new('AC1015')
msp = dwg.modelspace()
msp.add_aligned_dim?
答案 0 :(得分:1)
ezdxf目前不支持维度。
与OPs问题相关联的DIMENSION相关代码只是后续实现的准备 - 这可能(可能)永远不会发生。
答案 1 :(得分:0)
我在github上问了类似的问题。这是我得到的答复。
dxfwrite尺寸可作为插件ezdxf.addons.dimlines获得,有关用法,请参见此example。
此附加组件未记录。我不想鼓励使用这些伪造的尺寸,因为ezdxf即将提供真正的DIMENSION支持。
那是来自作者的。 请参阅有关github问题here
的回复答案 2 :(得分:0)
尝试一下
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')