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

Comentarios: Publicar un comentario en la entrada

Suscribirse a Enviar comentarios [Atom]



Enlaces a esta entrada:

Crear un enlace



<< Página principal

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

Suscribirse a Entradas [Atom]