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
Suscribirse a Entradas [Atom]