Moi
Oisko kellään kiinnostusta auttaa tekemään tällainen pieni laskuri jolla saisi dxf tiedostoista irti geometrian viivanpituuden ja suljettujen profiilien lukumäärän? Windows pohjainen exe sovellus oli ajatuksen drag ja drop toiminnolla.
Alla tekoälyn tekemä ohjelman pätkä pyhthon kielellä mutta itse en tästä saa mitään aikaan.
Olisin erittäin kiitollinen jos joku voisi auttaa tekemään tälle testiohjelman niin voisi testata onko tästä hyötyä.
import ezdxf
import sys
import os
def laske_dxf(tiedostopolku):
try:
doc = ezdxf.readfile(tiedostopolku)
msp = doc.modelspace()
kokonaispituus = 0.0
suljetut_count = 0
for e in msp:
if e.dxftype() == 'LINE':
kokonaispituus += e.dxf.start.distance(e.dxf.end)
elif e.dxftype() == 'CIRCLE':
kokonaispituus += 2 * 3.14159 * e.dxf.radius
suljetut_count += 1
elif e.dxftype() == 'LWPOLYLINE' or e.dxftype() == 'POLYLINE':
# ezdxf:n flattening laskee myös kaaret oikein
path = list(e.flattening(distance=0.01))
pituus = sum(p1.distance(p2) for p1, p2 in zip(path, path[1:]))
kokonaispituus += pituus
if e.is_closed:
suljetut_count += 1
print(f"Tiedosto: {os.path.basename(tiedostopolku)}")
print(f"Viivojen kokonaispituus: {kokonaispituus:.2f} yksikköä")
print(f"Suljettujen profiilien määrä: {suljetut_count}")
except Exception as e:
print(f"Virhe käsiteltäessä tiedostoa: {e}")
if __name__ == "__main__":
# Jos tiedosto pudotetaan exe:n päälle, se löytyy sys.argv[1] kohdasta
if len(sys.argv) > 1:
for polku in sys.argv[1:]:
laske_dxf(polku)
else:
print("Pudota DXF-tiedosto tämän ohjelman päälle.")
input("\nPaina Enter sulkeaksesi...")Kerrotko vähän enemmän käyttötarkoituksesta? QCAD:in mukana tulee komentorivipohjaiset apuohjelmat, joiden avulla saat tiedot kätevästi ulos CSV-muodossa. Itse käytin näitä apuna muodostaessani node -ja edge-listat graafia varten lyhimmän reitin hakua varten pohjakuvassa.
jalski kirjoitti:
Kerrotko vähän enemmän käyttötarkoituksesta? QCAD:in mukana tulee komentorivipohjaiset apuohjelmat, joiden avulla saat tiedot kätevästi ulos CSV-muodossa. Itse käytin näitä apuna muodostaessani node -ja edge-listat graafia varten lyhimmän reitin hakua varten pohjakuvassa.
Tarkoitus on saada selville mahdollisimman helposti ja nopeasti dxf kuvista nuo viivapituudet ja suljettujen profiilien lukumäräät.