Modification to Zone Stamp

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-10-04 04:18 PM
2013-10-04
04:18 PM
My problem is that I want the Zone Stamp not to display the "Calculated Area" but to display the "Measured area" and while I have managed to tweak it to do that what I can't seem to get to work is that the Stamp displays the area to up to 5 decimal places when it should be displaying just 2 as set in the MVO (Model View Option).
Anyone able to suss out where I need to tweak the script to make it show what is required by the MVO
AC versions 3.41 to 25 (UKI Full 5005).
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics
3 REPLIES 3

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-10-04 04:19 PM
2013-10-04
04:19 PM
Here's the script and I've highlight my changes in purple
!TLOTT 03:10:13
!Modified Area displayed to show Measured Area
!not the Calaculated Area as this suits the
!project
define style "idestyle" AC_TextFont_1 , ROOM_LSIZE , 1, 1
mul2 PAPER_TO_MODEL, PAPER_TO_MODEL
style idestyle
rrr = request("Height_of_style", "idestyle", shight)
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
if ROOM_POLY_STATUS = 0 then Temp_CalcArea = ROOM_CALC_AREA ! Method 1 and 2
if ROOM_POLY_STATUS = 1 then Temp_CalcArea = ROOM_NET_AREA ! Method 3/Net !ROOM_CALC_AREA TLOTT
if ROOM_POLY_STATUS = 2 then Temp_CalcArea = ROOM_AREA ! Method 3/Gross
area_form = "" ! Format as set in the Preferences
rrr = request("Area_dimension", "", area_form )
room_area = str(area_form, Temp_CalcArea )
lin_form = ""
rrr = request("Calc_length_unit", "", lin_form)
room_height = str(lin_form , ROOM_HEIGHT)
room_perim = str(lin_form , ROOM_PERIM)
unit = ""
area_unit = ""
lin_unit = ""
form = ""
form = lin_form ! Unit strings
gosub 1001
lin_unit = unit
form = area_form
gosub 1002
area_unit = unit
room_area = "A: " + room_area + area_unit ! Composite strings
room_height = "H: " + room_height + lin_unit
room_perim = "P: " + room_perim + lin_unit
w_roona = (stw(Zname)) * name ! Width of the strings - 0 if not displayed
w_roonu = (stw(ROOM_NUMBER)+3) * num
w_floor = (stw(floor_f)+3) * floor
w_rooar = (stw(room_area)+3) * area
w_peri = (stw(room_perim)+3) * peri
w_roohe = (stw(room_height)+3) * ceil_s
max_len = max (w_roona, w_roonu, w_peri, w_rooar, w_roohe, w_floor) !*** width of the stamp
max_h = - (name + num + floor + area + peri + ceil_s) * shight !*** height of the stamp
vlen = -shight
if not(name) then
add2 0,shight
else
add2 0,0
endif
rot2 w
add2 -max_len/2, vlen - max_h/2
if name then
text2 0,-vlen, Zname
endif
n = 0
if num then
n=n+1
vlen =vlen + shight
text2 2,-vlen, ROOM_NUMBER
endif
if floor then
n=n+1
vlen =vlen + shight
text2 2,-vlen, floor_f
endif
if area then
n=n+1
vlen =vlen + shight
text2 2, -vlen, room_net_area !room_area TLOTT
endif
if peri then
n=n+1
vlen =vlen + shight
text2 2,-vlen, room_perim
endif
if ceil_s then
n=n+1
vlen =vlen + shight
text2 2,-vlen, room_height
endif
vlen = vlen + shight
YY = 0
if not(name) then
YY = shight
endif
hotspot2 0, shight-YY
hotspot2 max_len, shight-YY
hotspot2 0, max_h + shight-YY
hotspot2 max_len, max_h + shight-YY
hotspot2 max_len/2, max_h/2 + shight-YY
if max_h < -eps then
fill gs_fill_type
poly2_B{2} 5,2,gs_Fill_Pen, gs_Back_Pen,
0, 0, 0,
0, max_h + shight-YY, 1,
0, shight-YY, 1,
max_len,shight-YY, 1,
max_len,max_h + shight-YY, 1,
0, max_h + shight-YY, 1
endif
if hspots then
hotspot2 max_len/2, shight-YY
hotspot2 max_len/2, max_h + shight-YY
hotspot2 0, max_h/2 + shight-YY
hotspot2 max_len, max_h/2 + shight-YY
endif
if box_y and n then
pen Pen_Box
line2 0 , 0, 0, -vlen
line2 max_len , 0, max_len , -vlen
for i=0 to n
line2 0,-i*shight, max_len, -i*shight
next i
endif
! ==============================================================================
end
! ==============================================================================
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") | 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, "sqmm") then unit = " mm2"
if strstr(form, "sqf") then unit = " sq ft"
if strstr(form, "sqi") then unit = " sq inch"
return
return
!TLOTT 03:10:13
!Modified Area displayed to show Measured Area
!not the Calaculated Area as this suits the
!project
define style "idestyle" AC_TextFont_1 , ROOM_LSIZE , 1, 1
mul2 PAPER_TO_MODEL, PAPER_TO_MODEL
style idestyle
rrr = request("Height_of_style", "idestyle", shight)
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
if ROOM_POLY_STATUS = 0 then Temp_CalcArea = ROOM_CALC_AREA ! Method 1 and 2
if ROOM_POLY_STATUS = 1 then Temp_CalcArea = ROOM_NET_AREA ! Method 3/Net !ROOM_CALC_AREA TLOTT
if ROOM_POLY_STATUS = 2 then Temp_CalcArea = ROOM_AREA ! Method 3/Gross
area_form = "" ! Format as set in the Preferences
rrr = request("Area_dimension", "", area_form )
room_area = str(area_form, Temp_CalcArea )
lin_form = ""
rrr = request("Calc_length_unit", "", lin_form)
room_height = str(lin_form , ROOM_HEIGHT)
room_perim = str(lin_form , ROOM_PERIM)
unit = ""
area_unit = ""
lin_unit = ""
form = ""
form = lin_form ! Unit strings
gosub 1001
lin_unit = unit
form = area_form
gosub 1002
area_unit = unit
room_area = "A: " + room_area + area_unit ! Composite strings
room_height = "H: " + room_height + lin_unit
room_perim = "P: " + room_perim + lin_unit
w_roona = (stw(Zname)) * name ! Width of the strings - 0 if not displayed
w_roonu = (stw(ROOM_NUMBER)+3) * num
w_floor = (stw(floor_f)+3) * floor
w_rooar = (stw(room_area)+3) * area
w_peri = (stw(room_perim)+3) * peri
w_roohe = (stw(room_height)+3) * ceil_s
max_len = max (w_roona, w_roonu, w_peri, w_rooar, w_roohe, w_floor) !*** width of the stamp
max_h = - (name + num + floor + area + peri + ceil_s) * shight !*** height of the stamp
vlen = -shight
if not(name) then
add2 0,shight
else
add2 0,0
endif
rot2 w
add2 -max_len/2, vlen - max_h/2
if name then
text2 0,-vlen, Zname
endif
n = 0
if num then
n=n+1
vlen =vlen + shight
text2 2,-vlen, ROOM_NUMBER
endif
if floor then
n=n+1
vlen =vlen + shight
text2 2,-vlen, floor_f
endif
if area then
n=n+1
vlen =vlen + shight
text2 2, -vlen, room_net_area !room_area TLOTT
endif
if peri then
n=n+1
vlen =vlen + shight
text2 2,-vlen, room_perim
endif
if ceil_s then
n=n+1
vlen =vlen + shight
text2 2,-vlen, room_height
endif
vlen = vlen + shight
YY = 0
if not(name) then
YY = shight
endif
hotspot2 0, shight-YY
hotspot2 max_len, shight-YY
hotspot2 0, max_h + shight-YY
hotspot2 max_len, max_h + shight-YY
hotspot2 max_len/2, max_h/2 + shight-YY
if max_h < -eps then
fill gs_fill_type
poly2_B{2} 5,2,gs_Fill_Pen, gs_Back_Pen,
0, 0, 0,
0, max_h + shight-YY, 1,
0, shight-YY, 1,
max_len,shight-YY, 1,
max_len,max_h + shight-YY, 1,
0, max_h + shight-YY, 1
endif
if hspots then
hotspot2 max_len/2, shight-YY
hotspot2 max_len/2, max_h + shight-YY
hotspot2 0, max_h/2 + shight-YY
hotspot2 max_len, max_h/2 + shight-YY
endif
if box_y and n then
pen Pen_Box
line2 0 , 0, 0, -vlen
line2 max_len , 0, max_len , -vlen
for i=0 to n
line2 0,-i*shight, max_len, -i*shight
next i
endif
! ==============================================================================
end
! ==============================================================================
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") | 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, "sqmm") then unit = " mm2"
if strstr(form, "sqf") then unit = " sq ft"
if strstr(form, "sqi") then unit = " sq inch"
return
return
AC versions 3.41 to 25 (UKI Full 5005).
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-10-06 12:37 PM
2013-10-06
12:37 PM
The script reads the area format set in Project Preferences for area in this line:
rrr = request("Area_dimension", "", area_form )
So it will display the area according to your settings set for areas in the Dimension page of Project Preferences.
rrr = request("Area_dimension", "", area_form )
So it will display the area according to your settings set for areas in the Dimension page of Project Preferences.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac28

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2013-10-11 12:12 PM
2013-10-11
12:12 PM
Thanks for that Laszlo.
As it turned out the facilities in the Zone object in ArchiCAD 17 are much more flexible than the Zone object I was using that I decided to "upgrade" to the AC17 version which resolved my issue
As it turned out the facilities in the Zone object in ArchiCAD 17 are much more flexible than the Zone object I was using that I decided to "upgrade" to the AC17 version which resolved my issue
AC versions 3.41 to 25 (UKI Full 5005).
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics
Using AC25 5005 UKI FULL
Mac OSX 10.15.7 (19G2021) Mac Pro-2013 32gbRam AMD FirePro D500 3072 MB graphics