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

This page is powered by Blogger. Isn't yours?

Suscribirse a Entradas [Atom]