When you say "code" do you mean script? (Sorry I'm VERY new to this) I'm in the place where you can edit library objects and there are many types of script: Master Script; 2D Script; Property Script; Parameter Script; Interface Script. I will post the "2D Script" ....it is really long though.
if name=0 & bNumRoom=0 & num=0 & bExistOption=0 & bProposOption=0 & code=0 & area=0 & peri=0 & ceil_s=0 & bVolume=0 then end
! ==========================================================================================
! STYLE
! ==========================================================================================
! FontStyle
! ------------------------------------------------------------------------------------------
fontStyle = zonastyle
gosub 2000
zonasty = iFontStyle
fontStyle = styleNumRoom
gosub 2000
numRoomsty = iFontStyle
fontStyle = zonostyle
gosub 2000
zonosty = iFontStyle
fontStyle = codestyle
gosub 2000
codesty = iFontStyle
fontStyle = areastyle
gosub 2000
areasty = iFontStyle
fontStyle = peristyle
gosub 2000
peristy = iFontStyle
fontStyle = ceilhstyle
gosub 2000
ceilhsty = iFontStyle
fontStyle = volumeStyle
gosub 2000
VolumeSty = iFontStyle
! ------------------------------------------------------------------------------------------
! Define Style
! ------------------------------------------------------------------------------------------
define style "znamestyle" AC_TextFont_1, ROOM_LSIZE, jst, zonasty
define style "styleNumRoom" fontNumRoom, fontsizeao, jst, numRoomsty
define style "znumstyle" zonofont, fontsizeao, jst, zonosty
define style "arstyle" areafont, fontsizeao, jst, areasty
define style "codestyle" codefont, fontsizeao, jst, codesty
define style "pestyle" perifont, fontsizeao, jst, peristy
define style "chstyle" ceilhfont, fontsizeao, jst, ceilhsty
define style "VolStyle" volumeFont, fontsizeao, jst, VolumeSty
mul2 PAPER_TO_MODEL,PAPER_TO_MODEL
! ------------------------------------------------------------------------------------------
! Request
! ------------------------------------------------------------------------------------------
style znamestyle
rrr=request("Height_of_style","znamestyle", shight)
rrr=request("Height_of_style","znumstyle", shight2)
catname = ""
catcode = ""
rrr = request("Zone_category", "", catname, catcode)
Zname = ROOM_NAME
if cn_zn then Zname = catname !*** display Category Name as Zone name
if catcode = "0 BGF" then Zname = "Gross Area" !***prints "BGF" to the stamp
area_form = ""
rrr = request ("Area_dimension","",area_form)
room_area = str (area_form, ROOM_CALC_AREA)
lin_form = ""
rrr = request ("Linear_dimension","",lin_form)
room_height = str (lin_form , ROOM_HEIGHT)
room_perim = str (lin_form , ROOM_PERIM)
vol_form = ""
rrr = request ("Calc_volume_unit", "", vol_form)
room_volume = str (vol_form , ROOM_VOLUME)
unit = ""
area_unit = ""
lin_unit = ""
form = ""
vol_unit = ""
form = lin_form !*** Unit strings
gosub 1001
lin_unit = unit
form = area_form
gosub 1002
area_unit = unit
form = vol_form
gosub 1003
vol_unit = unit
room_area = "A: " + room_area + area_unit !*** composite strings
rrr = request ("Name_of_material", listCodeFloorMat, listCodeFloorMat )
rrr = request ("Name_of_material", listCodeWallMat , listCodeWallMat )
rrr = request ("Name_of_material", listCodeCeilMat , listCodeCeilMat )
if typeCodeMat = listCodeMat[1] then
if typeDisplayMat = `Horizontally` then
code_string = listCodeFloorMat + " " + listCodeWallMat + " " + listCodeCeilMat
code_string2 = ""
code_string3 = ""
else
code_string = listCodeFloorMat
code_string2 = listCodeWallMat
code_string3 = listCodeCeilMat
endif
set style "codestyle"
stwCellsFloor = stw (listCodeFloorMat)+2
stwCellsWall = stw (listCodeWallMat)+1
stwCellsCeil = stw (listCodeCeilMat)+2
else
if typeCodeMat = listCodeMat[2] then
if typeDisplayMat = `Horizontally` then
code_string = textNameFloorMat + "" + listCodeFloorMat+" "+textNameWallMat + "" + listCodeWallMat+" "+textNameCeilMat + "" + listCodeCeilMat
code_string2 = ""
code_string3 = ""
else
code_string = textNameFloorMat + " " + listCodeFloorMat
code_string2 = textNameWallMat + " " + listCodeWallMat
code_string3 = textNameCeilMat + " " + listCodeCeilMat
endif
set style "codestyle"
stwCellsFloor = stw (textNameFloorMat + " " + listCodeFloorMat)+2
stwCellsWall = stw (textNameWallMat + " " + listCodeWallMat)+1
stwCellsCeil = stw (textNameCeilMat + " " + listCodeCeilMat)+2
else
if typeCodeMat = listCodeMat[3] then
if typeDisplayMat = `Horizontally` then
code_string = basec + " " + wallc + " " + ceilc
code_string2 = ""
code_string3 = ""
else
code_string = basec
code_string2 = wallc
code_string3 = ceilc
endif
set style "codestyle"
stwCellsFloor = stw (basec)+2
stwCellsWall = stw (wallc)+1
stwCellsCeil = stw (ceilc)+2
endif
endif
endif
maxCodeLength = max(stwCellsFloor,stwCellsWall,stwCellsCeil)
if ceiltype="Value" then
room_height = "H: " + room_height + lin_unit
else
room_height = ceiltype
endif
room_perim = "P: " + room_perim + lin_unit
room_volume = "V: " + room_volume + vol_unit
!--------------------------------------------
dim stBoxText[10]
stBoxText[1] = Zname
stBoxText[2] = textNumRoom
stBoxText[3] = room_number
stBoxText[4] = room_area
stBoxText[5] = code_string
stBoxText[6] = code_string2
stBoxText[7] = code_string3
stBoxText[8] = room_perim
stBoxText[9] = room_height
stBoxText[10] = room_volume
! ------------------------------------------------------------------------------------------
! Size of the strings - Max, Min
! ------------------------------------------------------------------------------------------
set style "znamestyle"
if not(bZoneNameAllign) and not(bFrameZoneName) then
w_roona = (stw (Zname))
else
w_roona = (stw (Zname)+2) ! Justify to Subtext
endif
set style "styleNumRoom"
w_numRoom = (stw (textNumRoom)+2)
set style "znumstyle"
w_roonu = (stw (ROOM_NUMBER)+2)
set style "arstyle"
w_rooar = (stw (room_area)+2)
set style "codestyle"
if typeDisplayMat = `Horizontally` then
w_code = (stw (code_string)+2)
else
w_code = (stw (code_string)+2)
w_code2 = (stw (code_string2)+2)
w_code3 = (stw (code_string3)+2)
endif
set style "pestyle"
w_peri = (stw (room_perim)+2)
set style "chstyle"
w_roohe = (stw (room_height)+2)
set style "VolStyle"
w_roovol = (stw (room_volume)+2)
max_len = max ( w_roona * name,
w_numRoom * bNumRoom,
w_roonu * num,
w_rooar * area,
w_code * code,
w_code2 * code * (typeDisplayMat = listDisplayMat[2]),
w_code3 * code * (typeDisplayMat = listDisplayMat[2]),
w_peri * peri,
w_roohe * ceil_s,
w_roovol * volume) !*** width of the stamp
rot2 w
! ------------------------------------------------------------------------------------------
! Make a Pharagraph --> Size of the strings - height
! ------------------------------------------------------------------------------------------
if not(bFixStampWidth) then
widthStamp = max_len
else
if not(bWrapWord) then
widthStampMIN = max_len
else
if code and typeFrameMat <> `None` and not(box_y) then
if typeDisplayMat = listDisplayMat[1] then widthStampMIN = w_code ! Horizontally
if typeDisplayMat = listDisplayMat[2] then widthStampMIN = maxCodeLength ! Vertically
endif
endif
if widthStampMM < widthStampMIN then widthStampMM = widthStampMIN
widthStamp = widthStampMM
endif
for iWrap = 1 to 10
PARAGRAPH nameParagraph[iWrap] jst, 0, 0, 0, 1, 0
pen setPen[iWrap]
set style setStyle[iWrap]
""+stBoxText[iWrap]
ENDPARAGRAPH
TEXTBLOCK nameTextblock[iWrap] widthStamp, jst, 0, 1 ,1, 0,nameParagraph[iWrap]
n = REQUEST ("TEXTBLOCK_INFO",nameTextblock[iWrap],width,height)
tBlockHeight[iWrap] = height
tBlockWidth[iWrap] = width
!*** height of the stamp
if showtext[iWrap] then
heightStamp = heightStamp - tBlockHeight[iWrap]
numRowMAX = numRowMAX + 1
endif
next iWrap
! ========================================================================================
! Inscription and Drawing Frame
! ========================================================================================
gosub 4000
for iFunction = 1 to 10
if showtext[iFunction] then
! Justify
if iFunction = 1 and not(bFrameZoneName) and not(bZoneNameAllign) then
if jst = 1 then dist = 0 !Left_Justified
if jst = 2 then dist = widthStamp/2 !Centered_Justified
if jst = 3 then dist = widthStamp !Right_Justified
else
if jst = 1 then dist = 1 !Left_Justified
if jst = 2 then dist = widthStamp/2 !Centered_Justified
if jst = 3 then dist = widthStamp-1 !Right_Justified
endif
pen setPen[iFunction]
set style setstyle[iFunction]
richtext2 dist,-vlen,nameTextblock[iFunction]
vlen = vlen + tBlockHeight[iFunction]
numRow = numRow + 1
! just the inlines except after the last row
if box_y and inline and (numRow <> numRowMAX) then gosub 3000
! -----------------------------
! for material code own frame [
! -----------------------------
if not(box_y) & iFunction = 5 then
pen Pen_Box
if typeDisplayMat = listDisplayMat[1] then ! Horizontally
if typeFrameMat <> listFrameMat[3] then ! Frame <> None
if jst = 1 then
rect2 0,-vlen +tBlockHeight[iFunction],w_code,-vlen
if typeFrameMat = listFrameMat[2] then ! Frame = Cells
line2 stwCellsFloor,-vlen + tBlockHeight[iFunction],stwCellsFloor ,-vlen
line2 w_code-stwCellsCeil,-vlen + tBlockHeight[iFunction],w_code-stwCellsCeil,-vlen
endif
endif
if jst = 2 then
rect2 widthStamp/2-w_code/2,-vlen +tBlockHeight[iFunction],widthStamp/2+w_code/2,-vlen
if typeFrameMat = listFrameMat[2] then
line2 widthStamp/2-w_code/2 +stwCellsFloor,-vlen + tBlockHeight[iFunction],widthStamp/2-w_code/2 +stwCellsFloor ,-vlen
line2 widthStamp/2+w_code/2 -stwCellsCeil,-vlen + tBlockHeight[iFunction],widthStamp/2+w_code/2 -stwCellsCeil ,-vlen
endif
endif
if jst = 3 then
rect2 widthStamp-w_code,-vlen +tBlockHeight[iFunction],widthStamp,-vlen
if typeFrameMat = listFrameMat[2] then
line2 widthStamp-w_code+stwCellsFloor,-vlen + tBlockHeight[iFunction],widthStamp-w_code+stwCellsFloor ,-vlen
line2 widthStamp-stwCellsCeil,-vlen + tBlockHeight[iFunction],widthStamp-stwCellsCeil,-vlen
endif
endif
endif
else ! Vertically
if typeFrameMat <> listFrameMat[3] then ! Frame <> None
if jst = 1 then
rect2 0,-vlen +tBlockHeight[iFunction],maxCodeLength,-vlen -tBlockHeight[iFunction]*2
if typeFrameMat = listFrameMat[2] then
line2 0,-vlen, maxCodeLength,-vlen
line2 0,-vlen -tBlockHeight[iFunction], maxCodeLength,-vlen -tBlockHeight[iFunction]
endif
endif
if jst = 2 then
rect2 widthStamp/2 - maxCodeLength/2,-vlen +tBlockHeight[iFunction],widthStamp/2 + maxCodeLength/2,-vlen -tBlockHeight[iFunction]*2
if typeFrameMat = listFrameMat[2] then
line2 widthStamp/2 - maxCodeLength/2,-vlen, widthStamp/2 + maxCodeLength/2,-vlen
line2 widthStamp/2 - maxCodeLength/2,-vlen -tBlockHeight[iFunction], widthStamp/2 + maxCodeLength/2,-vlen -tBlockHeight[iFunction]
endif
endif
if jst = 3 then
rect2 widthStamp - maxCodeLength,-vlen +tBlockHeight[iFunction],widthStamp,-vlen -tBlockHeight[iFunction]*2
if typeFrameMat = listFrameMat[2] then
line2 widthStamp - maxCodeLength,-vlen, widthStamp,-vlen
line2 widthStamp - maxCodeLength,-vlen -tBlockHeight[iFunction], widthStamp,-vlen -tBlockHeight[iFunction]
endif
endif
endif
endif
endif
! -----------------------------
! ] for material code own frame
! -----------------------------
endif
next iFunction
if box_y then
pen Pen_Box
if name and bFrameZoneName then ! just the global frame with ZonaName
rect2 0,0,widthStamp,-vlen
else
if name and not(bFrameZoneName) then ! just the global frame without ZonaName
if numRow > 1 then rect2 widthStamp/2-w_roonu/2,-tBlockHeight[1],widthStamp/2+w_roonu/2,-vlen ! if just the name displayed don`t draw frame
else
rect2 0,0,widthStamp,-vlen
endif
endif
endif
! ========================================================================================
! Hotspots
! ========================================================================================
if hspots then
hotspot2 widthStamp/2, 0
hotspot2 widthStamp/2, heightStamp
hotspot2 0, heightStamp/2
hotspot2 widthStamp, heightStamp/2
endif
if bFixStampWidth then
unID = GS_HotspotUnIDBegin
if pointAnchor = placePointAnchor[1] or pointAnchor = placePointAnchor[4] then
! Top Left
! Bottom Left
HOTSPOT2 0, 0, unID, widthStampLength_model, 1+256 ,widthStampPoint :unID=unID+1
HOTSPOT2 -1, 0, unID, widthStampLength_model, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, 0, unID, widthStampLength_model, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, heightStamp,unID, widthStampLength_model, 1+256 ,widthStampPoint :unID=unID+1
HOTSPOT2 -1, heightStamp,unID, widthStampLength_model, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, heightStamp,unID, widthStampLength_model, 2 ,widthStampPoint :unID=unID+1
endif
if pointAnchor = placePointAnchor[2] or pointAnchor = placePointAnchor[5] then
! Bottom Right
! Top Right
HOTSPOT2 widthStamp, 0, unID, widthStampLength_model, 1+256 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp+1, 0, unID, widthStampLength_model, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, 0, unID, widthStampLength_model, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, heightStamp,unID, widthStampLength_model, 1+256 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp+1, heightStamp,unID, widthStampLength_model, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, heightStamp,unID, widthStampLength_model, 2 ,widthStampPoint :unID=unID+1
endif
if pointAnchor = placePointAnchor[3] then
! Center
HOTSPOT2 widthStamp/2, 0, unID, widthStampLength_modelPer2, 1+128 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2-1, 0, unID, widthStampLength_modelPer2, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, 0, unID, widthStampLength_modelPer2, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2, heightStamp,unID, widthStampLength_modelPer2, 1+128 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2-1, heightStamp,unID, widthStampLength_modelPer2, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp, heightStamp,unID, widthStampLength_modelPer2, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2, 0, unID, widthStampLength_modelPer2, 1+128 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2+1, 0, unID, widthStampLength_modelPer2, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, 0, unID, widthStampLength_modelPer2, 2 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2, heightStamp,unID, widthStampLength_modelPer2, 1+128 ,widthStampPoint :unID=unID+1
HOTSPOT2 widthStamp/2+1, heightStamp,unID, widthStampLength_modelPer2, 3 ,widthStampPoint :unID=unID+1
HOTSPOT2 0, heightStamp,unID, widthStampLength_modelPer2, 2 ,widthStampPoint :unID=unID+1
endif
hotspot2 widthStamp/2, heightStamp/2
else
HOTSPOT2 0, 0
HOTSPOT2 widthStamp, 0
HOTSPOT2 0, heightStamp
HOTSPOT2 widthStamp, heightStamp
HOTSPOT2 widthStamp/2, heightStamp/2
endif
end
! ========================================================================================
! Subroutines
! ========================================================================================
1001: !*** Linear unit strings
if strstr (form, "m") then unit = " m"
if strstr (form, "cm") then unit = " cm"
if strstr (form, "mm") then unit = " mm"
if strstr (form, "i") or strstr (form, "f") then unit = ""
return
1002: !*** Area unit strings
if strstr (form, "sqm") then unit = " m2"
if strstr (form, "sqcm") then unit = " cm2"
if strstr (form, "sqmm") then unit = " mm2"
if strstr (form, "sqf") then unit = " sq ft"
if strstr (form, "sqi") then unit = " sq inch"
return
1003: !*** Volume unit strings
if strstr(form, "cum") then unit = " m3" ! cubic meters
if strstr(form, "cucm") then unit = " cm3" ! cubic centimeters
if strstr(form, "cumm") then unit = " mm3" ! cubic millimeters
if strstr(form, "cuf") then unit = " cu ft" ! cubic feet
if strstr(form, "cui") then unit = " cu inch" ! cubic inches
if strstr(form, "cuy") then unit = " cu yards" ! cubic yards
if strstr(form, "l") then unit = " liter" ! liters
if strstr(form, "gal") then unit = " gallon" ! gallons
return
2000:
if fontStyle = stFontStyle[1] then iFontStyle = 0 ! Plain
if fontStyle = stFontStyle[2] then iFontStyle = 1 ! Bold
if fontStyle = stFontStyle[3] then iFontStyle = 2 ! Italic
if fontStyle = stFontStyle[4] then iFontStyle = 4 ! Underline
return
3000: ! Show Frame: just the inlines
pen Pen_Box
line2 0,-vlen,widthStamp,-vlen
return
4000:
if bAnchorPoint then
if pointAnchor = placePointAnchor[1] then add2 0, 0 ! Top Left
if pointAnchor = placePointAnchor[2] then add2 -widthStamp, 0 ! Top Right
if pointAnchor = placePointAnchor[3] then add2 -widthStamp/2, -heightStamp/2 ! Center
if pointAnchor = placePointAnchor[4] then add2 0, -heightStamp ! Bottom Left
if pointAnchor = placePointAnchor[5] then add2 -widthStamp, -heightStamp ! Bottom Right
else
add2 -widthStamp/2, -heightStamp/2
endif
return