Hallo Gemeinde,
müßte doch eigentlich ganz einfach sein:
Ich möchte per script über das gerade sichtbare View ein Polygon legen. Wie mach ich das? (theView.ReturnExtent ...)
Klaus
müßte doch eigentlich ganz einfach sein:
Ich möchte per script über das gerade sichtbare View ein Polygon legen. Wie mach ich das? (theView.ReturnExtent ...)
Klaus
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Jörg Thomsen am Mo., 10.05.2004 - 16:18
PermalinkAuch Dir mein Sohn kann unsere Gemeinschaft sicher helfen, Du müsstest Dich nur ein wenig mehr öffnen und Dein Anliegen etwas genauer schildern ;-)
Jörg
Gespeichert von Maxilla am Mo., 10.05.2004 - 17:01
PermalinkSo gehts's (nur ein Beispiel von mehreren Möglichkeiten) :
theView = av.getActiveDoc
theViewDisp = theView.getDisplay
theDispRect = theViewDisp.ReturnVisExtent
theRectGR = GraphicShape.Make(theDispRect)
theView.GetGraphics.UnselectAll
theRectGR.SetSelected(TRUE)
theView.GetGraphics.Add(theRectGR)
Jetzt hast du eine Graphik, die genau das sichtbare View-Display abdeckt. Die kannst du jetzt per Avenue oder Copy/Paste in ein Polygonshape umwandeln oder einfügen.
Gruß, M.
Gespeichert von Gast am Di., 11.05.2004 - 07:18
Permalink(nächstes Mal werde ich ausführlicher sein, oder es versuchen)
Liebe Maxilla,
meine Grafik ist dank Deiner Hilfe da -- wie mach ich jetzt daraus ein Polygon-Shape ??
Klaus
Gespeichert von Gast am Di., 11.05.2004 - 07:58
PermalinkConvert Graphics To Shapes
Gruß
J.
Gespeichert von Maxilla am Di., 11.05.2004 - 08:51
Permalink- Die Grafik markieren und Strg-C drücken
- Über View | Neues Thema... ein Polygonthema erstellen (oder ein vorhanenes Polygonthema editierbar setzen)
Strg-V drücken ... fertig
oder willst du das über Avenue machen?
Gespeichert von Gast am Di., 11.05.2004 - 09:13
Permalinknatürch über AVENUE. (XTools wär auch ne Möglichkeit - aber XTools hat auch so seine Macken ...)
Klaus
Gespeichert von Maxilla am Di., 11.05.2004 - 09:40
PermalinktheView = av.getActiveDoc
theViewDisp = theView.getDisplay
theDispRect = theViewDisp.ReturnVisExtent
theCWD = FileName.GetCWD
def = theCWD.MakeTMP("xyz", "shp")
theOutput = FileDialog.Put(def,"*.shp"," NAME")
if (theOutput = nil) then
return NIL
end
theFTab = Ftab.MakeNew(theOutput,Polygon)
theShapeFld = theFtab.FindField("Shape")
theIDfld=Field.Make("ID", #FIELD_LONG, 6, 0)
theFtab.AddFields({theIDfld})
theRecNo = theFtab.AddRecord
theShape = theDispRect.AsPolygon
theFtab.SetValue(theShapeFld, theRecNo, theShape)
theFTheme = Ftheme.Make(theFTab)
theView.AddTheme(theFTheme)
theFTheme.setVisible(TRUE)
theFTab.SetEditable(FALSE)
Ich denk das reicht an Service :o)
Jetzt kannst du dir weitere Felder mit den Koordinaten- und Ausdehnungsangaben anfügen. Macht Spaß! View-Projektionen sollten noch behandelt werden.
Gespeichert von Gast am Di., 11.05.2004 - 10:30
PermalinkKlaus