HOW TO
Note:
You can modify the scripts to work with your data.
Code:
'------ Script: VIEW.MULTITOOLAPPLY
'
theView = av.GetActiveDoc
found = FALSE
listofFieldNames = {"BMPfield","Textfield","DWGfield"}
'--- Edit the field names above to match yours
listofValues = {}
p = theView.GetDisplay.ReturnUserPoint
t = theView.GetActiveThemes.Get(0)
if (t.Is(FTheme))
then
found = TRUE
theFtab = t.GetFTab
rec = t.FindByPoint(p).Get(0)
for each f in listofFieldNames
theVal = theFTab.ReturnValueString(theFTab.FindField(f),rec)
if (theVal <> NIL)
then
listofValues.Add(theVal)
else
listofValues.Add("a")
end
end
end
av.Run(t.GetHotScriptName,listofValues)
if (not found)
then
System.Beep
end
'
'------ End of Script: VIEW.MULTITOOLAPPLY
Note:
The code changes depending on the type of object you are linking to.
Code:
'------ Script: VIEW.MULTITHEMEPROP
'
theBMPFileName = Self.Get(0)
theTextFileName = Self.Get(1)
theDXFFileName = Self.Get(2)
MsgBox.Info("One moment please..."
+NL+"Hit OK to continue.","Multi Hotlink")
'--- For BMP Image
if (File.Exists(theBMPFileName.AsFileName))
then
theImageWin = ImageWin.Make(theBMPFileName.AsFileName,theBMPFileName)
else
MsgBox.Info("There is no Image File","")
end
'--- For Text File
if (File.Exists(theTextFileName.AsFileName))
then
theTextWin = TextWin.Make(theTextFileName.AsFileName,theTextFileName)
else
MsgBox.Info("There is no Text File","")
end
'--- For DXF Drawing
if (File.Exists(theDXFFileName.AsFileName))
then
srcDrawingLine = SrcName.Make(theDXFFileName ++ "line")
srcDrawingPoint = SrcName.Make(theDXFFileName ++ "point")
srcDrawingPoly = SrcName.Make(theDXFFileName ++ "polygon")
srcDrawingAnno = SrcName.Make(theDXFFileName ++ "annotation")
tPoly = Theme.Make(srcDrawingPoly)
tLine = Theme.Make(srcDrawingLine)
tPoint = Theme.Make(srcDrawingPoint)
tAnno = Theme.Make(srcDrawingAnno)
v = View.Make
v.AddTheme(tPoly)
v.AddTheme(tLine)
v.AddTheme(tPoint)
v.AddTheme(tAnno)
tLine.SetVisible(TRUE)
tPoint.SetVisible(TRUE)
tPoly.SetVisible(TRUE)
tAnno.SetVisible(TRUE)
v.SetTOCWidth(45)
v.SetTOCUnresizable(FALSE)
v.SetName(theDXFFileName)
if (av.FindScript("View.CloseImageView") = NIL)
then
s = Script.Make("av.GetProject.RemoveDoc(SELF)")
s.SetName("View.CloseImageView")
av.GetProject.AddScript(s)
end
v.SetCloseScript("View.CloseImageView")
theDXFWin = v.GetWin
theDXFWin.Resize(310,260)
theDXFWin.MoveTo(300,50)
else
MsgBox.Info("There is no Drawing to open","")
theDXFWin = nil
end
'--- Now open the Windows
if (theImageWin <> nil) then
theImageWin.Open
theImageWin.Resize(240,180)
theImageWin.MoveTo(1,100)
end
if (theTextWin <> nil) then
theTextWin.Open
theTextWin.Resize(240,180)
theTextWin.MoveTo(21,100)
end
if (theDXFWin <> nil) then
theDXFWin.Open
end
'
'------ End of Script: VIEW.MULTITHEMEPROP
Article ID:000001494
Get help from ArcGIS experts
Download the Esri Support App