viernes, junio 22, 2007
Generación de un archivo AutoDesk, a partir de un archivo ArcView...
El siguiente Script, exporta una esctructura geométrica de origen ESRI, a formato DXF del entrono AutoDesk. Lenguaje Avenue Script
Script.The.SetNumberFormat("d.dddddd")
theFile = SELF.Get(0)
theShape = SELF.Get(1)
theLayerName = SELF.Get(2)
theShapeType = SELF.Get(3)
theShapeSize = SELF.Get(4)
if (theShapeType = "Point") then
theFile.WriteElt(" 0")
theFile.WriteElt("POINT")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 10")
theFile.WriteElt(theShape.GetX.AsString)
theFile.WriteElt(" 20")
theFile.WriteElt(theShape.GetY.AsString)
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
elseif (theShapeType = "Polyline") then
theFile.WriteElt(" 0")
theFile.WriteElt("POLYLINE")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 66")
theFile.WriteElt(" 1")
theFile.WriteElt(" 10")
theFile.WriteElt("0.0")
theFile.WriteElt(" 20")
theFile.WriteElt("0.0")
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
theFile.WriteElt(" 70")
theFile.WriteElt(" 0")
pointList = theShape.AsPolyLine.AsMultiPoint.AsList
for each vertex in pointList
theFile.WriteElt(" 0")
theFile.WriteElt("VERTEX")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 66")
theFile.WriteElt(" 1")
theFile.WriteElt(" 10")
theFile.WriteElt(vertex.GetX.AsString)
theFile.WriteElt(" 20")
theFile.WriteElt(vertex.GetY.AsString)
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
end
theFile.WriteElt(" 0")
theFile.WriteElt("SEQEND")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
elseif (theShapeType = "Polygon") then
theFile.WriteElt(" 0")
theFile.WriteElt("POLYLINE")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 66")
theFile.WriteElt(" 1")
theFile.WriteElt(" 10")
theFile.WriteElt("0.0")
theFile.WriteElt(" 20")
theFile.WriteElt("0.0")
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
theFile.WriteElt(" 70")
theFile.WriteElt(" 1")
pointList = theShape.AsPolyLine.AsMultiPoint.AsList
for each vertex in pointList
theFile.WriteElt(" 0")
theFile.WriteElt("VERTEX")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 66")
theFile.WriteElt(" 1")
theFile.WriteElt(" 10")
theFile.WriteElt(vertex.GetX.AsString)
theFile.WriteElt(" 20")
theFile.WriteElt(vertex.GetY.AsString)
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
end
theFile.WriteElt(" 0")
theFile.WriteElt("SEQEND")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
end
return nil
Script.The.SetNumberFormat("d.dddddd")
theFile = SELF.Get(0)
theShape = SELF.Get(1)
theLayerName = SELF.Get(2)
theShapeType = SELF.Get(3)
theShapeSize = SELF.Get(4)
if (theShapeType = "Point") then
theFile.WriteElt(" 0")
theFile.WriteElt("POINT")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 10")
theFile.WriteElt(theShape.GetX.AsString)
theFile.WriteElt(" 20")
theFile.WriteElt(theShape.GetY.AsString)
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
elseif (theShapeType = "Polyline") then
theFile.WriteElt(" 0")
theFile.WriteElt("POLYLINE")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 66")
theFile.WriteElt(" 1")
theFile.WriteElt(" 10")
theFile.WriteElt("0.0")
theFile.WriteElt(" 20")
theFile.WriteElt("0.0")
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
theFile.WriteElt(" 70")
theFile.WriteElt(" 0")
pointList = theShape.AsPolyLine.AsMultiPoint.AsList
for each vertex in pointList
theFile.WriteElt(" 0")
theFile.WriteElt("VERTEX")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 66")
theFile.WriteElt(" 1")
theFile.WriteElt(" 10")
theFile.WriteElt(vertex.GetX.AsString)
theFile.WriteElt(" 20")
theFile.WriteElt(vertex.GetY.AsString)
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
end
theFile.WriteElt(" 0")
theFile.WriteElt("SEQEND")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
elseif (theShapeType = "Polygon") then
theFile.WriteElt(" 0")
theFile.WriteElt("POLYLINE")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 66")
theFile.WriteElt(" 1")
theFile.WriteElt(" 10")
theFile.WriteElt("0.0")
theFile.WriteElt(" 20")
theFile.WriteElt("0.0")
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
theFile.WriteElt(" 70")
theFile.WriteElt(" 1")
pointList = theShape.AsPolyLine.AsMultiPoint.AsList
for each vertex in pointList
theFile.WriteElt(" 0")
theFile.WriteElt("VERTEX")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
theFile.WriteElt(" 66")
theFile.WriteElt(" 1")
theFile.WriteElt(" 10")
theFile.WriteElt(vertex.GetX.AsString)
theFile.WriteElt(" 20")
theFile.WriteElt(vertex.GetY.AsString)
theFile.WriteElt(" 30")
theFile.WriteElt("0.0")
end
theFile.WriteElt(" 0")
theFile.WriteElt("SEQEND")
theFile.WriteElt(" 8")
theFile.WriteElt(theLayerName)
end
return nil
Comentarios:
Publicar un comentario en la entrada
Enlaces a esta entrada:
<< Página principal
Suscribirse a Enviar comentarios [Atom]
Enlaces a esta entrada:
<< Página principal
Suscribirse a Entradas [Atom]