Merge pull request #128 from huskier/master
Import a STEP file from the web
This commit is contained in:
commit
d8d5669845
|
@ -24,7 +24,11 @@ from .shapes import Shape
|
|||
|
||||
import FreeCAD
|
||||
import Part
|
||||
|
||||
import sys
|
||||
import os
|
||||
import urllib as urlreader
|
||||
import tempfile
|
||||
|
||||
class ImportTypes:
|
||||
STEP = "STEP"
|
||||
|
||||
|
@ -50,11 +54,11 @@ def importStep(fileName):
|
|||
"""
|
||||
Accepts a file name and loads the STEP file into a cadquery shape
|
||||
:param fileName: The path and name of the STEP file to be imported
|
||||
"""
|
||||
|
||||
"""
|
||||
#Now read and return the shape
|
||||
try:
|
||||
rshape = Part.read(fileName)
|
||||
#print fileName
|
||||
rshape = Part.read(fileName)
|
||||
|
||||
#Make sure that we extract all the solids
|
||||
solids = []
|
||||
|
@ -64,3 +68,24 @@ def importStep(fileName):
|
|||
return cadquery.Workplane("XY").newObject(solids)
|
||||
except:
|
||||
raise ValueError("STEP File Could not be loaded")
|
||||
|
||||
#Loads a STEP file from an URL into a CQ.Workplane object
|
||||
def importStepFromURL(url):
|
||||
#Now read and return the shape
|
||||
try:
|
||||
webFile = urlreader.urlopen(url)
|
||||
tempFile = tempfile.NamedTemporaryFile(suffix='.step', delete=False)
|
||||
tempFile.write(webFile.read())
|
||||
webFile.close()
|
||||
tempFile.close()
|
||||
|
||||
rshape = Part.read(tempFile.name)
|
||||
|
||||
#Make sure that we extract all the solids
|
||||
solids = []
|
||||
for solid in rshape.Solids:
|
||||
solids.append(Shape.cast(solid))
|
||||
|
||||
return cadquery.Workplane("XY").newObject(solids)
|
||||
except:
|
||||
raise ValueError("STEP File from the URL: " + url + " Could not be loaded")
|
||||
|
|
Loading…
Reference in New Issue
Block a user