Collaboration with other software
About model and data exchange with 3rd party solutions: Revit, Solibri, dRofus, Bluebeam, structural analysis solutions, and IFC, BCF and DXF/DWG-based exchange, etc.

Costs/SF Costs/Total

Michael
Contributor
On interactive schedules is anyone using Costs/SF or Costs/Total features in scheme settings ?

If so perhaps can you post a link for tutorial or video aid ?

Many thanks.....

Costs 2013-01-28 at 3.31.42 PM.jpg
Michael |:-)
AC 4.5 - 19 Build 3003 Full USA
Mac OSX 10.10
18 REPLIES 18
Michael
Contributor
Fourth screenshot
Michael |:-)
AC 4.5 - 19 Build 3003 Full USA
Mac OSX 10.10
Anonymous
Not applicable
Michael,
1. I don´t see your schedule
2. Did you execute "Update Zones"?
Michael
Contributor
Fifth Screen shot
Michael |:-)
AC 4.5 - 19 Build 3003 Full USA
Mac OSX 10.10
Michael
Contributor
and another similar 5th shot
05a_020413.jpg
Michael |:-)
AC 4.5 - 19 Build 3003 Full USA
Mac OSX 10.10
Anonymous
Not applicable
Found it: delete the "s" in excess!
Michael
Contributor
Yes Andro55 I saw that too, the typo, and FIXED it and was hoping I could move on .....

But the cyber world said not so fast ......

See schedule and notice how Costs/sqft * Area does not result in Total Costs ..... This is obvious when 0 square footage is in Costs/sqft column.

The one constant seems to be .0929, so the GDL formula is picking up something than what it was programmed to do.

Almost there ! Thanks
Michael |:-)
AC 4.5 - 19 Build 3003 Full USA
Mac OSX 10.10
Anonymous
Not applicable
Michael,
can you copy the GDL code of the Zone Stamp (from Components, Descriptors, Master, 2D, Properties, Parameter windows if not empty) and paste it in the reply window ?

I will take a look into the code to find the problem.
Michael
Contributor
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
KeesW
Advocate
Or you can use ArchiQuant by Cigraph.
Cornelis (Kees) Wegman

cornelis wegman architects
AC 5 - 26 Dell XPS 8940 Win 10 16GB 1TB SSD 2TB HD RTX 3070 GPU
Laptop: AC 24 - 26 Win 10 16GB 1TB SSD RTX 3070 GPU

Still looking?

Browse more topics

Back to forum

See latest solutions

Accepted solutions

Start a new discussion!