Master
! Written by Henrik Magyar/Graphisoft 2002.03.19 for the USA market
fontsizeao=fontsizeao/2.835
!!ROOM_LSIZE=ROOM_LSIZE/2.835
PAPER_TO_MODEL = GLOB_SCALE / 1000 ! Convert paper size to model size
w=0
!!!!************** Cost / Total ****************!!!!
gs_list_cost = gs_list_cost_sqft * ROOM_AREA
!!!!************** Cost / Total ****************!!!!
dim stFontStyle[4]
stFontStyle[1] = `Plain`
stFontStyle[2] = `Bold`
stFontStyle[3] = `Italic`
stFontStyle[4] = `Underline`
dim listCodeMat[3]
listCodeMat[1] = `by Material Name`
listCodeMat[2] = `by Code and Name`
listCodeMat[3] = `by Custom Code`
dim listDisplayMat[2]
listDisplayMat[1] = `Horizontally`
listDisplayMat[2] = `Vertically`
dim listFrameMat[]
listFrameMat[1] = `Frame`
listFrameMat[2] = `Cells`
listFrameMat[3] = `None`
dim placePointAnchor[5]
placePointAnchor[1] = `Top Left`
placePointAnchor[2] = `Top Right`
placePointAnchor[3] = `Center`
placePointAnchor[4] = `Bottom Left`
placePointAnchor[5] = `Bottom Right`
IF just="Left-Justified" THEN jst=1
IF just="Centered" THEN jst=2
IF just="Right-Justified" THEN jst=3
if not(bFixStampWidth) then
bWrapWord = 0
hideparameter "bWrapWord", "widthStampPoint", "widthStampMM"
endif
if box_y and code then
typeFrameMat = listFrameMat[3]
lock "typeFrameMat"
endif
dim setPen[10]
setPen[1] = zonapen
setPen[2] = penNumRoom
setPen[3] = zonopen
setPen[4] = areapen
setPen[5] = codepen
setPen[6] = codepen
setPen[7] = codepen
setPen[8] = peripen
setPen[9] = ceilhpen
setPen[10] = volumePen
dim nameParagraph[]
nameParagraph[1] = "paragName"
nameParagraph[2] = "paragNumRoom"
nameParagraph[3] = "paragNumZone"
nameParagraph[4] = "paragArea"
nameParagraph[5] = "paragCode"
nameParagraph[6] = "paragCode2"
nameParagraph[7] = "paragCode3"
nameParagraph[8] = "paragPeri"
nameParagraph[9] = "paragCeil"
nameParagraph[10] = "paragVolume"
dim nameTextblock[]
nameTextblock[1] = "tBlockName"
nameTextblock[2] = "tBlockNumRoom"
nameTextblock[3] = "tBlockNumZone"
nameTextblock[4] = "tBlockArea"
nameTextblock[5] = "tBlockCode"
nameTextblock[6] = "tBlockCode2"
nameTextblock[7] = "tBlockCode3"
nameTextblock[8] = "tBlockPeri"
nameTextblock[9] = "tBlockCeil"
nameTextblock[10] = "tBlockVolume"
dim showText[14]
showText[1] = name
showText[2] = bNumRoom
showText[3] = num
showText[4] = area
showText[5] = code
showText[6] = code * (typeDisplayMat = listDisplayMat[2])
showText[7] = code * (typeDisplayMat = listDisplayMat[2])
showText[8] = peri
showText[9] = ceil_s
showText[10] = volume
dim setStyle[14]
setStyle[1] = "znamestyle"
setStyle[2] = "styleNumRoom"
setStyle[3] = "znumstyle"
setStyle[4] = "arstyle"
setStyle[5] = "codestyle"
setStyle[6] = "codestyle"
setStyle[7] = "codestyle"
setStyle[8] = "pestyle"
setStyle[9] = "chstyle"
setStyle[10] = "VolStyle"
dim tBlockHeight[]
dim tBlockWidth[]
2D
if name=0 & bNumRoom=0 & num=0 & code=0 & area=0 & peri=0 & ceil_s=0 then end
! ------------------------------------------------------------------------------------------
! Uninitialized variables
! ------------------------------------------------------------------------------------------
heightStamp = 0
numRowMAX = 0
vlen = 0
numRow = 0
! ==========================================================================================
! 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)
w_code2 = 0
w_code3 = 0
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 0,-tBlockHeight[1],widthStamp,-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
Properties
!Zone Stamp *DIN · ©GRAPHISOFT 1996 · VL
catname = ""
catcode = ""
rrr=request("Zone_category", "", catname, catcode)
if din_area and catcode < "A" then
if catcode = "0 BGF" then
component "Gross Area", ROOM_AREA, "m2"
else
component "Net Area", ROOM_AREA, "m2"
if catcode < "8 FF" then
component "Area of Use" , ROOM_AREA, "m2"
if catcode < "7 NNF" then
component "Main Area of Use", ROOM_AREA, "m2"
else
component "Additional Area of Use", ROOM_AREA, "m2"
endif
else
if catcode < "9 VF" then
component "Service Area" , ROOM_AREA, "m2"
else
component "Traffic Area" , ROOM_AREA, "m2"
endif
endif
endif
endif
Parameter
! ==============================================================================
! Fontnames list
! ==============================================================================
!!!!********************************************!!!!
PARAMETERS gs_list_cost = gs_list_cost
!! n=n, shight = shight, YY = YY
!!!!********************************************!!!!
dim fontNames[]
n = request("FONTNAMES_LIST", "", fontNames)
values "AC_TextFont_1" fontNames, custom
values "fontNumRoom" fontNames, custom
values "zonofont" fontNames, custom
values "areafont" fontNames, custom
values "codefont" fontNames, custom
values "perifont" fontNames, custom
values "ceilhfont" fontNames, custom
values "volumeFont" fontNames, custom
values "zonastyle" stFontStyle
values "styleNumRoom" stFontStyle
values "zonostyle" stFontStyle
values "areastyle" stFontStyle
values "codestyle" stFontStyle
values "peristyle" stFontStyle
values "ceilhstyle" stFontStyle
values "volumeStyle" stFontStyle
values "just" "Left-Justified", "Centered", "Right-Justified"
values "ceiltype" "Value","Typical"
If zonapen = 0 then parameters zonapen = 5
If penNumRoom = 0 then parameters zonapen = 5
If zonopen = 0 then parameters zonopen = 5
If areapen = 0 then parameters areapen = 5
If codepen = 0 then parameters codepen = 5
If peripen = 0 then parameters peripen = 5
If ceilhpen = 0 then parameters ceilhpen = 5
If volumePen = 0 then parameters penVolume = 5
If Pen_Box = 0 then parameters Pen_Box = 6
values "pointAnchor" placePointAnchor
values "typeCodeMat" listCodeMat
values "typeDisplayMat" listDisplayMat
values "typeFrameMat" listFrameMat
values "widthStampPoint" range (0,]
values "widthStampMM" range (0,]
values "widthStampLength_model" range (0,]
values "widthStampLength_modelPer2" range (0,]
if not(bAnchorPoint) then
hideparameter "pointAnchor"
pointAnchor = `Center`
endif
if box_y = 0 then
hideparameter "inline","bFrameZoneName", "Pen_Box"
endif
if bFrameZoneName then hideparameter "bZoneNameAllign"
if name = 0 then
hideparameter "AC_TextFont_1", "zonastyle", "zonajust", "zonapen", "cn_zn", "bFrameZoneName","bZoneNameAllign"
endif
if bNumRoom = 0 then
hideparameter "textNumRoom", "fontNumRoom", "styleNumRoom", "penNumRoom"
endif
if num = 0 then
hideparameter "zonofont", "zonostyle", "zonojust", "zonopen"
endif
if area = 0 then
hideparameter "areafont", "areastyle", "areajust", "areapen", "din_area"
endif
if code = 0 then
hideparameter "typeCodeMat", "typeDisplayMat", "basec","wallc","ceilc","codefont", "codestyle", "codepen"
hideparameter "listCodeFloorMat", "listCodeWallMat", "listCodeCeilMat","textNameFloorMat","textNameWallMat","textNameCeilMat"
hideparameter "typeFrameMat"
else
if typeCodeMat = `by Custom Code` then
hideparameter "listCodeFloorMat", "listCodeWallMat", "listCodeCeilMat","textNameFloorMat","textNameWallMat","textNameCeilMat"
else
if typeCodeMat = `by Code and Name` then
hideparameter "basec", "wallc", "ceilc"
else
if typeCodeMat = `by Material Name` then
hideparameter "basec", "wallc", "ceilc","textNameFloorMat","textNameWallMat","textNameCeilMat"
endif
endif
endif
endif
if peri = 0 then
hideparameter "perifont", "peristyle", "perijust", "peripen"
endif
if ceil_s = 0 then
hideparameter "ceilhfont", "ceilhstyle", "ceilhjust", "ceilhpen", "ceiltype"
endif
if volume = 0 then
hideparameter "volumeFont", "volumeStyle", "volumePen"
endif
! ==============================================================================
! mm / point conversion
! ==============================================================================
MM_TO_DOT = 72 / 25.4
!!! Synhronized mm and point in marker width
if GLOB_MODPAR_NAME = "widthStampMM" then
parameters widthStampPoint = widthStampMM * MM_TO_DOT
parameters widthStampLength_model = widthStampMM * PAPER_TO_MODEL
parameters widthStampLength_modelPer2 = widthStampMM * PAPER_TO_MODEL / 2
endif
if GLOB_MODPAR_NAME = "widthStampPoint" then
parameters widthStampMM = widthStampPoint / MM_TO_DOT
parameters widthStampLength_model = widthStampMM * PAPER_TO_MODEL / MM_TO_DOT
parameters widthStampLength_modelPer2 = widthStampMM * PAPER_TO_MODEL / MM_TO_DOT / 2
endif
! ==============================================================================
! real / paper size conversion
! ==============================================================================
if GLOB_MODPAR_NAME = "widthStampLength_model" then
parameters widthStampPoint = widthStampLength_model / PAPER_TO_MODEL * MM_TO_DOT
parameters widthStampMM = widthStampLength_model / PAPER_TO_MODEL
parameters widthStampLength_modelPer2 = widthStampLength_model / 2
endif
if GLOB_MODPAR_NAME = "widthStampLength_modelPer2" then
parameters widthStampLength_model = widthStampLength_modelPer2 * 2
parameters widthStampPoint = widthStampLength_modelPer2 * 2 / PAPER_TO_MODEL * MM_TO_DOT
parameters widthStampMM = widthStampLength_modelPer2 * 2 / PAPER_TO_MODEL
endif
No Components or Descriptors shown - perhaps answer is found in Properties ? "m2 " ??
Michael |:-)
AC 4.5 - 19 Build 3003 Full USA
Mac OSX 10.10