Python 용 DXF 파일 읽기/쓰기 라이브러리 "ezdxf"를 사용하여 DXF 파일을 PNG로 변환
8712 단어 파이썬Python3matplotlibezdxf
모듈 버전
파이썬 v3.8.5
ezdxf v0.14
matplotlib v3.3.1
샘플 DXF 파일 생성
※ 이 사이트 의 소스 코드를 말파크리 했습니다.
고맙습니다 🙏
import ezdxf
import math
DXFVERSION = 'R2010'
NUMCORNERS = 5
def create_dxf():
""" 五芒星のDXFファイルを生成
"""
# 星の角座標計算
startangle = math.pi / 2.0
pitchangle = math.pi * 2.0 / 5.0
# オフセットと半径
offset_x, offset_y, radius = 100, 100, 10
points = []
for i in range(0, NUMCORNERS):
angle = startangle + pitchangle * i
if 2.0 * math.pi < angle:
angle = angle - 2.0 * math.pi
x = math.cos(angle) * radius + offset_x
y = math.sin(angle) * radius + offset_y
points.append((x, y))
# DXFインスタンス生成
dxf = ezdxf.new(DXFVERSION)
modelspace = dxf.modelspace()
# 五芒星描画
last, i, count = -1, 0, 0
while count < NUMCORNERS + 1:
if 0 <= last:
modelspace.add_line(points[i], points[last])
last = i
i += 2
if NUMCORNERS <= i:
i -= NUMCORNERS
count += 1
# DXFファイル出力
dxf.saveas('/<出力先のパス>/star.dxf')
if __name__ == "__main__":
create_dxf()
DXF 파일을 PNG 파일로 변환
ezdxf는 DXF 파일을 이미지나 PDF로 만들기 위한 애드온을 가지고 있기 때문에 그것을 이용하여 변환합니다.
import ezdxf
from ezdxf import recover
from ezdxf.addons.drawing import matplotlib
def convert_dxf_to_png():
try:
dxf, auditor = recover.readfile('/<DXFファイルのパス>/star.dxf')
except IOError as ioerror:
print(ioerror)
raise ioerror
except ezdxf.DXFStructureError as dxf_structure_error:
print(dxf_structure_error)
raise dxf_structure_error
if not auditor.has_errors:
matplotlib.qsave(dxf.modelspace(), '/<出力先のパス>/star.png')
if __name__ == "__main__":
convert_dxf_to_png()
이 짧은 코드로 DXF 파일을 PNG로 변환 할 수있었습니다.
확장자를 ".jpg"라든지 ".pdf"로 해도 작동합니다.
파이썬 편리! ! !
Reference
이 문제에 관하여(Python 용 DXF 파일 읽기/쓰기 라이브러리 "ezdxf"를 사용하여 DXF 파일을 PNG로 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Butterthon/items/244f08bd9b9cea10f643
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
※ 이 사이트 의 소스 코드를 말파크리 했습니다.
고맙습니다 🙏
import ezdxf
import math
DXFVERSION = 'R2010'
NUMCORNERS = 5
def create_dxf():
""" 五芒星のDXFファイルを生成
"""
# 星の角座標計算
startangle = math.pi / 2.0
pitchangle = math.pi * 2.0 / 5.0
# オフセットと半径
offset_x, offset_y, radius = 100, 100, 10
points = []
for i in range(0, NUMCORNERS):
angle = startangle + pitchangle * i
if 2.0 * math.pi < angle:
angle = angle - 2.0 * math.pi
x = math.cos(angle) * radius + offset_x
y = math.sin(angle) * radius + offset_y
points.append((x, y))
# DXFインスタンス生成
dxf = ezdxf.new(DXFVERSION)
modelspace = dxf.modelspace()
# 五芒星描画
last, i, count = -1, 0, 0
while count < NUMCORNERS + 1:
if 0 <= last:
modelspace.add_line(points[i], points[last])
last = i
i += 2
if NUMCORNERS <= i:
i -= NUMCORNERS
count += 1
# DXFファイル出力
dxf.saveas('/<出力先のパス>/star.dxf')
if __name__ == "__main__":
create_dxf()
DXF 파일을 PNG 파일로 변환
ezdxf는 DXF 파일을 이미지나 PDF로 만들기 위한 애드온을 가지고 있기 때문에 그것을 이용하여 변환합니다.
import ezdxf
from ezdxf import recover
from ezdxf.addons.drawing import matplotlib
def convert_dxf_to_png():
try:
dxf, auditor = recover.readfile('/<DXFファイルのパス>/star.dxf')
except IOError as ioerror:
print(ioerror)
raise ioerror
except ezdxf.DXFStructureError as dxf_structure_error:
print(dxf_structure_error)
raise dxf_structure_error
if not auditor.has_errors:
matplotlib.qsave(dxf.modelspace(), '/<出力先のパス>/star.png')
if __name__ == "__main__":
convert_dxf_to_png()
이 짧은 코드로 DXF 파일을 PNG로 변환 할 수있었습니다.
확장자를 ".jpg"라든지 ".pdf"로 해도 작동합니다.
파이썬 편리! ! !
Reference
이 문제에 관하여(Python 용 DXF 파일 읽기/쓰기 라이브러리 "ezdxf"를 사용하여 DXF 파일을 PNG로 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Butterthon/items/244f08bd9b9cea10f643
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import ezdxf
from ezdxf import recover
from ezdxf.addons.drawing import matplotlib
def convert_dxf_to_png():
try:
dxf, auditor = recover.readfile('/<DXFファイルのパス>/star.dxf')
except IOError as ioerror:
print(ioerror)
raise ioerror
except ezdxf.DXFStructureError as dxf_structure_error:
print(dxf_structure_error)
raise dxf_structure_error
if not auditor.has_errors:
matplotlib.qsave(dxf.modelspace(), '/<出力先のパス>/star.png')
if __name__ == "__main__":
convert_dxf_to_png()
Reference
이 문제에 관하여(Python 용 DXF 파일 읽기/쓰기 라이브러리 "ezdxf"를 사용하여 DXF 파일을 PNG로 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Butterthon/items/244f08bd9b9cea10f643텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)