나는 완전히 어리 석다. 나는 파이썬 초보자이며 dxfgrabber과 같은 타사 라이브러리를 사용하고자합니다.파이썬 : 써드 파티 라이브러리 사용법
내가 도움 구역에 다음, 연주,하지만 내가 더 모르는 :
import dxfgrabber
dxf = dxfgrabber.readfile("1.dxf")
print("DXF version: {}".format(dxf.dxfversion))
header_var_count = len(dxf.header)
layer_count = len(dxf.layers)
entity_count = len(dxf.entities)
print layer_count
print entity_count
print dxf.layers
출력은 지금까지입니다 :
DXF version: AC1009
6
2
<dxfgrabber.layers.LayerTable object at 0x10f42b590>
내 질문 :
그래서 저는 6 개의 레이어와 2 개의 엔티티가 있음을 알고 있습니다. 다음과 같은 추가 정보를 얻으려면 어떻게해야합니까? 레이어 이름, 엔티티는 무엇입니까?
엔티티에 실제로 액세스하려면 어떻게해야합니까 (예 : 두 줄이 있다는 것을 알고 있습니다)? 선을 어떻게 얻을 수 있습니까?
엔티티 (예 : 선)가 캔버스에 표시되도록 코드를 작성하고 싶습니다.
이 라이브러리는 사용할 준비가되어 있어야하지만, 파이썬에 대한 지식이 많은 사람들에게는 나보다 나을 것 같습니다. 예를 들어
to @elyase : dxf.layers의 레이어에 대해 시도했습니다 : print layer.name, layer.color'는 다음과 같습니다. ... ... TypeError : iter()는 'list'유형이 아닌 반복자를 반환했습니다 – solarisman
@solarisman : 흥미 롭다. 그것은 도서관의 버그처럼 들린다. 가능하다면 dxf.layers .__ iter __() :'대신에 for 레이어를 사용하십시오.하지만 가능한 경우 프로젝트에보고하십시오. –
@solarisman : [소스 코드] (https://bitbucket.org/mozman/dxfgrabber/src/f09dd32b8dada172b32525a953d0aa0beafc745f/dxfgrabber/layers.py?at=default)에서 약간 보았습니다. 사소한 실수를 더 많이 볼 수 있습니다. '.__ iter __()'메쏘드가 가장 확실하게 깨졌습니다. 'return self._layers.values ()'대신'return iter (self._layers.values ())'를 사용해야합니다. –