维度如何在ezdxf中运行

时间:2017-06-12 23:30:34

标签: python python-2.7 python-3.x dxf

我正在制作一个项目,我需要在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?

3 个答案:

答案 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')